Файл: Обоснование проектных решений по программному обеспечению.pdf

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

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

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

Добавлен: 17.06.2023

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

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

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

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

Для работы с данными профиля пользователю необходимо нажать на свое имя в верхней панели сайта. Откроется форма работы с профилем (Рисунок 21).

Рисунок 21. Форма работы с данными профиля

ЗАКЛЮЧЕНИЕ

В ходе проделанной работы были решены следующие задачи:

  • Была проанализирована текущая организация бизнес-процесса анализа и изучения конкуренции в компании «Суши-тайм», были выделены основные этапы выполнения бизнес-процесса, изучен возникающий документооборот;
  • Были выбраны и обоснованы проектные решения по информационному и программному обеспечению;
  • Была составлена информационная модель информационной системы;
  • Была разработана база данных и программные модули, реализующие работу ИС.
  • Был описан контрольный пример реализации проекта.

Таким образом, все задачи, поставленные перед данным курсовым проектом выполнены, а значит и основная цель достигнута.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. ГОСТ 2.105 – 95. Общие требования к текстовым документам.

2. ГОСТ 7.32 – 2001. Отчет по научно-исследовательской работе. Структура и правила оформления.

3. ГОСТ 7.82-2001. Библиографическое описание электронных ресурсов.

4. ГОСТ 24.702-85 Эффективность автоматизированных систем управления.

5. ГОСТ Р 7.0.5-2008. Библиографическая запись. Библиографическое описание.

6. Алистер Коберн, Современные методы описания функциональных требований к системам, М.: издательство "Лори", 2017. – 288 с

7. Гайфуллин Б.Н., Обухов И.А., Автоматизация систем управления предприятиями стандарта ERP-MRPII. – М:Интерфейс-пресс, 2010 г. – 114 c.

8. Гончаров А. Самоучитель. HMTL / А. Гончаров. – Спб. : Питер, 2011. – 240 с.

9. Дунаев В. HTML, скрипты и стили / В. Дунаев. – Спб. : БХВ-Петербург, 2015. – 816 с.

10. Жадеев А. PHP для начинающих / А. Жадеев. – Спб.: «Питер», 2014. – 592 c.

11. Колисниченко Д. PHP и MySQL. Разработка WEB-приложений / Д. Колисниченков – Спб: БХВ-Петербург, 2013. – 560 с.

12. Конналли Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Коналли, К. Бегг. – М.: Издательский дом «Вильямс», 2013. – 1093 c.


13. Лобова Г. Моделирование и анализ бизнес-процессов SADT. – М.: LAP Lambert Academic Publishing, 2014. – 352 c.

14. Макдональд, М. Созданиец Web-сайта. Недостающее руководство / М. Макдональд. – Спб. : БХВ-Петербург, 2013. – 624 с.

15. Маклаков С. В. Моделирование бизнес-процессов с AllFusion Process Modeler (BPwin 4.1) / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2013. – 340 c.

16. Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2013. – 512 c.

17. Маклаков С.В. BPwin и Erwin. CASE-средства разработки информационных систем / С.В. Маклаков. – М. : ДИАЛОГ–МИФИ, 2014. – 369 c.

18. Тельнов, Ю.Ф. Информационные системы и технологии. Information System and Technologies: науч. издание под ред. Тельнова Ю. Ф. – М: Юнити-Дана,2012 – 303 с.

19. Флэнаган, Д. Javascript. Подробное руководство / Д. Флэнаган : пер с англ. – М. : Символ-Плюс, 2013. – 1080 с.

21. Проектирование информационных систем. http://проектирование-ис.рф/лекции/лекция-12/

ПРИЛОЖЕНИЯ

<?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();

}

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")

*/

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();

$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

namespace AppBundle\Controller;

use AppBundle\Form\Type\LoginFormType;

use AppBundle\Form\Type\ProfileFormType;

use AppBundle\Controller\InitializableController;

use AppBundle\Entity\Role;