Краткое описание лабораторных работ

Общие сведения

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

Когда вы рассматриваете рисунок, изображающий сложную систему, то зачастую, понимаете его смысл без каких либо словесных пояснений. Так происходит потому, что наш мозг в высшей степени эффективно выполняет функции восприятия, обработки и понимания смысла зрительной (образной) информации. Не случайно русская пословица гласит “Лучше один раз увидеть, чем сто раз услышать”. По этой причине в последние годы одним из наиболее продуктивных направлений в проектировании компьютерных систем стало использование их наглядных схем, рисуемых на бумаге и экранах компьютеров. Визуальный подход к проектированию особенно отчетливо проявился в Унифицированном Языке Моделирования (UnifiedModelingLanguage, UML), предназначенном для анализа и проектирования автоматизированных информационных систем (АИС), баз данных, компьютерных программ и иных сложных систем.

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

Язык UML является ярким примером продуктивного использования в компьютерной практике наглядных схем, отображающих различные взгляды разработчиков на сложные системы. Его наглядные диаграммы широко применяются системными аналитиками и программистами, проектирующими АИС, базы данных и компьютерные программы. UML диаграммы и, дополняющие их спецификации, обычно помещаются в проектную документацию АИС и компьютерных программ. Для изображения UML диаграмм на экранах компьютеров используются графические программы, поддерживающие язык UML. Одной из таких программ является RationalRose.

В лабораторных работах в качестве примера практического применения UML диаграмм используется Автоматизированная информационная система (АИС) регистрации учебных курсов. Мы выбрали этот пример потому, что студенты на собственном опыте знают, что такое система регистрации учебных курсов МИРЭА.

Сегодня существуют, как ручные, так и автоматизированные системы регистрации учебных курсов ВУЗов. Например, в МИРЭА пока еще используется ручная система регистрации учебных курсов. За ее функционирование отвечает Учебная часть нашего института. В некоторых российских и американских ВУЗах недавно начали применять автоматизированные системы регистрации учебных курсов.

С точки зрения понятий языка UML, преподаватели, студенты, сотрудники учебной части ВУЗа и работники бухгалтерии, выполняющие финансовые расчеты со студентами и преподавателями, являются “актерами” АИС регистрации учебных курсов. Все актеры АИС находятся на ее внешней границе.

При проектировании АИС, подобных регистрации учебных курсов, обычно, сначала используется схема, отображающая пять “взглядов” на АИС (Рис 1).

 
  Краткое описание лабораторных работ - student2.ru

РИС. 1

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

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

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

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

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

Интерфейс Rational Rose

В IBMRationalRose реализованы общепринятые стандарты нарабочий интерфейс программы, аналогично известным средам визуального программирования. После установки IBMRationalRose на компьютер пользователя, запуск этого средства в среде MSWindows 2000/XP (без выбора готовых шаблонов проектов) приводит к появлению на экране соответствующего рабочего интерфейса - автоматически создается новый проект и в рабочем окне диаграммы появляется по умолчанию окно диаграммы классов. (Рис. 1.1).

       
  Краткое описание лабораторных работ - student2.ru
 
   
Окно журнала

Рис. 1.1 Общий вид рабочего интерфейса IBMRationalRose

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

ПЕРВОЕ ЛАБОРАТОРНОЕ ЗАНЯТИЕ

Тема:

Построение с помощью программы Rational Rose UML диаграмм прецедентов на примере главной диаграммы прецедентов АИС регистрации учебных курсов

Общие понятия

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

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

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

Общее описание модели

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

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

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

Первое, что требуется при построении модели, — определить действующие лица системы и сценарии поведения.

Действующих лиц в создаваемой системе четыре:

  1. преподаватель,
  2. студент,
  3. регистратор,
  4. биллинговая программа – система оплаты.

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

Элементы диаграммы

При построении диаграммы прецедентов будем использовать пиктограммы типа "прецеденты" и "актеры". Помним , что термин "прецедент" это не очень удачный перевод на русский язык английского выражения use case (Computer Aided Software Engineering).

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

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

