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

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

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

Приложение 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.

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