Готовые отчеты (на оценку 5) / Лабораторная работа 3
.pdfМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»
(СПбГУТ)
Факультет инфокоммуникационных сетей и систем Кафедра программной инженерии и вычислительной техники
ЛАБОРАТОРНАЯ РАБОТА №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