Построение диаграммы

Теперь перенесем все это на диаграмму. Для этого нужно создать пустой проект, переключиться на папку Use Case View – для работы с диаграммами прецедентов (Use case) и открыть контекстное меню нажатием правой кнопки мыши. Если теперь выбрать пункт New•Actor (рис. 2.1), то вы получите действующее лицо;

Краткое описание лабораторных работ - student2.ru

Рис. 2.1 Создание действующего лица

Теперь создадим всех действующих лиц (рис.2.2), рассмотренных в п. «Общее описание модели».

Краткое описание лабораторных работ - student2.ru

Рис. 2.2 Вид окна браузера проекта после создания всех действующих лиц («Актеров»)

Теперь выделим сценарии использования для нашего примера. Каждый из них описывает некоторое требование к функциям системы:

  • Выбор курсов для преподавателя
  • Запрос расписания курсов
  • Регистрация на курсы
  • Создание каталогов ресурсов
  • Хранение информации о курсах
  • Хранение информации о преподавателях
  • Хранение информации о студентах

Если выбрать New•Use Case, то будет создан сценарий поведения. (Рис.2.3)

Краткое описание лабораторных работ - student2.ru

Рис. 2.3 Создание сценария поведения

Теперь создадим все описанные выше сценарии поведения (рис.2.4)

Краткое описание лабораторных работ - student2.ru

Рис. 2.4 Вид окна браузера проекта после создания всех сценариев поведения («Прецедентов»)

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

Далее, как правило, строится диаграмма сценариев поведения - прецедентов. Для этого двойным щелчком на пиктограмме Main из папки Use Case View открывается главная диаграмма сценариев.

В нее из окна браузера перетаскиваются все действующие лица и сценарии поведения, которые были созданы в рамках модели. (Рис.2.5)

Краткое описание лабораторных работ - student2.ru

Рис. 2.5 Диаграмма сценариев поведения (пока без связей)

После размещения эти компоненты нужно связать между собой, чтобы отобразить взаимосвязи. В нашей модели наилучшим образом подойдут связи типа «однонаправленная ассоциация» (Unidirectional Association).

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

Для реализации связей применяется метод перетаскивания. Сначала в палитре выбирается тип связи «однонаправленная ассоциация» (UniderectionalAssociation) Краткое описание лабораторных работ - student2.ru , после чего нужно протянуть линию между действующим лицом и сценарием поведения. В результате на диаграмме возникнет стрелка. Аналогичным образом поступают со всеми компонентами диаграммы. Готовая диаграмма показана на Рис. 3.1.

Для создания границы («интерфейса») между актерами и прецендентами можно воспользовавшись пунктом меню «Tools/Create/Note Anchor» иливыбратьсредипиктограмминструмент «Anchor Note to Item». Выбрав инструмент необходимо щелкнуть один раз на середине одной из стрелок отношения далее во всех углах интерфейса и завершить границу в месте начала ее рисования. Если прямоугольник получился не очень ровый то это можно исправить выбрав в меню «Format/Line Style/Rectilinear»

Краткое описание лабораторных работ - student2.ru

Рис. 3.1 Главная диаграмма прецедентов системы регистрации учебных курсов Университета

Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru

В среде Rational Rose так же легко создаются и диаграммы других видов, необходимые для генерации исходных текстов на выбранном языке программирования. И для каждого объекта диаграммы существует масса тонких настроек.

ВТОРОЕ ЛАБОРАТОРНОЕ ЗАНЯТИЕ

Тема:

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

Диаграмма классов

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

  1. окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта (Рис.1.1);
  2. щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;
  3. раскрыть логическое представление (Logical View) в браузере проекта и дважды щелкнуть на пиктограммеMain (Главная);
  4. выполнить операцию главного меню: Browse Краткое описание лабораторных работ - student2.ru Class Diagram (Обзор Краткое описание лабораторных работ - student2.ru Диаграмма классов).

Краткое описание лабораторных работ - student2.ru

