Модели, виды и диаграммы uml



Скачать 93.51 Kb.
Дата22.08.2013
Размер93.51 Kb.
ТипДокументы
№11. Диаграммы UML

Модели, виды и диаграммы UML


Основные виды (срезы) модели проектирования систем (4+1 вида) на программу:

[Logical ] [Implementation ]

(Use Case )

[Process ] [Deployment ] (Развертывание)

    1. Logical – конечные пользователи – представляет функциональность (функц. слабая).

    2. Process – системные интеграторы – влияет на производительность и возможность масштабирования.

1 и 2 – аналитики и тестеры – представляет поведение будущей системы.

    1. Implementation – программисты – важен для управления разработкой ПО.

    2. Deployment – системные инженеры – описывает топологию системы, влияет на установку и поставку.

Системные инженеры.

    1. use case – вид на систему с точки зрения пользователя.


Диаграммы, которые есть в UML

  1. Use-Case – прецедентов использования

  2. class – классов

  3. object – объектов

  4. component - компонентов

  5. deployment – развертывания/размещение

  6. sequence – последовательности

  7. collaborative – сотрудничества

  8. state chart – состояний

  9. activity – действий

  10. package – пакетов


На разных этапах создаются несколько моделей, представляющих виды и использующие разные наборы диаграмм из вышеперечисленных. По времени разработки выделяют несколько моделей:

- use case model модель прецедентов использования и их детализация с помощью динамических диаграмм сотрудничества или последовательности

- analise & design - анализа и проектирования

- implementation & deployment - реализации и развертывания

- тестирования

Первой рисуется диаграмма использования. Затем каждый прецедент детализируется с помощью диаграммы динамического типа (диаграммы последовательности и сотрудничества). На этих диаграммах появляются объекты, которые объединяются в классы. Далее строится диаграмма классов. ЖЦ объектов описывается с помощью диаграммы состояний. Алгоритмы выполнения методов описываются диаграммами действий. Структура данных системы в ключевые моменты времени показывается на диаграмме объектов. Физическая реализация представляется диаграммой компонентов и размещений. Структура всей модели и взаимосвязи в ней изображаются на диаграмме пакетов.

Статические диаграммы


  1. диаграмма классов

совокупность статических элементов (класс, интерфейс) и их связей, представленная в виде графа. Отражает словарь системы.

[Company ]

<*> (заштрихованный ромб)

|

|------ -----------------------------------------------

| | | 1..* | 1..
*

-<*>[Department ] Location |*> [Office ]

0..1 [name: Name ]-------------------------------- [address: String]

[ ] * * [ ]

| * {subset} *| ^ (полый треугольник)

|<------------->| |

member |1..* 1| manager [Headquarters]

[Person ] /-------------> [ContactInfo ]

[name: Name ] / [ ]

[gertContactInfo() ]/ ISecureInfo

[getPersonalRecord() ]------------------------>[PersonalRecord]-----( )
--( ) – интерфейс, т.е. класс поддерживает интерфейс


  1. диаграмма объектов

Показывает объекты и ассоциации между ними.

Диаграмма объектов – это экземпляр диаграммы классов, представляющий кадр детализированного состояния системы в конкретный момент времени, поэтому роль диаграммы объектов ограничена только показом структур данных.
[c: Company ]

/

/

[d1 : Department ]

[name = “Sales” ]

|

|

[d2: Department ] manager

[name: “US Sales”] ---------- [p: Person ]

[name = “Ivan” ] --- [: ContactInfo ]
Есть один безымянный объект.

  1. диаграмма компонентов

Задает физическую структуру реализации системы.

Показывает только типы компонентов, но не экземпляры. Для экземпляров лучше использовать диаграммы развертывания.

На диаграмме компонентов показываются компоненты и зависимости между ними, например: файл txt ассоциируется с exe, а он ассоциируется с dll .
Index.html find.html find.exe

[ \ ] (комментарий) [ \] |----------|

[------------] [--------] ----->[ ] |

[------------]--------------------->[------- ] | |

[------------]<> [--------] [ ] |

|

/ (пункт. стрелка вниз)

/ eng.dll

[ ]

[колесики ]

[ ]

Здесь только фалы и зависимости


  1. диаграмма развертывания

показывает конфигурацию вычислительных средств во время выполнения и объекты, которые на них размещены.

Компоненты, которые не существуют во время выполнения, здесь не показываются. Их можно представить на предыдущей диаграмме.

__________________________________________

/ __________________________________________ /

[ AdminServer: HostMachine ] |

[ [<> ] ] |

[ /------->[ ] ] |

[ ---------/ [meentingsDB ] ] |

[ | ] |

[ |---------------- | IReservation ] |

[ [ ] | ] |

[ | : Scheduler | ] |

[ [ ] |------------------o ] |

[ |------------------- ^ ] |

[____________________________|_____________] |

|

TCP |

_________________________\________________

/ _________________________\________________ /

[ \ ] |

[ Joes’s Machine:PC \ ] |

[ |--------------- ] |

[ [ ] | ] |

