
- •Роль нотации
- •История uml
- •Роль процессов
- •Что такое итеративная и инкрементальная разработка
- •Методология Rational Unified Process
- •Пакет Rational Rose
- •Глава 2. Начало проекта Определение правильного проекта
- •Несколько слов об университете esu
- •Риски задачи регистрации курсов
- •Постановка задачи регистрации курсов
- •Глава 3. Создание прецедентов Поведение системы
- •Определение «хорошего» актера
- •Актеры в системе регистрации курсов университета
- •Описание актеров
- •Прецеденты
- •Основа правильного прецедента
- •Прецеденты в системе регистрации курсов университета
- •Краткое описание прецедентов
- •Поток событий для прецедента
- •Отношения прецедентов
- •Диаграммы прецедентов
- •Порядок создания дополнительной диаграммы прецедентов в программе Rational Rose:
- •Диаграммы действий
- •Действия
- •Переходы
- •Элементы выбора
- •Линии синхронизации
- •Начальное и конечное состояния
Роль нотации
Нотация является важной составляющей любой модели — она служит связующим звеном между процессами. «Нотация выполняет три функции:
□ является языком для описания взаимодействий, которые неочевидны или не могут быть получены непосредственно из кода;
□ обеспечивает достаточную семантику, позволяющую охватить важные стратегические и тактические решения;
□ предлагает конкретную форму, помогающую человеку рассуждать о предметной области, а средствам моделирования воплощать описанные идеи»[1].
Унифицированный язык моделирования (Unified Modeling Language — UML) предлагает достаточно полную нотацию, которая расширяется при переходе от анализа к проектированию. Определенные элементы нотации (например, классы, связи, агрегаты, наследование) используются на этапе анализа. Другие элементы (индикаторы реализации и свойства) вводятся на стадии проектирования.
История uml
В 90-е годы появилось большое количество различных методологий с собственными наборами нотаций. Самые популярные — ОМТ (по Рамбо), Booch (по Бучу) и OOSE (по Джекобсону). Каждая из них имела свои преимущества. Методика ОМТ отличалась хорошими средствами анализа и слабыми сторонами в проектировании, а методика Booch 1991, наоборот, более подходила для проектирования, чем для анализа. В методике OOSE основное внимание уделено развитым средствам поведенческого анализа, а в других областях отмечено много недостатков.
Спустя некоторое время Буч опубликовал второе издание, в котором собрал лучшие идеи и решения в области анализа, предлагавшиеся в том числе Рамбо и Джекобсоном. В свою очередь, Рамбо написал серию статей, известных как методика ОМТ-2, куда вошли предложения Буча в области проектирования. Перечисленные методики были достаточно похожи, но отличались разными нотациями — один и тот же символ имел в них различные значения. Например, закрашенный круг был индикатором множественности в методике ОМТ и символом агрегата в нотации Буча. Вы, наверное, слышали фразу «война методов», употреблявшуюся в период, когда класс обозначался либо в виде облака, либо в виде прямоугольника? Трудно понять, что же лучше.
Конец войне методов положила нотация, принятая в языке UML. «Язык UML служит для определения, отображения и описания элементов объектно-ориентированных систем в процессе их создания. Он объединяет объектную модель, нотации Буча и ОМТ, а также лучшие идеи, предложенные авторами других методик (рис. 1.2). Таким образом, язык UML является стандартом де-факто в области объектно-ориентированного анализа и проектирования»[2].
Универсальный язык UML — это попытка стандартизировать инструменты анализа и проектирования семантических моделей, синтаксических нотаций и диаграмм. Первая общедоступная версия (0.8) появилась в октябре 1995 года. Джекобсон и другие разработчики предложили несколько вариантов, которые были реализованы в последующих двух версиях (0.9 — в июле и 0.91 — в октябре 1996 года). Версия 1.0 была представлена для стандартизации в ассоциацию Object Management Group (OMG) в июле 1997 года. Дополнительные улучшения сделаны в версии 1.1, которая вышла в сентябре того же года, а в ноябре UML был утвержден ассоциацией OMG в качестве стандартного языка моделирования.
Рис. 1.2. Составные части языка UМL