Модификация Web-приложения 'Студент Омавиат'
Введение
На третьем курсе мной (в соавторстве с
одногруппником) в рамках областного конкурса было разработано мобильное
приложение для студентов нашего колледжа, содержащее в себе основную информацию
для студентов.
Целью данного проекта является существенная
переработка, включающая в себя расширение функционала, а именно: смена
платформы с «мобильного приложения» на «веб-приложение», авторизация для
студентов, формирование актуального расписания, управление новостями,
управление контактами, создание адаптивного интерфейса для различных устройств,
лишить пользователя необходимости скачивать файлы и использовать софт для
получения информации первой необходимости.
Основанием для разработки является приказ
директора Бюджетного профессионального образовательного учреждения Омской
области «Омский авиационный колледж имени Н.Е. Жуковского» №92-ОД от 07 апреля
2017 года.
1. Аналитическая часть
.1 Проектирование вариантов
использования приложения
В результате интервью с потенциальными
пользователями и анализа задания на проектирование определены актеры
(пользователи) и варианты использования приложения (рисунок 1):
авторизация студента;
формирование актуального расписания;
управление новостями (синтаксический анализ
сайта колледжа и вывод новостей по категориям);
управление контактами (синтаксический анализ
сайта колледжа и реализация быстрого вызова с мобильного устройства).
Рисунок 1
Классификация пользователей
Определены категории пользователей,
использующих web-приложение:
Студент
Зарегистрированный пользовать,
данные сайта формируются в зависимости от его регистрационных данных. Может
пользоваться всеми категориями на сайте.
Гость
Пользователь имеет возможность
просматривать новости, расписание и другие страницы сайта кроме «Актуальное»,
так же не имеет возможности просматривать расписание без указания группы.
1.2 Анализ существующей версии
приложения
Существующая версия приложения
разработана на языке программирования Java под операционную систему Android 5.1
и ее ранние версии. В нем реализован следующий функционал: просмотр расписания;
просмотр изменений. В процессе использования этого приложения были выявлены
минусы, ошибки и выдвинуты идеи по расширению функционала.
На данный момент самая новая версия
ОС Android - 7.1, в связи с этим возникли проблемы: так как разработка
происходила под ОС версии 5.1 - приложение перестало работать корректно.
Так же появилась необходимость
использовать тот же функционал под другими операционными системами, добавить
новые разделы, регистрацию и возможность формировать актуальное расписание. В
связи с этим было принято решение разрабатывать кроссплатформенное
web-приложение.
1.3 Анализ существующих средств
разработки
Для развёртывания существующего
приложения на серверной рабочей станции требуется иметь в наличии ряд
компонентов, составляющих серверное окружение.
Необходимое программное обеспечение
перечислено в таблице 3.
Таблица 1 - Серверное программное обеспечение
Компонент
|
Версия
|
Описание
|
PHP
|
5
|
Скриптовый язык общего назначения,
интенсивно применяемый для разработки веб-приложений. В настоящее время
поддерживается подавляющим большинством хостинг-провайдеров и является одним
из лидеров среди языков, применяющихся для создания динамических веб-сайтов.
|
Сервер Apache
|
2.2
|
Apache HTTP-сервер (сокращение от
англ. a patchy server) - одна из наиболее популярных и распространенных
программ, созданных для веб-разработчиков и администраторов
интернет-ресурсов. По данным независимых исследователей, Apache установлен на
50% компьютеров всех пользователей HTTP-серверов. Главными преимуществами
Apache являются стабильность, быстродействие и гибкость, и обусловлены они
модульной организацией, а также тем, что разработку ведёт открытая группа
программистов, хоть и под официальным названием Apache Software Foundation.
|
MySql Server
|
4.1
|
MySQL - свободная
<https://ru.wikipedia.org/wiki/Свободное_ПО> реляционная система
управления базами данных
<https://ru.wikipedia.org/wiki/Реляционная_СУБД>. Разработку и
поддержку MySQL осуществляет корпорация Oracle <https://ru.wikipedia.org/wiki/Oracle>,
получившая права на торговую марку вместе с поглощённой Sun Microsystems
<https://ru.wikipedia.org/wiki/Sun_Microsystems>, которая ранее
приобрела шведскую компанию MySQL AB <https://ru.wikipedia.org/wiki/MySQL_AB>.
Продукт распространяется как под GNU General Public License
<https://ru.wikipedia.org/wiki/GNU_General_Public_License>, так и под
собственной коммерческой лицензией. Помимо этого, разработчики создают
функциональность по заказу лицензионных пользователей. Именно благодаря
такому заказу почти в самых ранних версиях появился механизм репликации
<https://ru.wikipedia.org/wiki/Репликация_(вычислительная_техника)>.
|
На сегодняшний день все вышеперечисленные
компоненты имеют более поздние версии. Однако, сам факт их наличия не
обуславливает необходимость соответствующих обновлений. Существующий проект
написан без использования каких-либо сопутствующих технологий, некоторые из
которых могли бы существенно повысить сопровождаемость кода и улучшить качество
его структуры. Среди таких технологий следует выделить возможность
использования программной платформы (Framework), которая позволит создавать
приложения быстрее, безопаснее и эффективнее. Эффективность достигается за счёт
экономии времени на самостоятельное проектирование структуры приложения.
Безопасность - за счёт использования проверенных и защищённых компонентов,
написанных и протестированных другими разработчиками.
На сегодняшний день на языке PHP написано
множество Framework, выбор того или иного варианта может быть обусловлен
личными предпочтениями, опытом использования соответствующего продукта и
специфическими потребностями разрабатываемого продукта.
Проанализировав преимущества и недостатки
каждого Framework, было принято решение использовать Framework Laravel
последней стабильной на текущий момент версии - 5.4
Вопрос обновления конфигурации серверного
окружения затронут в ходе проведения интервью с заказчиком, в процессе которого
было получено одобрение на установку и обновление необходимых компонентов. Список
новых необходимых нам приложений приведён в таблице 5.
Таблица 2 - Программные продукты, требующие
установки
Программный продукт
|
Версия
|
PHP
|
5.6 и выше
|
Apache
|
2.4
|
Framework Laravel
|
5.4
|
1.3 Концептуальная модель приложения
Зайдя на сайт, перед пользователем находится
главная страница, на которой отображена информация о преимуществах сайта по
сравнению с официальным сайтом колледжа, с главной страницы пользователь может
перейти в следующие разделы:
Главная;
Новости;
Расписание;
Изменения;
Звонки;
Контакты;
Войти (регистрация);
Актуальное (если вошел в аккаунт)
Главная
На главной странице расположено описание главных
преимуществ сайта перед официальным сайтом колледжа.
Новости
В разделе новости агрегируются новости с главной
страницы сайта колледжа, затем разбиваются по категориям и выводятся (Красным
цветом - события связанные с олимпиадами, победами и эвакуация, WorldSkills -
зеленый, остальное синий).
Контакты
В разделе контакты представлены контакты
преподавателей. Можно позвонить нажав на номер.
Расписание
В разделе расписание можно посмотреть расписание
для любой выбранной группы.
Звонки
В разделе звонки можно посмотреть расписание
звонков.
Регистрация
В разделе регистрации пользователь может
зарегистрироваться с указанием своей группы.
Войти
С помощью раздела войти осуществляется вход в
учетную запись
Карта сайта
Графическое описание концептуальной модели
представлено на рисунке 2.
Рисунок 2 - Карта сайта
1.4 Обоснование выбора
инструментальных программных средств
Для разработки программного продукта
было решено использовать Framework Laravel последней на момент разработки
версии 5.4, он имеет большой и мощный запас инструментов для быстрой разработки
Web-приложений. Laravel хорошо спроектирован, что позволяет писать легко
поддерживаемый и безопасный код
Поскольку приложение будет работать
с БД, которая будет хранить и предоставлять данные для работы, выбрано СУБД
MySQL.- одна из самых распространенных СУБД. Ее можно встретить повсюду, но
наиболее часто она используется многочисленными сайтами. Гибкость СУБД MySQL
обеспечивается поддержкой большого количества типов таблиц. Более того, СУБД
MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим
принципы создания новых типов таблиц. Благодаря открытой архитектуре и
GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
1.5 Организация данных
Список групп и основное расписание
автоматически формируется из страницы
(<#"896786.files/image003.gif">
Рисунок 3 - Список групп колледжа
Изменения в расписании формируются
из Excel файла, который автоматически загружается со страницы
<#"896786.files/image004.gif">
Рисунок 4 - Файл с изменениями
Сам файл с изменениями изнутри
выглядит так:
Рисунок 5 - Файл с изменениями
открытый в Excel
При проектировании базы данных,
используется ER- модель, с ее помощью можно выделить ключевые сущности
предметной области и обозначить связи, которые устанавливаются между этими
сущностями. Для визуализации ER-модели используют ER- диаграмму (рис.6)
Рисунок 6 - Таблица со студентами
1.6 Проектирование интерфейса
пользователя
Макет главной страницы сайта представлен на
рисунке 7.
Рисунок 7 - Макет главной страницы
Рисунок 8 - Макет страницы с
новостями
Рисунок 9 - Макет страницы с
расписанием
Рисунок 10 - Макет страницы с
изменениями
Рисунок 11 - Макет страницы
“Контакты”
Рисунок 12 - Макет страницы
“Актуальное”
Рисунок 13 - Макет страницы “Звонки”
2. Технологическая часть
.1 Описание логики приложения
приложение интерфейс мобильный
устройство
Реализация функций приложения
Функциональные компоненты, необходимые для
реализации web-приложения «Студент-Омавиат»:
Регистрация/Авторизация;
Отображение информации о студенте
Отображение стандартного расписания
Синтаксический анализ Excel файла с изменениями
Синтаксический анализ сайта oat.ru
Формирование актуального расписания
Формирование новостей
Адаптация под мобильные устройства
Функция быстрого вызова с мобильного устройства
Регистрация/Авторизация
При регистрации пользователь создает новую
учетную запись с указанием своей группы (список групп берется напрямую с сайта
колледжа), ФИО, email и пароля (рис. 14). После регистрации, у пользователя
появляется возможность авторизации.
Рисунок 14 - Регистрация
Рисунок 15 - Авторизация
Отображение информации о студенте
После авторизации на сайте
информация о студенте (ФИО и группа) будут отображаться в правом верхнем углу
(в меню) каждой из страниц сайта. (рис. 16)
Рисунок 16 - Информация о студентах
Отображение стандартного расписания
На странице «Расписание» (рис.17) и
«Актуальное» (рис.18) можно посмотреть расписание занятий. На странице
«Расписание» информация указана в более полном виде, с учетом кабинета и данных
о преподавателе.
Рисунок 17 - Расписание на странице
“Расписание”
Рисунок 18 - Расписание на странице
“Актуальное”
Синтаксический анализ Excel файла с изменениями
Синтаксический анализ файла
производится в тот момент, когда студент хочет просмотреть изменения и в момент
формирования актуального расписания, ниже приведен фрагмент кода осуществляющий
поиск нужной информации. Часть кода представлена ниже. (рис. 19)
Внешний вид представлен на рисунке
20 и рисунке 21.
Рисунок 19 - Разбор XLS файла
библиотекой PHPExcel
Рисунок 20 - Раздел “Изменения”
Рисунок 21 - Раздел “Актуальное”
Формирование актуального расписания
Для формирования актуального
расписания (рис.22) необходимо сегодняшнее число, данные о стандартном
расписании и список изменений. Часть кода реализующего алгоритм формирования
актуального расписания приведен ниже (рис. 23).
Рисунок 22 - Конечное расписание
Рисунок 23 - Код, формирующий
актуальное расписание
Формирование новостей
Новости берутся с официального сайта
колледжа при помощи библиотеки PHP Simple DOM Parser и разбиваются на
категории, фрагмент кода (рис. 24) и внешний вид (рис. 25) приведены ниже.
Рисунок 24 - Получение новостей
Рисунок 25 - Раздел с новостями
Адаптация под мобильные устройства
Адаптация под мобильные устройства
была реализована при помощи масштабируемой сетки включенной в Front-End
Framework Twitter Bootstrap. Screenshot доказывающий адаптивность представлен
ниже (рис.26)
Рисунок 26 - скриншот с телефона
Honor 4C
Функция быстрого вызова с мобильного
устройства
При нажатии на номер телефона в
разделе “Контакты” с мобильного телефона происходит автоматический вызов.
Момент нажатия и момент вызова представлены на скриншотах ниже.
Рисунок 27 - Раздел ”Контакты” на
телефоне
Рисунок 28 - Телефон автоматически
поместился в “вызов”
2.2 Разработка интерфейса приложения
После написания в адресной строке
браузера адрес сайта <#"896786.files/image029.gif">
Рисунок 29 - Главная страница сайта
2.3 Описание методов и технологий
защиты информации в базе данных
Защитой от несанкционированного на уровне
СУБД доступа служит необходимость аутентификации для получения доступа к базе
данных.
Наибольшую уязвимость представляет
приложение, использующие базу данных. В нашем случае для предотвращения
нежелательного доступа к информации в базе данных на уровне приложения были
предприняты следующие шаги:
Все запросы к базе данных
осуществляются с помощью встроенной в Laravel системы Eloquent что гарантирует
защиту от sql инъекций.
Все данные введенные формы
обрабатываются на наличие недопустимых знаков и команд.
2.4 Тестирование приложения
Тестирование сайта представляет собой процесс
поиска отклонений фактического результата от желаемого и ожидаемого клиентом.
При этом проводится анализ функционального состояния, юзабилити,
производительности и скорости отклика, пользовательского интерфейса, сетевой
безопасности. Также можно определять наличие багов (ошибок) в программной
платформе, установленных виджетах и подключаемых модулях расширения.
В данном проекте проведено:
Функциональное тестирование
Кроссбраузерное тестирование
Функциональное тестирование
Тестируемыми элементами данного проекта будут
являться следующие функции сайта:
Регистрация пользователя;
Авторизация пользователя;
Таблица 3 - Тестирование формы «Регистрация»
Действие
|
Ожидаемый результат
|
Полученный результат
|
Причина ошибки
|
Устранение
|
Ввод неполного email адреса
|
Отображение уведомления с текстом
ошибки
|
Уведомление отображено
|
-
|
-
|
Пароль и подтверждение пароля не
равны
|
Отображение уведомления с текстом
ошибки
|
Уведомление не отображено
|
Отсутствие валидации паролей
|
Добавлена валидация
|
Ввод в качестве имени цифр
|
Отображение уведомления с текстом
ошибки
|
Уведомление не отображено
|
Отсутствие валидации на наличие
цифр в имени
|
Добавлена валидация
|
Таблица 4 - Авторизация
Действие
|
Ожидаемый результат
|
Полученный результат
|
Причина ошибки
|
Устранение
|
Ввод несуществующего логина
|
Отображение уведомления с текстом
ошибки
|
Уведомление отображенно
|
-
|
-
|
Ввод неправильного пароля
|
Отображение уведомления с текстом
ошибки
|
Уведомление отображенно
|
-
|
-
|
Кроссбраузерное тестирование
Кроссбраузерное тестирование - это вид
тестирования, который проводят для того, чтобы понять ведёт ли себя ПО
одинаково в разных версиях браузера и разных устройствах. Пользователь должен
обратиться к услугам программных продуктов, вне зависимости от того, какой
браузер или аппаратную платформу он предпочитает. Если один из 10 человек
использует нестандартный браузер (или устаревшую версию), в котором приложение
изменяет свой внешний вид или поведение, то риск потери аудитории увеличивается
на 10 процентов.
Обычно, при тестировании сайтов в разных
браузерах, большинство дефектов обнаруживаются непосредственно в
пользовательском интерфейсе. Но нельзя забывать о функциональных возможностях
приложения. Кроссбраузерное тестирование может обнаружить функциональные
проблемы, связанные с неисправностью форм, фильтров, динамических
характеристик, отдельных элементов или частей сайта.
Постоянное внедрение новых стандартов и их
соблюдение в разработке ПО дает достаточно высокий уровень совместимости. Однако,
не все браузеры работают одинаково с этими стандартами. К тому же, не все из
наиболее часто используемых браузеров быстро выпускают новые версии, которые
соответствуют последним стандартам, и, что более важно, не все пользователи
следят и регулярно обновляют свое программное обеспечение. Если эти версии
браузеров отвечают требованиям целевой аудитории системы, то кроссбраузерное
тестирование безусловно необходимо.
Среда тестирования одна рабочая станция с
установленными на ней различными браузерами:
Internet explorer 10\11;firefox
7.0;chrome 10\11;
Opera 8.0\9.0\10.0;10.0\10.5.
Тестируемые модули полностью работоспособны и
были протестированы в следующих браузерах:
Internet Explorer начиная
с
версии
9.0;
Mozilla Firefox начиная с версии 0.8 и другие
браузеры на движке Gecko с поддержкой режима визуального редактирования
(Netscape >7.0, Seamonkey, Kmelion и т. д.);начиная с версии 9.0;с версии
10.5;chrome начиная 10\11
3. Экономическая часть
.1 Описание программного продукта
Сайт «Студент Омавиат».
Веб-сервер на базе ОС Linux, включающий в себя
HTTP сервер с поддержкой интерпретируемого языка PHP (версии не ниже 5.5),
сервер баз данных, Framework Laravel.
.2 Описание качества программного
продукта
Функциональная полнота и согласованность:
Программный продукт соответствует требованиям
поставленной задачи, протестирован и не имеет ошибок. Данный проект сделан на
основе Framework Laravel, PHP, HTML5. Все данные хранятся в базе данных MySQL.
Защита
Привилегии выданы таким образом, что
пользователи не смогут случайно или преднамеренно удалить данные.
Надежность
Средством защиты пользователя является
авторизация на сайте со своим уникальным именем и паролем
Практичность
Интерфейс прост и интуитивно понятен. Имеется
меню навигации в верхней части экрана, нижняя часть предназначена для
содержимого страницы.
Эффективность
Время выполнения заданных функций в
установленных условиях:
при выборе одного из пунктов меню - меньше 5
секунд;
Сопровождаемость
Определение условий для модификации, либо
изменения режимов эксплуатации: для модификации данного продукта необходимо
знание PHP а также Framework Laravel.
Мобильность
Данный проект можно запускать на любом браузере,
запуск из любого места при наличии интернет соединения.
3.3 Расчет технико-экономической
эффективности разработки ПС
Расчет технико-экономической эффективности
разработки ПС выполняется в тех случаях, когда на предприятии уже
эксплуатируется система, выполняющая аналогичные разрабатываемой ПС функции или
в случаях, когда на рынке ПС имеются подобные системы, а также в случае
доработки, усовершенствования программного продукта.
Расчет коэффициента технического уровня
На первом этапе необходимо выбрать оцениваемые
показатели качества продукта. За основу следует брать всю базовую номенклатуру
характеристик ПО, субхарактеристик и атрибутов, стандартизированных в ISO 9126.
Их описания желательно предварительно
упорядочить по приоритетам с учетом назначения и сферы применения конкретного
проекта программного средства.
Далее необходимо ранжировать выбранные показатели
качества по приоритетам потребителей, которым необходимы определенные
характеристики программного проекта с учетом их специализации и
профессиональных интересов.
Ранг (рейтинг) показателя определяется весовым
коэффициентом от 0 до 1. Сумма весовых коэффициентов, относящихся к одному и
тому же показателю, принимают постоянной величиной, равной единице: ∑
Vi=1.
Второй этап - селекция (выбор и установления)
метрик и шкал для описания характеристик качества программных средств можно
разделить на этапы:
Далее для каждого из отобранных показателей
должна быть установлена и согласована метрика и шкала оценок. Для показателей,
представляемых качественными признаками, желательно определить и зафиксировать
в спецификациях описания условий, при которых следует считать, что данная
характеристика реализуется в программном средстве. Выбранные значения
характеристик качества и их атрибутов должны быть предварительно проверены
разработчиками на их реализуемость с учетом доступных ресурсов конкретного
проекта и при необходимости откорректированы.
Экспертная оценка показателя должна быть дана в
соответствии со следующими категориями ответов, касающихся проявления
конкретных показателей:
Хi = 1, проявление показателя случайное;
Хi = 2, проявление небольшое, эпизодическое;
Хi = 3, проявление среднее;
Хi = 4, проявление важное, значительное,
устойчивое
Хi = 5, проявление основное, существенное,
весьма устойчивое.
В случае количественной оценки показателя
вычисленное значение переводится в систему баллов от 1 до 5:
-20% -1 балл
- 35% - 2 балла
- 55% - 3 балла
- 80% - 4 балла
- 100% - 5 баллов
Третий этап - измерение и расчет показателей
качества для программного продукта.
Показатель качества оценивают суммой
произведений взвешенных оценок относительных показателей критериев, относящихся
к оцениваемому фактору:
(1)
где N - число критериев качества, относящихся к
i-му показателю.
Четвертый этап - расчет коэффициента
технического уровня отношением итогового качества программного продукта и его
аналога (или предыдущей версии). Разработка проекта с технической точки зрения
оправдана, если полученный коэффициент больше единицы.
Расчёт показателей качества разрабатываемой ПС и
аналога приведен в таблице 7.
Таблица 7 - Показатели качества
Показатели качества/ атрибут
|
Метрики
|
Способ оценки
|
Рейтинг показателя (Весовой
коэффициент Vi от 0 до 1, ∑ Vi=1)
|
Оценка показателя в проекте
|
Оценка показателя в аналоге
|
|
|
|
|
Xi 1
|
V i* Xi 1
|
Xi 2
|
V i* Xi 2
|
Функциональность/Пригодность
|
Соответствие реализованных функций
профилю деятельности заказчика
|
Экспертная (в баллах от 1 до 5)
|
0,15
|
4
|
0,6
|
2
|
0,3
|
Практичность/ Обучаемость
|
Обучение пользователей
преимущественно не требуется
|
Экспертная (в баллах от 1 до 5)
|
0,15
|
5
|
0,75
|
3
|
0,45
|
Надежность/Восстановление
|
Создание резервных копий базы
данных и файлов проекта
|
Экспертная (в баллах от 1 до 5)
|
0,13
|
5
|
0,65
|
4
|
0,52
|
Практичность/ Удобство работы
|
Удобство пользовательского
интерфейса
|
Экспертная (в баллах от 1 до 5)
|
0,13
|
5
|
0,65
|
2
|
0,26
|
Эффективность/Быстродействие
|
Измерение средней скорости
загрузки страниц
|
Экспертная (в баллах от 1 до 5)
|
0,1
|
5
|
0,5
|
5
|
0,5
|
Надежность/Безопасность
|
Средства восстановления, система
разграничения доступа
|
Экспертная (в баллах от 1 до 5)
|
0,09
|
4
|
0,36
|
2
|
0,18
|
Гибкость / Расширяемость
|
Лёгкость внедрения новой
функциональности, возможность установки сторонних компонентов
|
Экспертная (в баллах от 1 до 5)
|
0,09
|
5
|
0,45
|
1
|
0,09
|
Сопровождаемость/Стабильнось
|
Экспертная (в баллах от 1 до 5)
|
0,06
|
4
|
0,24
|
2
|
0,12
|
Гибкость / Адаптируемость
|
Поддержка работы в среде
операционных систем Linux
|
Экспертная (в баллах от 1 до 5)
|
0,1
|
5
|
0,5
|
3
|
0,15
|
Обобщенный показатель качества
|
4,48
|
2,77
|
Коэффициент технического уровня в соответствии
составляет А = 4,48/2,77 = 1,62
Так как коэффициент больше 1, то разработка
проекта разработка проекта с технической точки зрения оправдана.
Расчет затрат на разработку проекта
Капитальные вложения, связанные с автоматизацией
обработки информации рассчитываются по формуле
где Кп - капитальные вложения на проектирование,
руб.;
Кр - капитальные вложения на реализацию проекта,
руб.
Предпроизводственные затраты представляют собой
единовременные расходы на разработку обеспечивающих или функциональных систем
или элементов на всех этапах проектирования, а также затраты на их
усовершенствование, т.е. на проведение обследования и обработку материалов
исследования, разработку технического задания, разработку технического и
рабочего проекта системы и ее опытного внедрения. Сюда включаются затраты на
разработку алгоритмов и программ, стоимость разработок по привязке типовых
проектных решений (ТПР) и пакетов прикладных программ (ППП) к конкретному
объекту автоматизации.
Суммарные затраты на проектирование системы и ее
разработку и отладку на компьютере определяются по формуле
(2)
|
|
где m - количество работников, участвующих в
разработке проекта;
Зoi - затраты на основную заработную плату
работника i-й категории, руб.;- коэффициент, учитывающий дополнительную
заработную плату в долях к основной заработной плате (
=
0,25 и состоит из коэффициента отпускных, равного 0,1, и районного коэффициента
- 0,15 для Омска);с - коэффициент, учитывающий отчисления на социальные нужды,
в долях к сумме основной и дополнительной заработной платы разработчиков (
=0,262:
страховые взносы в Пенсионный фонд в долях единицы - 0,2, страховые взносы в
ФСС - 0,029, страховые взносы в ФОМС - 0,031, страховые взносы на
производственный травматизм - 0,002);н - коэффициент, учитывающий накладные
расходы организации, в долях к основной заработной плате разработчиков
(принимается по фактическим данным, Wн = 0,6);
СM - затраты на материалы;
Мв - затраты на использование машинного времени.
Затраты на основную заработную плату работника
i-й категории:
, (3)
|
|
где Зднi - среднедневная заработная плата
работника i-й категории, руб./дн.;- количество дней, отработанных работником
i-й категории.
Затраты времени на разработку системы по каждому
исполнителю принимаются, исходя из его загрузки по календарному графику
выполнения работ (таблица 8).
Таблица 8 - Календарный график выполнения работ
Расчет основной заработной платы разработчиков
проекта приведен в таблице 9 из расчета, что в месяце в среднем 21 рабочий
день.
Таблица 9 - Основная заработная плата
разработчиков
Должность
|
Должностной оклад, руб.
|
Средняя дневная ставка, руб.
|
Затраты времени на разработку,
человеко-дней
|
ОЗП, руб.
|
Руководитель
|
25000 5000
|
1190,47 238,10
|
6 115
|
7142,82 27380,95
|
Программист
|
25000
|
1190,47
|
35
|
37463,30
|
Итого
|
44606,12
|
Ввиду того, что проектируемая информационная
система должна быть запрограммирована и отлажена с помощью компьютеров, к
суммарным затратам на разработку добавляются затраты на использование машинного
времени, исчисляемые как:
, (4)
|
|
где tмв - машинное время компьютера, необходимое
для разработки программного продукта; tмв = 214 час.;мч - стоимость 1 часа
машинного времени ; Sмч=12 руб./час.;
Км - коэффициент мультипрограммности Км=1.
Материалы, приобретенные в процессе выполнения
работы, и их стоимость приведены в таблице 10.
Таблица 10 - Затраты на материалы
Материалы
|
Единица измерения
|
Требуемое количество
|
Цена за единицу, руб.
|
Сумма, руб.
|
Компакт-диск CD-RW
|
шт.
|
2
|
35
|
70
|
Тонер для лазерного принтера
|
шт.
|
1
|
1000
|
1000
|
Бумага офисная
|
пачка
|
1
|
120
|
120
|
Итого
|
1190
|
Таким образом, капитальные вложения на
проектирование равны:
Кп = (7142,82 + 37463,30) + ((1+0,25) * (1 +
0,262) + 0,6) + 214 * 12 * 1+ 1190 руб. = 91253,30 руб.
Смета затрат на разработку представлена в
таблице 11.
Таблица 11 - Затраты на разработку
Статьи затрат
|
Сумма, руб.
|
Основная заработная плата
|
44606,12
|
Дополнительная зарплата
|
10119,03
|
Отчисления на социальные нужды
|
10604,74
|
Затраты на материалы
|
1200,00
|
Затраты на машинное время
|
2568,00
|
Накладные расходы организации
|
24285,67
|
ИТОГО
|
91253,30
|
Капитальные вложения на реализацию проекта:
Кр = Ко + Кдд + Кпп + Ксв + Киб +
Кпк ,
|
|
где Ко - затраты на основное и вспомогательное
оборудование, руб.;
Кзд - затраты на строительство, реконструкцию
здания и помещений, руб.;
Кпп - затраты на приобретение типовых разработок,
пакетов, руб.;
Ксв - затраты на прокладку линий связи, руб.;
Кпк - затраты на подготовку и переподготовку
кадров, руб.
В связи с тем, что для внедрения системы,
рассматриваемой в данном проекте, не было затрат связанных с прокладкой линии
связи, затрат на основное и вспомогательное оборудование, затрат на
реконструкцию и строительство зданий, то данные затраты для внедрения системы
не учитывают. Также не принимаются в расчет затраты по подготовке и
переподготовке кадров, затраты на создание информационной базы и затраты на
приобретение типовых разработок.
Таким образом, при внедрении системы,
рассматриваемой в данном проекте, затраты на его реализацию определяются
затратами на оборудование и материалы. В оборудование и материалы входит
компьютер на базе процессора Intel Core I7. Стоимость компьютера 35500 руб.
Тогда затраты на основное и вспомогательное
оборудование составят
, (5)
|
|
где Cbj - балансовая стоимость j-го вида
оборудования, руб. (при n=1 Cb1=35500 руб.);- количество единиц j-гo
оборудования, руб. (1 шт.);- коэффициент загрузки j-го вида оборудования при
обработке информации по решению задач предметной области:
(6)
|
|
где Фэфj - эффективный годовой фонд времени
работы технического средства j-го вида, час./год.
Время работы технического средства j-го вида по
решению s задач, час./год:
(7)
|
|
где tкj - трудоемкость однократной обработки
информации по к-й задаче на j-м виде технических средств, часов машинного
времени (tкj=6);к - частота (периодичность) решения к-й задачи, дней /год (Uк
=264).
Затраты на реализацию:
Кр = 35500*1*6*264/(264*8) руб. = 26625 руб.
Таким образом, суммарные затраты на разработку
проекта:
К = Кп + Кр = 89253,56 + 26625 руб. = 117878,3
руб.
Ниже представлена карта сайта
Заключение
В ходе выполнения дипломной работы
модернизировано Web-приложение «Студент Омавиат», полностью сменена платформа.
Добавлены функциональные возможности:
Просмотр новостей
Получение актуального расписания
Регистрация пользователей
Добавление работ участниками мероприятий
Проведено тестирование программного продукта.
Конечный продукт может быть использован в реальной работе. Таким образом, цели,
поставленные в рамках дипломного проекта, были успешно достигнуты, и проект
можно считать завершённым.
Сайт размещён на платном хостинге и доступен по
техническому адресу http://oat-student.ru/
Данные для входа перечислены ниже.
Студент 1:
Логин: student1@oat.ru
<mailto:student1@oat.ru>
Пароль: 123456
Студент 2:
Логин: student2@oat.ru
<mailto:student2@oat.ru>
Пароль: 123456
Студент 3:
Логин: student3@oat.ru
<mailto:student3@oat.ru>
Пароль: 123456
Использованные источники информации
1. ГОСТ
Р ИСО/МЭК 12207-99 «Процессы жизненного цикла программных средств»;
. ГОСТ
Р ИСО 9000-2008 «Системы менеджмента качества»;
. Робин
Никсон. Создаем динамические веб-сайты с помощью PHP, MySQL и javascript -
СПб.: Питер, 2016. - 688 с.
. Джон
Дакетт. HTML и CSS. Разработка и дизайн веб-сайтов - Москва.: Эксмо, 2013. -
478 с.
. Орлов
С.А., Цилькер Б.Я. Технологии разработки программного обеспечения: Учебник. 4-у
изд. Стандарт третьего поколения. - СПб.: Питер, 2012. - 608 с.
6. Панюкова
Т. А. Документирование программного обеспечения: В помощь техническому
писателю: Учебное пособие. - М.: Книжный дом «ЛИБРОКОМ», 2012. - 264 с.
<http://php.net/> - справочник php функций.
. <http://javascript.ru/>
- справочник javascript функций. (Дата обращения 29.05.17)
. <http://htmlbook.ru/>
- справочник каскадной таблицы стилей css. (Дата обращения 12.05.17)
. <http://programilla.com/>
- блог разработки интернет сайтов. (Дата обращения 14.05.17)
. http://www.laravel.ru/
- Сообщество разработчиков и пользователей Laravel в рунете (Дата обращения
14.05.17)
. https://habrahabr.ru/hub/laravel/
- общирное хранилище статей (Дата обращения 14.05.17)
. https://stackoverflow.com/questions/tagged/laravel
- вопросы с которыми можно столкнуться при разработке на Laravel (Дата
обращения 16.05.17)