Учебный курс Проектирование информационных систем Лекция 8 Диаграммы классов Типы связей
Скачать 0.59 Mb.
|
кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 8 Диаграммы классовТипы связейЗависимость - отношение использования, согласно которому изменение в спецификации одного элемента может повлиять на использующий его элемент. Часто зависимости показывают, что один класс использует другой в качестве аргумента. Обобщение - это отношение между общей сущностью и её конкретным воплощением. Объекты класса-потомка могут использоваться всюду, где встречаются объекты класса-родителя, но не наоборот. При этом он наследует свойства родителя (его атрибуты и операции). Операции потомка стой же сигнатурой, что и родителя, замешает операцию родителя; это свойство называют полиморфизмом. Класс, у которого нет родителей, но есть потомки, называется корневым. Класс, у которого нет потомков, называется листовым. Ассоциация - это отношение, показывающее, что объекты одного типа неким образом связаны с объектами другого типа («клиент» может сделать «заказ»). агрегирование – отражает отношение типа «часть-целое» композиция - часть может принадлежать только единственному целому; жизненный цикл частей и целого совпадают Свойства ассоциацииПримеры отношений между классамиОбобщение Прецедентыописывают функциональность системы, которая будет видна пользователям. Позволяют отобразить желаемое поведение системы с точки зрения взаимодействия с ней внешних объектов (актеров). Прецедентом также можно назвать какой-либо набор логически связанных между собой действий, приводящих к какому-то "логическому состоянию" системы. Т.е. это описание "на высоком уровне абстракции" какие случаи, ситуации обрабатывает система, какие реально действующие лица взаимодействуют с системой. ОпределениеПрецедент - типичное взаимодействия пользователя с системой, которое: описывает видимую пользователем функцию, может представлять различные уровни детализации, обеспечивает достижение конкретной цели, важной для пользователя. Связи на диаграммах прецедентовДействующее лицо (актер, actor) Прецедент (use case) Связь типа «расширение» применяется, когда один прецедент подобен другому, но несет несколько большую функциональную нагрузку. Ее следует применять при описании изменений в нормальном поведении системы. Связь типа «использование» позволяет выделить некий фрагмент поведения системы и включать его в различные прецеденты без повторного описания. Динамические аспекты поведения системыВзаимодействияВзаимодействием (Interactions) называется поведение, выражаемое в обмене сообщениями между объектами данной совокупности в данном контексте, в результате чего достигается определенная цель. Взаимодействия проявляются: в кооперациях объектов в контексте системы или подсистемы в контексте операций в контексте классов. СообщенияСообщение (Message) - это спецификация обмена данными между объектами, при котором передается некая информация в расчете на то, что в ответ последует определенное действие. Каждое взаимодействие можно моделировать двумя способами: акцентируя внимание на временной упорядоченности сообщений (диаграмма последовательностей) или на их последовательности (диаграмма кооперации) в контексте некоей структурной организации объектов. Виды действийРезультатом получения сообщения является действие. UML позволяет моделировать действия нескольких видов: call (вызвать) - вызывает операцию, применяемую к объекту. Объект может послать сообщение самому себе, что приведет к локальному вызову операции; return (возвратить) - возвращает значение вызывающему объекту; send (послать) - посылает объекту сигнал; create (создать) - создает новый объект; destroy (уничтожить) - удаляет объект. Объект может уничтожить самого себя. Диаграмма последовательности обработки заказаКооперативная диаграмма прохождения заказаАвтоматыС помощью взаимодействий можно моделировать поведение сообщества совместно работающих объектов. Автомат же позволяет моделировать поведение отдельного объекта (объект - экземпляр класса, прецедент или даже система в целом) Автомат (State machine) описывает поведение в терминах последовательности состояний, через которые проходит объект в течение своей жизни, отвечая на события, а также его реакций на эти события. Диаграмма состояний объекта «заказ»Синтаксис метки деятельности выполнить/< деятельность > Синтаксис метки перехода <Событие> <[Условие]> < / Действие> Диаграмма деятельности - обработка заказаДиаграмма компонентов фрагмента КИСУправление закупками Управление отношениями с заказчиками Управление продажами Управление складом Управление финансами Проектирование системы с использованием UMLАвтоматизация работы склада Моделирование взаимодействия с внешним миромЦель – выявление типовых бизнес-прецедентов в деятельности объекта автоматизации Моделирование деятельностиЦель – выявление подлежащих автоматизации действий ПодготовкаНачало Документ Действие Подразделение Исполнитель Выписывает доверенность бухгалтерия бухгалтер Едет к продавцу склад снабженец Заявка отдела снабжения Доверенность (бланк) Доверенность (подписанная) Получает товар склад снабженец Доверенность (подписанная) Накладная____Приемный_акт_(_2_экз)____Да____Дефектация___Соответствует_по_количеству\качеству'>Накладная Счет-фактура ПолучениеДокумент Действие Подразделение Исполнитель Передает товар на склад склад комиссия Выписывает приемный акт склад кладовщик Накладная Счет-фактура Накладная Приемный акт ( 2 экз) Да Дефектация Соответствует по количеству\качеству Нет склад снабженец УчетДокумент Действие Подразделение Исполнитель Передает акт снабженцу склад кладовщик Передает акт в бухгалтерию склад кладовщик Приемный акт Приемный акт Учитывает приемный акт бухгалтерия бухгалтер Приемный акт Регистрирует товар склад кладовщик Накладная Карточка товара Моделирование функций (действия кладовщика по задаче “Оприходование товара на складе от продавца”)Бухгалтера нет поскольку рассматриваем только склад Цель – выявление объектов, данные о которых придется вводить в систему Моделирование документов (бизнес-объектов) |