Upload
sqalab
View
1.806
Download
4
Embed Size (px)
DESCRIPTION
Денис Иванов, uml2.ru, Ай Ти Консалтинг, Санкт-Петербург, Россия
Citation preview
Моделирование на UML
Денис Иванов. Ай Ти Консалтинг
Каков был Ваш ПЕРВЫЙ ШАГ,после того как Вы узнали о
существовании UML?
1.Пошел(а) на курсы2.Прочитал(а) книгу3.Установил(а) программу, позволяющую
рисовать UML диаграммы и попытал(а)ся что-то сделать
4.А что такое UML?5.Другое
Что такое UML?
UML = Unified Modeling Language
Моделирования
Язык
Унифицированный
Назначение UML
“UML – графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем”
Спецификация
Так объяснилзаказчик
Так понял менеджерпроекта
Так описал аналитик Так реализовалпрограммист
Так презентовалпроект менеджер
Такой оказаласьдокументация
Таким оказалсяпродукт
Такими оказалисьзатраты
Такой оказаласьработоспособность
Что реально хотелзаказчик ...
Так объяснилзаказчикТак объяснилзаказчик
Так понял менеджерпроектаТак понял менеджерпроекта
Так описал аналитикТак описал аналитик Так реализовалпрограммистТак реализовалпрограммист
Так презентовалпроект менеджерТак презентовалпроект менеджер
Такой оказаласьдокументацияТакой оказаласьдокументация
Таким оказалсяпродуктТаким оказалсяпродукт
Такими оказалисьзатратыТакими оказалисьзатраты
Такой оказаласьработоспособностьТакой оказаласьработоспособность
Что реально хотелзаказчик ... Что реально хотелзаказчик ...
Визуализация
Проектирование
“The Unified Modeling Language (UML) – is a general-purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of a software system”
Документирование
• Все элементы модели могут содержать текстовое описание
• Почти все инструменты могут собирать из них осмысленные документы
• Почти никто из разработчиков этим не пользуется
Чем не является UML?
2. Языком программирования
– Генерация кода возможна
4. Моделью процесса разработки приложений
– Модель необходима и имеется – Rational Unified Process (RUP)
Модель UML
• Модель UML — это совокупность конечного множества конструкций языка, главные из которых —сущности и отношения
• Модель UML — это нагруженный мульти-псевдо-гипер-орграф.
Сущности
Customer
Make Order
Serverentry/OpenLogexit/CloseLog
Logged
Analysis Model
Здесь находится комментарий
:Rectangle
DataBase
IAudioa=15
Display mainmenu
Customer
«artifact»Requirement
Specification
«component»DataBase
«interface»IAudio
ProductOrder
{abstract}
Visitor
Make Order
«library»QT
Какие из перечисленныхотношений существуют
в UML?
1.Зависимости2.Ассоциации3.Уточнения4.Обобщения5.Реализации6.Расширения
Механизмы расширения (i)
Механизмы расширения — встроенный в язык способ изменить язык
— позволяют определять новые элементы модели на основе существующих управляемым и унифицированным способом
Механизмы расширения (ii)
Write the book{importance=high,
Author=”Ivanov, Novikov”}
-age:Integer
Person {0<age<99}
«metaclass»Actor
domain
«stereotype»PowerUser
«PowerUser»Administrator{domain=LAN}
Has full access to specified domain
1
Механизмы расширения (iii)
Диаграммы• Что делает система?
– Диаграмма использования / Use case diagram
• Из чего состоит система?– Диаграмма классов / Class diagram– Диаграмма компонентов / Component diagram– Диаграмма размещения / Deployment diagram– Диаграмма объектов / Object diagram– Диаграмма внутренней структуры / Composite structure diagram
• Как работает система?– Диаграмма деятельности / Activity diagram– Диаграмма коммуникации / Communication diagram – Диаграмма последовательности / Sequence diagram– Диаграмма автомата / State machine diagram – Обзорная диаграмма взаимодействия / Interaction overview diagram– Диаграмма синхронизации / Timing diagram
• Как управлять сложностью модели?– Диаграмма пакетов / Package diagram
Seller
ComputerSeller
Customer
Make order
Make order of computer
Issue invoice
«include»
Продавец
Покупатель
Выписать счет-фактуру
use case Система заказа товаров
6
3
5
2
1
4
7
Order Customer
Address
Payment CreditCard
«utility»OrderProcessor
* 1
11..*
1
1..* 1..*
11
1..*
«instantiate»
class Структура системы обработки заказов
Платеж
1
2
VIPCustomer
4 3
state machine Состояния лифта
Moving up
Idle
Moving down
pressDOWN [! 1s t floor]
1
pressUP [! last floor]
2
CheckOutComponent
BuildComponent
BuildApplication
activity Сборка приложения
[else]
[no moreсomponents]
2
13
sd Печать через сервер печати
:Computer :PrintServer :Printer :Queue
print(file)
print(file)
print(file)
store(file)
[printer free]
[printer busy]
alt
6
1
2
3
5
4
:Computer
:PrintServer :Printer
:Queue
1: print(file)
[printer busy]1.2: store(file)
[printer free]1.1: print(file)
comm Печать через сервер печати
2
3 1
DBMS
Application Service
WebBrowser
component Web приложение
1
2
3
Workstation
DBMS
deployment Web приложение
DataBaseServer
«executable»Oracle
«manifest»
«deploy»
«executionenvironment»
J2EE AS
«EJB»Server
Application Service
«manifest»
«executable»Mozilla
WebBrowser«manifest»
5
6
3
4
1
2
:Order :Customer
home:Address
:Payment visa:CreditCard
:OrderProcessor
object Структура системы обработки заказов
master:CreditCard
1
2
component Компилятор
Compiler
:LexicalAnalyzer
In :SyntaxAnalyzer
:SemanticAnalyzer:CodeGeneratorOut
6 5
1
2
3
4
interaction Печать документа
[подключен локальный принтер]
[подключенсетевой принтер]
[else]
ref ref1
Печать на локальный принтер
Печать через сервер печати
1
timing Цикл работы стиральной машины
Spinning
Rinsing
Washing
Soaking
0 5 10 15 20 25 30 35 40 45 50
12
PrimitiveTypes Basic
L0
«import»
«merge»
«merge»
package Пакеты UML верхнего уровня L0
12
Системы
• Информационные системы управления предприятием (Enterprise Resource Planning - ERP)
• Приложения реального времени (real-time) и встроенные (embedded) системы
• Клиент-серверные системы массового обслуживания
References
• http://www.uml.org • http://www.it-konsulting.spb.ru• Иванов Д.Ю., Новиков Ф.А. «Моделирование на
UML», Санкт-Петербург, Наука и техника, 2009 (срок выхода – октябрь 2009)