Диплом: Автоматизация приема заявок на ремонт и модернизацию ПК в АО "Старт"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
96
Рисунок 29 – Сравнительная диаграмма стоимостных затрат
0
50000
100000
150000
200000
250000
300000
350000
400000
450000
Базовый вариант Автоматизированный вариант Изменение
Стоимость, руб. (в год)
97
ЗАКЛЮЧЕНИЕ
В ходе проделанной работы были решены следующие задачи:
1) Была изучена деятельность АО «СТАРТ», в ходе изучения была
исследована организационная структура управления организации, а
также его программная и техническая архитектура.
2) Была исследована и проанализирована текущая организация бизнес-
процессов приема заявок на ремонт и модернизацию ПК в техническом
отделе. Основной недостаток – низкая производительность труда
сотрудников, связанная с использованием для учета принятых заявок
бумажного журнала, на основе анализа был составлен перечень
недостатков и выделен комплекс задач для автоматизации.
3) Был проведен анализ существующих разработок решения выявленных
проблем и выбрана стратегия автоматизации задачи приема заявок в
техническом отделе.
4) Были обоснованы проектные решения по информационному,
техническому и программному обеспечению. В качестве способа
хранения информации была выбрана реляционная база данных (СУБД –
mysql), языком программирования был выбран объектно-
ориентированный язык веб-разработки php.
5) Были разработан проект автоматизации приема заявок в техническом
отделе предприятия. В процессе разработки были выделены основные
этапы жизненного цикла проекта автоматизации, для каждого и которых
обозначены цель, ключевые участники, требования к входной
информации и получаемые результаты, также были описаны возможные
риски реализации проекта и действия для снижения вероятности
возникновения рисков, а также возможные пути устранения
последствий.
6) Была составлена информационная модель, с помощью которой были
формализованы пути трансформации входной и нормативно-
справочной документации в результатную информацию.
98
7) Была реализована информационная система, для которой были
составлены дерево функций и сценарий диалога, база данных,
структурная схема пакета, приведено описание программных модулей.
8) Было проведено тестирование работоспособности разработанной
информационной системы с помощью тестовых данных.
9) Была выбрана методика расчет экономической эффективности и
производен расчет в соответствии с выбранной методикой, срок
окупаемости проекта автоматизации – чуть больше одного года (1,1 лет)
Таким образом, все задачи, поставленные перед данным проектом
выпускной квалификационной работы, выполнены, а значит и основная цель по
созданию информационной системы для автоматизации приема заявок на ремонт
и модернизацию в АО «СТАРТ» выполнена.
Дальнейшее развитие разработанной информационной системы возможно
в сторону расширения функционала и улучшения внешнего вида сайта.
99
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Основная литература:
1. Федеральный закон РФ №149-ФЗ «Об информации, информационных
технологиях и о защите информации»
2. Доктрина информационной безопасности Российской Федерации
3. ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на
автоматизированные системы. Автоматизированные системы. Стадии создания
4. ГОСТ 34.320-96 Информационные технологии. Система стандартов по
базам данных. Концепции и терминология для концептуальной схемы и
информационной базы
5. Методология функционального моделирования IDEF0, Руководящий
документ, Госстандарт России
6. Модель процессов MSF, Microsoft.
7. Балдин К. В Информационные системы в экономике: Учебник / К. В
Балдин, В. Б. Уткин. - М.: Дашков и К, 2017. – 395 c.
8. Ерохин В. В. Безопасность информационных систем. Учебное пособие /
В. В. Ерохин, Д. А. Погонышева, И. Г. Степченко – М.: Флинта, 2016. – 184 с.
9. Исаев Г. Н. Проектирование информационных систем: учебное пособие
– М.: ОМЕГА-Л, 2015. – 424 с.
Дополнительная литература:
10. Автоматизация проектирования вычислительных систем. Языки,
моделирование и базы данных / ред. М. Брейер. - М.: Мир, 2015. – 463 c.
11. Вдовин В. М. Предметно-ориентированные экономические
информационные системы: Учебное пособие / В. М. Вдовин, Л. Е. Суркова и др. -
М.: Дашков и К, 2016. – 388 c.
12. Информационные системы и технологии: Научное издание. / Под ред.
Ю. Ф. Тельнова. - М.: ЮНИТИ, 2016. – 303 c.
13. Ипатова Э. Р. Методологии и технологии системного проектирования
информационных систем / Э. Р. Ипатова, Ю. В. Ипатов. - М.: Флинта, 2016. – 256
c.
100
14. Косиненко Н. С. Информационные системы и технологии в экономике:
Учебное пособие / Н. С. Косиненко, И. Г. Фризен. - М.: Дашков и К, 2015. – 304 c
101
ПРИЛОЖЕНИЕ
Приложение 1 Исходный код программных модулей
<?php
namespace AppBundle\Controller;
use AppBundle\Entity\Comment;
use AppBundle\Entity\ProductCategory;
use AppBundle\Entity\Ticket;
use AppBundle\Entity\TicketStatus;
use AppBundle\Entity\TypeTicket;
use AppBundle\Form\Type\MyTicketFilterFormType;
use AppBundle\Form\Type\ProductCategoryFilterFormType;
use AppBundle\Form\Type\ProductCategoryFormType;
use AppBundle\Form\Type\ProductFormType;
use AppBundle\Entity\Role;
use AppBundle\Entity\Product;
use AppBundle\Form\Type\TicketCommentFormType;
use AppBundle\Form\Type\TicketFilterFormType;
use AppBundle\Form\Type\TicketFormType;
use AppBundle\Form\Type\TypeTicketFilterFormType;
use AppBundle\Form\Type\TypeTicketFormType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Config;
use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
class TicketController extends InitializableController
{
/**
* @return RedirectResponse|Response
* @Config\Route("/tickets", name = "site_tickets_index")
*/
public function indexAction()
{
if (($this->authChecker->isGranted(Role::TEHNIC)) ||
($this->authChecker->isGranted(Role::PROGER))) {
$form=$this->createForm(new
MyTicketFilterFormType());
$id = null;
$status=null;
$my = null;
$form->handleRequest($this->request);
$tickets = $this->getRepository('Ticket')-
>createQueryBuilder('t')
->leftJoin('t.status', 's')
->leftJoin('t.user', 'u')
->where('1=1');
if ($form->isSubmitted() && $form->isValid()) {
$id = $form->get('id')->getData();
$status = $form->get('status')->getData();
$my = $form->get('my')->getData();
102
}
if (!empty($id)) {
$tickets->andWhere('t.id = :id ')-
>setParameter('id', $id);
}
if (!empty($status)) {
$tickets->andWhere('s.id = :status ')-
>setParameter('status', $status);
}
if (!empty($my)) {
$tickets->andWhere('u.id = :user ')-
>setParameter('user', $this->user->getId());
}
}
else {
$form=$this->createForm(new
TicketFilterFormType());
$id = null;
$status=null;
$form->handleRequest($this->request);
$tickets = $this->getRepository('Ticket')-
>createQueryBuilder('t')
->leftJoin('t.status', 's')
->leftJoin('t.author', 'u')
->where('1=1');
if ($form->isSubmitted() && $form->isValid()) {
$id = $form->get('id')->getData();
$status = $form->get('status')->getData();
}
if (!empty($id)) {
$tickets->andWhere('t.id = :id ')-
>setParameter('id', $id);
}
if (!empty($status)) {
$tickets->andWhere('s.id = :status ')-
>setParameter('status', $status);
}
$tickets->andWhere('u.id = :user ')-
>setParameter('user', $this->user->getId());
}
$tickets=$tickets->getQuery()->getResult();
$this->view['tickets'] = $tickets;
$this->view['form'] = $form->createView();
$this->navigation = array('active' => 'tickets');
return $this-
>render('AppBundle:Tickets:index.html.twig');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/tickets/add", name = "site_tickets_add")
*/
103
public function addAction()
{
$ticket = new Ticket();
$form = $this->createForm(new TicketFormType(),
$ticket);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$ticket->setAuthor($this->user);
/* @var TicketStatus $status*/
$status=$this->getRepository('TicketStatus')-
>findOneBy(array('id'=>1));
$ticket->setStatus($status);
$this->manager->persist($ticket);
$this->manager->flush();
$this->addNotice('success',
'tickets.html.twig',
array('notice' => 'added', 'id' => $ticket-
>getId())
);
return $this-
>redirectToRoute('site_tickets_index');
}
$this->forms['ticket'] = $form->createView();
$this->navigation = array('active' => 'tickets');
$this->view['ticket']=null;
return $this-
>render('AppBundle:Tickets:add.html.twig');
}
/**
* @param Ticket $ticket
* @return RedirectResponse|Response
* @Config\Route("/tickets/{ticket}/edit", name =
"site_tickets_edit")
* @Config\ParamConverter("ticket", options = {"mapping":
{"ticket": "id"}})
*/
public function editAction(Ticket $ticket)
{
$comment= new Comment();
$form = $this->createForm(new TicketCommentFormType(),
$comment);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$comment->setTicket($ticket);
$comment->setAuthor($this->user);
if (is_null($ticket->getUser()) && $this->user !=
$ticket->getAuthor()) {
$ticket->setUser($this->user);
$this->manager->persist($ticket);
}
$comment->upload();
104
$this->manager->persist($comment);
$this->manager->flush();
return $this->redirectToRoute('site_tickets_edit',
array('ticket'=>$ticket->getId()));
}
$this->forms['comment'] = $form->createView();
$this->view['ticket'] = $ticket;
$this->navigation = array('active' => 'tickets');
return $this-
>render('AppBundle:Tickets:edit.html.twig');
}
/**
* @param Ticket $ticket
* @param TicketStatus $status
* @return RedirectResponse|Response
* @Config\Route("/tickets/{ticket}/change/{status}", name
= "site_tickets_change")
* @Config\ParamConverter("ticket", options = {"mapping":
{"ticket": "id"}})
* @Config\ParamConverter("status", options = {"mapping":
{"srarus": "id"}})
*/
public function changeAction(Ticket $ticket, TicketStatus
$status)
{
$ticket->setStatus($status);
if ($status->getId()==4) {
$this->addNotice('success',
'tickets.html.twig',
array('notice' => 'closed', 'id' => $ticket-
>getId())
);
}
if ($status->getId()==3) {
$this->addNotice('info',
'tickets.html.twig',
array('notice' => 'sendmodified', 'id' =>
$ticket->getId())
);
$ticket->setUser(null);
}
$this->manager->persist($ticket);
$this->manager->flush();
$this->navigation = array('active' => 'tickets');
return $this-
>render('AppBundle:Tickets:index.html.twig');
}
}
<?php
105
namespace AppBundle\Controller;
use AppBundle\Form\Type\LoginFormType;
use AppBundle\Form\Type\ProfileFormType;
use AppBundle\Controller\InitializableController;
use AppBundle\Entity\Role;
use AppBundle\Entity\User;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Config;
use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use
Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use
Symfony\Component\Security\Core\Encoder\UserPasswordEncoder;
use Symfony\Component\Security\Core\Security;
class SecurityController extends InitializableController
{
/**
* @return RedirectResponse|Response
* @Config\Route("/login", name = "site_security_login")
*/
public function loginAction()
{
if ($this->authChecker->isGranted(Role::USER)) return
$this->redirectToRoute('homepage');
$error = null;
if ($this->request->attributes-
>has(Security::AUTHENTICATION_ERROR))
$error = $this->request->attributes-
>get(Security::AUTHENTICATION_ERROR);
else {
$error = $this->session-
>get(Security::AUTHENTICATION_ERROR, null);
$this->session-
>remove(Security::AUTHENTICATION_ERROR);
}
if (!is_null($error)) {
$this->addNotice('error',
'security_login.html.twig', array('notice' => 'auth_error'));
}
$form = $this->createForm(new LoginFormType(), new
User());
$this->navigation = array('active' => 'login');
$this->forms = array(
'login' => $form->createView(),
'last_username' => $this->session-
>get(Security::LAST_USERNAME, null)
);
return $this-
>render('AppBundle:Security:login.html.twig');
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)