ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.04.2024
Просмотров: 177
Скачиваний: 1
Язык UML, диаграмма вариантов использования.
Обновить данные из внешней системы
Диаграмма прецедентов Use-Case. Пример.
Диаграмма сценариев и диаграмма прецедентов – не совсем одно и то же!
Актер – это кто-то или что-то, кто взаимодействует с нашей системой, но к нашей системе не принадлежит.
- это прецедент. Это действие, которое обеспечивает некую реакцию на действия актера.
1.2
1.3
Обновить данные из внешней системы
2 |
2.1 |
|
Спецификации прецедента «обновить данные из внешней системы».
1.Актер вызывает функцию обновления данных.
2.Система запрашивает подтверждение «обновления данных из внешней системы приведет к потере существующих данных в текущей системе, реально обновить что ли?»
3.Актер подтверждает обновление (а может и не подтвердить, тогда прецедент не совершится).
4.Система обращается к внешней системе (к ее БД, например) с запросом получения данных.
5.Система получает данные из внешней системы и сохраняет их.
6.Система выдает сообщение об успешном завершении обновления данных.
7.Актер подтверждает прочтение сообщения
8.Выполнение сценария заканчивается.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 22 |
Возможные отношения между сценариями.
1. Расширение (Extend) – обозначает, что один сценарий может расширять поток событий, протекающих в другом сценарии. Обозначается <<extend>>
Необязательное отношение говорит о том, что если пользователь даст отказ, то этот сценарий выполняться не будет.
Напр., мы пришли в ресторан. Там есть завтрак, обед, ужин. Ужин есть всегда в любом ресторане, А мы можем заказать «расширение»: тот же ужин, но в отдельной комнате, при свечах и с цыганами
|
|
Обновить данные |
<<extend>> |
Получить данные |
|
|
из внешней |
||
|
|
из внешней БД. |
||
|
|
|
||
|
|
системы |
|
|
|
|
,необязательное |
|
|
Актер |
|
|||
|
|
|||
|
Отношение- |
|
||
|
|
|
|
2.Включение (Include) А вот в этой ситуации:
|
1. Обновить |
<<include>> |
1.1 Получить |
|
данные из |
данные из |
|
|
|||
|
|
||
|
внешней системы |
,обязательное |
внешней БД. |
|
|||
Актер |
|
||
отношение- |
|
||
|
|
|
Система спрашивать ничего не будет, а сделает это в обязательном порядке.
Помним, что много расширений на одной диаграмме делать не надо. Лучше разбить на несколько диаграмм.
3.Наследование (generalization)
Пример диаграммы сценариев с наследованием:
Абстр.сценарий |
|
|
|
Создание- |
|
|
редактирование |
Создание чего-л. |
|
|
|
|
чего-либо |
|
Менеджер |
|
|
|
|
Редактирование |
<<extend>> |
|
чего-л. |
|
<<extend>> |
<<include>> |
Проверка |
Создание записи |
Уведомление |
правильности |
с журнале |
директора |
Еще раз: актер – это роль. Часто роли совпадают в одном человеке. В таком случае это прописываем (под человечком я написал «менеждер» поэтому).
1.Применять связь extend, когда мы хотим описать изменения в нормальном поведении системы. Т.е. прописать альтернативные ходы событий.
2.Применять связь include, когда необходимо избежать повтора в двух или более вариантах использования.
3.Use Case призваны в графическом виде отразить потенциальные функциональные требования к проектируемой системе.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 23 |
Пример вариантов использования. От менеджера идет не стрелка, А просто линия – это означает двустороннюю связь
Установить |
Обновить счета |
|
предельные |
||
|
цены |
Система учета |
|
Менеджер |
||
Проанализировать |
|
|
риск |
<<include>> |
|
|
Оценка стоимости |
|
Действующие лица |
<<include>> |
|
Договориться о |
||
|
||
цене |
|
|
Менеджер |
|
|
Заключить сделку |
|
|
|
Продавец |
|
<<extend>> |
|
|
Лимиты |
|
|
превышены |
|
UML, разновидности предметов, существующих в UML.
1.Структурные предметы – являются существительными 1.1.Класс – совокупность реалий действительного мира, которых объединяют общие,
важные для данного проекта характеристики и поведения.
Человек |
Имя класса |
|
Имя Возраст Характеристики
Вес
Родиться Креститься Операции Поправиться
Похудеть
2.2. Интерфейс – это набор операций, который определяет услуги класса или компонента. Имя интерфейса часто начинаются с буквы i. Интерфейс часто обозначают так:
Interface
3.3.Кооперация (сотрудничество) – определяет взаимодействия и является совокупностью ролей или других элементов, которые работают вместе для обеспечения
коллективного поведения. Пример не привела. Говорит, нету.
3.4.Актер – набор согласованных ролей, которые могут играть пользователи при взаимодействии с системой. Каждая роль требует от системы определенного поведения.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 24 |
3.5.Прецедент Use Case – описание последовательности действий, или нескольких последовательностей, выполняемых системой в интересах отдельного актера и производящих видимый для актера результат.
3.6.Активный класс – класс, который имеет один или несколько очень важных процессов,
и он может запустить
Центр управления
---
Запустить, остановить
3.7.Компонент
Proxy.cpp
3.8.Узел – техническое устройство, физический элемент, на котором находятся нами разработанные компоненты (платы, компьютеры, процессоры, устройства). Изображается кубом с надписью на передней стороне.
Бизнес логика
2.Предметы поведения – динамические части UML.
3.Группирующие предметы
4.Поясняющие предметы и комментарии.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 25 |
22.03.2011
Операции
Видимость ИМЯ(Список параметров):ВовзращаемыйТип,характеристики-
Записать – только имя +записать – вид и имя
Зарегистрировать (И:Имя, Ф:Фамилия) БанансСчета(): Integer
Нагревать(),guarded-
Характеристики операций.
Leaf – конечная операция в цепочке наследований, она не может быть полиморфной, и не может переопределяться.
isQuery – выполнение данной операции не изменяет состояние объекта.
Sequential – в каждый момент времени допустим только поток вызовов, в объект поступает только один вызов операции.
guarded – допускается одновременное поступление в объект нескольких вызовов. Т.е. параллельные потоки управления ставятся в очередь и выполняются последовательно. Тогда помечаем Этой характеристикой.
Concurrent – разрешается параллельное (множественное) выполнение операции.
Если атрибутов слишком много, то есть вариант – использовать многоточие. Иногда используют группировку, а под этими группами ставят многоточие.
Группировка
Класс «обслуживание заказов»:
Обслуживание заказов
<<конструктор>> НовыйЗаказ()
…
<<процесс>> ОбработатьЗаказ()(О:Заказ)
…
<<проверка>> ПроверитьЗаказ()
…
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 26 |
Множественность. Как ее обозначить?
Множественность экземпляров в классе.
1 |
3 |
КотроллерУглов ДатчикУгла Управление*3..*+:Порт
Отношение в диаграммах классов.
Ассоциация |
|
|
|
|
|
|
|
|
|
Обобщение |
подкласс |
суперкласс |
||
Зависимость |
зависимый |
независимый |
||
Реализация |
приемник |
источник |
||
Агрегация |
часть |
целое |
||
Композиция |
часть |
целое |
Ассоциация – отображают структурные отношения между экземплярами классов,т.е. между экземплярами объектов. Каждая ассоциация имеет метку (имя), которое описывает природу отношения.
|
Студент |
|
институт |
|
|
|
муж |
жена |
|
ИВАН |
|
МАРЬЯ |
||
|
|
|
|
|
|
|
|
|
|
Множественность ассоциативной связи:
5 – ровно 5 * – неограниченное количество
0–* – ноль или более 1..* или 3..7 – тип «диапазон»
3..7, 10 – «диапазон и число».
|
1..* |
* |
|
|
Персона |
Организация |
|||
работник |
работодатель |
|||
|
|
|||
|
1..* |
* |
|
|
Преподаватель |
Университет |
|||
|
работодатель |
|||
|
работник |
|
||
|
|
|
КлассРабота ассоциация
Описание контракта Срок действия Оклад
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 27 |