Создание программного продукта

Автор работы: Пользователь скрыл имя, 02 Февраля 2014 в 19:29, курсовая работа

Краткое описание

В данной работе описывается разработка и использование программного продукта, который может в некоторой степени облегчить работу турфирм. Также целью работы является исследование СУБД Microsoft SQL Server. Сделано это будет путем использования среды разработки Microsoft Visual Studio 2010.

Содержание

ВВЕДЕНИЕ 3
1. ОСНОВАНИЕ И ЦЕЛЬ РАЗРАБОТКИ 4
2. РАЗРАБОТКА ПРИЛОЖЕНИЯ “ТУРОПЕРАТОР” 7
2.1. Создание проекта 7
2.2. База данных 8
2.3. Модель данных 13
2.4. Контроллеры проекта 14
2.5. Представления проекта 15
2.6. Представление приложения 16
3. РАБОТА ПРИЛОЖЕНИЯ «ТУРОПЕРАТОР» 18
ЗАКЛЮЧЕНИЕ 22
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 23
ПРИЛОЖЕНИЕ 24
Листинг контроллера клиент 24

Прикрепленные файлы: 1 файл

BD.docx

— 834.38 Кб (Скачать документ)

Источник: Собственная разработка

 

Сущность «Manager», а также ее атрибуты представлены в табл.2.6.

 

Таблица 2.6

 

Менеджер

Поле

Тип данных

Хранимые данные

ManagerId

int

Код менеджера

ManagerName

nvarchar(50)

Имя менеджера


Источник: Собственная разработка

 

Схема базы данных (рис. 2.4):

Рис. 2.4. Окно-диаграмма "Схема базы данных"

Источник: собственная разработка

    1.  Модель данных

 

Для осуществления манипуляций  с нашей базой данных необходима модель данных. Именно с помощью  модели данных приложение получает доступ к полям хранилища данных. Создаем  модель данных (рис. 2.5):

Рис.2.5. Создание модели данных

Источник: Собственная разработка

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

  • Приложения могут работать концептуальной моделью в терминах предметной области — в том числе с наследуемыми типами, сложными элементами и связями.
  • Приложения освобождаются от жестких зависимостей от конкретного ядра СУБД или схемы хранения.
  • Сопоставления между концептуальной моделью и схемой, специфичной для конкретного хранилища, могут меняться без изменения кода приложения.
  • Разработчики имеют возможность работать с согласованной моделью объектов приложения, которая может быть сопоставлена с различными схемами хранения, которые, возможно, реализованы в различных системах управления данными.
  • Несколько концептуальных моделей могут быть сопоставлены с единой схемой хранения.
  • Поддержка запросов LINQ обеспечивает проверку синтаксиса во время компиляции для запросов к концептуальной модели.[2]
    1.  Контроллеры проекта

 

Платформа MVC для ASP.NET сопоставляет URL-адреса с классами, называемыми контроллерами. Контроллеры обрабатывают входящие запросы, вводимые пользователями данные и их действия, а так же реализуют логику приложения. Класс контроллера обычно вызывает отдельный компонент представления, который создает в качестве ответа HTML-разметку.[1]

Для создания нового контроллера  необходимо необходимо вызвать контекстное  меню папки “Controllers” затем выбрать Add, Controllerи набрать имя контроллера, причём если мы хотим добавить методы для создания, обновления, удаления и работы с деталями объекта, нам необходимо выбрать пункт “Add action methods for Create, Update, Delete, and Details scenarios” (рис. 2.6):

Рис.2.6. Создание контроллера

Источник: Собственная разработка

Контроллеры должны в полной мере описывать сущности задачи.Методы контроллеров реализуют CRUD-функционал.(приложение) Для примера рассмотрим метод Index(), который служит для отображения всех клиентов (рис. 2.7):

Рис.2.7.Реализация метода Index()

Источник: Собственная разработка

    1.  Представления проекта

 

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

Для создания нового представления  необходимо вызвать контекстное  меню папки “View” затем выбрать Add, View. В открывшемся окне (рис. 2.8) мы видим много различных опций. Для создания представления определённого типа мы должны выбрать из списка объект модели, предварительно поставив галочку на “Create a strongly-typed view”.

“View-Content” – это способ представления данных, к примеру “details” сгенерирует нам представление в виде деталей некоторого объекта.

“Select master page” – здесь мы выбираем страницу, из которой наследуется разметка html страницы.

Рис. 2.8. Диалоговоеокно "Создание нового представления"

Источник: собственная разработка

    1.  Представление приложения

 

Для создания пользовательского  интерфейса, облегчающего работу с  приложением пользователя, использовалась технология HTML+CSS.

CSS(Каскадные таблицы стилей)–формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

CSS используется для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. РАБОТА ПРИЛОЖЕНИЯ «ТУРОПЕРАТОР»

 

Запуск приложения осуществляется из среды разработки Microsoft Visual Studio 2012. После загрузки приложения в браузере можно будет наблюдать следующую  картину (рис.3.1.):

Рис. 3.1. Главная страница приложения «Туроператор»

Источник: Собственная разработка

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

