Цель и задачи практической работы
Разработка программного обеспечения для ресторана.
- анализ предметной области;
- выбор языка программирования и среды разработки;
- построение алгоритма решения задачи;
- разработка и тестирование ПО.
Скриншоты из отчета
Содержание архива
- Исходный код программы на языке программирования C#
- Мануалы по настройки программы и базы данных
- Текстовая часть работы, отчет (29 страниц).
Содержание отчета
- Содержание
-
Введение
-
1.3 Выбор среды программирования
- 2 Разработка программного обеспечения
-
2.1 Реализация даталогической модели данных в СУБД PostgreSQL
-
2.2 Разработка запросов к базе данных
-
2.3 Разработка модулей приложения баз данных
- Список литературы
Функционал программы
Программа имеет несколько модулей:
- Модуль клиент;
- Модуль повара;
- Модуль официанта
Последовательность их работы:
Клиент делает заказ, потом официанту необходимо подтвердить его, отметив галочку в программе, далее заказ уходит на кухню повару.
Тот в свою очередь готовит блюдо и подтверждает в программе что оно готово.
Официант увидев готовность блюда в программе, забирает заказ и уносит его клиенту.
Также в модуле повара можно добавлять и убирать наличие ингредиентов, что изменяет меню клиента и не позволяет заказать блюда, которые нельзя приготовить,
также эта функция показывает повару какие рецепты ему доступны.
Фрагмент программного кода
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Npgsql; //Класс для обработки модуля клиента namespace Ресторан.classes { public class Client { public int id { get; set; } public string namemenu { get; set; } public double massa { get; set; } public decimal buy { get; set; } public Client() { } public Client (int id, string namemenu, double massa, decimal buy) { this.id = id; this.namemenu = namemenu; this.massa = massa; this.buy = buy; } public static List<Client> Fetch(string conn) { using (NpgsqlConnection con = new NpgsqlConnection(conn)) { con.Open(); string Q = ""; Q += " create temp table Peace on commit drop as "; Q += " select distinct recipe.namemenu as name, ingredient.checks as checks "; Q += " from recipe join ingredient on recipe.foodname=ingredient.idц322 "; Q += " join menu on recipe.namemenu=menu.id ; "; Q += " create temp table PeaceOfPeace on commit drop as "; Q += " select p.name as pname "; Q += " from (select name from Peace where Peace.checks = 'true') as p "; Q += " where p.name not in (select name from Peace where Peace.checks = 'false'); "; Q += " select id, namemenu, massa, buy "; Q += ""; NpgsqlCommand npgc = new NpgsqlCommand("select id, namemenu, massa, buy from(select p.name from (select distinct recipe.namemenu as name from recipe join ingredient on recipe.foodname=ingredient.id join menu on recipe.namemenu=menu.id where ingredient.checks = 'true') as p where p.name not in (select distinct recipe.namemenu as name from recipe join ingredient on recipe.foodname=ingredient.id join menu on recipe.namemenu=menu.id where ingredient.checks = 'false')) as p join menu on p.name = menu.id ", con); NpgsqlDataReader reader = npgc.ExecuteReader(); List<classes.Client> list = new List<classes.Client>(); if (reader.HasRows) { while (reader.Read()) list.Add(new classes.Client { id = reader.GetInt32(0), namemenu = reader.GetString(1), massa = reader.GetDouble(2), buy = reader.GetDecimal(3), }); } reader.Close(); return list; } } } }
Скриншот архива с проектом
Пояснения по запуску программы
Для успешного запуска программы необходимо установить СУБД PostgreSQL далее зайти в pgAdmin и в запроснике по порядку выполнить действия описанные в мануале для базы данных.
Если необходимо редактировать программу нужно установить Visual Studio и через нее открыть файл с расширением .sln
anna220699