Клуб разработчиков программных систем

Темы | Статьи | Рейтинги |

UML диаграммы в Rational Rose

UML диаграммы в Rational Rose

Сергей Трофимов

08.09.2002

Rational Rose - мощное CASE-средство для проектирования программных систем любой сложности. Одним из достоинств этого программного продукта будет возможность использования диаграмм на языке UML. Можно сказать, что Rational Rose является графическим редактором UML диаграмм.

В распоряжение проектировщика системы Rational Rose предоставляет следующие типы диаграмм, последовательное создание которых позволяет получить полное представление о всей проектируемой системе и об отдельных ее компонентах :

  • Use case diagram (диаграммы прецедентов);

  • Deployment diagram (диаграммы топологии);

  • Statechart diagram (диаграммы состояний);

  • Activity diagram (диаграммы активности);

  • Interaction diagram (диаграммы взаимодействия);

  • Sequence diagram (диаграммы последовательностей действий);

  • Collaboration diagram (диаграммы сотрудничества);

  • Class diagram (диаграммы классов);

  • Component diagram (диаграммы компонент).

Use case diagram (диаграммы прецедентов)

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

Каждая такая диаграмма или, как ее обычно называют, каждый Use case – это описание сценария поведения, которому следуют действующие лица (Actors).Пример UML диаграммы Use Case

 Данный тип диаграмм используется при описании бизнес процессов автоматизируемой предметной области, определении требований к будущей программной системе. Отражает объекты как системы, так и предметной области и задачи, ими выполняемые.

 

Deployment diagram (диаграммы топологии)

Этот вид диаграмм предназначен для анализа аппаратной части системы, то есть «железа», а не программ. В прямом переводе с английского Deployment означает «развертывание», но термин «топология» точнее отражает сущность этого типа диаграмм.Пример Deployment UML диаграммы

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

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

State Maсhine diagram (диаграммы состояний)

Каждый объект системы, обладающий определенным поведением, может находится в определенных состояниях, переходить из состояния в состояние, совершая определенные действия в процессе реализации сценария поведения объекта. Поведение большинства объектов реальных систем можно  представить с точки зрения теории конечных автоматов, то есть поведение объекта отражается в его состояниях, и данный тип диаграмм позволяет отразить это графически. Для этого используется два вида диаграмм: Statechart diagram (дмаграмма состояний) и Activity diagram (диаграмма активности)

Statechart diagram (диаграмма состояний)

Пример UML диаграммы StatechartДиаграмма состояний (Statechart) предназначена для отображения состояний объектов системы, имеющих сложную модель поведения. Это одна из двух диаграмм State Machine, доступ к которой осуществляется из одного пункта меню. 

Activity diagram (диаграммы активности)

Пример UML Activity диаграммыЭто дальнейшее развитие диаграммы состояний. Фактически данный тип диаграмм может использоваться и для отражения состояний моделируемого объекта, однако, основное назначение Activity diagram в том, чтобы отражать бизнес-процессы объекта. Этот тип диаграмм позволяет показать не только последовательность процессов, но и ветвление и даже синхронизацию процессов.

Этот тип диаграмм позволяет проектировать алгоритмы поведения объектов любой сложности, в том числе может использоваться для составления блок-схем.

Interaction diagram (диаграммы взаимодействия)

Этот тип диаграмм включает в себя диаграммы Sequence diagram (диаграммы последовательностей действий) и Collaboration diagram (диаграммы сотрудничества). Эти диаграммы позволяют с разных точек зрения рассмотреть взаимодействие объектов в создаваемой системе.

Sequence diagram (диаграммы последовательностей действий)

Пример Sequence диаграммы UMLВзаимодействие объектов в системе происходит посредством приема и передачи сообщений объектами-клиентами и обработки этих сообщений объектами-серверами. При этом в разных ситуациях одни и те же объекты могут выступать и в качестве клиентов, и в качестве серверов.

Данный тип диаграмм позволяет отразить последовательность передачи сообщений между объектами.

Этот тип диаграммы не акцентирует внимание на конкретном взаимодействии, главный акцент уделяется последовательности приема/передачи сообщений. Для того чтобы окинуть взглядом все взаимосвязи объектов, служит Collaboration diagram.

 Collaboration diagram (диаграммы сотрудничества)

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

 По причине того, что диаграммы Sequence и Collaboration являются разными взглядами на одни и те же процессы, Rational Rose позволяет создавать из Sequence диаграммы диаграмму Collaboration и наоборот, а также производит автоматическую синхронизацию этих диаграмм.

Class diagram (диаграммы классов)

 Этот тип диаграмм позволяет создавать логическое представление системы, на основе которого создается исходный код описанных классов.

