Проектирование информационных систем с использованием ERWin, BPWin

ВВЕДЕНИЕ



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

• инженерно-техническое проектирование, связанное с разработкой информационно-вычислительной среды и средств инженерного обеспечения системы;

• проработка проектных решений по созданию вычислительной, программной и информационной среды системы, в том числе осуществление математико-компьютерного моделирования информационно-длительных и коммуникационных процессов как для отдельных элементов системы, так и для системы в целом;

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

• технико-экономическое обоснование проектных решений, включающее определение, оптимизацию и обоснование технико-экономических показателей и характеристик проектируемой системы на основе заданных целевых критериев ее функционирования;

• проектная проработка вопросов технической поддержки эксплуатации системы после ее создания и ввода в действие, включающая обеспечение технической поддержки программно-технических средств системы в процессе эксплуатации;

• управление ходом выполнения самого процесса проектирования, обеспечивающее:

- определение состава и этапности проектных работ;

- обеспечение календарного планирования хода выполнения проектных работ в соответствии с их этапностью;

- планирование материальных и людских ресурсов, выделенных на реализацию проекта, увязка ресурсного планирования с календарным;

- контроль хода реализации проекта;

• разработка проектно-конструкторской документации на систему. 

В качестве средств методической и программно-технической поддержки процесса проектирования в соответствии с приведенной классификацией проектных работ можно выделить:

• для проектирования вычислительной среды - методы экспертных оценок и математико-компьютерного моделирования, а также соответствующие программно-технические средства (ПТС) на основе экспертных систем и ПТС для создания моделей вычислительной среды, в том числе ПТС имитационного моделирования;

• для проектирования программной и информационной среды - компьютерное моделирование и CASE-технологии, а также соответствующие ПТС для проведения моделирования и программные CASE-продукты;

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

Объектно-ориентированное проектирование состоит в описании структуры и поведения проектируемой системы, то есть, фактически, в ответе на два основных вопроса:

Из каких частей состоит система.

В чём состоит ответственность каждой из частей.

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

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

Большое значение имеет правильное построение иерархии классов. Одна из известных проблем больших систем, построенных по ООП - технологии - так называемая проблема хрупкости базового класса. Она состоит в том, что на поздних этапах разработки, когда иерархия классов построена и на её основе разработано большое количество кода, оказывается трудно или даже невозможно внести какие-либо изменения в код базовых классов иерархии (от которых порождены все или многие работающие в системе классы). Даже если вносимые изменения не затронут интерфейс базового класса, изменение его поведения может непредсказуемым образом отразиться на классах-потомках. В случае крупной системы разработчик базового класса не просто не в состоянии предугадать последствия изменений, он даже не знает о том, как именно базовый класс используется и от каких особенностей его поведения зависит корректность работы классов-потомков.


1. UML как стандарт для создания модели информационной системы



UML (сокр. от англ. Unified Modeling Language - унифицированный язык моделирования) - язык графического описания создания моделей. UML создавался для использования в процессе разработки программного обеспечения. Главной его целью было достижение единого видения разработчиков и пользователей на создаваемые программы. 

Унифицированный язык моделирования ( Unified Modeling Language ) появился в конце 80-х в начале 90-х годов в основном благодаря усилиям Гради Буча, Джима Рамбо и Ивара Якобсона. В настоящее время консорциум OMG принял этот язык как стандартный язык моделирования, который предоставляет разработчикам четкую нотацию, позволяющую отображать модели общепринятыми и понятными каждому члену проекта графическими элементами.

Производство программного обеспечения – высокозатратный процесс. Стоимость разработки во многом зависит как от объема необходимой работы и от качества принимаемых решений. 

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

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

Создать модель можно в сотни и тысячи раз быстрее, чем создать реальный прототип программы. Модель намного легче и быстрее доработать и изменить, если обсуждение покажет принятые решения не верными. В итоге создание моделей сокращается необходимость переделок в программах, что делает разработку дешевле и быстрее. Использование моделей при создании больших систем, позволяет охватить систему одним взглядом и достичь лучшего его понимания всеми заинтересованными лицами.


2. Особенности работы в средстве проектирования Rational Rose 2003



В CASE-средстве IBM Rational Rose 2003 реализованы общепринятые стандарты на рабочий интерфейс программы, аналогично известным средам визуального программирования. После установки IBM Rational Rose 2003 на компьютер пользователя, что практически не вызывает трудностей у разработчиков, запуск этого средства в среде MS Windows 2000/XP приводит к появлению на экране соответствующего рабочего интерфейса (рис.1).

Рабочий интерфейс программы IBM Rational Rose 2003 состоит из различных элементов, основными из которых являются:

главное меню;

стандартная панель инструментов;

специальная панель инструментов;

окно браузера проекта;

рабочая область изображения диаграммы или окно диаграммы;

окно документации;

окно журнала.

Рассмотрим назначение и основные функции каждого из этих элементов.

Главное меню программы IBM Rational Rose 2003 выполнено в общепринятом стандарте.

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

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

Пользователь может настроить внешний вид этой панели по своему усмотрению. Для этого необходимо выполнить операцию главного меню: ToolsOptions (ИнструментыПараметры), открыть вкладку Toolbars (Панели инструментов) появившегося диалогового окна и нажать кнопку Standard (Стандартная) . В дополнительно открытом окне можно переносить требуемые кнопки из левого списка в правый список, а ненужные кнопки - из правого списка в левый. Данным способом можно показать или скрыть различные кнопки инструментов, а также изменить их размер. Назначение отдельных кнопок стандартной панели инструментов приводится далее при рассмотрении операций главного меню.

Назначение операций главного меню File и Edit

