Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Проектирование автоматизированных информационных систем на основе объектно-ориентированного подхода

..pdf
Скачиваний:
0
Добавлен:
12.11.2023
Размер:
10.56 Mб
Скачать

«getOffers». Вызовем контекстное меню класса «DisciplineOffer»

и выберем пункт «New» > «Operation». Введем название «getOffers» для нового элемента. Двойным щелчком на элементе-операции от­ кроем окно спецификации и задокументируем данную операцию, введя в поле «Documentation» ее назначение из табл. 5.2. Аналогич­ ным образом создадим оставшиеся операции из табл. 5.2. В результа­ те получим класс «DisciplineOffer», представленный на рис. 5.18.

 

Т аблица 5.2

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

Назначение операции

в Rational Rose

 

getOffers()

Получить список всех существующих предложений

addTeacher()

Назначить преподавателя

removeTeacher()

Снять преподавателя

addStudent()

Добавить студента

removeStudent()

Снять студента

getStudentsQuantityO

Получить список студентов по предложению

save()

Сохранить предложение

close()

Закрыть предложение

cancel()

Отменить предложение

isOpen()

Проверить, действительно ли еще предложение

<<entity>>

DisciplineOffer

^>ID Integer ^studentsQuantity Integer ^studyYear Integer l%term Integer

^ d a y s Enum G|?startTime Time ^endT im e Time

^getOffersO

^addTeacherO

^removeTeacherO

^addStudentO *re moveStudentO

*saveO ^closeO

^cancelO

^isOpenO

Рис. 5.18. Класс «DisciplineOffer»

множественности. Для этого в окне диаграммы классов, дважды щелкнув на линии связи, открываем диалоговое окно спецификации «Association Specification». В этом окне переходим на закладку «Role A Detail» (или «Role В Detail»), соответствующую одной из двух ро­ лей связи или В), и в поле «Multiplicity» вводим требуемое значе­ ние признака множественности. В результате этого получаем диа­ грамму классов, представленную на рис. 5.20.

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

В качестве примера рассмотрим сценарий «Внесение предложения дисциплины». Согласно этому сценарию преподаватель выбирает предмет, который он желал бы читать в течение семестра. Этот сцена­ рий является частным потоком событий, представленным в специфи­ кации прецедента «Выбор дисциплин преподавателем» (см. табл. 4.1). Соответствующая диаграмма представлена на рис. 4.16.

Создадим граничные классы. Напомним, что таковыми являются классы, представляющие собой «посредников» при взаимодействии актера с системой.

С прецедентом «Выбор дисциплин преподавателем» взаимодей­ ствует только один актер - «Преподаватель». В общем случае препо­ даватель может не только вносить новые предложения, но и просмат­ ривать, печатать, редактировать и удалять предложения, внесенные ранее. Система должна содержать некоторые средства, с помощью которых актер мог бы осуществить задуманное. С этой целью созда­ ем класс «ChoosingDisciplineOption» (опция выбора дисциплины). Рассматриваемый сценарий предполагает наличие одной опции - «внесение предложения дисциплины». Эта опция будет являться под­ классом класса «ChoosingDisciplineOption», назовем подкласс «AddingOffer».

Для обслуживания потока событий, происходящих в процессе выполнения прецедента «Выбор дисциплин преподавателем», созда­ дим один класс управления и назовем его «DisciplineOfferControl» (контроль предложения курса).

Создадим вышеперечисленные классы, указав для классов границ стереотип «boundary», а для класса управления стереотип «control». Да­ лее создаем дополнительную диаграмму классов «AddingOfferDgm», на

5.5.Контрольные задачи и упражнения

1.На какой из диаграмм представлено обобщение?

2.

Какой из

представленных

классов

содержит «неудачный»

атрибут?

 

 

 

 

 

Работник

б)

Работник

в)

Работник

 

Таб. номер

 

Отдел

 

Должность

 

 

 

Номер паспорта

 

ФИО

 

ИНН

 

 

 

 

Дата зачисления

 

Возраст

 

Дата рождения

 

 

 

3.Используя Rational Rose, реализуйте диаграмму, представлен­ ную на рис. 5.9.

4.Используя Rational Rose, постройте собственную диаграмму классов пакета «Disciplines».

в.ДИАГРАММА ОБЪЕКТОВ

6.1.Теоретическая часть

Диаграммы объектов позволяют моделировать экземпляры сущ­ ностей, которые содержатся в диаграммах классов. На диаграмме объектов показано множество объектов и отношений между ними в некоторый момент времени [1].

Экземпляром (instance) называется конкретная материализация абстракции, к которой могут быть применены операции и которая может сохранять их результаты [1].

Объект (object) является отдельным экземпляром класса, кото­ рый создается на этапе выполнения программы. Он имеет свое собст­ венное имя и конкретные значения атрибутов. В силу самых различ­ ных причин может возникнуть необходимость показать взаимосвязи не только между классами модели, но и между отдельными объекта­ ми, реализующими эти классы [2].

Изображение объектов на диаграмме идентично изображению классов за исключением того, что имена объектов принято подчерки­ вать, так же как принято указывать класс, к которому относится объ­ ект. Класс указывается через двоеточие после имени объекта (рис. 6.1).

Отношения между объектами отображают сплошными линиями. Диаграмма объектов применяется, как правило, для описания не­

больших частей системы со сложными отношениями или для иллюст­ рации конкретных примеров (рис. 6.1).

Рис. 6.1. Пример диаграммы объектов для описания состава электротехнического факультета

Если имя объекта, изображенного на диаграмме, пропущено (рис. 6.2), то такой объект называется анонимным.

: Принтер

Рис. 6.2. Анонимный объект

6.2. Реализация в Rational Rose

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

6.3. Подведение итогов

Диаграммы объектов применяют при моделировании статических видов системы с точки зрения проектирования и процессов. При этом моделируется «снимок» системы в данный момент времени и изобража­ ется множество объектов, их состояний и отношений между ними [1].

6.4.Контрольные вопросы

1.Дайте определение объекту.

2.Чем отличается графическое изображение объекта от изобра­ жения класса?

3.С какой целью строят диаграммы объектов?

6.5.Контрольная задача

Вкаком случае изображен анонимный объект?

:компьютер

ViewSonic

 

Р655: монитор

процессор = РП

Соседние файлы в папке книги