ݺߣ

ݺߣShare a Scribd company logo
ОБЪЕКТНО-
ОРИЕНТИРОВАННОЕ
ПРОЕКТИРОВАНИЕ ИС
д.т.н. Емельянов Виталий Александрович
: v.yemelyanov@gmail.com
2
Модели жизненного цикла ИС или ПО
Классическая модель: RUP:
Analysis & Design
Емельянов В.А.: Проектирование ИС
Архитектура ИС - высокоуровневое представление структуры
системы и спецификация ее компонентов и
логики их взаимодействия.
Преимущества архитектуры (или зачем проектировать?):
 основа для анализа системы на ранних этапах ее разработки;
 основа для повторного использования компонентов и решений;
 упрощение принятия решений касательно разработки,
развертывания и поддержки;
 упрощение диалога с заказчиком.
3
Архитектура ИС
Емельянов В.А.: Проектирование ИС
4
Объектно-ориентированное
проектирование ИС
Модель использования
(функциональные требования)
Логическая модель
(логическое проектирование)
Модель реализации
(физическое проектирование)
Емельянов В.А.: Проектирование ИС 4
5
Логическая модель
Модель
использования Пользователи
Функциональность
Модель реализации
Объектно-ориентированное
проектирование ИС
Емельянов В.А.: Проектирование ИС
6
Модель использования
Логическая модель
Классы, обеспечивающие
функциональность
Объектно-ориентированное
проектирование ИС
Модель реализации
Состояние элементов
Взаимодействие элементов
Статическое представление
Динамическое представление
Емельянов В.А.: Проектирование ИС
7
Модель реализации
Модель размещения
компонентов
Набор компонентов
Объектно-ориентированное
проектирование ИС
Модель использования
Логическая модель
Емельянов В.А.: Проектирование ИС
8
Назначение моделей
Модель использования:
Цель: выделение функциональных требований и
пользователей ИС
Логическое проектирование:
 ключевые сущности системы как объекты и классы
объектов
 взаимодействие процессов во время
функционирования системы
Цель логического проектирования: реализация
функциональных требований в объектах.
Емельянов В.А.: Проектирование ИС
Физическое проектирование:
 организация компонентов в распределенной среде.
 распределение компонентов системы для
имплементации различными разработчиками.
Цель: планирование развертывания системы.
9
Назначение моделей
Емельянов В.А.: Проектирование ИС
 Unified Modeling Language (UML)
 Другие средства: языки описания архитектуры
(architecture description language, ADL): AADL, C2,
Darwin, Wright.
10
Инструменты для моделирования
структуры ИС
Емельянов В.А.: Проектирование ИС
Диаграммы UML
 диаграммы прецедентов (вариантов использования);
 диаграммы классов;
 диаграммы объектов;
 диаграммы последовательности;
 диаграммы кооперации;
 диаграммы состояний;
 диаграммы деятельности (действий);
 диаграммы компонентов;
 диаграммы развертывания.
11Емельянов В.А.: Проектирование ИС
12
Логическая модель
Модель
использования Пользователи
Функциональность
Модель реализации
Модель использования
Емельянов В.А.: Проектирование ИС
13
Модель использования
Функциональность
Пользователи
Диаграмма вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Диаграммы вариантов использования
(Use case diagram)
Назначение:
 Диаграммы прецедентов применяются для
моделировании вида системы с точки зрения
вариантов ее использования (прецедентов).
 Определяют функциональные требования к системе.
(Отвечают на вопрос «Какие функции будут в
системе?»)
 Определяет границы функциональности
проектируемой системы.
14Емельянов В.А.: Проектирование ИС
Элементы диаграммы:
 Варианты использования (прецеденты)
 Актеры
 Отношения зависимости, обобщения и ассоциации