Рабочий интерфейс средства IBM Rational Rose 2003 имеет главное меню, которое позволяет пользователю загружать и сохранять информацию во внешних файлах, изменять внешний вид элементов графического интерфейса, вызывать справочную информацию, вызывать другие диалоговые окна для работы с программой IBM Rational Rose 2003 и т.д. Рассмотрим назначение отдельных пунктов главного меню средства IBM Rational Rose 2003.

Операции главного меню File (Файл) позволяют создавать новые модели в нотации языка UML, загружать и сохранять разрабатываемую модель во внешнем файле, распечатывать на принтере разработанные диаграммы. Назначение операций этого пункта главного меню представлено в таблице 1.

Операции главного меню Edit (Редактирование) позволяют выполнять действия по редактированию элементов модели и их свойств, а также выполнять поиск элементов в рамках разрабатываемого проекта. Назначение операций этого пункта главного меню представлено в таблице 2.



Таблица 1 - Операции пункта главного меню File (Файл)

Название операции меню

Наличие кнопки на стандартной панели

Назначение операции главного меню

New



Создает новую модель IBM Rational Rose 2003. При этом новая модель по умолчанию имеет имя untitled

Open



Вызывает стандартное диалоговое окно открытия внешнего файла с диска. Открыть можно либо файл модели (файл с расширением «mdl»), либо файл подмодели (файл с расширением «ptl»)

Save



Позволяет сохранить разрабатываемую модель во внешнем файле на диске

Save As



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

Save Log As



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

AutoSave Log



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

Clear Log



Очищает содержание журнала

Load Model Workspace



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

Save Model Workspace



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

Save Model Workspace As



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

Units



Позволяет загрузить категорию элементов модели из внешнего файла на диске. Вызывает стандартное диалоговое окно открытия внешнего файла с диска, при этом открыть можно файл с расширением «cat»

Import



Позволяет импортировать информацию из внешних файлов различных форматов, включая файлы моделей, подмоделей, категорий и подсистем

Export Model



Позволяет экспортировать информацию о модели во внешний файл. Вид этого пункта меню зависит от выделенного элемента модели

Update



Позволяет вставить информацию обратного проектирования из внешнего файла с расширением «red» в разрабатываемую модель

Print



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

Print Setup



Вызывается стандартное диалоговое окно макета страницы для настройки свойств печати

Edit Path Map



Вызывает окно задания путей доступа к файлам системы IBM Rational Rose 2003. Как правило, значения путей, установленные по умолчанию, следует изменять только в случае крайней необходимости

<Имена файлов>



Секция с именами последних файлов, с которыми осуществлялась работа в IBM Rational Rose 2003

Exit



Прекращает работу и закрывает IBM Rational Rose 2003



Таблица 2 - Операции пункта главного меню Edit (Редактирование)

Название операции меню

Наличие кнопки на стандартной панели

Назначение операции главного меню

Undo



Отменяет выполнение последнего действия по удалению или перемещению элементов модели

Redo



Восстанавливает изображение диаграммы после отмены выполнения последней операции перемещения

Cut



Вырезает выделенный элемент разрабатываемой модели и помещат его в буфер обмена 

Copy



Копирует выделенный элемент разрабатываемой модели и помещает его в буфер обмена

Paste



Вставляет элемент разрабатываемой модели или его копию из буфера обмена в текущую активную диаграмму

Delete



Удаляет выделенные элементы из текущей диаграммы, но не из разрабатываемой модели

Select All



Выделяет все элементы на текущей диаграмме разрабатываемой модели

Delete from Model



Удаляет все выделенные элементы из разрабатываемой модели

Relocate



Позволяет перемещать или отменять перемещение классов, ассоциаций или компонентов из одного пакета в другой

Find



Вызывает диалоговое меню поиска элемента в разрабатываемой модели по его имени

Reassign



Позволяет заменить выделенный элемент разрабатываемой модели другим элементом модели

Compartment



Позволяет отображать дополнительную информацию об объектах, классах, актерах или пакетах

Change Info



Позволяет изменить тип выделенного элемента на текущей диаграмме на другой тип элемента



Назначение операций главного меню View, Format и Browse

Операции главного меню View (Вид) позволяют отображать на экране различные элементы рабочего интерфейса и изменять графическое представление диаграмм. Назначение операций этого пункта главного меню представлено в следующей таблице (табл. 3).


Таблица 3 - Операции пункта главного меню View (Вид)

Название операции меню

Наличие кнопки на стандартной панели

Назначение операции главного меню

Toolbars



Позволяет настроить внешний вид рабочего интерфейса системы IBM Rational Rose 2003 и содержит дополнительные подпункты: 

Standard - делает видимой/невидимой стандартную панель инструментов (рис. 1.3)

Toolbox - делает видимой/невидимой стандартную панель инструментов текущей активной диаграммы

Configure - вызывает диалоговое окно настройки параметров модели, открытое на вкладке настройки панелей инструментов

Status Bar



Делает видимой/невидимой строку состояния

Documentation



Делает видимым/невидимым окно документации

Browser



Делает видимым/невидимым браузер проекта

Log



Делает видимым/невидимым окно журнала

Editor



Делает видимым/невидимым встроенный текстовый редактор

Time Stamp



Включает/выключает режим отображения времени в записях журнала

Zoom to Selection



Изменяет масштаб изображения выделенных элементов модели , так чтобы они разместились в одном окне

Zoom In



Увеличивает масштаб изображения

Zoom Out



Уменьшает масштаб изображения

Fit in Window



Изменяет (уменьшает) масштаб изображения всех элементов текущей диаграммы, так чтобы все они разместились в одном окне

Undo Fit in Window



Отменяет изменение масштаба изображения размещения элементов в одном окне

Page Breaks



Разбивает текущую диаграмму на страницы для последующей печати

Refresh



Перерисовывает текущую диаграмму

As Booch



Изображает элементы модели в соответствии с нотацией Г. Буча

As OMT



Изображает элементы модели в соответствии с нотацией OMT

As Unified



