Similar presentations:
Лекция 9_Проект_ИСиБД РВ
1. Проектирование информационных систем и баз данных реального времени
Центр дистанционного обученияПроектирование
информационных систем
и баз данных реального
времени
ФИО преподавателя: Володина Анна Михайловна
e-mail: volodina@mirea.ru
Online-edu.mirea.ru
online.mirea.ru
2. План лекции
Центр дистанционного обученияПлан лекции
• Унифицированный язык моделирования UML
• Диаграммы классов
online.mirea.ru
3.
Центр дистанционного обученияДиаграммы классов
Диаграмма классов для варианта использования «Снять деньги со счета»
Диаграмма классов UML - это граф,
узлами которого являются элементы
статической структуры проекта
(классы, интерфейсы), а дугами отношения между узлами
(ассоциации, наследование,
зависимости).
online.mirea.ru
4. Диаграммы классов. Класс
Центр дистанционного обученияДиаграммы классов. Класс
Класс - это группа сущностей (объектов), обладающих сходными
свойствами, а именно, данными и поведением. Отдельный представитель
некоторого класса называется объектом класса или просто объектом.
Под поведением объекта в UML понимаются любые правила
взаимодействия объекта с внешним миром и с данными самого объекта.
online.mirea.ru
5.
Центр дистанционного обученияДиаграммы классов.
Стереотипы классов
Диаграмма классов (class diagrams) определяет типы объектов системы и статические связи между ними.
Стереотипы классов
Граничные классы (boundary classes) - расположены на границе системы и окружающей среды. Они
включают все формы, отчеты, интерфейсы с аппаратурой и интерфейсы с другими системами.
Классы-сущности (entity classes) - отражают основные понятия (абстракции) предметной области и
содержат хранимую информацию.
Управляющие классы (control classes) отвечают за координацию действий других классов. Обычно у
каждого варианта использования имеется один управляющий класс, контролирующий последовательность
событий этого варианта использования.
online.mirea.ru
6.
Центр дистанционного обученияДиаграммы классов. Стереотипы классов
Управляющий класс отвечает за
координацию, но сам не несет в
себе никакой функциональности,
так как остальные классы не
посылают ему большого
количества сообщений. Вместо
этого он сам посылает множество
сообщений.
Обычно для каждого
класса-сущности
создают таблицу в
базе данных.
Это экранные формы, отчеты,
интерфейсы с аппаратурой
(такой как принтеры или
сканеры) и интерфейсы с
другими системами.
online.mirea.ru
7.
Центр дистанционного обученияДиаграммы классов. Атрибуты
Атрибуты
Атрибут - элемент информации, связанный с классом.
Employee
-Еmрlоуее ID : integer = 0
#SSN : String
#Salary : float
+Address : Stгing
+City : String
+State : String
+Zip Соdе : long
+Departament : String
+Hire()
+Fire()
+Promote()
+Demote()
+Transfer()
У атрибута можно определить параметры:
Public (общий, открытый) - атрибуту
предшествует знак « + ».
Private (закрытый, секретный) - атрибут
обозначается знаком « – ».
Protected (защищенный) - для защищенного
атрибута – это знак « # ».
Package or Implementation (пакетный) - не
обозначается никак.
online.mirea.ru
8.
Центр дистанционного обученияДиаграммы классов. Атрибуты
Видимость атрибута (attribute visibility) – свойство, указывающее, какие классы имеют право читать и
изменять атрибуты.
Public (общий, открытый) - атрибут будет виден всеми остальными классами. Любой класс может
просмотреть или изменить значение атрибута. В соответствии с нотацией UML обозначается знаком «+».
Private (закрытый, секретный) - атрибут не виден никаким другим классам. В соответствии с нотацией
UML обозначается знаком «-».
Protected (защищенный) - атрибут доступен только самому классу и его потомкам. В соответствии с
нотацией UML обозначается знаком «#».
Package or Implemeпtation (пакетный) - атрибут является общим, но только в пределах его пакета. Этот тип
видимости не обозначается никаким специальным значком.
online.mirea.ru
9. Диаграммы классов. Операции
Центр дистанционного обученияДиаграммы классов. Операции
Операция включает три части – имя, параметры и тип возвращаемого
значения.
Параметры – это аргументы, получаемые операцией «на входе». Тип
возвращаемого значения относится к результату действия операции.
В языке UML операции имеют следующую нотацию:
Имя Операции (аргумент: тип данных аргумента, аргумент2:тип данных
аргумента2,...): тип возвращаемого значения
online.mirea.ru
10. Диаграммы классов. Операции
Центр дистанционного обученияДиаграммы классов. Операции
Типа операций:
Операции реализации - реализуют некоторые бизнес-функции. ;
Операции управления - управляют созданием и уничтожением
объектов;
Операции доступа - осуществляет контролируемый доступ к атрибутам;
Вспомогательные операции - операции класса, которые необходимы
ему для выполнения его ответственностей, но о которых другие классы
не должны ничего знать. Это закрытые и защищенные операции класса.
online.mirea.ru
11.
Центр дистанционного обученияДиаграммы классов. Операции
Операции
Операция включает - имя, параметры и тип возвращаемого значения.
Параметры - аргументы, получаемые операцией «на входе».
Тип возвращаемого значения относится к результату действия операции.
В языке UML операции имеют нотацию:
Имя Операции (аргумент1: тип данных аргумента1, аргумент2: тип данных аргумента2, ...): тип
возвращаемого значения
Типы операций
Операции реализации (implementor operations) реализуют некоторые бизнес-функции.
Операции управления (manager operations) управляют созданием и уничтожением объектов.
Операции Доступа (access operations) - для просмотра или изменения значения атрибутов других классов
Вспомогательные операции (helper operations) - закрытые и защищенные операции класса, необходимые
ему для выполнения его ответственностей, но о которых другие классы не должны ничего знать.
online.mirea.ru
12.
Центр дистанционного обученияДиаграммы классов. Связь
Связь - семантическая взаимосвязь между классами; дает классу
возможность узнавать об атрибутах, операциях и связях другого класса.
Связь представляет собой семантическую взаимосвязь между классами.
Она дает классу возможность узнавать об атрибутах, операциях и связях
другого класса.
Существуют четыре типа связей, которые могут быть установлены между
классами:
Ассоциации
Зависимости
Агрегации
Обобщения
online.mirea.ru
13.
Центр дистанционного обученияДиаграммы классов. Связь Ассоциации
Ассоциация (association) – это семантическая связь между классами. Их рисуют на
диаграмме классов в виде обыкновенной линии.
Однонаправленные - если все сообщения отправляются только одним классом и
принимаются только другим классом.
Двунаправленные – если хотя бы одно сообщение отправляется в обратную сторону.
Рефлексивные - предполагается, что один экземпляр класса взаимодействует с
другими экземплярами этого же класса.
NewClass
NewClass2
online.mirea.ru
14.
Центр дистанционного обученияДиаграммы классов. Связь Зависимости
Отражают однонаправленную связь между классами, всегда показывают, что один
класс зависит от определений, сделанных в другом. Изображаются (в нотации UML) в
виде пунктирной стрелки.
NewClass
NewClass2
online.mirea.ru
15.
Центр дистанционного обученияДиаграммы классов. Связь Агрегации
Отражают связь между целым и его частью (более тесная форма ассоциации).
Визуализируют в виде линии с ромбиком у класса, являющегося целым.
online.mirea.ru
16.
Центр дистанционного обученияДиаграммы классов. Связь Обобщения
(Наследование)
Отношение типа общее-частное между элементами модели. С помощью обобщений
(generalization) показывают связи наследования между двумя классами.
online.mirea.ru
17.
Центр дистанционного обученияДиаграммы классов. Множественность
Множественность (multiplicity) показывает, сколько экземпляров одного класса
взаимодействуют с помощью этой связи с одним экземпляром другого класса в данный
момент времени.
Нотации для обозначения множественности
Множественность
Значение
0..4
*
Много
0
Нуль
1
Один
0..*
Нуль или больше
1..*
Один или больше
0..1
Нуль или один
online.mirea.ru
1..1
Ровно
один
18.
Центр дистанционного обученияДиаграммы классов
Имена связей
Имя связи
Company
Рисунок 9.14.
Роли
Реrsоn
Employs
Имя связи
Ролевые имена
Соmрanу
+Еmрloуег
+Еmрlоуее
Person
online.mirea.ru
19.
Центр дистанционного обученияДиаграммы классов
Механизм пакетов - пакет - это вместилище для некоторого набора классов и других
пакетов.
Подходы к группировке:
По стереотипу - получается один пакет с классами-сущностями, один с граничными классами, один с
управляющими классами и т.д. Подход полезен с т.з. размещения готовой системы, поскольку все
находящиеся на клиентских машинах компоненты с граничными классами оказываются в одном пакете.
По функциональности - например, пакет Security (безопасность) содержит все классы, отвечающие за
безопасность приложения. Другие пакеты: Еmрlоуее Maintenance (Работа с сотрудниками), Reporting
(Подготовка отчетов) и Error Handling (Обработка ошибок).
online.mirea.ru
20.
Центр дистанционного обученияДиаграммы взаимодействия
Диаграммы взаимодействия (interaction diagrams) описывают поведение взаимодействующих групп объектов в
рамках только одного варианта использования.
Сообщение (message) - средство, с помощью которого объект-отправитель запрашивает у объекта-получателя
выполнение одной из его операций.
Информационное (informative) сообщение - снабжающее объект-получатель информацией для обновления его
состояния.
Сообщение-запрос (iпterrogative) - запрашивающее выдачу информации об объекте-получателе.
Императивное (imperative) сообщение - запрашивающее у объекта-получателя выполнение действий.
Виды диаграмм взаимодействия:
Диаграммы последовательности (sequence diagrams) - отражают поток событий, происходящих в рамках
варианта использования.
Кооперативные диаграммы (collaboration diagrams) отображают поток событий через конкретный
сценарий варианта использования, заостряют внимание на связях между объектами.
online.mirea.ru
21. Диаграмма последовательности
Центр дистанционного обученияДиаграмма последовательности
диаграмма, предназначенная для представления взаимодействия
между элементами модели программной системы в терминологии
линий жизни и сообщений между ними.
:Castomer
1: Accept Card
2: Read card
3: Initialize Screen
4: Prompt for PIN
5: Enter PIN 1234
6: Open Account
7: Open Account
8: Verify PIN
9: Prompt for transaction
10: Select Transaction (Withdraw)
11: Prompt for amount
12: Enter Amount ($25)
13: Withdraw $25
14: Withdraw $25
15: Verify Funds ($25)
16: Deduct Funds ($25)
17: Dispense $25
18: Eject card
online.mirea.ru
22. Диаграмма последовательности
Центр дистанционного обученияДиаграмма последовательности
а – синхронное сообщение, которое соответствует синхронному вызову операции;
б – асинхронное сообщение или асинхронный сигнал;
в – ответное сообщение;
г – потерянное сообщение, для которого существует событие передачи и отсутствует
событие приема;
д – найденное сообщение, для которого существует событие приема и отсутствует
событие передачи
online.mirea.ru
23. Диаграмма последовательности. Примеры
Центр дистанционного обученияДиаграмма последовательности. Примеры
online.mirea.ru
24. Диаграмма последовательности. Примеры
Центр дистанционного обученияДиаграмма последовательности. Примеры
online.mirea.ru
25. Диаграмма последовательности. Примеры
Центр дистанционного обученияДиаграмма последовательности. Примеры
online.mirea.ru
26. Диаграмма последовательности. Примеры
Центр дистанционного обученияДиаграмма последовательности. Примеры
online.mirea.ru
27.
Центр дистанционного обученияДиаграмма кооперации
(collaboration diagram)
online.mirea.ru
28. Диаграмма кооперации (collaboration diagram)
Центр дистанционного обученияДиаграммы состояний
Диаграммы состояний (statechart diagrams) определяют все возможные состояния, в которых может находиться
конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий.
Диаграмма состояний для банковского счета
Снятие денег
[отрицательный баланс]
Превышение кредита
Открыт
Вклад денег
[положительный баланс]
Клиент требует
закрыть/Сохранить
дату закрытия счета
entry: Временно заморозить счет
do:Послать уведомление клиенту
exit: Разморозить счет
Проверка баланса
[отрицательный баланс
в течение более 30 дней]
Закрыт
entry:Выдать
кредитную карточку
online.mirea.ru
29.
Центр дистанционного обученияДиаграммы состояний
С состоянием связывают
Деятельность (activity) - прерываемое поведение, которое может выполняться до своего завершения, пока
объект находится в данном состоянии, или может быть прервано переходом объекта в другое состояние.
Входное действие (entry action) - непрерываемое поведение, которое выполняется, когда объект переходит в
данное состояние.
Выходное действие (exit action) - непрерываемое поведение, осуществляется как составная часть процесса
выхода из данного состояния.
Поведение объекта во время деятельности, при входных и выходных действиях, может включать отправку
события другому объекту.
Do: ^Цель. Событие (Аргументы )
Цель - объект, получающий событие,
Событие - посылаемое сообщение,
Аргументы - параметры посылаемого сообщения.
online.mirea.ru
30.
Центр дистанционного обученияДиаграммы состояний
С состоянием связывают
Переход (transition) - перемещение объекта из одного состояния в другое.
Рефлексивный переход - объект может перейти в то же состояние, в котором он в настоящий момент находится.
Событие (event) - то, что вызывает переход из одного состояния в другое.
У событий могут быть аргументы.
Ограждающие условия (guard conditions) определяют, когда переход может или не может осуществиться.
Действие (action) - непрерываемое поведение, осуществляющееся как часть перехода.
online.mirea.ru
31.
Центр дистанционного обученияДиаграммы компонентов
Диаграммы компонентов (component diagrams) показывают, как выглядит модель на физическом уровне. На них
изображены компоненты программного обеспечения и связи между ними.
Диаграмма компонентов для сервера
Одна из диаграмм компонентов
для банковской системы
ATM.exe
ATMServer.exe
Card Reader
Cash Dispenser
ATM Screen
Ассouпt
Account
Card Reader
Cash Dispenser
ATM Screen
online.mirea.ru
32.
Центр дистанционного обученияДиаграммы размещения
Диаграмма размещения (dерlоутепt diagrams) отражает физические взаимосвязи между программными и
аппаратными компонентами системы.
Диаграмма размещения для банковской системы
online.mirea.ru
33.
Центр дистанционного обученияНотация Питера Чена/ Нотация Мартина
online.mirea.ru
34. Нотация Питера Чена/ Нотация Мартина
Центр дистанционного обученияonline.mirea.ru
35.
Центр дистанционного обученияСпасибо за внимание!
online.mirea.ru
programming