Файл: Автоматизация продаж в “Московская афиша” (Характеристика предприятия и его деятельности).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 65

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Код клиента — это ключевое поле, идентификатор клиента.

ФИО клиента – ФИО клиента.

Количество билетов – количество купленных билетов клиентом.

Цена билета – цена одного биллета.

Итог – общая сумма за все биллеты.

ID спектакля – id спектакля из таблицы «Спектакли»

Таблица 5

Пример фрагмента описания структуры записей таблицы «Спектакли»

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код спектакля

id

число

11

ключевое поле

Название спектакля

name

строка

32

Количество доступных билетов

quantity

число

11

Цена билета

price

число

11

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

datet

Датавремя

Код спектакля – это ключевое поле, идентификатор спектакля.

Название спектакля – название спектакля.

Количество доступных билетов – количество свободных мест на спектакль.

Цена билета – цена одного билета.

Дата и время спектакля – дата и время спектакля.

На рисунке номер 14 изображен сценарий диалога.

Рисунок 14 - сценарий диалога

На рисунке номер 15 изображена ER модель.

Рисунок 15 - ER модель

Структурная схема пакета (дерево вызова программных модулей)

В таблице номер 6 описаны модули.

Таблица 6

описания функций модулей

№ п/п

Наименование модуля

Функции модуля

1.

Модуль авторизации

Процедура авторизации в ИС

2.

Модуль отчёта

Страница с отчётом проданных билетов

3.

Модуль клиентов

Страница со списком клиентов

4.

Модуль добавления клиентов

Всплывающие окно с добавлением клиента

5.

Модуль редактирование клиента

Всплывающие окно с редактированием клиента

6.

Модуль удаления клиента

Кнопка для удаления клиента из базы

7.

Модуль спектакли

Страница со списком спектаклей

8.

Модуль добавления спектакля

Всплывающие окно с добавлением спектакля

9.

Модуль редактирование спектакля

Всплывающие окно с редактированием спектакля

10.

Модуль удаления спектакля

Кнопка для удаления спектакля из базы


Описание программных модулей

Модуль авторизации состоит из двух функций: авторизация и проверка авторизации.

Код проверки авторизации.

public function check(){

if (isset($_COOKIE['id']) and isset($_COOKIE['hash'])){

$query = $this->db->getRow("SELECT *,INET_NTOA(user_ip) FROM users WHERE user_id = ?s LIMIT 1", intval($_COOKIE['id']));

$userdata = $query;

if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id'])){

setcookie("id", "", time() - 3600*24*30*12, "/");

setcookie("hash", "", time() - 3600*24*30*12, "/");

return false;

}else{

return true;

}

}else{

return false;

}

}

Данная функция проверяет наличие кук и совпадение хэша и функция вызывается на каждой странице.

Код авторизации.

public function auth($name, $password){

$query = $this->db->getRow("SELECT user_id, user_password FROM users WHERE user_login='".$name."' LIMIT 1");

$data = $query;

if($data['user_password'] === md5(md5($password))){

$hash = md5($this->generateCode(10));

$this->db->query("UPDATE users SET user_hash='".$hash."' WHERE user_id='".$data['user_id']."'");

setcookie("id", $data['user_id'], time()+60*60*24*30);

setcookie("hash", $hash, time()+60*60*24*30);

return true;

}else{

return false;

}

}

Данная функция проверяет логин, пароль. Если данные введены правильно, то устанавливает куки и генерирует хэш.

Модуль отчёта, это страница, где отображаются продажи. Функция получает данные с продажами и суммирует их. Код функции.

public function getstat(){

$data = $this->engine->getDB()->getOne("SELECT SUM(itog) FROM clients");

$out = json_encode(array('status'=>true, 'data'=>$data));

return $out;

}

Модуль клиентов, это получение данных из таблицы клиентов. Код функции.

public function getCli(){

$clients = $this->db->getAll("SELECT * FROM clients");

foreach ($clients as $key => $client) {

$clients[$key]['show_name'] = $this->db->getOne("SELECT name FROM shows WHERE id =?s", $client['show_id']);

}

return $clients;

}

Модуль добавления клиентов, это ввод данных в таблицу клиенты. Код функции.

public function addCli($name,$tet,$quantity,$price,$itog){

$qw = $this->engine->getDB()->getOne("SELECT quantity FROM shows WHERE id=?s", $tet);

if($qw > $quantity) {

$this->engine->getDB()->query("INSERT INTO clients (name,quantity,price,itog,show_id) VALUES (?s,?s,?s,?s,?s)", $name,$quantity,$price,$itog,$tet);

$this->engine->getDB()->query("UPDATE shows SET quantity = quantity - ?s WHERE id = ?s", $quantity,$tet);

$dat = "Добавлен";

} else {

$dat = "Нет такого количества билетов";

}

$out = json_encode(array('status'=>true, 'data'=>$dat));

return $out;

}

Модуль редактирования клиентов, это изменения данных в таблице клиенты. Код функции.

public function edCli2($id,$name,$tet,$quantity,$quantity2,$price,$itog){

$q = $quantity2-$quantity;

$check = $this->engine->getDB()->getOne("SELECT quantity FROM shows WHERE id =?s",$tet);

if ($check <= $q) {

$data = "Нет билетов";


} else {

$this->engine->getDB()->query("UPDATE clients SET name=?s,quantity=?s,price=?s,itog=?s,show_id=?s WHERE id =?s",$name,$quantity,$price,$itog,$tet,$id);

$this->engine->getDB()->query("UPDATE shows SET quantity = quantity + ?s WHERE id =?s", $q,$tet);

$data = "Обновленно";

}

$out = json_encode(array('status'=>true, 'data'=>$data));

return $out;

}