Изображает элементы модели в соответствии с нотацией языка UML



Операции главного меню Format (Формат) позволяют выполнять действия по изменению внешнего вида элементов модели на различных диаграммах. Назначение операций этого пункта главного меню представлено в следующей таблице (табл. 4).



Таблица 4 - Операции пункта главного меню Format (Формат)

Название операции меню

Назначение операции главного меню

Font Size

Изменяет масштаб используемого шрифта

Font

Вызывает диалоговое окно выбора шрифта

Line Color

Вызывает диалоговое окно выбора цвета линий

Fill Color

Вызывает диалоговое окно выбора цвета для изображения графических элементов диаграмм

Use Fill Color

Включает/выключает режим отображения цвета для изображения графических элементов диаграмм

Automatic Resize

Включает/выключает режим автоматического изменения размеров графических элементов диаграмм для отображения текстовой информации об их свойствах

Stereotype

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

None - стереотип не показывается;

Label - стереотип отображается в форме текста;

Decoration - стереотип отображается в форме небольшой пиктограммы в правом верхнем углу графического элемента;

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

Stereotype Label

Включает/выключает режим отображения текстовых стереотипов для взаимосвязей (ассоциаций, зависимостей и пр.) диаграммы

Show Visibility

Включает/выключает режим отображения кванторов видимости атрибутов и операций выделенных классов

Show Compartment Stereotypes

Включает/выключает режим отображения текстовых стереотипов атрибутов и операций выделенных классов

Show Operation Signature

Включает/выключает режим отображения сигнатуры операций выделенных классов

Show All Attributes

Делает видимыми/невидимыми атрибуты выделенных классов

Show All Operations

Делает видимыми/невидимыми операции выделенных классов 

Suppress Attributes

Делает видимой/невидимой секцию атрибутов выделенных классов. Скрывает секцию атрибутов даже в том случае, когда выбрана опция Show All Attributes

Suppress Operations

Делает видимой/невидимой секцию операций выделенных классов. Скрывает секцию операций даже в том случае, когда выбрана опция Show All Operations

Line Style

Позволяет выбрать способ графического изображения линий взаимосвязей и содержит дополнительные подпункты: 

Rectilinear - линия изображается в форме вертикальных и горизонтальных отрезков;

Oblique - линия изображается в форме наклонных отрезков;

Toggle - промежуточный вариант изображения линии

Layout Diagram

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

Autosize All

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

Layout Selected Shapes

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



Операции главного меню Browse (Обзор) позволяют отображать рабочие окна с различными каноническими диаграммами разрабатываемой модели и вызывать диалоговые окна редактирования свойств отдельных элементов модели. Назначение операций этого пункта главного меню представлено в следующей таблице (табл. 5).



Таблица 5 - Операции пункта главного меню Browse (Обзор)

Название операции меню

Наличие кнопки на стандартной панели

Назначение операции главного меню

Use Case Diagram



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

Class Diagram



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

Component Diagram



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

Deployment Diagram



Позволяет отобразить в рабочем окне диаграмму размещения разрабатываемой модели

Interaction Diagram



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

State Machine Diagram



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

Expand



Отображает в рабочем окне первую из диаграмм выделенного пакета модели

Parent



Отображает в рабочем окне родителя выделенной диаграммы модели

Specification



Вызывает диалоговое окно свойств выделенного элемента модели

Top Level



Отображает в рабочем окне диаграмму самого верхнего уровня для текущей диаграммы модели

Referenced Item



Отображает в рабочем окне диаграмму классов, содержащую класс для выделенного объекта модели

Previous Diagram



Отображает в рабочем окне предыдущую диаграмму модели

Create Message Trace Diagram



Позволяет создать диаграмму трассировки сообщений



Окно браузера проекта

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

Браузер проекта организует представления модели в виде иерархической структуры, которая упрощает навигацию и позволяет отыскать любой элемент модели в проекте. При этом самая верхняя строка браузера проекта содержит имя разрабатываемого проекта. Любой элемент, который разработчик добавляет в модель, сразу отображается в окне браузера. Соответственно, выбрав элемент в окне браузера, мы можем его визуализировать в окне диаграммы или изменить его спецификацию. Браузер проекта позволяет также организовывать элементы модели в пакеты и перемещать элементы между различными представлениями модели. При желании окно браузера можно расположить в другом месте рабочего интерфейса либо скрыть вовсе, используя для этого операцию Browser главного меню View (Вид). Можно также изменить размеры браузера, переместив мышью границу его внешней рамки. Иерархическое представление структуры каждого разрабатываемого проекта организовано в форме 4-х представлений:

Use Case View - представление вариантов использования, в котором содержатся диаграммы вариантов использования и их реализации в виде вариантов взаимодействия;

Logical View - логическое представление, в котором содержатся диаграммы классов, диаграммы состояний и диаграммы деятельности;

Component View - представление компонентов, в котором содержатся диаграммы компонентов разрабатываемой модели;

Deployment View - представление развертывания, в котором содержится единственная диаграмма развертывания разрабатываемой модели.





Рис. 1 - Внешний вид браузера проекта с иерархическим представление его структуры


При создании нового проекта указанная иерархическая структура формируется программой автоматически.

Специальная панель инструментов и окно диаграммы

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

Расположение специальной панели инструментов можно изменять, переместив рамку панели в нужное место. Программа IBM Rational Rose 2003 позволяет настраивать состав кнопок данной панели, добавляя или удаляя отдельные кнопки, соответствующие тем или иным инструментам. Назначение отдельных кнопок различных панелей инструментов будут рассмотрены далее при изложении особенностей построения различных канонических диаграмм в соответствующих лекциях курса. Названия кнопок данной панели всегда можно узнать из всплывающих подсказок, появляющихся после задержки указателя мыши над соответствующей кнопкой.

