Автор работы: Пользователь скрыл имя, 12 Сентября 2013 в 07:10, курсовая работа
Целью курсовой работы является разработка программного продукта «Green House», предназначенного для управления автоматизированным тепличным хозяйством, предоставляющего пользователю необходимую информацию о параметрах среды и возможность управлять данным тепличным хозяйством.
Для достижения цели были поставлены следующие задачи:
изучить и проанализировать материалы по теме работы тепличного хозяйства
построить логическую модель программного продукта
спроектировать интерфейс и базу данных для хранения данных о состоянии теплицы, данных с датчиков, и настроек теплицы
выбрать технологии и средства разработки
ВВЕДЕНИЕ……………………………………………………………………...3
1.ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ………………………….....6
1.1.Описание тепличного хозяйства………………..……………….…6
1.2.Методы устранения существующих недостатков………………..9
1.3.Обзор существующего программного обеспечения……………10
Выводы…………………………………………………………………..12
2.ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА...………………..13
2.1. Выбор методологии проектирования и модели жизненного цикла программного продукта…….…………..………………….……………………….13
2.2. Архитектура программного продукта …………………………..18
2.3. Логическая модель…………………………………………………19
Выводы………………………………………………………………….22
3.РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ...………………….23
3.1.Выбор программно-аппаратной платформы……………………23
3.2. Выбор среды разработки ………………..……………………….24
3.3.Выбор системы управления базами данных………….…………25
3.4. Реализация программного продукта………………….…………26
Выводы………………………………………………………………….34
4.РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ...………………….35
4.1.Выбор программно-аппаратной платформы……………………35 4.2. Выбор среды разработки ………………..……………………….35
4.3.Выбор системы управления базами данных………….…………36
4.4. Тестирование на стадии внедрения ПП ……………….…………37
4.5. Предложения по сопровождению и улучшению качества разработанного ПП ……………………………………….……………….…………40
Выводы…………………………………………………………………..41
ЗАКЛЮЧЕНИЕ………………………………………………………..……....42
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ…………………………..…..42
65 часов *10 руб/час = 650 руб.
Печать листов 48*1,5 руб. = 72 руб.
Итого: полная себестоимость программы = 1554,5 руб.
Выводы
4. Анализ качества разработанного программного продукта
На протяжении всего процесса создания программного обеспечения и даже после его окончания необходимо проводить анализ его качества, в дальнейшем это позволит определить качество и работоспособность конечного продукта. Анализ и тестирование способствует выявления, исправлению и предотвращению максимального количества ошибок при создании программного обеспечения, что ведет к максимальным показателям их качества. Основными критериями качества при тестировании являлись быстродействие и надежность.
4.1. Тестирование на стадии анализа и исследования предметной области
На данном этапе проверялся набор требований на соответствие пожеланиям заказчика. Был проверен функциональный состав программного продукта. В процессе согласования набора требований к функционалу программного продукта с заказчиком, список требований неоднократно менялся до тех пор, пока не было определено, что все необходимые функции учтены и дополнений не требуется.
4.2. Тестирование на стадии проектирования
В ходе тестирования программного продукта качество продукта определялось по следующим показателям:
При анализе данных факторов было установлено, что они соответствуют требованиям проекта. Выбранные системные ресурсы полностью соответствуют данным требованиям, так как их выбор основывался на выборе среды разработки.
Также выбранная среда разработки Microsoft Visual Studio 2012 обладает всеми необходимыми возможностями для создания данного проекта.
4.3. Тестирование разработанного программного продукта
Для обеспечения надлежащего качества программного продукта тестирование применялось на каждой стадии его разработки. Для тестирования программного продукта использовалось три вида тестирования:
4.3.1 Модульное тестирование
Модульное тестирование – это тестирование программы на уровне отдельно взятых модулей, функций или классов. Основная цель модульного тестирования состоит в выявлении ошибок в отдельно взятом модуле, а также в определении степени готовности системы к переходу на следующий уровень тестирования или разработки. Модульное тестирование проводиться по методу «белого ящика», т.е. тесты составляются на основе знания внутренней архитектуры программного продукта, и часто включает те или иные методы анализа покрытия кода.
Модульное тестирование обычно подразумевает создание вокруг каждого модуля определенной среды, включающей заглушки для всех интерфейсов тестируемого модуля. Некоторые из них могут использоваться для подачи входных значений, другие для анализа результатов, присутствие остальных может быть продиктовано требованиями, накладываемыми компилятором и сборщиком. На уровне модульного тестирования проще всего обнаружить дефекты, связанные с алгоритмическими ошибками и ошибками кодирования алгоритмов, наподобие работы с условиями и счетчиками циклов, а также с использованием локальных переменных и ресурсов.
В рамках тестирования проекта проводились тестовые испытания отдельных модулей и функций программного продукта. В результате было выявлено множество алгоритмических и синтаксических ошибок. Все эти ошибки были полностью устранены.
4.3.2 Интеграционное тестирование
Интеграционное тестирование -
это тестирование системы,
Целью интеграционного тестирования является проверка соответствия проектируемых единиц функциональным, приёмным и требованиям надежности. Тестирование этих проектируемых единиц — объединения, множества или группы модулей — выполняется через их интерфейс, с использованием тестирования «чёрного ящика».
Интеграционное тестирование проекта выявило незначительные ошибки взаимодействия системы управления контроллером и модуля для взаимодействия с базой данных. Все эти ошибки также были устранены.
4.4. Тестирование на стадии внедрения ПП
Одним из способов тестирования в условиях приближенным к реальным является системное тестирование. Системное тестирование программного обеспечения — это тестирование программного обеспечения (ПО), выполняемое на полной, интегрированной системе, с целью проверки соответствия системы исходным требованиям. Системное тестирование относится к методам тестирования чёрного ящика, и, тем самым, не требует знаний о внутреннем устройстве системы.
Основной задачей системного тестирования является проверка как функциональных, так и не функциональных требований к системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования, отсутствующая или неверная функциональность, неудобство использования и т.д. Для минимизации рисков, связанных с особенностями поведения системы в той или иной среде, во время тестирования рекомендуется использовать окружение максимально приближенное к тому, на которое будет установлен продукт после выдачи. Подкатегориями данного вида тестирования являются альфа и бета тестирование.
Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться ПО.
Бета-тестирование — интенсивное использование почти готовой версии продукта (как правило, программного или аппаратного обеспечения) с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (Релизом) продукта на рынок, к массовому потребителю.
В отличие от альфа-тестирования, проводимого силами штатных разработчиков или тестировщиков, бета-тестирование предполагает привлечение добровольцев из числа обычных будущих пользователей продукта, которым доступна упомянутая предварительная версия продукта (так называемая бета-версия).
В рамках тестирования проекта использовался только этап альфа тестирования.
Основными показателями качественной работы программного продукта будут служить – скорость работы программного продукта, корректное отображение данных, а также отказоустойчивость программного продукта.
При тестировании программного продукта вместе с автоматизированной теплицей основанной на микроконтроллере Arduino Uno. Было произведено 50 пробных запусков в ходе которых были обнаружены следующие ошибки.
Ошибки |
Комментарии |
Кол-во |
Медленное отображение графиков |
Медленно отображались графики данных с датчиков в особенности совмещенный график |
2 |
Зависание при подключении к контроллеру |
Каждый раз при подключении к контроллеру система на некоторое время переставала отвечать на запросы пользователя |
1 |
Некорректное сохранение настроек программы |
Сохранение неверной информации о влажности воздуха в базу данных |
1 |
Ошибка при сохранении данных с датчиков в базу данных |
Программа начала вызывать исключение после перехода класса взаимодействия с базой данных на технологию Linq To SQL |
1 |
Разберем конкретно каждую из возникших проблем. Первая из перечисленных проблем возникала по причине присутствия множества включенных ненужных визуальных эффектов в компоненте, таких как точки на графике и сглаживание. Следующая проблема возникала по причине выполнения подключения в том же потоке что и обращение к контроллеру. Это вызывало кратковременное зависание системы. Проблема была исправлена путем обращения к контроллеру в отдельном потоке. Третья проблема возникала из-за неправильного парсинга данных, полученных от контроллера. Последняя проблема связана с особенностями технологии Linq To SQL, возникало данное исключение из-за неправильного использования дополнительного потока. Выявленные ошибки и недочеты были учтены и исправлены.
4.5 Предложения по сопровождению
и улучшению качества
В процессе тестирования разработанного программного продукта и его обсуждения с заказчиком был выдвинут ряд предложений по улучшению его работы:
В перспективе развития заказчиком
были выдвинуты следующие
Выводы
Заключение
Информация о работе Система управления автоматизированным тепличным хозяйством