Uploaded by ivashkavadik

диплом Бад

advertisement
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
1. ПРЕДПРОЕКТНЫЙ АНАЛИЗ
1.1 Биологически активные добавки и их использование
1.2 Обзор аналогов и прототипа
1.3 Сравнительный анализ систем тестирования по использованию БАД
1.4 Основные цели разработки системы
2. ПРОЕКТИРОВАНИЕ
2.1 Модель анализа UML
2.2 Диаграмма вариантов использования
2.3 Сценарий
2.4 Диаграмма сущностных классов
2.5 Диаграмма граничных классов
2.6 Диаграмма классов управления
2.7 Схема алгоритма расчёта критериев
2.8 Диаграмма состояний АИС
2.9 Логическая структура базы данных
3. РЕАЛИЗАЦИЯ ПРОЕКТА
3.1 Архитектура и платформа реализации
3.2 Физическая структура БД
3.3 Расчет комплекса технических средств
3.4 Основные интерфейсы
3.5 Диаграмма компонентов. Описание программной реализации
3.6 Диаграмма развертывания
3.7 Программа и методика испытаний
3.8 Контрольный пример
3.9 Руководство пользователя
4. ПРЕДПОЛОГАЕМОЕ ВНЕДРЕНИЕ
Размещено на http://www.allbest.ru/
4.1 Описание объекта внедрения
4.2 Описание хода возможного внедрения
5. ОРГАНИЗАЦИОННАЯ ДЕЯТЕЛЬНОСТЬ И САМОРАЗВИТИЕ
5.1 Перечень публикаций
5.2 Перечень участия в конференциях
5.3 Перечень выполненных курсовых работ и проектов
5.4 Портфолио
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
«Врач будущего не будет давать лекарств, а привлечёт внимание
пациента к
заботе о своём теле, диете, к поиску причины и способов
предотвращения болезни».
Томас Эдисон.
Общеизвестно, что питание – один из важнейших факторов,
определяющих здоровье. Правильное питание обеспечивает нормальный рост
и развитие, способствует профилактике заболеваний.
Современная медицина уделяет большое внимание взаимосвязи между
здоровьем человека и особенностями его питания, которое является не только
средством насыщения и источником энергии, но и фактором нормального
функционирования всех систем организма, повышения сопротивляемости его
к различным неблагоприятным воздействиям внешней среды. Отклонение от
сбалансированного питания часто приводит к нарушениям в работе организма,
что выражается в так называемых «болезнях цивилизации». Учитывая выше
сказанное, можно прийти к выводу, что оптимизация рациона современного
человека с учетом рекомендуемых норм потребления не может быть
достигнута простым увеличением потребления натуральных продуктов
питания без причинения вреда здоровья, а требует новых подходов и решений.
В этой ситуации большинство ученых приходит к выводу о необходимости
широкого применения БАД, представляющих натуральные комплексы
веществ, таких как минералы, витамины, пищевые волокна, экстракты
лекарственных растений и т. д. [1].
Целью выпускной квалификационной работы в конечном итоге является
разработка информационной системы - ИС, позволяющей получить
достаточно приемлемый результат, который не только удовлетворит
определённые потребности, но так же поможет спланировать дальнейшие
действия. Система поможет пользователю на основе тестирования определить
Размещено на http://www.allbest.ru/
проблему состояния здоровья и получить рекомендацию, какие витамины и
БАДы необходимы человеку для каждой из систем жизнеобеспечения
человека.
Размещено на http://www.allbest.ru/
1. ПРЕДПРОЕКТНЫЙ АНАЛИЗ
1.1 Биологически активные добавки и их использование
Точно так же, как музыканты составляют оркестр — различные системы
организма,
взаимосвязаны
и
в
здоровом
организме
гармонично
взаимодействуют между собой.
Основные системы жизнеобеспечения человека [2]:
1.
система переваривания и усвоения пищи — ферментная система,
расщепляет пищу на вещества, которые могут всасываться через ворсинки
кишечника в кровь. Особенно важно то, что эта система отвечает за
всасывание БАД (поэтому она выделена в самостоятельную систему и
поставлена на 1-е место в списке систем).
2.
желудочно-кишечный тракт — осуществляет транспорт пищевого
комка (моторика кишечника) и эвакуацию шлаков и балластных веществ.
3.
сердечно-сосудистая
система
осуществляет
транспорт
питательных веществ, кислорода и воды всем системам организма.
4.
нервная система — обеспечивает генерацию и передачу
информации, в том числе управляющую, всем системам организма в
оперативном режиме.
5.
иммунная система — распознает "инородные" тела (например
вирусы, микробы) и запускает оборонительные биохимические процессы для
их уничтожения.
6.
дыхательная система — доставляет кислород, необходимый для
сжигания сахаров, обеспечивающих энергией организм, в кровь и удаляет
образующийся при этом углекислый газ.
7.
мочевыводящая система — фильтрует из крови все нежелательные
соединения и удаляет их из организма.
8.
эндокринная система — продуцирует, и выделяет кровь вещества
— гормоны, осуществляющие тонкую регуляцию различных биохимических
Размещено на http://www.allbest.ru/
процессов (например, регуляция содержания сахара в крови) и влияющие на
различные функциональные системы организма.
9.
опорно-двигательная система — служит опорой для других систем
организма и помогает выдерживать нагрузки при движении.
Нарушения, возникающие в одной из систем, неизбежно оказывают
влияние на другие системы организма, вызывая дисбаланс в их работе, и, как
следствие, ухудшение состояния здоровья и развитие различных болезней.
Например, нарушения в опорно-двигательной системе (сколиоз)
вызывают нарушения в дыхательной системе. Другой пример — если имеются
нарушения в центральной нервной системе, будь то органическое или
функциональное, то это непременно скажется на работе очень многих органов,
так как нервная система — регулятор всех систем организма.
Для
поддержания
хорошего
здоровья
необходимо
вести
соответствующий образ жизни, т.е. соблюдать всем известные правила:
придерживаться
сбалансированной
диеты,
включающей
натуральные
продукты с употреблением достаточного количества растительной пищи,
витаминов и минералов, выполнять ежедневно физические упражнения,
полноценно отдыхать и не иметь вредных привычек. К сожалению,
большинство людей осознает ценность хорошего здоровья только тогда, когда
уже возникают серьезные проблемы — болезни, ухудшающие качество жизни,
не позволяющие жить полноценно и счастливо. Конечно, никогда не поздно
начать вести здоровый образ жизни, однако этого бывает недостаточно –
необходимо ввести в Ваш рацион биологически активные добавки (БАД) –
натуральные оздоровительные препараты.
По сей день многие люди не знают или имеют противоречивые сведения
о том, что такое БАД, какие есть способы их применения и противопоказания,
а также полезные или вредные свойства. Некоторые называют БАДы панацеей
от всех болезней, эликсиром вечной молодости, идеальным средством для
похудения и прочее. Однако находятся и противники применения таких
добавок, утверждающие, что эти вещества наносят непоправимый вред
Размещено на http://www.allbest.ru/
организму человека. Такой двоякий взгляд на биологические добавки связан с
тем, что пропаганда их плюсов и минусов ведется уже много лет с экранов
телевизоров, со страниц газет и журналов.
Прежде чем приступать к проектированию и созданию информационной
системы, следует понимать, что такое БАД в целом.
1.1.1 Что такое БАДы
БАД по мнению специалистов – медиков, представляют собой экстракты
натуральных или идентичных натуральным биологически активных веществ.
Применяются они при приеме пищи как отдельно, так и путем добавления в
продукты питания. Что собой представляет БАД, что это такое? Кратко об
этом может рассказать состав. Производство таких добавок осуществляется
путем биохимического синтеза необходимых биологических веществ из
природного сырья: лекарственных, овощных, плодовых и ягодных культур,
сырья животного происхождения, пыльцы, прополиса, включая различные
микроэлементы. Состав настоящих БАДов, как правило, максимально
приближен к продуктам питания. Их предназначение – восполнение дефицита
необходимых витаминов и микроэлементов в жизнедеятельности человека.
Следует заметить, что в соответствии с российским законодательством БАДы
относятся к пищевым продуктам. Их упаковка должна содержать надпись о
том, что они не относятся к лекарственным препаратам.
БАД обычно рекомендуют использовать в следующих случаях:

чтобы быстро восполнить дефицит недостающих веществ,
например, витаминов, микроэлементов;

для уменьшения калорийности рациона с целью снижения массы

для удовлетворения потребности больного организма в некоторых
тела;
веществах;

среды;
чтобы повысить сопротивляемость неблагоприятным факторам
Размещено на http://www.allbest.ru/

в профилактических целях для предупреждения нарушений
обмена веществ;

в целях изменения метаболизма, например, чтобы ускорить
выведение токсических веществ;

для восстановления иммунитета;

чтобы нормализовать кишечную микрофлору. Для регуляции
функционирования организма.
1.1.2 Состав БАДа
В своем составе все добавки имеют различные компоненты пищи,
биологически активные вещества. Среди них можно выделить следующие
компоненты:

белки;

жиры и жироподобные вещества;

растительные масла;

полиненасыщенные жирные кислоты;

триглицериды;

углеводы;

пищевые волокна;

витамины и микроэлементы;

ферменты растительного происхождения;

пробиотики;

продукты пчеловодства и многие другие.
Несмотря на то, что БАД можно приобрести в любой аптеке совершенно
свободно, без рецептов врача, но стоит задуматься перед их использованием.
Лучше проконсультироваться с врачом, чтобы взвесить все за и против,
рассчитать дозировку и необходимость применения.
1.1.3 Классификация БАДов
Размещено на http://www.allbest.ru/
Так как чаще всего биологически активные добавки назначают в
лечебных целях, то и классификация их основывается на этом использовании.
Выделяют два класса БАДов:
1)
нутрицевтики;
2)
парафармацевтики.
Первая группа препаратов предназначена для ликвидации недостатка
пищевых веществ. К ней можно отнести все синтетические витаминные
препараты, аминокислоты, полиненасыщенные жирные кислоты. Принимая
их, можно нормализовать рацион, как взрослых, так и детей.
Парафармацевтики, или их еще называют биорегуляторы, воздействуют
на организм иначе. Они оказывают воздействие на работу органов, повышают
устойчивость организма к различным неблагоприятным факторам внешней и
внутренней среды.
Биорегуляторы воздействуют более мощно и целенаправленно. Их
обычно назначают для профилактики различных заболеваний. Но очень часто
разделить эти два класса между собой достаточно сложно, так как одни и те
же препараты могут относиться сразу к двум группам.
1.1.4 Принципы использования БАДов
В основе использования добавок лежат некоторые принципы:

принцип функциональности и системности. То есть воздействие
должно иметь комплексный характер, так как в организме работа органов
напрямую связана с питанием;

принцип этапности. На разных стадиях заболевания желательно
подбирать различные добавки. Например, на первых этапах необходимо
срочно устранять симптомы болезни, а в завершение лечения устранять
токсический эффект от приема лекарственных препаратов;

