Файл: Автоматизация продаж в “Московская афиша” (Характеристика предприятия и его деятельности).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 - добавлен клиент
Заключение
В данном курсовом проекте я выполнил оптимизацию некоторых процедур процесса продажи билетов. Основная цель была достигнута, а именно создание информационной системы с помощью которой можно автоматизировать организацию работ, а также облегчить ввод данных и получения нужной информации.
В проекте были приведены и спроектированы несколько видов работ:
Характеристика предприятия;
Была рассмотрена сама компания, ее описание и деятельность.
Организационная структура;
Информационная модель и ее описание;
Была спроектирована информационная модель, представляющая собой процесс обработки данных в информационной системе.
Программное обеспечение задачи;
В данном разделе было составлено дерево функций, сценарий диалога и описание и характеристики базы данных.
Контрольный пример реализации проекта.
Были предоставлены тестовые данные таблиц и экранные формы программного средства по управлению базой данных.
Список использованной литературы
- Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
- Методы и средства проектирования информационных систем и технологий : учебное пособие / авт.-сост. Е.В. Крахоткина. - Ставрополь: СКФУ, 2015. - 152 с. - режим доступа http:// biblioclub.ru
- Митина, О.А. Методы и средства проектирования информационных систем и технологий: курс лекций / О.А. Митина. - Москва: Альтаир : МГАВТ, 2016. - 76 с. - режим доступа http:// biblioclub.ru
- Методология функционального моделирования IDEF0, Руководящий документ, Госстандарт России
- ГОСТ Р ИСО/МЭК 12207-2010 - Процессы жизненного цикла программных средств
- ГОСТ Р ИСО/МЭК ТО 15271-2002- Руководство по применению ГОСТ Р ИСО/МЭК 12207-2010
- ПР 50-733-99 – Правила по стандартизации. Основные положения единой системы классификации и кодирования технико-экономической и социальной информации унифицированных систем документации российской федерации.
- ГОСТ 34.602-89 - Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.
- ГОСТ 34.601-90 - Автоматизированные Системы. Стадии создания
- РД 2000 «Методология функционального моделирования IDEF0»
- Абрамова Л.В. Инструментальные средства информационных систем: учебное пособие. - Архангельск: САФУ, 2013. - 118 с. - режим доступа http:// biblioclub.ru
- Заботина Н.Н.Проектирование информационных систем: учебное пособие. – М.: ИНФРА-М, 2013. - 331с.
- Золотов С.Ю. Проектирование информационных систем: учебное пособие. - Томск : Эль Контент, 2013. - 88 с. – режим доступа http:// biblioclub.ru
- Методы и средства проектирования информационных систем и технологий: учебное пособие / авт.-сост. Е.В. Крахоткина. - Ставрополь: СКФУ, 2015. - 152 с.
- Проектирование информационных систем. Проектный практикум: учебное пособие / А.В. Платёнкин, И.П. Рак, А.В. Терехов, В.Н. Чернышов. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2015. - 81 с. - режим доступа http:// biblioclub.ru
- Проектирование информационных систем. Проектный практикум: учебное пособие / А.В. Платёнкин, И.П. Рак, А.В. Терехов, В.Н. Чернышов. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2015. - 81 с. - режим доступа http:// biblioclub.ru
- Советов Б.Я. Базы данных: учебник / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовский. – 2-е изд., перераб. и доп. - М.: Юрайт, 2015. - 463с.