[ | : Planner | ] |

[ [ ] | ] |

[ |---------------| ] |

[____________________________________________] |

Динамические диаграммы


  1. Диаграмма состояний

Показывает последовательность состояний, в которых объект или взаимодействие проходит в течение ЖЦ.

Диаграммы состояний представляет поведение, ориентированное на событие.

Состояния могут быть составными (иметь подсостояния). Переходы между подсостояниями могут выполняться параллельно.

Есть начальное состояние (большая точка), состояние (прямоугольник со скругленными урямоугольник со скругленными нхронизации.но.нты и зависимости между ними.Структура всей модели и взаимосвязи в ней изображаются); конечное (точка в круге).

->|-(-->()->()--)-->|->

о -> ->|-(-->()->()--)-->|->(о)
Возможно указывание символа синхронизации.

Лучше всего показывает поведение, ориентированное на событие.
Пример: состояние телефонного аппарата

( o )Off

^

On |

o----------->[Idle ]------------------onHock

[keepAlive/check() ] |

^ | стрелка вниз

|-------------------------- [Working ]

offHock/reclaimConnection() [(connecting) read(3) ]

[ \ “[signalOK]” ]

[ \>(connected) ]
События.действия onHock, offHock/reclaimConnection

Внутренний переходы (событие/действие) keepAlive/check()

[signalOK] - условие


  1. диаграмма последовательности

Представляет взаимодействие, являющееся набором сообщений, которыми обмениваются объекты при выполнении некой операции. В отличие от остальных диаграмм, имеет два измерения: по вертикале измеряется время. Лучше всего представляет поведение, ориентированное а время.

На рисунке: По горизонтали прямоугольники объектов, от каждого объекта вниз ось времени, между осями стрелки взаимодействий.


[ t: Thread ] [:Toolkit ]

a1:run(3)|(пунктир) | (пунктир)

->[ ] ------------>[ ]----callbackloop()

[ ] []run() [ ] <-| <>

[ ] [ ]------------------------>[ p:Peer ]

[ ] [ ] /

[ ] [ ] / (пунктир)