принцип адекватности. Назначать БАДы необходимо, учитывая
характер заболевания, особенности его протекания;
Размещено на http://www.allbest.ru/

синдромный
принцип.
Назначение
биологических
добавок
должно производиться с учетом тех симптомов, которые ярко выражены;

принцип оптимальности. При лечении или профилактике
заболеваний дозировку необходимо подбирать индивидуально;

принцип комбинирования. БАДы могут сочетаться с пищей и
другими лекарственными препаратами.
Анализируя все принципы, можно сказать про БАД, что это такое
вещество, которое обязательно должно использоваться в сочетании с другой
терапией во время болезни. Только добавками излечиться невозможно.
1.1.5 Рекомендации по применению БАДов
Несмотря на то, что добавки не являются лекарственным средством, но
существуют некоторые правила их приема:

прием необходимо начинать с маленькой дозировки, чтобы
посмотреть реакцию организма, а потом можно довести до рекомендованной
дозировки врачом;

для более эффективного усвоения биологические добавки лучше
принимать одновременно с пищей;

если в БАДе содержится кальций, то его употреблять лучше за
полчаса до еды или после, чтобы не влиять на кислотность желудочного сока;

если БАД назначен в качестве тонизирующего средства, то
желательно его принимать в первой половине дня, чтобы не нарушать ночной
сон;

БАДы, содержащие живые микроорганизмы, необходимо хранить
в холодильнике и использовать между приемами пищи;

не стоит употреблять дозу больше, чем приписал врач, или той,
что рекомендована на упаковке:

нельзя одновременно принимать несколько видов БАДов;
Размещено на http://www.allbest.ru/

хранятся биологические добавки в темном и сухом месте. Не в
холодильнике, если это дополнительно не оговорено инструкцией по
хранению.
Принимать БАДы как лекарство нельзя, это обычная добавка к пище.
Хотя использование с натуральными компонентами, которые необходимы
нашему организму, может принести пользу. Учитывая это, можно отметить,
что БАДы могут предотвратить развитие многих заболеваний или оказать
помощь в их комплексном лечении.
Прием БАДов рекомендован:

для профилактики некоторых заболеваний;

пополнения уровня витаминов, минералов;

укрепления иммунитета;

в комплексном лечении хронических заболеваний.
Разработанная мною система предоставляет уникальную возможность
каждому человеку выбрать препараты, соответственно его образу жизни и
состоянию здоровья.
Предлагаемый тест помогает оценить состояние
систем Вашего организма – выявить те системы, которые более всего
нуждаются в поддержке, а также индивидуально подобрать соответствующие
препараты – БАД и витамины, которые помогут укрепить Ваше здоровье [3].
Размещено на http://www.allbest.ru/
1.2 Обзор аналогов и прототипа
Существует множество программ и тестов, которые помогают узнать,
каких витаминов и БАДов не хватает организму человека и определить
проблему состояния здоровья по системам жизнеобеспечения человека.
1.2.1 «Велнес тест — получите консультацию»
«Велнес тест» работает следующим образом: необходимо заполнить
поля ввода тестирования, нажать кнопку «Отправить» и получить желаемую
консультацию [4]. Преимущество такого варианта заключается в том, что
пользователь получает консультацию именно от специалиста. Всё вроде бы
хорошо, небольшое количество ответов, мало затраченного времени, но при
всём этом, рекомендации можно получить только в течении часа, а может и
больше, в этом и заключается недостаток. Так же в этой системе не учтены
вводимые пользователем данные, т.к. пользователь спокойно может,
заполнить несоответствующий текст, в необходимые поля ввода и система не
проверяя правильность введённых данных, спокойно отправляет результаты
специалисту, а это лишняя трата времени на фильтрацию почты специалиста
(рисунок 1).
Размещено на http://www.allbest.ru/
Рисунок 1 - Результат тестирования системы «Велнес»
1.2.2 Тест «Natures Sunshine»
Более
удобным
вариантом
является
тест
«Natures
Sunshine»
предназначенный для самовыявления необходимых БАД [5]. В таком тесте
нужно проставить галочку напротив каждого состояния, которые вы
испытываете. Преимущество этой системы, в том, что консультацию вы
получите сразу, как только закончите отвечать на вопросы теста. Основным
недостатком такой системы является то, что при конечном результате, система
должна посоветовать перечень необходимых БАД человеку для каждой из
систем жизнеобеспечения. При нажатии на ссылку «Продукты для системы»,
а это очень важно для системы жизнеобеспечения человека (рисунок 2),
открывается
каталог
БАД
Интернет
удовлетворительная это оценка или хорошая.
–
магазина
независимо
Размещено на http://www.allbest.ru/
Рисунок 2 - Результат тестирования системы «Natures Sunshine»
1.2.3 Тест «Natrila»
Лучшим вариантом из рассмотренных является вариант тестирования
«Natrila» [6]. Простой и понятный интерфейс системы не обходится без
минусов. Данная система не предназначена для автоматического считывания
результатов, чтобы пройти тест необходимо как минимум при себе иметь
ручку и листочек, а это не всегда удобно, ведь мы живём в век
информационных технологий. Пользователь должен вручную посчитать
результаты тестирования и понять, к какой системе, какие результаты
(рисунок 3).
Размещено на http://www.allbest.ru/
Рисунок 3 - Результат тестирования системы «Natrila»
1.3 Сравнительный анализ систем тестирования по использованию
БАД
В таблице 1 приведен сравнительный анализ уже существующих и
перечисленных систем тестирования по использованию БАД в соответствии с
критериями. В качестве критериев для сравнения были выбраны:
-«Интернет - зависимость» системы;
- архитектура ИС;
- считывание результатов;
- понятность результатов;
- перечень необходимых БАД;
- получение рекомендации;
Размещено на http://www.allbest.ru/
- простота интерфейса;
- соответствующий ввод данных.
Экспертным путем всем рассматриваемым системам были выставлены
оценки от нуля до единицы.
Таблица 1
–
Сравнительный
анализ систем тестирования по
использованию БАД
Natures
Natrila
BAD online
Простой и понятный интерфейс
1
0
0
1
Ввод данных соответствует требованиям
0
1
1
1
Считывание
Автоматическое
1
1
0
1
результатов
Вручную
0
0
1
0
Интернет
Online
1
1
1
1
Offline
0
0
0
1
Клиент-серверная
1
1
1
1
Локальная
0
0
0
1
Многопользовательская работа
1
1
1
1
Получение необходимой рекомендации
0
1
0
1
Перечень необходимых БАД
0
0
0
1
Результат
Доступный
0
0
0
1
Не доступный
1
1
1
0
Архитектура ИС
Sunshine
Велнес тест
Критерии
Анализ таблицы 1 показывает, что зачастую при создании ИС
используют online подход. В случае каких-то технических проблем на сервере,
ИС невозможно будет воспользоваться. Да, это не всегда удобно с точки
зрения доступа к ИС при online подходе. Разрабатываемая же информационная
система – не требует постоянного Интернет соединения. Система может
работать как в online режиме, так и в offline режиме. В некоторых
рассматриваемых ИС одна третья часть систем не имеет необходимой
рекомендации
после
прохождения
теста.
Представленные
аналоги
Размещено на http://www.allbest.ru/
характеризуются слабой понятностью результата и не имеют необходимой
информации
о
БАДах
после
прохождения
теста,
также
есть
не
автоматизированные системы.
В своей работе я планирую
реализовать советующую систему,
характеризуемую высокой понятностью результата и низкой нагрузкой на
лицо, которая состоит из справочной информации о БАДах и тестировании
пользователя, где вопросы тестирования разбиты на три категории
(употребление, ощущение, состояние) для облегчения прохождения теста
пользователю. Результаты тестирования считаются автоматически, а так же
пользователь получает необходимую консультацию, перечень БАДов и
витаминов для каждой из систем жизнеобеспечения человека. Система
предоставляет пользователю возможность выбора необходимого БАДа без
прохождения
теста,
т.к.
в
системе
имеется
справочник
(Системы
жизнеобеспечения, что такое БАД, зачем он нужен, как его применять).
Система помогает, сэкономить личное время, опираясь на приоритеты
пользователя для достижения поставленной цели.
Проанализировав ситуацию, можем перейти к формулировке задач
разработки автоматизированной советующей системы по использованию
БАД.
1.4 Основные цели разработки системы
Одним из главных недостатков описанных выше систем при
прохождении тестирования, является не правильная выдача рекомендации по
использованию БАД. Так же во многих системах не учтено автоматическое
считывание результатов. Некоторые системы не автоматизированные.
При написании данной работы была поставлена цель: разработка
автоматизированной советующей системы по использованию БАД. Главным
итогом выполнения работы стало создание такой советующей системы,
позволяющей определить проблему состояния здоровья по трём категориям,
Размещено на http://www.allbest.ru/
для каждой из систем жизнеобеспечения человека. Для того чтобы
предоставить пользователям помощь в освоении разработанной советующей
системы, было разработано руководство пользователя.
Следует отметить, что разработанная мной советующая система
является функциональным продуктом и обладает удобным интерфейсом.
Разработанный алгоритм процесса выдачи рекомендации по использованию
БАД учитывает все недомогания человека и опирается на реальные ответы
пользователя.
В результате анализа аналогичных работ выявилась необходимость в
разработке советующей системы по использованию БАД. Современные
средства открывают такую возможность.
В классификации по архитектуре разрабатываемая ИС относится к ИС с
распределенной архитектурой и имеет клиент – серверную структуру, так как
представлена веб-приложением, использующим базы данных. Это является
типичным примером клиент-серверной архитектуры. В таких приложениях
помимо звена СУБД и клиентского звена, выполняющегося в веб-браузере,
имеется промежуточное звено - веб-сервер с соответствующим серверным
программным обеспечением.
В следующей классификации по степени автоматизации советующая
система по использованию БАД относится к автоматизированным ИС, т.е.
автоматизация
полная,
но
требуется
вмешательство
персонала,
для
минимального редактирования.
По характеру обработки данных к рассматриваемой ИС можно отнести
некоторые признаки информационно-справочной системы.
Размещено на http://www.allbest.ru/
ПРОЕКТИРОВАНИЕ
2.1 Модель анализа UML
Эта модель позволит понять, как информационная система должна быть
спроектирована, какие в ней должны быть части и как они должны
взаимодействовать между собой. Основное ее назначение - определить
направление реализации функциональности, выявленной на этапе сбора
требований и сделать набросок архитектуры системы.
В отличие от создаваемой в дальнейшем модели проектирования,
модель анализа является в большей степени концептуальной моделью и только
приближает разработчиков к классам реализации. Эта модель не должна иметь
возможных противоречий [7].
2.2 Диаграмма вариантов использования
Диаграммой
использования
верхнего
системы
в
уровня
целом.
является
Именно
она
диаграмма
вариантов
является
исходным
концептуальным представлением системы и строится с целью:

определить общие границы и контекст моделируемой предметной
области;

