Тематические "онлайн-магазины"

Разработка тематических "онлайн-магазинов". Обоснование выбора информационных технологий. Архитектурное решение проекта. Разработка модели базы данных магазина. Схема базы данных на языке SQL. Интернет-магазины "ebay.com", "onliner.by", "eda.by".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 24.06.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

ВВЕДЕНИЕ

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Анализ существующих аналогов

1.1.1 интернет-портал «onliner.by»

1.1.2 интернет-магазин «ebay.com»

1.1.3 интернет-магазин «eda.by»

2. РАЗРАБОТКА ПРОГРАММНОГО СРЕДСТВА И БАЗЫ ДАННЫХ

2.1 Спецификация требований

2.1.1 Варианты использования ПС и БД

2.2 Архитектурное решение проекта

2.3 Обоснование выбора информационных технологий

3. ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ

3.1 Разработка модели базы данных

3.2 Схема базы данных на языке SQL

4. РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ А

ПРИЛОЖЕНИЕ Б

ПРИЛОЖЕНИЕ В

ВВЕДЕНИЕ

В наше время тематические «онлайн-магазины» привлекают внимание все большего числа пользователей со всего мира. Дело в том, что именно в Интернете вы можете в любое время суток найти нужную и, самое главное, актуальную информацию. Кроме того, только в сети без особых проблем можно читать не только новости, но и посещать различные развлекательные порталы, узнавать прогноз погоды, общаться с друзьями. Также последнее время стали пользоваться популярностью так называемые интернет-магазины. Вы можете без проблем найти необходимую вам вещь, узнать подробные характеристики, сравнить с аналогами, узнать точную цену не выходя из дома.

В настоящее время во всех больших коммерческих приложениях используются базы данных. Именно повсеместность их использования и вынуждает разработчиков изучать эту область в информационных технологиях.

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

Эти проблемы в большей части исчезли после введения прослойки между представлением данных на диске и данными в программе. Решением стали базы данных и системы управления базами данных. В зависимости от разработчика или конкретных настроек СУБД определяет, как и где ей хранить данные. Помимо этого, все СУБД предоставляют механизм для получения этих данных в удобной для дальнейшего использования форме - «запросы». С их помощью можно указать критерии выбора данных, отсортировать данные в нужном порядке, сгруппировать, как того требует задание, и т.п. Помимо этого, большинство СУБД поддерживает механизм разграничения прав доступа, т.е. достаточно указать, какие данные какому пользователю можно или нельзя получать, а все остальное возьмет на себя СУБД.

Существуют различные модели организации данных. Вот некоторые из них:

- иерархическая;

- сетевая;

- реляционная;

- объектная и объектно-ориентированная;

- объектно-реляционная;

- функциональная.

Наиболее широко используются реляционные, так как они универсальны. В реляционных базах данных данные собраны в таблицы, которые в свою очередь состоят из столбцов и строк, на пересечении которых расположены ячейки. Запросы к таким базам данных возвращает таблицу, которая повторно может участвовать в следующем запросе. Данные в одних таблицах, как правило, связаны с данными других таблиц, откуда и произошло название "реляционные".

Базы данных используют практически все - банки, оффлайн и онлайн магазины, веб-сайты, склады. Банки хранят в базах данных информацию о счетах своих клиентах. Магазины розничной торговли - сведения о ценах, клиентах, имеющихся в наличии товарах и т.д. Веб-сайты используют базы данных для хранения логинов пользователей, введенной юзерами информации и прочего контента. На складах в базах данных отмечают, где и какой товар лежит и сколько его осталось. В общем, базы данных нужны, когда необходимо как-то хранить довольно много информации так, чтобы её в любой момент легко было извлечь.

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Анализ существующих аналогов

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

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

Встречаются различные типы интернет-магазинов:

- Интернет-магазины бытовой техники;

- Сервисы доставки еды на дом;

- Сервисы доставки продуктов на дом;

- Интернет-магазины электронной техники;

- Интернет-магазины одежды и обуви.

1.1.1 интернет-портал «onliner.by»

Один из самых популярных белорусских порталов. Данный портал обладает следующими достоинствами:

- Большой выбор электронной техники;

- Обзор различных новинок в технологической сфере;

- возможность сравнения цен от различных продавцов;

- Форум, на котором зарегестрированные пользователи могут общаться на различные тематики.

К недостаткам можно отнести большое количество изображений на сайте, из-за чего могу возникнуть проблемы со скоростью при загрузке поиске необходимой информации.

