Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗапискаКурицкая.doc
Скачиваний:
53
Добавлен:
16.03.2015
Размер:
7.98 Mб
Скачать

1.4.4 Диаграммы классов

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

Диаграмма классов состоит из множества элементов, которые в совокупности отражают декларативные знания о предметной области. Эти знания интерпретируются в базовых понятиях языка UML, таких как классы, интерфейсы и отношения между ними и их составляющими компонентами.

Класс в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов. Обязательным элементом обозначения класса является его имя. Оно должно быть уникальным. По мере проработки отдельных компонентов диаграммы, описания классов дополняются атрибутами (свойствами) и операциями (сервисами).

Кроме внутреннего устройства или структуры классов, на соответствующей диаграмме указываются различные отношения между классами. Базовыми отношениями или связями в языке UML являются: отношение ассоциации, отношение агрегации, отношение обобщения.

Существуют разные точки зрения на построение диаграмм классов в зависимости от целей их применения:

  • концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов;

  • точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем;

  • точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования)[9].

В разрабатываемой системе на концептуальном уровне выделено 3 группы классов:

  • Группа сущностных классов (рисунок 1.10);

  • Группа управляющих классов (рисунок 1.11);

  • Группа граничных классов (рисунок 1.12).

Сущностный класс представляет собой объект предметной области. В рамках курсового проекта выбраны следующие сущностные классы:

  1. «Тестируемый» - имеет код тестируемого, фамилию, имя, отчество и дату рождения, связан с классом «Пройденный тест» отношением 1 – 0..* и с классом «Соискатель» отношением 1 ­– 0..*

  2. «Тест» – имеет код теста, название теста, инструкции по прохождению, связан с классом «Вопрос» отношением 1 – 1..* , с классом «Критерий» отношением 1 – 1..*, с классом «Вариант ответа» отношением 1 – 1..*, с классом «Пройденный тест» отношением 1 – 0..* и с классом «Элемент батареи» отношением 1 – 0..*.

  3. «Критерий» - имеет код критерия и название, связан с классом «Тест» отношением 1..* – 1, с классом «Результат» отношением 1 - 0..*, с классом «Качество» отношением 1 – 0..* и с классом «Вопрос» отношением 1– 1..* .

  4. «Вариант ответа» - имеет код ответа, название ответа, связан с классом «Тест» отношением 1..* – 1, с классом «Данный ответ» отношением 1 – 0..* и с классом «Вопрос» отношением 0..1 – 0..*.

  5. «Вопрос» - имеет код вопроса, текст вопроса, правильный вариант ответа, связан с классом «Тест» отношением 1 – 1..*, с классом «Данный ответ» отношением 1 – 1..*, с классом «Критерий» отношением 1..* – 1 и с классом «Вариант ответа» отношением 0..* – 0..1.

  6. «Пройденный тест» - имеет дату прохождения, связан с классом «Тестируемый» отношением 0..* – 1 и с классом «Тест» отношением 1 – 0..*, с классом «Результат» отношением 1 – 1..* и с классом «Данный ответ» отношением 1 – 1..*.

  7. «Данный ответ» - имеет текстовый ответ, связан с классом «Пройденный тест» отношением 1..* – 1, с классом «Вопрос» отношением 1..* – 1 и с классом «Вариант ответа» отношением 0..* – 1.

  8. «Результат» - имеет значение критерия, связан с классом «Пройденный тест» отношением 1..* – 1 и с классом «Критерий» отношением 0..* – 1.

  9. «Соискатель» - имеет код соискателя, а, уровень полномочий, связан с классом «Тестируемый» отношением 0..* – 1, с классом «Качество» отношением 0..* – 1..* и с классом «Профессия» отношением 0..* – 1.

  10. «Качество» - имеет код качества, название качества, минимальное значение, максимальное значение, корректируемость, связан с классом «Критерий» отношением 0..* – 1, с классом «Соискатель» отношением 1..* – 0..* и с классом «Профессия» отношением 0..* – 0..*.

  11. «Элемент батареи» - имеет включение в батарею, связан с классом «Тест» отношением 0..* – 1 и с классом «Батарея» отношением 1..* – 1.

  12. «Батарея» - имеет код батареи, связан с классом «Элемент батареи» отношением 1 – 1..*.

  13. «Профессиональная сфера» - имеет код профессиональной сферы, название профессиональной сферы, связан с классом «Качество» отношением 0..* – 1..* и с классом «Профессия» отношением 1 – 1..*.

  14. «Профессия» - имеет код профессии, название профессии, связан с классом «Соискатель» отношением 1 – 0..* и с классом «Профессиональная сфера» отношением 1..* – 1.

Рисунок 1.10 – Диаграмма сущностных классов

Диаграмма классов управления, изображенная на рисунке 1.9, наглядно показывает взаимодействие классов доступа. Главный класс в этом наборе это «Доступ к данным», т.к. через него осуществляется доступ к данным тестируемых и тестов. Данный класс осуществляет сериализацию и десериализацию данных по тестируемым и тестам в файлы. Также на диаграмме классов управления присутствуют классы для доступа к данным конкретных сущностных классов (доступ к данным тестируемых и тестов) и контроллеры профессиограммы, прохождения теста Амтхауэра и прохождения батарей.

Рисунок 1.11 – Диаграмма классов управления

Граничные классы, продемонстрированные на рисунке 1.10, представляют собой оконные формы, с которыми взаимодействует пользователь. При запуске активируется форма «Вступительная форма». Следующая форма – «Форма аутентификации пользователя», в которой происходит авторизация тестируемого, психолога или работодателя. Основная форма работы пользователя – «Главная форма». Если авторизован тестируемый, то на главной форме активизируется «Форма тестируемого», если авторизован психолог – «Форма психолога», а если работодатель, то – «Форма работодателя». В «Форме психолога» представлены формы для отображения ответов тестируемого – «Представление данных тестируемого», для отображения результатов прохождения тестирования – «Представление результатов тестирования», для отображения отчётов – «Форма отображения отчётов» и для редактирования батарей – «Предоставление редактирования батарей». В «Представлении результатов тестирования» представлена «Форма отображения профиля», которая позволяет отображать и распечатать профиль результатов. В «Форме работодателя» представлены формы «Представление формирования батареи» и «Представление профессиограммы», которая, в свою очередь, включает «Форму дополнительной мотивации».