Диаграммы вариантов использования
(Use case diagram)
15Емельянов В.А.: Проектирование ИС
Диаграммы вариантов использования
(Use case diagram)
Элемент «Вариант использования»:
Часть функциональности системы. Соответствует
одной функции (сервису), выполняемой по запросу
актера. После выполнения функции система должна
вернуться в исходное состояние и должна быть
готова к выполнению другого запроса актера
Условное графические обозначение:
Оплатить
заказ
16Емельянов В.А.: Проектирование ИС
Элемент «Актер»:
 Представляет роль, которую играет в данной системе человек
(пользователь), аппаратное устройство или другая система.
 Актер - любая внешняя по отношению к моделируемой
системе сущность, которая взаимодействует с системой и
использует ее функциональные возможности для достижения
определенных целей или решения частных задач
Примеры актеров: пользователь банкомата, кассир, клиент банка,
субсидирующая организация
Условное графические обозначение:
Диаграммы вариантов использования
(Use case diagram)
17Емельянов В.А.: Проектирование ИС
Элемент «Актер»:
По отношению к варианту использования актер
может быть главным или второстепенным:
Диаграммы вариантов использования
(Use case diagram)
18
Оформить
заказ
Рассылка
извещения
Проведение
соревнований
Главный актер – инициирует
выполнение варианта использования
Второстепенный актер – потребляет
результат выполнения варианта
использования
Статус актера не определен
Емельянов В.А.: Проектирование ИС
Элемент «Отношения»:
 Предназначен для отображения связи между элементами
Виды отношений:
 Ассоциации (association) - структурное отношение,
показывающее, что объекты одного типа неким образом
связаны с объектами другого типа.
 Обобщения (generalization) – отношение между общей
сущностью (родителем) и ее конкретным воплощением
(потомком).
 Расширение (extend) - показывает, что целевой вариант
использования (прецедент) расширяет поведение исходного
 Включения (include) - говорит о том, что исходный прецедент
явным образом включает в себя поведение целевого
Диаграммы вариантов использования
(Use case diagram)
19Емельянов В.А.: Проектирование ИС
Диаграммы вариантов использования
(Use case diagram)
Ассоциация: Обобщение:
Включение: Расширение:
Пройти
тест
Регистрация
пользователя
<<include>> Сдать
экзамен
Сдать
экзамен
экстерном
<<extend>>
Оформить заказ
на приобретение
комп. техники
Оформить заказ
на приобретение
товара
Оформить
кредит
1 *
Клиент
банка
20Емельянов В.А.: Проектирование ИС
Особенности отношения включения:
1. Отношение включения может быть установлено только между
вариантами использования.
2. Вариант включения в обязательном порядке выполняется при
выполнении основного варианта использования
3. Вариант включения не может быть связан отношением ассоциации с
актером
4. Применительно к языкам программирования вариант включения
соответствует подпрограмме, безусловно вызываемой из основной
программы
21
Оформить заказ
Проверить документы
<<include>>
Оформить пропуск
<<include>>Менеджер Контроллер
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Особенности отношения расширения:
1. Отношение расширения может быть установлено только между
вариантами использования.
2. Вариант расширения выполняется при определенных условиях
3. Вариант расширения не может быть связан отношением ассоциации с
актером
4. Применительно к языкам программирования вариант расширения
соответствует подпрограмме, вызываемой из основной программы по
определенному условию
22
Запрос на
добавление
Принять оплату
<<extend>>
Выдать сдачу
<<extend>>
Продавец
Продавец
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Особенности отношения обобщения (наследования):
1. Наследование может быть установлено между вариантами
использования и между актерами.
2. Вариант-наследник обладает всей функциональностью варианта
предка и может иметь по сравнению с ним специфические отличия:
 Дополнительную функциональность, отсутствующую у предка
 Другой вариант реализации функциональности, имеющейся у
предка
23
Оформление
кредита для физ. лиц
Оформление кредита
Оформление кредита
для юр. лиц
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
24
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Сценарий варианта использования:
 Логика выполнения варианта использования
должна быть раскрыта в виде сценария.
 Сценарий должен определять последовательность