1.1.2 интернет-магазин «ebay.com»

Отличный интернет-магазин,содержащий огромное разнообразие товаров из разных стран. Данный интернет-магазин обладает следующими достоинствами:

- Огромный выбор из предоставляемых товаров;

- возможность заказа почтовой посылкой;

- подробное описание товаров;

- различные виды оплаты;

- поддержка скидок;

- наличие онлайн-аукциона;

интернет магазин тематический база

1.1.3 интернет-магазин«eda.by»

Интернет-магазин с возможностью доставки продуктов на дом на территории Минска.Интернет-магазин обладает следующими достоинствами:

- большой выбор продуктов и готовых блюд;

- круглосуточная доставка.

К недостаткам данного сайта относятся:

- невозможность заказов для остальной территории.

1.2 Постановка задачи

Как показал анализ существующих аналогов, им присущи следующие недостатки:

- сложность навигации по каталогам и результатам поиска;

- отсутствие возможностей оставлять комментарии.

Исходя из перечисленных недостатков, а также достоинств существующих аналогов необходимо реализовать программное средство, обладающее следующими свойствами:

- удобный пользовательский дизайн;

- возможность ограничения функциональности пользователя в зависимости от роли;

- легкость в освоении сайта;

- простота регистрации;

- простота навигации по сайту;

- простота управления сайтом для администратора.

2. РАЗРАБОТКА ПРОГРАММНОГО СРЕДСТВА И БАЗЫ ДАННЫХ

2.1 Спецификация требований

2.1.1 Варианты использования ПС и БД

В разрабатываемом программном средстве должно быть реализовано следующее:

интуитивно понятный интерфейс;

проверка вводимых данных для всех полей ввода;

легкость в освоении сайта;

простота регистрации;

различные способы оплаты для оформления заказа.

2.2 Архитектурное решение проекта

Архитектурное решение проекта представлено в приложении Б.

Класс CarRepository - основной класс для администрирования салона. Содержит метод AddCar для добавления автомобиля в каталог с панели администратора.Класс содержит методы GetCarByIdиGetAllCars. Метод GetCarByIdвозвращает конкретнуюмодель поидентификатору автомобиля. Метод GetAllCarsвозвращает список всех доступных автомобилей для вывода их в удобном для пользователя виде. Метод CarsToTableпривязывает полученные данные из метода CarsToTableк GridView для вывода необходимых полей записей в табличном представлении