Внешний вид специальной панели инструментов зависит не только от выбора типа разрабатываемой диаграммы, но от выбора графической нотации для изображения самих элементов этих диаграмм. В IBM Rational Rose 2003 реализованы три таких нотации: UML, OMT и Booch. Хотя последние две нотации практически не используются на практике, разработчики неизменно включают их в очередные версии программы IBM Rational Rose 2003, видимо, отдавая этим дань памяти авторам первых версий языка UML. При использовании отдельной нотации одна и та же диаграмма может быть представлена различным образом, для этого достаточно выбрать желаемое представление через соответствующую операцию главного меню View (Вид). При этом никаких дополнительных действий выполнять не требуется - диаграмма преобразуется в выбранную нотацию автоматически. Однако, рассматривая использование программы IBM Rational Rose 2003 только в контексте языка UML, можно оставить без внимания особенности двух других нотаций, которые отражают эволюционный аспект этого программного инструмента.

Окно диаграммы является основной графической областью программы IBM Rational Rose 2003, в которой визуализируются различные представления модели проекта. По умолчанию окно диаграммы располагается в правой части рабочего интерфейса, однако его расположение и размеры также можно изменить. При разработке нового проекта, если не был использован мастер проектов, окно диаграммы представляет собой чистую область, не содержащую никаких элементов модели (рис. 1). По мере разработки отдельных диаграмм в окне диаграммы будут располагаться соответствующие графические элементы модели 

Название диаграммы, которая является активной и располагается в данном окне, которое развернуто на всю область диаграммы, указывается в строке заголовка программы IBM Rational Rose 2003. Если же окно диаграммы не развернуто на всю область диаграммы, то название диаграммы указывается в строке заголовка окна диаграммы.Одновременно в графической области диаграмм могут присутствовать несколько окон диаграмм; при этом активной может быть только одна из них. Переключение между диаграммами можно осуществить выбором нужного представления на стандартной панели инструментов, а также с помощью выделения требуемой диаграммы в браузере проекта или с помощью операций главного меню Window (Окно). При активизации отдельного вида диаграммы изменяется внешний вид специальной панели инструментов, которая настраивается под конкретный вид диаграммы.

Окно документации и окно журнала

Окно документации по умолчанию должно присутствовать на экране после загрузки программы. Если по какой-то причине оно отсутствует, то его можно отобразить через пункт меню ViewDocumentation (ВидДокументация), после чего окно документации появится ниже окна браузера проекта (рис. 2). Окно документации, как следует из его названия, предназначено для документирования элементов разрабатываемой модели. В него можно записывать различную текстовую информацию, и что важно - на русском языке. Эта информация при генерации программного кода преобразуется в комментарии и никак не влияет на логику выполнения программного кода.





Рис. 2 - Внешний вид окна документации с информацией о диаграмме деятельности модели



В окне документации активизируется та информация, которая относится к выделенному элементу диаграммы или к диаграмме в целом. При этом выделить элемент можно либо в окне браузера, либо непосредственно в окне диаграммы. При добавлении нового элемента на диаграмму, например, класса, документация к нему является пустой (No documentation). В последующем разработчик самостоятельно вносит необходимую пояснительную информацию, которая запоминается программой и может быть изменена в ходе работы над проектом. Так же, как и для других окон рабочего интерфейса программы IBM Rational Rose 2003, разработчик по своему усмотрению может изменять размеры и положение окна документации.

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

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


3. Анализ задачи



3.1 Описание предметной области



Что такое модель

Модель – это фиксация взгляда ее создателя на вещи реального мира. Или упрощенное представление реальности. Это всегда абстракция на некотором уровне детализации. В большинстве случаев модель можно сделать более детальной, но, зачастую более детальная модель теряет лаконичность, система не становится более понятной, и к тому же увеличивает трудоемкость создания самой модели.

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

Модели и UML 

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

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

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

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

Предметная область:

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

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



3.2 Выбор средств разработки и реализации



Для разработки лабораторного практикума используются следующие средства и технологии: Rational Rose 2003, Microsoft Word 2007.

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

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

Use case diagram (диаграмма вариантов использования (прецедентов)); 

Activity diagram (диаграмма видов деятельности); 

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

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

Collaboration diagram (диаграмма кооперации); 

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

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

Deployment diagram (диаграмма размещений); 

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

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

Microsoft Word 2007 - это текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритмов. Текстовый процессор, выпускается корпорацией Microsoft в составе пакета Microsoft Office.



3.3 Постановка задачи



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

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

- диаграммы вариантов использования

- диаграммы видов деятельности

- диаграммы последовательности

- диаграммы кооперации

- диаграммы классов

- диаграммы компонентов

- диаграммы размещений

- диаграммы состояний.


4. Разработка лабораторного практикума



4.1 Лабораторная работа № 1



Цель работы: построить в Rational Rose общую модель будущей ИС по представленной предметной области в виде диаграммы вариантов использования. Один из вариантов использования декомпозировать диаграммой видов деятельности. 

Use case diagram (Диаграмма вариантов использования).

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

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

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

	Для разработки диаграммы вариантов использования модели в среде IBM Rational Rose 2003 необходимо активизировать соответствующую диаграмму в окне диаграммы. Это можно сделать следующими способами:

раскрыть представление вариантов использования Use Case View в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);

с помощью операции главного меню BrowseUse Case Diagram (БраузерДиаграмма вариантов использования).

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



Таблица 6 - Назначение кнопок специальной панели инструментов для диаграммы вариантов использования

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



Package

Добавляет на диаграмму пакет



Use Case

Добавляет на диаграмму вариант использования



Actor

Добавляет на диаграмму актера



Unidirectional Association

Добавляет на диаграмму направленную ассоциацию



Dependency or Instantiates

Добавляет на диаграмму отношение зависимости



Generalization

Добавляет на диаграмму отношение обобщения

	
4.1.1 Создание диаграммы вариантов использования