Рис. 1.1 Рабочее окно диаграммы классов

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

Назначение отдельных кнопок панели можно узнать также из всплывающих подсказок.

Таблица 1.1 Назначение кнопок специальной панели инструментов для диаграммы классов
Графическое изображение Всплывающая подсказка Назначение кнопки
Краткое описание лабораторных работ - student2.ru Selection Tool Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме
Краткое описание лабораторных работ - student2.ru Text Box Добавляет на диаграмму текстовую область
Краткое описание лабораторных работ - student2.ru Note Добавляет на диаграмму примечание
Краткое описание лабораторных работ - student2.ru Anchor Note to Item Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы
Краткое описание лабораторных работ - student2.ru Class Добавляет на диаграмму класс
Краткое описание лабораторных работ - student2.ru Interface Добавляет на диаграмму интерфейс
Краткое описание лабораторных работ - student2.ru Unidirectional Association Добавляет на диаграмму направленную ассоциацию
Краткое описание лабораторных работ - student2.ru Association Class Добавляет на диаграмму ассоциацию класс
Краткое описание лабораторных работ - student2.ru Package Добавляет на диаграмму пакет
Краткое описание лабораторных работ - student2.ru Dependency or Instantiates Добавляет на диаграмму отношение зависимости
Краткое описание лабораторных работ - student2.ru Generalization Добавляет на диаграмму отношение обобщения
Краткое описание лабораторных работ - student2.ru Realize Добавляет на диаграмму отношение реализации

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

Для добавления класса на диаграмму классов нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы класса на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение класса с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию NewClass. Или создать класс через пункт всплывающего меню New->Class (Рис.1.2), а потом “перетащить” созданный класс из окна браузера проекта в область окна диаграммы классов (Рис. 1.4).

Краткое описание лабораторных работ - student2.ru

Рис. 1.2 Создание нового класса

В нашем случае (АИС регистрации учебных курсов) нужно создать 4 класса (Рис.1.3):

  • Пользователь;
  • Преподаватель;
  • Студент;
  • Учебный курс (из объектов университета).

Краткое описание лабораторных работ - student2.ru

Рис. 1.3 Браузер проектов – отображает все зозданные классы

“Перетащим” мышкой только что созданные классы из окна браузера проекта в область окна диаграммы классов (рис. 1.4.)

Краткое описание лабораторных работ - student2.ru

Рис. 1.4 Окно диаграммы классов – отображает все созданные классы

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

На этом лабораторном занятии мы рассмотрим только создание и редактирование атрибутов классов, операции же будут подробно описаны в лабораторной работе №3.

Давайте добавим аттрибуты для класса “Пользователь”:

l Имя;

l Ид.номер.

Добавить атрибут к созданному ранее классу можно одним из следующих способов:

  • С помощью операции контекстного меню NewAttribute (Новый атрибут) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода текста в области графического изображения класса на диаграмме (Рис. 1.5).
  • С помощью операции контекстного меню: New Краткое описание лабораторных работ - student2.ru Attribute (Новый Краткое описание лабораторных работ - student2.ru Атрибут) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода текста в области иерархического представления класса в браузере проекта под именем соответствующего класса.
  • С помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки атрибутов в диалоговом окне свойств ClassSpecification соответствующего класса (Операция контекстного меню OpenSpecification или двойной «щелчок» мышью на изображении класса) (Рис. 1.6).

Краткое описание лабораторных работ - student2.ru

Рис. 1.5 Окно диаграммы классов – добавляем атрибут к классу

Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru

Рис. 1.6 Диалоговое окно свойств класса – нужно перейти к вкладке Attributes

Краткое описание лабораторных работ - student2.ru

Рис. 1.7 Класс “Пользователь”

После добавления атрибута к классу по умолчанию ему присваивается имя name и некоторый квантор видимости (Рис. 1.7). Нужно запомнить, что имена атрибутов и операций классов должны начинаться со строчной буквы.

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

Краткое описание лабораторных работ - student2.ru