Значки диаграммы позволяют отображать сложную иерархию систем, взаимосвязи классов (Classes) и интерфейсов (Interfaces). Данный тип диаграмм противоположен по содержанию диаграмме Collaboration, на которомПример UML диаграммы классов в нотации Booch отображаются объекты системы. Rational Rose позволяет создавать классы при помощи данного типа диаграмм в различных нотациях. В нотации, предложенной Г. Бучем, которая так и называется Booch, классы изображаются в виде чего-то нечеткого, похожего на облако. Таким образом Г.Буч пытается показать, что класс – это лишь шаблон, по которому в дальнейшем будет создан конкретный объект. 

 

Пример UML диаграммы классов в OMT нотации

Нотация OMT, на мой взгляд, более строга. 

 

 

 

Пример UML диаграммы классов в унифицированной нотации

И конечно же, Rational Rose позволяет создавать диаграмму классов в унифицированной нотации

 

 

 

Component diagram (диаграммы компонентов)

Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы. Часто данный тип диаграмм называют диаграммами модулей.

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

 

11
Статьи по теме:

Моделирование данных в Rational Rose
UML диаграммы в Rational Rose
Купи себе немножечко CASE

Связанные темы:
Rational Rose
UML
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Имя : alexey 03/09/2003 11:02
Сообщение:
подскажите где можно достать (скачать) rational rose или uml visio
Ответов: 5 Последний ответ: 18/09/2006 10:59

Имя : SAN Город : Москва 06/10/2003 18:00
Сообщение:
Все это слишком примитивно. А хотелось бы увидеть, как Вы описываете КОНКРЕТНЫЙ проект, пусть упрощенный или маленький. Для меня главный вопрос, - как корректно составить ИЕРАРХИЮ диаграмм.
Ответов: 1 Последний ответ: 06/10/2003 18:20

Имя : altun 11/11/2003 13:50
Сообщение:
Здравствуйте!
Если можно, то ответьте пожалуйста на вопрос по Rational Rose.
Вопрос:как на диаграмме внутри пакета показать структуру и связи вложенных в него пакетов/классов?
Ответов: 1 Последний ответ: 11/11/2003 13:56

Имя : Алексей Город : Астрахань 24/12/2003 01:04
Сообщение:
Подскажите пожалуйста как на диаграмме последовательности отобразить:
1. ветвление потока;
2. указать стериотип сообщения (FE "Create");
3. указать объект, который не находился при инициализации системы, а появился после сообщения ("Create");
4. как поставить символ удаления объекта.
Заранее благодарю.
Ответов: 3 Последний ответ: 25/12/2003 09:46

Имя : Yerbol Город : Pavlodar 21/01/2004 23:57
Сообщение:
Где можно достать бесплатную версиб Rational Rose
Ответить

Имя : step Город : Cheboxary 28/03/2004 11:33
Сообщение:
Подскажите плз, как можно в диаграммах класса получит доступ к стандартным классам Windows VCL.
Чтоб можно было наследоваться от этих классов.
Ответить

Имя : Лысый Город : Москва 18/05/2004 13:04
Сообщение:
Вопрос такой
я вот прочёл почти до конца вашу книгу по Rational XDE - хорошая книга, многое разъясняет сходу, на примерах
НО каждый пример диаграммы там Вы строите как бы заново, а между тем, как я понимаю, объекты из Interaction diagram как то должны попадать (или соответствовать объектам )в Class diagram, а где ещё должно учитываться нарисованное в Use case diagram...
как быть с этим? я ак понимаю, проэкирование начинается с Use case? потом эти Use case разписываются? или как? и как переходят по эти этапам объекты, которые в итоге должны стать классами?
Спасибо.
Ответов: 4 Последний ответ: 21/05/2004 08:40

Имя : Лысый Город : Москва 02/06/2004 14:15
Сообщение:
в чём отличие Sequence:Instance и Sequense:Role в XDE ?

в хелпе сказано, что инстанс может реслизовать ЮзКейс? как указать такую связь?
Ответить

Имя : Лысый Город : Москва 02/06/2004 17:05
Сообщение:
в asp.net есть такой объект окружения Context, а нём объект User, отвечающий за авторизацию, с методом isInRole() для проверки ролей пользователя
внимание вопрос
Как представить в UML диаграммах этотго Userа? и его методы?
если они вызываются почти в каждой форме?

СПасибо.
Ответить

Имя : Дмитрий Город : Киев 13/08/2004 13:01
Сообщение:
Как на диаграмме активности в ActionState сделать так, чтобы надпись в нем была в несколко строк а не в одну. Пока отображаеться только текст внесенный в поле имя, одной строкой. Заранее благодарен.
Ответить


| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Комментарии к статьям закрыты.

© Trofimov Sergey   http://www.caseclub.ru при цитировании ссылка обязательна.