Пояснительная записка (1206274), страница 4
Текст из файла (страница 4)
Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов.
Предполагается, что окончательный вариант диаграммы содержит наиболее полное описание классов, которые состоят из трех разделов или секций. Иногда в обозначениях классов используется дополнительный четвертый раздел, в котором приводится семантическая информация справочного характера или явно указываются исключительные ситуации.
Имя класса должно быть уникальным в пределах пакета, который описывается некоторой совокупностью диаграмм классов (возможно, одной диаграммой)
Атрибут класса определяет его свойства.
Метод представляет собой некоторый сервис, предоставляющий каждый экземпляр класса по определенному требованию. Совокупность операций характеризует функциональный аспект поведения класса.
Далее приведены диаграммы классов для рассмотренных пакетов. Каждая диаграмма представлена в двух экземплярах: как логическая (рисунок 2.11) и как физическая (рисунок 2.12).
Рисунок 2.11 – Диаграмма классов пакета Database – логическая
Рисунок 2.12 – Диаграмма классов пакета Database – физическая
2.9 Модель реализации
Основная цель, преследуемая при построении модели реализации, – получение работоспособной версии системы. Помимо непосредственного написания программного кода будущей системы, на данной стадии окончательно определяется логическая и физическая организация классов в виде компонентов и подсистем, а также топология распределенной информационной системы.
Таким образом, при разработке модели преследуются цели:
-
определение окончательного состава, структуры и кода классов;
-
распределение классов по компонентам и подсистемам;
-
определение топологии распределенной системы и распределение подсистем по узлам сети;
-
планирование итераций (версий) сборки системы;
-
сборка версий системы.
При разработке модели реализации рекомендуется построить диаграммы:
-
компонентов;
-
развертывания.
Диаграмма размещения
Физическое представление информационной системы не может быть полным, если отсутствует информация о ее топологии и необходимых аппаратных средствах. Помимо сведений о компьютерах, обрабатывающих информацию, необходимо определить, как будет осуществляться связь между ними и какие дополнительные ресурсы (принтеры, модемы, маршрутизаторы и т. д.) должны быть задействованы. Конечно, если разрабатывается однопользовательская локальная система, то отсутствует необходимость в разработке подобной диаграммы. Однако при разработке сетевых корпоративных приложений ситуация представляется совсем по-другому.
Во-первых, сложные информационные системы могут реализовываться на различных вычислительных платформах и технологиях доступа к базам данных. Наличие корпоративной сети требует решения целого комплекса дополнительных задач по рациональному размещению компонентов по узлам сети, что определяет общую производительность информационной системы.
Во-вторых, интеграция информационной системы с Интернетом определяет необходимость решения дополнительных вопросов при проектировании системы, таких как обеспечение безопасности и доступности информации для корпоративных клиентов.
Наконец, доступ и манипулирование данными в рамках двух или трехуровневой технологии «клиент-сервер» также требуют размещения больших БД в различных сегментах корпоративной сети, их резервного копирования, архивирования, кэширования для обеспечения необходимой производительности системы в целом. Эти аспекты также требуют визуального представления с целью спецификации программных и технологических особенностей реализации распределенных архитектур.
Второй формой физического представления программной системы является диаграмма размещения (развертывания). Она применяется для представления общей конфигурации и топологии распределенной информационной системы, содержит сведения о распределении компонентов по отдельным узлам системы и каналом связи между аппаратными средствами (соединения).
Таким образом, диаграмма реализации предназначена для визуализации элементов и компонентов системы, существующих лишь на этапе ее исполнения, к которым относятся исполнимые файлы, динамические библиотеки, таблицы БД и т. д. Те компоненты, которые не используются на этапе исполнения (например, исходные тексты программ), на диаграмме не показываются.
Основные цели, преследуемые при разработке диаграммы развертывания:
-
распределение компонентов системы по ее физическим узлам;
-
отображение физических связей между узлами системы на этапе исполнения;
-
выявление узких мест системы и реконфигурация ее топологии для достижения требуемой производительности.
Элементами диаграммы реализации являются узлы, компоненты и связи между ними.
Диаграмма компонентов
Диаграмма компонентов – статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонентов могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п.
Другим способом спецификации различных видов компонентов является явное указание его стереотипа компонента перед именем. В языке UML для компонентов определены следующие стереотипы:
-
«file» – любой файл, кроме таблицы:
-
«executable» – программа (исполняемый файл);
-
«library» – статическая или динамическая библиотека;
-
«source» – файл с исходным текстом программы;
-
«document» – остальные файлы (например, файл справки);
-
«table» – таблица базы данных.
Данная диаграмма обеспечивает согласованный переход от логического к физическому представлению системы в виде программных компонентов. Одни компоненты могут существовать только на этапе компиляции программного кода, другие – на этапе его исполнения.
На рисунке 2.13 показана диаграмма компонентов для информационной системы интернет-магазина по продаже сотовых телефонов.
Рисунок 2.13 – Диаграмма компонентов
Диаграмма компонентов описывает особенности физического представления системы. Она позволяет определить архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный и исполняемый код.
Основными графическими элементами диаграммы компонентов являются компоненты, интерфейсы и зависимости между ними.
Диаграмма компонентов разрабатывается для следующих целей:
-
визуализации общей структуры исходного кода программной системы;
-
спецификации исполняемого варианта программной системы;
-
обеспечения многократного использования отдельных фрагментов программного кода;
-
представления концептуальной и физической схем баз данных.
В разработке диаграмм компонентов участвуют как системные аналитики и архитекторы, так и программисты.
Диаграмма компонентов обеспечивает согласованный переход от логического представления к конкретной реализации проекта в форме программного кода.
В языке UML выделяют три вида компонентов:
-
развертывания, которые обеспечивают непосредственное выполнение системой своих функций (такими компонентами могут быть динамически подключаемые библиотеки с расширением dll);
-
рабочие продукты - это файлы с исходными текстами программ;
-
исполнения, представляющие собой исполняемые модули (файлы с расширением ехе).
Диаграмма развертывания
Целью диаграммы развертывания является представление физического расположения системы, взаимодействия физического оборудования, на котором запускается та или иная составляющая программного обеспечения.
Главными элементами диаграммы являются узлы, связанные информационными путями. Узел (node) – это то, что может содержать программное обеспечение.
Узлы бывают двух типов:
-
устройство – это физическое оборудование: компьютер или устройство, связанное с системой;
-
среда выполнения – это программное обеспечение, которое само может включать другое программное обеспечение, например, операционную систему.
Второй формой физического представления программной системы является диаграмма размещения (развертывания). Она применяется для представления общей конфигурации и топологии распределенной информационной системы, содержит сведения о распределении компонентов по отдельным узлам системы и каналом связи между аппаратными средствами (соединения).
Таким образом, диаграмма реализации предназначена для визуализации элементов и компонентов системы, существующих лишь на этапе ее исполнения, к которым относятся исполнимые файлы, динамические библиотеки, таблицы БД и т. д. Те компоненты, которые не используются на этапе исполнения (например, исходные тексты программ), на диаграмме не показываются.
Элементами диаграммы реализации являются узлы, компоненты и связи между ними.
На рисунке 2.14 представлена диаграмма развертывания для проектируемой информационной системы интернет-магазина. Взаимодействие между клиентской и серверной частью, как показано на рисунке, осуществляется через интерфейс Denwer.
Рисунок 2.14 – Диаграмма развертывания
3 Проектирование структуры базы данных
Таблица Товары. Данная таблица будет хранить информацию о товарах находящихся на сайте (таблица 3.1).
Поле Номер товара (goods_id) – является первичным ключом таблицы.
Поле Номер бренда (goods_brandid) – является внешним ключом таблицы, а также первичным ключом таблицы Бренды (Brands).
Таблица 3.1 – Goods
| Название | Код | Тип |
| Номер товара | goods_id | Числовой (int) |
| Имя товара | name | Текстовый (varchar) |
| Ключевые слова | keywords | Текстовый (varchar) |
| Описание | description | Текстовый (varchar) |
| Картинка товара | img | Текстовый (varchar) |
| Номер бренда | goods_brandid | Числовой (int) |
| Краткое описание товара | anons | Текстовый (text) |
| Описание товара | content | Текстовый (text) |
| Видимость товара | visible | Перечисление (enum) |
| Лидер продаж | hits | Перечисление (enum) |
| Новинки | new | Перечисление (enum) |
| Распродажа | sale | Перечисление (enum) |
| Цена | price | Числовой (float) |
| Дата | date | Дата (date) |
| Картинки слайдера товара | img_slide | Текстовый (varchar) |
Таблица Бренды. Данная таблица является справочником, содержащая в себе перечень имеющихся брендов и моделей телефонов (таблица 3.2).
Поле Номер бренда (brand_id) – является первичным ключом таблицы.
Таблица 3.2 – Brands
| Название | Код | Тип |
| Номер бренда | brand_id | Числовой (tinyint) |
| Название бренда или модели | brand_name | Текстовый (varchar) |
| Номер каталога | parent_id | Текстовый (varchar) |
Таблица Заказ товара. Данная таблица содержит в себе данные о заказанных товарах клиентов (Таблица 3.3).
Поле Номер заказа товара (zakaz_tovar_id) – является первичным ключом таблицы.
Поле Номер заказа (order_id) – является внешним ключом таблицы, а также первичным ключом таблицы Заказы (orders).
Поле Номер товара (goods_id) – является внешним ключом таблицы, а также первичным ключом таблицы Товары (goods).
Таблица 3.3 – Zakaz_tovar
| Название | Код | Тип |
| Номер заказа товара | zakaz_tovar_id | Числовой (int) |
| Номер заказа | order_id | Числовой (int) |
| Номер товара | goods_id | Числовой (int) |
| Количество товара | quantity | Числовой (tinyint) |
| Название товара | name | Текстовый (varchar) |
| Цена товара | price | Числовой (float) |
Таблица Заказы. Данная таблица содержит в себе информацию о заказе клиентов (таблица 3.4).














