close

Вход

Забыли?

вход по аккаунту

?

1425.CASE - пакет Rational Rose

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ»
CASE-ПАКЕТ RATIONAL ROSE
Методические указания для вузов
Составители:
М.В. Матвеева,
А.Ш. Исламов,
Е.В. Машиннова
Издательско-полиграфический центр
Воронежского государственного университета
2009
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Утверждено научно-методическим советом факультета ПММ 23 марта
2009 г., протокол № 8
Рецензент канд. техн. наук, доц. каф. ПиИТ ФКН ВГУ В.А. Степанцов
Методические указания подготовлены сотрудниками кафедры программного обеспечения и администрирования информационных систем факультета
ПММ Воронежского государственного университета.
Рекомендуется для студентов 3, 4 курсов дневного отделения факультета
ПММ Воронежского государственного университета.
Для специальностей: 010503 – Математическое обеспечение и администрирование информационных систем, 010502 – Прикладная информатика в
юриспруденции
ДС.01 Унифицированный язык моделирования UML
СД.Ф.01. Проектирование информационных систем
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
СОДЕРЖАНИЕ
Введение .................................................................................................... 4
1. Интерфейс Rose..................................................................................... 4
2. Диаграммы вариантов использования.............................................. 10
3. Диаграммы классов ............................................................................ 15
4. Диаграммы взаимодействия .............................................................. 25
4.1. Диаграммы последовательности............................................... 26
4.2. Диаграммы кооперации ............................................................. 29
5. Диаграммы состояний ........................................................................ 32
6. Диаграммы деятельности................................................................... 36
7. Диаграммы компонентов ................................................................... 38
8. Диаграммы размещения ..................................................................... 41
9. Генерация программного кода .......................................................... 43
10. Пример ............................................................................................... 44
11. Задания для самостоятельной работы ............................................ 54
Литература............................................................................................... 71
3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ВВЕДЕНИЕ
Rational Rose – инструмент для анализа и проектирования объектноориентированных информационных систем. Модель Rose включает все диаграммы унифицированного языка моделирования UML (Unified Modeling
Language):
• диаграммы вариантов использования (use case diagrams);
• диаграммы поведения системы (behavior diagrams):
ƒ диаграммы взаимодействия (interaction diagrams):
o диаграммы последовательности (sequence diagrams);
o диаграммы кооперации (collaboration diagrams);
ƒ диаграммы состояний (statechart diagrams);
ƒ диаграммы деятельности (activity diagrams);
• диаграммы классов (class diagrams);
• диаграммы реализации (implementation diagrams):
ƒ диаграммы компонентов (component diagrams);
ƒ диаграммы размещения (deployment diagrams).
1. ИНТЕРФЕЙС ROSE
Главное окно Rose представлено на рис. 1.1.
Рис. 1.1. Главное окно Rational Rose
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рассмотрим элементы интерфейса.
Браузер предназначен для быстрой навигации по модели (рис. 1.2).
Все элементы модели отображаются в браузере. Он имеет четыре представления (view): представление вариантов использования (Use Case View), логическое представление (Logical View), представления компонентов (Component View) и размещения (Deployment View).
Рис. 1.2. Браузер
Представление вариантов использования содержит действующие лица, варианты использования, ассоциации, диаграммы вариантов использования, диаграммы последовательности, кооперативные диаграммы, пакеты.
Представление вариантов использования не зависит от реализации.
Логическое представление включает классы, диаграммы классов, ассоциации, диаграммы взаимодействия, диаграммы состояний. Пакет – это
группа вариантов использования и действующих лиц.
Представление компонентов содержит компоненты, диаграммы компонентов, пакеты.
Представление размещения хранит процессы, процессоры, устройства, диаграммы размещения.
Окно диаграммы предназначено для просмотра и редактирования
одной или нескольких диаграмм. Браузер автоматически обновляется при
внесении изменения в диаграмму, и наоборот, при внесении изменений в
браузер автоматически обновляются диаграммы.
Окно документации позволяет просматривать и редактировать документацию выбранного элемента модели Rose.
В журнале выводятся отчеты о результатах выполнения команд и
информация об ошибках.
В Rational Rose есть два типа панелей инструментов: основная панель и панель инструментов диаграммы. У каждого типа диаграмм своя
панель инструментов. Панели всех диаграмм будут рассмотрены ниже.
Описание кнопок основной панели инструментов представлено в табл. 1.1.
5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 1.1
Пиктограммы основной панели инструментов
Пиктограмма
Название
Create New
Model or File
Open Existing
Model or File
Save Model,
File or Script
Cut
Copy
Соответствующий
пункт меню
File > New
Назначение
Edit > Cut
Edit > Copy
Создать новый файл модели
Открыть существующий
файл модели
Сохранить файл модели
или скрипт
Вырезать текст
Копировать текст в буфер
Paste
Edit > Paste
Вставить текст из буфера
Print
File > Print
Context Sensitive Help
View Documentation
Browse Class
Diagram
Browse Interaction Diagram
Help
Напечатать одну или несколько диаграмм модели
Открыть файл справки
Browse Component Diagram
Browse State
Machine Diagram
Browse Deployment Diagram
Browse Parent
Browse > Component
Diagram
Browse > State Machine Diagram
Сделать видимым окно документации
Открыть диаграмму классов
Открыть диаграмму последовательности или диаграмму кооперации
Открыть диаграмму компонентов
Открыть диаграмму состояний или деятельности
Browse > Deployment
Diagram
Открыть диаграмму размещения
Browse > Parent
Browse Previous Diagram
Zoom In
Browse > Previous
Diagram
View > Zoom In
Открыть родительскую
диаграмму
Открыть предыдущую диаграмму
Увеличивает масштаб
Zoom Out
View > Zoom Out
Уменьшить масштаб
Fit in Window
View > Fit in Window
Undo Fit in
Window
View > Undo Fit in
Window
Установить такой масштаб,
чтобы вся диаграмма помещалась в одном окне
Отменить команду Fit in
Window
File > Open
File > Save
View > Documentation
Browse > Class Diagram
Browse > Interaction
Diagram
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В Rational Rose существует возможность настраивать главное меню.
Некоторые пункты меню, предлагаемые по умолчанию, представлены в
табл. 1.2. Следует отметить, что отдельные команды меню доступны только
при определенных условиях.
Таблица 1.2
Пункты главного меню Rational Rose
Пункт меню
File > New
File > Open
File > Save
File > Save As
File > Save Log As
File > AutoSave Log
File > Clear Log
File > Load Model Workspace
File > Save Model Workspace
File > Save Model Workspace As
File > Units
File > Import
File >Export Model
File > Update
File > Print
File > Page Setup
File > Edit Path Map
File > Recent File
File > Exit
Edit > Undo
Edit > Redo
Edit > Cut
Edit
Edit
Edit
Edit
> Copy
> Copy Active Diagram
> Past
> Delete
Edit
Edit
Edit
Edit
Edit
Edit
Edit
> Select All
> Delete From Model
> Relocate
> Find
> Reassign
> Compartment
> Change Info
Описание
Создать новую модель
Открыть существующую модель
Сохранить модель
Сохранит модель под другим именем
Сохранить журнал под другим именем
Сохранить журнал
Очистить журнал
Загрузить «снимок» модели
Сохранить «снимок» модели
Сохранить «снимок» модели под другим именем
Содержит группу команд над управляемыми элементами. Управляемые элементы позволяют
осуществлять многопользовательскую параллельную разработку модели.
Импортировать модель, подсистему, пакет, класс
Экспортировать модель, подсистему, пакет, класс
Обновить модель с помощью обратного проектирования
Печатать диаграммы модели
Настройки страницы
Редактировать пути, используемые Rose
Открыть предыдущий файл модели
Выход
Отменить последнее действие
Повторить последнее действие
Вырезать из диаграммы выбранные объекты (из
модели эти объекты не удаляются)
Копировать выбранные объекты на диаграмму
Копировать выбранную диаграмму
Вставить из буфера объекты на диаграмму
Удалить выбранные объекты с диаграммы (из
модели эти объекты не удаляются)
Выделить все объекты диаграммы
Удалить выбранные объекты из модели
Переместить класс
Найти объект
Переназначить объект
Выбрать или скрыть объекты
Содержит группу команд для преобразования
выбранных объектов
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
View > Toolbars
View > Status Bar
View > Documentation
View > Browser
View > Log
View > Editor
View > Time Stamp
View > Zoom To Selection
View > Zoom In
View > Zoom Out
View > Fit in Window
View > Undo Fit in Window
View > Page Breaks
View > Refresh
View > As Booch
View > As OMT
View > As Unified
Format > Font Size
Format > Font
Format > Line Color
Format > Fill Color
Format > Use Fill Color
Format > Automatic Resize
Format > Stereotype Display
Format > Stereotype Label
Format > Show Visibility
Format > Show Compartment
Stereotypes
Format > Show Operation
Signature
Format > Show All Attributes
Format > Show All Operations
Format > Show All Columns
Format > Show All Triggers
Format > Suppress Attributes
Format > Suppress Operations
Format > Suppress Columns
Format > Suppress Triggers
Format > Line Style
Format > Layout Diagram
Format > Autosize All
Format > Layout Selected Shapes
Содержит группу команд для настройки и скрытия/включения панелей инструментов
Показать/скрыть строку состояния
Показать/скрыть окно документации
Показать/скрыть браузер
Показать/скрыть журнал
Показать/скрыть окно редактора
Показать/скрыть время для сообщений в журнале
Изменить масштаб до выделенного
Увеличить масштаб
Уменьшить масштаб
Масштабировать в соответствии с размерами окна
Отменить масштабирование в соответствии с размерами окна
Разбить на страницы
Обновить текущую диаграмму
Показать объекты в нотации Буча
Показать объекты в нотации OMT
Показать объекты в нотации UML
Изменить размер шрифта
Изменить характеристики шрифта
Изменить цвет линии
Изменить цвет заливки
Использовать/не использовать заливку
Автоматически изменить размеры
Показать/скрыть стереотипы. Задать тип показа
стереотипа
Отобразить метки стереотипов
Показать область видимости
Показать внутренние стереотипы
Показать сигнатуру операций
Показать все атрибуты
Показать все операции
Показать все колонки в модели данных
Показать все триггеры в модели данных
Скрыть атрибуты
Скрыть операции
Скрыть колонки в модели данных
Скрыть триггеры в модели данных
Изменить стиль линии
Изменить расположение всех элементов диаграммы оптимальным образом по мнению Rose
Настроить размер всех элементов диаграммы так,
чтобы имя, атрибуты, операции и т.п. уместились в
элементе, их содержащем
Изменить расположение выбранных элементов
диаграммы оптимальным образом по мнению Rose
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Browse > Use Case Diagram
Browse > Class Diagram
Browse > Component Diagram
Browse > Deployment Diagram
Browse > Interaction Diagram
Browse > State Machine Diagram
Browse > Expand
Показать диаграмму вариантов использования
Показать диаграмму классов
Показать диаграмму компонентов
Показать диаграмму размещения
Показать диаграмму взаимодействия
Показать диаграмму состояний
Показать главную диаграмму для выбранного пакета
Browse > Parent
Показать родительскую диаграмму
Browse > Specification
Показать окно спецификаций выбранного объекта
Browse > Top Level
Показать диаграмму верхнего уровня
Browse > Referenced Item
Показать диаграммы, связанные с выбранным элементом
Browse > Previous Diagram
Показать предыдущую диаграмму
Browse > Create Message Trace Создать диаграмму кооперации из диаграммы поDiagram
следовательности и наоборот
Report > Show Usage
Создать список диаграмм, в которых используется
выбранный элемент
Report > Show Instances
Создать список диаграмм взаимодействия, в которых используется выбранный элемент
Report > Show Access Violation
Создать список всех нарушений доступа (не установленные связи)
Report > Show Participants in UC
Создать список всех участников выбранного варианта использования
Query > Add Classes
Добавить классы
Query > Add Use Cases
Добавить варианты использования
Query > Expand Selected Elements Добавить объекты, связанные с выбранным
Query > Hide Selected Elements
Удалить объекты, связанные с выбранным
Query > Filter Relationships
Показать на диаграммах только выбранные типы
связей
Tools > Create
Содержит группу команд, предназначенных для
создания элементов модели
Tools > Check Model
Проверить модель на наличие ошибок
Tools > Model Properties
Содержит набор команд, предназначенных для работы со свойствами модели
Tools > Options
Настроить параметры Rose
Tools > Open Script
Открыть файл языка RoseScript
Tools > New Script
Создать новый скрипт
Tools > Class Wizard
Создать новый класс с помощью мастера классов
Tools
Этот пункт содержит и другие подпункты, не перечисленные здесь, предназначены они для генерации кода на заданном языке, обратного проектирования, контроля версий и т.д.
Add-Ins > Add in Manager
Подключить/отключить расширения к Rose
Window
Содержит стандартный набор команд для работы с
окнами
Help
Содержит набор команд, предназначенных для обращения к справочной информации
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2. ДИАГРАММЫ ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
Диаграммы вариантов использования (прецедентов) предназначены
для описания функциональности системы. Они содержат варианты использования, действующие лица и связи между ними.
Вариант использования или прецедент (use case) – это выполняемая системой последовательность действий, которую инициирует действующее лицо. Изображается на диаграмме вариант использования в виде
эллипса.
Действующее лицо или актер (actor) – это все, что взаимодействует
с системой, снабжает информацией или получает информацию из системы.
Действующими лицами являются пользователи, другие системы, время (если от него зависит начало выполнения каких-либо действий в системе). На
диаграмме актер представляется в виде фигурки человечка.
Существует несколько типов связей, отображаемых на диаграммах
вариантов использования.
Связь коммуникации (communication relationship) – это связь между
актером и вариантом использования. Изображается в виде линии со стрелкой. Направление связи показывает, кто ее инициирует.
Связь включения (include relationship) – это связь между вариантами
использования. Если несколько прецедентов включают повторяющуюся
функциональность, то ее выносят в отдельный вариант использования. Связи между этим вариантом использования и прецедентами, его использующими, будут связями включения. Графически этот тип связи изображается в
виде пунктирной линии со стереотипом <<include>> со стрелкой на стороне используемого прецедента.
Связь расширения (extends relationship) – это связь между вариантами
использования. Применяется она в тех случаях, когда базовый вариант использования при необходимости обращается к функциональности, предоставляемой другим вариантом использования. Изображается этот тип связи
на диаграмме в виде пунктирной линии со стереотипом <<extend>> со
стрелкой со стороны базового варианта использования.
Связь обобщения (actor generalization relationship) – это связь между
актерами. Необходима она в тех случаях, когда требуется показать, что несколько актеров имеют общие черты. На диаграмме этот тип связи представляется в виде сплошной линии со стрелкой в форме треугольника.
Для того чтобы создать диаграмму вариантов использования, надо
выполнить следующие действия.
1. Щелкнуть правой кнопкой мыши по представлению вариантов использования.
2. Из появившегося меню выбрать пункт New > Use Case Diagram. В
браузере появиться новая диаграмма.
3. Ввести имя новой диаграммы.
10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Открыть диаграмму можно двойным щелчком мыши по диаграмме в
браузере.
Открыть существующую диаграмму или создать новую можно и через главное меню Browse > Use Case Diagram. Появится окно, в котором
можно выбрать пакет и диаграмму (рис. 2.1.). Главная диаграмма (Main)
предлагается по умолчанию.
Описание кнопок панели инструментов диаграммы вариантов использования представлено в табл. 2.1.
Рис. 2.1. Окно выбора диаграммы вариантов использования
Таблица 2.1
Пиктограммы панели инструментов диаграммы вариантов
использования
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item
Связать примечание с объектом
Package
Добавить пакет
Use Case
Добавить вариант использования
Actor
Добавить действующее лицо
Unidirectional Association Нарисовать связь между актером и прецедентом
Dependency or Instantiates Нарисовать связь зависимости
Generalization
Нарисовать связь обобщения
Создавать новые элементы диаграммы вариантов использования
можно либо с помощью кнопок панели инструментов, либо с помощью
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
пунктов главного меню Tools > Create. После выбора соответствующего
элемента (Use Case, Actor) щелкните мышью внутри диаграммы, чтобы поместить туда новый элемент. После этого укажите имя актера или прецедента.
Для создания связи требуется выполнить следующие действия:
1. Выбрать кнопку соответствующей связи на панели инструментов.
2. В случае связи коммуникации нажать левую кнопку мыши на актере и, удерживая ее, провести связь к варианту использования. При добавлении связи включения связь нужно проводить от прецедента, использующего другой вариант использования, к используемому. Связь расширения
рисуется от варианта использования, предоставляющего свою функциональность, к базовому. Связь обобщения проводиться от конкретного элемента к абстрактному.
Существующий прецедент или актера можно поместить на диаграмму
вариантов использования, либо перетащив из браузера на диаграмму, либо
выбрав соответствующие пункты главного меню Query.
Варианты использования и действующие лица можно группировать в
пакеты. Действия по созданию пакета аналогичны действиям по созданию
актеров и прецедентов. Поместить в пакет элементы можно путем перетаскивания в браузере.
На диаграмме можно размещать примечания и связывать их с любыми элементами диаграммы. Действия по созданию примечаний и их связыванию аналогичны действиям, описанным выше.
Для удаления элемента с диаграммы требуется выбрать удаляемый
элемент и нажать клавишу Delete или пункт меню Edit > Delete.
Из модели элемент можно удалить двумя способами.
Первый способ:
1. выбрать элемент для удаления на диаграмме;
2. выбрать пункт меню Edit > Delete From Model.
Второй вариант:
1. выбрать элемент для удаления в браузере;
2. щелкнуть правой кнопкой мыши;
3. из появившегося меню выбрать пункт Delete.
В Rational Rose существует возможность задания спецификаций для
элементов модели. Открыть окно спецификации можно двойным щелчком
левой кнопки мыши. Другой способ описан ниже.
1. Щелкнуть правой кнопкой мыши по элементу модели на диаграмме или в браузере.
2. В появившемся меню выбрать пункт Open Specification.
Третий вариант открытия окна спецификации:
1. выбрать элемент модели на диаграмме или в браузере;
2. выбрать пункт меню Browse > Specification.
12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Окно спецификации для варианта использования представлено на
рис. 2.2.
Рис. 2.2. Окно спецификации для прецедента
На вкладке General задается имя варианта использования (Name), его
стереотип (Stereotype), приоритет (Rank), признак абстрактности (Abstract)
и документация (Documentation). Стереотипы в UML используются для того, чтобы выбелить категории элементов модели. На вкладке Diagrams выводится список всех диаграмм, определенных под этим вариантом использования в браузере. Вкладка Relations содержит список всех связей, в которых участвует прецедент. На вкладке Files можно просмотреть и прикрепить к варианту использования файл или ссылку на web-страницу.
Окно спецификации действующего лица представлено на рис. 2.3. На
вкладке General можно задать имя актера, стереотип, документацию. На
вкладке Detail задается множественность, признак абстракции. Связи актера
можно просмотреть на вкладке Relations. Как и с вариантом использования,
с актером можно связать файл или адрес web-страницы (вкладка Files).
Окно спецификации связей представлено на рис. 2.4. В нем можно задать имя для связи, стереотип и документацию.
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 2.3. Окно спецификации действующего лица
Рис. 2.4. Окно спецификации для связи
14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Построим диаграмму вариантов использования для системы управления банкоматом (рис. 2.5.). На диаграмме представлены два актера Клиент
и Работник Банка, причем Работник Банка обладает всеми свойствами
Клиента, но имеет дополнительные возможности работы с банкоматом. Для
выполнения клиентом любой операции с банкоматом необходима авторизация, поэтому она выделяется в отдельный вариант использования и включается во все остальные со стереотипом «include».
Рис. 2.5. Диаграмма вариантов использования
«Системы управления банкоматом»
3. ДИАГРАММЫ КЛАССОВ
Диаграммы классов являются частью логического представления.
Элементы диаграмм классов: пакеты, классы, атрибуты, операции и связи
между классами. Пакеты предназначены для группировки классов.
Класс – это множество объектов с общими свойствами (атрибутами)
и поведением (операциями). Объект – это экземпляр класса. Изображается
класс в нотации UML в виде прямоугольника с тремя секциями. В первой
секции указывается имя класса, во второй – атрибуты, в третьей – операции.
Рассмотрим типы связей между классами.
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Ассоциация – связь, указывающая на то, что объекты классов взаимосвязаны. Классы, соединенные такой связью, могут передавать друг другу
сообщения. Ассоциация может быть однонаправленной и двунаправленной.
Однонаправленная ассоциация представляется в виде линии со стрелкой на
конце, указывающей направление связи. Двунаправленная ассоциация изображается в виде линии со стрелками на обоих концах либо в виде линии
без стрелок.
Связь зависимости – связь между классами/пакетами, указывающая
на то, что один класс/пакет зависит от определений, сделанных в другом
классе/пакете. На диаграмме эта связь представляется в виде пунктирной
линии со стрелкой на стороне класса/пакета, от которого зависит другой.
Агрегация – связь между целым и частью, изображающаяся в виде
линии с ромбом на стороне целого.
Связь обобщения – связь, отражающая отношение «предок–потомок»
между классами. Иными словами, это связь наследования между классами.
На диаграмме она рисуется, как линия со стрелкой в виде незакрашенного
треугольника на стороне «предка».
Создать диаграмму классов можно, выполнив следующие действия.
1. Щелкнуть правой кнопкой мыши по представлению вариантов использования.
2. Из появившегося меню выбрать пункт New > Class Diagram. В
браузере появиться новая диаграмма.
3. Ввести имя новой диаграммы.
Открыть диаграмму можно двойным щелчком мыши по диаграмме в
браузере.
Открыть существующую диаграмму или создать новую можно и через главное меню Browse > Class Diagram. Главная диаграмма (Main) предлагается по умолчанию. На этой диаграмме обычно изображают пакеты
классов. Внутри каждого пакета также создается диаграмма классов, содержащая классы, входящие в пакет.
Описание кнопок панели инструментов диаграммы классов представлено в табл. 3.1.
Таблица 3.1
Пиктограммы панели инструментов диаграммы классов
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item
Связать примечание с объектом
Class
Добавить класс
Interface
Добавить интерфейс
Unidirectional Association Нарисовать связь ассоциации
16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Association Class
Связать класс ассоциации со
связью ассоциации
Package
Добавить пакет
Dependency or Instantiates Нарисовать связь зависимости
Generalization
Нарисовать связь обобщения
Realize
Нарисовать связь реализации
Создать новый класс можно, пользуясь кнопками панели инструментов диаграммы классов, либо выбрав пункт меню Tools > Create > Class, после чего нужно щелкнуть мышью по диаграмме.
Ранее созданный класс можно поместить на диаграмму классов либо
перетащив из браузера на диаграмму, либо выбрав пункт главного меню
Query > Add Classes.
Окно спецификации для класса представлено на рис. 3.1 (как открыть
окно спецификации, описано в разделе «Диаграммы вариантов использования»). На вкладке General можно задать имя класса, его тип, стереотип, документацию, видимость (Export Control).
Рис. 3.1. Окно спецификации для класса
Механизм стереотипов позволяет выделять категории классов. В
UML существует три основных стереотипа. Их описания, названия и обозначения представлены в табл. 3.2. В Rational Rose можно задавать свои
собственные стереотипы.
17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Видимость класса определяется одним из следующих значений:
• Public (общий). Класс виден всем классам системы.
• Protected (защищенный).
• Private (закрытый). Класс виден во вложенных в него классах,
«друзьям» этого класса или из самого класса.
• Implementation (реализация). Класс виден только из классов того
же пакета.
Таблица 3.2
Стереотипы классов
Описание
Обозначение
Название
boundary (граница) Граничный класс – это класс, расположенный на границе системы и окружающей среды (интерфейсы с другими системами, формы, отчеты).
control (управле- Управляющий класс (класс-менедние)
жер) – класс, отвечающий за управление действиями других классов.
entity (сущность)
Класс-сущность – класс, содержащий
информацию, которая хранится постоянно. Обычно для такого класса
создается таблица в базе данных.
На вкладке Detail можно задать (рис. 3.2.):
• устойчивость (Persistence) – сохраняется ли класс после завершения работы приложения или нет;
• множественность (Multiplicity) – количество экземпляров;
• требования к хранению класса (Space) – количество памяти;
• признак абстрактности (Abstract);
• формальные аргументы (Formal Arguments). Заполняются только
для параметризованных классов.
На вкладке Components можно просмотреть компоненты, с которыми
связан класс.
Вкладка Nested предназначена для просмотра, ввода, удаления и редактирования вложенных классов.
На вкладке Files можно просмотреть и прикрепить к классу файл или
ссылку на web-страницу.
Вкладка Attributes предоставляет возможности просмотра, ввода, удаления и редактирования атрибутов класса. Выше перечисленные действия
можно выполнить, пользуясь контекстным меню. Для вызова контекстного
меню щелкните правой кнопкой мыши по области атрибутов.
На вкладке Operations можно просмотреть, ввести, удалить и редактировать операции класса. Для реализации этих действий необходимо воспользоваться контекстным меню.
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Создать новый атрибут или операцию можно не только в окне спецификации для класса. Вызовите контекстное меню для класса на диаграмме
классов или в браузере и выберите пункт New > Attribute или New > Operation соответственно.
Рис. 3.2. Окно спецификации для класса. Вкладка Detail
Окна спецификации для атрибута и операции можно вызвать, пользуясь контекстным меню для этих элементов (щелкнуть правой кнопкой мыши на атрибуте или операции соответственно в браузере, на диаграмме или
в окне спецификации класса).
Окно спецификации атрибута представлено на рис. 3.3. На вкладке
General задаются имя атрибута (Name), тип данных (Type), стереотип
(Stereotype), начальные значения (Initial Value), видимость атрибута (Export
Control) и документация (Documentation).
Видимость атрибута определяется одним из следующих значений:
• Public (общий). Атрибут доступен всем классам системы.
• Protected (защищенный). Атрибут виден только самому классу и
его потомкам.
• Private (закрытый). Атрибут не доступен никаким другим классам.
• Implementation (реализация). Атрибут виден только для классов того же пакета.
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Окно спецификации операции представлено на рис. 3.4. На вкладке
General задаются имя операции (Name), тип данных результата операции
(Return Type), стереотип (Stereotype), видимость атрибута (Export Control) и
документация (Documentation). Признак видимости принимает те же значения, что и для атрибутов.
Рис. 3.3. Окно спецификации атрибута
На вкладке Detail (рис. 3.5.) задаются:
• Arguments – параметры операции. Для каждого параметра указывается имя, тип данных и значение по умолчанию.
• Protocol – протокол. В этом поле указывается порядок выполнения
операций.
• Qualification – уточнение. В этом поле указываются уточнения,
связанные с конкретным языком программирования.
• Size – размер. Предполагаемый объем памяти, необходимый в
процессе выполнения операции.
• Time – предполагаемое время выполнения операции.
• Concurrency – параллелизм. Определяет поведение операции при
нескольких потоках управления.
20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 3.4. Окно спецификации операции
Рис. 3.5. Окно спецификации операции. Вкладка Detail
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вкладка Exceptions позволяет определить исключительные ситуации
для операции.
На вкладке Preconditions задаются условия, которые должны быть
выполнены перед запуском операции.
Вкладка Semantics предназначена для описания спецификации операции.
Вкладка Postconditions служит для определения условий, которые
должны быть выполнены после завершения работы операции.
На вкладке Files можно просмотреть и прикрепить к операции файл
или ссылку на web-страницу.
Создание пакета подобно созданию класса. Щелкнув два раза левой
кнопкой мыши по пакету на диаграмме классов можно открыть главную
диаграмму классов пакета.
Для создания ассоциации требуется выбрать пункт главного меню
Tools > Create > Unidirectional Association или щелкнуть левой кнопкой
мыши по соответствующей кнопке панели инструментов и провести мышью линию ассоциации от одного класса к другому. После создания связи
ассоциации Rational Rose добавит в классы соответствующие атрибуты.
Окно спецификации ассоциации можно вызвать двойным щелчком левой
кнопки мыши по ассоциации или через контекстное меню ассоциации
(рис. 3.6.).
Рис. 3.6. Окно спецификации ассоциации. Вкладка General
22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
На вкладке General задаются имя, стереотип, имена ролей, документация.
Вкладка Detail содержит следующие поля:
• Link Element (элемент связи). В этом поле указывается имя класса
ассоциации, в котором хранятся атрибуты связи.
• Constraints (ограничение). Здесь указывается условие, которое
должно выполнятся.
На вкладке Role General можно задать имя роли (Role), видимость атрибутов (Export Control), которые будут созданы при генерации кода, документацию (Documentation).
Вкладка Role Detail представлена на рис. 3.7. На этой вкладке можно
задать имя роли (Role), ограничения для роли (Constrains), множественность
(Multiplicity), признак того, является ли связь агрегацией (Aggregate), направление связи (Navigable), признак дружественного класса (Friend) и т.д.
Рис. 3.7. Окно спецификации связи зависимости. Вкладка Role A Detail
Связь зависимости можно создать, воспользовавшись пунктом главного меню Tools > Create > Dependency or Instantiates или щелкнув левой
кнопкой мыши по кнопке панели инструментов Dependency or Instantiates.
Проведите линию связи от зависимого класса/пакета к тому классу/пакету,
от которого будет зависеть первый.
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Чтобы создать связь обобщения (связь наследования), необходимо
выбрать пункт главного меню Tools > Create > Generalization или нажать
кнопку панели инструментов Generalization и провести мышью линию связи
от класса-потомка к классу-предку.
Удаление элементов диаграммы классов аналогично удалению элементов диаграммы вариантов использования.
На основе диаграммы классов можно генерировать код приложения.
Рассмотрим пример построения диаграммы классов (рис. 3.8.). Основными составляющими банкомата являются: устройство чтения (позволяет клиенту вводить информацию и считывает данные с пластиковой карты), экран банкомата (отображает информацию), устройство выдачи наличных, принтер банкомата (печатает чек). Управление и организация совместной работы составных частей банкомата осуществляется Контроллером
Банкомата. Также Контроллер Банкомата реализует обмен сообщениями с
Контроллером Банка. Механизм обработки банковских транзакций не является частью нашей системы и поэтому представлен в ней интерфейсом –
Контроллер Банка – который регламентирует взаимодействие банкомата с
сервером банка. Таким образом, выделились основные составляющие проектируемой системы, которые будут представлены классами на диаграмме.
Контроллер Банкомата – управляющий класс, поэтому для него установлен
стереотип «control». Для интерфейса Контроллер Банка перечислены основные методы, которые необходимы для работы Контроллера Банкомата с
сервером банка. Для каждой связи между классами указана кратность, например, в банкомате только один экран, но Контроллер Банка может работать с несколькими банкоматами.
24
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1
+Отображает информацию
1
КонтроллерБанкомата
1
ЭкранБанкомата
+выдает наличные
1
n
принятьСообщение()
1
УстройствоВыдачиНаличных
1
выдатьНаличные()
показатьМенюОпераций()
показатьМенюВыбораСуммы()
+аутентифицирует
клиента и
выполнянет
транзакции
+считывает
информацию
1
1
УстройствоЧтения
пинКод : Integer
номерСчетаКлиента : String
1
КонтроллерБанка
+печатает чек
прочитатьПинКод()
прочитатьНомерСчета()
извлечьКарту()
выборПунктаМеню()
ПринтерБанкомата
печатьЧека()
проверитьПинКод()
проверитьНомерСчета()
открытьСчет()
уменьшитьСчет()
Рис. 3.8. Диаграмма классов «Системы управления банкоматом»
4. ДИАГРАММЫ ВЗАИМОДЕЙСТВИЯ
Диаграммы взаимодействия описывают поведение одного варианта
использования.
Существует два типа диаграмм взаимодействия: диаграммы последовательности и диаграммы кооперации. Диаграммы последовательности
отображают взаимодействие объектов, упорядоченное по времени, а кооперативные диаграммы больше внимания уделяют связям между объектами.
Кооперативные диаграммы используют, когда требуется оценить последствия сделанных изменений. Диаграммы последовательности нагляднее описывают логическую последовательность событий.
Элементами диаграмм взаимодействия являются сообщения и объекты. Объекты на диаграммах представляются в виде прямоугольников, сообщения в виде линий со стрелками. При генерации кода сообщения трактуются как вызовы функций.
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4.1. Диаграммы последовательности
На диаграмме последовательности изображаются объекты и упорядоченные по времени сообщения, которыми они обмениваются. Временная
ось на диаграмме идет сверху вниз. Объекты располагаются в верхней части
диаграммы слева направо. Первым указывается объект, инициирующий
взаимодействие. У каждого объекта есть линия жизни, которая на диаграмме представляется в виде вертикальной пунктирной линии под объектом.
Для создания диаграммы последовательности требуется вызвать контекстное меню соответствующего пакета или варианта использования в
браузере, выбрать пункт New > Sequence Diagram, указать имя диаграммы и
открыть ее двойным щелчком мыши. Можно создать диаграмму последовательности и через главное меню. Для этого необходимо выбрать пункт
Browse > Interaction Diagram. Диаграмму последовательности можно создать на основе диаграммы кооперации. В этом случае достаточно нажать
клавишу F5 или вызвать пункт Browse > Go To Sequence Diagram.
Описание кнопок панели инструментов диаграммы последовательности даны в табл. 4.1.
Таблица 4.1
Пиктограммы панели инструментов диаграммы последовательности
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item Связать примечание с объектом
Object
Добавить объект
Object Message
Нарисовать сообщение между двумя
объектами
Message of Self
Нарисовать рефлексивное сообщение
Return Message
Нарисовать возвращаемое сообщение
Destruction Marker
Нарисовать признак уничтожения
объекта
Добавить на диаграмму последовательности объект-действующее лицо можно, перетащив его мышью из браузера.
Создать новый объект можно, воспользовавшись пунктом главного
меню Tools > Create > Object или кнопкой Object панели инструментов.
Вызов окна спецификации для объектов описан выше. В окне спецификации можно задать имя объекта (Name), имя класса (Class), с которым
соотнесен объект, документацию (Documentation), устойчивость существо26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
вания объекта (Persistence) и признак наличия у него нескольких экземпляров (Multiple instances). Для устойчивости возможно одно из трех значений:
• Persistent – устойчивый. Объект существует постоянно даже после
завершения работы программы.
• Static – статичный. Объект существует в течение всего времени работы программы.
• Transient – временный. Объект существует в течение очень короткого промежутка времени.
Для добавления сообщения между объектами необходимо выбрать
кнопку панели инструментов Object Message или пункт главного меню
Tools > Create > Message, после чего провести при нажатой левой кнопке
мыши от линии жизни объекта, посылающего сообщения, к объекту, получающему сообщение. Для создания рефлексивного сообщения требуется
выбрать пункт главного меню Tools > Create > Message To Self или кнопку
панели инструментов Message To Self, а затем щелкнуть мышью по линии
жизни объекта.
Вызов окна спецификации сообщения описан выше. В окне спецификации для сообщения можно задать имя, документацию, синхронизацию и
частоту. При соотнесении с операцией имя сообщения будет совпадать с
именем операции. Чтобы произвести соотнесение операции с операцией
требуется:
1. соотнести объект, получающий сообщение, с классом;
2. вызвать контекстное меню сообщения щелчком правой кнопки
мыши или окно спецификации сообщения и выбрать поле Name;
3. из появившегося списка выбрать операцию.
Синхронизация и частота сообщений устанавливается в окне спецификации сообщения на вкладке Detail. Возможные пять значений для синхронизации приведены ниже.
• Simple (простое). Сообщения выполняются в одном потоке
управления. Устанавливается по умолчанию.
• Synchronous (синхронное). Объект посылает сообщение и ждет
ответа.
• Balking (с отказом становиться в очередь). Объект посылает
сообщение. Если объект, принимающий сообщение, не может немедленно
принять его, оно отменяется.
• Timeout (с лимитированным временем ожидания). Объект
посылает сообщение и ожидает указанное время. Если объект,
принимающий сообщение, не может принять его в течение этого времени,
то оно отменяется.
• Asynchronous (асинхронное). Объект посылает сообщение и продолжает свою работу без ожидания подтверждения о получении сообщения.
Изображение стрелки сообщения зависит от значения синхронизации.
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Параметр частоты сообщения может иметь два значения.
• Aperiodic (апериодическое). Сообщение посылается не регулярно.
• Periodic (периодическое). Сообщение посылается через определенные промежутки времени.
Напомним, что на диаграмме последовательности сообщения упорядочены во времени. Если необходимо поменять последовательность сообщений, то достаточно перетащить требуемое сообщение мышью вверх или
вниз.
Для того чтобы на диаграммах взаимодействия отображалась нумерация сообщений, необходимо выбрать пункт главного меню Tools > Options
и на вкладке Diagram установить флажки Sequence numbering и Collaboration numbering соответственно. Для диаграмм последовательности в том же
окне можно установить флажок Focus of control, чтобы показать фокус
управления.
На диаграмму последовательности можно поместить скрипт, содержащий пояснения к сообщению, и связать его с соответствующим сообщением.
Для этого нужно выполнить следующую последовательность действий.
1. Выбрать пункт меню Tools > Create > Text.
2. Разместить скрипт на диаграмме (обычно слева) щелчком мыши.
3. Ввести скрипт.
4. При нажатой клавише Shift выбрать скрипт и соответствующее сообщение.
5. Выбрать пункт меню Edit > Attach Script.
Удаление элементов с диаграммы последовательности и удаление
элементов из модели осуществляется аналогично удалению элементов с
других диаграмм (см. раздел «Диаграммы вариантов использования»).
Пример построение диаграммы последовательности рассмотрим для
варианта использования «Снять средства со счета» (рис. 4.1.). Полная модель должна содержать дополнительные диаграммы последовательности,
описывающие реализации всех вариантов использования. На диаграмме
отображается хронологическая последовательность вызовов методов классов, результатом которой является выполнение описываемого варианта использования. Инициатором действий по снятию наличных является Клиент,
поэтому он представлен на диаграмме. Все классы на диаграмме анонимные, так как в данном контексте информация о взаимодействии конкретных
экземпляров не представляет интереса.
28
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4.2. Диаграммы кооперации
На диаграммах кооперации изображают объекты, связи между объектами и сообщения, посылаемые объектами.
Создать диаграмму кооперации можно на основе диаграммы последовательности. Для этого достаточно выделить диаграмму последовательности и нажать клавишу F5 или выбрать пункт главного меню Browse > Go To
Sequence Diagram. Через главное меню можно создать диаграмму кооперации, выбрав пункт Browse > Interaction Diagram. Можно создать диаграмму
кооперации, пользуясь пунктом New > Collaboration Diagram контекстного
меню (вызванного в браузере) соответствующего пакета, варианта использования или логического представления.
Описание кнопок панели инструментов диаграммы кооперации представлено в табл. 4.2.
Создание объектов и задание спецификации описаны выше (см. раздел «Диаграммы последовательности»).
На диаграмму кооперации сообщения можно поместить только после
того, как установлена связь между соответствующими объектами. Последовательность действий по созданию сообщений описана ниже.
1. Выбрать пункт меню Tools > Create > Object Link или щелкнуть
мышью по кнопке панели инструментов Object Link.
2. Провести мышью связь от одного объекта к другому.
3. Выбрать пункт меню Tools > Create > Message или щелкнуть мышью по кнопке панели инструментов Link Message.
4. Щелкнуть мышью по линии связи между объектами.
29
Рис. 4.1. Диаграмма последовательности «Системы управления банкоматом»
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
30
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 4.2
Пиктограммы панели инструментов диаграммы кооперации
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Связать примечание с объектом
Item
Object
Добавить объект
Class Instance
Добавить экземпляр класса
Object Link
Нарисовать связь между объектами
Link to Self
Нарисовать связь с самим собой
Link Message
Нарисовать сообщение между двумя
объектами
Reverse Link Mes- Нарисовать сообщение между двумя
sage
объектами, передаваемое в противоположном направлении связи между
объектами
Data Token
Нарисовать поток информации между объектами
Reverse Data Token Нарисовать поток информации между объектами в противоположном
направлении
Рефлексивные сообщения создаются следующим образом.
1. Выбрать пункт меню Tools > Create > Link To Self или щелкнуть
мышью по кнопке панели инструментов Link To Self.
2. Щелкнуть мышью по объекту.
3. Выбрать пункт меню Tools > Create > Message или щелкнуть мышью по кнопке панели инструментов Link Message.
4. Щелкнуть мышью по рефлексивной связи.
Окно спецификация сообщения описано выше.
На диаграмме кооперации можно показать потоки данных. Для этого
требуется выбрать кнопку панели инструментов Data Token или Reverse
Data Token и щелкнуть мышью по сообщению, передающему данные.
Действия по удалению элементов описаны в разделе «Диаграммы вариантов использования».
Диаграмма кооперации описывает поведение системы на уровне отдельных объектов, которые обмениваются между собой сообщениями, чтобы реализовать некоторый вариант использования, т.е. представляет структурные связи отдельных объектов между собой вне зависимости от време31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ни. Таким образом, диаграмма кооперации отличается от диаграммы последовательности лишь тем, что рассматривает взаимодействие объектов в
контексте статической структуры модели (кто с кем какими методами взаимодействует). Диаграмма кооперации для системы управления банкоматом
представлена на рис. 4.2.
5. ДИАГРАММЫ СОСТОЯНИЙ
На диаграмме состояний отображается поведение объекта. Элементами диаграммы состояния являются все состояния, в которых может находиться объект, события, вызывающие переход из одного состояния в другое, условия, при которых возможен переход, и действия, являющиеся результатом перехода.
Состояние – это удовлетворяющее определенному условию положение объекта, в котором он выполняет какие-то действия или ожидает события. Если несколько состояний имеют одинаковые переходы, то их можно
объединить в одно суперсостояние. Объединенные состояния называются
подсостояниями. Если требуется запоминать, из какой точки суперсостояния был сделан выход, то используют историческое суперсостояние. При
повторном входе в такое суперсостояние объект вернется именно в ту точку, из которой вышел. На диаграмме состояние изображается в виде прямоугольника с закругленными углами. В случае с историческим состоянием
внутри прямоугольника указывается буква «H» в круге. Прямоугольник состояния может быть разбит на две горизонтальные секции. В первой указывается имя состояния. Во второй – деятельность, входное и выходное действия. Деятельность – это поведение объекта, которое выполняется, когда
объект находится в данном состоянии. Имени деятельности предшествует
слово «do». Входное действие – это поведение объекта, которое выполняется, когда объект переходит в данное состояние. Перед именем входного
действия указывается слово «entry». Выходное действие – это поведение
объекта, которое выполняется, когда объект выходит из данного состояния.
Перед именем выходного действия указывается слово «exit».
Существует два специальных состояния: начальное и конечное. Начальное состояние – состояние, в котором объект находится сразу после
своего создания. На диаграмме состояний может быть только одно начальное состояние. Изображается начальное состояние черной точкой. Конечное состояние – состояние, в котором объект находится непосредственно
перед уничтожением. Конечных состояний на диаграмме может быть
сколько угодно. Изображается конечное состояние черной точкой в круге.
Переходы на диаграмме состояний изображаются линиями со стрелками. Рядом со стрелкой указывается событие, инициирующее переход, затем в
квадратных скобках обозначается ограждающее (сторожевое) условие,
32
Рис. 4.2. Диаграмма кооперации «Системы управления банкоматом»
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
которое определяет, когда может быть выполнен переход, и действие – поведение, выполняющиеся как часть перехода. Из одного состояния может быть
несколько переходов по одному и тому же событию, но при этом только одно из сторожевых условий должно принять значение «истина». В каждый
момент времени объект может находиться только в одном состоянии.
Для создания диаграммы состояний требуется выделить в браузере
нужный класс, вызвать контекстное меню щелчком правой копки мыши и
выбрать пункт New > Statechart Diagram. Можно создать диаграмму состояний, воспользовавшись пунктом главного меню Browse > State Machine
Diagram, после выбора соответствующего класса в браузере или на диаграмме классов.
Описание кнопок панели инструментов диаграммы состояний представлено в табл. 5.1.
Таблица 5.1
Пиктограммы панели инструментов диаграммы состояний
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item Связать примечание с объектом
State
Добавить состояние
Start State
Добавить начальное состояние
End State
Добавить конечное состояние
State Transition
Нарисовать переход из одного состояния в другое
Transition To Self
Нарисовать рефлексивный переход
Для создания нового состояния требуется выбрать пункт главного
меню Tools > Create > State или нажать кнопку State панели инструментов,
после чего щелкнуть мышью по диаграмме и указать имя состояния.
Вызов окна спецификации описан в пункте «Диаграмма вариантов
использования». В окне спецификации на вкладке General указываются имя
состояния, стереотип, документация, признак того, является ли состояние
историческим. На вкладке Actions можно определить деятельность, входное
и выходное действия. Для того чтобы задать новую деятельность, необходимо вызвать контекстное меню щелчком правой кнопки мыши по области
деятельности и выбрать пункт Insert. Окно спецификации деятельности вызывается двойным щелчком мыши по деятельности. Значения поля When
могут быть следующими:
• On Entry для входного действия;
• On Exit для выходного действия;
• On Do для деятельности.
34
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В поле Name указывается имя деятельности или действия. В поле
Type возможны два значения:
• Action – действия;
• Send Event – послать событие.
Если требуется послать событие, то необходимо еще заполнить поля
Send arguments (аргументы), send target (целевой объект).
Для создания перехода из одного состояния в другое выберите кнопку
панели инструментов State Transition или пункт меню Tools > Create > Transition. После этого проведите мышью линию от состояния, из которого
осуществляется переход, до состояния, в которое выполняется переход.
Рефлексивный переход можно создать, выбрав пункт главного меню
Tools > Create > Transition to Self или кнопку панели инструментов Transition To Self и щелкнув мышью по состоянию, из которого выполняется рефлексивный переход.
У окна спецификации перехода имеется две вкладки. На вкладке General задается событие (Event), инициирующее переход, аргументы (Arguments), стереотип (Stereotype) и документация (Documentation). На вкладке
Detail (рис. 5.1.) в поле Guard Condition указывается ограждающее условие,
в поле Action – действие, в поле Send event – отправляемое событие, в поле
Send arguments – отправляемые аргументы, в поле Send target – цель события, в поле From – состояние, из которого осуществляется переход, в поле
To – состояние, в которое выполняется переход.
Действия по удалению элементов описаны в разделе «Диаграммы вариантов использования».
Рис. 5.1. Окно спецификации перехода. Вкладка Detail
35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Диаграмма состояний «Системы управления банкоматом» представлена на рис. 5.2. На диаграмме обязательно определяются начальное и конечное состояния системы. В данном случае это состояние, когда банкомат
не работает (выключен). В примере приведены основные состояния системы при реализации варианта использования «Снятие наличных», а также
события и условия, при которых осуществляется смена состояний. Например, из состояния «Обработка запроса на снятие наличных» в зависимости
от количества средств на счету и запрошенной суммы можно перейти в состояние «Получение наличных» либо в состояние «Печать чека».
Рис. 5.2. Диаграмма состояний «Система управления банкоматом»
6. ДИАГРАММЫ ДЕЯТЕЛЬНОСТИ
Диаграммы деятельности предназначены для описания логики бизнес-процессов и процедур. Элементами диаграммы деятельности являются
состояния, действия, переходы, ветвления, параллельные процессы, дорожки. Диаграммы деятельности часто напоминают блок-схемы. Основное отличие диаграмм деятельности от блок-схем – это поддержка первыми параллельных процессов.
36
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для создания диаграммы деятельности требуется выделить в браузере
нужный класс, вызвать контекстное меню щелчком правой копки мыши и
выбрать пункт New > Activity Diagram. Существует и другой способ создания диаграммы деятельности: выделяем класс в браузере или на диаграмме
классов и выбираем пункт главного меню Browse > State Machine Diagram.
Описание кнопок панели инструментов диаграммы деятельности
представлено в табл. 6.1.
Таблица 6.1
Пиктограммы панели инструментов диаграммы деятельности
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item Связать примечание с объектом
State
Добавить состояние
Activity
Добавить действие
Start State
Добавить начальное состояние
End State
Добавить конечное состояние
State Transition
Нарисовать переход
Transition To Self
Нарисовать рефлексивный переход
Horizontal Synchro- Нарисовать горизонтальную синnization
хронизацию
Vertical Synchroni- Нарисовать вертикальную синхроzation
низацию
Decision
Добавить ветвление
Swimlane
Добавить дорожку
Создание состояний, действий, переходов и задание спецификаций на
диаграмме деятельности подобно созданию состояний и переходов на диаграмме состояний.
Поясним специфические для диаграммы деятельности элементы.
Ветвление используется в тех случаях, когда возможно несколько переходов в зависимости от какого-то условия. Может быть только один входящий переход в ветвление и несколько исходящих переходов. Обозначается на диаграмме ветвление ромбом. Для создания ветвления требуется выбрать кнопку панели инструментов Decision или Tools > Create > Decision и
щелкнуть мышью по диаграмме.
Черта синхронизации используется для разделения и слияния параллельных вычислений. При этом разделение имеет один входящий переход и
несколько исходящих. Слияние, наоборот, имеет несколько входящих потоков и один исходящий. Порядок выполнения параллельных действий может
37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
быть любым, диаграмма задает только последовательность действий. Для
создания линии синхронизации достаточно выбрать соответствующую
кнопку панели инструментов или пункт главного меню Tools > Create >
Horizontal Synchronization Bar/Vertical Synchronization Bar и щелкнуть мышью по диаграмме.
Дорожки делят диаграмму деятельности на разделы. Над дорожкой
указывается исполнитель тех действий, которые находятся в этом разделе.
Создать дорожку можно, выбрав пункт меню Tools > Create > Swimlane или
кнопку панели инструментов Swimlane и щелкнув мышью на диаграмме.
После чего указывается имя дорожки.
Действия по удалению элементов описаны в разделе «Диаграммы вариантов использования».
Вернемся к примеру с банкоматом. Последовательность действий, которая выполняется в случае снятия наличных, приведена на диаграмме деятельности (рис. 6.1.). Если выбор следующего действия неоднозначный, то
используется блок принятия решения, в котором при необходимости указываются действие, выполняемое при проверке, и возможные переходы при
помощи условий. Например, после действия «Выбрать пункт меню» доступны переходы к действиям «Запросить размер кредита» и «Ввести сумму». В случае, если действия могут выполняться одновременно (параллельно), например, печать чека и выдача денег, то последовательности параллельных действий помещаются между линиями синхронизации.
7. ДИАГРАММЫ КОМПОНЕНТОВ
Рассмотренные ранее диаграммы отражали логическую модель системы. Диаграмма компонентов описывает особенности физического представления системы: позволяет определить архитектуру разрабатываемой
системы, установить зависимости между программными компонентами. Во
многих средах разработки модуль или компонент соответствует файлу.
Диаграмма компонентов обеспечивает согласованный переход от логического представления к конкретной реализации проекта в форме программного кода.
Диаграммы компонентов находятся в представлении компонентов,
создать ее можно следующим способом:
1) выбрать в браузере пакет или представление компонентов
2) вызвать контекстное меню щелчком правой кнопки мыши,
3) выбрать пункт New > Component Diagram.
Можно создать диаграмму компонентов, воспользовавшись пунктом
главного меню Component Diagram.
Описание кнопок панели инструментов диаграммы компонентов
представлено в табл. 7.1.
38
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 6.1. Диаграмма деятельности «Системы управления банкоматом»
39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 7.1
Пиктограммы панели инструментов диаграммы компонентов
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item Связать примечание с объектом
Component
Добавить компонент
Package
Добавить пакет
Dependency
Нарисовать связь зависимости
Subprogram Specifi- Добавить спецификацию подпроcation
граммы
Subprogram Body
Добавить тело программы
Main program
Добавить главную программу
Package Specifica- Добавить спецификацию пакета
tion
Package Body
Добавить тело пакета
Task Specification
Добавить спецификацию программного модуля
Task Body
Добавить программный модуль
В Rational Rose существует несколько типов компонентов, для каждого из которых существует свое графическое изображение.
Для создания компонента любого типа требуется выбрать соответствующий пункт меню Tools > Create или воспользоваться кнопками панели
инструментов, после чего щелкнуть мышью по диаграмме и ввести имя
компонента.
Как вызвать окно спецификации компонента, описано в пункте «Диаграммы вариантов использования». В окне спецификации компонента на
вкладке General можно задать имя компонента, стереотип, язык программирования, документацию. На вкладке Detail – единственное поле
(Declaration), в котором указываются дополнительные описания, специфические для каждого языка программирования. При генерации то, что введено в это поле, добавляется к коду. На вкладке Realizes определяются классы, соотнесенные с этим компонентом. Вкладка Files позволяет связать
файл или адрес Web-страницы с компонентом.
Создать связь зависимости между компонентами можно следующим
образом. Выбрать пункт меню Tools > Create > Dependency или кнопку Dependency панели инструментов и провести мышью линию связи от зависимого компонента к компоненту, от которого зависят.
40
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Действия по удалению элементов описаны в разделе «Диаграммы вариантов использования».
Диаграмма компонентов для системы управления банкоматом представлена на рис. 7.1.
Устройств Выдачи
Наличных
ReaderDevice.java
Cash.java
КонтроллерБанка
Устройство
чтения
Котроллер
Банкомата
Экран Банкомата
BankomatContro
ller.cpp
Принтер
Банкомата
Printer.java
Display.java
Рис.7.1. Диаграмма компонентов «Системы управления банкоматом»
8. ДИАГРАММЫ РАЗМЕЩЕНИЯ
Диаграммы размещения иногда называют диаграммами развертывания
или диаграммами внедрения. Они предназначены для представления физического расположения системы. Элементами диаграмм размещения являются
узлы, связи между ними и процессы, которые выполняются на узлах.
Узел чаще всего представляет собой устройство, т.е. физическое оборудование, которое может содержать программное обеспечение.
Для создания диаграммы размещения дважды щелкните мышью по
представлению размещения в браузере или выберите пункт главного меню
Browse > Deployment Diagram.
Описание кнопок панели инструментов диаграммы развертывания
представлено в табл. 8.1
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 8.1
Пиктограммы панели инструментов диаграммы размещения.
Пиктограмма
Название
Описание
Selection Tool
Выбрать элемент модели
Text Box
Добавить текст
Note
Добавить примечание
Anchor Note to Item
Связать примечание с объектом
Processor
Добавить процессор
Connection
Добавить связь
Device
Добавить устройство
Процессор – это любое устройство, способное обрабатывать данные
(сервер, рабочая станция). Процессор можно создать, выбрав пункт главного меню Tools > Create > Processor или нажав на соответствующую кнопку
панели инструментов, а затем щелкнув мышью на диаграмме. Окно спецификации вызывается также, как и для элементов других диаграмм. В окне
спецификаций для процессора можно задать имя, стереотип, документацию,
характеристики (Characteristics), процессы (Processes), планирование
(Scheduling). В поле характеристики задается физическое описание процессора. Планирование имеет пять возможных значений:
• Preemptive (с приоритетом). В первую очередь выполняются те
процессы, у которых приоритет выше.
• Non preemptive (без приоритетов). Процессы приоритетов не имеют и выполняются по очереди.
• Cyclic (циклически). Процесс выполняется в течении определенного времени, после чего управление переходит к следующему за ним процессу, и так по кругу.
• Executive (исполняющий). Существует специальный алгоритм,
который управляет выполнением процессов.
• Manual (вручную). Пользователь определяет порядок выполнения
процессов.
Процесс можно создать, пользуясь контекстным меню области процессов в окне спецификаций процессора. Процесс – это поток обработки
информации (исполняемый файл).
Создать устройства (принтеры, сканеры и т.п.) можно, пользуясь
кнопками панели инструментов или пунктом меню Tools > Create >Device.
Связь является физической и осуществляется между узлами. Чтобы
добавить ее на диаграмму, требуется выбрать пункт меню Tools > Create >
Connection или щелкнуть мышью по кнопке панели инструментов Connection. После этого провести линию связи мышью от одного узла к другому.
Удаление элементов с диаграммы и модели описано выше.
42
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Физическое представление программной системы не может быть полным, если отсутствует информация о том, на какой платформе и на каких
вычислительных средствах она реализована. Для представления общей
конфигурации и топологии распределенной программной системы используется диаграмма размещения, которая содержит изображение размещения
компонентов по отдельным узлам системы. Кроме того, диаграмма показывает наличие физических соединений – маршрутов передачи информации
между аппаратными устройствами. Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих
только на этапе ее исполнения.
Диаграмма развертывания для системы управления банкоматом представлена на рис. 8.1.
Банкомат
сеть
Сервер
Банка
Устройство выдачи
наличных
Дисплей
Клавиатура
Принтер
Рис. 8.1. Диаграмма размещения «Системы управления банкоматом»
9. ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА
Для генерации кода необходимо выполнить следующие шаги.
1. Проверить модель. Для проверки модели выберите пункт главного
меню Tools > Check Model. Нарушения правил доступа можно выявить, вызвав пункт главного меню Report > Show Access Violations. Соответствие
модели правилам конкретного языка программирования можно проверить,
выбрав пункт главного меню Tools > [язык программирования] > Syntax
Check.
2. Создать компоненты. Создание компонентов описано выше.
3. Отобразить классы на компоненты. На вкладке Realizes окна
спецификации компонента выберите класс, вызовите контекстное меню
этого класса и выберите пункт Assign.
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. Установить свойства генерации. Окно для установки свойств вызывается командой главного меню Tools > Options. На вкладке, соответствующей языку программирования, можно задать свойства генерации кода.
5. Выбрать компонент, пакет или класс.
6. Генерация программного кода. Выберите пункт главного меню
Tools > [язык программирования] > Generate Code.
10. ПРИМЕР
Построить модель системы, осуществляющей контроль над автодорогой. В систему поступают данные в реальном времени со 150 видеокамер
слежения, расположенных вдоль автодороги. Система должна распознать
объект, вычислить фактическую скорость. В случае превышения скорости
распознать номер транспортного средства и сформировать запрос к соответствующей базе данных. Информация о нарушении регистрируется в
журнале и базе данных. На имя владельца транспортного средства формируется квитанция, к которой прилагается снимок с данными о времени, скорости и месте нарушения. Если скорость превышена более чем на 30 % от
допустимой, отправляется сообщение на ближайший пост по направлению
движения автосредства. (Ниже приводится решение, предложенное студентом 4 курса 2004/2005 г. Сорокиным А.И.)
На первом этапе проектирования системы создадим диаграмму вариантов использования. На ней будет представлены два актера, которые взаимодействуют с системой извне: Камера Слежения и Пост ГИБДД
(рис. 10.1.). Все остальные действия проводятся автоматически внутри системы и не требуют вмешательства со стороны.
Рис. 10.1. Диаграмма вариантов использования
44
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Далее необходимо выделить основные объекты и их взаимосвязи, которые будут использованы в системе, и оформить эту информацию в виде
диаграммы классов. Система служит для учета нарушений скоростного режима владельцами транспортных средств, поэтому необходимо выделить
объекты Нарушение, Владелец и Транспорт. Сводная информация о нарушении и наложенных штрафных санкциях содержится в квитанции, которая
будет представлена в системе классом Квитанция (рис. 10.2.). Для обеспечения возможности последующего расширения системы удобно выделить
различные виды нарушений. Для представления нарушения скоростного
режима вводится класс Превышение Скорости, который является наследником класса Нарушение (рис. 10.3.). При проектировании классов необходимо указывать основные атрибуты класса и методы доступа к ним, а также
методы, реализующие требуемую функциональность.
Владелец
фамилия
имя
отчество
номерУдостоверения
+Владеет
Транспорт
скорость
цвет
номер
+Получает
Квитанция
получатель : Владелец
нарушение : Нарушение
суммаШтрафа
+Содержит
ПревышениеСкорости
зафискированнаяСкорость
getСкорость()
Рис. 10.2. Диаграмма классов
Нарушение
(from Logical View)
Нарушитель : Владелец
ДатаНарушения : Date
ПревышениеСкорости
(from Logical View)
зафискированнаяСкорость
getСкорость()
getНарушитель()
getДатаНарушения()
Рис. 10.3. Диаграмма нарушений
Ядром системы по обработке поступающей информации будет класс
Контроллер, который является управляющим классом, поэтому на диаграмме имеет стереотип «control». При обнаружении движущегося объекта
камера формирует сообщение, содержащее изображение, дату, скорость
объекта и номер камеры. При оживленном движении таких объектов может
быть много, сообщения не обработатываются мгновенно, и поэтому они
45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
помещаются в очередь. Обработкой очереди сообщений занимается Контроллер. Он извлекает Сообщение из очереди и отправляет его в Блок Принятия Решения. Блок Принятия Решения анализирует сообщение: оценивает скорость объекта, и если скорость превышает допустимую, то распознает
объект (определяет номер машины), формирует объект Нарушение и отправляет его Контроллеру. Контроллер, получив Нарушение, фиксирует
его в БД и журнале. В случае грубого нарушения отправляет Нарушение на
компьютер поста ГИБДД. На компьютере поста ГИБДД установлено ПО по
обработке входящих сообщений от Контроллера, поэтому в проектируемую
систему вводится класс Пост (рис. 10.4.).
СообщениеКамеры
снимок
дата : Date
номерКамеры
скорость : Integer
Пост
номерПоста
принятьНарушение()
create()
+отправитьНарушение
+содержит
БлокПринятияРешений
распознатьОбъект()
определитьСкорость()
обработатьСообщ ение()
ОчередьСообщенийКамеры
добавитьСообщение()
извлечьСообщение()
+послать на обработку
+извлечь Сообщ ение
Контроллер
оповеститьПосты()
зафиксироватьНарушение()
принятьСообщение()
принятьНарушение()
Рис. 10.4. Главная диаграмма классов
Для представления хронологической последовательности действий,
необходимых для реализации конкретных вариантов использования и взаимодействия объектов системы, создадим диаграммы последовательности.
Диаграмма последовательности для варианта использования «Отправить данные» представлена на рис. 10.5.
46
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 10.5. Диаграмма последовательности варианта использования
«Отправить данные»
Диаграмма последовательности для описания процесса взаимодействия классов системы в ходе обработки сообщений камеры представлена на
рис. 10.6.
: Контроллер
: ОчередьСообщенийКамеры
: БлокПринятияРешений
1: извлечьСообщение( )
2:
3: обработатьСообщение(СообщениеКамеры)
4: распознатьОбъект( )
5: определитьСкорость( )
6: create
7: принятьНарушение(Нарушение)
[ нарушение создано]
: Нарушение
[скорость
выше
допустимой]
8: зафиксироватьНарушение(Нарушение)
9: оповеститьПосты(Нарушение)
10: принятьНарушение(Нарушение)
11:
Рис. 10.6. Диаграмма последовательности
47
: Пост
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Диаграммы последовательности для остальных вариантов использования предлагается спроектировать самостоятельно.
На основе диаграмм последовательности строим диаграммы коопераций. Для этого в диаграмму кооперации включаем те же классы, что и в
диаграмму последовательности, и добавляем связи между теми классами,
для которых есть вызовы методов. Для связей при необходимости устанавливаем свойства, специфичные для диаграммы кооперации. Камер слежения в системе много, поэтому для актера Камера Слежения задана множественность порядка n (свойство актера Multiplicity, вкладка Details), и на
диаграмме коопераций он отображается соответствующим образом
(рис. 10.7.).
1: create(Object, Integer, Date, Integer)
: КамераСлежения
3:
: Сообщ ениеКамеры
2: добавитьСообщение(СообщениеКамеры)
: ОчередьСообщ енийКамеры
Рис. 10.7. Диаграмма кооперации варианта использования
«Отправить данные»
48
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Диаграмма коопераций для описания процесса взаимодействия классов системы в ходе обработки сообщений камеры представлена на рис. 10.8.
Рис. 10.8. Диаграмма кооперации
49
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Определим основные состояния, в которых может находиться система
в процессе работы. Отобразим их, условия и события перехода между ними
на диаграмме состояний (рис. 10.9.).
Рис. 10.9. Диаграмма состояний
50
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Опишем алгоритм поведения системы при обработке сообщений от
камеры слежения, т.е. выделим действия и условные переходы, которые
должна выполнить система в процессе своей работы. Выделим компоненты
системы, которые участвуют в этом процессе, и создадим для них соответствующие дорожки (рис. 10.10.).
Рис. 10.10. Диаграмма деятельности
Рис. 10.10. Диаграмма деятельности (продолжение)
51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Некоторые действия имеют сложную структуру, поэтому их необходимо детализировать, для этого используются поддиаграммы. В данном
примере такими действиями являются «Регистрация нарушения» и «Обработать сообщение», для которых создаются детализирующие диаграммы
(рис. 10.11, рис. 10.12).
Рис.10.11. Диаграмма действия «Регистрация нарушения»
Определить
скорость
[ скорость выше допустимой ]
Распознать
объект
[ скорость не выше допустимой ]
Создать
Нарушение
Рис.10.12. Диаграмма действия «Обработать сообщение»
52
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Определим физическое размещение классов по компонентам. Следует
отметить, что программный код одного компонента может содержаться в
нескольких файлах, так, например, компонент Блок принятия решения состоит из двух файлов DecisionSupprot.cpp (реализует алгоритмы принятия
решения) и PDDRules.dbf (содержит описания правил дорожного движения). Диаграмма компонентов представлена на рис. 10.13.
Модуль управления
камерой
Модуль принятия
решений
PDDRules.dbf
CameraController.java
Контроллер
DecisionSupport.cpp
Main.cpp
Приложение для
работы с системой
PostAplication.cpp
Рис. 10.13. Диаграмма компонентов
Последним этапом является проектирование размещения компонентов системы на физических устройствах. В данной системе можно выделить
следующие устройства: Камера (на ней размещается ПО, отвечающее за
сбор сообщений), Клиентская машина поста (на ней установлено приложение, принимающее сообщения о грубых нарушениях), Сервер Системы (на
нем установлено ПО, осуществляющее основные функции по обработке сообщений и рассылке информации на посты). Взаимодействие устройств
осуществляется через сеть. Диаграмма развертывания представлена на
рис. 10.14.
53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Камера
<<net>>
сеть
Клиентская
машина поста
Сервер
Системы
Рис. 10.14. Диаграмма размещения
11. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
1. Информационная система университета. Абитуриенты
Необходимо разработать систему по автоматизации учета информации об абитуриентах университета.
При поступлении в университет абитуриент заполняет анкету, в которой указывает данные о себе, своем образовании, факультет и специальность, на которые он хочет поступить.
Данные анкеты поступают в отдел компьютерной обработки и вносятся в базу данных университета. Приемная комиссия осуществляет проверку
введенных данных и вносит исправления в случае обнаружения ошибок.
В ходе приемной кампании возникает необходимость формировать
следующие отчеты для секретарей приемной комиссии:
• списки абитуриентов по факультетам и специальностям;
• списки абитуриентов, имеющих дипломы или аттестаты с отличием;
• статистику подачи документов абитуриентами за указанный промежуток времени (в какой день какое количество заявлений было подано);
• отчет о конкурсе по факультетам (отношение количества мест на
факультете к количеству поданных на этот факультет заявлений).
54
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отчеты формируются отделом компьютерной обработки на основе информации из БД и публикуются на сайте университета для общего доступа.
Приемная комиссия формирует расписание экзаменов в соответствии
с утвержденным перечнем для каждого факультета. Информация о наборе
экзаменов и датах их проведения также вносится в базу данных по факультетам. Кроме того, приемная комиссия формирует расписание сдачи экзаменов для каждого абитуриента (абитуриенты факультета разбиваются на
группы, для которых определяется дата сдачи экзамена).
Расписание сдачи экзаменов (т.е. списки студентов по группам) также
публикуется на сайте университета.
При необходимости приемная комиссия может изменить расписание
сдачи вступительных испытаний для абитуриента, если он предоставит документы, подтверждающие такую необходимость.
Во время проведения вступительных испытаний данные о результатах
для каждого абитуриента поступают в отдел компьютерной обработки и
вносятся в базу данных, затем публикуются на сайте факультета. На этом
этапе необходимо предоставлять следующие отчеты:
• списки абитуриентов по группам с результатами сдачи по выбранному экзамену;
• списки абитуриентов по группам с указанием суммы баллов по
всем прошедшим на данный момент экзаменам;
• отчет о проходных баллах для каждого факультета.
Эти отчеты предоставляются секретарям приемной комиссии, деканам факультетов и публикуются на сайте университета.
После завершения вступительных испытаний приемная комиссия
проводит процедуру зачисления: в отделе компьютерной обработки формируются списки абитуриентов в порядке убывания набранных баллов, и от
начала списка отсчитывается количество мест, выделенных по плану для
поступления.
Результаты зачисления предоставляются деканам факультетов и публикуются на сайте университета.
2. Работа файрвола (firewall)
Система позволяет контролировать сетевую активность компьютера:
определяет, какие приложения пытаются работать с сетью, и принимает
решение запретить или разрешить приложению соединение.
В системе имеется список всех установленных на компьютере приложений, которым может понадобиться соединение, для приложения может
быть создано одно или несколько Правил.
Правило для приложения – это условие вида:
Если удаленный адрес = ххх
И протокол = ууу
55
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
И направление = zzz (входящее/исходящее),
То действие с данными (разрешить/запретить).
Правила позволяют брандмауэру разрешать или запрещать приложению устанавливать сетевое соединение в зависимости от того, с каким сервером и по какому протоколу оно хочет соединяться.
Брандмауэр может работать в разных режимах, которые определяют
его политику безопасности:
• режим разрешения (разрешаются все соединения, которые не были
специально запрещены Правилами приложений);
• режим запрещения (запрещены все соединения, которые не были
специально разрешены Правилами приложений. При попытке приложения
установить соединение, не описанное в правилах, доступ приложения в сеть
будет заблокирован);
• режим блокировки (все попытки соединения будет отклонены);
• режим обучения (при обнаружении попытки соединения брандмауэр выдает пользователю диалоговое окно, в котором сообщает, какое
приложение, по какому протоколу, с каким сервером соединяется, и предлагает следующие варианты действий: разрешить данные однократно, запретить данные однократно, создать правило).
Система также предоставляет возможность контроля содержимого загружаемых веб-страниц (запретить загрузку данных с указанных адресов
или страниц, содержащих указанные слова, запретить загрузку картинок,
превышающих заданные размеры). Эти функции выполняются подсистемой
контроля содержания.
Система предоставляет отчет о всех разрешенных и заблокированных
соединениях для приложений за указанный период или за все время работы,
отчет об объемах трафика для каждого приложения за указанный период
или все время работы.
3. Программное обеспечение форума
Форум представляет собой хранилище сообщений в сети Интернет,
доступ к которому осуществляется при помощи браузера. Для каждого сообщения конференции хранятся значения следующих полей: номер сообщения; автор; тема; текст сообщения; дата добавления сообщения; ссылка
на родительское сообщение.
Начальной страницей форума является иерархический список сообщений. Верхний уровень иерархии составляют сообщения, открывающие
новые темы, а подуровни составляют сообщения, полученные в ответ на сообщения верхнего уровня. Сообщение-ответ всегда имеет ссылку на исходное сообщение. В списке отображаются только темы сообщений, их авторы
и даты добавления.
56
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Просматривая список, пользователь выбирает сообщение и по гиперссылке открывает страницу с его текстом. Помимо текста на этой странице
отображается список (иерархический) сообщений, являющихся ответами,
ответами на ответы и т.д. Для удобства пользователей необходимо предусмотреть поиск сообщений по автору или по ключевым словам в теме или
тексте сообщения.
Сообщения добавляются в форум зарегистрированными пользователями, которые при его отправке должны указать свое имя и пароль. Регистрирует новых пользователей модератор. При регистрации пользователь заполняет специальную форму, содержимое которой затем пересылается модератору и запоминается в базе пользователей. Модератор решает, регистрировать пользователя или нет, и отправляет свой ответ.
При добавлении сообщений пользователь имеет возможность начать
новую тему или ответить на ранее добавленные сообщения. После добавления сообщение доступно для чтения всем пользователям (даже незарегистрированным), список сообщений обновляется.
Модератор имеет право по тем или иным причинам удалять сообщения любых авторов. Он также может наказывать пользователей, нарушающих правила поведения в конференции, лишая их на некоторое время возможности добавлять и редактировать сообщения.
4. Система обмена сообщениями (ICQ)
Необходимо разработать систему, которая позволяла бы пользователям
обмениваться сообщениями друг с другом в режиме реального времени.
Архитектура системы выглядит следующим образом:
• сервер системы, управляющий пересылкой сообщений;
• база данных, в которой хранится информация о пользователях
системы;
• приложение-клиент, установленное у каждого пользователя системы.
Каждый пользователь характеризуется уникальным идентификационным номером, который служит ему адресом в системе.
Приложение-клиент установлено на компьютере пользователя и позволяет отправлять и принимать сообщения, кроме того, поддерживает возможность хранения истории сообщений и формирования списка контактов – набора адресов пользователей, с которыми ведется обмен сообщениями. История сообщений хранится для каждого адреса из списка контактов
локально на компьютере пользователя.
Для того чтобы иметь возможность работать с системой, пользователь
обязан пройти процедуру регистрации, в процессе которой он указывает
информацию о себе (ФИО, место жительства, возраст, род занятий), и ему
57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
присваивается идентификационный номер. Эта информация помещается в
базу данных системы.
После регистрации пользователь получает возможность сформировать список контактов при помощи клиентского приложения. Приложение
предоставляет две возможности поиска новых контактов:
• Поиск по заданному адресу (идентификационному номеру).
• Расширенный поиск по ключевым словам (он осуществляется
Подсистемой Поиска и позволяет находить адреса пользователей по ключевым словам, которые встречаются в их личной информации).
Обмен сообщениями происходит следующим образом:
• Пользователь выбирает получателя в списке контактов и при помощи клиентского приложения пишет и отсылает сообщение.
• Клиентское приложение отправляет сообщение на сервер.
• Сервер проверяет возможность отправки сообщения получателю и
в случае положительного ответа отправляет сообщение.
Клиентское приложение позволяет запретить прием сообщений от
пользователей, выбранных из списка контактов, в этом случае сервер получит сообщение о невозможности доставки сообщения и передаст его отправителю.
5. Почтовый сервер
Почтовый сервер состоит из двух компонент: POP3-сервер, который
позволяет авторизованному пользователю читать почту, и SMTP-сервер,
который позволяет отправлять почту. Работа почтового сервера осуществляется следующим образом:
• один пользователь посылает почтовое сообщение другому пользователю;
• от отправителя сообщение уходит на его почтовый сервер по протоколу SMTP;
• почтовый сервер посылает запрос DNS-серверу о местонахождении получателя почтового сообщения;
• DNS-сервер находит сервер, где зарегистрирован получатель, сообщает адрес этого сервера почтовому серверу отправителя;
• почтовый сервер отправителя отсылает сообщение на почтовый
сервер получателя по протоколу SMTP, а тот, в свою очередь, найдя получателя среди своих пользователей, кладет сообщение в его почтовый ящик.
Для получения доступа к услугам почтового сервера пользователь
должен пройти процедуру авторизации, т.е. указать свое имя и пароль. Незарегистрированные пользователи должны предварительно пройти процедуру регистрации, в процессе которой указывают свои персональные дан58
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ные, а также имя и пароль для входа на сервер. Если имя или пароль указаны неверно, выдается сообщение о невозможности доступа к почтовым сервисам.
После авторизации система предлагает пользователю следующие варианты действий: просмотреть входящую почту; написать новое письмо;
ответить на письмо; переслать почту; удалить письма.
Почтовый ящик имеет ограниченный размер. Пользователь может запросить отчет о степени заполненности ящика. Если объем входящего сообщения больше, чем свободный объем почтового ящика, то сообщение не
принимается и отправителю посылается уведомление об этом.
Система также предоставляет возможность ведения адресной книги.
6. Система управления лифтами
Необходимо разработать систему управления двумя лифтами. Система планирует работу лифтов: отвечает на запросы пользователей; управляет
движением лифтов между этажами.
В каждом лифте есть панель управления (выбор этажей, вызов диспетчера, остановка, аварийное открытие дверей, ход), лампочки лифта, показывающие на каких этажах лифт остановится и на каком этаже находится в
данный момент, а также лампочка перегрузки лифта. Аварийное открытие
дверей возможно только тогда, когда лифт не движется и находится на этаже,
а не между этажами. Движение лифта осуществляется только в том случае,
если нет перегрузки лифта, двери закрыты, есть вызов. Если вызовы отсутствуют, лифт остается в состоянии ожидания на некотором этаже с закрытыми
дверями. В случае перегрузки лифта, то есть общий вес груза и/или пассажиров превышает допустимую, лифт остается на месте с открытыми дверями.
Движение лифта осуществляется с помощью мотора, который управляется
командами подъема, спуска и остановки. Механизм открывания дверей также управляется программно (команды открыть/закрыть).
На каждом этаже есть кнопки «вверх» и «вниз» (на нижнем и верхнем
по одной кнопке) для вызова лифта и соответствующие им лампочки, которые показывают, в каком направлении вызван лифт. Также на каждом этаже
есть табло, показывающее, на каком этаже в данный момент находится
лифт и направление движения лифта.
Системой используются датчики перегрузки, состояния дверей (открыты/закрыты), прибытия на этаж.
Лифт останавливается на ближайшем этаже, с которого поступил вызов, если лифт движется в попутном направлении.
59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
7. Информационная система больницы
Система для обработки данных о врачах, пациентах, их приеме и лечении.
Перед приемом в больницу проводится встреча пациента и врача.
Врач сообщает в отдел приема пациентов об ожидаемом приеме больного и
передает данные о нем. У каждого пациента свой регистрационный номер и
регистрационная карта, где записаны ФИО, адрес, дата рождения, номер
страховки, группа крови (карта выдается пациенту уже после приема в
больницу).
При приеме в больницу сохраняются данные о порядковом номере
приема пациента (один человек может несколько раз быть принят в больницу), причинах приема, дата начала лечения, номер палаты. После этого врачу посылается уведомление о том, что его пациент принят.
В день приема пациент сообщает данные о себе в отдел приема пациентов (т.е. регистрируется), и там информация по необходимости корректируется. Если пациент не помнит свой регистрационный номер, выполняется
соответствующий запрос. После регистрации пациент получает свою регистрационную карту.
Во время пребывания в больнице можно лечиться у нескольких врачей, каждый из которых может назначить несколько курсов лечения, но любой курс назначается только одним врачом. Данные о курсах передаются в
медицинский секретариат, где регистрируются и хранятся. Данные включают номер врача, номер пациента, номер приема, название курса лечения,
дату и время назначения.
При необходимости врач может запросить в медицинском секретариате историю болезни пациента, содержащую информацию о курсах лечения, полученных пациентом.
После завершения лечения врач принимает решение о выписке пациента. Когда пациент выписывается, он сообщает об этом в отдел приема пациентов, где регистрируют данные и дают справку о выписке.
Администрация больницы может запросить отчет о пациентах, которые лечились у выбранного врача в указанный период времени.
8. Система кредитования коммерческого банка
Банк автоматизирует деятельность, связанную с кредитованием юридических и физических лиц.
Кандидат на получение кредита заполняет бумажную форму, прилагает необходимые документы (финансовый отчет, перспективную оценку
финансового состояния и др.) и отправляет в банк.
Референт по кредитованию анализирует запрос на предмет ошибок и
подтверждает его достоверность.
60
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Затем референт запрашивает отчет о кредитных операциях клиента в
отделе кредитования. Копия отчета просматривается банковским служащим, а референт проверяет финансовое положение и доход клиента. Служащий обращается к существующей системе управления счетами клиентов,
чтобы получить необходимую информацию о состоянии счета и предыдущих кредитных операциях клиента.
Вся информация комплектуется в кредитный запрос и отправляется
для оценки инспектору по кредитам. Если запрос утверждается, инспектор
выбирает наилучшие условия кредитования и сообщает об этом клиенту.
Если клиент согласен, кредит оформляется.
9. Система начисления зарплаты
Система должна предоставлять служащим возможность записывать
электронным способом информацию из карточки учета рабочего времени и
автоматически начислять зарплату в зависимости от количества отработанных часов или объема продаж (для служащих, получающих комиссионное
вознаграждение).
Система должна предоставлять служащим возможность вводить информацию из карточки учета рабочего времени и заказы на поставку (для
служащих, получающих комиссионное вознаграждение), изменять параметр
способа оплаты за работу (наличные или перевод).
Система работает на персональных компьютерах служащих компании. Служащие должны иметь возможность доступа только к данным своей
карточки учета рабочего времени и своих заказов на поставку.
Часть служащих получает почасовую оплату. Она начисляется на основе карточек учета рабочего времени, каждая из которых содержит дату и
количество часов, отработанных в соответствии с заданным тарифом. Если
работы ведутся сверхурочно (более 8 часов в день), то оплата за переработанные часы начисляется с коэффициентом 1,5. Служащие с почасовой оплатой труда получают зарплату каждую пятницу.
Часть служащих получает фиксированный оклад, но тоже предоставляют системе свои карточки учета рабочего времени. Благодаря этому система ведет учет количества часов, отработанных в соответствии с конкретными тарифами. Такие служащие получат зарплату в последний рабочий
день месяца.
Часть служащих в дополнение к фиксированному окладу получает
комиссионное вознаграждение, зависящее от объема продаж.
Администратор системы курирует информацию о служащих, добавляет данные о новых работниках, удаляет и редактирует существующие в
случае необходимости.
Приложение автоматически запускает процесс расчета зарплаты в
пятницу и последний рабочий день месяца.
61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
10. Интернет-магазин
Работа интернет-магазина заключается в предоставлении сервиса
приема и выполнения заказов. Для формирования заказа, необходимо зарегистрироваться в этом магазине. После регистрации необходимо авторизоваться (ввести логин/пароль). Заказчики могут откладывать товары в корзину, а позже из выбранных товаров формировать заказ. В заказ можно включить как все товары из корзины, так и их часть. По окончании формирования заказа пользователь выбирает способ оплаты и доставки. Оплата заказов может быть осуществлена при помощи кредитной карты, почтовым переводом, системой оплаты WebMoney, наложенным платежом. Доставка
товаров осуществляется курьерской службой, если клиент находится в том
же городе что и магазин. Если клиент находится в другом городе, доставка
осуществляется по почте. Затем система отправляет клиенту по электронной почте сообщение, подтверждающее получение заказа. Сообщение содержит всю информацию по этому заказу. Формирование заказа начинается
после того, как клиент подтвердит свой заказ либо электронным сообщением, либо телефонным звонком. После подтверждения система отправляет на
склад заявку и печатает счет-фактуру. После проверки кредитоспособности
клиента и способа расчета, заказ отгружается со склада.
В любой момент времени клиент может проверить состояние заказа.
11. Работа оператора сотовой связи
Работа оператора сотовой связи предоставляет услугу клиентам мобильной связи в зонах покрытия данного оператора.
Для подключения к услуге мобильной связи необходимо заключить
контракт с оператором о предоставлении услуг. При подключении клиенту
выдается sim-карта. Sim-карта содержит уникальный номер, однозначно ее
определяющий. С sim-картой связан лицевой счет клиента. Для получения
услуги мобильной связи баланс лицевого счет должен быть положительным. Телефон при вставленной в него sim-карте осуществляет отправку сообщения типа «I’m alive» для определения регистрации себя в сети. Сообщение содержит уникальный номер sim-карты. В случае невозможности отправки такого сообщения считается, что телефон находится вне зоны покрытия. При поступлении звонка ретрансляторы отправляют информационный пакет о начале звонка и устанавливают соединение с телефоном. При
установке контакта определяется тип звонка (входящий, исходящий) и тип
соединения (роуминг с клиентом той же или другой сети, клиент городской
АТС, международный звонок). В зависимости от типа звонка и типа соединения определяется тариф оплаты. Списывание средств осуществляется посекундно, в соответствии с тарифом. При снижении баланса до нуля звонок
прерывается.
62
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Оператор также предоставляет услуги переадресации звонков в следующих случаях: свой номер занят; номер не отвечает; абонент не доступен.
12. Система управления работой стиральной машины
Построить модель системы, управляющей работой автоматической
стиральной машины. Автоматическая стиральная машина осуществляет
следующие операции: предварительное замачивание, стирку, полоскание,
отжим, слив воды. Пользователь при запуске машинки выбирает одну из
стандартных программ стирки или может задать свою собственную. При
задании программы перечисляются все необходимые операции, указывается
температура воды во время стирки, время старта (через сколько часов или
минут начать стирку). Перед началом стирки машина включает блокировку
двери, через несколько минут после окончания стирки, точнее, после слива
воды, блокировка двери снимается. Конец стирки, не закрытая дверь стиральной машинки перед началом стирки, отсутствие воды и т.п. сопровождаются соответствующими звуковыми сигналами. Стиральная машина обладает следующими датчиками: таймер, датчик температуры, датчик уровня
воды и т.д.
13. Информационная система для детской поликлиники
Построить модель информационной системы для детской поликлиники. Информационная система должна позволить заносить информацию о
детях, их родителях, медицинских полисах. Данные о детях включают: фамилию, имя, отчество, дату рождения, пол, адрес, телефон, номер участка,
информацию об учреждении, которое посещает ребенок (номер детского
сада или школы, номер группы или класса, адрес), названия медицинских
препаратов, вызывающих аллергию. Информация о родителях содержит:
фамилию, имя, отчество, место работы. Данные медицинского полиса: номер, дата выдачи, название страховой медицинской организации, выдавшей
полис.
Для каждого ребенка заносятся данные о сделанных прививках: дата,
наименование прививки, название вакцины, ее номер и серия, а также реакция организма ребенка на вакцину, фамилия врача, осматривавшего ребенка
перед прививкой. Существует рекомендуемый план прививок, включающий название прививки и возраст, в котором рекомендуют делать вакцинацию, а также временные интервалы между вакцинациями. Для каждого ребенка существует свой фактический план прививок, в котором указывается
дата, название прививки. Информационная система каждую неделю должна
формировать список детей, подлежащих вакцинации на неделе. Ребенок исключается из этого списка только после занесения данных о его вакцинации
63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
или при переносе срока прививки с указанием причины отсрочки, например: болезнь, отъезд, несогласие родителей и т.п.
Информационная система должна позволить регистрировать вызовы
врача на дом. Данные о вызове включают: дату, фамилию ребенка, температуру, возраст, номер участка, фамилию врача, который обслуживает вызов.
Территория, обслуживаемая поликлиникой, разбита на участки. Каждый участок закреплен за участковым врачом.
Данные о медперсонале поликлиники включают: фамилию, имя, отчество, дату рождения, пол, информацию об образовании (название учебного заведения, которое он закончил, год окончания, специальность, номер
документа), должность, адрес, телефон, паспортные данные, номер рабочего кабинета, часы работы.
Система должна формировать следующие отчеты:
• отчет о вызовах по врачам за указанное число;
• отчет о детях, подлежащих вакцинации в указанный срок;
• справку о вакцинации конкретного ребенка;
• план прививок конкретного ребенка;
• отчет по участкам (какие дома принадлежат какому участку).
В целях обеспечения безопасности предусмотреть следующие ограничения. Данные о вакцинации могут заносить только медсестры процедурного кабинета. Информация о пациентах заносится и корректируется
только регистратором. Данные о вызовах также заносятся работником регистратуры. Информация о реакциях аллергических и на прививку вводится
либо участковым врачом, либо участковой медсестрой.
14. Информационная система школы
Построить модель информационной система школы. О сотрудниках
школы известно следующее: фамилия, имя, отчество, дата рождения, пол,
информация об образовании (название учебного заведения, которое он закончил, год окончания, специальность, номер документа), адрес, телефон,
паспортные данные, информация о детях (фамилия, имя, отчество, дата рождения).
Данные об учениках включают: фамилию, имя, отчество, дату рождения, пол, класс, адрес, телефон, информацию о родителях (фамилия, имя,
отчество, дата рождения, паспортные данные, признак вхождения в родительский совет).
Каждый учитель может вести один или более предметов. Имеется расписание уроков, в котором зафиксировано, в какой день недели, в какое время, в каком классе и кабинете кто из учителей ведет какой предмет. Кабинет
описывается номером, названием и количеством посадочных мест. Для каждого класса ведется журнал, в котором отмечается посещаемость, успевае64
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
мость, темы уроков, а также внеклассная работа. Некоторые учителя являются классными руководителями одного класса. Преподаватели могут вести
факультативы. Имеется их расписание. Известно, кто из учащихся посещает
какой факультатив. Ученик может и не посещать факультативы, а может посещать один и более. Существует расписание внеклассных мероприятий, в
котором отражается информация о них, времени и дне его проведения, для
каких классов предназначено, кто из учителей отвечает за него. В системе
должна содержаться информация об учебных планах для каждого класса (название предмета, количество часов в неделю, общее количество часов за четверть, две четверти, год).
Система должна предоставлять учителям возможность вводить информацию классных журналов, информацию о своих факультативах, внеклассных мероприятиях для класса, в котором учитель является классным
руководителем, а также возможность корректировать расписание внеклассных мероприятий и формировать различные отчеты по своим предметам и
классам.
В целях обеспечения безопасности и аудита учителя должны иметь
возможность доступа и редактирования данных только по своим предметам,
факультативам и классам, в которых ведут занятия. Доступ к расписанию
внеклассных мероприятий имеют только классные руководители и завучи.
Данные об учениках и их родителях также доступны завучам и учителям.
Учителя могут корректировать только данные об учениках того класса, в
котором являются классными руководителями.
Завуч имеет возможность ввода и корректировки расписания уроков и
внеклассных мероприятий, а также формирования различный отчетов. При
составлении расписания система должна не позволять:
• вводить предметы, не указанные в учебном плане для конкретного
класса;
• вводить больше уроков по предмету, чем указано в учебном плане;
• вводить в одном кабинете в одно время уроки более чем в одном
классе;
• вводить уроки, преподаваемые одним учителем в одно время более
чем в одном классе;
• оставлять «окна» для школьников.
Система должна рассчитывать количество отработанных часов для
каждого преподавателя за произвольный промежуток времени.
15. Информационная система для службы занятости
Построить модель информационной системы для службы занятости.
Служба занятости принимает сведенья от работодателей о свободных вакансиях на работу. Данные о свободной вакансии содержат требования к
65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
работнику (образование, опыт работы, возраст, пол, требуемые знания), название вакантной должности, возможную заработную плату, график работы, название организации-работодателя. Вторая категория клиентов службы
занятости – это люди, ищущие работу. Они предоставляют в службу занятости данные о себе (фамилию, имя, отчество, возраст, пол, образование,
специальность, опыт работы, размер запрашиваемой заработной платы,
должность и т.п.). Система должна по произвольному запросу выдавать
свободные вакансии или данные об ищущих работу. В системе регистрируются дата поступления данных от клиентов, кому из клиентов были предложены какие варианты и результаты их встречи (предоставление работы,
отказ, в случае отказа – причина). Если клиент, ищущий работу, сам отказывается от предложенных ему вакансий более n раз, то он перестает быть
клиентом службы занятости.
Кроме этого, служба занятости время от времени формирует группы
из безработных для прохождения курсов повышения квалификации. Информация о возможных курсах предоставляется организациями, осуществляющими обучение.
С системой параллельно работает несколько сотрудников службы занятости. Одни из них заносят и корректируют данные о работодателях, другие работают с соискателями, третьи отвечают за курсы повышения квалификации. В целях обеспечения безопасности и аудита необходимо разграничить права доступа.
16. Информационная система транспортного предприятия
Построить модель информационной системы транспортного предприятия. Плановый отдел осуществляет расчет затрат и прибыли (убытков) от
деятельности предприятия. В состав затрат включаются расходы на бензин,
заработную плату, содержание техники и зданий. Основным документом,
по которому ведется учет затрат на бензин, является путевой лист, в котором отражаются следующие данные: показание пробега автомобиля при
выезде и заезде, фактический расход бензина, количество перевезенного
груза, расстояние, на которое перевезен груз, фамилия водителя, номер,
марка и модель автомобиля. Для каждого автомобиля известен плановый
расход топлива на 100 км пробега в зависимости от времени года.
Документом для проведения взаиморасчетов с заказчиком является
договор, в котором указанно количество груза, расстояние и сумма для расчетов.
Зарплата водителя состоит из двух частей: тарифной части (например:
10 руб. за час работы) и сдельной части (процент от суммы выполненных
работ по договору не более 15 %). В случае превышения фактического расхода бензина над плановым более, чем на значение установленного коэф66
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
фициента, к водителю могут быть применены штрафные санкции. В частности, вычет из заработной платы стоимости перерасхода бензина. Данные
о перерасходе бензина поступают в бухгалтерию из планового отдела.
Система должна позволять формировать стандартный набор бухгалтерских отчетов по зарплате (ведомости, расчетные листки, сводные ведомости) и договорам (по каждому заказчику) за месяц, квартал, год. Кроме бухгалтерских отчетов, система должна формировать отчеты планового отдела
за любой промежуток времени как по водителям, так и по автомашинам.
В целях обеспечения безопасности и аудита бухгалтерская информация должна быть доступна только работникам отдела бухгалтерии в соответствии с их правами.
Данные о водителях доступны для корректировки и ввода только сотрудникам отдела кадров. Информация путевых листов заносится и корректируется только сотрудниками планового отдела.
17. Химический анализатор
Разработать программное обеспечение для химического анализатора.
Химический анализатор определяет количество конкретного вещества в исследуемом образце. На вход анализатора поступают реактивы (растворы
химических веществ), исследуемые образцы (растворы) и контрольный образец (раствор, для которого известна концентрация заданного вещества).
Оператор задает температуру и время для термостатирования, а также способ измерения. В зависимости от способа измерений результат анализа для
каждого образца представляется или в виде какой-то одной единственной
количественной характеристики, или в виде массива измерений. Во втором
случае результат может быть оформлен в виде графика. Химический анализатор выполняет следующие действия:
• приготовление рабочих реактивов (смешивание реагентов, поступивших на входе);
• отбор исследуемого образца определенного объема (за отбор нужного объема отвечает внутреннее устройство – дозиметр);
• смешивание образца с рабочим реактивом;
• термостатирование (поддержание заданной температуры определенный промежуток времени);
• фотометрирование – измерение оптической плотности пробы;
• расчет результата анализа.
Для реализации вышеперечисленных этапов работы используются
датчик температуры, таймер, фотометр.
Существует два способа получения результатов:
• по конечной точке;
• кинетический.
67
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В первом случае фотометрирование проводится один раз, после окончания реакции. Используя второй вариант, можно наблюдать за ходом реакции благодаря тому, что фотометрирование делается несколько раз через
фиксированные промежутки времени в течение заданного периода. Расчет
результата ведется на основе разности интенсивностей окраски веществ,
полученных в результате химической реакции из контрольного образца и
исследуемых образцов.
18. Автомат по продаже напитков
Построить модель программного обеспечения для автомата по продаже напитков. Автомат осуществляет следующие действия: прием наличных денег, запрос напитка и его ингредиентов, выдачу напитка и сдачи. Начальное состояние автомата – ожидание, на дисплее в этот момент выводится приглашение. Заказчику, ответившему на это приглашение, последовательно выдаются сообщения о действиях: в приемник внести купюру (купюры); выбрать напиток; выбрать его ингредиенты и их количество (сахар,
сливки и т.п.); приготовление напитка; выдача сдачи, если требуется. После
принятия денежных купюр, автомат совершает их проверку, если проверка
прошла не успешно, то автомат выводит соответствующее сообщение и
возвращает купюры. После задания заказчиком напитка и его ингредиентов,
автомат совершает проверку, имеются ли в достаточном количестве заданные ингредиенты, если нет, то заказчику выводятся сообщение и список
возможных действий (выбрать другой напиток, изменить ингредиенты и их
количества, отказаться). Также автомат совершает проверку: достаточно ли
денежных средств внесено за заданный напиток, если нет, то выводятся сообщение и предложения (внести не достающую сумму, изменить ингредиенты и их количество, выбрать другой напиток, отказаться). В случае отказа
на любом этапе автомат возвращает внесенные деньги, и напиток не выдает.
19. Информационная система тепличного хозяйства
Разработать модель информационной системы тепличного хозяйства.
Для успешного выращивания растений необходимо соблюдать строгий режим. Рост и плодоносность растения зависит от таких параметров, как температура, влажность воздуха и почвы, освещение, состав почвы, внесение
удобрений. Для определения температуры и влажности используются соответствующие датчики. Автоматические устройства (нагреватель, система
полива и т. п.) позволяют регулировать параметры, влияющие на рост растения. В системе должны храниться данные о режимах выращивания растений (значения температуры, влажности, освещения и период времени, в течение которого надо поддерживать эти значения, время внесения удобре68
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ний). Данные о теплицах включают: номер теплицы, название растения, которое выращивается в этой теплице, и время его посадки. Оператор вправе
корректировать текущее состояние теплицы. Все отступления от режима
выращивания протоколируются в журнале.
20. Программное обеспечение пекарни
Построить модель программного обеспечения для автоматизированной пекарни. Пекарня осуществляет следующие действия: приготовление
теста по заданному рецепту; формирование изделий из теста или заполнение им форм; выпечка по заданному режиму. Для приготовления теста используются датчики массы и уровня подъема теста, а также дозаторы для
ингредиентов. Количество составляющих задается рецептом, некоторые из
них смешиваются предварительно друг с другом, и только затем эта смесь
вводится в тесто. Если готовится дрожжевое тесто, то требуется время и определенная температура для его подъема. В этом случае система обращается к показаниям датчиков температуры, уровня подъема теста, таймера. Если в течение определенного промежутка времени тесто не поднимается, то
оператору выдается соответствующее сообщение. После формирования изделий из теста или заполнения им форм, массе опять дается время на подъем и после этого начинается процесс выпечки, которая осуществляется по
заданному режиму. Он представляется списком из временных интервалов и
температур, соответствующих им. Система должна учитывать время, требуемое на разогрев и остывание печи, для этого используются датчики
температуры и таймер.
21. Информационная система метеорологической службы
Построить модель информационной системы метеорологической
службы. Система должна обеспечивать ввод и редактирование информации
о направлении и силе ветра, осадках, облачности, атмосферном давлении,
влажности воздуха, на определенной территории и в конкретный промежуток времени, а также о перемещениях и эволюции атмосферных фронтов.
Иногда информация о погодных условиях представляется на различных высотах. В базе данных системы обязательно фиксируется источник информации (метеостанция, спутник и т.п.)
Система обеспечивает поиск данных по территориальному и временному признакам.
Информационная система проводит анализ данных и формирует прогноз погоды, а также описывает перемещения и эволюцию атмосферных
фронтов в определенный временной промежуток на определенной территории и сохраняет это в базе данных.
69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
22. Автоматизированная система для библиотеки
Система должна обеспечивать добавление, редактирование и удаление информации о читателях и книгах. Сведения о читателях включают:
фамилию, имя, отчество, дату рождения, адрес, телефон, место работы или
учебы, должность. К информации о книгах относятся: вид издания (сборник/справочник/журнал/газета), название, автор, если есть, издательство,
год издания, номер для газет и журналов, шифр для книг, количество страниц, стоимость, общее количество экземпляров. В системе регистрируются
данные о том, кто из читателей и когда брал книгу, когда должен был ее
вернуть, когда вернул, продлевал какую-то книгу, а также сведения о
встречных требованиях (кто из читателей, когда и на какую книгу оставил
требование).
Система должна обеспечивать:
• поиск книг по названию, автору, шифру, изданию;
• поиск информации о читателях;
• выдачу информации о том, какие книги находятся на руках у заданного читателя;
• выдачу информации о том, имеется ли в наличии заданная книга.
23. Программное средство планирования и управления проектами
Система должна обеспечивать добавление и редактирование информации о проектах менеджерами проектов. Сведения о проектах состоят из
названия, уникального номера, описания, ФИО руководителя проекта, сроков исполнения проекта. Каждый проект включает группу задач, у которых
есть названия, описания того, в чем состоит задача, результаты, планируемые и фактические сроки исполнения, ФИО того, кто отвечает за ее исполнение, а также ФИО всех, кто задействован в реализации этой задачи.
Учесть, что сроки исполнения проекта, задач могут меняться, в системе
должна регистрироваться информация о всех изменениях сроков с указанием причины.
Ответственный за задачу каждый день отправляет по электронной
почте отчет менеджеру проекта о степени ее готовности на текущей день.
Менеджер регистрирует эту информацию в системе.
Система должна обеспечивать выдачу следующих данных:
• какие задачи не реализованы на текущую дату;
• какие задачи реализованы с опозданием;
• кто отвечает за исполнение заданной задачи;
• кто является руководителем заданного проекта;
• в каких проектах и в реализации, каких задач задействован заданный сотрудник.
70
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
С системой параллельно работает несколько сотрудников. В целях
обеспечения безопасности и аудита необходимо разграничить права доступа. Добавлять и редактировать информацию о проекте и задачах проекта
может только менеджер и руководитель проекта. Для всех остальных информация доступна только в режиме просмотра.
ЛИТЕРАТУРА
1. Боггс У. UML и Rational Rose / У. Боггс, М. Боггс. – М. : ЛОРИ,
2001. – 582 с.
2. Вендров А.М. Практикум по проектированию программного
обеспечения экономических информационных систем / А.М. Вендров. –
М. : Финансы и статистика, 2002. – 192 с.
3. Фаулер М. UML основы. Краткое руководство по стандартному
языку объектного моделирования / М. Фаулер. – СПб. : Символ, 2005. –
184 с.
71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Учебное издание
CASE-ПАКЕТ RATIONAL ROSE
Методические указания для вузов
Составители:
Матвеева Мария Валерьевна,
Исламов Альберт Шамильевич,
Машиннова Елена Владимировна
Корректор Е.А. Глаголева
Подписано в печать 17.11.2009. Формат 60×84/16. Усл. печ. л. 4,2.
Тираж 75 экз. Заказ 1605.
Издательско-полиграфический центр
Воронежского государственного университета.
394000, г. Воронеж, пл. им. Ленина, 10. Тел. (факс) +7 (4732) 598-026
http://www.ppc.vsu.ru; e-mail: pp_center@ppc.vsu.ru
Отпечатано в типографии Издательско-полиграфического центра
Воронежского государственного университета.
394000, г. Воронеж, ул. Пушкинская, 3
Документ
Категория
Информатика
Просмотров
281
Размер файла
913 Кб
Теги
rational, case, пакет, rose, 1425
1/--страниц
Пожаловаться на содержимое документа