Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Готовые отчеты (на оценку 5) / Лабораторная работа 3

.pdf
Скачиваний:
59
Добавлен:
20.12.2021
Размер:
1.38 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»

(СПбГУТ)

Факультет инфокоммуникационных сетей и систем Кафедра программной инженерии и вычислительной техники

ЛАБОРАТОРНАЯ РАБОТА №3

по дисциплине «Проектирование и архитектура программных систем»

UML

студент гр. ИКПИ-84

__________________

Коваленко Л. А.

преподаватель каф. ПИиВТ

__________________

д.т.н., проф. Фомин В. В.

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

2021

ПОСТАНОВКА ЗАДАЧИ

Прикладное решение «АИС-КТ» предназначено для сбора и хранения информации, а также формирования отчетов о наличии, движении, ремонте и модернизации офисного компьютерного оборудования и его комплектующих.

«АИС-КТ» служит для ведения учета офисного компьютерного оборудования и его комплектующих, в том числе для оформления фактов поступления оборудования, регистрации поступления комплектующих,

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

«АИС-КТ» предназначена для сотрудников материально-технического отдела небольшой организации, которые будут её эксплуатировать на персональных компьютерах.

ОПИСАНИЕ ИСПОЛЬЗУЕМОГО ПАКЕТА

Для построения UML диаграмм использовался программный продукт

Draw.io — сервис для создания схем и диаграмм. С помощью него можно создавать любые схематические изображения — от схем электрических цепей до структур бизнес-моделей. В числе возможностей — построение диаграмм,

графиков и UML-моделей. В библиотеке форм присутствует несколько десятков фигур, сгруппированных по категориям. Объекты можно форматировать, меняя шрифты, цвет, градиент, толщину линий, уровень прозрачности. Готовые изображения можно сохранять на жёстком диске ПК или вставлять в вики-сайты и блоги.

2

ДИАГРАММЫ UML

Unified Modeling Language (унифицированный язык моделирования).

Язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов,

системного проектирования и отображения организационных структур.

Задача UML — служить средством коммуникации внутри команды и при общении с заказчиком.

Возможные варианты использования диаграмм:

Проектирование. UML-диаграммы могут помочь при моделировании архитектуры больших проектов, в которой можно собрать как крупные,

так и более мелкие детали и нарисовать каркас (схему) приложения. По нему впоследствии разработчики будут писать код.

Реверс-инжиниринг. Создание UML-модели из существующего кода приложения (обратное построение). Может применяться, например, на проектах поддержки, где есть написанный код, но документация неполная или отсутствует.

Документирование. Текст и графика дополняют друг друга.

Диаграммы UML делятся на две группы: структурные диаграммы

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

(т.е. поведения).

3

1. Структурные диаграммы Структурные диаграммы используются для демонстрации

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

1.1. Диаграмма пакетов

Диаграмма пакетов (Package diagram) — диаграмма, отображающая зависимости между пакетами. Используется для иллюстрации многоуровневой архитектуры.

Диаграмма пакетов системы «АИС-КТ» приведена на рис. 1.

Рисунок 1. Диаграмма пакетов «АИС-КТ»

4

1.2. Диаграмма классов

Диаграмма классов (Class diagram) — структурная диаграмма,

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

(классов, типов и т. п.). Для удобства восприятия диаграмму классов можно также дополнить представлением пакетов, включая вложенные.

Видимость членов класса:

+ — публичный (Public);

— приватный (Private);

# — защищённый, для наследников (Protected);

~ — в пределах пакета (Package).

Типы взаимосвязей представлены на рис. 2.

Рисунок 2. Типы взаимосвязей на диаграмме классов

Ассоциация (Association) представляет собой статическое отношение, разделяемое между объектами двух классов. Например,

класс «Человек» ассоциация «учится в» класс «Школа».

Ассоциация может быть именованной, и на концах представляющей её линии могут быть подписаны роли, принадлежности и др.

Двойные ассоциации представляются линией без стрелок на концах,

соединяющей два классовых блока. Например, класс полета связан с классом самолета двунаправленно.

5

Обобщение (Generalization) или Наследование (Inheritance)

показывает, что один из двух связанных классов (от которого идет стрелка) является частной формой другого (к которому идет стрелка).

Например: приматы млекопитающие животные.

Реализация (Realization) или Имплементация (Implementation) —

отношение между двумя элементами, в котором один элемент (от которого идет стрелка) реализует поведение, заданное другим (к

которому идет стрелка). Элемент, задающий поведение, как правило,

является абстрактным классом или классом-интерфейсом.

Например: поиск Бойера — Мура поиск подстроки в строке.

Зависимость (Dependency) — это слабая форма отношения использования, при которой изменение в спецификации одного влечёт за собой изменение другого, причём обратное не обязательно.

Возникает, когда объект выступает, например, в форме аргумента метода или локальной переменной в методе.

Например: автозавод («зависит от») электричество (автозавод не может работать без электричества).

Агрегация (Aggregation) — разновидность ассоциации при отношении между целым и его частями. Агрегация встречается, когда один класс является коллекцией или контейнером других. Если контейнер будет уничтожен, то его содержимое — нет.

Например: профессора факультеты (профессора остаются жить после разрушения факультета).

Композиция (Composition) — более строгий вариант агрегации.

Известна также как агрегация по значению. Если контейнер будет уничтожен, то всё его содержимое будет также уничтожено.

Например: факультеты университет (факультеты уничтожаются после разрушения университета).

6

Мощность отношения означает число связей между каждым экземпляром класса (объектом) в начале линии с экземпляром класса в её конце. Различают следующие случаи:

0..1 — ноль или один экземпляр;

1 — обязательно один экземпляр;

0..* или * — ноль или более экземпляров;

1..* — один или более экземпляров.

В 1С принято различать процедуры и функции, а также стороны выполнения процедур/функций — клиент или сервер. Таким образом, «КП» означает «на клиенте, процедура», «СП» — «на сервере, процедура», «КФ» означает «на клиенте, функция», «СФ» — «на сервере, функция».

В случае регистров сведений: «И» означает измерение (часть составного первичного ключа), «Р» означает ресурс.

7

Диаграмма классов пакета «Служебное» приведена на рис. 3.

Рисунок 3. Диаграмма классов пакета «Служебное»

8

Диаграмма классов пакета «Администрирование» приведена на рис. 4.

Рисунок 4. Диаграмма классов пакета «Администрирование»

9

1.3. Диаграмма развертывания

Диаграмма развёртывания (Deployment diagram) моделирует физическое развертывание артефактов на узлах. Узлы (программные или аппаратные физические сущности) представляются как прямоугольные параллелепипеды с артефактами (конкретные элементы: библиотеки,

исполняемые файлы и т.п.), расположенными в них, изображёнными в виде прямоугольников. Узлы могут иметь подузлы. Один узел диаграммы развертывания может концептуально представлять множество физических узлов, таких как кластер серверов баз данных.

Существует два типа узлов:

Узел устройства;

Узел среды выполнения.

Узлы устройств (Device) — это физические вычислительные ресурсы со своей памятью и сервисами для выполнения программного обеспечения,

такие как обычные ПК, мобильные телефоны.

Узел среды выполнения (Execution Environment) — это программный вычислительный ресурс, который работает внутри внешнего узла и который представляет собой сервис, выполняющий другие исполняемые программные элементы.

Диаграмма развертывания «АИС-КТ» приведена на рис. 5.

Рисунок 5. Диаграмма развертывания «АИС-КТ»

10