Реферат
Фитнес-система, продукты, диета, вес, калории, физическая форма
Объектом исследования является реализация онлайн система ведения дневника питания для поддержания физической формы человека.
Цель дипломного проекта является разработка веб-приложения для учета потребляемых продуктов, а также слежением от переизбытка потребляемых калорийи контролем своего веса.
Основное назначение продукта - это автоматизировать слежение за диетой, а также предоставить всем пользователям удобный просмотр информации о продуктах питания.
В процессе работы над проектом выполнено логическое и физическое моделирование данных, спроектированы и реализованы база данных, серверная и клиентская части программного комплекса.
Элементами научной новизны разработанного приложения является удобство и простота использования приложения.
Областью возможного практического применения является просмотр и учет потребляемых продуктов в режиме реального времени.
Студент-дипломник подтверждает, что приведенный в дипломном проекте расчетно-аналитический материал объективно отражает состояние исследуемого процесса (разрабатываемого объекта), все заимствованные из литературных и других источников теоретические и методологические положения и концепции сопровождаются ссылками на их авторов.
Оглавление
Перечень условных обозначений
В настоящей пояснительной записке применяются следующие сокращения:
HTML - hypertextmarkuplanguage - язык разметки гипертекста.
CSS - cascadingstylesheets - каскадные таблицы стилей.
ООП - объектно-ориентированное программирование.
MVC - modelviewcontroller - модель представление контроллер.
ORM - object-relationalmapping - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».
SQL - structuredquerylanguage - язык структурированных запросов
VPN - virtualprivatenetwork - виртуальная частная сеть.
API - applicationprogramminginterface -- набор готовых классов, процедур, функций, структур и констант.
JSON - javascriptobjectnotation - текстовый формат обмена данными, основанный на JavaScript.
AJAX - asynchronous javascript and xml -- асинхронный JavaScript и xml.
ПП - программный продукт.
ПО - программное обеспечение.
ЭВМ - электронно-вычислительная машина.
ВЦ - вычислительный центр.
ВДТ - видео дисплейный терминал.
ПЭВМ - персональная электронно-вычислительная машина.
КЕО - коэффициент естественной освещённости.
СанПин - санитарные правила и нормы.
ГОСТ - государственный стандарт.
ТБ - техника безопасности.
ТКП - технический кодекс установившейся практики.
СНБ - санитарные нормы безопасности.
СТБ - стандарт безопасности.
Введение
В последнее время в мире, остро стала проблема не правильного питания, от чего возникает множество болезней, ожирение и проблемы с сердечнососудистой системой как одни из острых сейчас. Данная фитнес-система поможет многим при помощи учета потребляемых продуктов и их калорийности привести свою форму в хорошее состояние и избежать многих возможных проблем с здоровьем.
Данная фитнес-система поможет вам автоматически рассчитать нужное потребление калорийности вашего рациона, а также предоставить советы по правильному питанию, для быстрейшего достижения поставленных вами целей, будь то снижение веса или набор мышечной массы вашего тела.
Также данная фитнес-система предоставит информацию не только об учете потребляемых продуктов, но и контролем за изменением вашего веса, а также подробной информацией о каждом потребленном вами продукте что будет полезно всем, у кого есть определенные ограничения на какой-то из нутриентов в конкретном продукте.
В наше время, для контроля за своим питанием, можно использовать разнообразные средства, которые отличаются друг от друга по степени удобства и доступности. Простейший способ контроля -- это самостоятельный подсчет съеденных продуктов и запись информации о них в блокнот. Но также есть готовые платные и бесплатных программы, помогающих вести учет потребляемых продуктов. В основном это десктопные приложения, что не всегда удобно. Таким образом, есть потребность в простом и удобном приложении, которое позволит легко просматривать информацию о каждом продукте, а также простой учет потребления этих продуктов.
В данном дипломном проекте было создано веб-приложение фитнес-система поддержания физической формы человека. Данное приложение должно помочь всем желающим изменить себя. При реализации была предпринята попытка учесть преимущества и недостатки уже существующих приложений. Особое внимание было уделено удобству и простоте ведения дневника питания. От пользователя потребуется минимум технических знаний для начала работы. Разработанное веб-приложение выполняет основную функцию фитнес-системы поддержания формы человека - в удобной и простой форме позволяет просматривать информацию и продуктах и добавлять новые записи в дневник питания.
Пояснительная записка содержит следующие разделы:
- обзор состояния вопроса;
- цель и задачи проекта;
- логическое моделирование;
- физическое моделирование;
- реализация и тестирование программного обеспечения;
- руководство пользователя;
- определение экономической эффективности разработки программного обеспечения;
- охрана труда;
- заключение;
- список использованной литературы.
В разделе «обзор состояния вопроса» рассматриваются литература для создания приложения, а также производится анализ уже существующих систем для ведения дневника питания.
В разделе «цели и задачи проекта» рассматриваются все аспекты, которые должны быть реализованы в приложении.
В разделе «логическое моделирование» рассматривается подход к распределению ролей пользователей, а также проектирование базы данных, для проекта.
В разделе «физическое моделирование» рассматривается создание базы данных, а также выбор основных средств для достижения поставленной задачи.
В разделе «реализация и тестирование программного обеспечения» описываются основные компоненты реализованного программного обеспечения и проводится тестирование для поиска ошибок и последующего из устранения.
1. Обзор состояния вопроса
Для создания фитнес-системы поддержания формы человека, было выбрано создавать веб-приложение, из-за своей интерактивности и доступности. В современной веб-разработке для их построения используют ряд основных технологий: PHP, HTML, CSS, JavaScript.
1.1 Обзор инструментов для реализации фитнес-системы поддержания физической формы человека
Для создания фитнес-системы поддержания физической формы человека можно использовать как десктопные, так и браузерные приложения. Достоинствами браузерных приложений являются:
- не требуется установка;
- доступность из любого ПК с доступом в интернет;
- адаптивная версия.
Однако у веб-приложений существуют и слабые стороны:
- зависимость от наличия интернета.
На данный момент существует не так уж много фитнес дневников питания, которые позволяют автоматически рассчитать потребность в питании и нутриентах.
Можно выделить следующие аналоги:
«FatSacret - Все о питании и диете» - по адресу http://fatsacret.ru.
Веб приложение является основным конкурентом нашему разрабатываемому приложению фитнес дневник, из-за продуманной структуры, отличного функционала. Плюсом данного проекта является отсутствие всего лишнего, присутствует весь нужный функционал. Огромная база пищевых продуктов и удобность работы послужили развитию популярности данному проекту. Стоить отметить существенный плюс данного сервиса, это наличие приложений под все операционные системы: Android, Windows Phone, iOS, BlackBerry, Windows.
«Calorizator - Правильное питание» - по адресу http://calorizator.ru.
Сайт содержит огромную базу продуктов, имеется поддержка ведения личного дневника с добавлением продуктов. К основным преимуществам сайта можно отнести большое количество полезных статьей, подробное описание каждого продукта, пищевых добавок, а также содержание множества диет.
«JustTrain - Измени себя сам!» - по адресу http://justtrain.ru.
Сайт более направлен на ведение тренировочного дневника, то есть контролировать процесс тренировок, следить за изменением веса. Имеется большое количество разнообразных упражнений. Явным плюсом сайта является наличие приложений под Android и iOS.
Из менее известных рассмотрим локальное приложение «Калькулятор калорий» от разработчика Татьяны Поповой (Kalor.ru). Данная программа содержит информацию о более шестистах блюдах. Преимущества этой программы быстрая работа программы и удобность. Программа позволяет делать импорт и экспорт своих записей, создавать свой рацион и добавлять новые продукты. К недостаткам можно отнести имеющаяся только Windows версия данной программы, в теперешнее время все более востребованы кроссплатформенные программы для использования на всех девайсах.
Таким образом, можно заметить, что существует достаточно десктопных и веб-приложений для подсчета и слежением за калорийностью питания, однако аналогичных веб-приложений не так уж много, что подтверждает актуальность создания веб-приложения для реализации онлайн фитнес-системы поддержания физической формы человека.
1.2 Модель AS - IS
Изучение состояния проблемы является обязательной частью любого проекта создания или развития системы. Построение функциональной модели «КАК ЕСТЬ» позволяет четко зафиксировать, какие процессы осуществляются в системе, какие информационные объекты используются при выполнении процессов и отдельных операций. Функциональная модель «КАК ЕСТЬ» является отправной точкой для анализа существующей системы, выявления проблем и «узких» мест и разработки проекта совершенствования имеющейся системы.
Контекстная диаграмма модели «КАК ЕСТЬ» представлена на рисунке 1.1.
Рисунок 1.1 - Контекстная диаграмма модели AS-IS
Декомпозиция контекстной диаграммы модели AS-IS представлена на рисунке 1.2.
Рисунок 1.2 - Декомпозиция контекстной диаграммы модели AS-IS
1.3 Модель TO - BE
Таким образом, учитывая анализ модели «КАК ЕСТЬ», была построена модель «КАК ДОЛЖНО БЫТЬ», которая представлена на рисунке 1.3.
Рисунок 1.3 - Контекстная диаграмма модели TO-BE
На данной диаграмме представлена общая схема добавление продуктов в дневник питания. В качестве правил используются стандартные правила по работе с базами данных.
Декомпозиция контекстной диаграммы модели TO-BE представлена на рисунке 1.4. По сравнению с моделью «AS-IS» в данной модели появилась возможность добавления, изменения и удаления сведений о продуктах, а также добавления и удаления истории веса.
Рисунок 1.4 - Декомпозиция контекстной диаграммы процесса TO-BE
Следует отметить, что модель «TO-BE» отображает те полезные функции, которые позволят успешно внедрить и использовать данное программное обеспечение.
1.4 Выводы по разделу
В результате анализа литературы можно сделать вывод, что для создания веб-приложения можно использовать такие технологии как PHP, HTML, CSS, JavaScript. Наличие огромного числа современной литературы и огромное комьюнити по данным технологиям, говорит о том, что данные средства разработки популярны и актуальны.
Анализ модели TO-BE показал, что тема дипломного проекта решает определенные проблемы, которые были в модели AS-IS, тем самым снижает время на создание онлайн фитнес-системы поддержания физической формы человека и позволяет автоматизировать слежения на потребляемыми продуктами. Это говорит о том, что тема дипломного проекта является актуальной и востребованной.
онлайн логический идентификация сценарий
2. Постановка задачи проектирования
Целью дипломного проекта является создание удобного и простого веб-приложения. Данное приложение должно позволять пользователю вести дневник питания, просматривать подробную информацию о продуктах, следить за историей веса, а также давать советы для улучшения физической формы.
Для реализации поставленной цели необходимо решить следующие задачи:
– рассмотреть существующие на данный момент способы реализации поставленной задачи;
– изучить предметную область, выделить сущности для решаемой задачи;
– построить физическую и логическую модели данных;
– разработать веб-приложение;
– описать полученные результаты, сформулировать выводы и заключения.
Таким образом, веб-приложение должно автоматизировать и заменить ручное слежение за потреблением продуктов питания, представляя собой личный кабинет пользователя, в котором он в сможет легко контролировать и просматривать информацию о потребленных продуктах питания.
Веб-приложение должно обеспечивать разделение прав доступа и быть реализована для трёх категорий пользователей:
1) гость;
2) пользователь;
3) администратор.
В общем случае веб-приложение для всех пользователей должно предоставлять следующие возможности:
- аутентификацию зарегистрированных пользователей;
- добавление продукта питания в дневник по выбору в определенное время;
- удаления добавленных продуктов питания из дневника;
- добавление своих продуктов питания;
- редактирование своих продуктов питания;
- удаления своих продуктов питания;
- добавление записи о текущем весе;
- визуальное отображение истории веса.
- просмотр истории дневника питания за выбранную дату;
- редактирования информации о себе и изменение калорийности питания.
Для пользователя, который ещё не был зарегистрирован (гость), доступен следующий функционал:
- регистрация и авторизация;
- просмотр продуктов и подробной информации о них.
Администратору же предоставляется контроль за содержанием сайта, а именно:
- просмотр зарегистрированных пользователей;
- добавление категорий;
- редактирование категорий;
- добавление продуктов;
- редактирование продуктов;
- удаление продуктов;
- добавление полезных советов;
- редактирование полезных советов;
- удаление полезных советов;
Требования к реализации проекта:
- язык программирования - PHP;
- веб-фреймворк- Laravel;
- среда разработки - PHPStorm;
- база данных - MySQL;
- система управления базами данных - PHPMyAdmin;
- визуализация- HTML5, Ajax и Javascript.
Так же система должна включать в себя:
- создание базовых моделей для дальнейшего их использования (таких как авторизация, обработка ошибок, регистрация и т.д.).
Так же следует отметить то, что система должна представлять собой серверное приложение и должна как минимум корректно работать на веб-сервере Apache 2.2.26 с версией PHP5.4.2 и выше, базой данныхMySQL версии 5.5.35 и выше.
3. Моделирование программного обеспечения
Основное назначение логического представления состоит в анализе структурных и функциональных отношений между элементами модели системы. Различные элементы логического представления, такие как классы, ассоциации, состояния, сообщения, не существуют материально или физически. Они лишь отражают наше понимание структуры физической системы или аспекты ее поведения.
3.1 Выбор методологий моделирования и инструментария
Для визуального моделирования проблемной области было отдано предпочтение RasionalRose компании RationalSoftware. Данное средство является простым и полностью интегрированным решением для разработки ПО, включая Интернет-решения. RationalRose является стандартом де-факто среди инструментов проектирования приложений. Ни одно другое CASE-средство не предлагает такую широту и глубину решений как платформа Rational. С помощью RationalRose можно визуализировать, изменять и тестировать модель.
Одно из неоспоримых преимуществ RationalRose - обратное проектирование, поскольку разработчику и проектировщику важно увидеть перед изменениями уже работающую систему в нормальном графическом представлении. Как правило визуально-графический ряд оказывает куда большее воздействие нежели пролистывание технических заданий и программных текстов. Тем более что, проект, подвергшийся обратному проектированию может быть доработан и вновь сгенерирован (а впоследствии и скомпилирован). RationalRose предоставляет для этого все необходимые средства.
RationalRose является лидирующим инструментом визуального моделирования, поскольку он имеет все необходимые возможности - поддержку UML, многоязыковую поддержку итерационной разработки, полную поддержку командной разработки, компонентно-базированную разработку с поддержкой ведущих архитектур и таких компонентных моделей, как WinDNA и J2EE/SE/ME, легкость применения, оптимизированную интеграцию и многое другое.
Для проектирования и моделирования данных был использован инструментарий AllFusionERwinDataModeler (ERwin) компании ComputerAssociates. ERwin позволяет проектировать, документировать и сопровождать базы данных, хранилища данных и витрины данных (datamarts). Основные аргументы и факты для разработчиков ПО в пользу использования данного инструментария:
поддерживается прямое (создание БД на основе модели) и обратное (генерация модели по имеющейся базе данных) проектирование для 20 типов СУБД;
увеличивает производительность труда благодаря удобному интерфейсу и автоматизации рутинных процедур;
ERwin является стандартом де-факто;
позволяет повторно использовать компоненты созданных ранее моделей, а также использовать наработки других разработчиков. Повышается эффективность;
позволяет переносить структуру БД из СУБД одного типа в СУБД другой;
позволяет документировать структуру БД;
продукт можно использовать на всех стадиях жизненного цикла баз данных;
позволяет получить точную и наглядную информацию, где хранятся данные и как получить к ним доступ;
позволяет, используя визуальные средства, описать структуру БД, а затем автоматически сгенерировать файлы данных для любого типа СУБД.
3.2 Разработка диаграмм вариантов использования
Диаграмма вариантов использования описывает функциональное назначение системы или, другими словами, то, что система будет делать в процессе своего функционирования. Диаграмма вариантов использования является исходным концептуальным представлением или концептуальной моделью системы в процессе ее проектирования и разработки
3.2.1 Действующие лица
Множество систем имеет разделение на категории пользователей. Поэтому каждая категория пользователей представляется отдельным действующим лицо (актером).
При анализе работы системы были выделены следующие действующие лица и разработаны варианты использования:
Зарегистрированный пользователь - добавлять и удалять продукты питания в дневник, добавлять и удалять информацию о своем весе, добавлять свои продукты, редактировать информацию о себе.
Незарегистрированный пользователь - может просмотреть главную страницу, информацию о продуктах питания,может зарегистрироваться или войти на сайт.
Администратор - ведет управление категориями, пользователями, продуктами и полезными советами на сайте.
3.2.2 Варианты использования
Каждый вариант использования определяет последовательность действий, которые должны быть выполнены проектируемой системой при взаимодействии ее с соответствующим актером. Диаграмма вариантов может дополняться пояснительным текстом, который раскрывает смысл или семантику составляющих ее компонентов. Такой пояснительный текст получил название примечания или сценария.
Для разрабатываемой системы, исходя из потребностей действующих лиц, можно выделить следующие варианты использования:
- аутентификация;
- регистрация;
- добавление продукта в дневника;
- удаление продукта из дневника;
- добавление своих продуктов;
- редактирование информации о своих продуктах;
- удаление своих продуктов;
- добавление записи в историю веса;
- просмотр дневника за выбранную дату.
3.2.3 Диаграмма вариантов использования
На диаграмме вариантов использования показывают взаимодействия между всеми действующими лицами и вариантами использования. Диаграмма должна показывать, какие действующие лица инициируют варианты использования, а также должна отображать, когда действующие лица получают информацию от вариантов использования.
Основные взаимодействия между действующими лицами и вариантами использования задаются с помощью связи коммуникации. Задается в виде простой стрелки. Направление стрелки показывает, кто инициирует связь (всегда действующее лицо) и какой вариант использования отправляет информацию внешнему действующему лицу.
Диаграмма вариантов использования представлена на рисунке 3.5
Каждый вариант использования показывает, как конкретный актер использует систему. Для того чтобы начать выполнять операции, в системе необходимо пройти аутентификацию, с целью установления прав пользователей. Зарегистрированные пользователи - просматривают и ведут свой дневник питания.
Рисунок 3.1 - Диаграмма вариантов использования
Незарегистрированные пользователи могут просматривать информацию о продуктах, также аутентифицироваться или зарегистрироваться.
3.2.4 Описание вариантов использования
Вариант использования «Аутентификация»:
- назначение.
Данный вариант использования описывает вход пользователя в систему.
- основной поток событий: данный вариант используется, когда пользователь хочет войти в систему:
1)система запрашивает электронную почту пользователя и пароль;
2)пользователь вводит почту и пароль;
3)система проверяет почту и пароль, после чего открывает доступ в систему.
- альтернативный поток: неправильная почта или пароль. Если во время выполнения основного потока обнаружится, что пользователь ввел неправильную почту или пароль, то система выводит сообщение об ошибке. Пользователь может вернуться к началу основного потока или отказаться от входа в систему (при этом выполнение варианта использования завершается).
- предусловия: отсутствуют;
- постусловия: если вариант использования выполнен успешно, пользователь входит в систему. В противном случае состояние системы не изменится.
Вариант использования «Регистрация»:
- назначение.
Данный вариант использования описывает регистрацию пользователя в системе.
- основной поток событий: данный вариант используется, когда пользователь хочет зарегистрироваться в системе:
1)система запрашивает электронную почту, пароль, а также подтверждение пароля, имя, фамилию, пол и дату рождения;
2)пользователь вводит электронную почту, пароль, подтверждение пароля, имя, фамилию, пол и дату рождения;
3)система проверяет почту, пароль, имя, фамилию, дату рождения и после чего открывает доступ в систему.
- альтернативный поток: неправильная электронная почта, пароль, подтверждение пароля, имя, фамилия, дата рождения. Если во время выполнения основного потока обнаружится, что пользователь ввел неправильно электронную почту, пароль, подтверждение пароля, имя, фамилию, дату рождения, то система выводит сообщение об ошибке. Пользователь может вернуться к началу основного потока или отказаться от входа в систему (при этом выполнение варианта использования завершается). Если пароль подтвержден неверно, то система выводит сообщение о ошибке.
- предусловия: отсутствуют;
- постусловия: если вариант использования выполнен успешно, пользователь перенаправляется на форму входа в систему. В противном случае состояние системы не изменится.
Вариант использования «Действия зарегистрированного пользователя»:
- назначение: данный вариант использования служит для добавления, удаления выбранного продукта питания и добавление записей в историю веса.
- основной поток событий: данный вариант использования начинает выполняться, когда пользователь входит в систему:
1) система предоставляет выбор (добавить или удалить выбранный продукт в дневник);
2) после того как пользователь выбирает действие, выполняемое с базой данных, начинает выполняться один из подчиненных потоков: добавление или удаление продуктов в дневник, добавление своих продуктов, редактирование своих продуктов, удаление своих продуктов, добавление записи в историю веса, удаление истории веса.
Добавление продукта:
а) пользователь выбирает нужный продукт;
б) пользователь вводит данные;
в) система проверяет корректность введенной информации;
г) система добавляет продукт в базу данных и отображает его в дневнике пользователя.
Удаление продукта:
а) пользователь выбирает нужный продукт;
б) пользователь производит удаление продукта;
в) система производит удаление записи о продукте и вносит изменения в базу данных.
Добавление своего продукта:
а) система предоставляет специальную форму для добавления своего продукта;
б) пользователь вводит данные;
в) система проверяет корректность введенной информации;
г) система сохраняет продукт в базе данных.
- альтернативные потоки:
1) не заполнено обязательное поле или заполнено неверно.
Редактирование информации о своем продукте:
а) система предоставляет специальную форму для редактирования информации о продукте;
б) пользователь вводит данные;
в) система проверяет корректность введенной информации;
г) система сохраняет информацию в базе данных.
- альтернативные потоки:
1)не заполнено обязательное поле или заполнено неверно.
Удаление своего продукта:
а) пользователь выбирает нужный продукт;
б) пользователь производит удаление продукта;
в) система проверяет корректность информации;
г) система производит удаление записи о продукте и вносит изменения в базу данных.
Добавление записи в историю веса:
а) пользователь выбирает пункт «Взвеситься сейчас»;
б) пользователь вводит данные;
в) система производит добавление записи в базу данных и рисует точку на графике.
Удаление истории веса:
а)пользователь выбирает пункт меня «Очистить историю веса»;
б) система удаляет все записи о весе пользователя.
Вариант использования «Действия администратора»:
- назначение: служит для добавления, удаления и обновления информации, которая необходима для функционирования системы;
- основной поток событий: выполняется, когда «Администратор» начинает работу с системой:
1) система запрашивает требуемое действие (добавить, удалить, обновить информа-цию по соответствующей категории);
2) после того как «Администратор» выбирает действие, начинает выполняться один из подчиненных потоков: добавление, обновление и удаление данных.
Добавление данных:
1) система запрашивает соответствующий раздел для добавления данных (категории, продукты, полезные советы);
2) «Администратор» выбирает соответствующий раздел;
3) система запрашивает соответствующие данные для ввода;
4) «Администратор» вводит данные;
5) система проверяет корректность введенных данных;
6) система сохраняет данные по соответствующему разделу в базу данных.
Обновление данных:
1) система запрашивает соответствующий раздел для обновления данных (продукты, категории, полезные советы);
2) «Администратор» выбирает соответствующий раздел;
3) система запрашивает соответствующие данные для обновления;
4) «Администратор» указывает соответствующие данные;
5) система выводит соответствующие данные для обновления;
6) «Администратор» обновляет данные;
7) система проверяет корректность данных и сохраняет их в базе данных.
Удаление данных:
1) система запрашивает соответствующий раздел для удаления данных (продукты, полезные советы);
2) «Администратор» выбирает соответствующий раздел;
3) система запрашивает соответствующие данные для удаления;
4) «Администратор» указывает соответствующие данные;
5) система удаляет данные.
- альтернативные потоки: если добавление, удаление, обновление информации по каким либо причинам невозможно, то выводится соответствующее сообщение, содержащее причину ошибки и возможности ее разрешения:
1) добавление данных: если данные для добавления некорректны, то система выводит предупреждающее сообщение о некорректности данных;
2) обновление данных: если данные для обновления некорректны, то система выводит предупреждающее сообщение о некорректности данных;
3) удаление данных: если удаляемые данные имеют связь с другими данными, то система выводит предупреждающее сообщение о невозможности удаления данных.
- предусловия: перед началом выполнения данного варианта использования администратор должен войти в систему;
постусловия: если вариант использования завершится успешно, то данные в базе будут обновлены соответствующим образом. Если же в процессе выполнения произошли какие-либо ошибки, то обновления в базе не сохраняются.
3.3 Построение логической модели данных
Перед проектированием физической модели данных необходимо смоделировать логическую модель. Логическая модель описывает всю базу данных как единое целое. Кроме того, необходимое пользователю логическое представление данных может существенно отличаться от общей модели данных.
Логическая модель данных должна содержать сводную информацию о пользователях и их родственниках.
Логическая модель данных должна содержать следующие таблицы:
– таблицу со списком пользователей;
– таблицу со всеми родственниками;
– таблицу с информацией о родственных связях;
– таблицу с информацией о типе родственных связей;
– таблицу с фотографиями.
Проанализировав работу пользователя с программным комплексом, проанализировав входные и выходные данные, была построена логическая модель данных, которая представлена на рисунке 3.6.
Рисунок 3.2 - Логическая модель данных на уровне сущностей
Логическая модель на уровне атрибутов представлена на рисунке 3.7.
Рисунок 3.3 - Логическая модель на уровне атрибутов
3.4 Идентификация классов
3.4.1 Классы анализа
Классы анализа отражают функциональные требования к системе и моделируют объекты предметной области. Совокупность классов анализа представляет собой начальную концептуальную модель системы. Классы анализа следует рассматривать как начальные прототипы уровня разработки. Класс анализа представляет собой абстракцию одного или более классов в проекте системы.
3.4.2 Способы идентификации классов анализа
Для идентификации классов и объектов используются:
– глоссарий предметной области;
– развертывание предметной области;
– анализ поведения;
– анализ вариантов.
3.4.3 Глоссарий предметной области
Составим глоссарий предметной области, таблица 3.1. Для его составления воспользуемся классическим подходом Йордана, в котором кандидаты на роль классов и объектов выбираются из списка осязаемых элементов предметной области (предметы, устройства, события, структуры, роли, места, внешние системы).
Таблица 3.1 - Глоссарий предметной области
Термин |
Значение |
|
Пользователь |
Любой пользователь системы |
|
Форма программы |
Web-страницы, организующие диалог пользователя с программой |
|
База данных |
БД для хранения списка пользователей, информации о них, а также информации по курсовым проектам и работам. |
На основе выше приведенной таблицы выделили следующие классы анализа:
- пользователь - класс, определяющий пользователя системы;
- форма программы - классы, представляющие web-страницы программы;
- база данных - классы, обеспечивающие доступ к БД.
3.5 Разработка сценариев и макетов экранных форм
Для организации эффективной работы с объектами баз данных необходимо обеспечить удобный пользовательский интерфейс.
При создании веб-приложения важная роль отводится интерфейсу HTML страниц, через которые осуществляется взаимодействие пользователя с программой и БД. Примеры макетов страниц представлены на рис. 3.4 - 3.9.
Рисунок 3.4 - Макет главной страницы web-приложения
Рисунок 3.5 - Макет страницы регистрации
Рисунок 3.6 - Макет страницы аутентификации
Рисунок 3.7 - Макет страницы аккаунта пользователя
Рисунок 3.8 - Макет страницы мои продукты
Рисунок 3.9 - Макет страницы добавления продукта
3.6 Выводы по разделу
В рамках данного раздела дипломного проекта было сделано:
– выбраны инструменты для моделирования: BPWin, ERWin, RationalRose;
определена функциональность и поведение системы;
– выделены объекты рассматриваемой предметной области и определено их взаимодействие;
– концептуально определен набор необходимых данных;
– разработаны экранные формы приложения.
Таким образом, было установлено, что именно должна выполнять система и с помощью каких действий может быть получен требуемый результат.
4. Реализация программного обеспечения
4.1 Выбор среды разработки, языка программирования и инструментальных средств разработки
Система будет реализовываться с использованием фреймворка Laravel на основе языка программирования PHP. В качестве инструментария выбрана среда JetBrainsPHPStorm8, обеспечивающую мощную инструментальную и функциональную поддержку выбранных технологий реализации программного обеспечения.
В качестве среды для разработки базы данных была выбрана СУБД OracleMySQL версии 5.5 и язык структурированных запросов Transact-SQL.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Также СУБД предоставляет удобный доступ к базе данных через Web по протоколу HTTP, быстродействующий встроенный полнотекстовый поиск в данных, хранящихся в БД и в документах. Кроме того, SQL Server полностью использует все возможности операционной системы Windows.
4.1.1 Общие сведения о ахритектуре MVC
Шаблон MVC описывает простой способ построения структуры приложения, целью которого является отделение бизнес-логики от пользовательского интерфейса. В результате, приложение легче масштабируется, тестируется, сопровождается и конечно же реализуется. Концептуальная схема шаблона MVCпредставлена на рисунке 4.1.
Рисунок 4.1 - Шаблон разработки MVC
В архитектуре MVC модель предоставляет данные и правила бизнес-логики, представление отвечает за пользовательский интерфейс, а контроллер обеспечивает взаимодействие между моделью и представлением.
Типичную последовательность работы MVC-приложения можно описать следующим образом:
1) При заходе пользователя на веб-ресурс, скрипт инициализации создает экземпляр приложения и запускает его на выполнение. При этом отображается вид, скажем главной страницы сайта.
2) Приложение получает запрос от пользователя и определяет запрошенные контроллер и действие. В случае главной страницы, выполняется действие по умолчанию (index).
3) Приложение создает экземпляр контроллера и запускает метод действия, в котором, к примеру, содержаться вызовы модели, считывающие информацию из базы данных.
4) После этого, действие формирует представление с данными, полученными из модели и выводит результат пользователю.
Модель -- содержит бизнес-логику приложения и включает методы выборки (это могут быть методы ORM), обработки (например, правила валидации) и предоставления конкретных данных, что зачастую делает ее очень толстой, что вполне нормально.
Модель не должна напрямую взаимодействовать с пользователем. Все переменные, относящиеся к запросу пользователя должны обрабатываться в контроллере.
Модель не должна генерировать HTML или другой код отображения, который может изменяться в зависимости от нужд пользователя. Такой код должен обрабатываться в видах.
Одна и та же модель, например: модель аутентификации пользователей может использоваться как в пользовательской, так и в административной части приложения. В таком случае можно вынести общий код в отдельный класс и наследоваться от него, определяя в наследниках специфичные для подприложений методы.
Вид -- используется для задания внешнего отображения данных, полученных из контроллера и модели.
Виды содержат HTML-разметку и небольшие вставки PHP-кода для обхода, форматирования и отображения данных.
Не должны напрямую обращаться к базе данных. Этим должны заниматься модели.
Не должны работать с данными, полученными из запроса пользователя. Эту задачу должен выполнять контроллер.
Может напрямую обращаться к свойствам и методам контроллера или моделей, для получения готовых к выводу данных.
Виды обычно разделяют на общий шаблон, содержащий разметку, общую для всех страниц (например, шапку и подвал) и части шаблона, которые используют для отображения данных выводимых из модели или отображения форм ввода данных.
Контроллер -- связующее звено, соединяющее модели, виды и другие компоненты в рабочее приложение. Контроллер отвечает за обработку запросов пользователя. Контроллер не должен содержать SQL-запросов. Их лучше держать в моделях. Контроллер не должен содержать HTML и другой разметки. Её стоит выносить в виды.
В хорошо спроектированном MVC-приложении контроллеры обычно очень тонкие и содержат только несколько десятков строк кода. Логика контроллера довольно типична и большая ее часть выносится в базовые классы.
Модели, наоборот, очень толстые и содержат большую часть кода, связанную с обработкой данных, т.к. структура данных и бизнес-логика, содержащаяся в них, обычно довольно специфична для конкретного приложения.
4.1.2 JavaScript
Гипертекстовая информационная система состоит из множества информационных узлов, множества гипертекстовых связей, определенных на этих узлах, и инструмента манипулирования узлами и связями. Технология WorldWideWeb - это технология ведения гипертекстовых распределенных систем в Internet, и, следовательно, она должна соответствовать общему определению таких систем. Это означает, что все перечисленные выше компоненты гипертекстовой системы должны быть и в Web [17].
Web, как гипертекстовую систему, можно рассматривать с двух точек зрения. Во-первых, как совокупность отображаемых страниц, связанных гипертекстовыми переходами (ссылками - контейнер ANCHOR). Во-вторых, как множество элементарных информационных объектов, составляющих отображаемые страницы (текст, графика, мобильный код и т.п.). В последнем случае множество гипертекстовых переходов страницы - это такой же информационный фрагмент, как и встроенная в текст картинка.
При втором подходе гипертекстовая сеть определяется на множестве элементарных информационных объектов самими HTML-страницами, которые и играют роль гипертекстовых связей. Этот подход более продуктивен с точки зрения построения отображаемых страниц 'на лету' из готовых компонентов.
При генерации страниц в Web возникает дилемма, связанная с архитектурой 'клиент-сервер'. Страницы можно генерировать как на стороне клиента, так и на стороне сервера. В1995году специалисты компании Netscape создали механизм управления страницами на клиентской стороне, разработав язык программирования JavaScript.
Таким образом, JavaScript - это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента. Если быть более точным, то JavaScript - это не только язык программирования на стороне клиента. Liveware, прародитель JavaScript, является средством подстановок на стороне сервера Netscape. Однако наибольшую популярность JavaScript обеспечило программирование на стороне клиента.
Основная идея JavaScript состоит в возможности изменения значений атрибутов HTML-контейнеров и свойств среды отображения в процессе просмотра HTML-страницы пользователем. При этом перезагрузки страницы не происходит.
4.1.3 jQuery
jQuery -- сборник классов и/или функций на языке JavaScript. Этот сборник классов и функций позволяет разработчику меньшими усилиями добиться нужного результата. То есть большую часть работы выполняют эти классы и функции, входящие в состав библиотеки или другими словами фреймворка (англ. framework -- каркас, структура, сфера деятельности) и разработчику самостоятельно не нужно думать как реализовать ту или иную возможность начиная сначала, ему нужно лишь научиться взаимодействовать с этой библиотекой.
Существует множество JavaScript фрейморков и jQuery лишь один из них, но один из самых популярных. Вот некоторые из них: jQuery, MooTools, Prototype, Archetype, midori и другие. У каждой библиотеки свои преимущества и недостатки, однако, они очень похожи между собой.
С помощью специальных конструкций, предусмотренных разработчиками, можно обращаться к элементам и манипулировать ими, например, таким образом, чтобы они постепенно появлялись или исчезали, увеличивались или уменьшались, сменяли друг друга и так далее.
4.1.4 Язык гипертекстовой разметки HTML
На первом этапе разработки любого web-приложения необходимо создать графическое представление страниц сайта при помощи языка гипертекстовой разметки HTML.
HyperTextMarkupLanguage (HTML) является стандартным языком, предназначенным для создания гипертекстовых документов в среде WEB. HTML-документы могут просматриваться различными типами web-браузеров. Когда документ создан с использованием HTML, web-браузер может интерпретировать HTML для выделения различных элементов документа и первичной их обработки. Использование HTML позволяет форматировать документы для их представления с использованием шрифтов, линий и других графических элементов на любой системе, их просматривающей [18].
Большинство документов имеют стандартные элементы, такие, как заголовок, параграфы или списки. Используя тэги HTML, можно обозначать данные элементы, обеспечивая web-браузеры минимальной информацией для отображения данных элементов, сохраняя в целом общую структуру и информационную полноту документов. Все что необходимо, чтобы прочитать HTML-документ - это WEB-браузер, который интерпретирует тэги HTML и воспроизводит на экране документ в виде, который ему придает автор.
В большинстве случаев автор документа строго определяет внешний вид документа. HTML позволяет отметить, где в документе должен быть заголовок или абзац при помощи тэга HTML, а затем предоставляет web-браузеру интерпретировать эти тэги. Пользователи некоторых WEB-браузеров имеют также возможность настраивать размер и вид шрифта, цвет и другие параметры, влияющие на отображение документа.
HTML-тэги могут быть условно разделены на две категории:
-тэги, определяющие, как будет отображаться WEB-браузером тело документа в целом;
-тэги, описывающие общие свойства документа, такие как заголовок или автор документа.
Основное преимущество HTML заключается в том, что документ может быть просмотрен на web-браузерах различных типов и на различных платформах.
4.1.5 HTML 5
Язык HTML 5 содержит много новых свойств, что делает HTML более мощным и удобным для создания приложений Web. Некоторые из перечисленных ниже свойств не являются частью самой спецификации HTML 5, но определены в тесно связанных спецификациях, поэтому они все еще являются допустимыми частями нового движения в направлении современных Web-приложений [19].
Новые свойства HTML 5:
-новые семантические элементы. Семантика является очень важной в HTML. В HTML 4.01 имеется проблема - существует много элементов для определения специальных средств, таких как таблицы, списки, заголовки, и т.д., но существует также много общих свойств web-страницы, которые не имеют элемента для их определения. Например, верхние и нижние колонтитулы сайта, навигационные меню, и т.д. -- они до сих пор определяются с помощью<divid='xxx'></div>, которые человек может понять, но машины не могут, кроме того, различные разработчики будут использовать различные ID и классы. К счастью, HTML5 содержит новые семантические элементы, такие как<nav>, <header>, <footer>и<article>;
- новые свойства форм. HTML 4.01 уже позволяет создавать удобные, доступные web-формы, но некоторые общие свойства форм являются не слишком удобными и требуют специальных усилий для реализации. HTML5 предоставляет стандартизованный, простой способ реализации таких свойств, как выбор даты, ползунки и клиентская проверка;
- собственная поддержка видео и аудио. В течение многих лет видео и аудио в Web делались, с помощью Flash. Фактическая причина, популярности Flash, состояла в том, что открытые стандарты не смогли предоставить для различных браузеров совместимый механизм реализации таких вещей, поэтому различные браузеры реализовали различные конкурирующие способы выполнения одних и тех же вещей (например,<object>и<embed>), делая тем самым весь процесс действительно сложным. Flash предоставлял высококачественный, легкий способ реализации работы видео в различных браузерах. HTML5 содержит элементы<video>и<audio>для простой реализации собственных видео и аудио плееров с помощью только открытых стандартов, и также содержит API, позволяющий легко реализовать индивидуальные элементы управления плеером;
- API рисования на холсте. Элемент<canvas>и соответствующий API позволяют определить на странице область для рисования, и использовать команды JavaScript для рисования линий, фигур и текста, импорта и манипуляций с изображениями и видео, экспорта в различные форматы изображений, и многих других вещей;
- сокетыWeb. Этот API позволяет открывать постоянное соединение между сервером и клиентом на определенном порте, и посылать данные в обоих направлениях, пока порт не будет закрыт. Это существенно улучшает эффективность web-приложений, так как данные могут непрерывно и аккуратно передаваться между клиентом и сервером без постоянной перезагрузки страницы, и без постоянного опроса сервера, чтобы проверить, нет ли доступных обновлений;
- автономные web-приложенияHTML5 предоставляет ряд свойств, позволяющих web-приложениявыполняться в автономном режиме. Кэши приложений позволяют сохранить копию всех ресурсов и других файлов, необходимых для локального выполнения web-приложенияи базы данных Web SQL позволяют сохранить локальную копию данных web-приложения. Совместно они позволяют продолжать использовать приложение, когда отсутствует соединение с сетью, и затем синхронизируют изменения с основной версией на сервере, когда сеть снова становится доступной;
- хранилище Web. Cookies предоставляют в какой-то степени локальное хранилище данных, но их использование довольно ограничено. Web-хранилище HTML5 позволяет хранить значительно больше данных, и делать с ними значительно больше;
- webworkers. Общая проблема, встающая перед приложениями web, состоит в том, что их производительность страдает, когда требуется обработать много данных, в связи с тем, что все происходит в одной нити/процессе (только одна последовательность обработки может выполняться в текущий момент). WebWorkers смягчают эту проблему, позволяя создавать фоновые процессы для выполнения значительного объема вычислений, позволяя основному процессу продолжить выполнение других задач;
- геолокация. Спецификация геолокации (также не являющаяся частью спецификации HTML5) определяет API, который позволяет приложению web легко получить доступ к данным в любом местоположении, которое стало доступным, например, с помощью средств GPS устройства. Это позволяет добавлять в приложения различные полезные свойства, связанные с местоположением, например, выделить контент, который больше подходит для местоположения.
4.1.6 Система управления базами данных OracleMySQL 5
Для реализации базы данных была выбрана OracleMysql 5.5.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, OpenServer. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД.
MySQL состоит из двух частей: серверной и клиентской.
Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацию он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту).
Почему всегда передается не весь результат? Очень просто: дело в том, что размер результирующего набора данных может быть слишком большим, и на его передачу по сети уйдет чересчур много времени. Да и редко, когда бывает нужно получать сразу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса). Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворяет тому или иному условию, или же выбрать из данных только первые 10 записей. Механизм использования сокетов подразумевает технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа -- MySQL-сервер, которая принимает и обрабатывает запросы от программ. Так как вся работа происходит в действительности на одной машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево).
Максимальный размер таблиц в MySQL 3.4 до 4 ГБ, в последующих версиях максимальный размер ограничивается максимальным размером файла используемой операционной системы.
4.1.7 JSON
JSON (JavaScriptObjectNotation) - простой формат обмена данными, удобный для чтения и написания как человеком, так и компьютером. Он основан на подмножестве языка программирования JavaScript, определенного в стандарте ECMA-262 3rd Edition - December 1999. JSON - текстовый формат, полностью независимый от языка реализации, но он использует соглашения, знакомые программистам C-подобных языков, таких как C, C++, C#, Java, JavaScript, Perl, Python и многих других. Эти свойства делают JSON идеальным языком обмена данными:
- коллекция пар ключ/значение. В разных языках, эта концепция реализована как объект, запись, структура, словарь, хэш, именованный список или ассоциативный массив;
- упорядоченный список значений. В большинстве языков это реализовано как массив, вектор, список или последовательность.
Это универсальные структуры данных. Почти все современные языки программирования поддерживают их в какой-либо форме. Логично предположить, что формат данных, независимый от языка программирования, должен быть основан на этих структурах.
4.1.8 CSS/CSS3
Одним из весьма заметных этапов развития HTML стало появление CSS - CascadingStyleSheets или каскадных таблиц стилей.
Если в HTML прямо в документе ставится указание на то, как должен выглядеть тот или иной элемент, то при использовании CSS такие указания выносятся в отдельный блок, который может либо включаться в документ, либо читаться из внешнего файла.
При использовании CSS значительно облегчается изменение внешнего вида сайта или отдельных его элементов: достаточно изменить определение соответствующего стиля в единственном CSS-файле, и эти изменения распространятся на весь сайт. Второе преимущество -- сокращение размеров документов, которое особенно заметно на «красивых» страницах.
Следует учитывать, что каскадные таблицы стилей не полностью абстрагируют визуальное представление документа от его содержания, они только позволяет более компактно описать правила визуального представления. Таблицу стилей для целого сайта можно хранить в одном файле, однако у предыдущего способа тоже есть свой недостаток: блок STYLE необходимо скопировать в каждую страницу сайта. Описав требуемые стили в отдельном текстовом файле, затем можете написать в секции HEAD документа тег LINK.
Эта команда укажет, что таблица стилей находится во внешнем файле. Таким образом, даже для очень большого сайта может использоваться всего один файл со стилями, что очень сильно облегчает редактирование. Есть еще один необязательный параметр тега LINK: MEDIA. Он может указывать, для какого типа устройств таблица стилей предназначена, и иметь значения, например, «all» (используется по умолчанию), «handheld», «print» и некоторые другие.
4.2 Построение физической модели данных
Физическое проектирование - это процесс создания и описания конкретной реализации БД, её размещения в памяти компьютера. На этой фазе описывается структура данных, методы доступа к данным для обеспечения эффективной работы. Схема физического проектирования модели базы данных представлена на рисунке 4.2.
Рисунок 4.2 - Физическая модель данных базы данных приложения
4.3 Построение диаграмм компонентов
Диаграмма компонентов к проекту для системы управления содержимым сайтов:
- клиентская часть проекта;
Пользователь через браузер обращается к сайту и получает результат, представленный на рисунке 4.3.
Рисунок 4.3 - Диаграмма компонентов клиентской части
- серверная часть проекта
Сервер получает запрос от браузера, web-сервер начинает обрабатывать запрос, если необходимо подключение к БД, то сервер отправляет запрос к серверу баз данных.
После обработки запроса в БД, сервер баз-данных отправляет результат web-серверу, который в свою очередь отправляет ответ браузеру, как представлено на рисунке 4.4.
Рисунок 4.4 - Диаграмма компонентов серверной части проекта
4.4 Построение диаграмм размещения
Для визуализации элементов и компонентов системы, существующих лишь на этапе ее исполнения, на рисунке 4.5 приводится диаграмма развертывания с изображением элементов, из которых должна состоять система. На диаграмме изображены только компоненты-экземпляры программы, являющиеся исполняемыми файлами или динамическими библиотеками.
В отличие от диаграмм логического представления, диаграмма развертывания является единой для системы в целом, поскольку всецело отражает особенности ее реализации. Эта диаграмма, завершает процесс объектно-ориентированного анализа и проектирования для данной программной системы, и ее разработка является последним этапом спецификации модели.
Перечислим цели, которые преследовались при разработке диаграммы:
- определить распределение компонентов системы по ее физическим узлам;
- показать физические связи между всеми узлами системы на этапе ее исполнения;
- выявить узкие места системы и реконфигурировать ее топологию для достижения требуемой производительности.
Рисунок 4.5 - Диаграмма развёртывания системы
Браузер Web-клиента должен обязательно поддерживать библиотеку javascript-функций, иначе некоторые возможности, предоставляемые программным комплексом, будут недоступны при его работе.
Сервер Web-приложения реализует с помощью php-страниц, которые в свою очередь базируются (основаны) наразработанных классах (хранятся в файлах *.php).
База данных, которая храниться на серверной станции и является компонентом СУБД, состоит из файлов, данных *.frm и *.otp (содержит информацию о кодировке базы данных).
В конце данного раздела на рисунке 4.6 приводится общая структура будущего физического (аппаратного) развёртывания программно-методического комплекса.
Рисунок 4.6 - Структура аппаратного развёртывания приложения
4.5 Назначение и описание компонентов программного обеспечения
Приложение, разработанное в данном дипломном проекте, основано на структуре MVC, которая разделяет программные модули на 3 основные группы: модели, представления и контроллеры. Взаимодействие данных моделей было описано ранее.
Контроллеры осуществляют взаимодействие с пользователем, работу с моделью, а также выбор представления, отображающего пользовательский интерфейс. В данном дипломном проекте для работы приложения было создано 10 контроллеров, которые представлены на рисунках 4.7 - 4.8.
– AuthController- отвечает за регистрацию, аутентификацию пользователей, восстановление пароля, доступ в панель администратора;
– BaseController- осуществляет взаимодействие пользователя с главной страницей приложения;
– HomeController- отвечает за вывод информации в аккаунте пользователя;
– ProductController - просмотр продуктов, а также добавление собственных продуктов;
– ProfileController - профиль пользователя и редактирование информации о себе;
Рисунок 4.7 - Контроллеры
Рисунок 4.8 - UML-диаграмма «контроллеры администратора»
– TestController - тест на расчет нужного количества потребления калорий;
– Admin/AdminController - главная страница панели администратора;
– Admin/NotifyController - добавление, редактирование, удаление полезных советов;
– Admin/ProductController - добавление, редактирование, удаление информации о продуктах и категориях;
– Admin/UsersController - вывод информации о зарегистрированных пользователях.
Пользовательский интерфейс в данном приложении создавался на основе представлений. Все представления, созданные для работы дипломного проекта, представлены на рисунке 4.9. Для удобства навигации все представления разбиты по отдельным папкам. Рассмотрим подробнее каждое представление:
– Account/myproduct/add.blade.php - страница добавления продукта в разделе мои продукты;
– Account/myproduct/edit.blade.php - редактирование продукта в разделе мои продукты;
– Account/myproduct/index.blade.php - страница вывода моих продуктов;
– Account/profile/index.blade.php - страница редактирования профиля пользователя;
– Account/profile/view.blade.php - страница просмотра информации о пользователе;
– Account/tests/test.blade.php - вывод страницы тестирования;
– Account/tests/view.blade.php - страница отображения результатов тестирования;
– Account/customstyle.blade.php -страница выбора расцветки шаблона сайта;
– Account/index.blade.php- страница аккаунта пользователя;
– Account/layout.blade.php- мастер-страница для всех страниц;
– Account/pagetop.blade.php - страница вывода верхнего меню на всех страницах;
Рисунок 4.9 - Архитектура файлов для уровня представления
– Account/sidebar.blade.php - страница вывода левого меню на всех страницах;
– Admin/categories/add.blade.php - страница добавления категории в панели администратора;
– Admin/categories/edit.blade.php - страница редактирования категории в панели администратора;
– Admin/categories/index.blade.php - страница вывода категорий в панели администратора;
– Admin/notify/add.blade.php - страница добавления совета в панели администратора;
– Admin/notify/edit.blade.php - страница редактирования совета в панели администратора;
– Admin/notify/index.blade.php - страница вывода советов в панели администратора;
– Admin/product/add.blade.php - страница добавления продукта в панели администратора;
– Admin/product/edit.blade.php - страница редактирования продукта в панели администратора;
– Admin/product/index.blade.php - страница вывода продуктов в панели администратора;
– Admin/users/index.blade.php - страница вывода пользователей в панели администратора;
– Autoload/autoload.blade.php - мастер-страница для незарегистрированного пользователя;
– Autoload/index.blade.php - страница приветствия для незарегистрированного пользователя;
– Autoload/login.blade.php - страница входа в аккаунт;
– Autoload/lostpassword.blade.php - страница восстановления пароля;
– Autoload/lostpassword2.blade.php - страница установления нового пароля;
– Autoload/register.blade.php - регистрация пользователя;
– Email/auth/reminder.blade.php - страница с ссылкой на восстановление пароля;
– Email/auth/sendcode.blade.php - страница с ссылкой на восстановление пароля;
– Error/404.blade.php - страница вывода при несуществующей странице;
– Error/notifications.blade.php - страница вывода уведомлений на страницах;
– Error/validation.blade.php - страница вывода ошибки при валидации полей;
– Product/nutrition/index.blade.php - страница вывода информации о продукте;
– Product/index.blade.php - вывод страницы с продуктами;
– Product/view.blade.php - страница вывода продуктов из определенной категории.
Для реализации логики для домена данных приложения использовались модели. Большая часть моделей были сделаны на основе разработанной базы данных. Данные модели использовались для удобного взаимодействия приложения с базой данных. Такие модели представлены на рисунке 4.10.
Рисунок 4.10 -UML-диаграмма «модели базы данных»
5. Тестирование программного обеспечения
5.1 Тестирование программного обеспечения
Система реализована таким образом, что она не даст шанс пользователю на добавление противоречивой или некорректной информации в базу данных, что является одним из преимуществ системы перед другими аналогами.
Тестирование приложения выполняется с целью проверке правильности работы всех модулей Web-приложения и проверке наличия заявленной функциональности. В соответствии с требованиями разработки дипломного проекта все операции с данными, их корректность и непротиворечивость, выполнения вычислений, контроль ссылочной целостности и целостности данных сосредоточена на сервере. Клиентская часть лишь отображает результаты выполненных на сервере транзакций, сообщения об произошедших на сервере ошибок, а также для передачи данных для добавления, обновления и удаления на сервер. Тем самым мы следуем архитектуре разработки приложения - толстый сервер, тонкий клиент.
Критическое тестирование - это процесс поиска ошибок в программе при стандартной ее работе (при правильной последовательности действий, при верном заполнении полей и т.д.).
Углубленное (расширенное) тестирование - это процесс поиска ошибок в программе в нестандартных, непредвиденных ситуациях.
Перечень граничных и эквивалентных значений приведен в таблице 5.1
В таблице 5.2 приведены примеры тестовых случаев для критического тестирования для проверки функциональности работы с данными: просмотр, добавление, редактирование, удаление.
В таблице 5.3 представлено несколько примеров тестовых случаем для углубленного тестирования функционала по работе с данными: добавлением, редактированием, удалением.
Таблица 5.1 - Перечень граничных и эквивалентных значений
Название поля |
Формат данных (из требований) |
Перечень граничных значений |
Перечень эквивалентных значений |
|
Имя |
1. Может содержать в своем составе латинские и русские буквы, цифры и знак подчеркивания и пробел. 2. Длина должна быть 2 до 20 символов. 3. Обязательное поле для заполнения. |
Строка длиной 1 символ; строка длиной 21 символ |
Строка длиной 2символа; строка длиной 20 символов |
|
Пароль |
1. Содержит любые символы. 2 Длина должна быть не менее 5 символов. 3. Обязательное поле для заполнения. |
Строка длиной 4 символ |
Строка длиной 6 символов |
|
Подтверждение пароля |
1. Должно полностью совпадать с полем Пароль. |
Строка длиной 4 символ |
Строка длиной 6 символов |
|
Фамилия |
1. Может содержать в своем составе латинские и русские буквы, цифры и знак подчеркивания и пробел. 2. Длина должна быть 2 до 20 символов. 3. Обязательное поле для заполнения. |
Строка длиной 1 символ; строка длиной 21 символ |
Строка длиной 2 символа; строка длиной 20 символов |
|
Дата рождения |
1. Длина должна быть 10 символов. 2. Строгий формат: YYYY-MM-DD (Год-Месяц-День) 3. Обязательное поле для заполнения. |
Строка, состоящая из 9 символов; |
Строка, состоящая из 10 символов |
|
Адрес электронной почты |
1. Длина должна быть не менее 5 символов не более 40 символов. 2. Строгий формат: text@text.text. 3. Обязательное поле для заполнения. |
Строка длиной 4 символ; строка длиной 41 символ |
Строка длиной 5 символов; строка длиной 40 символов |
|
Пол |
1.Поле является кнопкой переключателем |
Выбор пункта |
Выбор пункта |
|
Поиск |
1. Длина должна быть не менее 1 символ. |
Строка 0 символов |
Строка 2 символа |
|
Количество грамм |
1. Может содержать только вещественное число 2. Длина должна быть не менее 1 символ |
Число 0 |
Число 0.1 |
|
Выбрать дату |
1. Длина должна быть 10 символов. 2. Строгий формат: YYYY-MM-DD (Год-Месяц-День) |
Строка, состоящая из 9 символов; |
Строка, состоящая из 10 символов |
|
Продукт |
1. Длина не менее 1 символа 2. Обязательное поле для заполнения. |
Строка 0 символов |
Строка 2 символа |
|
Описание продукта |
1. Длина не менее 1 символа |
Строка 0 символов |
Строка 2 символа |
|
Калории |
1. Может содержать только вещественное число 2. Длина должна быть не менее 1 символ 3. Обязательное поле для заполнения. |
Число 0; пустая строка |
Число 0.1 |
|
Белки |
1. Может содержать только вещественное число 2. Длина должна быть не менее 1 символ 3. Обязательное поле для заполнения. |
Число 0; пустая строка |
Число 0.1 |
|
Углеводы |
1. Может содержать только вещественное число 2. Длина должна быть не менее 1 символ 3. Обязательное поле для заполнения. |
Число 0; пустая строка |
Число 0.1 |
|
Жиры |
1. Может содержать только вещественное число 2. Длина должна быть не менее 1 символ 3. Обязательное поле для заполнения. |
Число 0; пустая строка |
Число 0.1 |
|
Текущий пароль |
1. Содержит любые символы. 2 Длина должна быть не менее 5 символов. 3. Обязательное поле для заполнения. |
Строка длиной 4 символ |
Строка длиной 6 символов |
|
Новый пароль |
1. Содержит любые символы. 2 Длина должна быть не менее 5 символов. 3. Обязательное поле для заполнения. |
Строка длиной 4 символ |
Строка длиной 6 символов |
|
Повторите пароль |
1. Содержит любые символы. 2 Длина должна быть не менее 5 символов. 3. Обязательное поле для заполнения. |
Строка длиной 4 символ |
Строка длиной 6 символов |
|
Раздел |
1. Длина не менее 1 символа |
Строка 0 символов |
Строка 2 символа |
|
Текст |
1. Длина должна быть не менее 10 символов. 2. Обязательное поле для заполнения. |
Строка, состоящая из 9 символов; пустая строка |
Строка, состоящая из 11 символов |
|
Килоджоули |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Сахар |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Насыщенные жиры |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Моно ненасыщенные жиры |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Поли ненасыщенные жиры |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Холестерин |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Клетчатка |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Натрий |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
|
Калий |
1. Длина должна быть не менее 1 символ. 2. Необязательное поле для заполнения. |
Пустая строка |
Строка, состоящая из 1 символов |
Таблица 5.2 - Пример тестового случая критического тестирования
№ |
Название модуля |
Описание тестового случая |
Ожидаемые результаты |
Тест пройден? |
Ком. |
|
Добавление продукта |
||||||
1 |
Форма добавления продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3.Для добавления продута вводим следующую информацию: в поле 'Продукт' вводим 'Торт', в поле 'Калории' - '420', в поле 'Белки' - '24', в поле “Углеводы” - “87”, в поле “Жиры” - “54”. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
2 |
Форма добавления продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице нажимаем кнопку 'Добавить'. 3.Заполняем все поля соответствующими допустимыми значениями, а в поле 'Продукт' вводим значение, являющейся цифровой информацией: '123456789'. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
3 |
Форма добавления продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3.Заполняем все поля соответствующими допустимыми значениями, а в поле 'Продукт' вводим значение, являющейся специальными символами: !@#$%^&*()_+=-|<>,.?/';':][{}`~.,. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
4 |
Форма добавления продута |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. На странице для добавления продукта нажимаем кнопку 'Добавить'. 3.Заполняем все поля соответствующими допустимыми значениями, а в поле 'Калории' вводим значение, являющейся цифровой информацией: '1234'. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
5 |
Форма добавления продукта |
1.В меню главной страницы нажимаем ссылку 'Мои продукты'. 2. На странице для добавления продукта нажимаем кнопку 'Добавить'. 3.Заполняем все поля соответствующими допустимыми значениями, а в поле 'Белки' вводим значение, являющейся цифровой информацией: '1234'. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
4 |
Форма добавления продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. На появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3.Заполняем все поля соответствующими допустимыми значениями, а в поле 'Описание продукта' вводим значение, являющейся специальными символами: !@#$%^&*()_+=-|<>,.?/';':][{}`~.,. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
5 |
Форма добавления продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3.Заполняем все поля соответствующими допустимыми значениями, а в поле 'Описание продукта' вводим значение, являющейся цифровой информацией: “123456789” 4. Для добавления вакансии нажимаем кнопку 'Добавить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Продукт успешно добавлен» |
Да |
||
6 |
Форма обновления продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В списке с продуктами, нажимаем на имя продукта «Торт». 3. Осуществляем редактирование соответствующих данных записи: в поле 'Продукт' вводим 'Мой любимый торт', в поле 'Описание продукта' - 'Торт муравейник', в поле 'Калории' - '941', в поле “Белки” - “43”, в поле “Углеводы” - “112”, в поле “Жиры” - “54”. 4. Нажимаем кнопку 'Изменить'. |
1. Появляется страница с вашими продуктами. 2. Выведется сообщение «Успешно изменено» |
Да |
||
Удаление записи о факультете |
||||||
7 |
Страница продуктов |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. Возле удаляемого продукта наживаем иконку с названием «Удалить» |
1. Происходит обновление страницы. 2. Выведется сообщение «Продукт удален» |
Да |
Таблица 5.3 - Пример тестового случая углубленного тестирования
№ |
Название модуля |
Описание тестового случая |
Ожидаемые результаты |
Тест пройден? |
Ком. |
|
Добавление/редактирование записи о факультете |
||||||
1 |
Форма добавления и редактирования продукта |
1.В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3. Заполняем все поля соответствующими допустимыми значениями, а в поле 'Продукт'оставляем пустым. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что поле 'Продукт' является обязательным для заполнения. |
Да |
||
2 |
Форма добавления и редактирования продукта |
1. В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а в поле 'Продукт' вводим значение, превышающий допустимый размер. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что количество символов в поле 'Продукт' должно быть между граничными значениями. |
Да |
||
3 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а в поле 'Калории' вводим значение, не являющееся цифровой информацией. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что количество символов в поле 'Калории' должно быть числом. |
Да |
||
4 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а поле 'Калории' оставляем пустым. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что поле 'Калории' является обязательным для заполнения. |
Да |
||
5 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. Для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а поле 'Белки' оставляем пустым. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что поле 'Белки' является обязательным для заполнения. |
Да |
||
6 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. Для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а в поле 'Белки' вводим значение, не являющееся цифровой информацией. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что количество символов в поле 'Белки' должно быть числом. |
Да |
||
7 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. Для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а поле 'Углеводы' оставляем пустым. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что поле 'Углеводы' является обязательным для заполнения. |
Да |
||
8 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. Для добавления продукта нажимаем кнопку «Добавить». 3 Заполняем все поля соответствующими допустимыми значениями, а в поле «Углеводы» вводим значение, не являющееся цифровой информацией. 4. Для добавления продукта нажимаем кнопку «Добавить». |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что количество символов в поле «Углеводы» должно быть числом. |
Да |
||
9 |
Форма добавления и редактирования продукта |
1. В меню главной страницы нажимаем ссылку «Мои продукты». 2. Для добавления продукта нажимаем кнопку «Добавить». 3 Заполняем все поля допустимыми значениями, а поле «Жиры» оставляем пустым. 4. Для добавления продукта нажимаем кнопку «Добавить». |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что поле 'Жиры' является обязательным для заполнения. |
Да |
||
10 |
Форма добавления и редактирования продукта |
В расширенном меню главной страницы нажимаем ссылку 'Мои продукты'. 2. В появившейся странице для добавления продукта нажимаем кнопку 'Добавить'. 3 Заполняем все поля соответствующими допустимыми значениями, а в поле 'Жиры' вводим значение, не являющееся цифровой информацией. 4. Для добавления продукта нажимаем кнопку 'Добавить'. |
1. Происходит обновление страницы. 2. Информация появляется в полях. 3. Появляется сообщение о том, что количество символов в поле 'Жиры' должно быть числом. |
Да |
Параметры аппаратных средств, на которых было осуществлено тестирование разработанного программного обеспечения, приведены в таблице 5.4.
Таблица 5.4 - Перечень аппаратных средств
№ |
Роль |
Аппаратная конфигурация |
Программная конфигурация |
|
1 |
Web-сервер |
Процессор IntelXeonX5430 3.0 МГц, 16 Гб ОЗУ, 120 Гб SASHDD |
OS Linux Debian 6, Apache 2.2.4+Nginx, PHP 5.4.2, MySQL 5.5.34 |
|
2 |
Рабочая станция |
Процессор Intel Core i5-3210M2.50 МГц, 8ГбОЗУ, 1000 Гб HDD |
OS Windows 8, Google Chrome 43 |
В результате проведения тестирования было установлено, что разработанный программный продукт имеет высокую степень соответствия предъявляемым к нему требованиям и может успешно применяться для решения поставленной задачи. Все найденные за время тестирования ошибки были исправлены, в результате чего все тестовые сценарии были успешно пройдены.
6. Руководство пользователя
6.1 Руководство по установке и настройке приложения
Для правильной работы программно комплекса на компьютере-сервере должно быть установлено следующее программное обеспечение:
Операционная система из семейства MicrosoftWindows либо Linux;
OpenServer 4.9.0 ивыше (еслиОС Microsoft Windows);
Apache 2.2.4+Nginx (еслиОС Linux);
PHP ненижеверсии 5.4.2;
MySQL 5.5.34 и выше.
Для установки комплекса на компьютер необходимо выполнить следующие действия:
1) скопировать на жёсткий диск компьютера архив программы;
2) установить и запустить OpenServer;
3) распаковать архив с программой в выбранной папке каталога «domaisn»;
4) импортировать файл базы данных «forge.sql» через PHPMyAdmin в созданную БД;
5) настроить конфигурационный файл приложения «database.php» путём прописывания в его секции «mysql» соответствующей строки подключения к серверу базы данных.
Для работы с системой на клиентской машине нужно установить любой из Интернет-браузеров (например, GoogleChrome 43 или InternetExplorer11).
6.2 Работа в роли пользователя
6.2.1 Аутентификация пользователя
Для входа в систему в качестве студента необходимо выбратьссылку «Вход» либо использовать ссылку: http://yourdomain/login. В результате появиться страница аутентификации, которая представлена на рисунке 6.1. Где пользователю нужно в соответствующих полях ввода ввести электронную почту и пароль, а затем нажать кнопку «Войти». При правильном вводе данных пользователь при первом входе в аккаунт, будет направлен на страницу прохождения тестирования, если пользователь уже проходил тестирование, то он попадает сразу в аккаунт, в противном случае выдаётся соответствующее сообщение об ошибке.
Рисунок 6.1 - Форма для входа в систему
Список причин отказа входа в систему студенту:
студент не зарегистрирован в системе;
ошибка ввода непосредственно самих некорректных данных, либо хотя бы одно из полей ввода пустое;
пользователь зарегистрирован, но на данный момент его учётная запись или запись его группы заблокирован администратором.
6.2.2 Регистрация пользователя
Для регистрации студенту необходимо выбрать ссылку «Регистрация» либо использовать ссылку: http://yourdomain/register. В результате чего будет загружена страница регистрации пользователя представленная на рисунке 6.2, на которой необходимо ввести в соответствующие поля ввода соответствующие персональные данные для дальнейшего входа в систему.
При вводе корректных данных пользователь будет направлен на страницу входа и будет выданосообщение об успешной регистрации. В случае некорректного ввода данных будет выдано соответствующее сообщение, представлено на рисунке 6.3.
Рисунок 6.2 - Форма для регистрации пользователя
Рисунок 6.3 - Сообщения об ошибках, возникших при регистрации
6.2.3 Восстановления пароля пользователя
Чтобы попасть на страницу восстановления пароля необходимо на странице входа выбрать ссылку «Забыли пароль?» (представлено на рисунке 6.1) или ввести ссылку http://yourdomain/lostpassword. Откроется страница восстановления пароля с формой для ввода электронной почты (представлено на рисунке 6.4). После ввода почты и нажатии кнопки «Далее» появляется следующий текст (представлено на рисунке 6.5) и на введенный электронный адрес отправляется письмо с ссылкой на восстановление пароля, перейдя по которой можно установить новый пароль.
Рисунок 6.4 - Форма для восстановления пароля по электронной почте
Рисунок 6.5 - Успешное восстановление пароля
6.2.4 Просмотр и добавление продуктов в дневник питания
При успешном входе в систему появляется список добавленных в дневник продуктов питания. Для добавления продукта нужно нажать на ссылку «Добавить запись». После нажатия откроется список всех продуктов на сайте (рисунок 6.6), для добавления продукта в дневник нужно нажать напротив соответствующего продукта ссылку «Добавить». После нажатия открывается модальное окно где нужно указать в граммах количество съеденного продукта (рисунок 6.7).
После добавления выбранных продуктов питания в дневник, они отобразятся в соответствующей категории (рисунок 6.8).
Для более удобного контроля за количеством потребляемых продуктов все данные отображаются на графике (рисунок 6.9).
Рисунок 6.6 - Добавление продукта в дневник
Рисунок 6.7 - Модальное окно для указания количества добавляемого продукта
Рисунок 6.8 - Просмотр дневника питания
Рисунок 6.9 -График потребления б/ж/у за день
6.2.5 - Просмотр и добавление записей в историю веса
В аккаунте пользователя есть возможность делать отметки о текущем весе, тем самым предоставляя возможным следить за поставленной целью изменения веса (рисунок 6.10).
Для добавления отметки о текущем весе нужно нажать на ссылку «взвеситься сейчас», после нажатия на которую появится модальное окно для указания текущего веса.
Если пользователь захочет удалить все записи из истории своего веса, нужно нажать на ссылку «очистить историю веса», после нажатия на которую удалятся все записи кроме начальной.
Рисунок 6.10 - История веса пользователя
6.3 Работа в роли администратора
6.3.1 Аутентификация администратора
Вход в систему в качестве администратора аналогичен входу в систему в качестве пользователя, однако после успешной авторизации администратору будет доступен переход по «секретной ссылке» (http://yourdomain/my24) для управления разделами сайта.
После перехода по этой ссылке откроется панель администратора, представленная нарисунке 6.11.
Рисунок 6.11 - Панель администратора
6.3.2 Добавления категории продуктов
Для добавления категорий продуктов нужно в панели администратора нажать на ссылку «категории» - отобразится список категорий, представленных на рисунке 6.12.
Для добавления категории нужно нажать «добавить» после чего откроется страница с указанием имени категории, представленной на рисунке 6.13. После указания имени категории и нажатия на ссылку «добавить» происходит добавление категории и перенаправление на страницу со списком всех категорий и показ уведомления о том, что категория успешно добавлена.
Рисунок 6.12 - Список категорий продуктов
Рисунок 6.13 - Указание имени добавляемой категории
6.3.3 Добавление продуктов
Для добавления продуктов нужно в панели администратора нажать на ссылку «продукты» - отобразится список продуктов, представленных на рисунке 6.14.
Для добавления категории нужно нажать на ссылку «добавить» после чего откроется страница для добавления продукта. После указания всей информации о продукте и нажатия на ссылку «добавить» происходит добавление продукта и перенаправление на страницу со списком всех продуктов и показ уведомления о том, что продукт успешно добавлен.
Рисунок 6.14 - Список продуктов
6.3.4 Добавление, изменение, удаление полезных советов
Для добавления полезных советов нужно в панели администратора нажать на ссылку «уведомления» - отобразится список полезных советов (рисунок 6.15).
Для добавления полезного совета нужно нажать на ссылку «добавить» после чего откроется страница для добавления совета. После указания всей информации и нажатия на ссылку «добавить» происходит добавление совета и перенаправление на страницу со списком всех советов и показ уведомления о том, что продукт успешно добавлен.
Для редактирования информации о каком-либо совете нужно нажать «изменить» напротив нужного вам совета, ввести нужную информацию и нажать изменить.
Для удаления полезного совета нужно нажать напротив удаляемого совета на ссылку «удалить» после чего страница обновится и появится уведомление о успешном удалении.
Рисунок 6.15 - Администрирование полезных советов
6.3.5 - Просмотр информации о зарегистрированных пользователях
Для просмотра списка зарегистрированных пользователей нужно в панели администратора перейти в раздел «пользователи», представлено на рисунке 6.15.
Для просмотра информации о конкретном пользователе нужно нажать на ссылку с именем пользователя.
Рисунок 6.15 - Список зарегистрированных пользователей
онлайн логический идентификация сценарий
7. Определение экономической эффективности разработки программного обеспечения
При расчете экономической эффективности разработки программного обеспечения нужно сопоставить затраты пользователя программы до её внедрения на выполнение им того комплекса работ, который обеспечит приобретаемое приложение, с затратами после внедрения. Ниже описывается расчёт годового экономического эффекта от внедрения приложения.
7.1 Определение единовременных затрат на создание программного обеспечения
Единовременные капитальные затраты представляют собой цену программного продукта (ПП). Все расчеты между покупателем и продавцом продукции, к которой относят и программные продукты, производятся на основе отпускных цен. В настоящее время в соответствии с законодательством РБ в отпускную цену включается налог на добавленную стоимость и другие косвенные налоги, а также ряд отчислений. Определяющим фактором затратной цены, закладываемой в основу расчета отпускной, является трудоемкость создания ПП.
7.1.1 Определение трудоемкости разработки ПП
Трудоемкость разработки программного продукта может быть определена укрупненным методом. [18] При этом необходимо воспользоваться формулой:
,(7.1)
где - трудоемкость описания задачи и исследования алгоритма решения;
- трудоемкость разработки блок-схемы алгоритма;
- трудоемкость программирования по готовой блок-схеме;
- трудоемкость отладки программы на ЭВМ;
- трудоемкость подготовки документации по задаче в рукописи;
- трудоемкость редактирования, печати и оформления документации по задаче.
Составляющие приведенной формулы определяются, в свою очередь, через условное число операторов (С) в разрабатываемом ПП по формуле:
, (7.2)
где - число операторов в программе ();
- коэффициент сложности программы ();
- коэффициент коррекции программы в ходе ее разработки ().
Коэффициент сложности программы характеризует относительную сложность программ задачи по отношению к так называемой типовой задаче, сложность которой принята за единицу. Значение коэффициента определяется на базе экспертных оценок.
Коэффициент коррекции программ P характеризует увеличение объема работ за счет внесения изменений в алгоритм и программу, изменения состава и структуры информации, а также уточнений, вносимых разработчиком программы для улучшения ее качества без изменения постановки задачи. Значение P может быть принято равным .
операторов.
Составляющая трудоемкости разработки программы определяется по формулам:
;(7.3)
;(7.4)
;(7.5)
;(7.6)
;(7.7)
;(7.8)
где W -- коэффициент увеличения затрат труда вследствие недостаточного или некачественного описания задачи ( =>);
K - коэффициент квалификации разработчика алгоритмов и программ (при стаже работы до двух лет , при стаже от двух до трех лет , при стаже от трех до пяти лет , при стаже от пяти до семи лет , при стаже свыше семи лет =>).
;
;
;
;
;
;
чел-ч.
7.1.2 Определение себестоимости создания ПП
Для определения себестоимости создания программного продукта необходимо определить затраты на заработную плату разработчика по формуле
,(7.9)
где - трудоемкость разработки программного продукта, чел-ч;
- среднечасовая ставка работника, разрабатывавшего программный продукт, руб.;
- коэффициент, учитывающий процент премий и доплат к тарифному фонду в организации-разработчике (при отсутствии данных может быть принят );
- коэффициент, учитывающий дополнительную заработную плату (при отсутствии данных может быть принят =>);
- коэффициент, учитывающий начисления на заработную плату, включая отчисления в фонд социальной защиты населения, на содержание учреждений здравоохранения, другие фонды, чрезвычайный чернобыльский налог и др. ().
Среднечасовая ставка работника определяется исходя из Единой тарифной системы оплаты труда в Республике Беларусь по следующей формуле:
,(7.10)
где - среднемесячная заработная плата работника (руб.);
- тарифный коэффициент работника соответствующего разряда ();
- нормативное количество рабочих часов в месяце.
руб.;
руб.
В себестоимость разработки ПП включаются также затраты на отладку ПП в процессе его создания. Для определения их величины необходимо рассчитать стоимость машино-часа работы ЭВМ, на которой осуществлялась отладка. Данная величина соответствует величине арендной платы за один час работы ЭВМ и определяется по формуле
,(7.11)
где - расходы на электроэнергию за час работы ЭВМ, руб.;
- годовая величина амортизационных отчислений на реновацию ЭВМ;
- амортизация нематериальных активов;
- годовые затраты на ремонт и техническое обслуживание ЭВМ, руб.;
- годовая величина амортизационных отчислений на реновацию производственных площадей, занимаемых ЭВМ, руб.;
- годовые затраты на ремонт и содержание производственных площадей, руб.;
- годовая величина налога на недвижимость, руб.;
- годовой фонд времени работы ЭВМ, час.
Расходы на электроэнергию за час работы ЭВМ определяются по формуле:
,(7.12)
где - установленная мощность электродвигателя ЭВМ, кВт (принимается по паспортным данным);
- коэффициент использования энергоустановок по мощности ();
- стоимость 1 кВт-часа электроэнергии, руб.
Годовая величина амортизационных отчислений на реновацию ЭВМ определяется по формуле:
,(7.13)
где - цена ЭВМ на момент ее выпуска, руб.;
- коэффициент удорожания ЭВМ (зависит от года выпуска). (В том случае, когда в качестве цены используется цена текущего года, коэффициент удорожания );
- коэффициент, учитывающий затраты на монтаж и транспортировку ЭВМ ();
- норма амортизационных отчислений на ЭВМ, % ();
- балансовая стоимость ЭВМ, руб.
Годовая величина амортизационных отчислений на реновацию нематериальных активов определяется по формуле:
,(7.14)
где - цена, необходимая для реализации программы, руб.;
- норма амортизационных отчислений на нематериальные активы, % ().
Годовые затраты на ремонт и техническое обслуживание ЭВМ укрупнено могут быть определены по формуле:
,(7.15)
где - коэффициент, учитывающий затраты на ремонт и техническое обслуживание ЭВМ, в т.ч. затраты на запчасти, зарплату ремонтного персонала ().
Годовая величина амортизационных отчислений на реновацию производственных площадей, занятых ЭВМ определяется по формуле:
,(7.16)
где - балансовая стоимость площадей, руб.;
- норма амортизационных отчислений на производственные площади, % ();
- площадь, занимаемая ЭВМ, кв.м.;
- коэффициент, учитывающий дополнительную площадь ();
- цена 1 кв.м. производственной площади, руб.
Годовые затраты на ремонт и содержание производственных площадей укрупнено могут быть определены по формуле:
,(7.17)
где - коэффициент, учитывающий затраты на ремонт и эксплуатацию производственных площадей ().
Величина налога на недвижимость определяется по формуле:
,(7.18)
где - ставка налога на недвижимость.
Годовой фонд времени работы ЭВМ определяется исходя из режима ее работы, и может быть рассчитан по формуле:
,(7.19)
где - среднесуточная фактическая загрузка ЭВМ, час;
- среднее количество дней работы ЭВМ в год.
; руб.; кВт;
руб.;
руб.;
руб.;
руб.;
руб.;
руб.;
руб.;
; руб.;
руб.;
руб.;
руб.;
%;
руб.;
час.; час.;
час.
Определим стоимость машино-часа работы ЭВМ:
руб./час.
Затраты на отладку программы определяются по формуле:
,(7.20)
где - трудоемкость отладки программы, час (определяется по Типовым нормам времени для программирования задач на ЭВМ или по формуле в п. 7.2.1);
- стоимость машино-часа работы ЭВМ, руб./час.
Себестоимость разработки ПП определяется по формуле:
,(7.21)
где - коэффициент накладных расходов проектной организации без учета эксплуатации ЭВМ (при отсутствии данных может быть принят ).
руб.;
Зот = 657,09 * 993,47 = 652799,2
руб.
7.1.3 Определение отпускной цены ПП
В основу расчета отпускной цены закладывается затратная цена организации-разработчика. Затратная цена складывается из себестоимости создания программного продукта и плановой прибыли на программу.
Затратная цена ПП определяется по формуле:
,(7.22)
где - плановая прибыль на программу, руб.
Плановая прибыль на программу определяется по формуле:
,(7.23)
где - себестоимость программы;
- норма прибыли проектной организации (при отсутствии данных ).
руб.;
руб.
Отпускная цена программы определяется в следующей последовательности:
1) определяются отчисления в единый фонд:
,(7.24)
где - норматив отчислений в единый фонд (%);
2) определяется величина налога на добавленную стоимость по формуле:
,(7.25)
где - ставка налога на добавленную стоимость, %;
3) определяется отпускная цена программы по формуле:
.(7.26)
руб. %;
руб.;
руб.
7.2 Определение ожидаемого прироста прибыли в результате внедрения ПП
Внедрение ПП может обеспечить пользователю ожидаемый прирост прибыли за счет сокращения трудоемкости решения задачи, являющейся предметом автоматизации и, как результат, снижения текущих затрат, связанных с решением данной задачи.
7.2.1 Определение годовых эксплуатационных расходов при ручном решении задачи
Годовые эксплуатационные расходы при ручной обработке информации (ручном решении задачи) определяются по формуле:
,(7.27)
где - трудоемкость разового решения задачи вручную (чел-ч.);
- периодичность решения задачи в течение года (раз/год);
- среднечасовая ставка работника ручного расчета задачи();
- коэффициент, учитывающий процент премий ();
- коэффициент, учитывающий дополнительную заработную плату ();
- коэффициент, учитывающий начисления на заработную плату ().
Определение величин ,, , ведется аналогично п. 7.1.2 настоящих указаний.
руб.
7.2.2 Определение годовых текущих затрат, связанных с эксплуатацией задачи
Для расчета годовых текущих затрат, связанных с эксплуатацией ПП, необходимо определить время решения данной задачи на ЭВМ.
Время решения задачи на ЭВМ определяется по формуле:
,(7.28)
где - время ввода исходных данных, необходимых для решения задачи, мин;
- время вычислений (мин.);
- время вывода результатов решения задачи (мин);
- коэффициент, учитывающий подготовительно-заключительное время ().
Время ввода в ЭВМ исходных данных может быть определено по формуле:
,(7.29)
где - среднее количество знаков, набираемых при вводе данных ();
- норматив набора знаков (мин.).
мин.;
.
Время вычислений и время вывода информации может быть определено экспериментальным путем при отладке контрольного примера.
На основе рассчитанного времени решения задачи может быть определена заработная плата пользователя, данного ПП.
Затраты на заработную плату пользователя ПП определяются по формуле:
,(7.30)
где - время решения задачи на ЭВМ, час;
- среднечасовая ставка пользователя программы, руб. (определяется аналогично ставке работника, осуществляющего ручной расчет).
руб.
В состав затрат, связанных с решением задачи включаются также затраты, связанные с эксплуатацией ЭВМ. Затраты на оплату аренды ЭВМ для решения задачи определяются по формуле:
,(7.31)
где - стоимость одного машино-часа работы ЭВМ, которая будет использоваться для решения задачи, руб.
руб.
При этом следует учесть, что стоимость машино-часа у пользователя программы может отличаться от аналогичной величины у разработчика программы, так как он может использовать ПЭВМ другой модификации и с другим набором периферийных устройств. В таком случае следует определить стоимость машино-часа работы ЭВМ по формуле 7.11.
Годовые текущие затраты, связанные с эксплуатацией задачи, решаются формулой:
,(7.32)
где - затраты на заработную плату пользователя программы;
- затраты на оплату аренды ЭВМ при решении задачи.
руб.
7.2.3 Определение ожидаемого прироста прибыли в результате внедрения ПП
Ожидаемый прирост прибыли в результате внедрения задачи взамен ручного ее расчета укрупнено может быть определен по формуле:
,(7.33)
где - ставка налога на прибыль. %.
руб.
7.3 Расчет показателей эффективности использования программного продукта
Для определения годового экономического эффекта от разработанной программы необходимо определить суммарные капитальные затраты на разработку и внедрение программы по формуле:
,(7.34)
где - капитальные и приравненные к ним затраты;
- отпускная цена программы для конкретного пользователя.
В случае, если ЭВМ, на которой предполагается решать рассматриваемую задачу, отслужила к моменту расчета 3 года и , капитальные и приравненные к ним затраты определяются по формуле:
,(7.36)
руб.;
руб.;
руб.
Отпускная цена программы для пользователя определяется в зависимости от возможностей тиражирования последней и в общем виде её можно определить по формуле:
,(7.37)
где - коэффициент тиражирования, равный реальному числу возможных пользователей программы, которым она может быть предложена.
Годовой экономический эффект от сокращения ручного труда при обработке информации определяется по формуле:
,(7.38)
где - коэффициент эффективности, равный ставке за кредиты на рынке долгосрочных кредитов ().
руб.
Срок возврата инвестиций определяется по формуле:
,(7.39)
года.
Результаты расчета сведены в таблицу 7.1
Таблица 7.1 - Технико-экономические показатели проекта
Наименование показателя |
Варианты |
||
базовый |
проектный |
||
Трудоемкость решения задачи, час. |
8 |
0,07 |
|
Периодичность решения задачи, раз в год. |
125 |
125 |
|
Годовые текущие затраты, связанные с решением задачи, руб. |
7220487,75 |
65903,67 |
|
Отпускная цена программы, руб. |
|||
Коэффициент тиражирования программы, раз. |
1 |
||
Степень новизны программы. |
В |
||
Группа сложности алгоритма. |
1 |
||
Прирост условной прибыли, руб./ год. |
5437483,9 |
||
Годовой экономический эффект пользователя, руб. |
4169528,35 |
||
Срок возврата инвестиций, лет. |
2 |
8. Охрана труда
В связи с автоматизацией процессов производства и управления, развитием вычислительной техники и разработкой систем автоматизации проектных, исследовательских и технологических работ широкое распространение получили персональные компьютеры (ПК). Персональные компьютеры используются в информационных и вычислительных центрах, в диспетчерских пунктах управления технологическими процессами и т.д.
Основными видами работ на ПЭВМ с использованием видеодисплейных терминалов (ВДТ) являются: считывание информации с экрана с предварительным запросом; ввод информации; творческая работа в режиме диалога с ПЭВМ. Наибольшая нагрузка на орган зрения имеет место при вводе информации в ПЭВМ. Наибольшее общее утомление вызывает работа в режиме диалога. Наибольшее напряжение вызывает выполнение работы при дефиците времени для принятия решения (при управлении непрерывными технологическими процессами). При длительной работе за экраном ВДТ возникает напряжение зрительного аппарата (зрительное утомление, головные боли, раздражительность, болезненные ощущения в глазах ит.д.), напряжение мышц спины, шеи, рук, ног. Неблагоприятное влияние на условия труда работающих с ВДТ оказывает нерациональное естественное и искусственное освещение помещений и рабочих мест, яркие и темные пятна на рабочих поверхностях, засветка экрана посторонним светом, наличие ярких и блестящих предметов.
8.1 Производственная санитария, техника безопасности и пожарная профилактика
Работающие с ПЭВМ могут подвергаться воздействию различных опасных и вредных производственных факторов, основными из которых являются: физические: повышенные уровни: электромагнитного, рентгеновского, ультрафиолетового и инфракрасного излучения; статического электричества; запыленности воздуха рабочей зоны; повышенное или пониженное содержание аэроионов в воздухе рабочей зоны; повышенный или пониженный уровень освещенности рабочей зоны и др.; химические: содержание в воздухе рабочей зоны оксида углерода, озона, аммиака, фенола, формальдегида и полихлорированных фенилов; психофизиологические: напряжение зрения, памяти, внимания; длительное статическое напряжение; большой объем информации, обрабатываемой в единицу времени; монотонность труда; нерациональная организация рабочего места; эмоциональные перегрузки.
Работа с ПЭВМ проводится в соответствии с Санитарными нормами и правилами «Требования при работе с видеодисплейными терминалами и электронно-вычислительными машинами» и Гигиеническим нормативом «Предельно-допустимые уровни нормируемых параметров при работе с видеодисплейными терминалами и электронно-вычислительными машинами», утвержденными постановлением Министерства здравоохранения от 28.06.2013 г. № 59 и Типовой инструкцией по охране труда при работе с персональными ЭВМ, утвержденной постановлением Министерства труда и социальной защиты от 24.12.2013 № 130.
Площадь одного рабочего места для пользователей ВДТ, ЭВМ и ПЭВМ на базе плоских дискретных экранов (жидкокристаллические, плазменные и другое) составляет не менее 4,5м2.
8.1.1 Метеоусловия
В производственных помещениях, в которых работа с использованием ВДТ, ЭВМ или ПЭВМ является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.) или связана с нервно-эмоциональным напряжением, обеспечиваются оптимальные параметры микроклимата для категории работ 1а и 1б, предусмотренные Гигиеническим нормативом (табл. 8.1).
Таблица 8.1. Оптимальные параметры микроклимата для помещений с ВДТ, ЭВМ и ПЭВМ
Период года |
Категория работ |
Температура воздуха, оС, не более |
Относительная влажность воздуха, % |
Скорость движения воздуха, м/с |
|
Холодный |
легкая-1а |
22-24 |
40-60 |
0,1 |
|
легкая-1б |
21-23 |
40-60 |
0,1 |
||
Теплый |
легкая-la |
23-25 |
40-60 |
0,1 |
|
легкая-1б |
22-24 |
40-60 |
0,2 |
Оптимальные микроклиматические условия - это сочетание показателей микроклимата (температура воздуха, относительная влажность воздуха, скорость движения воздуха, интенсивность инфракрасных излучений), которое обеспечивает человеку ощущение теплового комфорта в течение рабочей смены без нарушения механизмов терморегуляции и не вызывает отклонений в здоровье. При этом создаются предпосылки для высокого уровня работоспособности.
Работа с компьютером относится к категории 1а (к данной категории работ относят работы, производимые сидя и сопровождающиеся незначительным физическим напряжением, при которых расход энергии составляет до 120 ккал/ч, т.е. до 139 Вт).
Согласно ГОСТ 12.1.005-88 и Санитарных нормам и правилам интенсивность теплового излучения работающих от нагретых поверхностей технологического оборудования, осветительных приборов, инсоляции на постоянных местах не превышает значений, указанных в табл. 8.2.
Таблица 8.2. Предельно допустимые уровни интенсивности излучения в инфракрасном и видимом диапазоне излучения на расстоянии 0,5 мсо стороны экрана ВДТ, ЭВМ и ПЭВМ
Диапазоны длин волн |
400-760 нм |
760-1050 нм |
свыше 1050 нм |
|
Предельно допустимые уровни |
0,1 Вт/м2 |
0,05 Вт/м2 |
4,0 Вт/м2 |
Для создания нормальных метеорологических условий наиболее целесообразно уменьшить тепловыделения от самого источника -- монитора, что предусматривается при разработке его конструкции.
В производственных помещениях для обеспечения необходимых показателей микроклимата предусмотрены системы отопления, вентиляции и кондиционирования воздуха.
8.1.2 Вентиляция и отопление
Воздух рабочей зоны производственного помещения соответствует санитарно-гигиеническим требованиям по параметрам микроклимата, содержанию вредных веществ (газа, пара, аэрозоли) и частиц пыли, приведенным в ГОСТе 12.1.005-88 СББТ и Санитарных нормах, правилах и гигиенических нормативах «Перечень регламентированных в воздухе рабочей зоны вредных веществ».
В помещениях, оборудованных ВДТ, ЭВМ или ПЭВМ, проводится ежедневная влажная уборка и систематическое проветривание после каждого часа работы с ВДТ, ЭВМ или ПЭВМ.
Уровни положительных и отрицательных аэроионов, а также коэффициент униполярности в воздухе всех помещений, где расположены ВДТ, ЭВМ или ПЭВМ, соответствуют значениям, указанным в табл. 8.3.
Таблица 8.3. - Уровни ионизации и коэффициент униполярности воздуха помещений при работе с ВДТ, ЭВМ и ПЭВМ
Уровни |
Число ионов в 1 см3 воздуха |
Коэффициент униполярности (У) |
||
n+ |
n- |
|||
Минимально допустимые |
400 |
600 |
0,4 ? У <1,0 |
|
Оптимальные |
1500-3000 |
3000-5000 |
||
Максимально допустимые |
50000 |
50000 |
Одним из мероприятий по оздоровлению воздушной среды является устройство вентиляции и отопления. Задачей вентиляции является обеспечение чистоты воздуха и заданных метеорологических условий на рабочих местах. Чистота воздушной среды достигается удалением загрязненного или нагретого воздуха из помещения и подачей в него свежего воздуха. Работа видеотерминалов сопровождается выделением тепла. Для поддержания нормального микроклимата необходим достаточный объем вентиляции, для чего в вычислительном центре предусматривается кондиционирование воздуха, осуществляющее поддержание постоянных параметров микроклимата в помещении независимо от наружных условий.
Параметры микроклимата поддерживаются в указанных пределах в холодное время за счет системы водяного отопления с нагревом воды до 100°С, в теплый - за счет кондиционирования, с параметрами отвечающими требованиям СНБ 4.02.01-03.
8.1.3 Освещение
Важное место в комплексе мероприятий по охране груда и оздоровлению условий труда работающих с ЭВМ занимает создание оптимальной световой среды, т.е. рациональная организация освещения помещения и рабочих мест.
Помещения для эксплуатации ВДТ, ЭВМ и ПЭВМ имеют естественное и искусственное освещение. Естественное освещение на рабочих местах с ВДТ, ЭВМ и ПЭВМ осуществляется через световые проемы, ориентированные преимущественно на север, северо-восток, восток, запад или северо-запад и обеспечивать коэффициент естественной освещенности нениже1,5%. Оконные проемы оборудованы регулируемыми устройствами типа жалюзи, занавесей, внешних козырьков и другое.
Для внутренней отделки интерьера помещений, где расположены ВДТ, ЭВМ и ПЭВМ, используются диффузно отражающие материалы с коэффициентом отражения для потолка - 0,7-0,8; для стен - 0,5-0,6; для пола - 0,3-0,5.
Искусственное освещение в помещениях для эксплуатации ВДТ, ЭВМ и ПЭВМ осуществляется системой общего равномерного освещения. В производственных, административных и общественных помещениях в случаях преимущественной работы с документами применяют системы комбинированного освещения.
Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 люкс. Освещение не создает бликов на поверхности экрана. Освещенность поверхности экрана не более 300 люкс.
Неравномерность распределения яркости в поле зрения пользователя ВДТ, ЭВМ и ПЭВМ, при этом соотношение яркости между рабочими поверхностями не превышает 3:1 - 5:1, амежду рабочими поверхностями и поверхностями стен и оборудования - 10:1.
В качестве источников света при искусственном освещении применяем преимущественно люминесцентные лампы типа ЛБ и компактные люминесцентные лампы.
Коэффициент запаса для осветительных установок общего освещения принимается равным 1,4. Коэффициент пульсации не превышает 5 %.
8.1.4 Шум
Шум, неблагоприятно воздействуя на организм человека, вызывает психические и физиологические нарушения, снижающие работоспособность, приводит к увеличению числа ошибок при работе.
Основными источниками шума в помещениях, оборудованных ЭВМ, являются принтеры, множительная техника и оборудование для кондиционирования воздуха, в самих ЭВМ -- вентиляторы систем охлаждения и трансформаторы.
Нормированные уровни шума согласно Санитарных норм и правил «Требования при работе с видеодисплейными терминалами и электронно-вычислительными машинами» и Гигиенических нормативов «Предельно-допустимые уровни нормируемых параметров при работе с видеодисплейными терминалами и электронно-вычислительными машинами» приведены в таблице 8.4 и обеспечиваются путем использования малошумного оборудования, применением звукопоглощающих материалов для облицовки помещений, а также различных звукопоглощающих устройств (перегородки, кожухи и т. д.).
Таблица 8.4 - Предельно-допустимые уровни звука, эквивалентные уровни звука и уровни звукового давления в октавных полосах частот при работе с ВДТ, ЭВМ и ПЭВМ и периферийными устройствами
Категория нормы шума |
Уровни звукового давления, дБ, в октавных полосах со средне геометрическими частотами, Гц |
Уровни звука и эквивалентные уровни звука, дБА |
|||||||||
31.5 |
63 |
125 |
250 |
500 |
1000 |
2000 |
4000 |
8000 |
|||
I |
86 |
71 |
61 |
54 |
49 |
45 |
42 |
40 |
38 |
50 |
|
II |
93 |
79 |
70 |
63 |
58 |
55 |
52 |
50 |
49 |
60 |
|
III |
96 |
83 |
74 |
68 |
63 |
60 |
57 |
55 |
54 |
65 |
|
IV |
103 |
91 |
83 |
77 |
73 |
70 |
68 |
66 |
64 |
75 |
Шум не превышает допустимых пределов, так как в вычислительной технике нет вращающихся узлов и механизмов (за исключением вентилятора), а наиболее шумное оборудование (АЦПУ) находится в специально отведенных помещениях.
8.1.5 Электробезопасность
Помещение вычислительного центра по степени опасности поражения электрическим током относится к помещениям без повышенной опасности.
Основные меры защиты от поражения током:
- изоляция и недоступность токоведущих частей;
- защитное заземление (R3 = 4 Ом ГОСТ 12.1.030 - 81).
Первая помощь при поражениях электрическим током состоит из двух этапов: освобождение пострадавшего от действия тока и оказание ему доврачебной медицинской помощи. После освобождения пострадавшего от действия электрического тока необходимо оценить его состояние. Во всех случаях поражения электрическим током необходимо вызвать врача независимо от состояния пострадавшего.
8.1.6 Излучение
При работе с дисплеем могут возникнуть следующие опасные факторы: электромагнитные поля, электростатические поля, рентгеновское излучение, ультрафиолетовое и инфракрасное излучение.
Уровни физических факторов, создаваемые ВДТ, ЭВМ, ПЭВМ и периферийными устройствами, не превышают предельно-допустимые уровни: электромагнитных и электростатических полей (табл. 8.5, 8.6), ультрафиолетового (табл. 8.7), установленных Гигиеническим нормативом «Предельно-допустимые уровни нормируемых параметров при работе с видеодисплейными терминалами и электронно-вычислительными машинами».
Таблица 8.5. Предельно допустимые уровни электромагнитных полей от экранов ВДТ, ЭВМ и ПЭВМ
Наименование параметра |
Предельно-допустимые уровни |
|
Напряженность электрического поля в диапазоне частот: |
||
5 Гц-2 кГц |
не более 25,0 В/м |
|
2-400 кГц |
не более 2,5 В/м |
|
Плотность магнитного потока магнитного поля в диапазоне частот: |
||
5 Гц-2 кГц |
не более 250 нТл |
|
2-400 кГц |
не более 25 нТл |
|
Напряженность электростатического поля |
не более 15 кВ/м |
Таблица 8.6. Предельно допустимые уровни электромагнитных полей при работе с ВДТ, ЭВМ, ПЭВМ от клавиатуры, системного блока, манипулятора «мышь», беспроводных системам передачи информации и иных периферийных устройств
Диапазоны частот |
0,3-300кГц |
0,3-3МГц |
3-30МГц |
30-300МГц |
0,3-300ГГц |
|
Предельно допустимые уровни |
25 В/м |
15 В/м |
10 В/м |
3 В/м |
10 мкВт/см2 |
Таблица 8.7. Предельно допустимые уровни интенсивности излучения в ультрафиолетовом диапазоне на расстоянии 0,5 мсо стороны экрана ВДТ, ЭВМ и ПЭВМ
Диапазоны длин волн |
200-280 нм |
280-315 нм |
315-400 нм |
|
Предельно допустимые уровни |
не допускается |
0,0001 Вт/м2 |
0,1 Вт/м2 |
Наиболее эффективным и часто применяемым методом защиты от электромагнитных излучений является установка экранов. Экранируют либо источник излучения, либо рабочее место. Часто экран устанавливают непосредственно на монитор.
При работе монитора на экране кинескопа накапливается электростатический заряд, создающий электростатическое поле. При этом люди, работающие с монитором, приобретают электростатический потенциал. Когда электростатическое поле субъективно ощущается, потенциал пользователя служит решающим фактором при возникновении неприятных субъективных ощущений. Заметный вклад в общее электростатическое поле вносят электризующиеся от трения поверхности клавиатуры и мыши.
8.1.7 Пожарная безопасность
По взрывопожарной и пожарной опасности помещения и здания относятся по ТКП 474-2013 к категории Д в зависимости от выполняемых в них технологических процессов, свойств применяемых веществ и материалов, а также условиями их обработки. Здания для ВЦ и части зданий другого назначения, в которых предусмотрено размещение ЭВМ, относятся к 2 степени огнестойкости согласно ТКП 45-2.02-142-2011.
Для предотвращения распространения огня во время пожара с одной части здания на другую устраивают противопожарные преграды в виде стен, перегородок, дверей, окон. Особое требование предъявляется к устройству и размещению кабельных коммуникаций.
Примерные нормы первичных средств пожаротушения приведены в таблице 8.9.
Для ликвидации пожаров в начальной стадии применяются первичные средства пожаротушения: внутренние пожарные водопроводы, огнетушители типа ОВП-10, ОУ-2, асбестовые одеяла и др.
В здании ВЦ пожарные краны устанавливают в коридорах, на площадках лестничных клеток, у входа, т.е. в доступных и защитных местах. На каждые 100 квадратных метра пола производственных помещений требуется 1 -2 огнетушителя.
Эвакуация сотрудников вычислительного центра осуществляется по путям эвакуации через эвакуационные выходы. Количество и общая ширина эвакуационных выходов определяются в зависимости от максимального возможного числа эвакуирующихся через них людей и предельно допустимого расстояния от наиболее удаленного места возможного пребывания людей до ближайшего эвакуационного выхода согласно ТКП 45-2.02-22-2006, ТКП 45-2.02-279-2013.
Таблица 8.9. Примерные нормы первичных средств пожаротушения для вычислительного центра
Помещение |
Площадь, м2 |
Углекислотные огнетушители ручные |
Порошковые огнетушители |
|
Вычислительный центр |
100 |
1 |
1 |
Расчетное время эвакуации устанавливается по реальному расчету времени движения одного или нескольких потоков людей через эвакуационные выходы из наиболее удаленных мест размещения людей. Необходимое время эвакуации устанавливается на основе данных о критической продолжительности пожара с учетом степени огнестойкости здания, категории производства по взрывной и пожарной опасности. Для успешной эвакуации необходимо, чтобы расчетное время было меньше необходимого.
8.2 Расчет искусственного освещения помещения офиса
Помещение офиса имеет площадь 10х5,5 м2, высота подвеса светильников 3 м. Определить мощность лампы, тип и количество светильников.
Нормируемая освещенность данного помещения, где выполняются работы с использованием вычислительной техники, равна 400 лк. Коэффициент запаса для кабинетов и рабочих помещений общественных зданий при использовании газоразрядных ламп 1,4.
Для определения коэффициента использования светового потока ламп необходимо найти ряд параметров. Вначале определяем кривую силы света светильников по значению m, которое равно
m = L / Hp=2,05 / 2,2 = 0,93(8.1)
так как светильники монтируются под строительными фермами, имеющими ширину 2,05 м.
Hр = h-Hо=3 - 0,8 = 2,2 (8.2)
где h - высота подвеса светильников равна 3 м, а Hо- высота рабочей поверхности равна 0,8 м.
По значению m = 0,93 определяем кривую силы света светильников, которые следует использовать в данном помещении (это светильники с кривыми Д-2). Для помещений данного типа следует использовать светильник ЛСП02. КПД данного светильника при излучении светового потока вниз равен 70%.
Далее определяем показатель освещаемого помещения зn. Коэффициенты отражения светового потока от потолка спот ? 50 % (серый бетон, известняк, светло-зеленая, бежевая, светло-серая фасадные краски), от стен сст ? 50 % ( то же, что и от потолка),от рабочей поверхности срп ? 30 % (приравнено к темно-голубой, темно-бежевой, светло-коричневой фасадным краскам). Индекс помещения определяем по формуле:
i = А · В / Нр (А + В) = 10 · 5,5 / 2,2 (10+5,5) = 1,61.(8.3)
Согласно таблице значений коэффициента использования, коэффициент использования зn при спот = 0,5;сст = 0,5;срп = 0,3 и i =1,25 для светильников с КСС группы Д-2 равен 0,65 (подставляем в формулу в долях). С учетом КПД светильника определяем по формуле величину
з = зс· зn = 0,7 · 0,65 = 0,46. (8.4)
Необходимое число светильников N определяем согласно
вышеизложенному порядку.
Расстояние от стен до первого ряда светильников при наличии у стен рабочих мест равно
а=1/3L=1/3 · 2,05 = 0,68(8.5)
Расстояние между крайними рядами светильников, расположенными у противоположных стен, равно:
по ширине помещения
С1 =В-2а= 5,5 - 2 · 0,68 = 4,1 м (8.6)
по длине помещения
С2=А-2а=10-2· 0,68 =8,64 м (8.7)
Тогда количество рядов светильников, которые можно расположить между этими рядами, равно:
по ширине
n1 = С1 /L- 1= 4,1 / 2,05 - 1=1; (8.8)
по длине
n2 = С2 /L- 1= 8,64 / 2,05 - 1= 3; (8.9)
Общее количество рядов светильников равно:
по ширине
n1= n1+2= 1 + 2 = 3; (8.10)
по длине
n2= n2+2= 3 + 2 = 5. (8.11)
Тогда общее число светильников в помещении офиса равно:
N = n1· n2 =3· 5 = 15 (8.12)
По формуле (5.13) определяем световой поток лампы Fл:
Fл = (Ен·S·K · Z) / N · с = (400 · 55 · 1,4 · 1,1) / 15 · 0,46 = 4910 лм. (8.13)
Выбираем люминесцентные лампы со световым потоком 4650 лм мощностью 65 Вт, что укладывается в допустимое отклонение светового потока выбранной лампы от расчетного (от -10 до +20 %).
Заключение
В данном дипломном проекте был разработано веб-приложение для поддержания физической формы человека. Приложение реализует удобный и простой интерфейс для слежения за своим питанием и весом.
В процессе разработки и проектирования решены следующие задачи:
- анализ предметной области и моделирование предмета разработки в контексте AS-IS и TO-BE;
- логическое и физическое моделирование программного обеспечения;
- реализация программного обеспечения;
- тестирование программного обеспечения;
- составление руководства по эксплуатации.
В процессе разработки программного обеспечения были использованы следующие языки и технологии:
- язык программирования PHP и фреймворк Laravel;
- база данных MySQL 5.5 и PHPStorm 8;
- язык гипертекстовой разметки HTML, и таблица стилей CSS;
- технологии JavaScript, Ajax и Json.
Тестирование на начальных этапах выявило ряд незначительных ошибок в проектировании и реализации, которые в последствие были исправлены. Программа успешно работает в стандартном режиме эксплуатации, а также при различных несанкционированных действиях пользователя. В результате анализа экономической части проект получил хорошие показатели. В частности, было установлено, что срок возврата инвестиций в данный проект составляет 24 месяца, что свидетельствует о его актуальности. Продукт является рентабельным и конкурентоспособным.
В будущем, возможны улучшения разработанной системы в следующих направлениях:
- добавление различных систем тренировок;
- разработка приложения под мобильные платформы.
Список использованной литературы
1 Josh Lockhart, PHP: The 'Right' Way. Your guide to PHP best practices, coding standards, and authoritative tutorials. 2013. - 70c.
2 Chris Fidao, Implementing Laravel. Real-world implementation of testable and maintainable code. 2014. - 105с.
3 Taylor Otwell, Laravel: From Apprentice To Artisan.Advanced Architecture With Laravel 4, 2014. - 67c.
4 Chris Shiflett, PHP Security Guide.Путеводитель по безопасности PHP. 2010. - 37c.
5 Колисниченко Д.Н. Linux-сервер своими руками. Под редакцией Финкова М.В. 2006. - 131c.
6 Дронов В. А. - HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. 2011 - 414c.
7 Мейер Э.А. - CSS - каскадные таблицы стилей. Подробное руководство. 2008. - 575c.
8 Дронов, В. HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. - М.:БХВ, 2014. - 416c.
9 Макфарланд Д. Большая книга CSS3 - М.:Питер, 2015. - 608c.
10 Дэвид Флэнаган, JavaScript. Подробное руководство, 6-е издание. - Символ-Плюс, 2012. - 1080c.
11 Эрл Каслдайн, Изучаем JQuery, 2-е издание. - М.:Питер, 2012. - 402c.
12 Алекс Маккоу, Веб-приложения на JavaScript. - М.:Питер, 2012. - 285c.
13 Крокфорд, Д. JavaScript: сильные стороны. - М.:Питер, 2012. - 176c.
14 Закас, Н. JavaScript. Оптимизация производительности. - М.:Символ, 2012. - 256c.
15 Бенедетти Р. Изучаем работу с jQuery. - М.:Питер, 2012. - 512c.
16 Бибо Б. jQuery. Подробное руководство по продвинутому JavaScript. - М.: Символ, 2012. - 384c.
17 Фланаган Д. Javascript: Подробное руководство. - M.:-O'RELLY, 2008. - 435c.
18 Ноубл Д. HTML, XHTML и CSS для чайников, 7-е издание.- M.: «Диалектика», 2011. - 313с.
19 Лабберс П. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений. - М.: «Вильямс», 2011. - 453с.
20 СНБ 4.02.01-03. Отопление, вентиляция и кондиционирование воздуха.
21 ТКП 45-2.02-142-2011. Здания, строительные конструкции, материалы и изделия. Правила пожарно-технической классификации.
22 ТКП 45-2.02-22-2006. Здания и сооружения. Эвакуационные пути и выходы. Правила проектирования.
23 ТКП 45-2.04-153-2009. Естественное и искусственное освещение. - Мн.: Минстрой архитектуры Республики Беларусь, 2010. - 104 с.