[ ] [ [ ]----------------------->[ ]

[ ] [ [ ]<-----------------------[ ] (пунктир)

[ ] [ ] | (пунктир)

| (пунктир) -------------------------->X

X <>

a1:run(3) – сообщение, приводящее к вызову метода

---> – линия жизни объекта (пунктирная)

[ ] – условие ([] run())

[] – рекурсия

Х – его конец.

|

[] – линия активности

|
[ с: Client ]

|(пунктир) {transient}

[ ] ------------>[:Transaction] [p:ODBCProxy]

[ ] | (пунктир) /

[ ] <>[ ] setValue(d,34) | (пунктир)

[ ] [ ]----------------->[ ]

[ ] [ ] /

[ ] [ ] setValue(a, 25) / (пунктир)

[ ] committed [ ]----------------->[ ]

[ ] ----------- [ ] |

[ ] [ ] | (пунктир)

[ ] <> | (пунктир)

-----------------------Х

| (пунктир)

Transient – временный объект



  1. Диаграммы сотрудничества

Представляет сотрудничество, которое является набором объектов, связанных в определенном контексте, и взаимодействие, т.е. набор сообщений.

Представляет поведение, ориентированное на сообщения.

Изображаются объекты, ассоциации между ними, и сообщения.
[c:Client ]

|

| | 1. <>

| | 2.setAction(1,0)

| | 3. <>

| |(стрелка вниз с чорным окончанием =)

|<> <>

[:Transaction ]-----------------------------------[p:ODBCProxy ]

{transient} --

2.1: setValue (a, 34)

2.2: setValue (b, 25)
На этой диаграмме лучше видно, какие объекты взаимодействуют в сотрудничестве.

Еще здесь лучше виден протокол действий объекта (сообщения, с которыми или к которым объект обращается).

«Минус» - не наглядно во времени.


  1. Диаграмма активности (действий)

Частный случай диаграммы состояний, в котором все состояния являются состояниями действия, а большинство переходов вызвано завершением действий в предыдущих состояниях. Диаграмма активности лучше описывает поведение, ориентированное на действия: алгоритмические процессы, происходящие внутри объектов, в отличие от процессов, инициируемых внешними событиями. Аналог блок-схем, позволяет описывать алгоритмы.

Синхронные события – диаграмма активности.

Асинхронные – диаграмма состояний.
o - начальное

(o) - заключительное

( ) - состояние . здесь пишут, что нужно сделать или что делается.

В обозначениях появляется ромб – проверка условия.

| (стрелка вниз)

--<>-- - решение

| |
Состояний ( ) могут порождать объекты --->[ ] (пунктирная стрелка )
Вся диаграмма разделяется на полосы – swimline (плавательные дорожки) – вертикальные пунктирные линии (ими разделяются предметные области).
ОК | Бухгалтерия | Деканат

<--|------------------------|-----------o

( ) | |

-----|----------->( о ) |
Диаграммы прецедентов использования

Показывает связи между действующими лицами (акторами) и функциональными возможностями (прецедентами использования) с целью представить функциональные возможности системы при появлении внешних воздействий на систему. На диаграмме показываются ассоциации между акторами и прецедентами, обобщения и зависимости между прецедентами использования.

Акторы показываются человечками. Прецеденты – овалами.

Прямоугольник объединяет прецеденты, относящиеся к одной системе т.е. это как бы граница системы. Связи обобщения (полая стрелка) можно использовать и для акторов.

(пунктир) <>

(Разместить заказ )<---------------------(Разместить срочный заказ )

(пунктир) ------------------>(проверить пользователя )<|---------- (полая)

<> ^ ^ (проверить пароль)

(отправить заказ) ---------- ------ (проверить глаз)

пунктирная стрелка <> (полая)
<> включает указанное поведение как часть

<> расширяет поведение с данной точки зрения

<|--- - обобщение - делает тоже, но добавляет свое поведение

Диаграмма пакетов

Применяется для группирования элементов модели. Указываются связи между пакетами и причина связи (например, import). Обязательно для больших проектов.
---------- --------------

|GUI |____________ |Policies |____________

|+Window |<> |+OrderRules |

|+Form |----------------|-GUI::Window |

|#eventHandle ________| (пунктир) |______________________|

^ (полая) ^ (полая) ____ ^

| |------------ | | |

| |MacGUI | | <>

| ------------ |

-------------- --------------

|WindowsGUI|________ |Client |________

|+GUI::Window | |+OrderForm |

|+Form | |+Tracing Form |

|+VBForm __________| |-Order____________|

Моделирование шаблонов проектирования


1. Моделирование параметризации

Шаблон «Меню»

Шаблон проектирование – это параметризованное сотрудничество объектов. (пунктирный прямоугольник).

Показаны классы и их роли в этом сотрудничестве.

(пунктир) [Client ] (пунктир)

client -------------- [Command]

[Application ]--------------(Command [Invoker ]

command / |------------ [Receiver ]

[PasteCommand ]------------ / | \

command / | \Receiver

[OpenCommand ] ----------------| -------------- [Document]

| Invoker

[MenuItem]


2. Моделирование структуры

Диаграмма классов, показывающая структуру шаблона.
---------------------------------------------------[Client ]

|Стрелка вниз | стрелка вниз

[Invoker ]<>----------->[Command]------> [Receiver ]

[addCommand() ] [execute() ] [action() ]
3. Моделирование поведения

Диаграмма последовательности.
[:Client ] [c:Command] [:Invoker] [:Receiver]

| (пунктир) new | | |

[ ]-------------------->[ ] | |

[ ] storeCommand | (c) | |

[ ]--------------------------------->[ ] |

[ ] | execute() | |

[ ] [ ]<--------[ ] action() |

[ ] [ ]--------------------->[ ]

| | | |

Похожие:

Модели, виды и диаграммы uml iconВопросы по курсу ск7
Функциональная модель, область применения. Диаграммы потоков данных. Их аналог в uml
Модели, виды и диаграммы uml iconИнтервью по сбору фактов. Упражнения по построению функциональной модели в ходе интервью
Зачем нужно моделирование. Модель как проекция. Цель, границы и точка зрения модели. Различные подходы к моделированию (конечные...
Модели, виды и диаграммы uml iconЦель проекта Сократить время создания и изменение uml-диаграмм типа Activity Diagram с помощью редактора uml-диаграмм. Задачи проекта
Сократить время создания и изменение uml-диаграмм типа Activity Diagram с помощью редактора uml-диаграмм
Модели, виды и диаграммы uml iconПонятие модели. Информационная модель. Виды информационных моделей (на примерах). Реализация информационных моделей на компьютере. Пример применения электронной таблицы в качестве инструмента математического моделирования
Ают и используют модели окружающего мира. Модели позволяют представить в наглядной форме объекты и процессы, недоступные для непосредственного...
Модели, виды и диаграммы uml iconЛекция №5 по учебной дисциплине: "Информационное обеспечение дизайн проектирования"
Было отмечено, что модель uml это набор диаграмм. В этой лекции мы рассмотрим такие вопросы: почему нужно несколько видов диаграмм;...
Модели, виды и диаграммы uml iconПостроение графиков функций и диаграмм
...
Модели, виды и диаграммы uml iconГраф-модели для анализа сходства структур систем на основе их сложности
Предложенные модели позволили развить подструктурный подход к анализу сходства графов и выделить новые виды отношений сходства графовых...
Модели, виды и диаграммы uml iconРешение системы уравнений Операционно-стоимостной анализ процесса
...
Модели, виды и диаграммы uml iconПрактическая работа №8 rrose. Создание диаграммы размещения цель и
Цель и содержание работы: научиться создавать диаграммы размещения, добавлять узлы, связи и процессы
Модели, виды и диаграммы uml iconЛекция «Общая характеристика компонентов диаграммы»
Компонент для создания диаграммы tdbchart находится на странице компонентов Data Controls. Двойным щелчком щелкаем на tdbchart
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org