сформировать общие требования к функциональному поведению
и интерфейсу системы;

подготовить
исходную
документацию
для
взаимодействия
разработчиков и заказчиков - пользователей системы.
В диаграмму вариантов использования входят актанты (actors),
варианты использования (use case) и ассоциации (association) [8].
На рисунке 4 изображена разработанная диаграмма вариантов
использования.
Актанты, представленные в диаграмме вариантов использования:
Размещено на http://www.allbest.ru/
1.
«Администратор
системы»
-
производит
редактирование
справочников: «Системы жизнеобеспечения», «Всё о БАД», «Препараты», так
же
производит
редактирование
таблиц
БД:
«test»,
«results»,
«life_support_system», «BAD».
2.
«Авторизованный пользователь» - производит операции с
тестированием, а именно:
просмотр
личной
прохождение теста, получение рекомендации,
истории
результатов
и
справочников:
«Системы
жизнеобеспечения», «Всё о БАД».
Основные варианты использования:
1.
Ведение справочника «Системы жизнеобеспечения», позволяет
администратору вносить изменения в существующий справочник по системам
жизнеобеспечения человека.
2.
Ведение справочника «Всё о БАД», позволяет администратору
вносить изменения в существующий справочник информации о БАДах.
3.
Ведение справочника «Препараты», позволяет администратору
вносить изменения в существующий справочник по обновлённым БАД.
4.
Ведение таблицы БД «test», позволяет администратору вносить
изменения в существующую таблицу тест, изменять вопросы теста, категории
и ответы.
5.
Ведение таблицы БД «result», позволяет администратору вносить
изменения в существующую таблицу результатов.
6.
Ведение
таблицы
БД
«life_support_system»,
позволяет
администратору вносить изменения в существующую таблицу по системам
жизнеобеспечения человека.
7.
Ведение таблицы БД «BAD», позволяет вносить изменения в
существующую таблицу БАД.
8.
Формирование рекомендации по использованию БАД, позволяет
пользователю получить рекомендацию после прохождения теста.
Размещено на http://www.allbest.ru/
Рисунок 4 – Диаграмма вариантов использования
2.3 Сценарий
Размещено на http://www.allbest.ru/
Сценарий
-
текстовое
описание
последовательности
действий,
необходимых для выполнения экземпляра варианта использования. Сценарий
пишется по определенному шаблону. При создании сценариев тщательно
прорабатывается интерфейс системы, и учитываются отношения между
вариантами использования. Для абстрактных вариантов использования,
являющихся обобщениями конкретных вариантов, сценарии обычно не пишут
[9]. Ниже приведены сценарии для вариантов использования «Формирование
отчета о распределении нагрузки».
Вариант
использования:
Формирование
рекомендации
по
использованию БАД.
Краткое описание: Рекомендация Пользователю по использованию
БАД на основе тестирования по трём категориям для девяти систем
жизнеобеспечения человека.
Актант: Пользователь.
Предусловия: Вариант использования «Вход в систему» выполнен с
правами Пользователя. На экране – главная форма приложения с пунктами
меню, настроенными на права Пользователя: «Пройти тест», «Системы
жизнеобеспечения», «Справка» и «Выход».
Основной поток событий:
Пользователь выбирает пункт меню «Пройти тест»
А1: Справка
А2: Выход
А3: Системы жизнеобеспечения
Система выводит на экран форму «Испытываете ли вы?». На форме
отображаются вопросы теста и группы радиокнопок «Ответ»: «Да», «Нет»,
кнопок: «Назад», «Далее». На форме отображается двадцать один вопрос.
Количество радио-кнопок соответствует количеству вопросов.
Пользователь просматривает текст вопросов, устанавливает радиокнопку соответствующего ответа на вопрос и нажимает кнопку «Далее».
Размещено на http://www.allbest.ru/
Система инкрементирует счётчик установленных в «Да» радио-кнопок.
Система закрывает форму «Испытываете ли вы?» и открывает форму
«Ощущаете ли вы?». На форме отображается семнадцать вопросов с
соответствующими группами радио-кнопок «Да», «Нет».
А4: Назад
Пользователь просматривает текст вопросов, устанавливает радиокнопку соответствующего ответа на вопрос и нажимает кнопку «Далее».
Система инкрементирует счётчик установленных в «Да» радио-кнопок.
Система закрывает форму «Ощущаете ли вы?» и открывает форму
«Употребляете ли вы?». На форме отображается девять вопросов с
соответствующими группами радио-кнопок «Да», «Нет».
Пользователь просматривает текст вопросов, устанавливает радиокнопку соответствующего ответа на вопрос и нажимает кнопку «Далее».
Система закрывает форму «Пройти тест» и открывает форму «Мои
результаты». По данным счётчика ответов система определяет проблему
состояния здоровья и выводит на экран результаты ответов в виде текста по
девяти системам жизнеобеспечения человека. Для каждой из систем
жизнеобеспечения человека на форме создаётся кнопка «Рекомендуемые
БАДы» и личное хранение истории результатов.
А5: Система жизнеобеспечения человека в норме
Пользователь просматривает результат и нажимает в зависимости от
ответов кнопку «Рекомендуемые БАды».
Система выводит на экран окно «Необходимые БАДы» с текстом, какие
БАДы необходимо использовать для каждой из систем жизнеобеспечения
человека. В окне имеется кнопка «Закрыть».
Пользователь просматривает рекомендацию и нажимает кнопку закрыть
«Закрыть».
Система закрывает окно «Необходимые БАДы» и выводит на экран окно
главного приложения. Вариант использования завершается успешно.
Альтернативы:
Размещено на http://www.allbest.ru/
А 1: Справка
А 1.1 Пользователь выбирает пункт меню «Справка»
А 1.2 Система выводит на экран форму «Справка по системе» с кнопкой
«ОК».
А 1.3 Пользователь просматривает справку и щёлкает кнопку «ОК».
А 1.4 Система закрывает форму «Справка по системе» и выводит на
экран главное окно приложения. Вариант использования завершается.
А 2: Выход
А 2.1 Пользователь выбирает пункт меню «Выход»
А 2.2 Система закрывает главную форму приложения и осуществляет
выход в ОС. Вариант использования завершается.
А 3: Системы жизнеобеспечения
А3.1 Пользователь выбирает пункт меню «Системы жизнеобеспечения»
А 3.2 Система выводит на экран форму «Системы жизнеобеспечения» с
информационным тексом о системах жизнеобеспечения человека с кнопкой
«Закрыть»
А 3.3 Пользователь просматривает информацию и щёлкает кнопку
«Закрыть».
А 3.4 Система закрывает форму «Справка по системе» и выводит на
экран главное окно приложения. Вариант использования завершается.
А 4: Назад
А 4.1 Пользователь нажимает кнопку «Назад».
А 4.2 Система закрывает текущую форму и выводит предыдущую
форму.
А 4.3 Выполняется пункт 3 основной последовательности.
А5: Система жизнеобеспечения человека в норме
А 1.1 Пользователь нажимает кнопку «Витамины»
А 1.2 Система выводит на экран форму «Необходимые витамины» с
кнопкой «Закрыть».
А 1.3 Пользователь просматривает необходимые витамины для каждой
Размещено на http://www.allbest.ru/
из систем жизнеобеспечения человека и щёлкает кнопку «Закрыть».
А 1.4 Система закрывает форму «Витамины» и выводит на экран окно
приложения «Мои результаты». Вариант использования завершается.
2.4 Диаграмма сущностных классов
Класс-сущность (entity class) – объекты сущностных классов представ
ляют собой: блоки длительно хранимой информации, исполь зуемые для
организации БД и знаний; файловых систем хранения; данных различной
логической структуры. В основном в этих классах развит атрибутный раздел,
однако
имеется
небольшое
число
операций
контроля
ограничений
целостности, как стандартных, так и специфичных для дан ной предметной
области [10].
Диаграмма сущностных классов представлена на рисунке 6. На
диаграмме четыре класса:
1.
«Рекомендация»;
2.
«Характеристика состояния по вопросу»;
3.
«Системы жизнеобеспечения».
4.
«БАД»;
Каждый
из
них
имеет
стереотип
«entity».
Класс
«Системы
жизнеобеспечения» связан с классом «БАД» посредством отношения
«ассоциация».
1.
Сущность
«Рекомендация»
-
отражает
рекомендацию
по
использованию БАД и отражает хранение личной истории результатов.
1.
Сущность «Характеристика состояния по вопросу» - отражает
состояния или ощущения пользователя по девяти системам жизнеобеспечения
человека.
2.
Сущность
«Системы
жизнеобеспечения»
-
характеристики систем жизнеобеспечения человека.
3.
Сущность «БАД» - отражает всю информацию о БАДах.
отражает
Размещено на http://www.allbest.ru/
Рисунок 5 – Диаграмма сущностных классов
2.5 Диаграмма граничных классов
Граничные классы (boundary): объекты этих классов предназначены для
организации взаимодействия системы с актантом (внешним пользователем),
они реализуют интерфейсы системы с внешней средой и различными
пользователями.
Основным
содержанием
класса
являются
операции.
Граничные классы служат посредниками при взаимодействии внешних
объектов с системой. Как правило, для каждой пары «действующее лицо вариант использования» определяется один граничный класс. Типы
граничных классов: пользовательский интерфейс (обмен информацией с
пользователем, без деталей интерфейса - кнопок, списков, окон), системный
интерфейс и аппаратный интерфейс (используемые протоколы, без деталей их
реализации) [11].
Диаграмма граничных классов для системы по использованию БАД
представлена на рисунке. Все классы данной диаграммы имеют стереотип
«boundary». Все классы связаны между собой посредством отношения
«зависимость».
Размещено на http://www.allbest.ru/
Рисунок 6 – Диаграмма граничных классов 2.6 Диаграмма классов управления
Размещено на http://www.allbest.ru/
Классы управления (control class) - объекты этих классов являются
активными, берущими на себя управление и организацию вычислительных
процессов; чаще всего это стандартные компоненты операционных систем и
систем управления ба зами данных (СУБД), таймеры, координаторы и т.п. [12].
Диаграмма классов управления представлена на рисунке 7.
Рисунок 7 – Диаграмма классов управления
В диаграмму классов управления входят:
1.
Класс «Менеджер приложений» - отражает основные функции для
организации работы приложения.
2.
Класс «Менеджер СУБД» - отражает функции для обработки
запросов к базам данных.
3.
Класс «Менеджер ОС» - отражает функции, выполняемые над ИС.
Размещено на http://www.allbest.ru/
2.7 Схема алгоритма расчёта критериев
Схема - графическое представление определения, анализа или метода
решения задачи, в котором используются символы для отображения операций,
данных, потока, оборудования и т. д.
Схемы алгоритмов, программ, данных и систем (далее - схемы) состоят
из имеющих заданное значение символов, краткого пояснительного текста и
соединяющих линий.
Схемы могут использоваться на различных уровнях детализации,
причем число уровней зависит от размеров и сложности задачи обработки
данных. Уровень детализации должен быть таким, чтобы различные части и
взаимосвязь между ними были понятны в целом [13].
Алгоритм обработки результата на основе ответов пользователя для
выдачи рекомендации по использованию БАД является ключевым алгоритмом
для работы системы. Блок схема этого алгоритма представлена на рисунке 8.
В блок-схеме отражен алгоритм обработки результата на основе ответов
пользователя для выдачи рекомендации по использованию БАД.
Алгоритм имеет массив QMap anwers. QMap – это список пар ключевого
значения, где ключ это номер вопроса вида question_N, а значение это ответы
"Нет" или "Да". result это кол-во баллов по каждой категории, т.е. результат.
В
первом
цикле
происходит
обнуление
всех
элементов
результирующего массива.
Во втором цикле, (foreach) происходит обнуление по элементам массива
ответов, т.е. если за ответом (anwers) с номером key ответ "Да" то, делаем
запрос к БД, чтобы получить вес (points) ответа для каждой из девяти
категорий, далее прибавляем соответствующие значения к result. Вес это 0 или
1(да-1, нет-0).
В конце сохраняем result в БД с идентификатором пользователя,
который проходил тест, дату и время.
Размещено на http://www.allbest.ru/
Рисунок 8 – Алгоритм обработки результата для выдачи рекомендации
Размещено на http://www.allbest.ru/
2.8 Диаграмма состояний АИС
Диаграмма состояний описывает процесс изменения состояний одного
или нескольких экземпляров классов, т.е. моделирует все возможные
изменения в состоянии конкретного объекта, которые вызваны внешними
воздействиями со стороны других объектов или извне. Диаграмма состояний
представляет динамическое поведение сущностей на основе спецификации их
реакции на восприятие некоторых событий. Главное назначения этой
диаграммы - описать возможные последовательности состояний и переходов,
которые в совокупности характеризуют поведение элемента модели [14].
Диаграмма состояний представлена на рисунке 9. Используются
следующие условные обозначения:
1)
круг, обозначающий начальное состояние;
2)
окружность с маленьким кругом внутри, обозначающая конечное
состояние (если есть);
3)
скруглённый
прямоугольник,
обозначающий
состояние.
Верхушка прямоугольника содержит название состояния. В середине может
быть горизонтальная линия, под которой записываются активности,
происходящие в данном состоянии;
4)
стрелка, обозначающая переход. Название события (если есть),
вызывающего переход, отмечается рядом со стрелкой. Охраняющее
выражение может быть добавлено перед «/» и заключено в квадратные скобки
(название события [охраняющее выражение]), что значит, что это выражение
должно быть истинным, чтобы переход имел место. Если при переходе
производится какое-то действие, то оно добавляется после «/» (название
события [охраняющее выражение]/действие);
5)
Толстая горизонтальная линия с либо множеством входящих
линий и одной выходящей, либо одной входящей линией и множеством
выходящих. Это обозначает объединение и разветвление соответственно.
Размещено на http://www.allbest.ru/
Рисунок 9 – Диаграмма состояний
2.9 Логическая структура
базы данных
Для хранения данных в разрабатываемой системе будет использоваться
база данных. База данных - структурированный организованный набор
данных, описывающих характеристики какой-либо физической или
виртуальной системы.
Для разрабатываемой системы была выбрана реляционная модель базы
данных как наиболее простая и подходящая кругу решаемых задач.
Данные в
базе представляются в табличной форме, на пересечении каждой строки
и столбца таблицы находится единственное значение, все значения в каждом
столбце имеют один тип, запросы к базе данных возвращают результат в
Размещено на http://www.allbest.ru/
табличной форме, что удобно для отображения.
Задача логической модели данных заключается в описании объектов
данных предметной области и взаимодействий между ними. В процессе
разработки модели, зачастую, приходится сталкиваться с сущностями,
уникальность которых зависит от значений атрибута внешнего ключа. Для
этих сущностей (для уникального определения каждой сущности) внешний
ключ должен быть частью первичного ключа дочернего объекта.
Дочерняя сущность, уникальность которой зависит от атрибута
внешнего ключа, называется зависимой сущностью [15].
Существует ряд правил организации структур данных, называемых
нормальными формами. Нормализация - процесс приведения модели
структуры данных к некоторой нормальной форме. Как правило, используется
третья нормальная форма. Она обеспечивает эффективное и не избыточное
хранение данных [16]. В таблице 2 приведены требования, которым должна
удовлетворять структура БД для того, чтобы быть в одной из первых трех
нормальных форм. В процессе нормализации анализируется структура БД, и
выявляются элементы, противоречащие определенной нормальной форме.
Таблица 2 - Требования нормализации
№ НФ
Требования нормализации
1НФ
БД находится в 1НФ тогда и только тогда, когда поля всех
таблиц содержат, только атомарные значения и в таблицах нет
полностью повторяющихся строк.
2НФ
БД находится в 2НФ тогда и только тогда, когда значение
любого не ключевого поля зависит от всего первичного ключа.
3НФ
Так же она должна находиться в 1НФ.
БД находится в 3НФ тогда и только тогда, когда значение
любого не ключевого поля зависит только от значения
первичного ключа, но не от значения другого не ключевого
поля. Так же она должна находиться во 2НФ.
Размещено на http://www.allbest.ru/
В результате анализа предметной области и, исходя из поставленных
задачей, для функционирования ИС было выделено 4 сущности:
1.
«Рекомендация» - отражает текст рекомендации.
2.
«Характеристика состояния по вопросу» - отражает текс вопроса,
категорию вопроса и оценку влияния системы каждой из систем
жизнеобеспечения человека.
3.
«Системы жизнеобеспечения» - отражает характеристики систем
жизнеобеспечения человека.
4.
«БАД» - отражает название БАД и их характеристики.
Логическая модель данных проектируемой ИС была разработана в ER
win и представлена на рисунке 10.
Рисунок 10 – Логическая структура базы данных
Размещено на http://www.allbest.ru/
3
РЕАЛИЗАЦИЯ ПРОЕКТА
3.1 Архитектура и платформа реализации
При разработке ИС были использованы следующие средства:

СУБД: Microsoft Office Access 2003;

язык программирования:
C++, HTML5, CSS3, Java Script
(ECMAScript), SQL;

операционная система сервера: Windows Server 2008;

среда разработки: Qt creator 3.5.0;

тип архитектуры: клиент - серверный. Клиент (C++, HTML5,
CSS3, Java Script), сервер (Qt TSP Socket);

технология UML.
3.1.1 СУБД Microsoft Office Access 2003
Реляционная система управления базами данных (СУБД) корпорации
Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр
функций, включая связанные запросы, связь с внешними таблицами и базами
данных. Благодаря встроенному языку VBA, в самом Access можно писать
приложения, работающие с базами данных [17].
Основные компоненты MS Access:
- построитель таблиц;
- построитель экранных форм;
- построитель SQL-запросов (язык SQL в MS Access не соответствует
стандарту ANSI);
- построитель отчётов, выводимых на печать.
3.1.2 Язык программирования C++
C++
—
компилируемый
статически
типизированный
язык
программирования общего назначения. Поддерживает такие парадигмы
Размещено на http://www.allbest.ru/
программирования
ориентированное
Обеспечивает:
как
процедурное
программирование,
модульность
и
программирование,
обобщённое
раздельную
объектно-
программирование.
компиляцию,
обработку
исключений и абстракцию данных, объявление типов (классов) объектов и
виртуальные функции. Стандартная библиотека включает, в том числе,
общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как
высокоуровневых, так и низкоуровневых языков. В сравнении с его
предшественником — языком C,— наибольшее внимание уделено поддержке
объектно-ориентированного и обобщённого программирования. C++ широко
используется для разработки программного обеспечения, являясь одним из
самых популярных языков программирования. Область его применения
включает создание операционных систем, разнообразных прикладных
программ, драйверов устройств, приложений для встраиваемых систем,
высокопроизводительных серверов, а также развлекательных приложений
(игр). Существует множество реализаций языка C++, как бесплатных, так и
коммерческих и для различных платформ. Например, на платформе x86 это
GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и
другие. C++ оказал огромное влияние на другие языки программирования, в
первую очередь на Java и C#. Синтаксис C++ унаследован от языка C. Одним
из принципов разработки было сохранение совместимости с C. Тем не менее,
C++ не является в строгом смысле надмножеством C; множество программ,
которые могут одинаково успешно транслироваться как компиляторами C, так
и компиляторами C++, довольно велико, но не включает все возможные
программы на C [18].
3.1.3 Язык программирования HTML5
HTML5 (англ. HyperText Markup Language, version 5) — это язык для
структурирования и представления содержимоговсемирной паутины. Это
пятая версия HTML. Хотя стандарт был завершён (рекомендованная версия к
использованию) только в 2014 году (предыдущая, четвёртая, версия
Размещено на http://www.allbest.ru/
опубликована в 1999 году), ещё с 2013 года браузерами оперативно
осуществлялась поддержка, а разработчиками — использование рабочего
стандарта (англ. HTML Living Standard). Цель разработки HTML5 —
улучшение уровня поддержки мультимедиа-технологий с одновременным
сохранением обратной совместимости, удобочитаемости кода для человека и
простоты анализа для парсеров.
Во всемирной паутине долгое время использовались стандарты HTML
4.01, XHTML 1.0 и XHTML 1.1. Веб - страницы на практике оказывались
свёрстаны
с
использованием
смеси
различными
спецификациями,
включая
продуктов,
например
веб
-
особенностей,
спецификации
браузеров,
а
также
представленных
программных
сложившихся
общеупотребительных приёмов. HTML5 был создан как единый язык
разметки, который мог бы сочетать синтаксические нормы HTML и XHTML.
Он расширяет, улучшает и рационализирует разметку документов, а также
добавляет единый API для сложных веб-приложений [19].
3.1.4 Язык программирования CSS3
CSS3 (англ. Cascading Style Sheets 3 — каскадные таблицы стилей
третьего поколения) — активно разрабатываемая спецификация CSS.
Представляет собой формальный язык, реализованный с помощью языка
разметки. Самая масштабная редакция по сравнению с CSS1, CSS2 и CSS2.1.
Главной особенностью CSS3 является возможность создавать анимированные
элементы без использованияJS, поддержка линейных и радиальных
градиентов, теней, сглаживания и многое другое.
Преимущественно используется как средство описания и оформления
внешнего вида веб-страниц, написанных с помощью языков разметкиHTML и
XHTML, но может также применяться к любым XML-документам, например,
к SVG или XUL [20].
Размещено на http://www.allbest.ru/
3.1.5 Язык программирования Java Script (ECMAScript)
JavaScript — это прототипно-ориентированный сценарный язык
программирования. Является реализацией языка ECMAScript (стандарт
ECMA-262).
JavaScript
обычно
программного
доступа
используется
к
объектам
как
встраиваемый
приложений.
язык
Наиболее
для
широкое
применение находит в браузерах как язык сценариев для придания
интерактивности веб - страницам.
Основные архитектурные черты: динамическая типизация, слабая
типизация,
автоматическое
управление
памятью,
прототипное
программирование, функции как объекты первого класса.
JavaScript имеет ряд свойств, присущих функциональным языкам —
функции как объекты первого класса, объекты как списки, карринг,
анонимные функции, замыкания — что придаёт языку дополнительную
гибкость.
ECMAScript не является браузерным языком и в нём не определяются
методы ввода и вывода информации. Это, скорее, основа для построения
скриптовых языков. Спецификация ECMAScript описывает типы данных,
инструкции, ключевые и зарезервированные слова, операторы, объекты,
регулярные выражения, не ограничивая авторов производных языков в
расширении их новыми составляющими [21].
3.1.6 Язык программирования SQL
SQL (Structured Query Language)—формальный непроцедурный язык
программирования, применяемый для создания, модификации и управления
данными
в
произвольной
реляционной
базе
данных,
управляемой
соответствующей системой управления базами данных. SQL является, прежде
всего, информационно-логическим языком, предназначенным для описания,
изменения и извлечения данных, хранимых в реляционных базах данных. SQL
основывается на исчислении кортежей [22].
Размещено на http://www.allbest.ru/
3.1.7 Операционная система сервера Windows Server 2008
Версия серверной операционной системы производства компании
Microsoft. Выпущена 27 февраля 2008 года. Пришла на смену Windows Server
2003 как представитель нового поколения операционных систем семейства
Vista (NT 6.x).
Windows Server 2008 включает вариант установки называемый Server
Core (рус. ядро сервера). Server Core — это существенно облегченная
установка Windows Server 2008 в которую не включена оболочка Windows
Explorer. Вся настройка и обслуживание выполняется при помощи интерфейса
командной строки Windows, или подключением к серверу удалённо
посредством Консоли управления [23].
3.1.8 Среда разработки Qt creator 3.5.0
Qt — кросс платформенный инструментарий разработки ПО на языке
программирования C++.Qt позволяет запускать написанное с его помощью ПО
в
большинстве
современных
операционных
систем
путем
простой
компиляции программы для каждой ОС без изменения исходного кода.
Включает в себя все основные классы, которые могут потребоваться при
разработке прикладного программного обеспечения, начиная от элементов
графического интерфейса и заканчивая классами для работы с сетью, базами
данных и XML. Qt является полностью объектно-ориентированным, легко
расширяемым
и
поддерживающим
технику
компонентного
программирования. Поддерживается разработка как классических программ
на языке C++, так и использование языка QML, в котором для определения
сценариев используется JavaScript, а структура и параметры элементов
интерфейса задаются CSS-подобными блоками. Исходный код Qt Creator
распространяется под лицензией LGPL [24].
3.1.9 Технология UML
UML - язык графического описания для объектного моделирования в
Размещено на http://www.allbest.ru/
области разработки ПО. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания
абстрактной
модели
системы.
UML
был
создан
для
определения,
визуализации, проектирования и документирования программных систем.
UML не является языком программирования, но на основе UML-моделей
возможна генерация кода [25].
3.2 Физическая структура БД
В качестве СУБД для разработки базы данных системы использовался
Microsoft Access. Физическая структура БД соответствует разработанной
ранее логической структуре.
В таблице 3 приведено соответствие имен сущностей логической
структуры и таблиц физической структуры БД.
Таблица 3 - Соответствие сущностей логического уровня сущностям
физического уровня
Сущность на логическом уровне
Сущность на физическом уровне
Характеристика состояния по вопросу
Characteristics_of_the_conditi
Рекомендация
Recommendation
Системы жизнеобеспечения
Life_support_sistem
БАД
BAD
Модель сущность-связь (ER-модель) (рисунок 11) (англ. entity relationship model, ERM) — модель данных, позволяющая описывать
концептуальные схемы предметной области.
ER-модель используется при высокоуровневом (концептуальном)
проектировании баз данных. С её помощью можно выделить ключевые
сущности и обозначить связи, которые могут устанавливаться между этими
сущностями.
Размещено на http://www.allbest.ru/
ER-модель представляет собой формальную конструкцию, которая сама
по себе не предписывает никаких графических средств её визуализации. В
качестве стандартной графической нотации, с помощью которой можно
визуализировать ER-модель, была предложена диаграмма сущность-связь
(ER-диаграмма) (англ. entity - relationship diagram, ERD).
Понятия ER-модель и ER-диаграмма часто ошибочно не различают, хотя
для визуализации ER-моделей предложены и другие графические нотации
[26].
Рисунок 11 – Физическая модель данных
Данная модель состоит из четырёх сущностей: «Recommendation»,
«Characteristics_of_the_conditi», «Life_support_sistem» и «BAD».
1. Сущность «Recommendation» - отражает текст рекомендации.
2.
Сущность «Characteristics_of_the_conditi» -
отражает текст
вопроса, категорию вопроса и оценку влияния системы каждой из систем
жизнеобеспечения человека.
3.
Сущность «Life_support_sistem» - отражает характеристики
Размещено на http://www.allbest.ru/
систем жизнеобеспечения человека.
4.
Сущность «BAD» - отражает название БАД и их характеристики.
3.3 Расчет комплекса технических средств (КТС)
Для оценки параметров комплекса технических средств, производится
расчет требуемых ресурсов внешней и оперативной памяти и расчет времени
реакции системы.
3.3.1
Расчёт требуемых ресурсов внешней памяти
Расчет объема требуемой внешней памяти происходит по формуле (1).
VВП  VОС  VСУБД  Vданных  Vпрограммы
(1)
где VВП – общий объем внешней памяти, Гбайт;
VОС – объем внешней памяти, требуемый для хранения файлов
операционной системы, Гбайт;
VСУБД – объем внешней памяти, требуемый для хранения файлов СУБД,
Гбайт;
Vданных – объем внешней памяти, требуемый для хранения записей базы
данных и результатов выполнения функций, Гбайт;
Vпрограммы – объем внешней памяти необходимой для хранения текстов и
библиотек приложений, Гбайт.
VОС – объем внешней памяти, по паспорту для операционной системы
windows 8 x64 – 8 Гб;
VСУБД – объем внешней памяти, требуемый для хранения файлов СУБД
по паспорту для MS Access 2007 – 1 Гб;
В таблице 4 показан расчёт максимального объема базы данных.
Размещено на http://www.allbest.ru/
Таблица 4 - Расчёт объема БД
Таблица БД
Размер
записи,
Макс.
кол-во
Размер
индекса,
Всего, байт
байт
записей
байт
1
2
3
4
5
BAD
7520
38
42864
328624
Life_support_system
248
177
6584,4
50480,4
1
2
3
4
5
Results
296
55
2442
18722
Test
400
528
31680
242880
Итого:
640706,4
Vданных – объем памяти, требуемый для хранения записей базы данных 0,0006гб;
Vпрограммы – объем внешней памяти, необходимой для хранения текстов и
библиотек приложений - 0,009 Гб.
VВП = VОС (8) + VСУБД (1) + Vданных (0.0006) + Vпрограммы (0.009) = 9,0096 Гб
3.3.2 Расчёт требуемых ресурсов оперативной памяти
По формуле (2) был проведен расчёт ресурсов внешней памяти
VВП  VОС  VСУБД  Vданных  Vпрограммы
(2)
где VВП – общий объем внешней памяти, Мбайт;
VОС – объем внешней памяти, требуемый для хранения файлов
операционной системы, Гбайт;
VСУБД – объем внешней памяти, требуемый для хранения файлов СУБД,
Мбайт;
Vданных – объем внешней памяти, требуемый для хранения записей базы
данных и результатов выполнения функций, Мбайт;
Размещено на http://www.allbest.ru/
Vпрограммы – объем внешней памяти, необходимой для хранения текстов и
библиотек приложений, Мбайт.
VОС – по паспорту для операционной системы windows8x64 – 1 Гб;
VСУБД – по паспорту для СУБД MS Access 2007 – 256 Мб;
Vданных – 0,0006 Гб (Таблица 4);
Vпрограммы – 0,009 Мб.
Расчет Vданных произведем на наихудший случай, запрос на максимальное
количество таблиц БД. Наиболее сложным запросом является расчет и
формирование рекомендации по использованию БАД по девяти системам
жизнеобеспечении
человека,
т.к.
требует
для
своего
формирования
использования наибольшего числа таблиц БД, а именно четыре из четырёх
возможных. Vданных рассчитывается по таблице 5.
Таблица 5 - Расчет объема буфера оперативной памяти, необходимой
для расчета и формирования рекомендации по использованию БАД.
Макс. кол-во
Размер
записей
байт
7520
38
42864
328624
Life_support_system
248
177
6584,4
50480,4
Results
296
55
2442
18722
Test
400
528
31680
242880
Итого:
640706,4
Таблица БД
Размер записи, байт
BAD
индекса,
Всего, байт
Суммарный объем ОЗУ, необходимый для функционирования системы:
Vоп = VОС (1024) + VСУБД (256) + Vданных (0,6) + Vпрограммы (9,31)
= 1289,91 Мб.
Размещено на http://www.allbest.ru/
3.3.3 Выбор структуры комплекса технических средств
Согласно приведенным расчётам требуемых ресурсов внешней и
оперативной памяти, для работы разработанной информационной системы
рекомендуются персональный компьютер со следующими системными
характеристиками:
Оперативная память – 1290 Мб.
Наличие свободного места на жестком диске – не менее 10 Гб.
128 Мб видеопамяти и больше.
Процессор с тактовой частотой 1000 МГц и выше.
3.4 Основные интерфейсы
Основными интерфейсами разрабатываемой ИС являются:
1.
Форма авторизации.
Один из основных интерфейсов ИС. На рисунке 12 показано главное
окно системы. В случае первого запуска, Пользователь должен произвести
регистрацию. На данном интерфейсе расположены два текстовых поля ввода
для логина и пароля и кнопки «Войти».
Рисунок 12 – Главное окно системы
Размещено на http://www.allbest.ru/
При выборе пункта «У меня ещё нет аккаунта» открывается
дополнительная строка ввода «ФИО». Пользователь заполняет строки: «Имя
пользователя», «Пароль» и «ФИО», тем самым, регистрируясь в системе.
Регистрация Пользователя представлена на рисунке 13.
В случае если Пользователь ввёл логин уже имеющийся в БД, то на
экран выйдет ошибка «Логин занят». Ошибка регистрации представлена на
рисунке 14.
Рисунок 13 – Страница авторизации
Рисунок 14 – Ошибка авторизации
Размещено на http://www.allbest.ru/
2.
Форма редактирования справочников.
Форма
редактирования
справочников
доступна
только
«Администратору». Рассмотрим форму редактирования справочников и
возможные варианты работы в ней на примере справочника «Препараты»
(рисунок 15). Форма имеет вид таблицы, и простые пункты вводимых данных
«Название» и «Описание», выборочный пункт по системам жизнеобеспечения
человека и кнопки «Добавить препарат» и «Удалить».
Рисунок 15 - Форма редактирования справочника «Препараты»
А. Удаление записи.
Для удаления записи пользователю достаточно «кликнуть» на крестик
соответствующей строки. Система «откликнется» и при нажатии «Удалить»,
запись исчезнет (рисунок 16).
Размещено на http://www.allbest.ru/
Рисунок 16 – Удаление записи
Б. Добавление записи.
Для добавления записи на странице справочника «Препараты»
отображается поля ввода информации, которые нужно будет заполнить
необходимой информацией, выбрав подходящую систему: «Название»,
«Описание» и выборочный список по системам жизнеобеспечения человека
(рисунок 17).
Рисунок 17 – Добавление записи
Размещено на http://www.allbest.ru/
При нажатии кнопки «Добавить препарат», появится новая строка в
конце списка справочника (рисунок 18).
Рисунок 18 – Добавленная запись
3.
Форма прохождения тестирования
Рассмотрим форму прохождения тестирования и возможные варианты
работы в ней (рисунок 19). Страница тестирования состоит из форм, разбитых
на три категории для более удобного восприятия теста Пользователю.
Размещено на http://www.allbest.ru/
Рисунок 19 – Фома тестирования
Форма имеет название и вид таблицы, простые радио-кнопки вариантов
ответа и кнопки «Назад» и «Далее».
А. Назад. На первой форме кнопка «Назад» не активна.
Б. Далее. Если заполнены все поля радио-кнопок, то при нажатии кнопки
«Далее» система открывает следующую форму (рисунок 20), иначе выводит
ошибку «Пожалуйста! Ответьте на все вопросы» (рисунок 21).
Рисунок 20 – Форма тестирования
Размещено на http://www.allbest.ru/
Рисунок 21 – Вывод об ошибке
При прохождении трёх форм тестирования нажимая на третьей форме
кнопку «Далее», открывается страница «Мои результаты» (рисунок 22).
Рисунок 22 – Форма результатов теста
Размещено на http://www.allbest.ru/
3.5 Диаграмма компонентов. Описание программной реализации
Диагра́мма
компоне́нтов,
Component
diagram
—
статическая
структурная диаграмма, показывает разбиение программной системы на
структурные компоненты и связи (зависимости) между компонентами. В
качестве физических компонентов могут выступать файлы, библиотеки,
модули, исполняемые файлы, пакеты и т. п.
Компоненты связываются через зависимости, когда соединяется
требуемый интерфейс одного компонента с имеющимся интерфейсом другого
компонента. Таким образом иллюстрируются отношения клиент-источник
между двумя компонентами.
Зависимость показывает, что один компонент предоставляет сервис,
необходимый другому компоненту. Зависимость изображается стрелкой от
интерфейса или порта клиента к импортируемому интерфейсу.
Когда
диаграмма
компонентов
используется,
чтобы
внутреннюю
структуру
компонентов,
предоставляемый
и
показать
требуемый
интерфейсы составного компонента могут делегироваться в соответствующие
интерфейсы внутренних компонентов. Делегация
показывается связь
внешнего контракта компонента с внутренней реализацией этого поведения
внутренними компонентами [27].
В таблице 6 дано краткое описание основных компонентов системы.
Таблица 6 – Основные классы системы
Класс
Описание
main.cpp
Главное меню
loginpage.cpp
Распределение прав пользователей
testpage.cpp
Форма тестирования
resultpage.cpp
Форма результатов
badpage.cpp
Справочник БАД
userpage.cpp
Пользователи
adminbadepage.cpp
Препараты
Размещено на http://www.allbest.ru/
Подключение к серверу
ghttpserver.cpp
На рисунке 23 изображена разработанная диаграмма компонентов, она
отражает компоненты системы и связи между ними.
Рисунок 23 – Диаграмма компонентов
3.6 Диаграмма развертывания
Диагра́мма развёртывания, Deployment diagram в UML моделирует
физическое развертывание артефактов на узлах. Например, чтобы описать вебсайт диаграмма развертывания должна показывать, какие аппаратные
компоненты («узлы») существуют (например, веб-сервер, сервер базы данных,
сервер
приложения),
какие
программные
компоненты
(«артефакты»)
работают на каждом узле (например, веб-приложение, база данных), и как
различные части этого комплекса соединяются друг с другом (например,
JDBC,REST, RMI).
Узлы
представляются
как
прямоугольные
параллелепипеды
с
Размещено на http://www.allbest.ru/
артефактами,
расположенными
в
них,
изображенными
в
виде
прямоугольников. Узлы могут иметь подузлы, которые представляются как
вложенные
прямоугольные
параллелепипеды.
Один
узел
диаграммы
развертывания может концептуально представлять множество физических
узлов, таких как кластер серверов баз данных.
Существует два типа узлов: узел устройства и узел среды выполнения.
Узлы устройств — это физические вычислительные ресурсы со своей
памятью и сервисами для выполнения программного обеспечения, такие как
обычные ПК, мобильные телефоны. Узел среды выполнения — это
программный вычислительный ресурс, который работает внутри внешнего
узла и который предоставляет собой сервис, выполняющий другие
исполняемые программные элементы [28].
На рисунке 24 изображена разработанная диаграмма развёртывания.
Рисунок 24 – Диаграмма развертывания
3.7 Программа и методика испытаний
Объектом испытания является разработанная информационная система
по использованию БАД.
Цель испытаний – проверка соответствия характеристик разработанной
информационной системы функциональным и иным, отдельным видам
требований, изложенным в программном документе «Техническое задание».
1. Требования к программной документации.
Размещено на http://www.allbest.ru/
1.1. Состав программной документации, предъявляемой на испытания.
Состав программной документации должен включать в себя:
 техническое задание;
 пояснительная записка;
 руководство пользователя.
