Раздел 1. Унифицированный язык моделирования uml. Введение
Структура языка. Словарь UML содержит три типа конструкций: предметы, отношения, диаграммы.
Предметы могут быть следующих типов:
- структурные;
- поведенческие;
- группировки;
- комментарии.
Структурные предметы представляют собой статические части моделей. Ниже рассмотрены разновидности структурных предметов.
Класс – описание множеств объектов с одинаковыми свойствами и поведением. Изображается прямоугольником , который имеет две или три секции в зависимости от контекста, в котором он будет использоваться.
Действующее лицо – Актёр – роль, которую пользователь (другая система) играет относительно системы. Изображается человечек схематически.
Прецедент – последовательность действий, выполняемых системой в ответ на событие, инициированное внешним объектом (актёром). Изображается: «название прецедента в овале».
Кооперация - совокупность ролей и других елементов, которые работают вместе. Один класс может брать участие в нескольких кооперациях.
Поведенческие предметы описывают поведение элементов системы во времени и пространстве. Они разделяются на два вида: взаимодействие и конечный автомат.
Взаимодействие - набор сообщений, которыми обмениваются элементы системы в процессе выполнения своих функций.
Конечный автомат отображает поведение, представленное последовательностью состояний объекта, связанных с событиями.
Отношения. В UML используются такие отношения:
- зависимость;
- ассоциация;
- обобщение;
- реализация.
Зависимость – это семантическое отношение между двумя предметами, которые показывают, что изменения в одном предмете (независимом) влияют на другой предмет (зависимый). Зависимость должна иметь метку.
Ассоциация – это структурное отношение, которое показывает набор связей, которые существуют между объектами. Отдельным случаем является агрегация – отношение между целым и его частями.
Обобщение – отношение специализации, которая показывает, что подтип должен включать все элементы супертипа. Обычно обобщение связано с наследованием. Стрелка направлена от подтипа к супертипу.
Реализация – семантическое отношение между классификаторами, когда один классификатор определяет задание, а другой должен его выполнить. Это отношение используется между интерфейсами и классами, которые реализуют этот интерфейс, а также между прецедентами и кооперациями, которые их реализуют.
Диаграммы в UML.
Диаграмма представляет собой множество элементов, которые обычно являются связанным графом, где вершинами являются предметы (классы, состояния, пакеты и т. д.), а дугами – отношения. В UML используются такие виды диаграмм:
- диаграммы классов;
- диаграммы объектов;
- диаграммы прецедентов;
- диаграммы взаимодействий;
- диаграммы состояний;
- диаграммы деятельности;
- диаграммы развертывания.
Составление диаграмм – наиболее ответственный и трудоёмкий этап проектирования системы.
Раздел 2. Требования и прецеденты.
2.1 Требования. Требования – возможности или условия, которым должна соответствовать система или проект.
Типы требований. Требования делят на основные и дополнительные. К основным принадлежат:
- функциональные
- требования, связанные с удобством применения
- требования надёжности
- требования производительности
- возможность поддержки.
К дополнительным требованиям принадлежат:
- требования к реализации
- требования к интерфейсу
- требования к операциям
- требования к пакетированию
- требования к юридическому оформлению разработки.
2.2 Заинтересованные лица и исполнители.
Исполнитель (актёр)
- основной
- дополнительный
- закулисный
2.3 Прецеденты
Прецеденты – это механизм упрощения этапа формирования требований для всех заинтересованных лиц.
2.3.1 Способы описания прецедентов.
Типы и форматы прецедентов:
Существует несколько ступеней формализации прецедентов:
- сжатый в виде одного абзаца. Обычно описывается только главный успешный сценарий.
- свободный – неформальный стиль. Описание занимает несколько абзацев и охватывает разные сценарии.
- развёрнутый – наиболее подробный стиль. Описываются все шаги и варианты развития сценария, а также предусловия и результаты.
Предусловия – перечисление предусловий, которые всегда должны выполнятся до начала сценария прецедента. Обычно в роли предусловий выступает успешный результат выполнения другого сценария.
Результаты или постусловия описывают, какие условия обязательно должны выполняться в случае успешного завершения сценария.
Основной успешный сценарий. В разделе описываются 3 вида действий.
-
Взаимодействия между исполнителями (система сама является исполнителем).
-
Верификация (Обычно со стороны системы).
-
Замена состояния системы (например, запись или модификация некоторых сущностей)
Рекомендуется все условия или возможности вариантов развития действий выносить в раздел расширений.
Расширения (альтернативный сценарий). В этом разделе указываются все другие сценарии (неосновные) или ветки. При описании прецедента основной сценарий и его расширения должны охватывать почти все интересы заинтересованных лиц. Некоторые интересы лучше отобразить в виде нефункциональных требований в дополнительной спецификации.
В расширении сначала указываются условия, а потом реакция на них. Расширения для каждого пункта основного сценария обозначаются последовательностью, которая состоит из номера этого пункта и буквы алфавита. Например, для расширения для пункта 3 будут именоваться 3а, 3б и т.д.
После окончания обработки расширения по умолчанию выполняется возврат к основному сценарию, если не указывается в расширении другой ход действий.
Если расширение оказывается очень сложным, то его можно вынести в отдельный прецедент.