
93
Упражнение
11.
Создание
диаграммы
размещения
системы
регистрации
Чтобы
открыть
диаграмму
размещения
,
надо
дважды
щелкнуть
мышью
на
представлении
Deployment View (
представлении
размещения
)
в
браузере
.
Чтобы
поместить
на
диаграмму
процессор
:
1
.
На
панели
инструментов
диаграммы
нажмите
кнопку
Processor.
2.
Щелкните
на
диаграмме
размещения
в
том
месте
,
куда
хотите
его
поместить
.
3.
Введите
имя
процессора
.
В
спецификациях
процессора
можно
ввести
информацию
о
его
стереотипе
,
характеристиках
и
планировании
.
Стереотипы
применяются
для
классификации
процессоров
(
например
,
компьютеров
под
управлением
UNIX
или
ПК
).
Характеристики
процессора
–
это
его
физическое
описание
.
Оно
может
,
в
частности
,
включать
скорость
процессора
и
объем
памяти
.
Поле
планирования
(scheduling)
процессора
содержит
описание
того
,
как
осуществляется
планирование
его
процессов
:
•
Preemptive (
с
приоритетом
).
Высокоприоритетные
процессы
имеют
преимущество
перед
низкоприоритетными
.
•
Non preemptive (
без
приоритета
).
У
процессов
не
имеется
приоритета
.
Текущий
процесс
выполняется
до
его
завершения
,
после
чего
начинается
следующий
.
•
Cyclic (
циклический
).
Управление
передается
между
процессами
по
кругу
.
Каждому
процессу
дается
определенное
время
на
его
выполнение
,
затем
управление
переходит
к
следующему
процессу
.
•
Executive (
исполнительный
).
Существует
некоторый
вычислительный
алгоритм
,
который
и
управляет
планированием
процессов
.
•
Manual (
вручную
).
Процессы
планируются
пользователем
.
Чтобы
назначить
процессору
стереотип
:
1
.
Откройте
окно
спецификации
процессора
.
2.
Перейдите
на
вкладку
General.

94
3.
Введите
стереотип
в
поле
Stereotype.
Чтобы
ввести
характеристики
и
планирование
процессора
:
1
.
Откройте
окно
спецификации
процессора
.
2.
Перейдите
на
вкладку
Detail.
3.
Введите
характеристики
в
поле
характеристик
.
4.
Укажите
один
из
типов
планирования
.
Чтобы
показать
планирование
на
диаграмме
:
1
.
Щелкните
правой
кнопкой
мыши
на
процессоре
.
2.
В
открывшемся
меню
выберите
пункт
Show Scheduling.
Чтобы
добавить
связь
на
диаграмму
:
1
.
На
панели
инструментов
нажмите
кнопку
Connection.
2.
Щелкните
на
узле
диаграммы
.
3.
Проведите
линию
связи
к
другому
узлу
.
Чтобы
назначить
связи
стереотип
:
1
.
Откройте
окно
спецификации
связи
.
2.
Перейдите
на
вкладку
General.
3.
Введите
стереотип
в
поле
Stereotype (
Стереотип
).
Чтобы
добавить
процесс
:
1
.
Щелкните
правой
кнопкой
мыши
на
процессоре
в
браузере
.
2.
В
открывшемся
меню
выберите
пункт
New > Process.
3.
Введите
имя
нового
процесса
.
Чтобы
показать
процессы
на
диаграмме
:
1
.
Щелкните
правой
кнопкой
мыши
на
процессоре
.
2.
В
открывшемся
меню
выберите
пункт
Show Processes.
3.6.3.
Проектирование
классов
Классы
анализа
преобразуются
в
проектные
классы
:
•
Проектирование
граничных
классов
–
зависит
от
возможностей
среды
разработки
пользовательского
интерфейса
(GUI Builder);
•
Проектирование
классов
-
сущностей
–
с
учетом
соображений
производительности
(
выделение
в
отдельные
классы
атрибутов
с
различной
частотой
использования
);