1.2. Специальные требования.
Специальные
требования
к
программной
документации
не
предъявляются.
Система должна выполнять заявленные в техническом задании на ВКР
функции, а именно:
 авторизация пользователей;
 ведение справочников;
 ведение БД;
 добавление препаратов;
 хранение личной истории результатов;
 расчет и формирование рекомендации по использованию БАД.
2. Состав и порядок испытаний:
2.1 Проверка возможности авторизации с правами разных актантов.
Действия:
 запустить информационную систему;
 зарегистрироваться;
 ввести по очереди логины и пароли двух актантов: Администратора и
Пользователя;
 войти в систему по очереди с правами разных актантов, нажав на
кнопку «Войти».
Результат:
 откроется первое окно приложение – окно авторизации;
 после правильного ввода логина и пароля, система сохранит
пользователя и предоставит вход в систему. В противном случае, появится
Размещено на http://www.allbest.ru/
информационное сообщение, сообщающее о неправильном вводе логина или
пароля;
 на экране по очереди появится соответственно главные окна работы
актантов
Администратор,
Пользователь.
Проверка
возможности
редактирования справочников.
Действия:
 войдя в систему с правами Администратора, просмотреть главное окно
работы этого актанта;
 выбрать справочник для редактирования, нажав на соответствующую
