
- •Глава 1. Аналитическая часть
- •1.1 Технико – экономическая характеристика предметной области
- •Информационная система предприятия
- •1.2 Постановка задачи на проектирование
- •1.3. Общая характеристика организации решения задачи на эвм
- •1.4. Рассмотрение магазинов- аналогов
- •Глава 2.Проектная часть
- •2.1. Информационное обеспечение задачи
- •2.2 Программное обеспечение задачи
- •2.3 Описание работы Магазина
- •2.4. Обеспечение безопасности
- •Глава 3 Обоснование эффективности проекта
- •3.1. Методика оценки эффективности проекта
- •3.2. Показатели эффективности проекта
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. |
Ел. Адрес пользователя |
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 – передает модели данные для отображения заказов