- •Государственное образовательное учреждение высшего профессионального образования
- •Лабораторная работа № 1 Построение модели вариантов использования
- •Заказчик
- •Упражнение 1 . Создание диаграммы вариантов использования
- •Этапы выполнения упражнения
- •Создать действующие лица (актанты), варианты использования и определить отношения между ними.
- •Добавить ассоциации
- •Добавить расширения
- •Добавить включения
- •Указать абстрактные варианты использования
- •Вид диаграммы вариантов использования Main показан на рисунке 1. Добавить описания к действующим лицам (актантам)
- •Бухгалтер: "Вводит и редактирует данные об оплате счетов или о возврате оплаты при аннулировании клиентом просроченного заказа";
- •Добавить описания к вариантам использования
- •Создать файлы сценариев и прикрепить их к вариантам использования
- •Лабораторная работа № 2 Построение модели анализа
- •Поставщик
- •Окно программы
- •Заголовок
- •Подклассы
- •Геометрическая фигура
- •Подклассы
- •Упражнение 2. Создание структуры модели анализа, пакетов реализаций, диаграмм трассировок и классов реализаций
- •Этапы выполнения упражнения
- •Создать кооперации и осуществить трассировку реализаций
- •Создать диаграммы классов анализа для реализации вариантов использования
- •Упражнение 3 . Создание диаграмм взаимодействия
- •Создание диаграмм Взаимодействия
- •Этапы выполнения упражнения
- •Добавление на диаграмму дополнительных объектов
- •Назначение ответственностей объектам
- •Соотнесение объектов с классами
- •Соотнесение сообщений с операциями
- •Создание Кооперативной диаграммы
- •Добавление действующего лица и объектов на диаграмму
- •Добавление сообщений на диаграмму
- •Добавление на диаграмму дополнительных объектов
- •Назначение ответственностей объектам
- •Соотнесение объектов с классами (если при разработке описанной выше диаграммы Последовательности сами классы вы уже создали)
- •Соотнесение объектов с классами (если вы не создавали описанную выше диаграмму Последовательности)
- •Соотнесение сообщений с операциями (если при разработке описанной выше диаграммы Последовательности сами операции вы уже создали)
- •Соотнесение сообщений с операциями (если вы не создавали описанную выше диаграмму Последовательности)
- •Упражнение 3 . Создание диаграмм классов
- •Создание диаграммы Классов
- •Этапы выполнения упражнения Настройка
- •Создание пакетов
- •Создание Главной диаграммы Классов
- •Создание диаграммы Классов для сценария "Ввести новый заказ" со всеми классами.
- •Добавление стереотипов к классам
- •Объединение классов в пакеты
- •Добавление диаграмм Классов к каждому пакету
- •Упражнение 4 . Создание диаграмм классов (учет новых требований)
- •Добавление атрибутов и операций
- •Этапы выполнения упражнения Настройка
- •Добавление нового класса
- •Добавление атрибутов
- •Добавление операций к классу OrderItem
- •Подробное описание операций с помощью диаграммы Классов
- •Подробное описание операций с помощью броузера
- •Подробное описание операций с помощью любого из описанных методов
- •Упражнение 5 . Создание диаграмм классов (добавление связей между классами)
- •Добавление связей
- •Этапы выполнения упражнения Настройка
- •Добавление ассоциаций
- •Упражнение 6 . Создание диаграммы состояний
- •Подробное описание состояний
- •Добавление переходов
- •Подробное описание переходов
- •Упражнение 7 . Создание диаграммы компонентов
- •Этапы выполнения упражнения
- •Создание диаграммы Компонентов системы
- •Размещение компонентов на диаграмме Компонентов системы
- •Добавление оставшихся зависимостей на диаграмму Компонентов системы
- •Соотнесение классов с компонентами
- •Упражнение 8 . Создание диаграммы размещения
- •Создание диаграммы Размещения
- •Этапы выполнения упражнения Добавление узлов к диаграмме Размещения
- •Добавление связей
- •Добавление процессов
- •Показ процессов на диаграмме
- •Этапы выполнения упражнения Ввод тел пакетов на диаграмму Компонентов системы
- •1 . Основы методологии объектно-ориентированного
- •1.1 Методология объектно-ориентированного программирования
- •1.4. Этапы создания аис с использованием uml. Унифицированный процесс разработки программного обеспечения
- •Компоненты языка uml
- •Концептуальный уровень. Модель вариантов использования
- •Заказчик
- •Множество ассоциаций - агрегация
- •Бинарная ассоциация
- •Ас «Продажа товаров по каталогу»
- •Ас тепличного хозяйства
- •Класс в
- •Сотрудник
- •Работает в
- •Лекция №9
- •Лекция № 10 отношение реализации (Realization relationship)
- •Объекты (objects)
- •Шаблоны (параметризованные классы)
- •Рекомендации по построению диаграмм классов
- •Фрагмент диаграммы классов для Асу тепличного хозяйства
- •1.8. Диаграмма состояний
- •Обязательные условия для конечного автомата:
- •Лекция №12
- •Анализ предметной области и разработка концепции построения системы
- •Заказчики
Объекты (objects)
Объекты– экземпляр класса, его частный пример, создаётся на этом выполнения программы. Это – мгновенный снимок системы, каждый объект обладает индивидуальностью. Таким образом диаграмма классов, является частным случаем (примером) диаграммы классов, графически объект изображается так же, как класс. Для объекта указываются конкретные значения атрибутов, как его собственных, так и наследуемых от всех классов-предков. Тип атрибута пишется с большой буквы, сам атрибут с малой буквы. Чтобы отличить его от класса,имя подчёркивается.
Если атрибут изменяемый, по умолчанию, то во время выполнения значение может измениться, если frozen – то нет. Значения должны удовлетворять всем явным и неявным ограничениям в модели. У атрибутов не может быть дубликатов! Наследованием наследуется только один атрибутиз дублей. Объект может менять свой непосредственный класс в динамике, но делается это специальной операцией.
При этом в множественном случае непосредственный класс, хотя бы один, должен оставаться, иначе объект должен быть уничтожен. Для объекта может быть вызвана любая операция его класса и всех классов-предков. Значением типа атрибута может быть класс, тогда в качестве значения может использоваться как этот класс, так и любой из его потомков. В объекте разделов всего 2: имя и атрибуты, операции не изображаются – они общие для всех объектов.
Перед именем класса может ставиться имя пакета. Оно определяется двойным двоеточием. Пример: displayWindow:WindowingSystem::GraphicWundows::Window.
Таким образом отображается иерархия пакетов. Стереотипы классов на объекте ставится в угловых скобках или изображаются пунктограммой в верхнем правом углу. Все связи – сплошными линиями. При множественном наследовании классы могут быть перечислены через запятую. Например: APerson: Professor, Teacher; Сотрудник: Профессор, преподаватель. В атрибутах типы можно не указывать.
При изменении значений атрибутов объект надо изображать вновь, связывая с предыдущим символом превращения. Более подробно – в диаграмме кооперации.
Диаграмма объектов обычно создаётся для отдельных объектов со сложным поведением и взаимодействием.
Шаблоны (параметризованные классы)
Шаблон (template) – элемент модели с параметрами, для использования которого необходимо связать параметры с конкретными значениями.
Параметров может быть один или несколько. Таким образом, шаблон определяет варианты элемента (обычно это либо типы атрибутов, либо операции).
Изображается наложением маленького пунктирного прямоугольника на правый верхний угол символа класса.
Шаблон не может быть использован непосредственно как класс, обычно это суперкласс, а его параметры уточняются в потомках. В этом случае они связываются зависимостью (dependency) bind (стереотип) – связывать с использованием шаблона.
Более частный случай – отношение обобщения с наследованием свойств шаблона.
Адрес может быть получен из шаблона. Связный – список связыванием параметров S, K, I с атрибутами “улица, дом, квартира”. Этот же шаблон может использоваться и для других классов. Например, точки на плоскости (координаты точки, х,у).
За счёт шаблонов (параметризированных классов) можно существенно уменшить размеры диаграммы.
Параметры используются только внутри шаблона, поэтому даже при одинаковых именах параметры в разных шаблонах считаются различными. Лучше избегать ситуаций со связыванием шаблонов друг с дгугом, это сильно усложняет модель.