Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом Васюков А.Е.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
7.53 Mб
Скачать

2.2 Программное обеспечение задачи

Используемые технологии

Для разработки портала ВУЗа будем использовать следующие технологии:

Высокоуровневый язык программирования C#;

Технологию Aap.net MVC;

Html 5;

Язык программирования Java Script;

JQuery – библиотека Java Script;

TwitterBootstrap – ФреймворкклассовHtml;

SQL – Server;

LINQ – Библиотека классов C#;

Подробнее об используемых технологиях.

C# - объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом. Из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

ASP.NET — технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. На данный момент последней версией этой технологии является ASP.NET 4.5.ASP.NET не является платформой.

ASP.NETMVCFramework — фреймворк длясоздания веб-приложений, которыйреализует шаблон Model-view-controller.

HTML — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме.

HTML5 (англ. HyperTextMarkupLanguage, version 5) — язык для структурирования и представления содержимого для всемирной паутины, а также основная технология, используемая в Интернете. Это пятая версия HTML-стандарта (изначально созданного в 1990 году и последней версией которого являлся HTML4, стандартизированный в 1997 году[1]) и находится в стадии разработки по состоянию на февраль 2013 года.

JavaScript — прототипно-ориентированный сценарный язык программирования. Является диалектом языка ECMAScript[~ 1].

JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

jQuery — библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX.

TwitterBootstrap — свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML и CSS шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейсов, включая JavaScript расширения.

