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

Prischepa_lab2_1323_1

.docx
Скачиваний:
3
Добавлен:
12.12.2023
Размер:
154.56 Кб
Скачать

Санкт-Петербургский государственный

электротехнический

университет «ЛЭТИ» им. В.И.Ульянова

(Ленина)

Лабораторная работа № 2

По теме «Диаграмма классов».

Вариант 8 «ИС Поликлиники»

Студент/группа Прищепа А.С. 1323

Преподаватель Соничев А.В.

Санкт-Петербург

2022 г.

1

ИС Поликлиники

Запись на прием к врачу

Диаграмма классов поликлиники (рис.1)

Комментарии к работе

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

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

Пример класса Пациент: ФИО и Поликлиника (к которой прикреплен пациент) это атрибуты или еще по-другому свойства данного класса,

2

имеющие некоторую кратность (кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав отдельного класса), тип и видимость («+»- публичный, «#»-защищенный и «-»-приватный). Например атрибут ФИО имеет кратность [1..3], а значит может состоять из 3 слов(имя, фамилия, отчество), тип string ,то есть является прописным текстом( набором слов) ,имеет публичный тип.

В третьей секции прямоугольника записываются операции или методы класса. Операция представляет собой некоторый сервис, предоставляемый каждым экземпляром класса по определенному требованию. Совокупность операций характеризует функциональный аспект поведения класса.

Пример: в классе Паспортные_данные :: Заведение_карточки («::»-обозначает принадлежность данного класса к большему пакету Заведение_карточки) метод сохранить_в_базу_данных(ФИО…) является защищенным , сохраняет атрибут (ФИО…) в базу данных поликлиники, то есть происходит создание и сохранение карточки определенного пациента (с защищенной информацией о данном пациенте) в данной поликлинике и имеет тип string, то есть является текстом (информацией о пациенте).

Интерфейс служит для спецификации параметров модели, которые видимы извне без указания их внутренней структуры. Формально интерфейс эквивалентен абстрактному классу без атрибутов и методов с наличием только абстрактных операций. Используется, когда какая-либо точная информация не нужна, для удобства и лучшего понимания диаграммы и взаимодействий между классами.

3

Пример: интерфейс IВрач взаимодействует с классом Прием, благодаря чему мы понимаем, что в процессе приема пациента участвует какой-либо врач (и в данном случаем нам достаточно лишь абстрактного понимая взаимодействия специалиста и пациента). Мы понимаем, именно врач определенной специальности, к которому на прием записался пациент, будет подбирать лечение или направлять на анализы, а не какой-то неизвестный нам человек.

Пакет- этот также некоторый элемент удобства на диаграмме классов. Он способен вмещать в себя несколько подпакетов/классов, то есть это некий один общий пакет с данными, которые мы смогли объединить вместе благодаря общему смыслу. Пример: Регистрация_пациента включает в себя подпакеты Заведение_карточки::Регистрация_пациента и Оформление_на_прием::Регистрация_пациента, которые в свою очередь состоят из классов Паспортные_данные::Заведение_карточки, Проверка_на_корону::Оформление_на_прем, Запись_на_прием::Оформление_на_прием. Так мы понимаем, что регистрация пациента сопровождается заведением личной карточки в базе поликлинике, обязательной проверкой на короновирус и дальнейшей записью на прием к определенному врачу.

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

1) отношение зависимости (пунктирная стрелочка);

2) отношение ассоциации (обычная стрелочка);

3) отношение агрегации (стрелочка с пустым ромбиком на конце);

4) отношение обобщения (стрелочка с закрашенным ромбиком на конце);

5) отношение реализации (стрелочка с обычным пустым наконечником).

4

В своей работе я использовала все 5 из 5 видов, в основном дабы упростить большую диаграмму до понятной для каждого схемы взаимодействия элементов при записи на прием к врачу в поликлинику.

Пациент и пакет Регистрация_пациента связаны отношением зависимости (так как кратность не указана, она автоматически является 1, то есть для конкретного пациента является возможным одна регистрация в данной поликлинике) и указывает на то, что между этими двумя элементами взаимодействие максимально общее и при изменении, например, истории болезни пациента (пациент заболеет), то его карточка в поликлиники пополниться информацией о данной болезни и деталях лечения данного пациента.

Пакет Регистраци_пациента и Прием уже имеет кратность [1..*], что означает при регистрации пациент может записаться на совершенно разные приемы у разных врачей (нет ограничений). Они связаны отношением ассоциации, в основном оповещает о порядке следования процессов, сначала пациента регистрируют, а потом только он попадает на прием к врачу.

Пациент и Прием связаны отношением агрегации, Прием обязательно включает в себя пациента, без него собственно и не может происходить прием у врача. Это отношение по своей сути описывает декомпозицию или разбиение сложной системы на более простые составные части и является частным случаем отношения ассоциации.

Проверка_на_корону::Оформление_на_прием с помощью композиции связан с Приемом. Во время Приема может пройти повторная и более детальная проверка пациента на короновирус.

Врач и Медсестра( данный класс я поместила в диаграмму только для того, чтобы показать еще один вид отношений-отношения обобщения) имеют тип отношений – обобщение. На приеме вас может принять и медсестра, например если цель вашего приема только сдать анализы.

Количественная оценка диаграммы:

Тип элемента

Оценка для элемента

Класс (class)

5

Интерфейс (interface)

4

Прецедент (use case)

2

Компонент (component)

4

Узел (node)

3

Процессор (processor)

2

Взаимодействие (interaction)

6

Пакет (package)

4

Состояние (state)

4

Примечание (node)

2

5

 

Тип связи

Оценка для связи

Зависимость (dependency)

2

Ассоциация (association)

1

Агрегирование (aggregation)

2

Композиция (composition)

3

Обобщение (generalization)

3

Реализация (realization)

2



Тип диаграммы

Диапазон оценок

Классов (class) - с атрибутами и операциями

5-5,5

Классов (class) - без атрибутов и операций

3-3,5

Компонентов (component)

3,5-4

Вариантов использования (use case)

2,5-3

 

S=((6*5+6*2+1*4+1*4)+(2*1+1*1+2*2+3*1+1*1))/(1+16+(3+5)^(1/2))=3

Ответ : количественная оценка данной диаграммы классов равно 3.

6

Соседние файлы в предмете Архитектура информационных систем