modeling with uml

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

Upload: sef2009

Post on 28-Nov-2014

793 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Modeling With Uml

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

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

Page 2: Modeling With Uml

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

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

1.Пошел(а) на курсы

2.Прочитал(а) книгу

3.Установил(а) программу, позволяющую рисовать UML диаграммы и попытал(а)ся что-то сделать

4.А что такое UML?

5.Другое

Page 3: Modeling With Uml

Что такое UML?

UML = Unified Modeling Language

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

Язык

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

Page 4: Modeling With Uml

Назначение UML

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

Page 5: Modeling With Uml

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 6: Modeling With Uml

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

Page 7: Modeling With 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: Modeling With Uml

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

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

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

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

Page 9: Modeling With Uml

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

1. Языком программирования– Генерация кода возможна

2. Моделью процесса разработки приложений– Модель необходима и имеется –

Rational Unified Process (RUP)

Page 10: Modeling With Uml

Модель UML

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

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

Page 11: Modeling With 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: Modeling With Uml

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

в UML?

1.Зависимости

2.Ассоциации

3.Уточнения

4.Обобщения

5.Реализации

6.Расширения

Page 13: Modeling With Uml

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

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

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

унифицированным способом

Page 14: Modeling With Uml

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

Write the book{importance=high,

Author=”Ivanov, Novikov”}

-age:Integer

Person {0<age<99}

Page 15: Modeling With Uml

«metaclass»Actor

domain

«stereotype»PowerUser

«PowerUser»Administrator{domain=LAN}

Has full access to specified domain

1

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

Page 16: Modeling With 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: Modeling With Uml

Seller

ComputerSeller

Customer

Make order

Make order of computer

Issue invoice

«include»

Продавец

Покупатель

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

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

6

3

5

2

1

4

7

Page 18: Modeling With Uml

Order Customer

Address

Payment CreditCard

«utility»OrderProcessor

* 1

11..*

1

1..* 1..*

11

1..*

«instantiate»

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

Платеж

1

2

VIPCustomer

4 3

Page 19: Modeling With Uml

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

Moving up

Idle

Moving down

pressDOWN [! 1st floor]

1

pressUP [! last floor]

2

Page 20: Modeling With Uml

CheckOutComponent

BuildComponent

BuildApplication

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

[else]

[no moreсomponents]

2

13

Page 21: Modeling With 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: Modeling With 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: Modeling With Uml

DBMS

Application Service

WebBrowser

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

1

2

3

Page 24: Modeling With 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: Modeling With Uml

:Order :Customer

home:Address

:Payment visa:CreditCard

:OrderProcessor

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

master:CreditCard

1

2

Page 26: Modeling With Uml

component Компилятор

Compiler

:LexicalAnalyzer

In :SyntaxAnalyzer

:SemanticAnalyzer:CodeGeneratorOut

6 5

1

2

3

4

Page 27: Modeling With Uml

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

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

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

[else]

ref ref1

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

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

1

Page 28: Modeling With Uml

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

Spinning

Rinsing

Washing

Soaking

0 5 10 15 20 25 30 35 40 45 50

12

Page 29: Modeling With Uml

PrimitiveTypes Basic

L0

«import»

«merge»

«merge»

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

12

Page 30: Modeling With Uml

Системы

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

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

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

Page 31: Modeling With Uml

References

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

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