Microsoft SQL Server — система управления реляционными базами данных (СУРБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

Language Integrated Query (LINQ) — проект Microsoft подобавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Представляет собой не что иное, как функциональное программирование, замаскированное под синтаксис SQL[1]. Ранее был реализован в языках C# и VisualBasic .NET. Множество концепций, которые вводит LINQ, изначально опробовали в исследовательском проекте Microsoft Cω.

LINQ выпущен вместе с VisualStudio 2008 в конце ноября 2007 года.

База данных, диаграмма базы данных

База данных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

Диаграмма базы данных предоставлена на рис. 2. 2.

Рисунок 2.2. Диаграмма базы данных

Рассмотрим по отдельности каждую таблицу и ее роль в системе.

Таблица 2.1. Таблица «Product»

Описание Поля

Идентификатор поля

Тип данных

1.

Идентификатор

id

int

2.

Дата создания

CreateDate

datetime

3.

Название товара

Name

nvarchar

4.

Описание

Description

nvarchar

5.

Цена

Price

decimal

Назначение таблицы: Таблица создана с целью хранения информации о товарах. При добавлении товаров данные записываются в эту таблицу

Таблица 2.2. Таблица «Type»

Описание Поля

Идентификатор поля

Тип данных

1.

Идентификатор

id

int

2.

Дата создания

CreateDate

datetime

3.

Название категории

Type

nvarchar

Назначение таблицы: Таблица создана с целью хранения информации о категориях товаров. При добавлении категорий данные записываются в эту таблицу.

Таблица 2.3. Таблица «ProductType»

Описание Поля

Идентификатор поля

Тип данных

1.

Идентификатор

id

int

2.

Дата создания

CreateDate

datetime

3.

Идентификатор товара

ProductId

int

4.

Идентификатор каталогов

TypeId

int

5.

Цена

Price

decimal

Назначение таблицы: Таблица создана для привязывания товаров к конкретным категориям.

Таблица 2.4. Таблица «Trash»

Описание Поля

Идентификатор поля

Тип данных

1.

Идентификатор

id

int

2.

Идентификатор пользователя

UserId

int

3.

Идентификатор продукта

ProductId

int

Назначение таблицы: Таблица создана для хранения и отображения даных о совершенных пользователем заказов в каталоге «Корзина».

Таблица 2.5. Таблица «User»

Описание Поля

Идентификатор поля

Тип данных

1.

Идентификатор

id

int

2.

Имя пользователя

Name

nvarchar

3.

Ел. Адрес пользователя

Email

nvarchar

4.

Пароль

Password

nvarchar

Назначение таблицы: Таблица создана для хранения данных о пользователях осуществления функции регистрации на сайте.

Связи таблиц и поля, по которым они связаны

Таблица «Trash» имеет связь с двумя таблицами – «User», «Product». Связываем идентификаторы этих таблиц с полями «UserId» и «ProductId». Это позволяет нам собирать информацию о пользователе сделавшего заказ и выбранным им товаре. С помощью данной связи мы получаем данные для формирования каталога «Корзина».

Теперь рассмотрим связь между таблицами «ProductType»,«product» и «type». Связь между этими таблицами осуществляется с помощью полей ProductId и TypeId таблицы «ProductType» и ключевых полей таблиц «product», «type». Данная связь нужна, что бы хранить информацию о принадлежности товара к конкретным категориям, для дальнейшего формирования каталога «Товары и услуги».

Архитектура классов

В этом разделе мы рассмотрим все созданные и использованные классы и методы системы.

Мы используем технологию MVC, так что наши классы будут разделены на 3 вида: классы моделей, классы контроллеров и классы представлений.

Классы моделей:

DataClasses – данная модель отвечает за обращение к базе данных. Эта модель содержит в себе все таблицы БД и все связи между таблицами. Следовательно, при редактировании базы данных изменения обязательно нужно занести в эту модель.

AccountModel – модель аккаунта. . В связи с невозможностью передачи из контроллера в представление больше одной модели данных используем модель содержащую в себе несколько моделей. AccountModel выполняет функцию контейнера для двух моделей: LogOn – авторизация, Register – создание аккаунта.

Модель LogOn содержит следующие поля:

  • Login – логин пользователя

  • Password – пароль пользователя

Модель Register содержит следующие поля:

  • UserName – логин пользователя

  • Email – почтовый адрес пользователя

  • Password – пароль уччетной записи

  • ConfirmPassword – подтверждение пароля

Модель ShopModel так же является моделью-контейнером.

В эту входят модели и несколько списков:

Модели:

  • ProductModel – модель каталога

  • JsonUser – модель пользователя

  • JsonProduct – модель товара

  • JsonType – модель категории

  • JsonTrash – модель корзины

Списки:

  • ListProduct - содержит все товары

  • ListTrash - содержит все заказы

  • ListType - содержит все категории

  • ListUser – содержит всех пользователей

Модель JsonUser содержит в себе следующие поля:

  • Id – идентификатор пользователя

  • Name – логин пользователя

  • Email – электронный адрес пользователя

  • Pass – пароль пользователя

Модель JsonProduct содержит в себе следующие поля:

  • Id – идентификатор товара

  • СreateDate – дата создания записи

  • TypeId – идентификатор категории

  • Name – название товара

  • Desc – описание товара

  • Price – цена товара

Модель JsonType содержит в себе следующие поля:

  • Id – идентификатор категории

  • CreateDate – дата создания

  • Type – название категори

Модель JsonTrash содержит в себе следующие поля:

  • Id – идентификатор заказа

  • UserId – идентификатор пользователя

  • UserEmail – эл.адрес пользователя

  • ProductId – идентификатор товара

  • ProductName – название товара

  • Price – цена товара

Классы контроллеров:

Контроллеры используются для обработки информации получаемой из модели.

Контроллер Account содержит в себе следующие методы:

  • LogOn – метод авторизации

  • LogOf – метод выхода их системы

  • Register – метод регистрации пользователей

Контроллер ProductController содержит методы:

  • AllProducts – передает модели данные для отображения товаров

  • AddProducts – добавляет товар в таблицу Product

  • DeleteProduct – удаляет товар в таблицу Product

  • AddType – добавляет категорию в таблицу Type

  • DeleteType – удаляет категорию из таблицы Type

  • SendMassage – отправляет сообщение на эл. адрес о совершенном заказе

Контроллер TrashController содержит методы

  • All – передает модели данные для отображения заказов