Диплом (1210331), страница 4
Текст из файла (страница 4)
Внутри компонента, как и класса, могут быть выделены дополнительные секции, в которых указываются предоставляемые или необходимые для работы интерфейсы и классы, методы, наименование файла-компонента и т.п.
Интерфейс – это внешне видимый, именованный набор операций, который класс, компонент или подсистема может предоставить другому классу, компоненту или подсистеме, для выполнения им своих функций.
Отношение ассоциации отображается между компонентами и их интерфейсами. Отношение зависимости означает зависимость реализации одних компонентов от реализации других.
На рисунке 2.17 приведена диаграмма компонентов разрабатываемой системы. На ней показан основной исполняемый файл, файлы веб-форм приложения, служебные файлы с дополнительной информацией, а также некоторые табличные данные.
В некоторых языках программирования, в частности в Java, интерфейс представляет собой отдельный класс, включаемый и реализуемый (конкретизируемый) в части программного кода операций в составе других классов. На диаграмме компонентов интерфейс отображается так же, как и на диаграмме классов (слева от компонента необходимые для работы интерфейсы, справа - предоставляемые).
Рисунок 2.17 – Диаграмма компонентов
2.2.9 Диаграмма развертывания
Физическое представление информационной системы не может быть полным, если отсутствует информация о ее топологии и необходимых аппаратных средствах. Помимо сведений о компьютерах, обрабатывающих информацию, необходимо определить, как будет осуществляться связь между ними и какие дополнительные ресурсы (принтеры, модемы, маршрутизаторы и т. д.) должны быть задействованы. Конечно, если разрабатывается однопользовательская локальная система, то отсутствует необходимость в разработке подобной диаграммы. Однако при разработке сетевых корпоративных приложений ситуация представляется совсем по-другому.
Первой из диаграмм физического представления является диаграмма компонентов. Второй формой физического представления программной системы является диаграмма развертывания (синоним – диаграмма размещения). Она применяется для представления общей конфигурации и топологии распределенной программной системы и содержит распределение компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает наличие физических соединений – маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы.
Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма развертывания является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Эта диаграмма, по сути, завершает процессобъектно-ориентированного анализа и проектирования для конкретной программной системы и ее разработка, как правило, является последним этапом спецификации модели.
На диаграмме развертывания, отражена конфигурация узлов, на которых выполняется разрабатываемая система и компонентов, размещенных на этих узлах.
На рисунке 2.18 представлена диаграмма развертывания интернет сайта.
Рисунок 2.18 – Диаграмма развертывания
2.3 Проектирование базы данных
Разработка базы данных – важный этап в проектировании системы. БД – это основа будущего приложения, поэтому необходимо максимально продумать ее структуру.
Для упрощения этапа создания базы данных спроектируем ER-модель.
Модель сущность-связь (ER-модель) (англ. entity-relationship model, ERM) – модель данных, позволяющая описывать концептуальные схемы предметной области.
Первым этапом в создании ER-модели является определение сущностей. Сущность – реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению. После некоторого анализа предметной области определим следующий список сущностей:
-
Users (Пользователи);
-
Zakazi (Заказы);
-
Otziv (Отзыв);
-
Oplata (Оплата);
-
Working (Работник);
-
WorkingZakaz (РаботникЗаказ);
-
Show (Шоу);
-
Skidki (Скидки);
-
News (Новости).
После того, как определены все сущности, установим каждой из них свой список атрибутов. Атрибут – свойство сущности. Среди атрибутов для каждой сущности выберем первичный ключ – атрибут или группа атрибутов, однозначно идентифицирующих объект.
В результате анализа предметной области для каждой сущности был сформирован список атрибутов, которые предоставлены в таблицах 2.19–2.28.
Таблица 2.19 – «Заказы»
| Название | Код | Тип | Описание |
| IDЗаказа | IDZakaza | int | Идентификатор заказа |
| ДатаЗаказа | DataZakaza | datatime | Дата выполнения заказа |
| ВремяЗаказа | TimeZakaza | datatime | Время выполнения заказа |
| АдресПроведения | Address | varchar | Адрес помещения, где будет проводиться шоу |
| ЗаказанноеШоу | Show | varchar | Какое шоу было заказано |
| КоличествоЧеловек | Kolichestvo | smallint | Количество зрителей |
| ВыполненныйЗаказ | VZakaz | boolean | Отметка о выполненном заказе |
| Комментарии | Comment | varchar | Комментарии к заказу |
Таблица 2.20 – «Новости»
| Название | Код | Тип | Описание |
| IDНовости | IDNews | int | Идентификатор новости |
| Текст | Text | text | Текстовое содержание новости |
| Заголовок | Title | varchar | Заголовок новости |
| Дата | DataNews | datatime | Дата новости |
Таблица 2.21 – «Отзывы»
| Название | Код | Тип | Описание |
| IDОтзыва | IDOtziv | int | Идентификатор отзыва |
| Отзыв | Content | mediumblob | Текстовое или мультимедийное содержание отзыва о выполненном заказе |
Таблица 2.22 – «Оплата»
| Название | Код | Тип | Описание |
| IDОплаты | IDOplata | int | Идентификатор оплаты |
| ИмяОплаты | NameOplata | varchar | Наименование оплаты |
Таблица 2.23 – «Акции/Скидки»
| Название | Код | Тип | Описание |
| IDСкидки | IDSkidki | int | Идентификатор скидки |
| ИмяСкидки | NameSkidki | varchar | Наименование скидки |
Таблица 2.24 – «Работники»
| Название | Код | Тип | Описание |
| IDРаботника | IDWorking | int | Идентификатор работника |
| Имя | Name | varchar | Имя работника |
| Фамилия | Surname | varchar | Фамилия работника |
| Шоу | Show | varchar | Шоу, которое может провести данный работник |
| Описание | Description | varchar | Описание работника, его автобиография, полная информация о работнике |
Таблица 2.25 – «Акции/Скидки»
| Название | Код | Тип | Описание |
| IDСкидки | IDSkidki | int | Идентификатор скидки |
| ИмяСкидки | NameSkidki | varchar | Наименование скидки |
Таблица 2.26 – «ШоуПрограммы»
| Название | Код | Тип | Описание |
| IDШоу | IDShow | int | Идентификатор шоу |
| НазваниеШоу | NameShow | varchar | Название шоу |
| СтоимостьБилета | Cost | varchar | Стоимость одного билета шоу |
Таблица 2.27 – «РаботникЗаказ»
| Название | Код | Тип | Описание |
| IDРаботника | IDWorking | int | Идентификатор работника |
| IDЗаказа | IDZakaz | int | Идентификатор заказа |
Таблица 2.28 – «Пользователи»
| Название | Код | Тип | Описание |
| IDПользователя | IDUser | int | Идентификатор пользователя |
| Имя | Name | varchar | Имя пользователя |
| Фамилия | Surname | varchar | Фамилия пользователя |
| Отчество | Patronymic | varchar | Отчество пользователя |
| Логин | Login | varchar | Логин, указанный при регистрации |
| Пароль | Password | varchar | Пароль от аккаунта |
| | | varchar | Электронная почта пользователя |
| ДатаРождения | DateofBirth | datatime | Датарождения пользователя |
| Телефон | Tel | smallint | Телефонный (контактный) номер |
После того, как определены все сущности и заданы их атрибуты и ключи, необходимо создать связи между таблицами. Связь – некоторая ассоциация между двумя сущностями, значимая для рассматриваемой предметной области.
Связи между объектами могут быть трех типов:
-
один – к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот;
-
один – ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида;
-
многие – ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот.
В результате была спроектирована ER-модель, которая представлена на рисунке 2.29.















