- •Концепция RUP
- •Методы проектирования ИС
- •IDEF0 (Integration Definition for Function Modeling)
- •проектирования
- •Объектно-ориентированное проектирование
- •Почему объектная ориентация работает???
- •Язык UML – унифицированный язык моделирования
- •Что такое UML?
- •Большие современные программные системы, как правило, нуждаются в инструментальной поддержке.
- •Rational Unified
- •RUP использует итеративную модель разработки.
- •1. Начальная стадия (Inception)
- •2. Уточнение (Elaboration)
- •3. Построение (Construction)
- •4. Внедрение (Transition)
- •Rational Unified Process и его содержание
- •RUP основан на трех ключевых идеях.
- •Принципы моделирования
- •иерархическое построение - при описании системы используются различные уровни абстрагирования и детализации в
- •Диаграммы UML и их виды
- •Структурные диаграммы:
- •При этом в качестве самостоятельных представлений в языке UML используются следующие диаграммы:
- •Диаграмма вариантов использования представляет собой наиболее общую
- •Что значит - «унифицированный язык»?
- •Объекты и UML
- •Основные элементы UML
- •Сущности UML
- •Сущности UML
- •Структурные сущности
- •Активный класс(active class) имеет экземпляры, каждый из которых выполняет и управляет собственным потоком
- •Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы, которые описывают поведение модели
- •Сущности UML
- •Группирующие сущности являются
- •Аннотационные сущности - это пояснительные части модели UML: комментарии для дополнительного описания, разъяснения
- •Отношения
- •Пример UML отношений
- •В языке UML определены следующие типы отношений: зависимость , ассоциация , обобщение и
- •Ассоциация представляет наиболее абстрактную семантическую связь между двумя элементами, которая выявляется на ранней
- •Диаграммы
- •1. Технология построения диаграммы Варианты использования в UML
- •1. Диаграммы вариантов использования (Use Case)
- •Назначение диаграмм Варианты использования
- •Суть диаграммы use
- •В языке UML пакет Варианты использования является подпакетом пакета Элементы поведения.
- •Стандартные
- •Содержание варианта использования может быть представлено в форме дополнительного пояснительного текста, который раскрывает
- ••Варианты использования описывают не только взаимодействия между пользователями и сущностью, но также реакции
- •Хорошо описанный вариант использования имеет следующие атрибуты:
- •Актеры
- ••В качестве актеров могут выступать другие системы, подсистемы проектируемой системы или отдельные классы.
- ••Поскольку в общем случае актер всегда находится вне системы, его внутренняя структура никак
- •Интерфейсы
- ••На диаграмме вариантов использования интерфейс изображается в виде маленького круга, рядом с которым
- ••Важность интерфейсов заключается в том, что они
- •Примечания
- •Отношения на диаграмме вариантов
- •Два варианта использования, определенные для одной и той же сущности, не могут взаимодействовать
- •Отношение ассоциации
- •Отношение ассоциации
- •Два символа, разделенные двумя точками. При этом первый из них является целым неотрицательным
- •Отношение расширения
- •Отношение обобщения
- •Отношение включения
- •Пример диаграммы вариантов использования
- •Значения указанных на данной диаграмме кратностей отражают общие правила оформления заказов на покупку
- •На следующем этапе разработки данной диаграммы вариант использования "Оформить заказ на покупку товара"
- •Приведенная диаграмма вариантов использования, в свою очередь, может быть детализирована далее с целью
- •В рамках рассматриваемой системы продажи товаров может иметь самостоятельное значение и специфические особенности
- •Второе из основных направлений детализации диаграмм вариантов использования связано с последующей структуризацией ее
- •ICQ (от англ. I seek you — «я ищу тебя») — бесплатная система
- •Диаграмма Вариантов Использования для системы обработки заказов.
- •В заключение приведем пару примеров законченных диаграмм прецедентов. Первый пример (смысл которого понятен
- •Подводя итоги, можно выделить такие цели создания диаграмм прецедентов:
- •2.Технология построения диаграммы классов в UML
- •Понятие класса
- •Предполагается, что окончательный вариант диаграммы содержит наиболее полное описание классов, которые состоят из
- •Имя класса
- •Атрибуты класса
- •Имя атрибута представляет собой строку текста, которая используется в качестве идентификатора соответствующего атрибута
- •Тип атрибута представляет собой выражение, семантика которого определяется языком спецификации соответствующей модели. В
- •Исходное значение служит для задания некоторого начального значения для соответствующего атрибута в момент
- •При задании атрибутов могут быть использованы две дополнительные синтаксические конструкции — это подчеркивание
- •Строка-свойство служит для указания значений атрибута, которые не могут быть изменены в программе
- •Операция
- •Имя операции является единственным обязательным элементом синтаксического обозначения операции.
- •Строка-свойство служит для указания значений свойств, которые могут быть применены к данному элементу.
- •Примеры операций:
- •Отношения между классами
- •На диаграмме классов данное отношение связывает отдельные классы между собой, при этом стрелка
- •Так, для рассмотренного ранее примера кратность "1" для класса "Компания" означает, что каждый
- •Частным случаем отношения ассоциации является отношение агрегации. Оно имеет место между несколькими классами
- •Отношение обобщения является обычным отношением между более общим элементом (родителем или предком) и
- •Первый пример весьма прост. Иллюстрирует с помощью операции наследования или генерализации "генеалогическое древо"
- •И опять-таки смысл этой диаграммы ясен без особых пояснений. Даже бегло рассмотрев ее,
- •здесь уже все более серьезно - кроме кратности обозначены свойства (и их типы)
- •Интерфейсы
- •Таким образом , Диаграмма классов UML
- •В языке UML определены три основных стереотипа классов: Boundary (граница);
- •Управляющие классы
- •ОПЕРАЦИИ
- •Операции реализации
- •Связ
- •Имена связей
- •Пакет. Механизм пакетов
- •Другой подход заключается в объединении классов по их функциональности. Например, в пакете Security
- •Зависимость между двумя элементами имеет место в том случае, если изменения в определении
- •Объекты
- •Примеры изображения объектов
- •1.Объект (object) - конкретная материализация абстракции;
- •Для чего нужны диаграммы объектов?
- •О чем здесь идет речь, в принципе, понятно: некоторая фирма "раскручивает" новый товар
- •Эта диаграмма тоже понятна в общих чертах даже без дополнительных объяснений. Здесь мы
- •Динамические диаграммы
- •Потоки данных показываются в виде стрелок. Синхронизации двух видов — развилки (forks) и
- •Примеры диаграмм активности
- •Процесс доставки
- •Диаграмма последовательностей (sequence diagram)
- •- На диаграмме последовательности изображаются исключительно те объекты, которые непосредственно участвуют во взаимодействии
- •- Второе измерение диаграммы последовательности – вертикальная временная ось, направленная сверху вниз. Начальному
- •-Вовсе не обязательно создавать все объекты в начальный момент
- •Фокус управления
- •ФОКУС УПРАВЛЕНИЯ
- •Теперь о том, какие обозначения используются на диаграмме последовательностей.
- •это работа обычного домового лифта, которым мы пользуемся каждый день! Кстати, посмотрите на
- •Диаграмма кооперации
- •- Далее, как и на диаграмме классов, показываются структурные отношения между объектами в
- •Как видите, эта диаграмма описывает (очень грубо) работу персонала библиотеки по обслуживанию клиентов:
- •Описывает процесс управления учебными курсами (очевидно, путем создания их из готовых модулей) для
- •Диаграмма кооперации
- •- Диаграммы компонентов(component diagrams)
- •Компонент изображается в виде прямоугольника с несколькими прямоугольными или другой формы «зубами» на
- •На диаграмме компонентов можно также увидеть пакеты, изображаемые в виде «папок», точнее —
- •Диаграмма развертывания (deployment diagram)
- •Диаграмма развертывания (deployment diagram)
- •Диаграмма развертывания показывает топологию системы и распределение компонентов системы по ее узлам, а
- •ООП и последовательность построения диаграмм
- •5.Шаблоны или параметризованные классы
- •Шаблон не может быть непосредственно использован в качестве класса, поскольку содержит неопределенные параметры.
- •Выводы
RUP использует итеративную модель разработки.
В конце каждой итерации (в идеале продолжающейся от 2 до 6 недель) проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта.
Итеративная разработка позволяет быстро реагировать на меняющиеся требования, обнаруживать и устранять риски на ранних стадиях проекта, а также эффективно контролировать качество создаваемого продукта.
Первые идеи итеративной модели разработки были заложены в "спиральной модели" .
Полный жизненный цикл разработки продукта состоит из четырёх фаз, каждая из которых включает в себя одну или несколько итераций:
1. Начальная стадия (Inception)
В фазе начальной стадии:
Формируются видение и границы проекта.
Создается экономическое обоснование (business case).
Определяются основные требования, ограничения и ключевая функциональность продукта.
Создается базовая версия модели прецедентов.
Оцениваются риски.
При завершении начальной фазы оценивается достижение этапа жизненного цикла цели , которое
предполагает соглашение заинтересованных сторон о продолжении проекта.
2. Уточнение (Elaboration)
В фазе «Уточнение» производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:
Документирование требований (включая детальное описание для большинства прецедентов).
Спроектированную, реализованную и аттестированную исполняемую архитектуру.
Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
Сниженные основные риски.
Успешное выполнение фазы уточнения означает достижение этапа жизненного цикла архитектуры
3. Построение (Construction)
В фазе «Построение» происходит реализация большей части функциональности продукта.
Фаза Построение завершается первым внешним релизом системы и вехой начальной функциональной готовности (Initial Operational Capability).
4. Внедрение (Transition)
В фазе «Внедрение» создается финальная версия продукта и передается от разработчика к заказчику.
Это включает в себя программу бета- тестирования, обучение пользователей, а также определение качества продукта.
В случае, если качество не соответствует ожиданиям пользователей или критериям, установленным в фазе Начало, фаза Внедрение повторяется снова.
Выполнение всех целей означает достижение вехи готового продукта (Product Release) и завершение полного цикла разработки.
Rational Unified Process и его содержание
Процесс ООАП в контексте языка UML получил специальное название — рациональный унифицированный процесс (Rational
Unified Process, RUP).
Концепция RUP и основные его элементы разработаны А. Джекобсоном в ходе его работы над языком UML.
Суть концепции RUP заключается в последовательной декомпозиции или разбиении процесса ООАП на отдельные этапы, на каждом из которых осуществляется разработка соответствующих типов канонических диаграмм модели системы.
На начальных этапах RUP строятся логические представления статической модели структуры системы, затем — логические представления модели поведения, и лишь после этого — физические представления модели системы.
В результате RUP должны быть построены канонические диаграммы на языке UML, при этом последовательность их разработки показана на последующих слайдах
RUP основан на трех ключевых идеях.
•Весь ход работ направляется итоговыми целями проекта,
выраженными в виде вариантов использования (use cases) —
сценариев взаимодействия результирующей программной системы с пользователями или другими системами, при выполнении которых пользователи получают значимые для них результаты и услуги.
•Основным решением, принимаемым в ходе проекта, является
архитектура результирующей программной системы. Архитектура устанавливает набор компонентов, из которых будет построено ПО, ответственность каждого из компонентов (т.е. решаемые им подзадачи в рамках общих задач системы), четко определяет интерфейсы, через которые они могут взаимодействовать, а также способы взаимодействия компонентов друг с другом. Архитектура является одновременно основой для получения качественного ПО. Она оформляется в виде набора графических моделей на языке UML.
•Основой процесса разработки являются планируемые и
управляемые итерации, объем которых (реализуемая в рамках итерации
Принципы моделирования
Использование языка UML основывается на следующих общих принципах моделирования:
абстрагирование - в модель следует включать только те элементы проектируемой системы, которые имеют непосредственное отношение к выполнению ей своих функций или своего целевого предназначения. Другие элементы опускаются, чтобы не усложнять процесс анализа и исследования модели;
многомодельность - никакая единственная модель не может с достаточной степенью точности описать различные аспекты системы. Допускается описывать систему некоторым числом взаимосвязанных представлений, каждое из которых отражает определенный аспект её поведения или структуры;
иерархическое построение - при описании системы используются различные уровни абстрагирования и детализации в рамках фиксированных представлений.
При этом первое представление системы описывает её в наиболее общих чертах и является представлением концептуального уровня, а последующие уровни раскрывают различные аспекты системы с возрастающей степенью детализации вплоть до физического уровня. Модель физического уровня в языке UML отражает компонентный состав проектируемой системы с точки зрения ее реализации на аппаратурной и программной платформах конкретных производителей.