Модуль удаления клиентов, это удаление клиента из таблицы клиентов. Код функции.

public function delCli($id,$quantity,$tet){

$this->engine->getDB()->query("DELETE FROM clients WHERE id =?s", $id);

$this->engine->getDB()->query("UPDATE shows SET quantity = quantity + ?s WHERE id = ?s", $quantity,$tet);

$out = json_encode(array('status'=>true, 'data'=>"Удалено"));

return $out;

}

Модуль спектаклей, это получение данных из таблицы спектакли. Код функции.

public function getTet(){

$shows = $this->db->getAll("SELECT * FROM shows");

return $shows;

}

Модуль редактирования спектаклей, это изменение данных в таблице спектакли. Код функции.

public function edTet2($id,$name,$quantity,$price,$date){

$data = $this->engine->getDB()->query("UPDATE shows SET name=?s, quantity=?s, price=?s, datet=?s WHERE id =?s", $name,$quantity,$price,$date,$id);

$out = json_encode(array('status'=>true, 'data'=>"Обновленно"));

return $out;

}

Модуль удаления спектаклей, это удаление спектакля из таблицы спектакли. Код функции.

public function delTet($id){

$this->engine->getDB()->query("DELETE FROM shows WHERE id =?s", $id);

$out = json_encode(array('status'=>true, 'data'=>"Удалено"));

return $out;

}

Контрольный пример реализации и его описание

Заходим на сайт https://ivantest.aristov.biz/. Перед нами появляется окно авторизации. Вводим логин test и пароль 123456. Рисунок номер 16.

Рисунок 16 - форма входа

Затем перед нами появляется статистика продаж, рисунок номер 17.

Рисунок 17 - статистика продаж

И слева есть меню. Переходим к списку спектаклей, рисунок номер 18.

Рисунок 18 - список спектаклей

Добавим новый спектакль. Нажав кнопку «Добавить спектакль». Появится всплывающие окно для заполнения нового спектакля. Рисунок номер 19.

Рисунок 19 - Добавление спектакля

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

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


Теперь добавим нового клиента. Нажимаем в меню на «Список клиентов». Откроется список клиентов рисунок номер 21.

Рисунок 21 - список клиентов

Нажимам на кнопку «Добавить клиента» и заполняем форму.

Рисунок 22 - форма добавления клиента

После заполнения полей нажимаем добавить и обновляем страницу, рисунок номер 23. А также при добавлении, редактировании и удалении клиента меняется количество билетов в спектакле, в зависимости от изменения количества билетов.

Рисунок 23 - добавлен клиент

Заключение

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

В проекте были приведены и спроектированы несколько видов работ:

Характеристика предприятия;

Была рассмотрена сама компания, ее описание и деятельность.

Организационная структура;

Информационная модель и ее описание;

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

Программное обеспечение задачи;

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

Контрольный пример реализации проекта.

Были предоставлены тестовые данные таблиц и экранные формы программного средства по управлению базой данных.

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

  1. Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
  2. Методы и средства проектирования информационных систем и технологий : учебное пособие / авт.-сост. Е.В. Крахоткина. - Ставрополь: СКФУ, 2015. - 152 с. - режим доступа http:// biblioclub.ru
  3. Митина, О.А. Методы и средства проектирования информационных систем и технологий: курс лекций / О.А. Митина. - Москва: Альтаир : МГАВТ, 2016. - 76 с. - режим доступа http:// biblioclub.ru
  4. Методология функционального моделирования IDEF0, Руководящий документ, Госстандарт России
  5. ГОСТ Р ИСО/МЭК 12207-2010 - Процессы жизненного цикла программных средств
  6. ГОСТ Р ИСО/МЭК ТО 15271-2002- Руководство по применению ГОСТ Р ИСО/МЭК 12207-2010
  7. ПР 50-733-99 – Правила по стандартизации. Основные положения единой системы классификации и кодирования технико-экономической и социальной информации унифицированных систем документации российской федерации.
  8. ГОСТ 34.602-89 - Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.
  9. ГОСТ 34.601-90 - Автоматизированные Системы. Стадии создания
  10. РД 2000 «Методология функционального моделирования IDEF0»
  11. Абрамова Л.В. Инструментальные средства информационных систем: учебное пособие. - Архангельск: САФУ, 2013. - 118 с. - режим доступа http:// biblioclub.ru
  12. Заботина Н.Н.Проектирование информационных систем: учебное пособие. – М.: ИНФРА-М, 2013. - 331с.
  13. Золотов С.Ю. Проектирование информационных систем: учебное пособие. - Томск : Эль Контент, 2013. - 88 с. – режим доступа http:// biblioclub.ru
  14. Методы и средства проектирования информационных систем и технологий: учебное пособие / авт.-сост. Е.В. Крахоткина. - Ставрополь: СКФУ, 2015. - 152 с.
  15. Проектирование информационных систем. Проектный практикум: учебное пособие / А.В. Платёнкин, И.П. Рак, А.В. Терехов, В.Н. Чернышов. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2015. - 81 с. - режим доступа http:// biblioclub.ru
  16. Проектирование информационных систем. Проектный практикум: учебное пособие / А.В. Платёнкин, И.П. Рак, А.В. Терехов, В.Н. Чернышов. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2015. - 81 с. - режим доступа http:// biblioclub.ru
  17. Советов Б.Я. Базы данных: учебник / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовский. – 2-е изд., перераб. и доп. - М.: Юрайт, 2015. - 463с.