modeling with uml

Post on 28-Nov-2014

798 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Моделирование на 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?

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

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

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 [! 1st 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)

top related