кнопку;
 проверить основные возможности редактирования информации в
справочниках: удаление, редактирование, добавление новой записи;
 проверить сохранение результатов, выйти из формы редактирования.
Результат:
 откроется главное окно Администратора, содержащее заголовки
справочников с возможностью их редактирования.
 При нажатии одного из них, откроется форма редактирования
соответствующего справочника.
 Сработают основные функции редактирования, информация и
структура справочника будет изменена.
 Результаты сохранятся после любого изменения информации в
справочнике,
после
выхода
снова
откроется
главное
окно
работы
Администратора.
Действия:
 войдя в систему с правами Пользователя, просмотреть главное окно
работы этого актанта;
 выбрать
заголовок
соответствующую кнопку;
«Пройти
тестирование»,
нажав
на
Размещено на http://www.allbest.ru/
 проверить основные возможности тестирования: просмотр вопросов,
прохождение теста, проставление ответов;
 просмотреть сохранение результатов, выйти из формы тестирования.
Результат:
 откроется главное окно Пользователя, содержащее заголовок «Пройти
тестирование»;
 при нажатии на заголовок, откроется форма тестирования, и сработают
основные функции тестирования;
 после полного заполнения полей для ответов, система сохранит
результаты и предоставит рекомендацию. В противном случае, появится
информационное сообщение, «Ответьте на все вопросы»;
 результаты сохранятся в заголовке «Мои результаты», после выхода
снова откроется главное окно работы Пользователя.
2.2 Проверка возможности добавления препаратов.
Действия:
 войти в систему с правами Администратора;
 в открывшейся
форме редактирования
препаратов, проверить
возможность редактирования и удаления уже созданных записей;
 нажать
на
кнопку
«Добавить»,
проверить
работоспособность
открывшейся дополнительной формы добавления заказа;
 заполнить
дополнительную
форму,
пользуясь
выпадающими
списками, нажать «Добавить»;
 сохранить измененный справочник.
Результат:
 откроется главное окно работы Администратора – препараты;
 все выбранные ячейки информации редактируются, все выбранные
строки – удаляются;
Размещено на http://www.allbest.ru/
 после нажатия кнопки «Добавить», откроется дополнительная форма
добавления препаратов, содержащая выпадающие списки для выбора
категории препарата, а так же поля редактирования препаратов;
 при нажатии кнопки «Добавить», вся выбранная в дополнительной
форме информация сохранится в главную форму справочника «Системы
жизнеобеспечения человека»;
 вся информация сохранится после каждого изменения информации в
справочнике.
2.3 Проверка возможности хранение личной истории результатов.
Действия:
 войти в систему с правами Пользователя;
 выбрать пункт меню «Мои результаты»;
 просмотреть выпадающий список дата/время прохождения теста.
 Нажать в выпадающем списке подходящий вариант, просмотреть
рекомендацию.
Результат:
 откроется главное окно работы Пользователя;
 откроется окно «Мои результаты»;
 все ответы и вся информация хранится в системе.
2.4 Проверка формирования рекомендации по использованию БАД.
Действия:
 войти в систему с правами Пользователя;
 выбрать пункт меню «Мои результаты»;
 просмотреть информацию, нажать «Ок».
Результат:
 откроется главное окно работы Пользователя;
 система
произведет
расчет
исходя
из ответов Пользователя,
задействовав информацию из справочника «Системы жизнеобеспечения» и
Размещено на http://www.allbest.ru/
выдаст на экран рекомендацию по использованию БАД для девяти систем
жизнеобеспечения человека;
 форма