Теперь добавим атрибуты всем классам, изображенным в окне диаграммы классов (Рис.1.8).

Краткое описание лабораторных работ - student2.ru

Рис. 1.8 Окно диаграммы классов – отображает все созданные классы и их атрибуты

Следующий этап – это установление взаимосвязей между классами нашей диаграммы. (Вспоминаем Лабораторную работу №1).

В этой лабораторной работе мы будем использовать два типа отношений (взаимосвязей):

l ассоциацию;

l обобщение.

Добавление на диаграмму ассоциации между двумя классами выполняется аналогично тому как это делалось на 1ой Лабораторной работе (Рис.2.1, 2.2) Краткое описание лабораторных работ - student2.ru . Построим взаимосвязь между классами “Преподаватель” и “Учебный курс” (Рис.2.2).

Краткое описание лабораторных работ - student2.ru

Рис. 2.1 Окно диаграммы классов – отображает элемент специальной панели инструментов- “Ассоциация”

Но тогда ассоциация будет однонаправленной (Рис. 2.2), а нам нужно будет получить двунаправленное отношение “1” к “0..5”, т.е. один преподаватель может вести от 0 до 5 учебных курсов.

Вспомним из курса лекций:

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

Пометка единица (1) на левом конце линии ассоциации означает, что в двунаправленном отношении, наряду с многими, например, работниками участвует один работодатель. Единица и звездочка на правом конце линии означает "единица или больше" (1..*). Если один конец линии ассоциации помечен единицей (1), то пометка на другом конце линий называется кратностью ассоциации.

На линии ассоциации можно также задать кратность равную единице (1), можно указать диапазон кратности: ноль или единица (0..1), много (0..*). Разрешается также указывать кратность определенным числом (например 5). С помощью списков можно задавать и более сложные кратности. Например, список 0..1, 3..4, 6..* означает "любое число объектов кроме 2 и 5".

Краткое описание лабораторных работ - student2.ru

Рис. 2.2 Окно диаграммы классов – отображает однонаправленную взаимосвязь (отношение) двух классов “Преподаватель” и “Учебный курс”

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

Краткое описание лабораторных работ - student2.ru

Рис. 2.3Диалоговое окно спецификации свойств ассоциации

Первое, что мы делаем — убираем направленность отношения: во всплывающем меню ассоциации («Клик» правой кнопкой мыши) убираем галочку с пункта «Navigate» (Рис.2.4).

Краткое описание лабораторных работ - student2.ru

Рис. 2.4 Всплывающее меню свойств ассоциации

Вторым шагом нужно указать кратности для ассоциации: со стороны “Пользователя” 1, а со стороны “Учебного курса” диапацон кратности “0..5” (от 0 до 5).

Это можно сделать двумя способами:

l с помощью всплывающего меню ассоциации (см.выше) – выбрать в пункте Multiplicity (дословно “Сложность отношения”) нужную кратность (Рис. 2.5);

l в диалоговом окне свойств ассоциации (OpenSpecification - Рис.2.5) на вкладках RoleADetail и RoleBDetail выбрать кратности для обеих сторон ассоциации из выпадающего списка пункта Multiplicity.

Воспользуемся вторым способом (Рис. 2.6). У стороны “Учебного курса” в меню Multiplicity выберем пункт “один ко многим” (1..* или 1..n) и вместо n поставим “5”.

Краткое описание лабораторных работ - student2.ru

Рис. 2.5 Всплывающее меню свойств ассоциации

Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru

Рис. 2.6 Диалоговое окно свойств ассоциации

Полученная взаимосвязь (отношение) представлено на Рис.2.7.

Краткое описание лабораторных работ - student2.ru

Рис. 2.7Окно диаграммы классов – отображает взаимосвязь (отношение) двух классов “Преподаватель” и “Учебный курс”

Создадим аналогично взаимосвязь между классами “Студент” и “Учебный курс” (Рис.2.8)

Краткое описание лабораторных работ - student2.ru

Рис. 2.8Окно диаграммы классов – отображает взаимосвязь (отношение) двух классов “Студент” и “Учебный курс”

