Стоимость: 280 руб.

Содержание

1. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ

2. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ

2.1 Исследование программных средств для создания UML-диаграмм

2.2 Создание модели предметной области

2.3 Проектирование вариантов использования

2.4 Проектирование структуры базы данных

3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ

3.1 Модели и база данных

3.2 Контроллеры

3.3 Административная часть

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

2. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ


Нужна такая же работа?

Оставь заявку и получи бесплатный расчет

Несколько простых шагов

Оставьте бесплатную заявку. Требуется только e-mail, не будет никаких звонков

Получайте предложения от авторов

Выбирете понравившегося автора

Получите готовую работу по электронной почте

Стоимость: 280 руб.

На странице представлен фрагмент

Реши любую задачу с помощью нейросети.

1. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ

В настоящее время появляются новые приложения, мобильные и веб-сервисы, направленные на улучшение качества обслуживания, и существуют некоторые решения, которые касаются бронирования мест в ресторанах.
1. Сайт для бронирования столиков https://gettable.ru
Данный сайт позволяет пользователю выбрать интересующий его ресторан из множества доступных и забронировать в нем столик. Однако, здесь нельзя получить доступ к меню, этот сайт скорее является путеводителем по доступным ресторанам, но не индивидуальным приложением.
2. Сайты ресторанов https://www.opentable.com, http://www.oblakarestoran.ru
Данные сайты являются индивидуальными для определенных ресторанов и предоставляют информацию о заведении и меню, но здесь отсутствует виртуальная карта зала, и поэтому оценить зал и заказать определенный столик невозможно.
3. Веб-сервис https://jiffyx.

2.2 Создание модели предметной области

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

Требования к системе
1) Система – это комплексное решение в виде приложения и административного интерфейса к базе данных.
2) Система должна иметь интерфейс для клиентов.
3) Система должна иметь интерфейс для администратора (персонала ресторана).
4) Система предназначена для заказа столиков и еды.
5) Система должна иметь страницу с контактами и картой для отметки местоположения ресторана.
6) Система должна иметь страницу с информацией о ресторане и поварах.

2.3 Проектирование вариантов использования

С помощью вариантов использования можно описать функциональные требования к системе. Варианты использования помогают ответить на вопросы: «Что пользователи пытаются сделать с помощью системы? Чем система может быть им полезна?» Путь, по которому пользователь взаимодействует с системой, определяет получаемый результат.
Варианты использования позволяют начать непосредственное проектирование и приблизительно оценить будущие временные затраты на реализацию.
В вариантах использования следует отражать действия пользователя и реакцию на них системы. Эти действия можно разделить на 2 группы взаимодействия с системой:
– относящиеся к основному сценарию
– относящиеся альтернативному сценарию
Альтернативный сценарий включает действия, которые пользователь вынужден совершать, если возникли ошибки или что-то пошло не так. Варианты использования должны быть описаны в контексте модели предметной области, т.е.

3.1 Модели и база данных

