Диплом: Автоматизация управления взаимоотношениями с клиентами на примере ООО "Витамилк"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
71
если какой-либо детерминант отношения не совпадает ни с одним
потенциальным ключом этого же отношения, то данное отношение не находится
в той или иной НФ и его требуется нормализовать в соответствии с теорией
нормальных форм.
В результате приведения БД в ту или иную НФ, как правило, появляются
дополнительные отношения, которые следует добавить в логическую модель.
Разработка физической модели базы данных. На третьем этапе проекта,
опираясь на логическую модель БД, полученную на предыдущем этапе,
требуется, выполнить следующие основные шаги: спроектировать основные
структуры логической модели БД, в среде целевой СУБД;
разработать схему связей между отношениями БД;
реализовать ограничения целостности данных средствами целевой
СУБД;
реализовать требования пользователя (запросы), в соответствии с
заданием на проектирование.
Разработка схемы БД. На шаге физического проектирования БД требуется
разработать и описать схемы для всех сущностей, полученных в логической
модели данных. Схема сущности должна содержать полное описание атрибутов-
характеристик этой сущности и их свойств на языке целевой СУБД, с учетом
связей между сущностями и ограничений целостности, которые накладывает
предметная область на сущности и их атрибуты.
Результаты разработки схемы БД лучше всего представить в виде таблицы
21, приведены только основные свойства атрибутов и простейшие условия на их
значение. В реальном проекте их, как правило бывает гораздо больше, в том
числе маска ввода, сообщение об ошибке, индексированное поле.
Таблица 21
Схема БД для сущностей
Имя
отношени
я
Имя
атрибута
Тип
Обяз
Формат
Условие
ПтК
Фк
72
Клиенты
Уникальный
код
Ч
Да
Дл.целлое
+
Имя
Т
Да
Длина - 20
Фамилия
Т
Да
Длина - 20
Контактный
телефон
Т
Да
Длина - 20
Пароль
Т
Да
Длина - 18
Адрес
Т
Нет
Длина-120
Заказы
Id клиента
Ч
Да
Дл.целое
+
+
Дата
Д
Да
Пл.фор.д.
Сегодня
+
Сумма
Ч
Да
Плав.
>=0
Адрес
Т
Нет
Длина - 120
Продукци
я
Наименован
ие
Т
Да
Длина-255
+
Производите
ль
Т
Нет
Длина - 55
Цена
Ч
Нет
Плав.
>=0
Количество
на складе
Ч
Нет
Дл.целое
Состав
продукта
Т
Нет
Текст
Кол. В
коробке/кейс
е/таре
Ч
Нет
Дл.целое
>=0
Продолжение таблицы 21
Схема БД для сущностей
73
Имя
отношени
я
Имя
атрибута
Тип
Обяз
Формат
Условие
ПтК
Фк
Категории
продуктов
Наименован
ие
Т
Да
Длина - 50
+
Описание
Т
Да
Текст
Условные обозначения, принятые в таблицах:
для типов полей: Т – текстовый, Ч – числовой, Д – Дата/Время, Л –
логический, Дн – Денежный, М – МЕМО;
для заголовков столбцов: Обяз – свойство обязательности значения
поля, ПтК – является ли атрибут потенциальным ключом, ВК – является ли
атрибут внешним ключом;
прочих элементов: подчеркивание – имена атрибутов первичного
ключа, + – значение Да.
На основе проведенного анализа и проектирования, а также написанных
скриптов, которые приведены в приложении 3, получаем схему базы данных,
изображённую на рисунке 26.
74
Рисунок 26 - Схема связей БД
2.3.3 Структурная схема пакета (дерево вызова процедур и
программ)
Схема графических форм разрабатываемой программы предоставлена на
рисунке 27.
75
Рисунок 27 - Схема графических форм программы
В таблице 22 содержится описание всех модулей структурной схемы
пакетов.
Таблица 22
Описание всех модулей структурной схемы
Наименование модуля
Функционал формы
Форма «Авторизация»
Открывается при входе, идентифицирует пользователя
и роль пользователя, и в соответствие роли открывает
соответствующую форму. Содержит ссылку на форму
регистрации.
Форма “Регистрации”
Форма регистрации клиента, добавляет паспортные
данные клиента в таблицу Клиенты.
Форма «Форма для
клиентов»
Форма для управления своими заказами для клиента.
Содержит ссылки на просматривание продукции,
корзины и своих оформленных заказов.
76
Продолжение таблица 22
Наименование модуля
Функционал формы
Форма «Форма для
управления заказами»
Данная форма управляет заказами клиентами, имеет
возможность удалять заказ и редактировать статус
заказа.
Форма «Просмотр
продукции»
Информация о продукции фирмы.
Форма
«Редактирование
продукции»
Форма для редактирования таблицы продукции,
добавления, обновления и удаления.
Форма «Корзина»
Форма для просмотра добавленной продукции с
возможностью редактирования.
Форма «Оформления
заказа»
Даная добавляет данные заказа в соответствующую
таблицу.
2.3.4 Описание программных модулей
Для извлечения или отправки данных в базу данных была выбрана
программная платформа «Entity Framework». Entity Framework - это платформа
ORM с открытым исходным кодом для приложений .NET, поддерживаемая
Microsoft. Это позволяет работать с данными, используя объекты классов,
специфичных для предметной области, не сосредотачиваясь на базовых
таблицах базы данных и столбцах, где хранятся эти данные. С Entity Framework
можно работать на более высоком уровне абстракции, когда имеют дело с
данными, и могут создавать и поддерживать ориентированные на данные
приложения с меньшим количеством кода по сравнению с традиционными
приложениями.
Официальное определение Microsoft: «Entity Framework - это объектно-
реляционный картограф (O / RM), который позволяет разработчикам .NET
работать с базой данных, используя объекты .NET. Это устраняет необходимость
в большей части кода доступа к данным, который обычно приходится писать
разработчикам».
77
Entity Framework соответствует между бизнес-объектами (классами
домена) и базой данных. Он сохраняет данные, хранящиеся в свойствах бизнес-
объектов, а также извлекает данные из базы данных и автоматически
преобразует их в бизнес-объекты.
Особенности Entity Framework:
Кроссплатформенность. EF Core - это кроссплатформенная
инфраструктура, которая может работать в Windows, Linux и Mac.
Моделирование. EF (Entity Framework) создает EDM (Entity Data Model)
на основе объектов POCO (Plain Old CLR Object) со свойствами получения /
установки различных типов данных. Эта модель используется при запросе или
сохранении данных объекта в базовой базе данных.
Запросы. EF позволяет использовать запросы LINQ (C # / VB.NET) для
извлечения данных из базовой базы данных. Поставщик базы данных переведет
эти запросы LINQ на специфичный для базы данных язык запросов (например,
SQL для реляционной базы данных). EF также позволяет нам выполнять
необработанные запросы SQL непосредственно к базе данных.
Отслеживание изменений. EF отслеживает изменения, произошедшие с
экземплярами ваших сущностей (значениями свойств), которые необходимо
отправить в базу данных.
Сохранение. EF выполняет команды INSERT, UPDATE и DELETE для
базы данных на основе изменений, произошедших с вашими сущностями при
вызове SaveChanges() метода. EF также предоставляет асинхронный
SaveChangesAsync() метод.
Параллелизм. EF по умолчанию использует Оптимистичный
параллелизм для защиты перезаписывающих изменений, сделанных другим
пользователем с момента извлечения данных из базы данных.
Транзакции. EF выполняет автоматическое управление транзакциями
при запросе или сохранении данных. Он также предоставляет опции для
настройки управления транзакциями.
Кэширование. EF включает первый уровень кеширования из коробки.
Таким образом, повторный запрос вернет данные из кэша, а не попадет в базу
данных.
78
Встроенные соглашения. EF следует соглашениям по шаблону
программирования конфигурации и включает в себя набор правил по
умолчанию, которые автоматически конфигурируют модель EF.
Конфигурации. EF позволяет нам конфигурировать модель EF,
используя атрибуты аннотации данных или Fluent API для переопределения
соглашений по умолчанию.
Миграции. EF предоставляет набор команд миграции, которые можно
выполнять на консоли диспетчера пакетов NuGet или в интерфейсе командной
строки для создания или управления базовой схемой базы данных.
Microsoft представила Entity Framework в 2008 году с .NET Framework 3.5.
С тех пор было выпущено много версий Entity Framework. В настоящее время
существует две последние версии Entity Framework: EF 6 и EF Core.
Рабочий процесс Entity Framework заключается в следующем:
прежде всего, нужно определить свою модель. Определение модели
включает определение классов домена, класса контекста, полученного из
DbContext, и конфигураций (если таковые имеются).
EF будет выполнять операции CRUD на основе вашей модели.
Чтобы вставить данные, добавьте объект домена в контекст и вызовите
SaveChanges()метод. EF API создаст соответствующую команду INSERT и
выполнит ее в базе данных.
чтобы прочитать данные, выполните запрос LINQ-to-Entities на языке C
#. EF API преобразует этот запрос в SQL-запрос для базовой реляционной базы
данных и выполняет его. Результат будет преобразован в объекты домена
(объекта) и отображен в пользовательском интерфейсе.
для редактирования или удаления данных нужно обновить или удалить
объекты сущности из контекста и вызвать SaveChanges()метод. EF API создаст
соответствующую команду UPDATE или DELETE и выполнит ее в базе данных.
По выше разработанной схеме БД были созданы соответствующие классы
и объекты для работы с ними. Для описания работы программы наиболее
понятным будет пояснение с помощью диаграммы классов.
Диаграммы классов предоставлена в виде схемы, которая представлена на
рисунке 29.
79
Рисунок 28 - Диаграммы классов
80
Для описания работы программы приведен пример пояснения модуля
программы корзины заказчика, формы ClientCart и класса ElementClientCart.
Программный код данной процедуры будет приведен в приложении 2.
Данный программный код описан в виде блок схемы, которая
представлена на рисунке 29,30.
Рисунок 29 – Блок схема формы ClientCart

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)