Разработка программного средства для панели управления макетом "Интеллектуального здания"
Анализ методов управления "интеллектуальным зданием" при помощи автоматизированных систем. Разработка архитектуры и структуры программного обеспечения компьютерно-интегрированного стенда. Основные этапы процесса проектирования структуры базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 29.06.2014 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
Целью дипломного проекта являлась разработка программного обеспечения для планшетного ПК, которое будет работать под управлением ОС Android. Планшетный ПК будет использоваться как панель управления компьютерно-интегрированным стендом. Передача данных осуществляется через интерфейс беспроводной передачи данных Bluetooth.
Управления интеллектуальными зданиями с помощью мобильных (планшетных) устройств в качестве панели управления стремительно развивается. Поэтому на данном этапе широко используются средства взаимодействия человека и автоматизированной системы. Одним из таких средств является планшетный ПК, который обладает следующими преимуществами: широким функционалом, одновременным управлением всеми компонентами, высокой надежностью, наличием собственной операционной системы, наличием беспроводных модулей, а также оптимальной стоимостью, упрощает работу человеку, и интеграцией в производственный процесс.
Таким образом, тема данного дипломного проекта является актуальной, так как в работе предлагается решение, связанное с использованием планшетного ПК для автоматизации интеллектуального здания. Данное решение имеет доступную стоимость, высокую надежность и малую отказоустойчивость, а самое главное достоинство - это мобильность, портативность и беспроводная передача данных.
Программное обеспечение позволяет работать на всех устройствах с использованием ОС Android. Имеет один исполняемый файл для запуска с расширением apk.
Для достижения указанной цели при выполнении дипломного проекта поставлены следующие задачи:
- проанализировать существующие аналоги разрабатываемого программного средства, а также их функции;
- разработать объектную модель и алгоритм работы программы;
- реализовать программные модули, входящие в состав программного средства.
1. Анализ литературы и требований технического задания
1.1 Анализ задания на дипломное проектирование
В данном дипломном проекте необходимо разработать программу для панели управления макетом «интеллектуального здания».
Целью дипломного проекта является разработка программного обеспечения для планшетного ПК, которое будет работать под управлением ОС Android. Планшетный ПК будет использоваться как панель управления макетом «интеллектуального здания».
Данная программа предназначается для управления «интеллектуальным зданием» при помощи панели управления. Планшетный компьютер управляет работой микроконтроллерным модулем управления через беспроводной интерфейс используя встроенный модуль Bluetooth.
Программа для панели управления будет использовать некоммерческую систему управления базами данных (СУБД) SQLite и может хранить в себе достаточно большой объем информации. Поэтому данное программное обеспечение будет полностью переносимо, и может быть использовано на разном оборудовании.
Для возможности получения отчетов, программа должна генерировать запрашиваемую информацию в удобном для пользователя виде.
Для невозможности разбития на ряд более детальных требований без потери завершённости, программа должна быть атомарна. Это достигается созданием одного запускаемого файла.
Выполнение этих требований предполагает использование объектно-ориентированного программирования.
Программное обеспечение будет позволять контролировать климат, управлять освещением, устанавливать параметры безопасности. В учебный макет монтируются датчики, передающие информацию на главный модуль, который изменяет «настройки» здания в зависимости от внешних условий.
Освещение управляется при помощи сенсоров, которые реагируют на движение.
Одно из дополнительных требований к программе - экономичность, заранее установленное программное обеспечение, которое должно быть с открытым исходным кодом или бесплатным. Преимущественная операционная система - Android. Так как эта операционная система предустановлена во многих планшетных ПК, она является бесплатной и оптимальной для комплексного тестирования программного продукта. Также эти системы могут быть легко настроены на выполнение одной или нескольких функций, что позволит использование бюджетных планшетных терминалов.
Также для разработки программного кода требуется свободная интегрированная среда разработки модульных кроссплатформенных приложений Eclipse, которая позволит компилировать программный код в машинный. Программный продукт реализован на языке программирования Java.
1.2 Анализ требований к системе управления «интеллектуальное здание»
«Интеллектуальное здание» представляет собой «умную» систему, которая объединяет электрические приборы посредством линии управления. Таким образом, становится возможным одновременное управление несколькими приборами.
Под «интеллектуальным зданием» следует понимать систему, которая должна уметь распознавать конкретные ситуации, происходящие в здании, и соответствующим образом на них реагировать: одна из систем может управлять поведением других по заранее выработанным алгоритмам.
Она предназначена для автоматизированного дистанционного управления в учебном макете при помощи панели управления.
При помощи данного программного обеспечения можно:
- выводить на экран панели план помещения;
- изменить режим работы климатических установок;
- управлять освещением;
- включить или отключить охранные системы;
- наглядно выводить информацию о системе.
Основные компоненты учебного стенда:
- центральный модуль управления на базе планшетного ПК;
- предоставленный интерфейс программы для управления;
- беспроводной интерфейс передачи данных Bluetooth.
«Интеллектуальное здание» имеет такие преимущества, как:
- снижение потребления электроэнергии при повышении безопасности системы энергоснабжения;
- экономия на сетевом оборудовании и кабельных сетях;
- увеличение производительности за счет снижения объема работ;
- диспетчерских и эксплуатационных служб;
- оперативность управления объектом.
1.3 Обзор методов управления «интеллектуальным зданием» при помощи автоматизированных систем
На сегодняшний день разработка системы управления интеллектуальным зданием является одним из приоритетных направлений развития автоматизированных систем. В современной системе умного дома, имеющей открытую архитектуру, каждая из систем работает в оптимальном режиме за счет взаимообмена данными с другими системами здания, что в итоге позволяет максимизировать эффективность работы всей системы в целом.
Существуют следующие методы управления «интеллектуальным зданием»:
- автоматическое управление зданием на основе датчиков;
- управление зданием с помощью пульта дистанционного управления и панели управления;
- удаленное управление.
Система управление зданием на основе датчиков и микроконтроллеров используется для управления таких систем, как: системы климат контроля, системы безопасности, системы контроля освещения, системы контроля доступа и т.д. В системе содержится следующие типы датчики: датчик присутствия, датчик дыма, датчик движения, датчик температуры, датчик освещения, датчик протечки воды и т.д.
На рис. 1.1 представлена архитектура системы автоматического управления зданием на основе датчиков.
Рисунок 1.1 - Архитектура системы управления домом на основе датчиков
Одним из таких сигналов является датчики движения. Сигнал на выходе датчика зависит от уровня ИК излучения, усредненного по полю зрения датчика. При обнаружении, каких-либо перемещений человека на выходе датчика повышается температура, эта температура значительно больше, чем температура фона датчика.
Датчик присутствия относится к группе пассивных ИК датчиков, как датчики движения или датчики движения охранной системы. Эти устройства следует различать по их внутренней схеме, детектированию и обработке сигнала, что определяет их применение:
- после обнаружения движения датчик движения включает освещение в зависимости от освещенности и выключает в зависимости от освещенности, если движение больше не обнаруживается;
- датчик движения охранной системы выдает сигнал об обнаружении движения (импульс) центральной охранной системе независимо от освещенности. Количество импульсов, передаваемых в течение определенного промежутка времени, часто можно задавать произвольно;
- датчик присутствия спроектирован для включения освещения в зависимости от освещенности при обнаружении движения и выключения, если освещение больше не нужно. Это происходит, если освещенность без искусственного освещения достаточна, или больше нет присутствия людей;
- датчик присутствия монтируется только под потолком помещения и контролирует поверхность под собой. Он имеет пассивный ИК датчик и реагирует на тепловые перемещения, вызываемые людьми, животными или предметами.
Датчик освещения предназначены для автоматического включения электрических источников освещения (лампы, прожекторы, светильники) при наступлении условий недостаточной видимости. По исполнению датчики освещенности бывают малогабаритными и стандартными. Малогабаритные датчики освещения могут встраиваться непосредственно в светильники, стандартные устанавливаются в помещении на стенах.
Датчик дыма и температуры позволяет управлять температурой в конкретном помещении. Система самостоятельно создает необходимые условия в помещении. Для того чтобы выставить требуемую температуру в комнате, достаточно задать значение температуры на панели электронного термостата или сенсорной управляющей панели. Система сама решит, какое тепловое устройство (радиаторы отопления, теплые полы, тепловентиляторы, кондиционеры) и на какую мощность включить, чтобы добиться заданных параметров. При этом мощность и количество включенных тепловых приборов будут выбраны в зависимости от уличной температуры и нужной скорости прогрева.
Система безопасности с использованием дымовых и тепловых пожарных датчиков. Использование качественных профессиональных датчиков предотвратит возгорание, своевременно сообщив пользователю о месте и типе возможного происшествия, в том числе на системы визуализации, монитор, телевизор, сенсорные панели, мобильные и стационарные телефоны.
Пульт дистанционного управления и панель управления - наиболее распространенное управляющее устройство. Выбор пульта дистанционного управления широк: от пульта с одной кнопкой до универсального пульта, способного управлять практически всеми бытовыми приборами. Пульт управляет модулями: сигналы принимает трансивер и преобразует их в команды, передаваемые в электрическую сеть. Трансивер может быть выполнен как отдельное устройство, а может быть совмещен с другим устройством. Подключив трансивер в обычную электрическую розетку, можно с дистанционного пульта «включить/выключить» электрический прибор, изменить яркость освещения, «включить/выключить» весь свет. Практичность ПУ - из любой точки дома можно управлять и освещением, и любыми электроприборами.
Пульт дистанционного управления используется для передачи основных команд, таких как включения и выключения света или изменение его яркости. Существуют различные методы передачи сигналов пульта дистанционного управления: ИК, радио и Bluetooth.
В настоящее время самым распространенным пультом дистанционного управления является универсальный пульт. Универсальный пульт дистанционного управления - это разновидность ПДУ, предназначенная для управления несколькими бытовыми устройствами.
Трансивер предназначен только для передачи сигналов от пульта другим устройствам по электропроводке. С его помощью все команды, которые мы подаем с пульта, передаются соответствующим устройствам, находящимся в любом месте дома. Бывают также трансиверы, которые могут сами управлять электрическими приборами. В этом случае трансивер не только передает сигналы от пульта, но и исполняет те команды, которые ему посылаем.
Система удаленного управления зданием - управление зданием с компьютера или мобильного телефона.
Для управления зданием с помощью компьютера необходимо наличие сервера. С одной стороны, сервер встраивается в локальную сеть (это и витая пара, и точки доступа Wi-Fi) дома, с другой подключается к информационной системе управления. Далее сервер превращается в простого посредника: он перенаправит команды, пришедшие по локальной сети от нас к управляющим устройствам здания. И наоборот он собирает информацию от систем дома и посылает ее нам по локальной сети. Не нужно привыкать к новому интерфейсу, сервер системы - это веб-сервер, поэтому для общения с ним мы используем обычный веб-браузер. Это утилитарность дает еще одно важное преимущество: если локальная сеть подключена к Интернету то, нам необязательно находится дома - можем быть где угодно - общение с умным домом будет выглядеть абсолютно также. Посредником между нами и домом может выступать как стационарный компьютер, находящийся у нас дома или, скажем, в Интернет-кафе, так и портативный компьютер или телефон- коммуникатор. Если нет под рукой ни одного из перечисленного выше устройства, мы можем сделать это непосредственно с помощью мобильного телефона - сервер поддерживает WAP технологию.
Интернет сервер интеллектуального здания также несет на себе функцию обратной связи здания с нами. Формируя с помощью веб-камеры изображения различных частей здания, сервер может ретранслировать ее нам в реальном времени с помощью Интернет. Или, например, он может проинформировать о внештатной ситуации, случившейся в наше отсутствие.
Удаленный контроль обычно доступен с мобильного телефона или через Интернет. Практичность этой опции сомнений не вызывает. Заблаговременно включив освещение, мы сможем создать нужную для оптимальной ситуации освещения и температуру в помещении к своему появлению. Или, послав запрос со своего телефона, вы узнаете о текущем состоянии системы и при необходимости отрегулируете ее работу. Для защиты от несанкционированного доступа, как правило, используют ввод пароля.
1.4 Анализ способов управления «интеллектуальным зданием»
Одним из главных достоинств является простота и практичность управления оборудованием и системой, которые объединены автоматизированными системами «интеллектуальное здание» в единое целое.
Для общения с системой и её управлением, используются все средства: от кнопочных выключателей различного дизайна до сенсорных видео панелей. Причем выключатели и пульты управления не связаны с конкретным светильником, телевизором, кондиционером.
Кнопочная панель, оснащенная микроконтроллером, и подключенная к системе «интеллектуальное здание», способна управлять не только освещением в данном помещении, но и всем зданием, например, климатом или безопасностью. Функциональность каждой кнопки задается программно и может быть изменена.
Панель управления является многофункциональным интерактивным органом управления системой и контроля над состоянием «интеллектуального здания».
Интуитивно понятный интерфейс пользователя «интеллектуального здания» создается разработчиком. На панели управления отображается план любого помещения или окружающей территории, выводятся картинки с видеокамер. Нажатием на конкретную иконку можно изменить режимы работы климатических установок, включить освещение или отключить сигнализацию.
Панель управления может быть стационарной или переносимой, различного размера и дизайна.
Управлять системой можно с помощью планшетного ПК, персонального компьютера или ноутбука, подключенного к автоматизированной системе «интеллектуальное здание» через беспроводной интерфейс Bluetooth, локальную сеть или через сеть Интернет.
Для повышения практичности система управления может иметь набор типовых "сценариев" автоматизированной работы с фиксированными предустановленными настройками.
В одну систему автоматизации связываются освещение, розеточная сеть, охранные системы и климатические установки, что позволяет контролировать и изменять условия комплексно. Эти настройки определяются пользователем и программируются на стадии установки системы.
При работе системы по любому "сценарию" пользователь может оперативно изменить параметры работы всех устройств здания с помощью любого пульта управления.
1.5 Анализ аналогичных программных продуктов
На данный момент существует большое количество систем автоматизации управления и контроля систем «Интеллектуальное здание». Это связано с тем, что архитектура такой системы, ее характеристики имеют спрос на рынке и внедряются во многие предприятия и организации, для того, чтобы сделать контроль и управления этими зданиями оптимально простыми и качественными.
Рассмотрим характеристики двух программных утилит для автоматизации управления зданиями Domintell и NetPing.
Domintell - это автоматизированная система управления, предназначена для контроля и управления освещением, отоплением, вентиляцией, водоснабжением, безопасностью, аудио/видео аппаратурой и другими инженерными системами дома. Все устройства объединены одним кабелем, что существенно сокращает кабельное хозяйство, делает систему гибкой и позволяет легко наращивать её функции. Систему можно настраивать и модифицировать по желанию. Всеми функциями системы можно управлять дистанционно с пульта или даже с мобильного телефона. Domintell позволяет интегрировать различные подсистемы, обеспечивая их слаженную работу и высокую функциональность всего комплекса.
Интеграция подразумевает слаженную работу различных систем. Это позволяет не только исключить конфликты при их функционировании, но и обеспечить гармоничное взаимодействие.
Основные функции программы:
а) управление освещением. Внутреннее освещение во всём доме, наружное освещение, динамичные световые сцены, позволяющие придать разные «настроения» помещению, включение при прохождении, плавное включение ламп накаливания с учетом мощности, выключение всех устройств по одной команде;
б) управление силовыми розетками. Включение/отключение групп розеток или отдельных розеток в каждой комнате. При этом можно управлять различными бытовыми устройствами, к примеру, отключить телевизор в детской комнате, отключить питание утюга после заданного интервала времени, уходя из дома обесточить все устройства (кроме определённых) по нажатию одной кнопки и т.д.;
в) управление электродвигателями. Шторы, жалюзи, роллеты, автоматические ворота, шлагбаумы, гаражные ворота, насосы;
г) sms - оповещение и управление. Оповещение на мобильный телефон при возникновении аварийных ситуаций - пожар, затопление водой, несанкционированное проникновение и т.п. Домом можно управлять, отправляя SMS-сообщения с мобильного телефона;
д) безопасность и сигнализация. Датчики движения, датчики закрытия окон и дверей обеспечивают защиту помещений от несанкционированного проникновения. К функциям безопасности также относится защита от затопления водой, пожарная сигнализация, обесточивание электроприборов при уходе, возможность отправки сообщений по SMS при аварийных ситуациях, включение сирен, имитация присутствия. Кроме того, система позволяет организовать тревожные кнопки, например, в детской комнате, у кровати больного и т.д.;
е) функции «Мультирум». Система мультирум обеспечивает матричную коммутацию аудио сигналов по помещениям. Звук от различных источников (DVD и CD проигрыватели, радио и т.д.) выводится в требуемых помещениях. Управление переключением каналов, настройкой громкости выбор FM-станции по командам с ИК-пульта или настенных кнопок, по датчикам движения и т.д.;
є) функции универсального дистанционного ИК-пульта. Система, имея ИК-передатчики, может управлять устройствами, поддерживающими управление по ИК-каналу. Таким образом, с пульта Domintell, сенсорной панели, кнопочных выключателей или мобильного телефона можно удалённо управлять плеерами, кондиционерами, телевизорами, CD/DVD проигрывателями во всём доме. Система позволяет управлять климатом, как во всём доме, так и в отдельных помещениях, обеспечивая слаженную работу систем и приборов, ответственных за климат (система отопления, теплый пол, вентиляция, кондиционирование, влажность и т.д.). Domintell позволяет задавать различные режимы при присутствии или отсутствии людей;
ж) климат-контроль. Автоматический полив: контроль влажности почвы, управление насосами, управление по расписанию, учёт погодных условий;
з) функции диспетчеризации может быть использованы для построения систем диспетчеризации. При этом с компьютера диспетчера осуществляется мониторинг и управление всеми функциями системы. Подключение к ПК осуществляется через шлюзовой модуль.
Умный дом Domintell отдельных апартаментов легко интегрируются в общую систему интеллектуального здания. Это позволяет контролировать аварийные ситуации (затопление, пожар, охрана), состояние оборудования, температуру и другие параметры всех автоматизированных апартаментов в одном диспетчерском пункте. Из определенного помещения можно вызывать необходимые службы.
Управление умным домом программное. Программа может легко модифицироваться в дальнейшем по требованию пользователя.
Управляющие команды подаются:
а) при помощи кнопочных выключателей, расположенных у дверей, кроватей и в других местах. Кнопки имеют подсветку и подсветку статуса;
б) с дистанционного ИК пульта. При этом команды, подаваемые с пульта, могут вести себя одинаковым образом в разных помещениях. К примеру, первая кнопка отвечает за свет в данном помещении. Реакции на команды с пульта могут иметь глобальных характер, распространяясь на все помещения в квартире;
в) сенсорной панели, возможно управление всеми запрограммирован-ными функциями системы. Панель имеет интуитивно понятный интерфейс с разбивкой функций, сценариев и исполнительных устройств по помещениям;
г) с мобильного телефона, путём отправки SMS-сообщений;
д) по срабатыванию датчиков движения, пожарной сигнализации, датчиков протечки воды, открытия, закрытия дверей и т.д.;
е) По таймерам, запрограммированными на различные события.
Преимущества Domintell:
а) доступная цена;
б) лёгкость установки и эксплуатации. Программирование системы простое. Настраивать систему может любой человек, знакомый с Windows, не имея высокой квалификации в области электроники;
в) дизайн. Кнопочные выключатели, дисплеи и пульты дистанционного управления, выполненные в металле, с подсветкой.
Рассмотрим вторую утилиту NetPing. Отечественная компания «Alentis Electronics» является разработчиком и производителем устройства мониторинга окружающей среды NetPing. Основная сфера применения - удаленный контроль и мониторинг устройств в доме и офисе. Задачи, решаемые при помощи устройства NetPing:
- удаленное управление электропитанием;
- управление безопасностью и отслеживание чрезвычайных происшествий, используя датчики дыма, протечки воды, утечки газа, антивандальные системы, управление камерами видео наблюдения;
- управление микроклиматом при помощи датчиков температуры, влажности и управление кондиционером через инфракрасный порт;
- управление АТС по порту RS-232;
- дистанционное изменение настроек в зависимости от ситуации;
- отправка уведомлений о неполадках или других важных событиях по средством SMS, электронная почта;
- доступ к системе в реальном времени через HTTP или SNMP;
- управление освещением и другими бытовыми приборами по расписанию.
На рисунке 2.1 показана схема взаимодействия компонентов Domintell.
Рисунок 1.2 - Схема взаимодействия компонентов
Устройства NetPing позволяю подключить до 16 датчиков на одно устройство. Благодаря встроенному Web-серверу контроль и управление осуществляется через браузер.
На рисунке 1.3 представлен интерфейс управления NetPing из браузера
Рисунок 1.3 - NetPing, управление через браузер
Но можно использовать сторонние программы мониторинга, например, Zabbix, Nagios и PRTG Network (http://www.paessler.com/prtg) который рекомендует производитель NetPing.
Преимущество PRTG Network заключается в более удобном интерфейсе программы, возможность вести подробную статистику и мобильную версию приложения (Android и iOS).
На рисунке 1.4 показан интерфейс рекомендуемый производителем Netping
Рисунок 1.4 - Интерфейс стороннего интерфейса PRTG Network
1.6 Постановка задач, подлежащих решению
Главная цель дипломного проектирования разработать интерфейс программного обеспечения для панели управления макетом «Интеллектуального здания», которое сможет выводить информацию на панель управления и управлять датчиками, а также исполнительными механизмами.
Для нормальной работы разрабатываемого программного средства необходимо реализовать следующие требования к рабочей станции:
- наличие ПК с ОС (желательно Microsoft Windows версии XP и выше);
- не менее, чем 1 ГБ оперативной памяти, процессор с тактовой частотой не менее, чем 2 Ггц, дисковую подсистему, что обеспечивает информационный обмен со скоростью не менее, чем 30 МБ/с и имеет вместительность не менее, чем 80 Гб;
- планшетный ПК с операционной системой Android, который поддерживает установку и функционирование программного продукта, реализованного на языке ООП Java.
Программный продукт должен иметь удобный и понятный интерфейс для управления всеми операциями и объектами, а также быть доступным для легкого освоения его персоналом.
На панели управления будет отображаться план любого помещения или план окружающей территории в виде картинки. Нажатием на конкретную иконку можно изменить:
- режим работы освещения;
- включить или отключить охранные системы;
- настроить работу климатических установок.
Основные функции программы:
- вывод план помещения на экран;
- вкл/откл. датчиков и исполнительных механизмов;
- редактирование исполнительных элементов;
- вывод текущего состояния на экран.
Система, для которой будут обеспечены перечисленные требования, позволит организовать быструю и качественную ее работу.
2. Разработка архитектуры и структуры программного обеспечения компьютерно-интегрированного стенда
2.1 Разработка архитектуры лабораторного стенда
Разрабатываемый компьютерно-интегрированный стенд предназначен для проведения исследований связанных с изучением принципов автоматизации интеллектуальных зданий, использования компьютеризованных технологий для управления умным домом.
В состав лабораторного стенда будет входить следующие модули:
- модуль управления;
- демонстрационный (исполнительный) модуль.
Модуль управления предназначен для выполнения диспетчерского контроля за состоянием демонстрационного модуля. Его основные функции:
- получение информации о состоянии датчиков;
- отображение состояния датчиков и исполнительных устройств на экране ПК или планшета;
- управление исполнительными устройствами макета;
- предоставление пользователю возможности для формирования управляющих команд.
Демонстрационный модуль предназначен для визуализации состояния исполнительных устройств. Данный модуль состоит:
- блок управления освещением;
- блок управления воротами;
- блок управления жалюзи;
- блок контроля температуры;
- блок контроля состояния охранно-пожарной сигнализации.
Связь между компонентами макета осуществляется при помощи беспроводных технологий. Такой технологией может быть - Bluetooth.
Данный выбор обусловлен наличием встроенного модуля Bluetooth практически во всех мобильных устройствах (планшетах и телефонах), а также широкой доступности преобразователей для настольных ПК.
2.2 Разработка структуры программного обеспечения модуля управления
В данном режиме основной задачей программы является контроль за поступающими сообщениями.
При появлении сообщения производится его анализ. В первую очередь проверяется правильность принятия пакета данных. Для этого проверяется его длина и признак соответствия нашему устройств.
Если длина сообщения отличатся от заданной, то такое сообщение исключается из рассмотрения, и программа переходит снова в режим ожидания.
Далее проверяется принадлежность сообщения нашему устройству. Для этого нужно сравнить поле адреса принятого сообщения со значением, которое определено в формате пакета.
Если сообщение относится к нашему устройству, то программа переходит к его анализу.
Для этого вначале проверяется поле адреса. Данное поле должно состоять из двух символов в формате ASCII. Например, запись «03» означает, что сообщение пришло от модуля с адресом «три».
Получив адрес устройства-отправителя производится его писк в базе данных. Если такого устройства нет, то это значит, что сообщение пришло с ошибкой, и оно исключается из дальнейшего рассмотрения.
Если в базе данных будет найдено соответствие полученному адресу, то переходим к следующему шагу - анализ типа устройства. Тип устройства закодирован в следующих двух байтах сообщения.
Так же, как и ранее после выделения двух байт из полученного сообщения выполняется проверка по базе данных на наличие указанного типа устройства.
Если такой записи не будет обнаружено, то сообщение исключается из рассмотрения.
Если тип устройства обнаружен в базе данных, то программа переходит к проверке следующих четырех байт. В них закодирован передаваемый параметр.
В качестве параметра может быть четырехзначное число или слово до четырех символом с учетом пробела. Например, число «0256» или управляющая команда «-on-», или «-off».
Алгоритм программы работает таким образом, что после получения, указанных четырех символов, выполняется проверка на соответствия числу или одному из зарезервированных слов:
- on;
- off;
- left;
- rigt; (rigt - это сокращенная запись слова right, так как размер поля только четыре знака).
В конце проверяется контрольная сумма и признак конца сообщения.
3. Разработка структуры базы данных
3.1 Проектирование структуры БД
База данных построена на основе СУБД SQLITE. Данное СУБД выбрано потому, что SQLite доступен на любом Android-устройстве, его не нужно устанавливать отдельно.
SQLite поддерживает типы TEXT (аналог String в Java), INTEGER (аналог long в Java) и REAL (аналог double в Java). Остальные типы следует конвертировать, прежде чем сохранять в базе данных. SQLite сама по себе не проверяет типы данных, поэтому можно записать целое число в колонку, предназначенную для строк и наоборот.
В базе данных будут сохраняться следующие объекты:
- список модулей, установленных на демонстрационном стенде;
- список типов модулей;
- список состояний модулей;
- журнал событий.
Список модулей содержит перечень устройств, их названия и адреса, а также изображения.
Список типов модулей содержит перечень наименований типов.
Список состояний предназначен для описания поведения виртуального модуля на экране планшета или телефона. В данном списке сохраняются следующие данные:
а) состояние модуля. Состояние может быть записано в виде служебных слов «on / off», в виде численных данных, например «0..100»;
б) реакция на нажатия кнопок управления. Значениями может быть служебное слово «on» или «off», а также знаки, например «-» или «+». Это значением должно задаваться пользователем при настройке макета или подготовке к проведению эксперимента;
в) ссылки на изображения, соответствующие следующим состояниям исследуемым модулям:
1) модуль включен;
2) модуль выключен;
3) состояние модуля: 0%, 25%, 50%, 75%, 100% уровня сигнала или мощности.
В таблице «Журнал событий» сохраняются данные о произошедших действиях с тем или иным модулем. В ней также сохраняется информация о дате и времени события, наименовании и параметрах, которые были переданы в это время и связаны с текущим событием.
Структура таблицы «Список модулей» представлена в таблице 3.1.
Таблица 3.1 - Структура таблицы «Список модулей»
Наименование поля |
Тип поля |
Размер |
Ключ |
|
ID |
Integer |
Primary |
||
Name |
Text |
32 |
||
Notice |
Text |
256 |
||
Image |
Text |
256 |
||
ID_Type |
Integer |
|||
Status |
Text |
32 |
Поле ID используется для автоматической нумерации строк в таблице. Это поле уникально и используется как первичный ключ таблицы.
Поле Name предназначено для сохранения наименования модуля. Поле имеет текстовый формат данных.
Поле Notice предназначено для хранения дополнительной информации о модуле. Поле имеет текстовый формат данных.
Поле Image используется для сохранения ссылки на файл с изображением модуля. Тип поля текстовый.
Поле ID_Type используется для создания ссылки на таблицу типов модулей. Тип поля числовой.
Поле Status предназначено для хранения данных о состоянии модуля и может использоваться для скрытия временно неиспользуемых модулей. Тип поля текстовый.
В таблице 3.2 приведена структура таблицы «Список типов модулей».
Таблица 3.2 - Структура таблицы «Список типов модулей»
Наименование поля |
Тип поля |
Размер |
Ключ |
|
ID |
Integer |
Primary |
||
Name |
Text |
32 |
||
Notice |
Text |
256 |
Поле ID используется для автоматической нумерации строк в таблице. Это поле уникально и используется как первичный ключ таблицы.
Поле Name предназначено для сохранения наименования типа модуля. Поле имеет текстовый формат данных.
Поле Notice предназначено для хранения дополнительной информации о типе модуля. Поле имеет текстовый формат данных.
В таблице 3.3 приведена структура таблицы «Список состояний модулей».
Поле ID используется для автоматической нумерации строк в таблице. Это поле уникально и используется как первичный ключ таблицы.
Поле ID_Module используется для ссылки на таблицу «Список типов модулей». Тип поля числовой.
Поле State используется для сохранения текущего состояния модуля. Тип поля текстовый.
Поле Key1 предназначено для хранения выражения или команды, которая будет выполняться при нажатии на левую кнопку в интерфейсе управления модулем.
Таблица 3.3 - Структура таблицы «Список состояний модулей»
Наименование поля |
Тип поля |
Размер |
Ключ |
|
ID |
Integer |
Primary |
||
ID_Module |
Integer |
|||
State |
Text |
32 |
||
Key1 |
Text |
32 |
||
Key2 |
Text |
32 |
||
Image_on |
Text |
256 |
||
Image_off |
Text |
32 |
||
Image_0P |
Text |
256 |
||
Image_25P |
Text |
256 |
||
Image_50P |
Text |
256 |
||
Image_75P |
Text |
256 |
||
Image_100P |
Text |
256 |
Поле Key2 предназначено для хранения выражения или команды, которая будет выполняться при нажатии на правую кнопку в интерфейсе управления модулем.
Поле Image_on используется для хранения ссылки на изображение, которое соответствует исполнительному модулю во включенном состоянии.
Поле Image_off используется для хранения ссылки на изображение, которое соответствует исполнительному модулю в выключенном состоянии.
Поле Image_0P используется для хранения ссылки на изображение, которое соответствует исполнительному модулю с нулевой мощностью выходного сигнала.
Поле Image_25P используется для хранения ссылки на изображение, которое соответствует исполнительному модулю с уровнем мощности выходного сигнала равной 25%.
Поле Image_50P используется для хранения ссылки на изображение, которое соответствует исполнительному модулю с уровнем мощности выходного сигнала равной 50%.
Поле Image_75P используется для хранения ссылки на изображение, которое соответствует исполнительному модулю с уровнем мощности выходного сигнала равной 75%.
Поле Image_100P используется для хранения ссылки на изображение, которое соответствует исполнительному модулю с уровнем мощности выходного сигнала равной 100%.
В таблице 3.4 приведена структура таблицы «Журнал событий».
Таблица 3.4 - Структура таблицы «Журнал событий»
Наименование поля |
Тип поля |
Размер |
Ключ |
|
ID |
Integer |
Primary |
||
ID_Module |
Integer |
|||
Date |
Date |
|||
Time |
Time |
|||
State |
Text |
256 |
||
Action |
Text |
32 |
||
Parametr |
Text |
32 |
Поле ID используется для автоматической нумерации строк в таблице. Это поле уникально и используется как первичный ключ таблицы.
Поле ID_Module используется для ссылки на таблицу «Список типов модулей». Тип поля числовой.
Поле Date служит для хранения даты произошедшего события. Тип поля дата.
Поле Time служит для хранения времени произошедшего события. Тип поля время.
Поле State предназначено для сохранения текущего состояния модуля.
Поле Action предназначено для хранения записи о выражении или команды, которая будет выполнялась при нажатии на соответствующую кнопку в интерфейсе управления модулем
Поле Parametr хранит текущее значение параметра.
На рисунке 3.1 показана структура спроектированной базы данных и связи между таблицами.
Рисунок 3.1 - Структура спроектированной базы данных
Для работы с базой нам понадобятся два класса:
SQLiteOpenHelper - класс для создания и обновления базы данных. В приложении необходимо будет создать класс-наследник от SQLiteOpenHelper и описать в нем два метода:
- onCreate(SQLiteDatabase db) - вызывается один раз при создании БД;
-onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) - вызывается, когда необходимо обновить БД (в данном случае под обновлением имеется в виду не обновление записей, а обновление структуры базы данных.
Для приложения можно создать несколько БД, все они будут доступны из любого класса программы, но не доступны для других программ.
SQLiteDatabase - класс, который предоставляет методы для добавления, обновления, удаления и выборки данных из БД. Основными методами являются:
- long insert(String table, String nullColumnHack, ContentValues values) - добавление строки в таблицу;
- table - название таблицы;
- nullColumnHack - SQL не позволяет вставлять полностью пустую строку без названия хотя бы одного столбца.
Для добавления данных в таблицу необходимо написать код в формате:
INSERT INTO my_table (my_column) VALUES (NULL);
При этом, если values пустой, то в таблицу строка не добавится, если же это необходимо, то в nullColumnHack передается название столбца, которое будет использоваться при построении такого запроса. Очевидно, что столбец при этом может быть любым. Если же при пустом values добавлять строку не надо (что чаще всего и бывает), то передается null.
Values - структура (ассоциативный массив) содержащая данные которые необходимо вставить. Ключом массива является название столбца, а значением - значение столбца.
Возвращает метод id добавленной строки или -1 если произошла ошибка (например, а случае пустого values строка добавлена не будет и метод вернет -1).
Int update(String table, ContentValues values, String whereClause, String[] whereArgs) - обновление одной или нескольких строк.
Table и values - аналогично, как и в insert, название таблицы и значения
WhereСlause и whereArgs - используются для построения выражения WHERE в sql. Причем в строке whereClause пишется само выражение, например, «column_one = ? AND column_two < ?», а в whereArgs передается массив строк, которые будут подставляться вместо знаков «?» в выражение whereClause. Этот метод возвращает количество обновленных строк.
Int delete(String table, String whereClause, String[] whereArgs) - удаление строк
Параметры аналогичны методу update(), возвращается количество удаленных строк.
Cursor query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) - выборка строк
Distinct - определяет уникальность выбранных строчек. См DISTINCT в sql
Table - название таблицы
Columns - массив строк с названиями столбцов, которые необходимо выбрать. Для выборки всех столбцов передается null.
Selection и selectionArgs - условия выборки и аргументы для выборки. Аналогичны whereClause и whereArgs в методе update ()
Groupsby, having, orderBy, limit - определяет группировку, сортировку и количество выбираемых строк. Строки имеют тот же формат как они писались бы в sql-выражении (без слов «GROUP BY», «HAVING», «ORDER BY», «LIMIT» соответственно). См GROUP BY, HAVING, ORDER BY в sql.
Cursor rawQuery (String sql, String[] selectionArgs) - метод, который делает то же, что и предыдущий, только здесь запрос пишется как обычный sql-запрос. С помощью этого метода можно производить выборку из нескольких таблиц, использовать JOIN и писать другие запросы.
Два последних метода возвращают экземпляр класса Cursor. Класс Cursor содержит все строки, которые выбираются из БД, а также имеет понятие итератора (указателя), который указывает на одну из строк. То есть в каждый момент времени мы можем прочитать значения только одной строки, затем передвигаем итератор на другую строку и читаем ее значения. Метод int getCount() - возвращает общее количество строк.
4. Разработка программы для модуля управления
4.1 Особенности разработки программы для операционной системы Android
Главной особенностью в Android является возможность использовать приложением компоненты/элементы других приложений, естественно с их разрешения.
В Android существует четыре важных компонента:
а) activity - описывает пользовательский интерфейс. Большинство обычных приложений состоит из одной и более активностей;
б) service - описывает сервис, некая задача без пользовательского интерфейса, выполняемая в фоновом режиме определенное или бесконечное время, например, проигрывание музыки. Взаимодействие с сервисами, например, пауза происходит через определенные интерфейсы;
в) broadcastReceiver - описывает реакцию на различные сообщения, как изменение временной зоны, разрядка аккумулятора, смена языка и т.п;
г) contentProvider - открывает доступ к данным другим приложениям. Обычно объекты этого типа используются через объекты типа ContentResolver. При каждом запросе к такому компоненту Android делает все, чтобы компонент стал доступным (запуск приложения, владеющее этим компонентом, создание самого объекта этого типа).
За исключением поставщиков данных, компоненты запускаются с использованием объектов типа Intent, представляющих асинхронное сообщение. По необходимости в них можно сохранить результат работы компонента и вернуть родительскому компоненту. В Android есть множество предопределенных интентов.
В Android предусмотрен механизм передачи данных между компонентами, например, между активностями.
Для передачи сложных объектов, в них реализуется интерфейс Parcelable. Класс Parcel реализует контейнер для передаваемых данных. Он может содержать как простые типы данных, так и сложные объекты.
Далее контейнер добавляется в Intent сообщение под каким-либо именем (обычно с префиксом пакета). Получатель смотрит Intent, берет оттуда контейнер, вызовом метода getExtra получает отображение имя/объект.
Каждое Android-приложение имеет манифест файл AndroidManifest.xml, который просматривается андроидом перед запуском. В нем перечисляются доступные компоненты, точка входа в приложение, используемые интенты, права доступа и т.п.
Android имеет развитую систему управления ресурсами. Главная задача - отделить данные от кода. Большинство ресурсы описываются в различных xml файлах. Например, можно определить строковые данные для различных языков, или изображения для разных разрешений. Формы пользовательского интерфейса активностей также можно определить в ресурсах.
Компоненты приложения имеют свой жизненный цикл - начиная с инициализации их для ответа на намерение до их уничтожения. Поэтому, они могут быть активными или неактивными или, с случае деятельности, видимыми или невидимыми пользователю. Эта часть обсуждает деятельности, службы и широковещательные подписчики - включая их состояния во время жизненного цикла, методы уведомляющие о смене состояния, и эффект влияния на состояния возможности, что их процессы может быть завершен и экземпляры классов удалены.
Деятельность имеет три состояния:
а) активность или выполнение, когда она на переднем плане на экране (на верху стека деятельностей текущей задачи). Это деятельность, являющаяся фокусом ввода пользователя;
б) пауза если она потеряла фокус ввода, но все еще видима пользователю. Это происходит, когда другая деятельность открыта поверх, но имеет полупрозрачный или не перекрывающий весь экран графический интерфейс пользователя, так что остается видимой часть графического интерфейса перекрытой деятельности. Приостановленная деятельность полностью жива (она поддерживает все состояния и рабочую информацию и остается связанной с менеджером окон), но может быть уничтожена системой при критической нехватке памяти;
в) остановлена если полностью перекрыта другой деятельностью. Она всё еще сохраняет состояние и рабочую информацию. Однако, больше не видима пользователю, таким образом ее окно скрыто, и она будет вероятнее всего уничтожена системой, когда память будет необходима в другом месте.
Если деятельность приостановлена или остановлена, система может удалить ее из памяти запросив ее завершение (вызывая ее метод finish()), или просто убив ее процесс. Когда нужно снова показать ее пользователю, она должна быть полностью перезапущена и восстановлена к ее предыдущему состоянию.
Приход деятельности из состояние в состояние, сообщает об изменении вызовами следующих защищенных методов:
- void onCreate(Bundle savedInstanceState);
- void onStart();
- void onRestart();
- void onResume();
- void onPause();
- void onStop();
- void onDestroy().
Все эти методы - обработчики прерываний, которые можно перекрыть, чтобы сделать соответствующую работу, когда состояние изменяется. Все деятельности должны реализовать onCreate() для начальной инициализации, когда создается экземпляр класса. Многие так же должны реализовать onPause() чтобы передать изменения данных и подготовиться к прекращению взаимодействия с пользователем.
Реализация любого метода в жизненном цикле деятельности всегда должна сначала вызвать метод суперкласса. Например:
protected void onPause() {
super.onPause();
. . .
}
Все вместе эти семь методов определяют весь жизненный цикл деятельности. Есть три вложенных цикла, которые можно контролировать, реализовав их:
а) полное время жизни деятельности проходит между первым вызовом onCreate() к единственному финальному вызову onDestroy(). Деятельность делает всю свою начальную установку "глобального" состояния в методе onCreate(), и высвобождает все занятые ресурсы в методе onDestroy(). Например, если она уже работает в фоне для получения данных из сети, она может создать поток в onCreate() и уничтожить в onDestroy();
б) видимое время жизни деятельности проходит между вызовом onStart() до соответствующего вызова onStop(). В это время, пользователь может видеть экранную деятельность, хотя, возможно, она не находится на переднем плане и не взаимодействует с пользователем. Между этими двумя методами, Вы можете захватить ресурсы, которые необходимы, чтобы показать деятельности пользователю. Например, Вы можете зарегистрировать BroadcastReceiver в onStart() чтобы контролировать изменения, которые воздействуют на Ваш UI, и разрегистрируют его в onStop(), когда пользователь долго не видит, что Вы показывате. Методы onStart() и onStop() могут быть вызваны многократно, так как деятельность может многократно быть показана и скрыта от пользователя;
в) время жизни переднего плана деятельности проходит между вызовом onResume() до соответствующего вызова onPause(). В это время, деятельность на экране расположена впереди все других и взаимодействует с пользователем. Деятельность может часто переходить между продолженными и приостановленными состояниями, например, onPause() вызывается, когда устройство засыпает или, когда запускается новая деятельность, onResume() вызывается, когда появляется результат деятельности или приходит новое намерение. Поэтому, код в этих двух методах должен быть довольно легковесным.
На рисунке 4.1 показаны основные циклы и пути, которые деятельность может пройти между состояниями.
Рисунок 4.1 - Основные стадии работы приложения под управлением ОС Android
Цветные овалы - главные состояния, в которых может быть деятельность. Прямоугольники представляют методы возвратного вызова, которые можно реализовать, чтобы выполнить операции, когда деятельности переходят между состояниями.
4.2 Описание интерфейса программы
Основное окно программы поделено на три зоны:
- список доступных объектов;
- информационная зона;
- системная зона.
В списке доступных объектов отображаются все модули, которыми можно управлять при помощи данной программы. Данный список берется из базы данных. Он может быть дополнен пользователем при настройке работы программы. Также можно удалить ненужные объекты.
В информационной области сосредоточены такие элементы как:
- изображение управляемого объекта;
- наименование объекта;
- сведения о текущем состоянии объекта;
- кнопки управления.
События, связанные с кнопками берутся из базы данных из таблицы «Список состояний модулей». Как было отмечено ранее, в данной таблице прописываются команды для каждой кнопки, а также диапазон изменяемых значений.
При нажатии на одну из кнопок, команда, которая закреплена за кнопкой отправляется через модуль Bluetooth на демонстрационную часть макета.
В нижней части экрана расположены кнопки управления модулем Bluetooth. При помощи данных кнопок можно подключить или отключить связь с данным модулем.
4.3 Передача данных по Bluetooth
Одной из важных задач разработанной программы является передача команд управления через Bluetooth модуль связи. Рассмотрим функции для работы с данным модулем.
Для передачи данных с использованием Bluetooth нужно:
а) включить адаптер Bluetooth;
б) найти доступные Bluetooth-устройства;
в) подключиться к одному из устройств;
г) произвести, собственно, обмен данными.
В файл манифеста Android-приложения, использующего Bluetooth, добавляем строки:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
В пакете android.bluetooth определены следующие классы:
а) BluetoothAdapter - представляет интерфейс обнаружения и установки Bluetooth-соединений.
б) BluetoothClass - описывает общие характеристики Bluetooth-устройства.
в) BluetoothDevice - представляет удаленное Bluetooth-устройство.
г) BluetoothSocket - сокет или точка соединения для данных, которыми наша система обменивается с другим Bluetooth-устройством.
д) BluetoothServerSocket - сокет для прослушивания входящих Bluetooth-соединений.
Для начала работы необходимо получить адаптер по умолчанию:
BluetoothAdapter myBluetooth = BluetoothAdapter.getDefaultAdapter();
Активировать Bluetooth-адаптер можно с помощью следующего кода:
// Если Bluetooth-выключен
if(!myBluetooth.isEnabled()) {
// Создаем действие ACTION_REQUEST_ENABLE -- запрашивает включение
// адаптера
Intent eIntent = new Intent (BluetoothAdapter. ACTION_REQUEST_ENABLE);
// Выполняем действие
startActivity(eIntent);
}
Для обнаружения соседних устройств используется следующий код:
private final BroadcastReceiver myReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// Когда найдено устройство
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Получаем объект BluetoothDevice из Intent
BluetoothDevice device = intent.getParcelableExtra(
BluetoothDevice.EXTRA_DEVICE);
// Выводим сообщение в журнал (его можно будет просмотреть
// в Eclipse при запуске приложения).
Log.v("BlueTooth Discovery: ",device.getName() + "\n"
+ device.getAddress());
}
}
};
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(myReceiver, filter);
myBluetooth.startDiscovery();
Для обмена сообщениями между модулем управления и демонстрационным модулем необходимо создать приложение-сервер, которое будет ожидать входящих запросов, так и приложение-клиент, которое будет устанавливать запрос с сервером. Ниже приведен код, ожидающий соединения от программы-клиента.
// Класс AcceptBluetoothThread принимает входящие запросы
...Подобные документы
Анализ способов хранения геоданных в ГИС. Разработка классификатора базы геоданных. Основные методы визуализации геоданных. Понятие, назначение и структура СПО "Локальный клиент" Системы ГИС-3D. Расчет трудоемкости разработки программного обеспечения.
дипломная работа [3,7 M], добавлен 21.06.2012Анализ информационных потоков. Разработка структуры таблиц базы данных. Выбор CASE-средства для проектирования информационной системы и среды программирования. Разработка программных модулей (программного обеспечения). Подготовка справочных баз данных.
дипломная работа [6,8 M], добавлен 19.11.2013Общие требования и этапы разработки автоматизированных информационных систем. Особенности работы, технологии доступа и проектирование структуры базы данных. Разработка клиентского программного обеспечения для магазина, защита и сохранность данных.
курсовая работа [650,9 K], добавлен 27.02.2013Разработка программного обеспечения для управления базой данных. Место задачи в системе автоматизации. Семантическое моделирование данных. Разработка программного обеспечения и базы данных. Расчет трудоемкости и себестоимости этапов проектирования.
дипломная работа [2,9 M], добавлен 04.02.2016Исследование технологии проектирования базы данных. Локальные и удаленные базы данных. Архитектуры и типы сетей. Программная разработка информационной структуры предметной области. Обоснование выбора архитектуры "клиент-сервер" и операционной системы.
дипломная работа [1,1 M], добавлен 15.02.2017Анализ технологий "умного дома", их базовые понятия. Описание технологического процесса и модель автоматизации. Разработка системы управления зданием. Анализ программного обеспечения. Технология производства программного продукта, разработка бизнес-плана.
дипломная работа [1,8 M], добавлен 06.04.2015Анализ предметной области, этапы проектирования автоматизированных информационных систем. Инструментальные системы разработки программного обеспечения. Роль CASE-средств в проектировании информационной модели. Логическая модель проектируемой базы данных.
курсовая работа [410,6 K], добавлен 21.03.2011Сравнительный анализ автоматизированных систем для предприятий. Проектирование концептуальной базы данных для учёта автозапчастей и предоставляемых услуг автосервиса. Разработка прикладного программного обеспечения, пользовательского интерфейса.
дипломная работа [1,5 M], добавлен 19.07.2014Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010Разработка информационной системы для управления оперативной деятельностью фирмы, занимающейся ремонтом и технической поддержкой компьютеров и программного обеспечения, этапы и особенности. Программные средства реализации проекта, их выбор и обоснование.
дипломная работа [306,6 K], добавлен 28.08.2014Рассмотрение приемов разработки программных средств для автоматизированных систем обработки информации и управления. Разработка программного продукта, предназначенного для автоматизации работы заместителя директора по учебно-воспитательной работе.
дипломная работа [1,7 M], добавлен 27.02.2015История образования ТОО "ABC Design". Разработка программного и информационного обеспечения компьютерных сетей, автоматизированных систем вычислительных комплексов и сервисов. Работа с CRM системой Task Manager и с панелью управления сайтов JOOMLA.
отчет по практике [727,4 K], добавлен 13.07.2017Разновидности систем управления базами данных. Анализ предметной области. Разработка структуры и ведение базы данных. Структурированный язык запросов SQL. Организация выбора информации из базы данных. Общие принципы проектирования экранных форм, макросов.
курсовая работа [3,1 M], добавлен 26.02.2016Характеристика структуры, программного обеспечения и основных бизнес–процессов ЗАГСа. Разработка базы данных и структуры сайта для молодоженов. Управление аккаунтом пользователя, описание страниц сайта. Расчёт экономических затрат на создание сайта.
дипломная работа [448,5 K], добавлен 14.01.2013Обзор и сравнительная характеристика программного обеспечения для создания СУБД. Принципы организации данных. Основные возможности MS Access. Разработка структуры и реализация средствами SQL базы данных для учета заказов, наличия и продажи автозапчастей.
курсовая работа [2,5 M], добавлен 27.05.2013Этапы разработки модели базы данных: составление логической схемы и создание на ее основе физической формы графическим инструментарием Erwin. CASE-технологии для проектирования прикладного программного обеспечения и конфигурационного управления проектом.
контрольная работа [370,7 K], добавлен 03.01.2011Проектирование программного обеспечения для классифицирования выпускников высшего учебного заведения. Выбор системы управления базами данных и языка программирования. Разработка структуры данных, схема базы данных. Реализация программного комплекса.
дипломная работа [2,4 M], добавлен 27.03.2013Разработка автоматизированной базы данных (БД) для больницы, которая поможет пользователю легко найти нужную информацию о любом сотруднике или пациенте. Выбор системы управления БД и программного обеспечения. Описание работы программного продукта.
дипломная работа [1,9 M], добавлен 26.03.2013Основные положения подхода к проектированию систем сбора и накопления информации. Выбор модели базы данных. Назначение и проектирование программного продукта "Создание стенда для изучения фотоэффекта". Экономическое обоснование разработки, эргономика.
дипломная работа [445,9 K], добавлен 10.11.2009Сущность и значение средств управления базами данных предприятия. Методика разработки базы данных и прикладного программного обеспечения автобусного парка, позволяющее структурировать информацию об автобусных маршрутах, остановках и автобусах парка.
курсовая работа [163,4 K], добавлен 20.01.2010