МАСТЕР-КЛАСС. Моделирование на uml

31
Моделирование на UML Денис Иванов. Ай Ти Консалтинг

Upload: sqalab

Post on 02-Jul-2015

1.804 views

Category:

Technology


4 download

DESCRIPTION

Денис Иванов, uml2.ru, Ай Ти Консалтинг, Санкт-Петербург, Россия

TRANSCRIPT

Page 1: МАСТЕР-КЛАСС. Моделирование на UML

Моделирование на UML

Денис Иванов. Ай Ти Консалтинг

Page 2: МАСТЕР-КЛАСС. Моделирование на UML

Каков был Ваш ПЕРВЫЙ ШАГ,после того как Вы узнали о

существовании UML?

1.Пошел(а) на курсы2.Прочитал(а) книгу3.Установил(а) программу, позволяющую

рисовать UML диаграммы и попытал(а)ся что-то сделать

4.А что такое UML?5.Другое

Page 3: МАСТЕР-КЛАСС. Моделирование на UML

Что такое UML?

UML = Unified Modeling Language

Моделирования

Язык

Унифицированный

Page 4: МАСТЕР-КЛАСС. Моделирование на UML

Назначение UML

“UML – графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем”

Page 5: МАСТЕР-КЛАСС. Моделирование на UML

Спецификация

Так объяснилзаказчик

Так понял менеджерпроекта

Так описал аналитик Так реализовалпрограммист

Так презентовалпроект менеджер

Такой оказаласьдокументация

Таким оказалсяпродукт

Такими оказалисьзатраты

Такой оказаласьработоспособность

Что реально хотелзаказчик ...

Так объяснилзаказчикТак объяснилзаказчик

Так понял менеджерпроектаТак понял менеджерпроекта

Так описал аналитикТак описал аналитик Так реализовалпрограммистТак реализовалпрограммист

Так презентовалпроект менеджерТак презентовалпроект менеджер

Такой оказаласьдокументацияТакой оказаласьдокументация

Таким оказалсяпродуктТаким оказалсяпродукт

Такими оказалисьзатратыТакими оказалисьзатраты

Такой оказаласьработоспособностьТакой оказаласьработоспособность

Что реально хотелзаказчик ... Что реально хотелзаказчик ...

Page 6: МАСТЕР-КЛАСС. Моделирование на UML

Визуализация

Page 7: МАСТЕР-КЛАСС. Моделирование на 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”

Page 8: МАСТЕР-КЛАСС. Моделирование на UML

Документирование

• Все элементы модели могут содержать текстовое описание

• Почти все инструменты могут собирать из них осмысленные документы

• Почти никто из разработчиков этим не пользуется

Page 9: МАСТЕР-КЛАСС. Моделирование на UML

Чем не является UML?

2. Языком программирования

– Генерация кода возможна

4. Моделью процесса разработки приложений

– Модель необходима и имеется – Rational Unified Process (RUP)

Page 10: МАСТЕР-КЛАСС. Моделирование на UML

Модель UML

• Модель UML — это совокупность конечного множества конструкций языка, главные из которых —сущности и отношения

• Модель UML — это нагруженный мульти-псевдо-гипер-орграф.

Page 11: МАСТЕР-КЛАСС. Моделирование на 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

Page 12: МАСТЕР-КЛАСС. Моделирование на UML

Какие из перечисленныхотношений существуют

в UML?

1.Зависимости2.Ассоциации3.Уточнения4.Обобщения5.Реализации6.Расширения

Page 13: МАСТЕР-КЛАСС. Моделирование на UML

Механизмы расширения (i)

Механизмы расширения — встроенный в язык способ изменить язык

— позволяют определять новые элементы модели на основе существующих управляемым и унифицированным способом

Page 14: МАСТЕР-КЛАСС. Моделирование на UML

Механизмы расширения (ii)

Write the book{importance=high,

Author=”Ivanov, Novikov”}

-age:Integer

