ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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