действий актера, отклик системы на действия
актера, правила принятия решения и правила
действий в особых ситуациях.
25
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Способы описания сценария:
 Описывается в терминах пользователя на понятном пользователю
языке. ПРИМЕР:
 ИЛИ описывается ДИАГРАММОЙ ДЕЯТЕЛЬНОСТИ
Пользователь Система
1. Вводит почтовый адрес
2. Вводит пароль
3. Нажимает кнопку «Регистрация»
4. Проверяет почтовый адрес
5. Проверяет допустимость пароля
6. Регистрирует пользователя в системе
7. Отправляет письмо об успешной регистрации
8. Редирект на страницу аккаунта
26
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Примеры сценариев:
 Типичный ход событий:
Пользователь Система
1. Формирует запрос [Удаление]
2. Выделяет Вклад
3.Проверяет выделение вклада
4.Удаляет вклад
5.Формирует запрос[Добавление]
6.Вводит общие данные: код, сумма,
дата, срок
7.Вводит специфические
данные[Юридическое лицо]:
регистрационный номер
8.Вводит специфические
данные[Физическое лицо]:
фамилия
9.Проверяет корректность данных
10.Создает вклад
11.Заносит вклад в список
Исключение №1 Вклад не выделен Исключение №2 Данные не корректны
27
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Примеры сценариев:
 Исключения:
Пользователь Система
Исключение №1 Вклад не выделен
2.Выделяет вклад или завершает
работу
1.Выдает сообщение об ошибке
Исключение №2 Данные не корректны
2.Вводит данные или завершает
работу
1.Выдает сообщение об ошибке
28
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Этапы моделирования прецедентов (Буч, Рамбо,
Якобсон):
 Идентифицируйте те структурные элементы, которые
необходимы и достаточны для осуществления семантики
прецедента.
 Организуйте эти структурные элементы в диаграмму классов
 Рассмотрите отдельные сценарии, которые представляют данный
прецедент.
 Отобразите динамику этих сценариев на диаграммах
взаимодействия. (Воспользуйтесь диаграммами
последовательности, если нужно подчеркнуть порядок сообщений, и
диаграммами кооперации, если более важны структурные
отношения между кооперирующимися объектами)
 Организуйте эти структурные и поведенческие элементы как
кооперацию, которую вы можете соединить с прецедентом через
реализацию.
29
Моделирование вариантов использования
Емельянов В.А.: Проектирование ИС
30
Описание ПрО:
Компания «СУПЕР МАГАЗИН» является сетью магазинов розничной
торговли (7 магазинов). У компании есть свой сайт, где представлена
информация по продаваемым товарам. Но сайт является только
информационным и не позволяет проводить покупку товаров онлайн. В
компании отсутствует возможность оперативного отслеживания изменения
количества товаров в наличии в магазинах и на складе.
Компании «СУПЕР МАГАЗИН» требуется информационная система
розничной торговли, которая должна автоматизировать следующие
процессы:
1. Обслуживание клиентов, включая оформление и оплату
заказов для юридических и физических лиц онлайн;
2. Управление сетью ее магазинов;
3. Управление запасами и складом для сети магазинов.
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС
Оформить заказ
Клиент
31
Просмотреть
информацию по
товару
Оплатить заказ
<<include>>
Создать заказ
Наполнить
корзину
Заполнить
информацию об
оплате и доставке
<<include>>
<<include>>
Оплатить онлайн
Оплатить при
получении через
терминал
Просмотреть
историю заказов
1. Обслуживание клиентов, включая оформление и оплату заказов:
Диаграммы вариантов использования
(Use case diagram)
Емельянов В.А.: Проектирование ИС

More Related Content

What's hot (20)