1. Для создания диаграммы вариантов использования нужно щелкнуть правой кнопкой мыши на пакете представления Вариантов Использования в браузере (рис. 3).





Рис. 3 - Выбор Пакета представления вариантов использования





Рис. 4 - Создание Use Case диаграммы



2. Во всплывающем меню выберите пункт New -> Use Case Diagram (рис. 4).

3. Выделив новую диаграмму, введите её имя.

4. Дважды щелкнув по названию диаграммы, откройте её.

5. С помощью кнопки Use Case панели инструментов поместите на диаграмму новый вариант использования.

6.Выделив новый вариант использования, введите его имя «Ввести новый заказ».

7. Добавить так же следующие варианты использования: «Изменить существующий заказ», «Начать инвентарную опись», «Обновить инвентарную опись», «Оформить заказ», «Отклонить заказ»

8. С помощью кнопки Actor  поместите на диаграмму следующие действующие лица: «Продавец», «Бухгалтерская система», «Директор магазина», «Менеджер магазина».

9. С помощью кнопки Unidirectional Association  добавить ассоциации.

10. С помощью кнопки Generalization  панели инструментов добавьте ассоциацию между вариантом использования «Отклонить заказ» и вариантом использования «Оформить заказ». Связь обобщения означает, что вариант использования «Отклонить заказ» при необходимости дополняет функциональные возможности варианта использования «Оформить заказ».



Рис. 10.11. Щелкните правой кнопкой мыши на новой связи между вариантами использования, в открывшемся меню выберите пункт Open Specification. В раскрывшемся списке стереотипов введите слово «extends» (расширение), затем нажмите ОК (рис. 5).




Рис. 5 - Диаграмма вариантов использования



4.1.2 Создание диаграммы видов деятельности

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

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

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

Диаграмма деятельности в среде IBM Rational Rose 2003, так же как и диаграмма состояний, может относиться к отдельному классу, операции класса, варианту использования, пакету или представлению. Общие рекомендации по построению диаграммы деятельности были рассмотрены в лекции 11 курса «Основы объектно-ориентированного моделирования в нотации UML». Для того чтобы построить диаграмму деятельности, ее вначале необходимо создать и активизировать.

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

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

Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню: NewActivity Diagram (НоваяДиаграмма деятельности).

Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case View) и выбрать вариант использования, после чего выполнить операцию контекстного меню: NewActivity Diagram (НоваяДиаграмма деятельности).

Выполнить операцию главного меню: BrowseState Machine Diagram (ОбзорДиаграмма состояний), после следует чего выбрать представление и тип разрабатываемой диаграммы - диаграмма деятельности.

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



Таблица 7 - Назначение кнопок специальной панели инструментов для диаграммы видов деятельности

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



State

Добавляет на диаграмму состояние



Activity

Добавляет на диаграмму деятельность



Start State

Добавляет на диаграмму начальное состояние



End State

Добавляет на диаграмму конечное состояние





State Transition

Добавляет на диаграмму переход



Transition to Self

Добавляет на диаграмму рефлексивный переход





Horizontal Synchronization

Добавляет на диаграмму горизонтально расположенный символ синхронизации



Vertical Synchronization

Vertical SynchronizationДобавляет на диаграмму вертикально расположенный символ синхронизации



Decision

Добавляет на диаграмму символ принятия решения для альтернативных переходов



Swimlane

Добавляет на диаграмму дорожку



Object

Добавляет на диаграмму объект (по умолчанию отсутствует)



Object Flow

Добавляет на диаграмму стрелку потока объектов (по умолчанию отсутствует)



Business Activity

Добавляет на диаграмму бизнес-деятельность (по умолчанию отсутствует)



Business Transaction

Добавляет на диаграмму бизнес-транзакцию (по умолчанию отсутствует)



1. Найдите в браузере вариант использования (use case) Изменить существующий заказ

2. В открывшемся меня выберите пункт Sub Diagram -> New Activity Diagramm

3. Добавьте на диаграмму начальное состояние 

4. Добавьте на диаграмму два конечных состояния 

5. Добавьте на диаграмму следующие виды деятельностей : «Получение запроса на изменение заказа», «Ввод номера заказа», «Отображение формы заказа», «Детализация данных по позициям заказа», «Детализация данных по покупателю», «Запомнить изменения», «Направить информацию в бухгалтерию и на склад»

6. Добавьте на диаграмму два символа горизонтальной синхронизации 

7. Добавьте на диаграмму символ принятия решений 

8. Используя переходы  приведите диаграмму к виду, показанному на рисунке 6.




Рис. 6 - Диаграмма видов деятельности



4.2 Лабораторная работа №2



4.2.1 Создание диаграммы взаимодействий

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


4.2.2 Создание диаграммы последовательностей

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

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

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

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

Особенности разработки диаграммы последовательности в среде IBM Rational Rose

Диаграмма последовательности является формой визуализации взаимодействия в модели и, как и диаграмма кооперации, оперирует объектами и сообщениями. Особенность работы в среде IBM Rational Rose 2003 заключается в том, что этот вид канонической диаграммы может быть создан автоматически после построения диаграммы кооперации и нажатия клавиши <F5>. С помощью этой же клавиши осуществляется переключение между диаграммами последовательности и кооперации в модели.

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

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

Выполнить операцию главного меню: BrowseInteraction Diagram (БраузерДиаграмма взаимодействия) и выбрать для построения новую диаграмму последовательности.

Выполнить операцию контекстного меню: NewSequence Diagram (НоваяДиаграмма последовательности) для логического представления или представления вариантов использования в браузере проекта.

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



Таблица 8 - Назначение кнопок

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



Object

Добавляет на диаграмму объект



Object Message

Добавляет на диаграмму простое сообщение



Message To Self

Добавляет на диаграмму рефлексивное сообщение



Return Message