Person {0<age<99}

Page 15: МАСТЕР-КЛАСС. Моделирование на UML

«metaclass»Actor

domain

«stereotype»PowerUser

«PowerUser»Administrator{domain=LAN}

Has full access to specified domain

1

Механизмы расширения (iii)

Page 16: МАСТЕР-КЛАСС. Моделирование на UML

Диаграммы• Что делает система?

– Диаграмма использования / 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

Page 17: МАСТЕР-КЛАСС. Моделирование на UML

Seller

ComputerSeller

Customer

Make order

Make order of computer

Issue invoice

«include»

Продавец

Покупатель

Выписать счет-фактуру

use case Система заказа товаров

6

3

5

2

1

4

7

Page 18: МАСТЕР-КЛАСС. Моделирование на UML

Order Customer

Address

Payment CreditCard

«utility»OrderProcessor

* 1

11..*

1

1..* 1..*

11

1..*

«instantiate»

class Структура системы обработки заказов

Платеж

1

2

VIPCustomer

4 3

Page 19: МАСТЕР-КЛАСС. Моделирование на UML

state machine Состояния лифта

Moving up

Idle

Moving down

pressDOWN [! 1s t floor]

1

pressUP [! last floor]

2

Page 20: МАСТЕР-КЛАСС. Моделирование на UML

CheckOutComponent

BuildComponent

BuildApplication

activity Сборка приложения

[else]

[no moreсomponents]

2

13

Page 21: МАСТЕР-КЛАСС. Моделирование на UML

sd Печать через сервер печати

:Computer :PrintServer :Printer :Queue

print(file)

print(file)

print(file)

store(file)

[printer free]

[printer busy]

alt

6

1

2

3

5

4

Page 22: МАСТЕР-КЛАСС. Моделирование на UML

:Computer

:PrintServer :Printer

:Queue

1: print(file)

[printer busy]1.2: store(file)

[printer free]1.1: print(file)

comm Печать через сервер печати

2

3 1

Page 23: МАСТЕР-КЛАСС. Моделирование на UML

DBMS

Application Service

WebBrowser

component Web приложение

1

2

3

Page 24: МАСТЕР-КЛАСС. Моделирование на UML

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

Page 25: МАСТЕР-КЛАСС. Моделирование на UML

:Order :Customer

home:Address

:Payment visa:CreditCard

:OrderProcessor

object Структура системы обработки заказов

master:CreditCard

1

2

Page 26: МАСТЕР-КЛАСС. Моделирование на UML

component Компилятор

Compiler

:LexicalAnalyzer

In :SyntaxAnalyzer

:SemanticAnalyzer:CodeGeneratorOut

6 5

1

2

3

4

Page 27: МАСТЕР-КЛАСС. Моделирование на UML

interaction Печать документа

[подключен локальный принтер]

[подключенсетевой принтер]

[else]

ref ref1

Печать на локальный принтер

Печать через сервер печати

1

Page 28: МАСТЕР-КЛАСС. Моделирование на UML

timing Цикл работы стиральной машины

Spinning

Rinsing

Washing

Soaking

0 5 10 15 20 25 30 35 40 45 50

12

Page 29: МАСТЕР-КЛАСС. Моделирование на UML

PrimitiveTypes Basic

L0

«import»

«merge»

«merge»

package Пакеты UML верхнего уровня L0

12

Page 30: МАСТЕР-КЛАСС. Моделирование на UML

Системы

• Информационные системы управления предприятием (Enterprise Resource Planning - ERP)

• Приложения реального времени (real-time) и встроенные (embedded) системы

• Клиент-серверные системы массового обслуживания

Page 31: МАСТЕР-КЛАСС. Моделирование на UML

References

• http://www.uml.org • http://www.it-konsulting.spb.ru• Иванов Д.Ю., Новиков Ф.А. «Моделирование на

UML», Санкт-Петербург, Наука и техника, 2009 (срок выхода – октябрь 2009)