2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 87
Текст из файла (страница 87)
Диаграмма является проекцией системы. В UML определено тринадцать видов диаграмм:1. Диаграмма классов – структурная диаграмма, на которой показано множество классов, интерфейсов, коопераций и связей между ними.2. Диаграмма объектов – структурная диаграмма, показывающая множество объектов и связей между ними.3. Диаграмма компонентов – структурная диаграмма, котораяпоказывает внешние интерфейсы, включая порты, и внутреннюю композицию компонента.4. Диаграмма составной структуры – структурная диаграмма,представляющая внешние интерфейсы и внутреннюю композицию структурированных классов.
В этой книге диаграмма составной структуры рассматривается совместно с диаграммой компонентов ввиду того, что различия между нимивесьма незначительны.5. Диаграмма вариантов использования – поведенческая диаграмма, которая показывает набор вариантов использования, действующие лица и их связи.6. Диаграмма последовательности – поведенческая диаграмма,которая показывает взаимодействия, подчеркивая временной порядок сообщений.Диаграммы4597. Диаграмма коммуникации – поведенческая диаграмма, которая представляет взаимодействие, подчеркивая структурную организацию объектов, посылающих и принимающихсообщения.8.
Диаграмма состояний – поведенческая диаграмма, котораяпоказывает автомат (машину состояний), выделяя событийно упорядоченное поведение объекта.9. Диаграмма деятельности – поведенческая диаграмма, которая показывает вычислительный процесс, выделяя потокуправления от одной деятельности к другой.10. Диаграмма размещения – структурная диаграмма, котораяпоказывает связи множества узлов, артефактов, а также материализованных классов и компонентов. В этой книге мытакже рассмотрели моделирование артефактов с привлечением диаграмм артефактов.11.
Диаграмма пакетов – структурная диаграмма, показывающая, как элементы модели организованы в пакеты.12. Временная диаграмма – поведенческая диаграмма, отражающая взаимодействие с сообщениями в определенные моменты времени. В этой книге не рассматривается.13. Диаграмма обзора взаимодействий – поведенческая диаграмма, сочетающая в себе аспекты диаграмм деятельности и последовательности. В этой книге не рассматривается.Допускаются гибридные типы диаграмм; каждая из них можетсодержать элементы, которые чаще всего размещаются на диаграммах другого типа.Характеристики процессаПриложение 2. Rational UnifiedProcessПроцессом называется частично упорядоченное множество шагов, направленное на достижение некоторой цели.
Если говорить о разработке программного обеспечения, то вашей целью является поставкав предсказуемые сроки продукта, удовлетворяющего потребностямбизнеса.В значительной мере UML не зависит от процесса – в том смысле, что его можно использовать в различных процессах разработкипрограммного обеспечения. Унифицированный процесс разработки программного обеспечения (Rational Unified Process, RUP) – этоодин из подходов к организации жизненного цикла программногообеспечения, который особенно хорошо сочетается с UML. ЦельRUP – обеспечить создание программного продукта высочайшегокачества, соответствующего потребностям пользователя, в заданные сроки и в пределах запланированного бюджета. RUP вобралв себя лучшие из существующих методов разработки программногообеспечения и придал им форму, которая может быть легко адаптирована для самых разных проектов и организаций.
С точки зрения управления проектом RUP предлагает упорядоченный подходк способам распределения заданий и обязанностей в организации,занимающейся разработкой программного обеспечения.Настоящее приложение описывает основные элементы RUP.Характеристики процессаRUP – это итерационный процесс. Когда речь идет о простыхсистемах, не представляет особого труда последовательно определитьзадачу, спроектировать ее целостное решение, построить программноеобеспечение и затем протестировать конечный продукт.
Но, учитываясложность и разветвленность современных систем, такой линейныйподход к разработке оказывается нереалистичным. Итерационныйподход предполагает постепенное проникновение в суть проблемыпутем последовательных уточнений и пошагового наращивания решения на протяжении нескольких циклов. Присущая итерационному процессу внутренняя гибкость позволяет включать в бизнесFцели новые требования и тактические изменения. Его применение461обеспечивает возможность выявлять и устранять риски, связанныес проектом, на возможно более ранних стадиях разработки.Суть деятельности в рамках RUP – создание и сопровождениемоделей, а не бумажных документов.
Модели, особенно выраженные на UML, обеспечивают семантически богатое представлениепрограммной системы в процессе разработки. Их можно рассматривать с разных точек зрения; допускается электронный способизвлечения и контроля представленной в них информации. RUPсосредоточен на моделях, а не бумажных документах, с тем чтобыминимизировать накладные расходы, связанные с производством исопровождением документов и повысить релевантность их информационного содержимого.Разработка в рамках RUP сконцентрирована на архитектуре.Основное внимание уделяется ранней разработке и стабилизацииархитектуры программного обеспечения.
Наличие прочной архитектуры позволяет организовать параллельную разработку, свестик минимуму необходимость переделок, повысить степень повторного использования компонентов и в конечном счете облегчитьпоследующее сопровождение. Этот архитектурный чертеж служитпрочной основой для планирования и управления компонентнойразработкой программного обеспечения.Разработка в рамках RUP управляется вариантами использования.
В основу построения системы положено исчерпывающеепредставление о том, каково ее назначение. Варианты использования и сценарии применяются на всех стадиях процесса – от формулирования требований до тестирования. Они помогают проследитьвсе действия от начала разработки до поставки готового продукта.RUP поддерживает объектно9ориентированные методы. В моделях RUP применяются понятия объектов и классов, а также связей между ними, и в качестве общей нотации используется нотацияUML.RUP – конфигурируемый процесс.
Хотя ни один отдельно взятый процесс не в состоянии удовлетворить требованиям всех организаций, занимающихся разработкой программного обеспечения,RUP поддается настройке и масштабируется для использованиякак в совсем небольших коллективах разработчиков, так и в больших компаниях. Он базируется на простой и ясной архитектуре,которая обеспечивает концептуальное единство множества различных процессов разработки, но при этом адаптируется к различнымситуациям.
Одна из составных частей RUP содержит рекомендациипо его конфигурированию для нужд конкретной компании.RUP обеспечивает постоянный контроль качества и управление риском. Контроль качества встроен в сам процесс и распространяется на все виды деятельности в рамках разработки и всехRational Unified Process462ее участников; при этом используются объективные критериии методы оценки. Этот аспект не рассматривается как автономныйвид деятельности, который можно отложить до завершения работ.Управление риском также встроено в процесс и обеспечивает заблаговременное выявление и устранение препятствий на пути успешной реализации проекта.Фазы и итерацииФаза (phase) – это промежуток времени между двумя важнымиопорными точками процесса, в которых должны быть достигнутычетко определенные цели, подготовлены те или иные рабочие продукты и приняты решения о том, можно ли переходить к следующей фазе.
Как показано на рис. П2.1, RUP состоит из следующихчетырех фаз:1. Начальная фаза (inception) – определение границ проекта,разработка концепции и начального плана проекта;2. Разработка (elaboration) – проектирование, реализацияи тестирование стабильной архитектуры, завершение разработки плана проекта;3. Конструирование (construction) – построение первой эксплуатационной версии системы;НачальнаяДисциплины фазаФазы и итерации4634. Внедрение (transition) – поставка системы конечным пользователям.Первая и вторая фазы сосредоточены главным образом на творческих и инженерных видах деятельности жизненного цикла разработки, в то время как третья и четвертая в большей степени являются производственными.В пределах каждой фазы может происходить множество итераций. Итерация представляет полный цикл разработки, в результатекоторого появляется работающая версия, – от анализа и формулирования требований до реализации и тестирования.
Такая версияне обязана включать весь набор возможностей коммерческого продукта. Ее назначение – обеспечить прочную базу для последующейоценки и тестирования, а также подвести промежуточный итог, необходимый для начала следующего цикла разработки.Каждая фаза и итерация предполагает определенные трудозатраты, направленные на снижение риска.
В конце каждой фазы определяется опорная точка (milestone), позволяющая оценить, в какоймере достигнуты намеченные цели и следует ли внести в процесскакиеFлибо изменения, прежде чем двигаться дальше.ФазыНачальная фазаРазработкаКонструированиеВнедрениеБизнесмоделированиеУправлениетребованиямиАнализи проектированиеРеализацияТестированиеРазмещениеВспомогательныедисциплиныУправление конфигурацией и изменениямиУправление проектомСозданиерабочей средыНа этой стадии разрабатывается концепция системы, устанавливаются рамки проекта. В частности, определяются бизнесFцелипроекта и высокоуровневые требования к нему, составляется начальный план. Пока что он включает в себя выработку критериевуспеха, оценку риска, необходимые ресурсы и основные опорныеточки. Нередко создается исполняемый прототип, подтверждающий реалистичность концепции.