Результаты антиплагиата (1207245), страница 5
Текст из файла (страница 5)
Диаграмма классов может отражать, в частности, различныевзаимосвязи между отдельными сущностями предметной области, такими какобъекты и подсистемы, а также описывает их внутреннюю структуру и типыотношений. На данной диаграмме не указывается информация о временныхаспектах функционирования системы. С этой точки зрения диаграмма классовявляется дальнейшим развитием концептуальной модели проектируемойсистемы.Диаграмма классов представляет собой некоторый граф, вершинамикоторого являются элементы типа "классификатор", которые связаныразличными типами структурных отношений.
Следует заметить, что диаграммаклассов может также содержать интерфейсы, пакеты, отношения и дажеотдельные экземпляры, такие как объекты и связи. Когда говорят о даннойдиаграмме, имеют в виду статическую структурную модель проектируемойсистемы. Поэтому диаграмму классов принято считать графическим 15представлением таких структурных взаимосвязей логической модели системы,которые не зависят или инвариантны от времени. 2Класс (class) в языке UML служит для обозначения множества объектов,которые обладают одинаковой структурой, поведением и отношениями собъектами из других классов.
1Предполагается, что окончательный вариант диаграммы содержит наиболееполное описание классов, которые состоят из трех разделов или секций. Иногдав обозначениях классов используется дополнительный четвертый раздел, вкотором приводится семантическая информация справочного характера илиявно указываются исключительные ситуации. 1Имя класса должно быть уникальным в пределах пакета, которыйописывается некоторой совокупностью диаграмм классов (возможно, однойдиаграммой) 131 1Атрибут класса определяет его свойства.Метод представляет собой некоторый сервис, предоставляющий каждыйэкземпляр класса по определенному требованию.
Совокупность операцийхарактеризует функциональный аспект поведения класса. 1Далее приведены диаграммы классов для рассмотренных пакетов (рисунок2.11) и (рисунок 2.12). Каждая диаграмма представлена в двух экземплярах: каклогическая (на русском языке) и как физическая (с учетом языкапрограммирования).Рисунок 2.11 – Диаграмма классов пакета Database – логическая32Рисунок 2.12 – Диаграмма классов пакета Database – физическая332.4 Модель реализацииОсновная цель, преследуемая при построении модели реализации, –получение работоспособной версии системы. Помимо непосредственногонаписания программного кода будущей системы, на данной стадииокончательно определяется логическая и физическая организация классов ввиде компонентов и подсистем, а также топология распределеннойинформационной системы.Таким образом, при разработке модели преследуются цели:определение окончательного состава, структуры и кода классов;распределение классов по компонентам и подсистемам;определение топологии распределенной системы и распределениеподсистем по узлам сети;планирование итераций (версий) сборки системы;сборка версий системы.При разработке модели реализации рекомендуется построить диаграммы:компонентов;развертывания.Диаграмма компонентовДиаграмма компонентов – статическая структурная диаграмма, показываетразбиение программной системы на структурные компоненты и связи(зависимости) между компонентами.
В качестве физических 44 компонентов могутвыступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п. 59Диаграмма компонентов позволяет определить состав программныхкомпонентов, в роли которых может выступать исходный, бинарный иисполняемый код, а также установить зависимости между ними.При разработке диаграмм компонентов преследуются цели: 2934‒ спецификация общей структуры исходного кода системы;‒ спецификация исполнимого варианта системы.Данная диаграмма обеспечивает согласованный переход от логического кфизическому представлению системы в виде программных компонентов.
Одникомпоненты могут существовать только на этапе компиляции программногокода, другие – на этапе его исполнения.Основными элементами диаграммы являются компоненты, интерфейсы изависимости между ними. Кроме этого, на ней могут отображаться ключевыеклассы, входящие в компоненты. 29Компонент – это физическая часть системы. Компоненты, представляющиесобой файлы с исходным кодом классов, 29 библиотеки, исполняемые модули ит.п., которые должны обладать согласованным набором интерфейсов.
Для ихграфического представления 29 используются следующие графические символы.Внутри компонента, как и класса, могут быть выделены дополнительныесекции, в которых указываются предоставляемые или необходимые для работыинтерфейсы и классы, методы, наименование файла-компонента и т.п.Интерфейс – это внешне видимый, именованный набор операций, которыйкласс, компонент или подсистема может предоставить другому классу,компоненту или подсистеме, для выполнения им своих функций.В 45 некоторых языках программирования, в частности в C#, интерфейспредставляет собой отдельный класс, включаемый и реализуемый(конкретизируемый) в части программного кода операций в составе другихклассов.На диаграмме компонентов интерфейс отображается так же, как и надиаграмме классов (слева от компонента необходимые для работы интерфейсы,справа - предоставляемые).Отношение ассоциации отображается между компонентами и ихинтерфейсами.На рисунке 2.13 показана диаграмма компонентов, в которой отраженыосновные элементы разрабатываемой информационной системы.
135Диаграмма развертывания 1Физическое представление информационной системы не может бытьполным, если отсутствует информация о 49 ее топологии и необходимыхаппаратных средствах. Помимо сведений о компьютерах, обрабатывающихинформацию, необходимо определить, как будет осуществляться связь междуними и какие дополнительные ресурсы (принтеры, модемы, маршрутизаторы ит. д.) должны быть задействованы. Конечно, если разрабатываетсяоднопользовательская локальная система, то отсутствует необходимость вразработке подобной диаграммы.
Однако при разработке 1 сетевыхкорпоративных приложений ситуация представляется совсем по-другому. 1Рисунок 2.13 – Диаграмма компонентоввв36Во-первых, сложные 1 информационные системы могут реализовываться 1 наразличных вычислительных платформах и технологиях доступа к 1 базам данных.Наличие 1 корпоративной сети требует решения целого комплексадополнительных задач по рациональному размещению компонентов по узламсети, что определяет общую производительность 1 информационной системы.Во-вторых, интеграция 1 информационной 49 системы с Интернетом определяетнеобходимость решения дополнительных вопросов при проектированиисистемы, таких как обеспечение безопасности и 1 доступности информации длякорпоративных клиентов. 49Наконец, доступ и манипулирование данными в рамках двух илитрехуровневой технологии « клиент-сервер» также требуют размещениябольших 1 БД в различных сегментах корпоративной сети, их резервногокопирования, архивирования, кэширования для обеспечения необходимойпроизводительности системы в целом.
Эти аспекты также требуют визуальногопредставления с целью спецификации программных и технологическихособенностей реализации распределенных архитектур. 1Второй формой физического представления программной системы являетсядиаграмма 1 размещения (развертывания). 13 Она применяется для представленияобщей конфигурации и топологии распределенной 1 информационной системы,содержит сведения о распределении компонентов по отдельным узлам системыи каналом связи между аппаратными средствами (соединения).Таким образом, диаграмма реализации предназначена для визуализацииэлементов и компонентов 1 системы, существующих лишь на этапе ееисполнения, к 1 которым относятся исполнимые файлы, динамическиебиблиотеки, таблицы БД и т.
д. Те компоненты, которые не используются наэтапе исполнения ( 1 например, исходные тексты программ), на диаграмме непоказываются.Элементами диаграммы реализации являются узлы, компоненты и связимежду ними.На рисунке 2.14 представлена диаграмма развертывания, которая отражает37физические компоненты информационной системы.Рисунок 2.14 – Диаграмма развертывания.383 Проектирование структуры базы данныхПрежде чем начать проектировать логическую (рисунок 2.11) и физическую(рисунок 2.12) модели данных проектируемой системы мы должныспроектировать структуру Базы Данных.Таблица 3.1 – Данная таблица будет хранить информацию об адресахдоставки Клиента.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер пользователя (UserId) – является внешний ключ таблицы, атакже первичный ключ таблицы Пользователь (User).Таблица 3.1 – Адрес (Address)Название Код ТипНомер Id Числовой (int)Страна Country Текстовый (string)Штат State Текстовый (string)Город City Текстовый (string)Улица Street Текстовый (string)Почтовый индекс PostalCode Числовой (int)Телефон Telefon Текстовый (string)Первый IsPrimary Логический (bool)Номер пользователя UserId Числовой (int)Таблица 3.2 – Данная таблица содержит в себе статьи обзоров товаров,новостей и акций, которые создаёт Администратор.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер пользователя (UserId) – является внешний ключ таблицы, атакже первичный ключ таблицы Пользователь (User).39Таблица 3.2 – Блог (Blog)Название Код ТипНомер Id Числовой (int)Заголовок Title Текстовый (string)Описание Description Текстовый (string)Статья Article Текстовый (string)Дата создания CreateDate Дата/время (DateTime)Новости IsNews Логический (bool)Обзор IsReview Логический (bool)Акция IsStock Логический (bool)Номер пользователя UserId Числовой (int)Таблица 3.3 – Данная таблица является справочником содержащий в себеподкатегорию категории товаров.Поле Номер (Id) – является первичным ключом таблицы.Таблица 3.3 – Категория (Category)Название Код ТипНомер Id Числовой (int)Наименование Name Текстовый (string)Иконка Icon Текстовый (string)Баннер Image Текстовый (string)Последовательность Sequence Числовой (int)Описание Description Текстовый (string)Таблица 3.4 – Данная таблица является справочником содержащий в себекатегории товаров.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер категории (CategoryId) – является внешний ключ таблицы, атакже первичный ключ таблицы Категория (Category).40Таблица 3.4 – Категория Продукта (CategoryProduct)Название Код ТипНомер Id Числовой (int)Наименование Name Текстовый (string)Иконка Icon Текстовый (string)Баннер Image Текстовый (string)Последовательность Sequence Числовой (int)Описание Description Текстовый (string)Номер категории CategoryId Числовой (int)Таблица 3.5 – Данная таблица является справочником содержащий в себеназвание характеристики и её описание.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер типа характеристики (TypeCharacteristicId) – является внешнийключ таблицы, а также первичный ключ таблицы Тип Характеристики(TypeCharacteristic).Таблица 3.5 – Характеристика (Characteristic)Название Код ТипНомер Id Числовой (int)Наименование Name Текстовый (string)Описание Description Текстовый (string)Номер типа характеристики TypeCharacteristicId Числовой (int)Таблица 3.6 – Данная таблица содержит в себе название характеристики еёпараметр и к какому продукту она относится.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер характеристики (CharacteristicId) – является внешний ключтаблицы, а также первичный ключ таблицы Характеристики (Characteristic).Поле Номер продукта (ProductId) – является внешний ключ таблицы, а такжепервичный ключ таблицы Продукта (Product).41Таблица 3.6 – Характеристика Продукта (CharacteristicProduct)Название Код ТипНомер Id Числовой (int)Параметр Parameter Текстовый (string)Номер продукта ProductId Числовой (int)Номер характеристики CharacteristicId Числовой (int)Таблица 3.7 – Данная таблица содержит в себе ссылки на изображенияпродукта.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер продукта (ProductId) – является внешний ключ таблицы, а такжепервичный ключ таблицы Продукт (Product).Таблица 3.7 – Изображения Продукта (ImageProduct)Название Код ТипНомер Id Числовой (int)Изображение Image Текстовый (string)Последовательность Sequence Числовой (int)Номер продукта ProductId Числовой (int)Таблица 3.8 – Данная таблица содержит в себе зашифрованный парольПользователя, а также токен подтверждения пароля.Поле Номер пользователя (UserId) – является первичным ключом таблицы ивнешний ключ таблицы, а также первичный ключ таблицы Пользователь (User).Таблица 3.8 – Членство (Membership)Название Код ТипНомер пользователя UserId Числовой (int)Дата создания CreateDate Текстовый (string)Окончание таблицы 3.8Название Код ТипПароль Password Числовой (int)42Токен подтвержденияпароляТокен подтвержденияпароляЧисловой (int)Таблица 3.9 – Данная таблица содержит в себе сформированный заказ, адресдоставки, а также каким пользователем был сделан заказ.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер адрес (AddressId) – является внешний ключ таблицы, а такжепервичный ключ таблицы Адрес (Address).Поле Номер пользователя (UserId) – является внешний ключ таблицы, атакже первичный ключ таблицы Пользователь (User).Таблица 3.9 – Заказ (Order)Название Код ТипНомер Id Числовой (int)Дата создания DateCreated Дата/время (DateTime)Дата отправки DateSent Дата/время (DateTime)Новый IsNew Логический (bool)В процессе IsProcess Логический (bool)Подтверждён IsConfirm Логический (bool)Завершён IsCompleted Логический (bool)Номер адрес AddressId Числовой (int)Номер пользователя UserId Числовой (int)Таблица 3.10 – Данная таблица содержит в себе информацию о товарах взаказе и о их количестве.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер продукта (ProductId) – является внешний ключ таблицы, а такжепервичный ключ таблицы Продукт (Product).Поле Номер заказа (OrdersId) – является внешний ключ таблицы, а такжепервичный ключ таблицы Заказ (Order).Таблица 3.10 – Заказ Продукта (OrderProduct)43Название Код ТипНомер Id Числовой (int)Количество Count Числовой (int)Номер заказа OrdersId Числовой (int)Номер продукта ProductId Числовой (int)Таблица 3.11 – Данная таблица содержит в себе подробную информацию опродукте.Поле Номер (Id) – является первичным ключом таблицы.Поле Номер категории продукта (CategoryProductId) – является внешнийключ таблицы, а также первичный ключ таблицы Категория Продукта(CategoryProduct).Таблица 3.11 – Продукт (Product)Название Код ТипНомер Id Числовой (int)Наименование Name Текстовый (string)Описание Description Текстовый (string)Код товара ProductCode Числовой (int)Изображения FirstImage Текстовый (string)Гарантия Warranty Числовой (int)Страна Производителя CountryManufacturer Текстовый (string)Производитель Manufacturer Текстовый (string)Количество Quantity Числовой (int)Дата добавления DateUpload Дата/время (DateTime)Окончание таблицы 3.11Название Код ТипНовый IsNew Логический (bool)Скидка IsSale Логический (bool)Рекомендуемые IsRecommended Логический (bool)Отсутствует IsAbsent Логический (bool)44Цена Price Числовой (int)Старая Цена OldPrice Числовой (int)Количество купивших QuantityBought Числовой (int)Номер категориипродуктаCategoryProductId Числовой (int)Таблица 3.12 – Данная таблица содержит в себе название роли пользователяв системе.Поле Номер (Id) – является первичным ключом таблицы.Таблица 3.12 – Роль (Role)Название Код ТипНомер Id Числовой (int)Название роли RoleName Текстовый (string)Таблица 3.13 – Данная таблица является справочником содержащая в себеназвание и описания типа характеристики.Поле Номер (Id) – является первичным ключом таблицы.Таблица 3.13 – Тип Характеристики (TypeCharacteristic)Название Код ТипНомер Id Числовой (int)Наименование Name Текстовый (string)Описание Description Текстовый (string)Таблица 3.14 – Данная таблица содержит в себе информацию опользователе.Поле Номер (Id) – является первичным ключом таблицы.Таблица 3.14 – Пользователь (User)Название Код ТипНомер Id Числовой (int)Адрес электронной почты Email Текстовый (string)45Фамилия FirstName Текстовый (string)Имя LastName Текстовый (string)Изображения Image Текстовый (string)Активен IsActivity Логический (bool)На рисунке 3.1 показана диаграмма EER созданная в MySQL Workbench, наоснове реальной базы данных находящаяся на MySQL Server.Рисунок 3.1 – Диаграмма EER464 Практическая часть4.1 Выбор и обоснование технологии проектирования 3Объектно-ориентированное проектирование – методология проектирования,соединяющая в себе процесс объектной декомпозиции и приемы представления 69логической, физической, статической и динамической моделей проектируемойсистемы.