Целью работы является разработка веб-форума, анализ предметной области, анализ существующих веб-форумов, моделирование объектов проектирования, построение информационной модели, анализ методики написания форума с дружественным интерфейсом, разработка программного обеспечения, написание юнит-тестов.
В данной курсовой работе средствами PHP (в частности, фреймворка Laravel) + JavaScript (JQuery, Vue.js) был создан форум, включающий в себя: регистрацию и авторизацию пользователей (с возможностью восстановления/сброса пароля), спроектированную базу данных, интерфейсы для работы с форумом – формы создания/редактирования тем (топиков) и ответов (комментариев), возможность оценивать (система лайков) и сортировать/фильтровать контент, просмотр профилей пользователей и так далее.
В ходе работы над курсовой были использованы следующие программы: JetBrains PhpStorm, виртуальная машина Vagrant/Homestead, средства построения UML, HeidiSQL.
Исходный код: https://github.com/RomanCoding/laravel-forum
СОДЕРЖАНИЕ
РЕФЕРАТ 4
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНОЧЕНИЙ И СОКРАЩЕНИЙ 6
ВВЕДЕНИЕ 7
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 9
1.1. Описание предметной области 9
1.2. Общие требования к АИС 11
1.3. Оборудование и инструменты 11
1.4. Анализ существующих программных продуктов 11
1.5. Выбор технологий для разработки системы 13
2. ПОСТАНОВКА ЗАДАЧИ 15
2.1. Требования к функциям ИС 15
2.2. Требования к архитектуре ИС 17
2.3. Требование к информационному обеспечению ИС 18
2.4. Требование к программному обеспечению ИС 18
2.5. Требования к эргономике 19
2.6. Требования к техническому обеспечению ИС 21
3. РАЗРАБОТКА САЙТА 22
3.1. Создание методов регистрации и авторизации 22
3.2. Проектирование базы данных в Laravel 23
3.3. Защита доступа к разделам 23
3.4. Защита от XSS-атак и SQL-инъекций 24
3.5. Модели и классы в приложении 25
4. ПОСТРОЕНИЕ UML диаграмм 27
4.1. Диаграмма вариантов использования 27
4.2. Диаграмма деятельности 28
4.3. Диаграмма классов 31
4.1. Диаграмма состояний 32
5. ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ 34
5.1. Концептуальная модель АИС 34
5.2. Даталогическая модель АИС 35
6. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 38
6.1. Инструкция пользователя 38
ВЫВОДЫ 40
СПИСОК ЛИТЕРАТУРЫ 41
ПРИЛОЖЕНИЕ А 42
ПРИЛОЖЕНИЕ Б 45
1. Laravel – artisan’s framework: http://laravel.com
2. PHP – Режим доступа: https://php.net
3. Интуит.ру – Режим доступа: https://ru.wikipedia.org/wiki/Интуит.ру
4. Обзор JavaScript – Режим доступа: https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/JavaScript_Overview
5. Node.js – Режим доступа: https://ru.wikipedia.org/wiki/Node.js
6. TypeScript – Режим доступа: https://ru.wikipedia.org/wiki/TypeScript