А.М. Вендров - Объектно-ориентированный анализ и проектирование, страница 29
Описание файла
PDF-файл из архива "А.М. Вендров - Объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 29 страницы из PDF
В конце каждойитерации должна выполняться полная интеграция. С другой стороны,интеграция может и должна выполняться еще чаще. Приложения следуетинтегрировать после выполнения каждой сколько-нибудь значительнойчасти работы. Во время каждой интеграции должен выполняться полныйнабор тестов.Главная особенность итерационной разработки заключается в том, чтоона жестко ограничена временными рамками, и сдвигать срокинедопустимо. Исключением может быть перенос реализации каких-либовариантов использования на более позднюю итерацию по соглашению сзаказчиком. Смысл таких ограничений - поддерживать строгуюдисциплину разработки и не допускать переноса сроков.При этом если на более поздний срок перенесено слишком многовариантов использования, то необходимо корректировать план,пересмотрев при этом оценку трудоемкости реализации вариантовиспользования. На данной стадии разработчики должны иметь болееглубокое представление о такой оценке.Помимо конструирования, итерации могут присутствовать во всехстадиях, однако при этом конструирование является ключевой стадией.Результатом стадии конструирования является продукт, готовый кпередаче конечным пользователям.
Как минимум, он содержитследующее:• ПО, интегрированное на требуемых платформах;• руководства пользователя;• описание текущей реализации.Назначением стадии ввода в действие является передача готовогопродукта в распоряжение пользователей. Данная стадия включает:• бета-тестирование, позволяющее убедиться, что новая системасоответствует ожиданиям пользователей;175• параллельное функционирование с существующей (legacy)системой, которая подлежит постепенной замене;• конвертирование баз данных;• оптимизацию производительности;• обучение пользователей и специалистов службы сопровождения.Главная идея итерационной разработки - поставить весь процессразработки на регулярную основу с тем, чтобы команда разработчиковсмогла получить конечный продукт.
Однако есть некоторые вещи, которыене следует выполнять слишком рано, например, оптимизация.Оптимизация снижает прозрачность и расширяемость системы,однако повышает ее производительность. В этой ситуации необходимопринятие компромиссного решения, поскольку система должна бытьдостаточно производительной, чтобы удовлетворять пользовательскимтребованиям.
Слишком ранняя оптимизация затруднит последующуюразработку, поэтому ее следует выполнять в последнюю очередь.На стадии ввода в действие продукт не дополняется никакой новойфункциональностью (кроме самой минимальной и абсолютнонеобходимой). Здесь только вылавливаются ошибки. Хорошим примеромдля стадии ввода в действие может служить период времени междувыпуском бета-версии и окончательной версии продукта.Статический аспектСтатический аспект RUP представлен четырьмя основнымиэлементами:• роли;• виды деятельности;• рабочие продукты;• дисциплины.Понятие "роль" (role) определяет поведение и ответственностьличности или группы личностей, составляющих проектную команду. Одналичность может играть в проекте много различных ролей.Под видом деятельности конкретного исполнителя понимаетсяединица выполняемой им работы. Вид деятельности (activity)соответствует понятию технологической операции.
Он имеет четкоопределенную цель, обычно выражаемую в терминах получения илимодификации некоторых рабочих продуктов (artifacts), таких, как модель,элемент модели, документ, исходный код или план. Каждый виддеятельности связано с конкретной ролью. Продолжительность видадеятельности составляет от нескольких часов до нескольких дней, онобычно выполняется одним исполнителем и порождает только один иливесьма небольшое количество рабочих продуктов.
Любой виддеятельности должен являться элементом процесса планирования.176Примерами видов деятельности могут быть планирование итерации,определение вариантов использования и действующих лиц, выполнениетеста на производительность. Каждый вид деятельности сопровождаетсянабором руководств (guidelines), представляющих собой методикивыполнения технологических операций.Дисциплина (discipline) соответствует понятию технологическогопроцесса и представляет собой последовательность действий, приводящуюк получению значимого результата.В рамках RUP определены шесть основных дисциплин:• построение бизнес-моделей;• определение требований;• анализ и проектирование;• реализация;• тестирование;• развертывание;и три вспомогательных:• управление конфигурацией и изменениями;• управление проектом;• создание инфраструктуры.Основное содержание дисциплин построения бизнес-моделей,определения требований, анализа и проектирования было изложено вглавах 2 и 3.RUP как продукт входит в состав комплекса Rational Suite, причемкаждая из перечисленных выше дисциплин поддерживается определенныминструментальным средством комплекса.
Физическая реализация RUPпредставляет собой Web-сайт, включающий следующие компоненты:• описание всех элементов динамического и статического аспектаRUP;• навигатор по всем элементам RUP, глоссарий и средство быстрогообучения технологии;• руководства для всех участников проектной команды,охватывающие весь жизненный цикл ПО. Руководствапредставлены в двух видах: для осмысления процесса на верхнемуровне, и в виде подробных наставлений по повседневнойдеятельности;• наставления по использованию инструментальных средств,входящих в состав Rational Suite;• примеры и шаблоны проектных решений для Rational Rose;• шаблоны проектной документации для SoDa;• шаблоны в формате Microsoft Word, предназначенные дляподдержки документации по всем процессам и действиямжизненного цикла ПО;177• планы в формате Microsoft Project, отражающие итерационныйхарактер разработки ПО.Адаптация RUP к потребностям конкретной организации или проектаобеспечивается с помощью Rational Process Workbench (RPW) специального набора инструментов и шаблонов для настройки ипубликации Web-сайтов на основе RUP.
RPW поддерживает три основныефункции моделирования технологических процессов:• определение процесса;• описание процесса;• представление процесса.Основа для определения процесса является модель RUP в среде CASEсредства Rational Rose, подобная модели на рис. 4.1.Библиотека элементов процесса содержит текстовую информацию окаждом элементе в модели процесса, все текстовые страницы RUP, а RPW- необходимые шаблоны для создания новых страниц описания.
RPWгенерирует описание процессов, включающее текст и графику, в виде Webсайта, соединяя модели процессов и библиотеку описаний в единое целое.Компания Rational Software поддерживает портал Rational DeveloperNetwork (www.rational.net), содержащий:• статьи по инструментальным средствам и RUP;• обзоры книг;• курсы по обучению специалистов;• инструкции по эксплуатации инструментальных средств;• архивы дополнений и расширений к инструментальным средствам;• базу знаний, основанную на реальных проектах.RUP опирается на интегрированный комплекс инструментальныхсредств Rational Suite. Он существует в следующих вариантах:• Rational Suite AnalystStudio - предназначен для определения иуправления полным набором требований к разрабатываемойсистеме;• RationalSuiteDevelopmentStudioпредназначендляпроектирования и реализации ПО;• Rational Suite TestStudio - представляет собой набор продуктов,предназначенных для автоматического тестирования приложений;• Rational Suite Enterprise - обеспечивает поддержку полногожизненного цикла ПО и предназначен как для менеджеров проекта,так и отдельных разработчиков, выполняющих несколькофункциональных ролей в команде разработчиков.В состав Rational Suite, кроме самой технологии RUP как продукта,входят следующие компоненты:• Rational Rose - средство визуального моделирования (анализа ипроектирования), использующее язык UML;178• Rational XDE - средство анализа и проектирования, интегрируемоес платформами MS Visual Studio .NET и IBM WebSphere StudioApplication Developer;• Rational Requisite Pro - средство управления требованиями,предназначенное для организации совместной работы группыразработчиков.
Оно позволяет команде разработчиков создавать,структурировать,устанавливатьприоритеты,отслеживать,контролировать изменения требований, возникающих на любомэтапе разработки компонентов приложения;• Rational Rapid Developer - средство быстрой разработкиприложений на платформе Java 2 Enterprise Edition;• Rational ClearCase - средство управления конфигурацией ПО;• Rational SoDA - средство автоматической генерации проектнойдокументации;• Rational ClearQuest - средство для управления изменениями иотслеживания дефектов в проекте на основе средств e-mail и Web;• Rational Quantify - средство количественного определения узкихмест, влияющих на общую эффективность работы программы;• Rational Purify - средство для локализации трудно обнаруживаемыхошибок времени выполнения программы;• Rational PureCoverage - средство идентификации участков кода,пропущенных при тестировании;• Rational TestManager - средство планирования функционального инагрузочного тестирования;• Rational Robot - средство записи и воспроизведения тестовыхсценариев;• Rational TestFactory - средство тестирования надежности;• Rational Quality Architect - средство генерации кода длятестирования.Одно из основных инструментальных средств комплекса Rational Rose[4, 8] представляет собой семейство объектно-ориентированных CASEсредств и предназначено для автоматизации процессов анализа ипроектирования ПО, а также для генерации кодов на различных языках ивыпуска проектной документации.
Rational Rose реализует процессобъектно-ориентированного анализа и проектирования ПО, описанный вRUP. В основе работы Rational Rose лежит построение диаграмм испецификаций UML, определяющих архитектуру системы, ее статическиеи динамические аспекты. В составе Rational Rose можно выделить шестьосновных структурных компонентов: репозиторий, графическийинтерфейс пользователя, средства просмотра проекта (браузер), средстваконтроля проекта, средства сбора статистики и генератор документов. К179ним добавляются генераторы кодов для каждого поддерживаемого языка,состав которых меняется от версии к версии.Репозиторий представляет собой базу данных проекта.