Класс ManRepository - выполняет основные операции для сущности “Man”. Метод GetAllMen возвращает полный список людей(клиентов, сотрудников, покупателей. Метод GetManInfoвозвращает информацию о заданном человеке в формате «Фамилия-имя-тип-контактная информация»,.Метод GetContactInfo -возвращает номер телефона и адресс человека по его идентификатору.

Класс ClientRepository - выполняет основные операции для сущности “Client”. Метод GetClientInfo - возвращает полную информацию о клиенте и о заказанном автомобиле. Метод GetAllClientsвозвращает список всех клиентов автосалона.

Класс BuyerRepository - выполняет основные операции над сущностью “Buyer”. Метод GetBuyerInfo - возвращает информацию о покупателе по его идентификатору. Полученные данные содержат краткую информацию о покупателе, способ оплаты, идентификатор на купленный автомобиль.

Класс OfficialRepository - выполняет основные операции над сущностью “Official”. Метод GetAllOfficials - возвращает список всех сотрудников. МетодGetOfficialInfo - возвращает информацию о заданном сотруднике: фамилию, имя, должность, заработную плату, контактную информацию.

Класс DistrRepository - выполняет основные операции над сущностью «Distr»Метод GetDistrByCarIdвозвращает информацию о поставщике по идентификатору автомобиля.

Класс CheckOut- выполняет операции поиска автомобиля среди записей. Метод CheckByIdвозвращает информацию об автомобиле с указанным идентификатором. Метод CheckByCriteriesвозвращает список автомобилей с таким же описанием.

2.3 Обоснование выбора информационных технологий

Данный программный продукт написан на языке C# в среде VisualStudio 2012. Данный язык был выбран по следующим причинам:

- В состав C# входит "сборщик мусора", который освобождает ресурсы. Таким образом, приложения защищены от утечки памяти и от необходимости освобождать ресурсы. Это делает программирование более легким и более безопасным;

- Приложения .NET используют метаданные, что позволяет им не пользоваться системным реестром Windows;

Приложение написано на платформеASP.NETMVC.MVC представляет собой стандартный шаблон разработки, знакомый многим специалистам. Некоторые типы веб-приложений имеют преимущества при создании на платформе asp.NET. В состав платформы входят следующие компоненты:

- Модели. Объекты моделей являются частями приложения, реализующими логику для домена данных приложения. Объекты моделей часто получают и сохраняют состояние модели в базе данных.

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

- Представления. Представления служат для отображения пользовательского интерфейса приложения. Пользовательский интерфейс обычно создается на основе данных модели;

- Контроллеры. Контроллеры осуществляют взаимодействие с пользователем, работу с моделью, а также выбор представления, отображающего пользовательский интерфейс. В приложении asp.NET представления только отображают данные, а контроллер обрабатывает вводимые данные и отвечает на действия пользователя.

Шаблон asp.NET позволяет создавать приложения, различные аспекты которых (логика ввода, бизнес-логика и логика интерфейса) разделены, но достаточно тесно взаимодействуют друг с другом. Пользовательский интерфейс располагается в представлении. Логика ввода располагается в контроллере. Бизнес-логика находится в модели. Это разделение позволяет работать со сложными структурами при создании приложения, так как обеспечивает одновременную реализацию только одного аспекта. Например, разработчик может сконцентрироваться на создании представления отдельно от бизнес-логики. Связь между основными компонентами приложения MVC также облегчает параллельную разработку. Например, один разработчик может создавать представление, другой -- логику контроллера, а третий -- бизнес-логику модели.

Дополнительно на клиенте используется технология Ajax. Ajax - подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными. Преимущества данной технологии:

- Экономия трафика. Использование Ajax позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, как правило, довольно небольшую;

- Уменьшение нагрузки на сервер. Ajax позволяет несколько снизить нагрузку на сервер. К примеру, на странице работы с почтой, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту;

- Ускорение реакции интерфейса. Поскольку нужно загрузить только изменившуюся часть, пользователь видит результат своих действий быстрее.

Дополнительно используется технология внедрение зависимости - процесс предоставления внешней зависимости программному компоненту. Является специфичной формой обращения контроля, где изменение порядка связи является путём получения необходимой зависимости. Условно, если объекту нужно получить доступ к определенному сервису, объект берет на себя ответственность за доступ к этому сервису: он или получает прямую ссылку на местонахождение сервиса, или обращается к известному «сервис-локатору» и запрашивает ссылку на реализацию определенного типа сервиса.

Используя же внедрение зависимости, объект просто предоставляет свойство, которое в состоянии хранить ссылку на нужный тип сервиса; и когда объект создается, ссылка на реализацию нужного типа сервиса автоматически вставляется в это свойство (поле), используя средства среды. Внедрение зависимости более гибко, потому что становится легче создавать альтернативные реализации данного типа сервиса, а потом указывать, какая именно реализация должна быть использована в, например, конфигурационном файле, без изменений в объектах, которые этот сервис используют. Это особенно полезно в юнит-тестировании, потому что вставить реализацию «заглушки» сервиса в тестируемый объект очень просто.

Рисунок 2.3 - Схема обработки запроса поиска автомобиля в каталоге

Модель содержит в себе информацию об автомобиле. Из модели можно получить название модели автомобиля,цвет,год выпуска, стоимость.Результат выполнения запроса- вывод списка автомобилей, описание которых совпадает с введенными критериями

3. ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ

3.1 Разработка модели базы данных

Для данного приложения была разработана база данных, модель которой находится в приложении В.

Ниже приведено описание основных таблиц:

1. таблица «table_car» используется для хранения информации об автомобилях:

- ID(bigint) -первичный ключ таблицы, идентификатор автомобиля;

- Model(varchar(100)) - полное название модели;

- Color(varchar(100)) -цвет кузова;

- Price (varchar(50)) - стоимость автомобиля;

- Sale Date(datetime) -датаоформления заказа;

- Stat (varchar(100)) - состояние(в салоне/оформлен заказ);

- Buyerid (bigint) -идентификатор покупателя.

- Release Date(int) - годвыпуска.

2. таблица «table_mod» используется для хранения дополнительной информации о выбранном автомобиле:

- ID(bigint) -первичный ключ таблицы, идентификатор модели автомобиля;

- CarID (bigint) - идентификатор автомобиля;

- Seatsnumber(int) -количество пассажирских мест;

- fuel(varchar(10)) - тип используемого топлива;

- Fuelrate (int) - расход топлива в литрах на 100 км.

3. таблица «table_stat» используется для хранения информации о состоянии автомобиля(находится в салоне/ продано):

- ID(bigint) -первичный ключ таблицы, идентификатор состояния;

- Stat(varchar(100)) - состояние автомобиля;

4. таблица «table_distr» используется для хранения информации о поставщике:

- ID(bigint) -первичный ключ таблицы, идентификатор поставщика;

- CarID(bigint) - идентификатор автомобиля

- Contact Information (varchar(100)) - контактнаяинформация.

- DistrName (varchar(100)) - название поставщика.

5. таблица «table_man» используется для хранения информации о человеке, тк он может являться работником или покупателем:

- ID(bigint) -первичный ключ таблицы, идентификатор человека;

- Surname(varchar(50)) - фамилия;

- Name(varchar(50)) -имя;

6. таблица «table_contact» используется для хранения информации о контактной инофрмации работника/покупателя:!!!!!!!!!!!!!!!!!!!!!!!!(прод)

- ID(bigint) -первичный ключ таблицы, идентификатор контактной информации;

- ManID (bigint) - идентификатор;

- Phone(nvarchar(100)) -номер телефона;

- Adress(varchar(100)) -адрес;

7. таблица «table_client» используется для хранения информации о клиентах:

- ID(bigint) -первичный ключ таблицы, идентификатор клиента;

- ManID (bigint) - Идентификатор человека;

- CarID(bigint) -идентификатор автомобиля;

8. таблица «table_buyer» используется для хранения информации о покупателях:

- ID(bigint) -первичный ключ таблицы, идентификатор покупателя;

- ManID(bigint) - идентификатор человека;

- CarID(bigint) - идентификатор автомобиля;

- OfficialID (bigint) - идентификатор сотрудника;

- Payment (bigint) - идентификатор способа оплаты.

9. таблица «table_payment» используется для хранения информации о способах оплаты:

- ID (bigint) - первичный ключ таблицы, идентификатор способа оплаты;

- Payment(varchar(50)) - способ оплаты;

10. таблица «table_official» используется для хранения информации о сотрудниках:

- ID (bigint) - первичный ключ таблицы, идентификатор сотрудника;

- ManID (bigint) - идентификатор человека;

- Post (varchar(50))- занимаемая должность;

- Reward (int) - заработная плата;

11. таблица «table_post» используется для хранения информации о занимаемых должностях:

- ID (bigint) - первичный ключ таблицы, идентификатор должности;

- Post(varchar(50) - занимаемая должность;

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

У каждого автомобиля может быть несколько модификаций. Например, в салоне может находиться два одинаковых автомобиля, отличающихся каким-либо параметром модификации(цвет, год выпуска и т.д.).

Структура клиентов-сотрудников заключена в таблицы table_man, table_buyerи table_official. Длясвязитаблицпотипуtable_man - table_officialиtable_man - table_buyerвтаблицеtable_manиспользуется первичный ключ man_id, который используется для связи в двух других таблицах.

Каждый покупатель связан с автомобилем, который он хочет приобрести. В качестве внешних ключей здесь используются идентификатор автомобиля и идентификатор покупателя.

В таблице table_distr имеется информация о поставщике автомобиля, которая связана с таблицей table_carчерезидентификатор автомобиля и идентификатор поставщика. Для каждого автомобиля ставится в соответствие поставщик и его краткая информация.

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

3.2 Схема базы данных на языке SQL

CREATE TABLE [dbo].[Club]( [Id] [bigint] IDENTITY(1,1) NOT NULL, [Name] [varchar](100) NOT NULL,

[CreationDate] [datetime] NOT NULL, [Owner] [varchar](50) NOT NULL,

CONSTRAINT [PK_Club] PRIMARY KEY CLUSTERED ([Id] ASC)

WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[aspnet_WebEvent_Events](

[EventId] [char](32) NOT NULL,

[EventTimeUtc] [datetime] NOT NULL,

[EventTime] [datetime] NOT NULL,

[EventType] [nvarchar](256) NOT NULL,

[EventSequence] [decimal](19, 0) NOT NULL,

[EventOccurrence] [decimal](19, 0) NOT NULL,

[EventCode] [int] NOT NULL,

[EventDetailCode] [int] NOT NULL,

[Message] [nvarchar](1024) NULL,

[ApplicationPath] [nvarchar](256) NULL,

[ApplicationVirtualPath] [nvarchar](256) NULL,

[MachineName] [nvarchar](256) NOT NULL,

[RequestUrl] [nvarchar](1024) NULL,

[ExceptionType] [nvarchar](256) NULL,

[Details] [ntext] NULL,

PRIMARY KEY CLUSTERED

(

[EventId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Footballer](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Name] [varchar](100) NOT NULL,

[Surname] [varchar](100) NOT NULL,

[Position] [varchar](50) NOT NULL,

[DateOfBirth] [datetime] NOT NULL,

[Nationality] [varchar](100) NOT NULL,

[Sex] [varchar](10) NOT NULL,

CONSTRAINT [PK_Footballer] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Trophy](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Name] [varchar](50) NOT NULL,

CONSTRAINT [PK_Trophy] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Stadium] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Stadium](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Name] [varchar](50) NOT NULL,

[Location] [varchar](50) NOT NULL,

[Capacity] [bigint] NOT NULL,

CONSTRAINT [PK_Stadium] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Referee] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Referee](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Name] [varchar](100) NOT NULL,