Android ui layout
Android ui layoutAndroid ui layout
Android ui layout
Krazy Koder
Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#
An Nguyen
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
TIen Le
Лекция 4. Принципы SOLID
Лекция 4. Принципы SOLID Лекция 4. Принципы SOLID
Лекция 4. Принципы SOLID
Виталий Емельянов
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Thuyet Nguyen
CONG NGHE PHAN MEM
CONG NGHE PHAN MEMCONG NGHE PHAN MEM
CONG NGHE PHAN MEM
duc phong
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Dang Tuan
4b use-case analysis
4b use-case analysis4b use-case analysis
4b use-case analysis
Châu Thanh Chương
Design patterns in android
Design patterns in androidDesign patterns in android
Design patterns in android
Zahra Heydari
Chuong 3 windows forms
Chuong 3   windows formsChuong 3   windows forms
Chuong 3 windows forms
Harees Seni
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
Dotnet Open Group
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
MasterCode.vn
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
Fernando Palma
ݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTT
ݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTTݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTT
ݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTT
Hiệu Nguyễn
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đĐề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
Shwetha-BA
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & DesignTiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Popping Khiem - Funky Dance Crew PTIT
Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#Quy tắc thiết kế giao diện và viết code C#
Quy tắc thiết kế giao diện và viết code C#
An Nguyen
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
TIen Le
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Thuyet Nguyen
CONG NGHE PHAN MEM
CONG NGHE PHAN MEMCONG NGHE PHAN MEM
CONG NGHE PHAN MEM
duc phong
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Dang Tuan
Design patterns in android
Design patterns in androidDesign patterns in android
Design patterns in android
Zahra Heydari
Chuong 3 windows forms
Chuong 3   windows formsChuong 3   windows forms
Chuong 3 windows forms
Harees Seni
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
Dotnet Open Group
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
MasterCode.vn
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
Fernando Palma
ݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTT
ݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTTݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTT
ݺߣ Báo Cáo Đồ Án Tốt Nghiệp CNTT
Hiệu Nguyễn
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
Shwetha-BA
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & DesignTiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Popping Khiem - Funky Dance Crew PTIT

Similar to Лекция 1. UML (use cases) (20)

1
11
1
elvi42
МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use Case
Олег Гудаев
язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)
romachka_pole
Лекция 2. UML (static logical model)
Лекция 2. UML (static logical model)Лекция 2. UML (static logical model)
Лекция 2. UML (static logical model)
Виталий Емельянов
UML_Yznaika.com.pptx
UML_Yznaika.com.pptxUML_Yznaika.com.pptx
UML_Yznaika.com.pptx
ssuserd0eb401
Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...
Anatoly Simkin
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3
Dima Dzuba
Лекция 3. UML (dynamic logical model)
Лекция 3. UML (dynamic logical model)Лекция 3. UML (dynamic logical model)
Лекция 3. UML (dynamic logical model)
Виталий Емельянов
Лекция 4. UML (physical model)
Лекция 4. UML (physical model)Лекция 4. UML (physical model)
Лекция 4. UML (physical model)
Виталий Емельянов
Use-case diagram
Use-case diagramUse-case diagram
Use-case diagram
aepetelin
Практический анализ по RUP
Практический анализ по RUPПрактический анализ по RUP
Практический анализ по RUP
SQALab
Лекция 1. Архитектура информационных систем
Лекция 1. Архитектура информационных системЛекция 1. Архитектура информационных систем
Лекция 1. Архитектура информационных систем
Виталий Емельянов
Управление рабочими элементами в TFS
Управление рабочими элементами в TFSУправление рабочими элементами в TFS
Управление рабочими элементами в TFS
Александр Шамрай
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
Maxim Tsepkov
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
CUSTIS
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
SQALab
моделирование на языке Uml 2
моделирование на языке Uml 2моделирование на языке Uml 2
моделирование на языке Uml 2
Elena Kasimova
Нотация UML / UML Notation
Нотация UML / UML NotationНотация UML / UML Notation
Нотация UML / UML Notation
Роман Душкин
оп.05 основы программирования
оп.05 основы программированияоп.05 основы программирования
оп.05 основы программирования
Stepan1234
язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)
romachka_pole
Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...
Anatoly Simkin
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3
Dima Dzuba
Практический анализ по RUP
Практический анализ по RUPПрактический анализ по RUP
Практический анализ по RUP
SQALab
Лекция 1. Архитектура информационных систем
Лекция 1. Архитектура информационных системЛекция 1. Архитектура информационных систем
Лекция 1. Архитектура информационных систем
Виталий Емельянов
Управление рабочими элементами в TFS
Управление рабочими элементами в TFSУправление рабочими элементами в TFS
Управление рабочими элементами в TFS
Александр Шамрай
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
Maxim Tsepkov
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
CUSTIS
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
SQALab
моделирование на языке Uml 2
моделирование на языке Uml 2моделирование на языке Uml 2
моделирование на языке Uml 2
Elena Kasimova
оп.05 основы программирования
оп.05 основы программированияоп.05 основы программирования
оп.05 основы программирования
Stepan1234