95
•
Проектирование
управляющих
классов
–
удаление
классов
,
реализующих
простую
передачу
информации
от
граничных
классов
к
сущностям
;
•
Идентификация
устойчивых
(persistent)
классов
,
содержащих
хранимую
информацию
.
Обязанности
классов
,
определенные
в
процессе
анализа
,
преобразуются
в
операции
.
Каждой
операции
присваивается
имя
,
характеризующее
ее
результат
.
Определяется
полная
сигнатура
операции
: operationName(parameter:class,…):returnType.
Создается
краткое
описание
операции
,
включая
смысл
всех
ее
параметров
.
Определяется
видимость
операции
: public, private, protected.
Определяется
область
действия
(scope)
операции
:
экземпляр
или
классификатор
.
Определяются
(
уточняются
)
атрибуты
классов
:
•
Кроме
имени
,
задается
тип
и
значение
по
умолчанию
(
необязательное
): attributeName:Type = Default;
•
Учитываются
соглашения
по
именованию
атрибутов
,
принятые
в
проекте
и
языке
реализации
;
•
Задается
видимость
атрибутов
: public, private, protected;
•
При
необходимости
определяются
производные
(
вычисляемые
)
атрибуты
.
Упражнение
12.
Определение
атрибутов
и
операций
для
класса
Student
Чтобы
задать
тип
данных
,
значение
по
умолчанию
и
видимость
атрибута
:
1
.
Щелкните
правой
кнопкой
мыши
на
атрибуте
в
браузере
.
2.
В
открывшемся
меню
выберите
пункт
Open Specification.
3.
Укажите
тип
данных
в
раскрывающемся
списке
типов
или
введите
собственный
тип
данных
.
4.
В
поле
Initial Field (
Первоначальное
значение
)
введите
значение
атрибута
по
умолчанию
.

96
5.
В
поле
Export Control
выберите
видимость
атрибута
: Public,
Protected, Private
или
Implementation.
По
умолчанию
видимость
всех
атрибутов
соответствует
Private.
Рис
. 3.25.
Класс
Student
с
полностью
определенными
операциями
и
атрибутами
Чтобы
изменить
нотацию
для
обозначения
видимости
:
1
.
В
меню
модели
выберите
пункт
Tools > Options.
2.
Перейдите
на
вкладку
Notation.
3.
Пометьте
контрольный
переключатель
Visibility as Icons,
чтобы
использовать
нотацию
Rose,
или
снимите
пометку
,
чтобы
использовать
нотацию
UML.
Примечание
.
Изменение
значения
этого
параметра
приведет
к
смене
нотации
только
для
новых
диаграмм
и
не
затронет
уже
существующие
диаграммы
.
Student.
- name : string
- address : string
<<class>> - nextAvailID : int
- studentID : int
- dateofBirth : Date
+ getTuition() : double
+ addSchedule(theSchedule : Schedule)
+ getSchedule(forSemester : Semester) : Schedule
+ deleteSchedule(forSemester : Semester)
+ hasPrerequisites(forCourseOffering : CourseOffering) : boolean
# passed(theCourseOffering : CourseOffering) : boolean
<<class>> + getNextAvailID() : int
+ getStudentID() : int
+ getName() : string
+ getAddress() : string
<<entity>>

97
Чтобы
задать
тип
возвращаемого
значения
,
стереотип
и
видимость
операции
:
1
.
Щелкните
правой
кнопкой
мыши
на
операции
в
браузере
.
2.
Откройте
окно
спецификации
класса
этой
операции
.
3.
Укажите
тип
возвращаемого
значения
в
раскрывающемся
списке
или
введите
свой
тип
.
4.
Укажите
стереотип
в
соответствующем
раскрывающемся
списке
или
введите
новый
.
5.
В
поле
Export Control
укажите
значение
видимости
операции
:
Public, Protected, Private
или
Implementation.
По
умолчанию
видимость
всех
операций
установлена
в
public.
Чтобы
добавить
к
операции
аргумент
:
1
.
Откройте
окно
спецификации
операции
.
2.
Перейдите
на
вкладку
Detail.
3.
Щелкните
правой
кнопкой
мыши
в
области
аргументов
,
в
открывшемся
меню
выберите
Insert.
4.
Введите
имя
аргумента
.
5.
Щелкните
на
колонке
Data type
и
введите
туда
тип
данных
аргумента
.
6.
Если
надо
,
щелкните
на
колонке
default
и
введите
значение
аргумента
по
умолчанию
.
Определение
состояний
для
классов
моделируется
с
помощью
диаграмм
состояний
.
Диаграммы
состояний
создаются
для
описания
объектов
с
высоким
уровнем
динамического
поведения
.
В
качестве
примера
рассмотрим
поведение
объекта
класса
CourseOffering.
Он
может
находиться
в
открытом
состоянии
(
возможно
добавление
нового
студента
)
или
в
закрытом
состоянии
(
максимальное
количество
студентов
уже
записалось
на
курс
).
Таким
образом
,
конкретное
состояние
зависит
от
количества
студентов
,
связанных
с
объектом
CourseOffering.
Рассматривая
каждый
вариант
использования
,
можно