Система управления автоматизированным тепличным хозяйством

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Пояснительная записка.doc

— 1.25 Мб (Скачать файл)

Рис.2.3 DFD – диаграмма 2-го уровня

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выводы

  1. На основании исследования предметной области разработана схема архитектуры разрабатываемого программного продукта, что принесло большую пользу в реализации продукта;
  2. Система была разделена на отдельные компоненты в соответствии с решаемыми задачами и с учетом клиент серверной архитектуры программного комплекса;
  3. Проанализированы методологии проектирования программных продуктов и выбран наиболее подходящий вариант;
  4. Построена логическая модель разрабатываемого программного продукта, также были рассмотрены основные информационные процессы, протекающие в системе.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Реализация программного обеспечения

После завершения анализа предметной области и проектирования программного продукта можно приступать к следующему этапу – реализации проекта на выбранном языке программирования.

На протяжении этого  этапа необходимо проанализировать и реализовать результаты проектирования на языке программирования. Для этого необходимо определиться с выбором программно-аппаратной платформы и среды разработки, а также определить минимальную конфигурацию программно-аппаратной платформы пользователя.

3.1.Выбор программно-аппаратной  платформы

Сегодняшний рынок программного обеспечения предъявляет большие требования к создаваемым проектам. Так, для современных программных средств важными требованиями являются переносимость, мультиплатформенность и масштабируемость.

Под переносимостью подразумевается возможность использовать программное средство на разных программно-аппаратных платформах без существенной переработки кода.

Исходя из того, что  платформа IBM PC является наиболее распространенной в России, было принято решение  разрабатывать ПП именно под эту аппаратную платформу. После просмотра статистических данных об использовании системного программного обеспечения которые проводила исследовательская компания NetApplications, были получены следующие результаты: 92,05 % - OS Windows, 6,39 % - Mac OS, 1.56 % - Linux.

Исходя из этих результатов, а так же по причине того, что  программное обеспечение должно функционировать на как можно большем количестве платформ, было принято решение разрабатывать ПП с таким расчетом, чтобы обеспечить функционирование, на наиболее распространенной  программной платформе - Windows.

 

 

3.2. Выбор среды разработки

После того как программно-аппаратная платформа была определена, можно выбирать среду, в которой будет разрабатываться программный продукт. Для этого было отобрано несколько распространенных сред разработки поддерживающих объектно-ориентированный подход, так как модульность одно из основных требований к разрабатываемому программному продукту.

 Borland Delphi  — интегрированная среда разработки ПО для Microsoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Borland Delphi представляет собой средство разработки приложений для Microsoft Windows. Delphi является мощным и простым в использовании инструментом для создания автономных программ, обладающих графическим интерфейсом (GUI), или 32-битных консольных приложений (программ, которые не имеют графического интерфейса).

Microsoft Visual Studio — интегрированная среда разработки от компании Майкрософт, включающих также и ряд других инструментальных средств. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation. Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).

В качестве среды разработки была выбрана Microsoft Visual Studio. Данная среда имеет существенные преимущества в сравнении с другими средами. Эта среда поддерживает гибкий и мощный язык программирования C#, имеет удобный интерфейс, множество средств отладки. Также данная среда предоставляет огромные возможности в плане настройки интерфеса приложения, особенно в проектах WPF(Windows Presentation Foundation).Также корпорация Microsoft проводит программу бесплатного распространения среди студентов. Кроме того данная среда поддерживает взаимодействие с системой контроля версий Team Foundation Server, что способствует повышению эффективности работы над проектом.

    1. Выбор системы управления базами данных

SQL Server Compact Edition (первоначальное название — SQL Server Everywhere) — продукт компании Майкрософт в линейке SQL Server, являющийся версией SQL Server Mobile со снятым запретом работы под Win32 и изменённой лицензией. Продукт выпущен 11 января 2007 года. Последний релиз — SQL Server Compact 4.0, с поддержкой .NET Framework 4.0 и работающий под 32- и 64-разрядными версиями Windows.

Ограничение на максимальный размер файла базы данных — 4 ГБ. Однако позднее стало известно, что ограничение в 4 ГБ является чисто техническим (связано с тем, что изначально СУБД использовалась на устройствах, где 4 ГБ это более чем достаточно), а потому будет изменено в последующих версиях.

Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

Microsoft Office Access или просто Microsoft Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

В качестве системы управления базами данных для данного проекта была выбрана SQL Compact 4.0. Основная причина такого выбора заключается в интеграции данной СУБД прямо в среду разработки, и как следствие отсутствие оплаты за этот продукт. SQL Compact может хранить небольшой объем данных: до 4 Гб, однако большего объема и не требуется, так как в БД лишь 6 таблиц.

3.4 Реализация программного продукта

После выбора средств разработки, можно приступать к стадии написания кода каждого из модулей программного продукта. Как уже упоминалось, в качестве языка программирования был выбран C#. Данный язык был выбран по причине его широких возможностей для разработки Windows приложений. Кроме этого C# является объектно-ориентированным языком программирования, в связи с этим легко обеспечивается модульность приложений.

