книги / Проектирование автоматизированных информационных систем на основе объектно-ориентированного подхода
..pdfПриложение 2
Лабораторная работа
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ UML
Цель работы: изучение визуального моделирования с помо
щью UML.
Постановка задачи: Разработать компьютерную программу (систему), позволяющую преподавателям создавать электронные за дания для студентов и реализующую процедуру тестирования.
1. Разработка диаграммы прецедентов
Диаграмма прецедентов используется для определения функцио нальных требований к поведению проектируемой системы.
Из постановки задачи следует, что на диаграмме прецедентов бу дет два актера (активных объекта): «Преподаватель» и «Студент».
Прецеденты, ассоциированные с указанными актерами, будут представлять возможные опции системы.
Система позволяет преподавателю:
-создать задание;
-найти ранее созданное задание;
-удалить задание;
-посмотреть результаты студентов. Система позволяет студенту:
-решить тест, состоящий из 10 заданий.
Используя Rational Rose, постройте диаграммы прецедентов, изображенные на рис.П2.1, a; IJ2.J, б.
Решить тест |
''- . ^ « in c lu d e » |
Студент
"'А
Решить задание
Рис. П2.1, б. Решение теста - диаграмма прецедентов
2. Разработка диаграммы классов
Диаграмма классов служит для описания статической структуры модели системы. Перед построением диаграммы необходимо оты скать все классы системы.
В первую очередь можно выделить такие классы, как: «Teacher» (преподаватель), «Student» (студент), «Test» (тест) и «Task» (задание).
Классы «Teacher» и «Student» должны содержать такие атрибуты, как «фамилия», «имя», «отчество» и т.п. В связи с этим имеет смысл создать родительский класс «Person» (человек), который будет со держать подобные атрибуты. В этом случае классы «Teacher» и «Stu dent» будут его потомками, а атрибуты данных классов будут ото бражать только специфичные (отличительные) свойства.
Классы «Test» и «Task» связаны между собой отношением агре гирования. Агрегирование представляет собой форму ассоциации, устанавливающей соотношение частей и целого. В данном случае тест (целое) состоит из 10 заданий (частей).
Каждое задание теста принадлежит строго определенной области знаний, такой как физика, экономика, философия и т.д. Поэтому не обходимо классифицировать каждое задание. Это можно сделать раз личными способами. Один из таких способов - использование меха низма наследования от класса-родителя, представляющего описание области знаний задания. Таковым классом является «TaskGroup» (группа задания). Минус данного способа заключается в сложности переноса задания из одной области в другую. Но так как подобные операции не допускаются, то данный способ может быть применен.
Все перечисленные классы являются классами сущностей. По мимо них необходимо создать классы границ, которые будут
обслуживать процессы взаимодействия между системой и ее окру жением. Таковыми будут являться классы «TeacherTaskOptions» и «StudentTaskOptions».
Используя Rational Rose постройте диаграммы классов, пред ставленные на рис. П2.2 и П2.3.
Рис. П2.2. Пользователь системы - диаграмма классов
Описание атрибутов и операций классов представлено в табл. П2.1.
|
|
Таблица П2.1 |
Класс |
Атрибут/операция |
Расш ифровка |
Person |
ID |
Уникальный идентификатор |
|
lastNam e |
Фамилия |
|
firstName |
Имя |
|
secondN am e |
О тчество |
|
sex |
Пол |
|
login |
Имя пользователя в системе |
Student |
recordBookNum ber |
Н ом ер зачетной книжки |
|
groupCode |
К од группы |
Teacher |
clockNum ber |
Табельный ном ер |
TaskGroup |
Ш |
Уникальный идентификатор |
|
name |
Н азвание группы (области знаний) |
Task |
text |
Текст задания |
|
difficultyLevel |
У ровень слож ности |
|
author |
А втор задания |
|
taskDate |
Дата составления задания |
|
answerCount |
К оличество вариантов ответа |
|
correctAnswer |
Н ом ер правильного ответа |
TeacherTaskOptions |
createNewTask() |
Создать новое задание |
|
findTask() |
Найти задание |
|
deleteTask() |
Удалить задание |
|
showResult() |
Показать результат |
StudentTaskOptions |
postResult() |
Сохранить результат |
|
showResult() |
Показать результат |
|
getTaskTextQ |
П олучить текст задания |
3. Разработка диаграмм взаимодействия
Диаграммы взаимодействия позволяют описать взаимодействие объектов системы. Перед построением диаграмм взаимодействия не обходимо создать реализации прецедентов.
Используя Rational Rose, создайте реализации прецедентов так, как показано на рис. 172.4.
Постройте для каждой реализации прецедентов соответст вующие диаграммы последовательностей и диаграммы сотрудниче ства, представленные на рис. П2.5-П2.9.
На диаграммах взаимодействия появляется еще один объект - «Форма». Данный объект является экземпляром некоторого визуаль ного класса, обеспечивающего графический интерфейс.
ч |
/ |
......... |
|
|
|
|
|
Создать задание |
Создать задание |
||
|
|
(from им cate VI... |
|
/ |
\ ................. |
> |
о |
ч |
<* |
||
Найти задание |
|
Найти задание |
|
|
|
|
(рот им сам VI... |
У' |
-s. |
|
|
/ |
\ .................. |
< |
3 |
|
|
||
Удалить задание |
Удалить задание |
||
|
|
(рот им Сам VI... |
( ' |
" |
\ . .............................. |
< |
3 |
\ |
^ |
/ |
||
Поомотреть |
Посмотреть результаты |
|||
результаты студенто» |
|
студенто» |
||
|
|
|
|
(рот им Сам VI... |
( |
|
\ |
> |
о |
\ ^ |
|
/ |
||
|
|
|
||
Решить задание |
|
Решить задание |
||
|
|
|
|
(pom UftCare VI... |
|
Рис. П2.4. Диаграмма реализаций |
О |
Ю |
: Teacher |
сЬорма |
: TeacherTaskODtions |
Рис. П2.5, а. Создание задания - диаграмма последовательностей
3: отобразить
--- >
TeacherTaskOptions |
:Task |
: Teacher |
Форма |
: Task |
: TeacherTaskQptions |
1:выбор операции "Д^иск"
2:мод данных
3:отобразить
I
4: завершение ввода
5:findTaskO
6: искомое задание
Рис. П2.6, а. Поиск задания - диаграмма последовательностей
3: отобр^зи
Т eacherT askOptions |
Task |
Рис. П2.6, б. Поиск задания - диаграмма сотрудничества
: Teacher |
Форма |
: Task |
: TeacherTaskQptions |
1: выбор задания
2: отобразить
3:выбор операции "удалить^
4:запрос подтверждения
5:подтвердить
6: deleteTaskQ
7 : удаление
-----------X
Рис. П2.7, а. Удаление задания - диаграмма последовательностей
2: отобразить
------->
TeacherTaskOptions |
Task |
Рис. П2.7, б. Удаление задания - диаграмма последовательностей
фЩМ.а
: Teacher ; TeacherTaskOptions просмотра
1: ввод кода группы
2: showResult()
3:таблица результатов!
4:отобразить
Рис. П2.8, а. Просмотр результатов - диаграмма последовательностей
4: отобразить
Форма
Student StudentTaskQptinns 1: переход к очередному заданию
->
2: getTaskTextQ
■>
3: текст задания
4: отобразить
5: выбор ответа
6: postResult()
7' showResult()
>
8: результат
!<
9: отобразить
Рис. П2.9, а. Решение задания - диаграмма последовательностей
4: отобразить 9: отобразить
------ >
4. Разработка диаграммы состояний
Диаграммы состояний используются для моделирования динами
ческих аспектов системы.
Используя Rational Rose, постройте диаграмму состояний, изо
браженную на рис. П2.10.
Рис. П2.10. Решение теста - диаграмма состояний
5. Разработка диаграммы деятельности
Диаграмма деятельности, как и диаграмма состояний, отображает динамические характеристики системы и показывает, как поток управления переходит от одной деятельности к другой, какие ветви процесса могут выполняться параллельно и какие альтернативные пути существуют для достижения цели.
Используя Rational Rose, постройте диаграмму деятельности, представленную на рис. П2.11.