Динамические аспекты поведения системы

реклама
Учебный курс
Проектирование
информационных систем
Лекция 8
кандидат технических наук, доцент
Грекул Владимир Иванович
Диаграммы классов
2
Типы
связей
Зависимость
- отношение использования, согласно
которому изменение в спецификации одного элемента может
повлиять на использующий его элемент. Часто зависимости
показывают, что один класс использует другой в качестве
аргумента.
Обобщение - это отношение между общей сущностью и её
конкретным воплощением. Объекты класса-потомка могут
использоваться всюду, где встречаются объекты классародителя, но не наоборот. При этом он наследует свойства
родителя (его атрибуты и операции). Операции потомка стой
же сигнатурой, что и родителя, замешает операцию родителя;
это свойство называют полиморфизмом. Класс, у которого нет
родителей, но есть потомки, называется корневым. Класс, у
которого нет потомков, называется листовым.
Ассоциация - это отношение, показывающее, что объекты
одного типа неким образом связаны с объектами другого типа
(«клиент» может сделать «заказ»).
агрегирование – отражает отношение типа «часть-целое»
композиция - часть может принадлежать только единственному
целому; жизненный цикл частей и целого совпадают
3
Свойства ассоциации
4
Примеры отношений между классами
Обобщение
5
Прецеденты
описывают функциональность системы, которая будет
видна пользователям.
Позволяют отобразить желаемое поведение системы с
точки зрения взаимодействия с ней внешних
объектов (актеров).
Прецедентом также можно назвать какой-либо набор
логически связанных между собой действий,
приводящих к какому-то "логическому состоянию"
системы. Т.е. это описание "на высоком уровне
абстракции" какие случаи, ситуации обрабатывает
система, какие реально действующие лица
взаимодействуют с системой.
6
Определение
Прецедент - типичное взаимодействия
пользователя с системой, которое:
описывает видимую пользователем
функцию,
может представлять различные
уровни детализации,
обеспечивает достижение конкретной
цели, важной для пользователя.
7
Связи на диаграммах прецедентов
Действующее лицо
(актер, actor)
Прецедент (use case)
Связь типа «расширение» применяется, когда один прецедент подобен
другому, но несет несколько большую функциональную нагрузку. Ее
следует применять при описании изменений в нормальном поведении
системы. Связь типа «использование» позволяет выделить некий
фрагмент поведения системы и включать его в различные прецеденты
без повторного описания.
8
Динамические аспекты
поведения системы
9
Взаимодействия
Взаимодействием (Interactions) называется
поведение, выражаемое в обмене сообщениями
между объектами данной совокупности в данном
контексте, в результате чего достигается
определенная цель.
Взаимодействия проявляются:
в кооперациях объектов в контексте системы
или подсистемы
в контексте операций
в контексте классов.
10
Сообщения
Сообщение (Message) - это спецификация обмена
данными между объектами, при котором
передается некая информация в расчете на то,
что в ответ последует определенное действие.
Каждое взаимодействие можно моделировать
двумя способами: акцентируя внимание на
временной упорядоченности сообщений
(диаграмма последовательностей) или на их
последовательности (диаграмма кооперации) в
контексте некоей структурной организации
объектов.
11
Виды действий
Результатом получения сообщения является действие.
UML позволяет моделировать действия нескольких видов:
call (вызвать) - вызывает операцию, применяемую к
объекту. Объект может послать сообщение самому себе,
что приведет к локальному вызову операции;
return (возвратить) - возвращает значение
вызывающему объекту;
send (послать) - посылает объекту сигнал;
create (создать) - создает новый объект;
destroy (уничтожить) - удаляет объект. Объект может
уничтожить самого себя.
12
Диаграмма последовательности обработки
заказа
13
Кооперативная диаграмма прохождения
заказа
14
Автоматы
С помощью взаимодействий можно моделировать
поведение сообщества совместно работающих
объектов. Автомат же позволяет моделировать
поведение отдельного объекта (объект экземпляр класса, прецедент или даже система в
целом)
Автомат (State machine) описывает поведение в
терминах последовательности состояний, через
которые проходит объект в течение своей жизни,
отвечая на события, а также его реакций на эти
события.
15
Диаграмма состояний объекта «заказ»
Синтаксис метки перехода
<Событие> <[Условие]> < / Действие>
Синтаксис метки деятельности
выполнить/< деятельность >
16
Диаграмма деятельности - обработка заказа
17
Диаграмма компонентов фрагмента
КИС
Управление
отношениями
с заказчиками
Управление
закупками
Управление
финансами
Управление
продажами
Управление
складом
18
Проектирование системы
с использованием UML
Автоматизация работы склада
19
Моделирование взаимодействия с внешним
миром
Цель – выявление типовых бизнес-прецедентов в
деятельности объекта автоматизации
20
Моделирование деятельности
Цель – выявление подлежащих автоматизации действий
21
Подготовка
Документ
Действие
Доверенность
(подписанная)
Доверенность
(подписанная)
Исполнитель
Начало
Заявка отдела
снабжения
Доверенность
(бланк)
Подразделение
Выписывает
доверенность
бухгалтерия
бухгалтер
Едет к
продавцу
склад
снабженец
Получает
товар
склад
снабженец
Накладная
Счет-фактура
22
Получение
Документ
Действие
Накладная
Передает товар
на склад
склад
Исполнитель
снабженец
Соответствует по
количеству\качеству
Счет-фактура
Да
Накладная
Подразделение
Нет
Дефектация
склад
комиссия
Приемный акт
( 2 экз)
Выписывает
приемный акт
склад
кладовщик
23
Учет
Документ
Действие
Подразделение
Исполнитель
Накладная
Регистрирует
товар
склад
кладовщик
склад
кладовщик
Передает акт в
бухгалтерию
склад
кладовщик
Учитывает
приемный акт
бухгалтерия
бухгалтер
Карточка
товара
Приемный акт
Приемный акт
Приемный акт
Передает акт
снабженцу
24
Моделирование функций
(действия кладовщика по
задаче “Оприходование товара на складе от продавца”)
Бухгалтера
нет поскольку
рассматриваем
только склад
Цель – выявление объектов, данные о которых придется
вводить в систему
25
Моделирование документов
(бизнес-объектов)
26
Скачать