Заключительным этапом построения нашей диаграммы классов будет создание взаимосвязи типа “обобщение”(Generalization) между классами “Пользователя”, “Преподавателя” и “Студента”.

Вспомним из курса лекций:

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

В данном случае родитель – это “Пользователь”.

Добавление на диаграмму отношения обобщения между двумя классами выполняется следующим образом. На специальной панели инструментов необходимо нажать кнопку с изображением пиктограммы обобщения Краткое описание лабораторных работ - student2.ru и отпустить левую кнопку мыши. Далее на диаграмме классов надо выделить первый элемент обобщения или потомок, от которого исходит стрелка, и, не отпуская нажатую левую кнопку мыши, переместить ее указатель ко второму элементу отношения или предку, к которому направлена стрелка. (Рис.3.1)

Краткое описание лабораторных работ - student2.ru

Рис. 3.1Окно диаграммы классов – Фрагмент простой концептуальной схемы базы данных компьютерной системы университета “Истерн”

ТРЕТЬЕ ЛАБОРАТОРНОЕ ЗАНЯТИЕ

Тема:

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

Введение

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

На лабораторном занятии мы подробно рассмотрим добавление и изменение свойств атрибутов классов, а так же добавление операций классов.

ПЯТОЕ ЛАБОРАТОРНОЕ ЗАНЯТИЕ

Тема:

ШЕСТОЕ ЛАБОРАТОРНОЕ ЗАНЯТИЕ

Тема:

Простой пример генерации программного кода в среде IBM Rational Rose

  Генерировать программный код на данном лабораторном занятии будем на примере задания пятой лабораторной работы — простейшего графического редактора. (Откройте созданный ранее проект (Рис. 1.1).)   Краткое описание лабораторных работ - student2.ru Рис. 1.1 Диаграмма классов – пример простого графического редактора Общая последовательность действий, которые необходимо выполнить для генерации программного кода в среде IBM Rational Rose, состоит из следующих этапов:
  1. Проверка модели на отсутствие ошибок.
  2. Создание компонентов для реализации классов.
  3. Отображение классов на компоненты.
  4. Выбор языка программирования для генерации текста программного кода.
  5. Установка свойств генерации программного кода.
  6. Выбор класса, компонента или пакета.
  7. Генерация программного кода.
Особенности выполнения каждого из этапов могут изменяться в зависимости от выбора языка программирования или схемы базы данных. Рассмотрим особенности выполнения каждого из указанных выше этапов для языка реализации модели ANSI C++. Язык ANSI С++ не допускает использование символов кириллицы в качестве имен классов, атрибутов и операций. Проверка модели на отсутствие ошибок Для проверки модели следует выполнить операцию главного меню: Tools Краткое описание лабораторных работ - student2.ru Check Model (Инструменты Краткое описание лабораторных работ - student2.ru Проверить модель). Результаты проверки разработанной модели на наличие ошибок отображаются в окне журнала. Прежде чем приступить к генерации текста программного кода разработчику следует добиться устранения всех ошибок и предупреждений, о чем должно свидетельствовать чистое окно журнала (Рис. 1.2).   Краткое описание лабораторных работ - student2.ru Рис. 1.2Проверка модели на отсутствие ошибок Создание компонентов для реализации классов Здесь нужно вкратце рассказать про «Диаграмму компонентов». Диаграмма компонентов служит частью физического представления модели и является необходимой для генерации программного кода. Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчаниюMain (Главная). Активизация диаграммы компонентов может быть выполнена одним из следующих способов:
  • Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.
  • Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограммеMain (Главная).
  • Через пункт меню Browse Краткое описание лабораторных работ - student2.ru Component Diagram (Браузер Краткое описание лабораторных работ - student2.ru Диаграмма компонентов).