Для того чтобы  начать разработку программного продукта  нужно выбрать  тип разрабатываемого проекта. Был выбран тип WPF(Windows Presentation Foundation) одним из основных преимуществ такого типа проекта является использование xaml разметки для описания форм, что обеспечивает более гибкий и удобный интерфейс программного продукта. Далее следует подключиться к системе управления версиями Team Foundation Server.Для хранения данных была создана база данных SQL Compact.Схема данных приведена ниже (рис.3.1).

Рис.3.1 Схема базы данных

После этого необходимо разработать  интерфейс в соответствии с требованиями к программному продукту. В проекте  были реализованы главная форма MainWindow, обеспечивающая основное взаимодействие с пользователем (рис. 3.2). Также было реализовано несколько дополнительных форм:

    • ControllerError – окно ошибки работы с контроллером(рис. 3.3);
    • NotResponding – окно ошибки подключения к контроллеру(рис. 3.4);
    • WindowConnect – окно настроек подключения к контроллеру(рис. 3.5);

Рис.3.2 Главная форма приложения

Рис.3.3 Форма ControllerError

Рис.3.4 Форма NotResponding

Рис.3.5 Форма WindowConnect

На главной форме для вывода данных с датчиков осуществляются так называемые привязки(Binding). Это позволяет автоматически обновлять эти данные на форме при их изменении и не писать при этом лишнего кода. Ниже в качестве примера приведен листинг xaml – кода описывающего объект Label на форме(Листинг 3.1).

<Label Content="{Binding Path = LatestData.Temp_in, UpdateSourceTrigger = PropertyChanged}" VerticalAlignment="Center" Background="White" Grid.Column="1" Grid.Row="2"/> 

Листинг 3.1.

Для создания графиков был использован  компонент Chart (Рис.3.6). Этот компонент позволяет быстро и легко создавать наглядные графики.

Рис.3.6 Графики в компоненте Chart

 

 После создания интерфейса необходимо реализовать основные классы:

    • Controller – класс для взаимодействия с контроллером;
    • DBManager – класс для взаимодействия с базой данных использует технологию LinqToSQL;
    • AppSettings  - класс для сохранения настроек программы;
    • DisplayedData – предназначен для хранения последних данных поступающих с контроллера;
    • DBGreenHouse – класс описывающий структуру БД, автоматически сгенерированный с помощью инструмента SQL Metal.

Рассмотрим создание класса DBManager. В этом классе была использована технология LINQ to SQL. Эта технология позволяет интегрировать SQL запросы прямо в код программы, не используя лишнего кода. В примере указанном ниже  из таблицы DataFromSensors выбирается последний элемент (Листинг 3.2). Данный пример показывает наглядную интеграцию запроса SQL в C# код.

 

MainWindow.DisplayedData.LatestData = (from d in _db.DataFromSensors orderby d.ID descending select d).First();

Листинг 3.2

 

В этом классе были реализованы методы для различных целей:

    • Insert – метод для вставки записей (Листинг 3.3);
    • GetAll – метод для доступа к таблице (Листинг 3.4);
    • Update –метод для изменения данных (Листинг 3.5);

 

  static public void Insert<T>(T row) where T : class

  {

            Table<T> table = _db.GetTable<T>();

            table.InsertOnSubmit(row);

            _db.SubmitChanges();

            _onTableChanged(typeof(T));

  }

Листинг 3.3 Метод Insert

static public IQueryable<T> GetAll<T>() where T : class

{

                return from table in _db.GetTable<T>() select table;

}

Листинг 3.4 Метод GetAll

static public void Update<T>() where T : class

{

            _db.SubmitChanges();

            _onTableChanged(typeof(T));

}

Листинг 3.5 Метод Update

После реализации данных методов можно  приступать к созданию следующего класса Controller для взаимодействия с контроллером и обработки полученных данных используется стандартный объект библиотеки .NET класс SerialPort, предназначенный для чтения данных из COM-порта компьютера. Также следует отметить, что опрос контроллера ведется в отдельном потоке. Взаимодействие с контроллером реализовано по следующим алгоритмам (Рис.3.7, Рис 3.8).

Следующий класс AppSettings используется для обработки и последующего сохранения настроек программы и подключения к контроллеру в базе данных. Ниже приведен список публичных свойств этого класса, в которые собственно и поступают данные о настройках.

    • ComPort - название COM – порта через который осуществляется взаимодействие с контроллером;
    • Speed – скорость передачи данных;
    • PollTime – время опроса контроллера в миллисекундах;
    • ConnectAtStartUp – подключение при запуске программы;
    • Profile – выбранный профиль выращивания растения;
    • Stage – этап выращивания растения;

По аналогии был организован класс DisplayedData.

 

Рис.3.7 Алгоритм подключения к контроллеру

Рис.3.8 Алгоритм опроса контроллера

 

 

3.5 Расчет экономических  показателей

Оплата труда руководителей  проекта (начисление за 6 часов) – 795 руб.

  1. Стоимость затраченной электроэнергии

25 КВт*1,5 руб =37,5 руб.

  1. Стоимость работы у ПК

Информация о работе Система управления автоматизированным тепличным хозяйством