[Surname] [varchar](100) NOT NULL,

[DateOfBirth] [datetime] NOT NULL,

[Nationality] [varchar](100) NOT NULL,

[Sex] [varchar](10) NOT NULL,

[StartCareerDate] [datetime] NOT NULL,

CONSTRAINT [PK_Referee] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[News] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[News](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Body] [nvarchar](max) NOT NULL,

[Header] [nvarchar](max) NOT NULL,

[Picture] [varchar](500) NULL,

[Time] [datetime] NULL,

CONSTRAINT [PK_News] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[aspnet_SchemaVersions] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_SchemaVersions](

[Feature] [nvarchar](128) NOT NULL,

[CompatibleSchemaVersion] [nvarchar](128) NOT NULL,

[IsCurrentVersion] [bit] NOT NULL,

PRIMARY KEY CLUSTERED

(

[Feature] ASC,

[CompatibleSchemaVersion] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_Applications] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_Applications](

[ApplicationName] [nvarchar](256) NOT NULL,

[LoweredApplicationName] [nvarchar](256) NOT NULL,

[ApplicationId] [uniqueidentifier] NOT NULL,

[Description] [nvarchar](256) NULL,

PRIMARY KEY NONCLUSTERED

(

[ApplicationId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],

UNIQUE NONCLUSTERED

(

[LoweredApplicationName] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],

UNIQUE NONCLUSTERED

(

[ApplicationName] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[Coach] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Coach](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Name] [varchar](100) NOT NULL,

[Surname] [varchar](100) NOT NULL,

[DateOfBirth] [datetime] NOT NULL,

[Nationality] [varchar](100) NOT NULL,

[Sex] [varchar](10) NOT NULL,

[StartCareerDate] [datetime] NOT NULL,

CONSTRAINT [PK_Coach] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[Footballer_Club] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Footballer_Club](

[FootballerId] [bigint] NOT NULL,

[ClubId] [bigint] NOT NULL,

CONSTRAINT [PK_Footballer_Club] PRIMARY KEY CLUSTERED

(

[FootballerId] ASC,

[ClubId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[Coach_Club] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Coach_Club](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[ClubId] [bigint] NOT NULL,

[CoachId] [bigint] NOT NULL,

[StartCooperation] [datetime] NOT NULL,

[EndCooperation] [datetime] NULL,

CONSTRAINT [PK_Coach_Club] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[Club_Tropy] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Club_Tropy](

[ClubId] [bigint] NOT NULL,

[TrophyId] [bigint] NOT NULL,

[DateVictory] [datetime] NOT NULL,

CONSTRAINT [PK_Club_Tropy] PRIMARY KEY CLUSTERED

(

[ClubId] ASC,

[TrophyId] ASC,

[DateVictory] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_Paths] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_Paths](

[ApplicationId] [uniqueidentifier] NOT NULL,

[PathId] [uniqueidentifier] NOT NULL,

[Path] [nvarchar](256) NOT NULL,

[LoweredPath] [nvarchar](256) NOT NULL,

PRIMARY KEY NONCLUSTERED

(

[PathId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_Users] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_Users](

[ApplicationId] [uniqueidentifier] NOT NULL,

[UserId] [uniqueidentifier] NOT NULL,

[UserName] [nvarchar](256) NOT NULL,

[LoweredUserName] [nvarchar](256) NOT NULL,

[MobileAlias] [nvarchar](16) NULL,

[IsAnonymous] [bit] NOT NULL,

[LastActivityDate] [datetime] NOT NULL,

PRIMARY KEY NONCLUSTERED

(

[UserId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_Roles] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_Roles](

[ApplicationId] [uniqueidentifier] NOT NULL,

[RoleId] [uniqueidentifier] NOT NULL,

[RoleName] [nvarchar](256) NOT NULL,

[LoweredRoleName] [nvarchar](256) NOT NULL,

[Description] [nvarchar](256) NULL,

PRIMARY KEY NONCLUSTERED

(

[RoleId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[Match] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Match](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[DateOfMatch] [datetime] NULL,

[StadiumId] [bigint] NOT NULL,

[RefereeId] [bigint] NOT NULL,

[ClubId_1] [bigint] NOT NULL,

[ClubId_2] [bigint] NOT NULL,

[Goals_1] [bigint] NOT NULL,

[Goals_2] [bigint] NOT NULL,

CONSTRAINT [PK_Match] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[Goal] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Goal](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[MatchId] [bigint] NOT NULL,

[FootballerId] [bigint] NOT NULL,

[NumberOfGoals] [bigint] NOT NULL,

[GoalTime] [bigint] NOT NULL,

CONSTRAINT [PK_Goal] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[Comment] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Comment](

[Id] [bigint] IDENTITY(1,1) NOT NULL,

[Time] [datetime] NULL,

[Body] [nvarchar](max) NOT NULL,

[NewsId] [bigint] NOT NULL,

[LoginId] [uniqueidentifier] NOT NULL,

CONSTRAINT [PK_Comment] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_UsersInRoles] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_UsersInRoles](

[UserId] [uniqueidentifier] NOT NULL,

[RoleId] [uniqueidentifier] NOT NULL,

PRIMARY KEY CLUSTERED

(

[UserId] ASC,

[RoleId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_Profile] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_Profile](

[UserId] [uniqueidentifier] NOT NULL,

[PropertyNames] [ntext] NOT NULL,

[PropertyValuesString] [ntext] NOT NULL,

[PropertyValuesBinary] [image] NOT NULL,

[LastUpdatedDate] [datetime] NOT NULL,

PRIMARY KEY CLUSTERED

(

[UserId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_PersonalizationPerUser] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_PersonalizationPerUser](

[Id] [uniqueidentifier] NOT NULL,

[PathId] [uniqueidentifier] NULL,

[UserId] [uniqueidentifier] NULL,

[PageSettings] [image] NOT NULL,

[LastUpdatedDate] [datetime] NOT NULL,

PRIMARY KEY NONCLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_PersonalizationAllUsers] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_PersonalizationAllUsers](

[PathId] [uniqueidentifier] NOT NULL,

[PageSettings] [image] NOT NULL,

[LastUpdatedDate] [datetime] NOT NULL,

PRIMARY KEY CLUSTERED

(

[PathId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

/****** Object: Table [dbo].[aspnet_Membership] Script Date: 12/08/2012 21:17:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[aspnet_Membership](

[ApplicationId] [uniqueidentifier] NOT NULL,

[UserId] [uniqueidentifier] NOT NULL,

[Password] [nvarchar](128) NOT NULL,

[PasswordFormat] [int] NOT NULL,

[PasswordSalt] [nvarchar](128) NOT NULL,

[MobilePIN] [nvarchar](16) NULL,

[Email] [nvarchar](256) NULL,

[LoweredEmail] [nvarchar](256) NULL,

[PasswordQuestion] [nvarchar](256) NULL,

[PasswordAnswer] [nvarchar](128) NULL,

[IsApproved] [bit] NOT NULL,

[IsLockedOut] [bit] NOT NULL,

[CreateDate] [datetime] NOT NULL,

[LastLoginDate] [datetime] NOT NULL,

[LastPasswordChangedDate] [datetime] NOT NULL,

[LastLockoutDate] [datetime] NOT NULL,

[FailedPasswordAttemptCount] [int] NOT NULL,

[FailedPasswordAttemptWindowStart] [datetime] NOT NULL,

[FailedPasswordAnswerAttemptCount] [int] NOT NULL,

[FailedPasswordAnswerAttemptWindowStart] [datetime] NOT NULL,

[Comment] [ntext] NULL,

PRIMARY KEY NONCLUSTERED

(

4. РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ

Для администратора имеются возможности добавления новых автомобилей, просмотра информации о покупателях, работниках, поставщиках.

Стартовая страница портала выглядит следующим образом:

Рисунок 4.1 -Стартовая страница автосалона

На стартовой странице в верхней части находятся основные пункты меню для навигации по сайту автосалона. В правом верхнем углу находится текущее состояние пользователя (в данном случае пользователь не зарегистрирован и доступен переход по ссылке LogIn (входа)).

Перейдём на страницу входа в учётную запись пользователя:

Рисунок 4.2-Страница входа в учётную запись

На странице входа отображается форма для ввода информации об уже зарегистрированном пользователе. Если пользователь ещё не зарегистрирован, то необходимо перейти, щёлкнув по ссылке Register. В этом случае появится окно для регистрации пользователя (необходимо будет ввести логин, пароль, адрес электронной почты).

Рисунок 4.3-Окно регистрации нового пользователя

Если пользователь не заполнит какое-либо из полей, либо введенные данные в полях «EnterPassword»и «ConfirmPassword» будет выведена информация о неправильном заполнении формы регистрации.

Рисунок 4.4-Предупреждения о неправильности заполнения формы регистрации

После входа в свою учетную пользователь попадает на главную страницу и теперь может оформить заказ или осуществить поиск по сайту. Перейдя в пункт меню «Autos»пользователь сможет увидеть список всех доступных автомобилей в салоне.

Рисунок 4.5-раздел «Autos»

Выбрав пункт меню «ClientBase» на экране появится таблица, содержащая информацию обо всех клиентах автосалона.

Перейдем к пункту меню «CkeckOut». Здесь пользователь может оформить свой заказ, ему будет предоставлена таблица доступных автомобилей, кликнув по нужному пункту, он перейдет к оформлению заказа

Рисунок 4.6-поиск автомобиля по критериям

Как видно из рисунка, пользователь может заполнить лишь необходимые ему поля. При нажатии на кнопку Checkсистема выдаст все возможные результаты поиска. В данном случае соответствует 1 найденная запись.

Внизу расположены две кнопки «Yes» и «No». В зависимости от выбора пользователя будет оформлен заказ или возврат на предыдущую страницу.

ЗАКЛЮЧЕНИЕ

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

В разработанном программном средстве присутствует разделение существующих пользователей по ролям. В зависимости от роли пользователь получает доступ и к новым возможностям портала. Пользователи с ролью администратора могут добавлять автомобили в список доступных и просматривать всю необходимую информацию о клиентах, поставщиках, сотрудниках и т.д.

Пользователи имеют возможность просматривать список доступных автомобилей, выбирать поиск автомобиля по заданным критериям, оформлять заказ.

ПРИЛОЖЕНИЕ А

(рекомендуемое)

Программный модуль административных операций

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Web;

usingSystem.Web.Mvc;

usingSystem.Web.Security;

usingSportPortal.Data.Entities.EntityFramework;

usingSportPortal.Data.Repositories.Interfaces;

usingSportPortal.Web.Constants;

usingSportPortal.Web.Helpers;

usingSportPortal.Web.Helpers.Enums;

usingSportPortal.Web.Models.Account;

usingSportPortal.Web.Models.Admin;

namespaceSportPortal.Web.Controllers

{

[Authorize(Roles = "Admin")]

public class AdminController : Controller

{

privatereadonlyIAdminRepository _adminRepository;

publicAdminController(IAdminRepositoryadminRepository)

{

_adminRepository = adminRepository;

}

[HttpGet]

publicActionResult Index()

{

return View();

}

#region User actions

[HttpGet]

publicViewResult Users()

{

var model = new EditModel {Users = _adminRepository.Users(), RegisterModel = new RegisterModel()};

return View(model);

}

[HttpPost]

publicJsonResultDeleteUser(string login)

{

try

{

boolisSuccess = Membership.DeleteUser(login);

if (!isSuccess)

{

return new JsonResult

{Data = new {status = UserOperationStatus.Failure, message = "Can't delete user!"}};

}

}

catch (Exception ex)

{

return new JsonResult {Data = new {status = UserOperationStatus.Failure, message = ex.Message}};

}

return new JsonResult {Data = new {status = UserOperationStatus.Success, message = ""}};

}

[HttpPost]

publicJsonResultGetUserInfo(string login)

{

MembershipUser user = _adminRepository.GetUser(login);

stringuserRole = Roles.GetRolesForUser(login)[0];

return new JsonResult {Data = new {login = user.UserName, email = user.Email, role = userRole}};

}

[HttpGet]

publicActionResultRegisterUser()

{

returnPartialView("_AdminRegisterTemplate");

}

[HttpPost]

[ValidateInput(false)]

publicActionResultRegisterUser(RegisterModel user, string role)

{

_adminRepository.CreateUser(user.Login, user.Password, user.Email, role);

returnRedirectToAction("Users", "Admin");

}

[HttpPost]

publicJsonResultCheckUserLoginExists(string login)

{

varisLoginContainsHtml = (login != HttpUtility.HtmlEncode(login));

if (isLoginContainsHtml)

{

return new JsonResult {Data = new {status = UserOperationStatus.Failure, message = "Login must be without html tags!"}};

}

var user = _adminRepository.GetUser(login);

return user == null

? newJsonResult { Data = new { status = UserOperationStatus.Success, message = "" } }

: newJsonResult { Data = new { status = UserOperationStatus.Failure, message = "Current login already exists!" } };

}

[HttpPost]

publicJsonResultUpdateUser(string login, string oldRole, string newRole)

{

try

{

Roles.RemoveUserFromRole(login, oldRole);

Roles.AddUserToRole(login, newRole);

}

catch(Exception ex)

{

return new JsonResult {Data = new {status = UserOperationStatus.Failure, message = ex.Message}};

}

return new JsonResult {Data = new {status = UserOperationStatus.Success, message = ""}};

}

#endregion

#region News actions

[HttpGet]

publicViewResult News()

{

varallNews = _adminRepository.News();

var models = new List<NewsCommentsModel>(allNews.Count());

foreach (var news in allNews)

{

longcommentsCount = _adminRepository.GetCommentsCount(news.Id);

models.Add(new NewsCommentsModel {News = news, CommentsCount = commentsCount});

}

return View(models);

}

#endregion

ПРИЛОЖЕНИЕ Б

Диаграмма классов проекта

ПРИЛОЖЕНИЕВ

Схема базы данных

Размещено на Allbest.ru


Подобные документы

  • Принципы построения СУБД, их достоинства. Архитектура распределенной информационной системы. Разработка интернет-магазина рынка книг: построение физической модели данных на языке SQL, проектирование схемы базы данных с использованием веб-интерфейса.

    курсовая работа [2,3 M], добавлен 01.11.2011

  • Описание состава реляционной базы данных как системы связанной информации, сохраняемой в двумерных таблицах. Основные функции CMS и изучение структуры сервера MySQL. Разработка системы выборок данных по товарам для интернет-магазина, таблицы покупателей.

    курсовая работа [2,0 M], добавлен 21.04.2015

  • Проблемы внедрения информационных технологий. Автоматизация работы пользователя. Основные этапы проектирования базы данных. Функционирование предметной области. Специализированные языки обработки данных. Обоснование выбора основных технических средств.

    курсовая работа [61,9 K], добавлен 08.02.2012

  • Разработка интернет-магазина, который специализируется на продаже книг. Сравнение технологий и средств разработки: языки программирования и программное обеспечение. Социальные сети и система управления контентом. Проектирование модели базы данных.

    курсовая работа [3,6 M], добавлен 25.06.2012

  • Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".

    дипломная работа [5,4 M], добавлен 06.06.2013

  • Анализ предметной области. Проектирование концептуальной модели. Разработка логической структуры базы данных. Выделение информационных объектов. Создание глобальной схемы связей. Поддержка целостности данных. Структура и назначение существующих форм.

    курсовая работа [1,4 M], добавлен 23.09.2016

  • Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.

    курсовая работа [3,8 M], добавлен 02.02.2014

  • Проектирование логической структуры базы данных методом нормальных форм, сущность связь. Сравнительный анализ спроектированной базы данных и базы данных существующих информационных систем. Выбор и обоснование состава технических и программных средств.

    курсовая работа [3,0 M], добавлен 22.12.2014

  • Факторы, влияющие на пропускную способность в беспроводных сетях. Использование скриптового языка программирования PHP для разработки базы данных интернет-магазина, его основные преимущества. Современные методы и средства тестирования web-приложений.

    дипломная работа [3,5 M], добавлен 10.07.2015

  • Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.

    курсовая работа [2,9 M], добавлен 29.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.