В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы компонентов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы компонентов. В качестве «контейнера» и «главного компонента» одновременно, будем использовать элемент «Component» («Компонент») Краткое описание лабораторных работ - student2.ru . (Рис.1.3) Добавим его в область «диаграммы компонентов» и зададим имя «MainPaint.exe». «exe» - приписка в названии, как бы говорит о том, что при генерации кода можно получить не просто файлы с кодом программы, но и исполняемый файл. (В данном лабораторном занятии не рассматривается, но подобное допускается, если задать в свойствах компонента стереотип <<EXE>> из предлагаемого вложенного списка.) Краткое описание лабораторных работ - student2.ru Рис. 1.3 Создали диаграмму компонентов и добавили “Компонент” «MainPaint.exe» Отображение классов на компоненты Для отображения классов на компоненты можно воспользоваться окном спецификации свойств компонента, открытого на вкладке Realizes (Реализует). Для включения реализации класса в данный компонент следует выделить требуемый класс на этой вкладке и выполнить для него операцию контекстного менюAssign (Назначить). В результате перед именем класса на этой вкладке появится специальная отметка (Рис.1.4) Краткое описание лабораторных работ - student2.ru Рис. 1.4 Связываем “Компонент” и классы Выбор языка программирования для генерации текста программного кода и Установка свойств генерации программного кода Для выбора языка ANSI C++ в качестве языка реализации модели следует выполнить операцию главного меню: Tools Краткое описание лабораторных работ - student2.ru Options (Инструменты Краткое описание лабораторных работ - student2.ru Параметры), в результате чего будет вызвано диалоговое окно настройки параметров модели. Далее на вкладке Notation (Нотация) в строке Default Language (Язык по умолчанию) из вложенного списка следует выбрать язык - ANSI C++(Рис.2.1). Если по какой-то причине языка ANSI C++ не оказалось во вложенном списке, то следует убедиться в том, что этот язык программирования установлен в качестве расширения IBM Rational Rose. Для этого следует открыть окно установленных расширений, выполнив операцию главного меню: Add-Ins Краткое описание лабораторных работ - student2.ru Add-In Manager (Расширения Краткое описание лабораторных работ - student2.ru Менеджер расширений), и убедиться в том, что выставлена отметка в строке с именем языка ANSI C++. После выбора языка программирования по умолчанию следует изменить язык реализации каждого из компонентов модели. С этой целью следует изменить язык в строке Language (Язык) на вкладке General (Общие) окна спецификации свойств компонента, для чего из вложенного списка следует выбрать язык - ANSI C++ (Рис. 2.1).   Краткое описание лабораторных работ - student2.ru Краткое описание лабораторных работ - student2.ru Рис. 2.1Выбор языка программирования и языка реализации компонентов Выбор класса, компонента или пакета и Генерация программного кода Генерация программного кода в среде IBM Rational Rose возможна для отдельного класса или компонента. Для этого нужный элемент модели предварительно следует выделить в браузере проекта и выполнить операцию контекстного меню: ANSI C++ Краткое описание лабораторных работ - student2.ru Generate Code_ (Язык ANSI C++ Краткое описание лабораторных работ - student2.ru Генерировать код). В результате этого будет открыто диалоговое окно с предложением выбора классов для генерации программного кода на выбранном языке программирования (Рис. 3.1). После выбора соответствующих классов и нажатия кнопки OK программа IBM Rational Rose выполняет кодогенерацию   . Краткое описание лабораторных работ - student2.ru Рис. 3.1Генерация программного кода

Краткое описание лабораторных работ - student2.ru

Рис. 3.2Окно выбора классов для генерации программного кода

Для просмотра и редактирования созданных файлов с текстом программного кода на языке ANSI C++ предназначен встроенный текстовый редактор, который можно открыть с помощью операции контекстного меню: ANSI C++ Краткое описание лабораторных работ - student2.ru Browse Header_ (Язык ANSI C++ Краткое описание лабораторных работ - student2.ru Просмотреть заголовочный файл) или ANSI C++ Краткое описание лабораторных работ - student2.ru Browse Body_ (Язык ANSI C++ Краткое описание лабораторных работ - student2.ru Просмотреть файл реализации) для выбранного класса в браузере проекта.

П

Наши рекомендации