Материал: Лабораторные_Архитерктура ИС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
background image

93

Упражнение

 11. 

Создание

диаграммы

размещения

системы

регистрации

Чтобы

открыть

диаграмму

размещения

надо

дважды

щелкнуть

мышью

на

представлении

 Deployment View (

представлении

размещения

)

в

браузере

.

Чтобы

поместить

на

диаграмму

процессор

:

1

.

На

панели

инструментов

диаграммы

нажмите

кнопку

 Processor.

2.

Щелкните

на

диаграмме

размещения

в

том

месте

куда

хотите

его

поместить

.

3.

Введите

имя

процессора

.

В

спецификациях

процессора

можно

ввести

информацию

о

его

стереотипе

характеристиках

и

планировании

Стереотипы

применяются

для

классификации

процессоров

(

например

компьютеров

под

управлением

 UNIX 

или

ПК

).

Характеристики

процессора

 – 

это

его

физическое

описание

Оно

может

в

частности

включать

скорость

процессора

и

объем

памяти

.

Поле

планирования

 (scheduling) 

процессора

содержит

описание

того

,

как

осуществляется

планирование

его

процессов

:

Preemptive (

с

приоритетом

).

Высокоприоритетные

процессы

имеют

преимущество

перед

низкоприоритетными

.

Non preemptive (

без

приоритета

).

У

процессов

не

имеется

приоритета

Текущий

процесс

выполняется

до

его

завершения

,

после

чего

начинается

следующий

.

Cyclic (

циклический

).

Управление

передается

между

процессами

по

кругу

Каждому

процессу

дается

определенное

время

на

его

выполнение

затем

управление

переходит

к

следующему

процессу

.

Executive (

исполнительный

).

Существует

некоторый

вычислительный

алгоритм

который

и

управляет

планированием

процессов

.

Manual (

вручную

).

Процессы

планируются

пользователем

.

Чтобы

назначить

процессору

стереотип

:

1

.

Откройте

окно

спецификации

процессора

.

2.

Перейдите

на

вкладку

 General.

background image

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);

Проектирование

классов

-

сущностей

 – 

с

учетом

соображений

производительности

  (

выделение

в

отдельные

классы

атрибутов

с

различной

частотой

использования

);

background image

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 (

Первоначальное

значение

введите

значение

атрибута

по

умолчанию

.

background image

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>>

background image

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. 

Рассматривая

каждый

вариант

использования

можно

Источник: https://files.student-it.ru/previewfile/15390