Добавляет на диаграмму сообщение типа возврата из вызова процедуры



Destruction Marker

Добавляет на диаграмму символ уничтожения объекта



Procedure Call

Добавляет на диаграмму сообщение типа вызова процедуры (по умолчанию отсутствует)



Asynchronous Message 

Добавляет на диаграмму асинхронное сообщение (по умолчанию отсутствует)


1. Щелкните правой кнопкой на варианте использования «Ввести новый заказ» в браузере.

2. В открывшемся меню выберите пункт New -> Sequence Diagramm.

3. Назовите новую диаграмму «Добавить заказ».

4. Дважды щелкнув по ней, откройте ее.

5. Перетащите действующее лицо «Продавец» из браузера на диаграмму.

6. Поместите объект  в верхнюю часть диаграммы, назовите его «Выбор варианта заказа».

7. Создайте еще четыре объекта, назовите их «Форма деталей заказа», «Менеджер по заказам», «Номер заказа» и «Администратор транзакций», соответственно.

8. Создайте сообщение, нажав кнопку Object Message  и проведя мышью линии жизни действующего лица «Продавец» к линии жизни объекта «Выбор вариантов заказа».

9. Выделив сообщение, введите его имя «Создать новый заказ».

10. Так же поместите на диаграмму следующие сообщения:

- «Открыть форму», между «Выбор варианта заказа» и «Форма деталей заказа»

- «Ввести номер заказа, покупателя, предметы заказа», между «Продавец» и «Форма деталей заказа»

- «Сохранить заказ», между «Продавец» и «Форма деталей заказа»

- «Сохранить заказ», между «Форма деталей заказа» и «Менеджер по заказам»

- «Создать новый пустой заказ», между «Менеджер по заказам» и «Номер заказа»

- «Указать номер заказа, покупателя, предметы заказа» между «Менеджер по заказам» и «Номер заказа»

- «Сохранить заказ», между «Менеджер по заказам» и «Администратор транзакций»

- «Получить информацию о заказе», между «Номер заказа» и «Администратор транзакций».

11. Также добавить рефлексивное сообщение  на «Администратор транзакций»

Соотнесение объектов с классами:

12. Щелкните правой кнопкой на объекте «Выбор варианта заказа».

13. В открывшемся меню выберите пункт Open Specification.

14. В раскрывшемся списке классов выберите пункт New.Появится окно спецификации классов, в поле Name введите «Выбор заказа».



Рис.20. Соотнесение объектов с классами15. Проделайте те же действия с оставшимися объектами, согласно рисунку 7.





Рис. 7 - Диаграмма последовательности


4.2.3 Создание диаграммы кооперации

Collaboration diagram (диаграмма кооперации)

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

На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта и типы этих сообщений.

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

Особенности разработки диаграмм кооперации в среде IBM Rational Rose 2003

Активизировать рабочее окно диаграммы кооперации в программе IBM Rational Rose 2003 можно несколькими способами:

Щелкнуть на кнопке с изображением диаграммы взаимодействия на стандартной панели инструментов и выбрать для построения новую диаграмму кооперации.

Выполнить операцию главного меню: BrowseInteraction Diagram (БраузерДиаграмма взаимодействия) и выбрать для построения новую диаграмму кооперации.

Выполнить операцию контекстного меню: NewCollaboration Diagram (НоваяДиаграмма кооперации) для логического представления или представления вариантов использования в браузере проекта.

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


Таблица 9 - Назначение кнопок специальной панели инструментов диаграммы кооперации

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



Object

Добавляет на диаграмму объект



Class Instance

Добавляет на диаграмму экземпляр класса



Object Link

Добавляет на диаграмму связь



Link To Self

Добавляет на диаграмму рефлексивную связь



Link Message

Добавляет на связь диаграммы прямое сообщение



Reverse Link Message

Добавляет на связь диаграммы обратное сообщение



Data Token

Добавляет на связь диаграммы элемент прямого потока данных



Reverse Data Token

Добавляет на связь диаграммы элемент обратного потока данных



Так же, диаграмму кооперации можно получить из диаграммы последовательности нажатием клавиши F5 (рис. 8).




Рис. 8 - Диаграмма кооперации



4.3 Лабораторная работа №3



Особенности разработки диаграмм классов в среде IBM Rational Rose 2003

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

окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта; 

щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;

раскрыть логическое представление (Logical View) в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);

выполнить операцию главного меню: BrowseClass Diagram (ОбзорДиаграмма классов).

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



Таблица 10 - Назначение кнопок специальной панели инструментов для диаграммы классов

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



Class

Добавляет на диаграмму класс



Interface

Добавляет на диаграмму интерфейс



Unidirectional Association

Добавляет на диаграмму направленную ассоциацию



Association Class

Добавляет на диаграмму ассоциацию класс 



Package

Добавляет на диаграмму пакет



Dependency or Instantiates

Добавляет на диаграмму отношение зависимости



Generalization

Добавляет на диаграмму отношение обобщения



Realize

Добавляет на диаграмму отношение реализации


4.3.1 Создание диаграммы классов

1. Щелкните правой кнопкой мыши на логическом представлении браузера. В открывшемся меню выберите New -> Package.

2. Назовите новый пакет «Сущности».

3. Создайте так же пакеты «Границы» и «Контроль».

4. Дважды щелкнув на Main в логическом представлении браузера, перетащите все пакеты из браузера на диаграмму.

5. Щелкните правой кнопкой мыши на логическом представлении браузера, в открывшемся меню выберите New -> Class Diagramm.

6. Назовите новую диаграмму классов «Добавить новый заказ», дважды щелкнув на ней в браузере, откройте ее.

7. Перетащите из браузера все классы: «Выбор Заказа», «Детали заказа», «Заказ», «МнджЗак», «АдмТранз».

8. Щелкните правой кнопкой мыши на классе «Выбор заказа», в открывшемся меню выберите Open Specification.