Лекция 1. UML (use cases)

  • 2. 2 Модели жизненного цикла ИС или ПО Классическая модель: RUP: Analysis & Design Емельянов В.А.: Проектирование ИС
  • 3. Архитектура ИС - высокоуровневое представление структуры системы и спецификация ее компонентов и логики их взаимодействия. Преимущества архитектуры (или зачем проектировать?):  основа для анализа системы на ранних этапах ее разработки;  основа для повторного использования компонентов и решений;  упрощение принятия решений касательно разработки, развертывания и поддержки;  упрощение диалога с заказчиком. 3 Архитектура ИС Емельянов В.А.: Проектирование ИС
  • 4. 4 Объектно-ориентированное проектирование ИС Модель использования (функциональные требования) Логическая модель (логическое проектирование) Модель реализации (физическое проектирование) Емельянов В.А.: Проектирование ИС 4
  • 5. 5 Логическая модель Модель использования Пользователи Функциональность Модель реализации Объектно-ориентированное проектирование ИС Емельянов В.А.: Проектирование ИС
  • 6. 6 Модель использования Логическая модель Классы, обеспечивающие функциональность Объектно-ориентированное проектирование ИС Модель реализации Состояние элементов Взаимодействие элементов Статическое представление Динамическое представление Емельянов В.А.: Проектирование ИС
  • 7. 7 Модель реализации Модель размещения компонентов Набор компонентов Объектно-ориентированное проектирование ИС Модель использования Логическая модель Емельянов В.А.: Проектирование ИС
  • 8. 8 Назначение моделей Модель использования: Цель: выделение функциональных требований и пользователей ИС Логическое проектирование:  ключевые сущности системы как объекты и классы объектов  взаимодействие процессов во время функционирования системы Цель логического проектирования: реализация функциональных требований в объектах. Емельянов В.А.: Проектирование ИС
  • 9. Физическое проектирование:  организация компонентов в распределенной среде.  распределение компонентов системы для имплементации различными разработчиками. Цель: планирование развертывания системы. 9 Назначение моделей Емельянов В.А.: Проектирование ИС
  • 10.  Unified Modeling Language (UML)  Другие средства: языки описания архитектуры (architecture description language, ADL): AADL, C2, Darwin, Wright. 10 Инструменты для моделирования структуры ИС Емельянов В.А.: Проектирование ИС
  • 11. Диаграммы UML  диаграммы прецедентов (вариантов использования);  диаграммы классов;  диаграммы объектов;  диаграммы последовательности;  диаграммы кооперации;  диаграммы состояний;  диаграммы деятельности (действий);  диаграммы компонентов;  диаграммы развертывания. 11Емельянов В.А.: Проектирование ИС
  • 12. 12 Логическая модель Модель использования Пользователи Функциональность Модель реализации Модель использования Емельянов В.А.: Проектирование ИС
  • 13. 13 Модель использования Функциональность Пользователи Диаграмма вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 14. Диаграммы вариантов использования (Use case diagram) Назначение:  Диаграммы прецедентов применяются для моделировании вида системы с точки зрения вариантов ее использования (прецедентов).  Определяют функциональные требования к системе. (Отвечают на вопрос «Какие функции будут в системе?»)  Определяет границы функциональности проектируемой системы. 14Емельянов В.А.: Проектирование ИС
  • 15. Элементы диаграммы:  Варианты использования (прецеденты)  Актеры  Отношения зависимости, обобщения и ассоциации Диаграммы вариантов использования (Use case diagram) 15Емельянов В.А.: Проектирование ИС
  • 16. Диаграммы вариантов использования (Use case diagram) Элемент «Вариант использования»: Часть функциональности системы. Соответствует одной функции (сервису), выполняемой по запросу актера. После выполнения функции система должна вернуться в исходное состояние и должна быть готова к выполнению другого запроса актера Условное графические обозначение: Оплатить заказ 16Емельянов В.А.: Проектирование ИС
  • 17. Элемент «Актер»:  Представляет роль, которую играет в данной системе человек (пользователь), аппаратное устройство или другая система.  Актер - любая внешняя по отношению к моделируемой системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенных целей или решения частных задач Примеры актеров: пользователь банкомата, кассир, клиент банка, субсидирующая организация Условное графические обозначение: Диаграммы вариантов использования (Use case diagram) 17Емельянов В.А.: Проектирование ИС
  • 18. Элемент «Актер»: По отношению к варианту использования актер может быть главным или второстепенным: Диаграммы вариантов использования (Use case diagram) 18 Оформить заказ Рассылка извещения Проведение соревнований Главный актер – инициирует выполнение варианта использования Второстепенный актер – потребляет результат выполнения варианта использования Статус актера не определен Емельянов В.А.: Проектирование ИС
  • 19. Элемент «Отношения»:  Предназначен для отображения связи между элементами Виды отношений:  Ассоциации (association) - структурное отношение, показывающее, что объекты одного типа неким образом связаны с объектами другого типа.  Обобщения (generalization) – отношение между общей сущностью (родителем) и ее конкретным воплощением (потомком).  Расширение (extend) - показывает, что целевой вариант использования (прецедент) расширяет поведение исходного  Включения (include) - говорит о том, что исходный прецедент явным образом включает в себя поведение целевого Диаграммы вариантов использования (Use case diagram) 19Емельянов В.А.: Проектирование ИС
  • 20. Диаграммы вариантов использования (Use case diagram) Ассоциация: Обобщение: Включение: Расширение: Пройти тест Регистрация пользователя <<include>> Сдать экзамен Сдать экзамен экстерном <<extend>> Оформить заказ на приобретение комп. техники Оформить заказ на приобретение товара Оформить кредит 1 * Клиент банка 20Емельянов В.А.: Проектирование ИС
  • 21. Особенности отношения включения: 1. Отношение включения может быть установлено только между вариантами использования. 2. Вариант включения в обязательном порядке выполняется при выполнении основного варианта использования 3. Вариант включения не может быть связан отношением ассоциации с актером 4. Применительно к языкам программирования вариант включения соответствует подпрограмме, безусловно вызываемой из основной программы 21 Оформить заказ Проверить документы <<include>> Оформить пропуск <<include>>Менеджер Контроллер Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 22. Особенности отношения расширения: 1. Отношение расширения может быть установлено только между вариантами использования. 2. Вариант расширения выполняется при определенных условиях 3. Вариант расширения не может быть связан отношением ассоциации с актером 4. Применительно к языкам программирования вариант расширения соответствует подпрограмме, вызываемой из основной программы по определенному условию 22 Запрос на добавление Принять оплату <<extend>> Выдать сдачу <<extend>> Продавец Продавец Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 23. Особенности отношения обобщения (наследования): 1. Наследование может быть установлено между вариантами использования и между актерами. 2. Вариант-наследник обладает всей функциональностью варианта предка и может иметь по сравнению с ним специфические отличия:  Дополнительную функциональность, отсутствующую у предка  Другой вариант реализации функциональности, имеющейся у предка 23 Оформление кредита для физ. лиц Оформление кредита Оформление кредита для юр. лиц Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 24. 24 Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 25. Сценарий варианта использования:  Логика выполнения варианта использования должна быть раскрыта в виде сценария.  Сценарий должен определять последовательность действий актера, отклик системы на действия актера, правила принятия решения и правила действий в особых ситуациях. 25 Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 26. Способы описания сценария:  Описывается в терминах пользователя на понятном пользователю языке. ПРИМЕР:  ИЛИ описывается ДИАГРАММОЙ ДЕЯТЕЛЬНОСТИ Пользователь Система 1. Вводит почтовый адрес 2. Вводит пароль 3. Нажимает кнопку «Регистрация» 4. Проверяет почтовый адрес 5. Проверяет допустимость пароля 6. Регистрирует пользователя в системе 7. Отправляет письмо об успешной регистрации 8. Редирект на страницу аккаунта 26 Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 27. Примеры сценариев:  Типичный ход событий: Пользователь Система 1. Формирует запрос [Удаление] 2. Выделяет Вклад 3.Проверяет выделение вклада 4.Удаляет вклад 5.Формирует запрос[Добавление] 6.Вводит общие данные: код, сумма, дата, срок 7.Вводит специфические данные[Юридическое лицо]: регистрационный номер 8.Вводит специфические данные[Физическое лицо]: фамилия 9.Проверяет корректность данных 10.Создает вклад 11.Заносит вклад в список Исключение №1 Вклад не выделен Исключение №2 Данные не корректны 27 Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 28. Примеры сценариев:  Исключения: Пользователь Система Исключение №1 Вклад не выделен 2.Выделяет вклад или завершает работу 1.Выдает сообщение об ошибке Исключение №2 Данные не корректны 2.Вводит данные или завершает работу 1.Выдает сообщение об ошибке 28 Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 29. Этапы моделирования прецедентов (Буч, Рамбо, Якобсон):  Идентифицируйте те структурные элементы, которые необходимы и достаточны для осуществления семантики прецедента.  Организуйте эти структурные элементы в диаграмму классов  Рассмотрите отдельные сценарии, которые представляют данный прецедент.  Отобразите динамику этих сценариев на диаграммах взаимодействия. (Воспользуйтесь диаграммами последовательности, если нужно подчеркнуть порядок сообщений, и диаграммами кооперации, если более важны структурные отношения между кооперирующимися объектами)  Организуйте эти структурные и поведенческие элементы как кооперацию, которую вы можете соединить с прецедентом через реализацию. 29 Моделирование вариантов использования Емельянов В.А.: Проектирование ИС
  • 30. 30 Описание ПрО: Компания «СУПЕР МАГАЗИН» является сетью магазинов розничной торговли (7 магазинов). У компании есть свой сайт, где представлена информация по продаваемым товарам. Но сайт является только информационным и не позволяет проводить покупку товаров онлайн. В компании отсутствует возможность оперативного отслеживания изменения количества товаров в наличии в магазинах и на складе. Компании «СУПЕР МАГАЗИН» требуется информационная система розничной торговли, которая должна автоматизировать следующие процессы: 1. Обслуживание клиентов, включая оформление и оплату заказов для юридических и физических лиц онлайн; 2. Управление сетью ее магазинов; 3. Управление запасами и складом для сети магазинов. Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС
  • 31. Оформить заказ Клиент 31 Просмотреть информацию по товару Оплатить заказ <<include>> Создать заказ Наполнить корзину Заполнить информацию об оплате и доставке <<include>> <<include>> Оплатить онлайн Оплатить при получении через терминал Просмотреть историю заказов 1. Обслуживание клиентов, включая оформление и оплату заказов: Диаграммы вариантов использования (Use case diagram) Емельянов В.А.: Проектирование ИС