Далее подробнее остановимся  на некоторых элементах главного меню. Первый элемент меню представляет собой ссылку на список клиентов нашей  турфирмы, то есть происходит извлечение данных из существующей таблицы Klient. Последующие элементы меню предоставляют аналогичные возможности – это вывод данных из таблиц Tour, Country, Town, Manager, Transport. Помимо просмотра выводимых данных, также существует возможность их редактирования, удаления, создания и отправки документа на печать. Например, представление списка клиентов турфирмы (рис.3.2):

Рис. 3.2. Список клиентов турфирмы

Источник: Собственная разработка

Так же напротив каждого  клиента существует ссылка AllTours, которая позволяет просмотреть все туры данного клиента. Ссылка Edit позволяет перейти к редактированию данных о клиенте, Delete  - удалить клиента из базы данных. Однако, как писалось ранее, для доступа ко всем разделам необходима авторизация. Любое современное предприятие не может успешно функционировать без создания надежной системы защиты своей информации. Форма авторизации будет выглядеть следующим образом (рис.3.3):

Рис. 3.3. Форма "Вход в систему"

Источник: Собственная разработка

При регистрации новых  клиентов, необходимо добавление их в  базу данных. Это осуществляется путем  нажатия кнопки Create New, находясь в соответствующем разделе (рис.3.4):

Рис. 3.4. Форма "Создание клиента"

Источник: Собственная разработка

Для любой фирмы необходимо формирование различной отчетной документации. Для реализации этой процедуры необходимо просто выбрать, что мы хотим отправить на печать и нажать кнопку Print. Например, отправим на печать список всех наших клиентов, выходной документ будет представлен в виде (рис.3.5):

Рис. 3.4. Печатная форма докумета

Источник: Собственная разработка

Для реализации этой возможности  использовалась технология JavaScript.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

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

1. Автоматизация основных  функций туроператора. Процесс создания  регистрации клиентов и манипуляция  с данными, становится более  быстрым

2. Создание отчетности. В  программном продукте существует  возможность создания отчетов.

3. Обеспечение безопасности данных, благодаря необходимости авторизации.

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

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

 

 

 

 

 

 

 

 

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

 

        1. Контроллеры и методы их действия в приложения ASP.NET MVC [Электронный ресурс] – 2012. - Режим доступа: http://msdn.microsoft.com/ru-ru/library/dd410269.aspx. -  Дата доступа: 28.11.2012
        2. Платформа ADO.NET Entity Framework [Электронный ресурс] – 2012. – Режим доступа: http://msdn.microsoft.com/ru-ru/library/bb399572.aspx. - Дата доступа: 28.11.2012
        3. Процесс автоматизации турфирмы [Электронный ресурс] – 2012. – Режим доступа: http://www.kazatur.narod.ru/ssvt/1.HTML. - Дата доступа 27.11.2012
        4. Фаро, С. Создание SQL Приложений / С.Фаро – М.: 2009. – 329 с.
        5. ASP.NETMVCFramework [Электронный ресурс] – 2012. – Режим доступа: http://ru.wikipedia.org/wiki/ASP.NET_MVC_Framework. – Дата доступа: 28.11.2012

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ

Листинг контроллера клиент

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using turoperator.Models;

 

namespace turoperator.Controllers

{

    public class KlientController : Controller

    {

       

        private TuroperatorDBEntities db = new TuroperatorDBEntities();

 

        [Authorize(Roles="Administrators")]

        public ActionResult Index()

        {

            var klients = (from klient in db.Klient select klient).ToList();

            return View(klients);

        }     

              

        public ActionResult Details(int id)

        {

            var klientDetails = (from klient in db.Klient where klient.KlientId == id select klient).First();

            return View(klientDetails);

        }

 

        public ActionResult Create()

        {

            Klient klient = new Klient();

            return View(klient);

        }

 

      

        [HttpPost]

        public ActionResult Create(Klient klient)

        {

            try

            {

                if (ModelState.IsValid)

                {

                    db.AddToKlient(klient);

                    db.SaveChanges();

                    return RedirectToAction("Index");

                }

            }

            catch (Exception ex)

            {

                ModelState.AddModelError(String.Empty, ex);

            }

            return View(klient);

        }

 

       

        public ActionResult Edit(int id)

        {

            var klientEdit = (from klient in db.Klient where klient.KlientId == id select klient).First();

            return View(klientEdit);

     ПРОДОЛЖЕНИЕ

  }

 

     

 

        [HttpPost]

        public ActionResult Edit(int id, FormCollection collection)

        {

            var klientEdit = (from klient in db.Klient where klient.KlientId == id select klient).First();

           

 

            try

            {

                UpdateModel(klientEdit);

                db.SaveChanges();

                return RedirectToAction("Index");

            }

            catch

            {

                return View(klientEdit);

            }

        }

 

 

        public ActionResult Delete(int id)

        {

            var klientDelete = (from klient in db.Klient where klient.KlientId == id select klient).First();

            return View(klientDelete);

        }

 

       

 

        [HttpPost]

        public ActionResult Delete(int id, FormCollection collection)

        {

            var klientDelete = (from klient in db.Klient where klient.KlientId == id select klient).First();

 

            try

            {

 

                db.DeleteObject(klientDelete);

                db.SaveChanges();

 

                return RedirectToAction("Index");

            }

            catch

            {

                return View(klientDelete);

            }

        }

 

        public ActionResult AllTours(int id)

        {

            var tours = (from tour in db.Tour where tour.TourId == id select tour).ToList();

Информация о работе Создание программного продукта