9. В поле стереотипа введите слово Boundary (граница), нажмите ОК.

10. Таким же образом укажите для классов следующие стереотипы:

«Детали заказа» - Boundary (граница)

«Заказ» - Entity (сущность)

«МнджЗак», «АдмТранз» - Control (контроль)

11. В браузере перетащите соответствующие классы на пакеты согласно стереотипам.



Рис.28. Диаграмма классов12. Щелкните правой кнопкой мыши на классе «Заказ», в открывшемся меню выберите New Attribute, введите следующие атрибуты: OrderNumber, CustomerName, OrderDate, OrderFillDate.

13. Нажмите Open Specification,и во вкладке Attributes укажите типы атрибутов: Integer, String, Date.



Рис.30. Создание атрибутов14. Щелкните правой кнопкой мыши на классе «Заказ», в открывшемся меню выберите New Operation, создайте следующие операции: Create, SetInfo, GetInfo.

15. Отредактируйте операцию Create() таким образом, чтобы она выглядела Create () : Boolean. Это можно сделать во вкладке Operations окна Open Specifications, либо нажатием на изображение операции под классом «Заказ».

Отредактируйте операцию SetInfo () так, чтобы она выглядела как SetInfo(OrderNumber : Integer, CustomerName : String, OrderDate : Date, OrderFillDate : Date) : Boolean.

Отредактируйте операцию GetInfo () так, чтобы она выглядела как GetInfo () : String.

16. Остальным классам добавьте операции в соответствии с рисунком 9.





Рис. 9 - Конечный вид диаграммы классов



17. Так же в соответствии с рисунком добавьте связи, используя кнопку Unidirectional Association  панели инструментов. Щелкнув на каждом конце любой связи, в открывшемся меню выберите пункт Multiplicity и установите одно из соответствующих значений кратности.



4.3.2 Создание диаграммы состояний

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

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



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

Особенности разработки диаграммы состояний в среде IBM Rational Rose 2003.

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

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

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

Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню: NewStatechart Diagram (НоваяДиаграмма состояний).

Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case View) и выбрать вариант использования, после чего выполнить операцию контекстного меню: NewStatechart Diagram (НоваяДиаграмма состояний).

Выполнить операцию главного меню: BrowseState Machine Diagram (ОбзорДиаграмма состояний), после чего следует выбрать представление и тип разрабатываемой диаграммы.

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



Таблица 11 - Назначение кнопок специальной панели инструментов диаграммы состояний

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



State

Добавляет на диаграмму состояние



Start State

Добавляет на диаграмму начальное состояние



End State

Добавляет на диаграмму конечное состояние



State Transition

Добавляет на диаграмму переход



Transition to Self

Добавляет на диаграмму рефлексивный переход



Horizontal Synchronization

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



Vertical Synchronization

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



Decision

Добавляет на диаграмму символ принятия решения для альтернативных переходов (по умолчанию отсутствует) 



1. Найдите в браузере класс Order.Щелкнув по нему правой кнопкой мыши, выберите New -> Statechart Diagramm.

2. Назовите новую диаграмму StateDiag.

3. Поместите на диаграмму состояния Start State  и End State 

4. Так же поместите на диаграмму состояние State  , оно будет составным состоянием. Составное состояние (composite state) - сложное состояние, которое состоит из других вложенных в него состояний.

Составное состояние называют также состоянием-композитом. Вложенные состояния выступают по отношению к составному состоянию как подсостояния (substate). И хотя между ними имеет место отношение композиции, графически все вершины диаграммы, которые соответствуют вложенным состояниям, изображаются внутри символа составного состояния. В этом случае размеры графического символа составного состояния увеличиваются, так чтобы вместить в себя все подсостояния.

5. Поместите на диаграмму еще два состояния State, назовите из «Отменен» и «Выполнен»

6. Добавьте два состояния State внутрь созданного ранее составного состояния, назовите их «Инициализация» и «Выполнение заказа приостановлено» 

7. Дважды щелкните на состоянии «Инициализация» и перейдите во вкладку Actions. В открывшемся окне щелкните правой кнопкой мыши и выберите пункт Insert

8. Дважды щелкните на новом действии, назовите его «Сохранить дату заказа». В окне When выберите пункт On Entry. Входное действие (entry action) - действие, которое выполняется в момент перехода в данное состояние. 

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

9. Так же добавьте действия «Собрать клиентскую информацию» и «Добавить к заказу новые позиции», в окне When укажите Do. Внутренняя деятельность (do activity) - выполнение объектом операций или процедур, которые требуют определенного времени.

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

10. Дважды щелкните на состоянии «Отменен», повторив вышеописанные шаги, добавьте действие «Сохранить дату отмены», в окне When укажите On Exit. Действие выхода (exit action) - действие, производимое при выходе из данного состояния. 

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

11. Дважды щелкните на состоянии «Выполнен», повторив вышеописанные шаги, добавьте действие «Выписать счет», в окне When укажите Do.

12. При помощи кнопки State Transition  панели инструментов, добавьте на диаграмму линии перехода. При помощи кнопки Transition to Self , добавьте рефлексивный переход на состояние «Выполнение заказа приостановлено».

13. Дважды щелкните на переходе от состояния «Инициализация» к состоянию «Выполнение заказа приостановлено», в поле Event открывшегося окна спецификации перехода введите фразу «Выполнить заказ». Таким же образом добавьте событие «Отменить заказ» к переходу между составным состоянием и состоянием «Отменен».

14. Дважды щелкните на переходе от состояния «Выполнение заказа приостановлено» к состоянию «Выполнен», в поле Event введите фразу «Добавить к заказу новую позицию». Перейдите на вкладку Detail, в поле Guard Condition введите «Не осталось незаполненных позиций». Для рефлексивного перехода состояния «Выполнение заказа приостановлено» добавьте событие «Добавить к заказу новую позицию» и Guard Condition «Остаются незаполненные поля».