Разрабатываемое приложение – это решение Visual Studio с двумя проектами, один из которых (MainPart) содержит модели сущности и логику предметной области, а второй (WebPart) – приложение MVC, состоящее из контроллеров и представлений.
Создание проектов MVC Framework начинаются с модели предметной области, так как именно с ней связаны все компоненты. В нашем приложении присутствуют следующие сущности:
Блюдо (Dish.cs)
public class Dish
{
public int DishId { get; set; }
public string Name { get; set; }
public string Ingredients { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
public byte[] ImageData { get; set; }
public string ImageMimeType { get; set; }
public boolean OutOfStock { get; set; }n
}

Заказ (Order.

3.2 Контроллеры
Контроллер – это центральный компонент MVC приложения, который обрабатывает запросы пользователя. После получения ввода пользователя, контроллер вызывает и координирует действия необходимых объектов и ресурсов, а затем возвращает ему результат, чаще всего, в виде представления.
Модель — это бизнес-логика приложения. Модель должна быть полностью независима от остальных компонентов приложения.
Представление отвечает за получение необходимых данных из модели и их корректное отображение пользователю [3].

3.3 Административная часть
Проектируемая система включает создание административного интерфейса для персонала ресторана. Для данной функции был создан специальный контроллер AdminController. В целях защиты, для получения доступа к методам этого контроллера, пользователю требуется ввести логин и пароль администратора.
Рис. 12. Интерфейс входа в административную панель
После успешного входа в систему, пользователю отображается главная страница админ-панели. Отсюда пользователь может перейти на несколько вкладок.
Меню: Администратор имеет возможность просматривать, изменять, добавлять и удалять блюда в меню.
Столики: Администратор имеет возможность просматривать, изменять, добавлять и удалять столики.
Бронирования: Администратор имеет возможность просматривать бронирования.
Рис. 13. Интерфейс страницы редактирования меню
Виртуальная карта зала: Администратор имеет возможность просматривать и изменять виртуальную карту зала.

ЗАКЛЮЧЕНИЕ

В рамках проделанной работы был спроектирован и реализован действующий прототип компонента системы автоматизации для бронирования столов в ресторане, обладающий функционалом как для клиентов ресторана, так и для его персонала. Перед проектированием были рассмотрены различные возможные решения поставленной задачи и выделены их плюсы и минусы.
В ходе выполнения работы были выбраны и изучены инструменты и технологии, применяемые к решению схожих задач, определены функциональные требования к системе, была спроектирована база данных и бизнес-логика.
В процессе разработки компонента системы были изучены следующие технологии: C#, Visual Studio, SQL, ASP.NET MVC5, NuGet, Entity Framework, HTML, CSS, JavaScript, jQuery, jQuery UI.

СПИСОК ЛИТЕРАТУРЫ

1. Daniel M. Solis. Illustrated C# 2010. New York City: Apress, 2010.
2. Фримен А. ASP.NET MVC 5 с примерами на C# 5.0. 5-е изд. Киев: Вильямс, 2015.
3. Nimit Joshi. Programming ASP.NET MVC 5. C# Corner, 2013.
4. Информация о Ajax.ActionLink и Html.ActionLink. URL: http://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc (Дата обращения: 15.04.2017)
5. Справочная информация по методам jQuery. URL: https://www.w3schools.com/jQuery/ajax_post.asp (Дата обращения: 02.05.2017)
6. API документация jQuery draggable. URL: http://api.jqueryui.com/draggable (Дата обращения: 10.05.2017)

Приложения
DishesController
namespace WebPart.

Узнайте сколько будет стоить выполнение вашей работы

   

Список использованной литературы

  1. 1. Daniel M. Solis. Illustrated C# 2010. New York City: Apress, 2010.
  2. 2. Фримен А. ASP.NET MVC 5 с примерами на C# 5.0. 5-е изд. Киев: Вильямс, 2015.
  3. 3. Nimit Joshi. Programming ASP.NET MVC 5. C# Corner, 2013.
  4. 4. Информация о Ajax.ActionLink и Html.ActionLink. URL: http://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc (Дата обращения: 15.04.2017)
  5. 5. Справочная информация по методам jQuery. URL: https://www.w3schools.com/jQuery/ajax_post.asp (Дата обращения: 02.05.2017)
  6. 6. API документация jQuery draggable. URL: http://api.jqueryui.com/draggable (Дата обращения: 10.05.2017)
  7. Приложения
  8. DishesController
  9. namespace WebPart.Controllers
  10. {
  11. public class DishesController : Controller
  12. {
  13. private IRestRepository repository;
  14. public int pageSize = 3;
  15. public DishesController(IRestRepository rep)
  16. {
  17. repository = rep;
  18. }
  19. public ViewResult RestaurantMenu(string category, int page = 1)
  20. {
  21. DishesListViewModel model = new DishesListViewModel
  22. {
  23. Dishes = repository.Dishes
  24. .Where(b => category == null || b.Category == category)
  25. .OrderBy(dish => dish.DishId)
  26. .Skip((page - 1) * pageSize)
  27. .Take(pageSize),
  28. PaginateInfo = new PaginateInfo
  29. {
  30. CurrentPage = page,
  31. ItemsPerPage = pageSize,
  32. TotalItems = category == null ?
  33. repository.Dishes.Count() :
  34. repository.Dishes.Where(dish => dish.Category == category).Count()
  35. },
  36. CurrentCategory = category
  37. };
  38. return View(model);
  39. }
  40. public FileContentResult GetImage(int dishId)
  41. {
  42. Dish dish = repository.Dishes
  43. .FirstOrDefault(d => d.DishId == dishId);
4.88
PolinaPo24
Работаю в сфере юриспруденции (российское, украинское законодательство) больше 3х лет, пишу дипломы, курсовые, контрольные, тесты и т.п. на заказ более 5 лет.