«Мои
результаты»
закроется,
главное
окно
работы
Пользователя вновь станет активным.
3.8 Контрольный пример
Для реализации контрольного примера была создана Интернет система
«BAD online» (рисунок 25), которая имеет справочную информацию:
«Системы жизнеобеспечения», «Всё о БАД». Система предоставляет
пользователю пройти тестирование, и после прохождения теста, получить
рекомендацию
о
наиболее
эффективных
БАД,
для
девяти
систем
жизнеобеспечения человека.
Проведем анализ разработанной системы на конкретном небольшом, но
наглядном примере, попутно проверив работоспособность ее элементов.
После запуска системы, появляется окно авторизации (26).
Далее, если при попытке входа с правами любого из актантов логин или
пароль будут введены не правильно, система выдаст окно, информирующее об
этом (27).
Размещено на http://www.allbest.ru/
Рисунок 25 – Информационная система «BAD online»
Рисунок 26 – Окно авторизации
Размещено на http://www.allbest.ru/
Рисунок 27 – Ошибка ввода логина или пароля
Далее рассмотрим работу актанта «Администратор»: вбиваем в
соответствующие окна логин и пароль и нажимаем «Войти» (рисунок 28).
Вариант
использования
«Войти
в
систему»
выполнен
«Администратора».
Рисунок 28 – Вход с правами актанта «Администратор»
с
правами
Размещено на http://www.allbest.ru/
Если
пароль
или
логин
введены
правильно,
пользователю
предоставляется окно, настроенное на права «Администратора» (рисунок 29).
Рисунок 29 – страница «Администратора»
Основная функция актанта «Администратор»
- редактирование
справочников. Это возможно выбирая соответствующие пункты меню в
главном
окне
«Администратора»,
и
вызывая
специальные
формы
редактирования того или иного справочника. Например, если выбрать пункт
меню «Препараты», система выдаст форму редактирования справочника
препаратов (рисунок 30).
Размещено на http://www.allbest.ru/
Рисунок 30 – Окно редактирования справочника «Препараты»
Далее, на примере этого справочника опишем возможные варианты
работы в этих формах редактирования:
Форма имеет вид таблицы, и простые пункты вводимых данных
«Название» и «Описание», выборочный пункт по системам жизнеобеспечения
человека и кнопки «Добавить препарат» и «Удалить». Заполним эту форму для
примера.
А. Удаление записи.
Для удаления записи пользователю достаточно «кликнуть» на крестик
соответствующей строки. Система «откликнется» и при нажатии «Удалить»,
запись исчезнет (рисунок 31).
Б. Добавление записи.
Для добавления записи на странице справочника «Препараты»
отображается поля ввода информации, которые нужно будет заполнить
необходимой информацией, выбрав подходящую систему: «Название»,
«Описание» и выборочный список по системам жизнеобеспечения человека
(рисунок 32).
Размещено на http://www.allbest.ru/
Рисунок 31– Удаление записи
Рисунок 32 – Добавление записи
При нажатии кнопки «Добавить препарат», появится новая строка в
конце списка справочника «Препараты» (рисунок 33).
Размещено на http://www.allbest.ru/
Рисунок 33- Добавленная запись
Далее
рассмотрим работу актанта
«Пользователь»:
вбиваем
в
соответствующие окна логин и пароль и нажимаем «Войти» (рисунок 34).
Рисунок 34 – Вход с правами актанта «Пользователь»
Если
пароль
или
логин
введены
правильно,
пользователю
предоставляется главное окно работы «Авторизованного пользователя»
(рисунок 35).
Размещено на http://www.allbest.ru/
Рисунок 35 – Окно «Авторизованного пользователя»
бад программный автоматизированный
Главная
функция
актанта
«Авторизованный
пользователь»
-
прохождение тестирования, для получения рекомендации по использованию
БАД. (рисунок 36). Страница тестирования состоит из форм, разбитых на три
категории для более удобного восприятия теста Пользователю.
Рисунок 36 – Фома тестирования
Размещено на http://www.allbest.ru/
Форма имеет название и вид таблицы, простые радио-кнопки вариантов
ответа и кнопки «Назад» и «Далее».
А. Назад
На первой форме кнопка «Назад» не активна.
Б. Далее
Если заполнены все поля радио-кнопок, то при нажатии кнопки «Далее»
система открывает следующую форму (рисунок 37), иначе выводит ошибку
«Пожалуйста! Ответьте на все вопросы» (рисунок 38).
Рисунок 37 – Форма тестирования
Размещено на http://www.allbest.ru/
Рисунок 38 – Вывод об ошибке
При прохождении трёх форм тестирования нажимая на третьей форме
кнопку «Далее», открывается страница «Мои результаты» (рисунок 39).
Результаты
тестирования
представлены
жизнеобеспечения человека.
Рисунок 39 – Форма результатов теста
по
девяти
системам
Размещено на http://www.allbest.ru/
При нажатии кнопки «Рекомендуемые BAD’ы» открывается список
необходимых БАДов для конкретной системы, в данном случае это для
системы «Сердечно сосудистой» (рисунок 40).
Рисунок 40 – Рекомендуемые БАДы
При нажатии кнопки «Рекомендуемые витамины» открывается список
необходимых витаминов для поддержания каждой системы в норме, в данном
случае это для системы «Переваривания и усвоения пищи» (рисунок 41).
Размещено на http://www.allbest.ru/
Рисунок 41 – Рекомендуемые витамины
3.9 Руководство пользователя
Руководство пользователя информационной системой выдающей
рекомендации
по
использованию
БАД
разработано
для
будущих
пользователей этой системы. Пользователи должны иметь навыки работы с
персональным компьютером. Также ему необходимо быть знакомым с
предметной областью и ознакомиться с руководством пользователя. Типовая
структура руководства пользователя приведена в ГОСТ РД 50-34.698-90
1.
Введение.
2.
Назначение и условия применения.
3.
Подготовка к работе.
4.
Описание операций.
5.
Аварийные ситуации.
6.
Рекомендации по освоению.
Полный текст руководства пользователя для разработанной ИС
представлен в приложении Б.
Размещено на http://www.allbest.ru/
4
ПРЕДПОЛОГАЕМОЕ ВНЕДРЕНИЕ
4.1 Описание объекта внедрения
Модуль информационной советующей системы по использованию БАД,
осуществляет
автоматизированное
формирование
рекомендации
по
применению БАД для девяти систем жизнеобеспечения человека, с целью
помочь человеку в выборе наиболее эффективных БАДов. С самого начала
система разрабатывалась в соответствии с требуемыми функциями,
утвержденными в техническом задании.
Исходя из обоснования выбора средств разработки, ИС разрабатывалась
на языке C++ в Qt creator с использованием методологии UML и представляет
собой веб-приложение с клиент-серверной архитектурой.
Разработанный модуль отвечает всем поставленным целям и задачам. А
именно реализованы следующие функции:
1.
Разграничение прав доступа к функционалу системы.
2.
Ведение справочников: «Системы жизнеобеспечения», «Всё о
БАД», «Препараты», «Пользователи».
3.
Формирование рекомендации по применению БАД.
4.2 Описание хода возможного внедрения
После окончательной разработки модуля, внедряемый программный
продукт может быть предложен на рассмотрение в компанию «Amway».
Сейчас «Amway» – одна из самых крупных в мире компаний в сфере
прямых продаж различной продукции, в том числе БАДов. Для того чтобы
пользователь
получал
своевременную
рекомендацию,
необходима
консультация эксперта. Данная система может быть использована для
быстрого поиска эффективного БАДа с выдачей рекомендации «заменяя»
специалиста, опираясь на базу компании «Amway».
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ЗАКЛЮЧЕНИЕ
В ходе выпускной квалификационной работы были рассмотрены
различные характеристики ИС по использованию БАД и произведен их
сравнительный анализ.
Проект информационной советующей системы по использованию БАД
составлен по методологии UML. Спроектирована логическая структура БД со
всеми необходимыми сущностями и атрибутами.
Произведен выбор и обоснование комплекса технических средств,
сопровождаемый ресурсным анализом (требуемый объем оперативной и
внешней памяти).
Исходя из обоснования выбора средств разработки, ИС разрабатывалась
на языке C++ с использованием фреймворка Qt 3.5.0 и СУБД Microsoft Access
для хранения данных. Работает под управлением операционных систем
Microsoft
Windows
и
(XP
версии
выше).
ИС
представляет
собой
автоматизированную советующую систему обработки данных с клиентсерверной архитектурой.
Разработанная информационная система отвечает всем поставленным
целям и задачам, описанным и в техническом задании на выпускную
квалификационную работу.
Главным
информационной
итогом
выполнения
советующей
работы
системы,
стало
создание
позволяющей
такой
выдавать
рекомендацию по использованию БАД для девяти систем жизнеобеспечения
человека, в зависимости от введённых пользователем сведений о своём
самочувствие.
Составлено руководство пользователя.
Размещено на http://www.allbest.ru/
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.
БАД [Электронный ресурс]: URL // Режим доступа:
http://www.syl.ru/article/199897/new_chto-takoe-bad-kak-primenyat-badyi
2.
Краткий справочник по систем БАД [Электронный ресурс]: URL //
Режим доступа: http://www.nsp-krasnodar.ru/.
3.
БАД [Электронный ресурс]: URL // Режим доступа:
http://www.syl.ru/article/199897/new_chto-takoe-bad-kak-primenyat-badyi
4.
Вэлнес тест [Электронный ресурс]: URL // Режим доступа:
http://ralife.ru/velnes-test
5.
Natures Sunshine [Электронный ресурс]: URL // Режим доступа:
http://lifeeffect.ru/orgtest
6.
Natrila [Электронный ресурс]: URL // Режим доступа: http://nsp-
ekb.ru/test
7.
Дерябкин, В.П. Проектирование информационных систем по
8.
методологии UML [Текст] /Дерябкин, В.П.; Козлов, В.В - Самара:
9.
Самарск. гос. арх.-строит. ун-т., 2008. - 42 с.
10.
Леоненков, А.В. Самоучитель UML [Текст]/А.В. Леоненков// 2-е
изд., пер. и доп. - СПб.: БХВ-Петербург, 2004. - 432 с.
11.
Википедия. Сценарий [Электронный ресурс]: URL // Режим доступа:
https://ru.wikipedia.org/wiki/Сценарий_использования
12.
Википедия. Сущностные классы [Электронный ресурс]: URL //
Режим доступа: http://deryabych.narod.ru/5/5.html
13.
Википедия. Граничные классы [Электронный ресурс]: URL // Режим
доступа: http://deryabych.narod.ru/5/5.html
14.
Википедия. Классы управления [Электронный ресурс]: URL //
Режим доступа: http://deryabych.narod.ru/5/5.html
15.
Википедия. Схема алгоритма [Электронный ресурс]: URL // Режим
доступа: https://ru.wikipedia.org/wiki/Блок-схема
Размещено на http://www.allbest.ru/
16.
Википедия. Диаграмма состояний [Электронный ресурс]: URL //
Режим доступа: https://ru.wikipedia.org/wiki/Диаграмма_состояний_(UML)
17.
Википедия. Логическая структура [Электронный ресурс]: URL //
Режим доступа: http://forundex.ru/sql/Logicheskaya-struktura-v-ERWin-198355
18.
Википедия. НФ для БД структура [Электронный ресурс]: URL //
Режим доступа: https://ru.wikipedia.org/wiki/Нормальная_форма
19.
Википедия. MicrosoftAccess [Электронный ресурс] // Режим
доступа: http://ru.wikipedia.org/wiki/Microsoft_Access.
20.
Википедия. C++ [Электронный ресурс] // Режим доступа:
http://ru.wikipedia.org/wiki/C%2B%2B.
21.
Википедия. HTML5 [Электронный ресурс] // Режим доступа:
https://ru.wikipedia.org/wiki/HTML5
22.
Википедия. CSS3 [Электронный ресурс] // Режим доступа:
http://ru.rfwiki.org/wiki/CSS3
23.
Википедия. JavaScript [Электронный ресурс] // Режим доступа:
https://ru.wikipedia.org/wiki/JavaScript
24.
Википедия. SQL [Электронный ресурс] // Режим доступа:
https://ru.wikipedia.org/wiki/SQL
25.
Википедия. Windows 8 [Электронный ресурс] // Режим доступа:
http://ru.wikipedia.org/ Winwows_8
26.
Википедия. Qt [Электронный ресурс] // Режим доступа:
http://ru.wikipedia.org/wiki/Qt.
27.
Дерябкин, В.П. Проектирование информационных систем по
28.
методологии UML [Текст] /Дерябкин, В.П.; Козлов, В.В - Самара:
29.
Самарск. гос. арх.-строит. ун-т., 2008. - 42 с.
30.
Википедия. Физическая модель [Электронный ресурс] // Режим
доступа: https://ru.wikipedia.org/wiki/ERwin_Data_Modeler
31.
Википедия. Диаграмма компонентов[Электронный ресурс] // Режим
доступа: https://ru.wikipedia.org/wiki
Размещено на http://www.allbest.ru/
32.
Википедия. Диаграмма развёртывания[Электронный ресурс] //
Режим доступа: https://ru.wikipedia.org/wiki
Размещено на http://www.allbest.ru/
ПРИЛОЖЕНИЕ А
Листинг основных модулей программы
Листинг модуля работы с сервером
#include "qhttpserver.h"
#include <QRegExp>
#include <QFile>
#include <QCoreApplication>
#include <QTextDocument>
#include <QUrl>
QHttpServer::QHttpServer(QObject *parent)
: QTcpServer(parent)
{
this->_root = QCoreApplication::applicationDirPath();
qDebug() << "Connect to port";
if(this->listen(QHostAddress::Any, 80))
{
qDebug() << "The server is running...";
}
else
{
qDebug() << "Error starting the server: " << this->errorString();
}
qDebug() << "Connect to database";
this->_db = QSqlDatabase::addDatabase("QSQLITE");
this>_db.setDatabaseName(QCoreApplication::applicationDirPath()+"/BAD.db");
if(!this->_db.open())
Размещено на http://www.allbest.ru/
{
qDebug() << "Error connecting the database: " + this->_db.lastError().text();
}
}
void QHttpServer::incomingConnection(qintptr handle)
{
QTcpSocket *socket = new QTcpSocket();
socket->setSocketDescriptor(handle);
connect(socket, SIGNAL(readyRead()), this, SLOT(onReadyRead()));
connect(socket, SIGNAL(disconnected()), this, SLOT(onDisconnected()));
}
void QHttpServer::redirect(const QString &url)
{
this->echo("HTTP/1.1 301 Moved Permanently\r\n");
this->echo("Location: " + url + "\r\n");
}
void QHttpServer::echo(const QString &data)
{
QTcpSocket *socket = qobject_cast<QTcpSocket*>(this->sender());
if(socket != NULL)
{
socket->write(data.toUtf8());
}
}
void QHttpServer::setCookie()
Размещено на http://www.allbest.ru/
{
QStringList cookie;
foreach(QString name, this->_session.keys())
{
cookie.append(name + "=" + this->_session.value(name));
}
if(cookie.count() != 0)
{
this->echo("Set-Cookie: " + cookie.join("; ") + "\r\n");
}
}
QHttpPage* QHttpServer::getPage(const QString &path)
{
if(this->_pages.contains(path))
{
return this->_pages.value(path);
}
else
{
return NULL;
}
}
QString QHttpServer::getParameter(const QString &name)
{
if(this->_paramers.contains(name))
{
return this->_paramers.value(name);
}
Размещено на http://www.allbest.ru/
else
{
return "";
}
}
QString QHttpServer::getSession(const QString &name)
{
if(this->_session.contains(name))
{
return this->_session.value(name);
}
else
{
return "";
}
}
void QHttpServer::setPage(const QString &path, QHttpPage *page)
{
if(page == NULL)
{
this->_pages.remove(path);
}
else
{
this->_pages.insert(path, page);
}
}
Размещено на http://www.allbest.ru/
void QHttpServer::setParameter(const QString &name, const QString
&value)
{
if(value.isEmpty())
{
this->_paramers.remove(name);
}
else
{
this->_paramers.insert(name,
QUrl::fromPercentEncoding(value.toUtf8()).replace("+", " "));
}
}
void QHttpServer::setSession(const QString &name, const QString &value)
{
if(value.isEmpty())
{
this->_session.remove(name);
}
else
{
this->_session.insert(name, value);
this->echo("Set-Cookie: " + name + "=" + value + "\r\n");
}
}
QHttpPage* QHttpServer::page(const QString &path, QHttpPage *page)
{
if(page == NULL)
Размещено на http://www.allbest.ru/
{
return this->getPage(path);
}
else
{
this->setPage(path, page);
return NULL;
}
}
QString QHttpServer::parameter(const QString &name, const QString
&value)
{
if(value.isNull())
{
return this->getParameter(name);
}
else
{
this->setParameter(name, value);
return NULL;
}
}
QMap<QString, QString> QHttpServer::parameters(const QString &name)
{
if(name.isNull())
{
return this->_paramers;
}
Размещено на http://www.allbest.ru/
else
{
QRegExp rx(name + "%5B(\\d+)%5D");
QMap<QString, QString> res;
foreach(QString key, this->_paramers.keys())
{
qDebug() << key;
if(rx.indexIn(key) != -1)
{
res.insert(rx.cap(1), this->_paramers.value(key));
}
}
return res;
}
}
QString QHttpServer::session(const QString &name, const QString &value)
{
if(value.isNull())
{
return this->getSession(name);
}
else
{
this->setSession(name, value);
return NULL;
}
}
Размещено на http://www.allbest.ru/
QString QHttpServer::root(const QString &path)
{
if(path.isNull())
{
return this->_root;
}
else
{
this->_root = path;
qDebug() << "Change the working directory on the: " << path;
return NULL;
}
}
QSqlDatabase QHttpServer::db()
{
return this->_db;
}
QByteArray QHttpServer::getDocument(const QString &path)
{
QFile file(this->_root + "/" + path);
if(file.exists() && file.open(QIODevice::ReadOnly))
{
QByteArray result = file.readAll();
file.close();
return result;
}
else
Размещено на http://www.allbest.ru/
{
return QByteArray();
}
}
void QHttpServer::onReadyRead()
{
//for(int i = 0; i < 1000000; i++) ;
QTcpSocket *socket = qobject_cast<QTcpSocket*>(this->sender()); // Сокет
браузера
qintptr handle = socket->socketDescriptor();
QString req;
if(this->_data.contains(handle))
{
req = this->_data.value(handle);
}
req += QString(socket->readAll());
QStringList request = req.split("\r\n"); // Запрос от браузера
if(request.first().indexOf("POST") == 0 && request.last().isEmpty() &&
request.at(request.count() - 2).isEmpty())
{
this->_data.insert(handle, req);
return ;
}
this->_data.remove(handle);
qDebug() << req;
this->_paramers.clear();
this->_session.clear();
Размещено на http://www.allbest.ru/
QString query = request.first(); // строка запроса в формате METHOD query
HTTP/1.1
QString body = request.last(); // POST данные
QString cookie = "";
foreach(QString str, request)
{
if(str.indexOf("Cookie: ") == 0)
{
cookie = str.replace(0, 8, "");
QStringList cookies = cookie.split("; ");
foreach(QString str, cookies)
{
QStringList c = str.split("=");
QString name = c.first();
QString value = c.count() > 1 ? c.at(1) : "";
QTextDocument text;
text.setHtml(value);
this->_session.insert(name, text.toPlainText());
}
}
}
QString path = query;
QRegExp rx("\\s+/([^\\s\\?]*)(\\?([^\\s]*)|\\s)");
if(rx.indexIn(query))
{
path = rx.cap(1); // документ или команда, которые запросил браузер
Размещено на http://www.allbest.ru/
query = rx.cap(3); // GET параметры запроса
}
// Браузер запросил файл
if(!path.isEmpty() && QFile::exists(this->_root + "/" + path))
{
QString response = "HTTP/1.1 200 OK\r\n\r\n";
socket->write(response.toUtf8());
socket->write(this->getDocument(path));
// И разрываем соединение
socket->disconnectFromHost();
return;
}
// Такого файла и команды нет, вернем ошибку "страница не найдена"
if(!this->_pages.contains(path))
{
QString response =
socket->write(response.toUtf8());
socket->disconnectFromHost();
return ;
}
// Браузер запросил команду
// Вызываем соответсвующий обработчик
QHttpPage* page = this->_pages.value(path);
rx = QRegExp("([^=&]+)(=([^&]*)|&)");
int pos = 0;
while((pos = rx.indexIn(query, pos)) != -1)
{
this->parameter(rx.cap(1),
параметры
rx.cap(3));
//
передаем
обработчку
все
Размещено на http://www.allbest.ru/
pos += rx.matchedLength();
}
pos = 0;
while((pos = rx.indexIn(body, pos)) != -1)
{
this->parameter(rx.cap(1),
rx.cap(3));
//
передаем
обработчку
параметры
pos += rx.matchedLength();
}
page->response();
socket->disconnectFromHost();
}
void QHttpServer::onDisconnected()
{
QTcpSocket *socket = qobject_cast<QTcpSocket*>(this->sender());
socket->close();
socket->deleteLater();
}
#include <QCoreApplication>
#include "qhttpserver.h"
#include "pages/loginpage.h"
#include "pages/mainpage.h"
#include "pages/testpage.h"
#include "pages/resultpage.h"
#include "pages/badpage.h"
#include "pages/userspage.h"
#include "pages/adminbadpage.h"
все
Размещено на http://www.allbest.ru/
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QHttpServer server;
server.root(QCoreApplication::applicationDirPath() + "/www");
server.page("", new LoginPage(&server)); // страница входа
server.page("main", new MainPage(&server)); // главная страница
server.page("test", new TestPage(&server)); // сам тест
server.page("result", new ResultPage(&server)); // страница с результатами
server.page("bad", new BadPage(&server)); // страница с bad'ами
// страницы админа
server.page("admin/users",
new
UsersPage(&server));
//
страница
редакирования пользователей
server.page("admin/bad", new AdminBadPage(&server)); // страница
редакирования bad'ов
return a.exec();
}
Download