4.4 Лабораторная работа №4



4.4.1 Создание диаграммы компонентов

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

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

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

Особенности разработки диаграммы компонентов в среде IBM Rational Rose 2003

Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода. Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).

Активизация диаграммы компонентов может быть выполнена одним из следующих способов:

Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов. 

Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограмме Main (Главная). 

Через пункт меню BrowseComponent Diagram (БраузерДиаграмма компонентов). 

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



Таблица 12 - Назначение кнопок специальной панели инструментов диаграммы компонентов

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



Component

Добавляет на диаграмму компонент



Package

Добавляет на диаграмму пакет



Dependency

Добавляет на диаграмму отношение зависимости



Subprogram Specification

Добавляет на диаграмму спецификацию подпрограммы



Subprogram Body

Добавляет на диаграмму тело подпрограммы



Main Program

Добавляет на диаграмму главную программу



Package Specification

Добавляет на диаграмму спецификацию пакета



Package Body

Добавляет на диаграмму тело пакета



Task Specification

Добавляет на диаграмму спецификацию задачи



Task Body

Добавляет на диаграмму тело задачи



Generic Subprogram

Добавляет на диаграмму типовую подпрограммы(по умолчанию отсутствует)



Generic Package 

Добавляет на диаграмму типовой пакет (по умолчанию отсутствует)



Database

Добавляет на диаграмму базу данных (по умолчанию отсутствует)



1. Откройте диаграмму, содержащую пакеты «Сущности», «Границы», «Контроль» (Logical View).

Поместите классы из браузера в соответствующие их типам пакеты.

2. Перейдите в браузере в Component View. Нажмите на Component View правой кнопкой мыши, создайте пакеты New -> Packages. Назовите их «Сущности», «Границы», «Контроль».

3. При помощи кнопки Dependency  проведите линии зависимостей.

4. Дважды щелкнув на пакете «Сущности», откройте главную диаграмму компонентов этого пакета.

5. Нажмите кнопку Package Specification (Содержит определение класса, его атрибутов и операций) панели инструментов. Поместите спецификацию пакета на диаграмму. Введите имя спецификации пакета «ЗаказПредмета». Таким же образом добавьте спецификацию пакета «Заказ».

6. Нажмите кнопку Package Body (Содержит код реализации операций класса.)  панели инструментов, поместите на диаграмму тело пакета и введите его имя, «Заказ предмета». Добавьте тело пакета «Заказ». При помощью кнопки Dependancy проведите линии зависимостей.

7. Постройте диаграммы компонентов пакетов «Границы» и «Контроль», как показано на рисунках 10 и 11.





Рис. 10




Рис. 11



8. Щелкните правой кнопкой на представлении Компонентов в браузере (Component view). В открывшемся меню выберите New -> Component Diagram. Назовите новую диаграмму System. Дважды щелкнув по диаграмме, откройте ее.

9. Разверните в браузере пакеты «Сущности», «Границы» и «Контроль». Переместите все спецификации пакетов на диаграмму классов.

10. Нажмите кнопку Task Specification (Может содержать определение класса, его атрибутов и операций, которые предполагается использовать в независимом потоке управления)  панели инструментов и поместите на диаграмму спецификации задач ЗаказКлиент и ЗаказСервер. Приведите диаграмму к виду, показанному на рисунке 12.




Рис. 12 - Диаграмма компонентов системы



4.4.2 Создание диаграммы размещений

Deployment diagram (диаграммы размещения)

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

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

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

Особенности разработки диаграммы развертывания в среде IBM Rational Rose 2003.

Активизация диаграммы развертывания может быть выполнена одним из следующих способов:

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

Дважды щелкнуть на пиктограмме представления развертывания (Deployment View) в браузере проекта.

Выполнить операцию главного меню: BrowseDeployment Diagram (ОбзорДиаграмма развертывания).

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



Таблица 13 - Назначение кнопок специальной панели инструментов диаграммы развертывания

Графическое изображение

Всплывающая подсказка

Назначение кнопки



Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме



Text Box

Добавляет на диаграмму текстовую область



Note

Добавляет на диаграмму примечание



Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы



Processor

Добавляет на диаграмму процессор



Connection

Добавляет на диаграмму отношение соединения



Device

Добавляет на диаграмму устройство



1. Дважды щелкните мышкой на представлении Размещений в браузере (Deployment View). Добавьте на диаграмму три процессора , назовите их «Сервер банковской БД», «Региональный сервер» и «Беговая Аллея 12», соответственно.

2. Добавьте на диаграмму устройство , назовите его «Принтер».

3. Установите отношения соединений , как показано на рисунке 42. Так же в соответствии с рисунком задайте имена отношений, нажимая на них правой кнопкой и выбирая Open Specification.





Рис. 13 - Диаграмма размещений


ЗАКЛЮЧЕНИЕ



В рамках данной работы была поставлена задача разработать лабораторный практикум по освоению процесса проектирования ИС в среде Rational Rose. Для этого был изучен объектно-ориентированный подход проектирования ИС, смоделирована предметная область, на основе которой разрабатывались основные проектные диаграммы. Результатом работы являются методические указания к выполнению лабораторных работ в Rational Rose, а также разработанные диаграммы будущей ИС. В методические указания входит теоретическая часть(описание основных компонентов и элементов), а так же пошаговое руководство к созданию основных диаграмм. В работе использовалось средство проектирования Rational Rose 2003 Enterprise Edition. Методические указания могут применяться с образовательных целях при изучении данного средства проектирования.


СПИСОК ЛИТЕРАТУРЫ



1. Уэнди Боггс, Майкл Боггс: UML и Rational Rose, 2008 г.

2. Материалы сайта www.interface.ru

3. Материалы сайта www.sql.ru