Проектирование и разработка мобильного приложения для упрощения учета объектов пожарной безопасности
Классификация мобильных приложений и их отличительные особенности, сферы применения, выбор инструментария и этапы разработки на платформе Android 18. Создание базы данных и работа с ней, структура и принципы разработки пользовательского интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.01.2018 |
Размер файла | 793,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Проектирование и разработка мобильного приложения для упрощения учета объектов пожарной безопасности
Введение
пользовательский интерфейс приложение мобильный
Мобильные устройства являются неотъемлемой частью жизни любого человека. Они могут использоваться для выполнения различных задач: общения, работы, обучения, развлечения и т.д.
Актуальность. Мобильное устройство на данный момент является одним из самых необходимых атрибутов для человека. Создание мобильных приложений является важным занятием, так как расширяет возможности мобильного устройства. Разработка мобильного приложения, как и любого другого программного обеспечения, требует грамотного проектирования и разработки.
Практическая значимость. Практическая значимость данной работы заключается в рассмотрении методов проектирования и разработки программного обеспечения для мобильных устройств.
Объектом исследования является проектирование и разработка мобильного приложения.
Предметом исследования является техническое задание, модели проектирования программного обеспечения, модели проектирования баз данных, разработка мобильного приложения.
Цель данной работы - изучить методологию проектирования и разработки приложения для мобильных устройств на платформе Android.
Задачи. Для достижения поставленной цели дипломной работы необходимо решить следующие задачи:
- Дать определение мобильному приложению;
- Разобрать архитектуру операционной системы Android;
- Разобрать методологию проектирования программного обеспечения;
- Составить проект мобильного приложения для разработки;
- Изучить процессы разработки мобильного приложения.
Структура работы. Диплом состоит из введения, 2 глав и заключения. В первой главе были рассмотрены методы проектирования программного обеспечения и баз данных. Определен требуемый инструментарий для разработки мобильного приложения на платформе Android. Во второй главе рассмотрено проектирование и разработка приложения по учету объектов пожарной безопасности.
Гипотеза. Для разработки качественного мобильного приложения требуется грамотное постановление задач разработки, и проектирование на основе которых будет вестись разработка приложения.
1. Обоснование выбора темы приложения. Методология проектирования. Выбор инструментария для разработки мобильного приложения
1.1 Обоснование выбора темы разработки. Классификация мобильных приложений
Возникновение пожара представляет повышенную опасность для человеческой жизни. Поэтому на протяжении веков разрабатывались средства для предупреждения и тушения пожаров. В нашем веке для этого используются специальные объекты пожарной безопасности, такие как датчики задымления или огнетушители. Все эти объекты нуждаются в соответствующем уходе и проверки их состояния. Однако, всегда присутствует человеческий фактор и человек может просто забыть проверить состояния объекта, что может привести к последствиям создающим угрозу для жизни.
Мобильное приложения должно помочь человеку отслеживать объекты пожарной безопасности. Целью приложения является дать возможность пользователю в любой момент времени следить за состоянием находящихся под учетом объектов пожарной безопасности с помощью мобильного устройства.
Мобильное приложение и его классификация.
Мобильное приложение - это программа разработанная для мобильной платформы.
Классификация мобильных приложений по виду взаимодействия с пользователем:
1. Приложения переднего плана - приложения работающие непосредственно с пользователем.
2. Фоновые приложения - приложения работающие в фоновом режиме и не взаимодействуют с пользователем.
3. Смешанные - приложения работающие в фоновом режиме, но обладающие некоторым взаимодействием с пользователем.
4. Виджиты - приложения на рабочем столе, отображающие различную информацию.
Классификация мобильных приложений по типу использования:
1. Корневые утилиты - приложения входящие в основу каждого устройства, например, телефон.
2. Эпизодические утилиты - приложения рассчитанные на определенные ситуации и использование которых происходит не постоянно, а эпизодически.
3. Приложения оповещения - приложения целью которых является уведомлять или напоминать пользователю о происходящих или предстоящих событиях.
Приложения по цели использования:
1. Развлекательные приложения - игровые и мультимедийные приложения.
2. Коммуникационные приложения - приложения созданные для общения между людьми, такие как телефон или приложения социальных сетей.
3. Навигационные приложения - приложения целью которых является указание положения пользователя, объектов и маршрутов.
4. Справочные приложения - приложения предоставляющие различную информацию, например переводчики.
Классификация приложения по монетизации:
1. Платное приложение - использование данного приложения осуществляется после покупки.
2. Бесплатное приложение с платным функционалом - некоторый функционал приложения будет доступен после приобретения его полной версии.
3. Бесплатное приложение с внутренними транзакциями - приложения допускающее покупки внутри приложения.
Бесплатное приложение с рекламой - приложения периодически предоставляющее рекламу.
1.2 Методы проектирования
Техническое задание.
Важной проблемой разработки является недопонимание между заказчиком и исполнителем. Данная проблема может привести к излишним затратам одной или обеих сторон. Техническое задание позволяет минимизировать данные затраты.
Техническое задание (ТЗ) - документ между заказчиком и исполнителем, регламентирующий какие задачи должны быть выполнены.
Задача технического задания минимизировать различие между желанием заказчика и понимание поставленной задачи исполнителем. В техническом задании регламентируются конкретные требования к выполнению работы, например, создание базы данных с конкретными таблицами и атрибутами.
При составлении ТЗ следую конкретно описывать поставленные задачи, чтобы не возникало абстракции. Задачи должны указывать на конкретный и конечный результат. Например, задача «создать удобный интерфейс» является абстрактной и не конечной, так как не указывает на конкретные элементы данного интерфейса, а удобство для каждого человека индивидуально.
Согласно ГОСТ 34.602-89 технического задание должно содержать следующие пункты:
1. Общие сведения.
2. Назначения и цели создания системы.
3. Характеристика объектов автоматизации.
4. Требования к системе.
5. Состав и содержания работ по созданию системы.
6. Порядок контроля и приема системы.
7. Требование к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие.
8. Источники разработки.
Концептуальная модель.
«Концептуальная модель - это отражение предметной области, для которой разрабатывается база данных. 1»
Сущность
Сущность отображают объект предметной области. Каждая сущность имеет свои атрибуты, один из которых должен быть уникален для каждого из экземпляров данного объекта.
Нормальные формы базы данных
Приведение базы данных к нормальной форме является не обязательным, но привидение к нормальным формам позволит оптимизировать работу с базой данных и уменьшить ее объем.
Первая нормальная форма.
Для привидения базы данных к первой нормальной форме необходимо:
1. Первичный ключ должен быть уникальным для каждого экземпляра сущности базы данных.
2. Атомарность. Поля не должны иметь дубликатов и должны содержат только одно значение.
3. Порядок записи данных в таблицу не должен иметь значения.
Вторая нормальная форма.
Для приведения базы данных ко второй нормальной форме необходимо:
1. Привести базу данных к первой нормальной форме.
2. Данные таблицы не должны иметь отношения к другим сущностям. Для каждой сущности следует создать отдельную таблицу, а связь осуществлять через внешний ключ.
Третья нормальная форма.
Для приведения базы данных к третьей нормальной форме необходимо:
1. Привести базу данных ко второй нормальной форме.
База данных не должна иметь транзитных зависимостей. То есть между не ключевыми полями таблицы не должно быть зависимости, а также в таблице не должны храниться данные, которые могут быть получены из других полей таблицы.
IDEF1X
«IDEF1X - это методология семантического моделирования данных.
Она разработана с учетом следующих требований:
1. Поддерживает разработку концептуальных схем
Синтаксис IDEF1X поддерживает семантические конструкции, необходимые для разработки концептуальной схемы. Окончательная версия IDEFlX-модели обладает желаемыми характеристиками - непротиворечивостью, расширяемостью и адаптируемостью.
2. Обеспечивает ясный язык
IDEF1X имеет простую, ясную, непротиворечивую структуру и четкие семантические понятия. Синтаксис и семантика IDEF1X сравнительно легки для понимания, хотя и являются достаточно мощным средством.
3. Проста для изучения
Семантическое моделирование данных - новое понятие для многих пользователей IDEF1X. Проблема обучаемости этому языку является важным факторомом. Язык рассчитан на понимание и использование как профессиональными бизнесменами и системными аналитиками, так и администраторами данных и разработчиками баз данных. Он может служить эффективным средством коммуникации в коллективах, состоящих из различных специалистов.
4. Надежно проверена на практике
IDEF1X базируется на многолетнем опыте предшествующих методологий и тщательно проверена как в проектах ВВС, так и в промышленности.
5. Возможность автоматизации
IDEFlX-диаграммы могут создаваться большим числом графических программных пакетов. ВВС США на основе концептуальной схемы разработали активный трехсхемный словарь для построения прикладных программ и обработки запросов в распределенной неоднородной среде. Существует также коммерческое программное обеспечение, поддерживающее детализацию, анализ и управление конфигурацией IDEFlX - моделей.
IDEF1X использует подход сущностей-отношений к семантическому моделированию данных. Исходная разработка IDEF1 заключалась в расширении понятий сущности-отношения по методу П. Ченна, объединенных с понятиями реляционной теории Т. Кодда. Кроме того, для улучшения графического представления и процедур моделирования IDEFlX - методология семантически обогащена введением отношений категоризации (называемых также отношениями обобщения). Язык IDEF1X включает коммерческие разработки D. Appleton Company и The Database Design
Group.»
Сущности.
Зависимые и независимые сущности.
Сущность называется независимой, если обладает собственным набором атрибутов и может быть идентифицирован без определения связей с другими сущностями.
Правила:
1. Сущность должна иметь уникальное имя.
2. Обладать как минимум одним атрибутом.
3. Обладать уникальным атрибутом - ключом, по которому можно однозначно идентифицировать экземпляр сущности.
Атрибуты.
Типы атрибутов:
1. Простой (атомарный) - состоит из одного компонента.
2. Составной - состоит из нескольких компонентов.
3. Однозначный - содержит одно значение.
4. Многозначный - содержит несколько значений.
5. Производный - значения атрибута может быть определенно по значениям других атрибутов.
6. Ключевой - уникальный для каждого экземпляра сущности атрибут и служащий для идентификации экземпляра.
7. Не ключевой - не служит для идентификации экземпляра.
8. Обязательный - значение данного атрибута не может быть NULL.
Ключи.
1. Суперключ (superkey) - атрибут или множество атрибутов, которое единственным образом идентифицирует экземпляр сущности.
2. Потенциальный ключ (potential key) - минимальный набор атрибутов для идентификации экземпляра сущности. Сущность может состоять из нескольких потенциальных ключей.
3. Первичный ключ (primary key) - потенциальный ключ, выбранный для идентификации экземпляра сущности.
4. Альтернативный ключ (alternative key) - потенциальные ключи, которые не выбраны как первичный ключ.
5. Внешний ключ (foreign key) - атрибут или множество атрибутов соответствующих первичному ключу родительской сущности, необходим для моделирования связи.
Связи.
Параметры связи:
1. Наименование - глагол определяющий семантику связи.
2. Кратность - отображает со сколькими экземплярами другой сущности может взаимодействовать экземпляр сущности.
3. Идентифицирующая - связи при которой внешний ключ входит в состав первичного ключа дочерней сущности.
4. Обязательная - при создании экземпляра дочерней сущности обязательно заполнение атрибутов внешнего ключа.
5. Степень участья - количество сущностей участвующих в связи. Для IDEF1X диаграммы используются унарные и бинарные связи, то есть между одной или двумя сущностями.
Use Case
«Диаграмма вариантов использования (Use Case diagram - в русскоязычных источниках называется иногда диаграммой прецедентов) - это форма представления концептуальной модели проектируемой системы, которая описывает ее функциональное назначение и в дальнейшем будет детализирована и преобразована в модели логического и физического уровней. 3»
Система - это совокупность элементов для выполнения поставленной задачи.
Подсистема - это система входящая в состав другой системы.
На Use Case диаграмме система отображается в виде прямоугольника, а подсистема в виде прямоугольника вписанного в прямоугольник системы.
Между вариантами использования так же могут быть связи.
Включение. Указывает, что вариант использования включает другой вариант использования.
На Use Case диаграмме отображается в виде пунктирной стрелки с припиской <include>.
Расширение. Указывает, что вариант использования будет расширен другим вариантом использования.
Обобщение. Указывает, что вариант использования наследует характеристики родительского элемента и может их расширять или переопределять.
На Use Case диаграмме отображается в виде линии с не залитой стрелкой.
При составлении Use Case диаграммы следует придерживаться следующих правил:
1. Каждому варианту использования должен соответствовать минимум один актер.
2. Каждый вариант использования должен быть инициализирован.
Каждый вариант использования приводит к соответствующему результату.
1.3 Выбор инструментария и основы разработки мобильного приложения на платформе Android
Языки программирования
Большинство приложений для Androidсоздаются с использования языка программирования Java.
«Java - это объектно-ориентированный язык программирования. Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java, которая обрабатывает байтовый код и передает инструкции оборудованию как интерпретатор. Достоинство подобного способа выполнения программ заключается в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java - приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание. Следует заметить, что фактически, большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, схожий с С/C++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров и операторов. Поэтому те, кто уже имеет опыт программирования на C/C++, смогут быстро освоиться и начать писать Java-приложения. 4»
Для разработки на языке Java потребуется установить JDK (Java Development Kit).
«JDK - это комплект разработчика приложений на языке Java, включающий в себя компилятор Java, стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java Runtime Environment (JRE).»
Архитектура ОС Android
Архитектура ОС Android имеет несколько уровней. Application
К этому уровню относятся предустановленные приложения, такие как браузер, календарь, карты и другое. Так же к этому уровне относятся установленные пользователем приложения.
Application Framework
На этом уровне разработчикам предоставляется доступ к API. Так же архитектура позволяет приложениям получать доступ к уже реализованным возможностям других приложений, если есть доступ.
В framework входят:
- Богатый и расширяемый набор представлений (Views), который может быть использован для создания визуальных компонентов приложений, например, списков, текстовых полей, таблиц, кнопок или даже встроенного web-браузера;
- Контент-провайдеры (Content Providers), управляющие данными, которые одни приложения открывают для других, чтобы те могли их использовать для своей работы;
- Менеджер ресурсов (Resource Manager), обеспечивающий доступ к ресурсам, не несущим кода, например, к строковым данным, графике, файлам и другим;
- Менеджер оповещений (Notification Manager), благодаря которому все приложения могут отображать собственные уведомления для пользователя в строке состояния;
- Менеджер действий (Activity Manager), который управляет жизненными циклами приложений, сохраняет данные об истории работы с действиями, а также предоставляет систему навигации по ним;
- Менеджер местоположения (Location Manager), позволяющие приложениям периодически получать обновленные данные о текущем географическом положении устройства.
Android Runtime
Среда выполнения прикладных программ, ключевым составляющими являются набор стандартных библиотек и Dalvik Virtual Machine. Все приложения на Android запускаются в собственном экземпляре виртуальной машины Dalvik.
Dalvik Virtual Machine является частью мобильной платформы Android. Это виртуальная машина, автором которой является Дэн Бронштейн.
Dalvik проектировалась специально под платформу Android. Учитывался тот факт, что платформа строит все процессы как изолированные, выполняющиеся каждый в сво?м адресном пространстве. Виртуальная машина оптимизирована для низкого потребления памяти и работы на мобильном аппаратном обеспечении. Начиная с версии Android 2.2., Dalvik использует JIT (Just-in-Time) компиляцию. В результате этих особенностей, получилась быстрая и производительная виртуальная машина, что не может не сказываться на работе приложений в целом.
Dalvik использует собственный байт-код. При разработке приложения под Android переводятся компилятором в специальный машинно - независимый низкоуровневый код. При выполнении на платформе именно Dalvik интерпретирует и выполняет такую программу.
Dalvik способна переводить байт-коды Java в коды собственного формата и также исполнять их в своей виртуальной среде. Программный код пишется на языке Java, а после компиляции все.class файлы конвертируются в формат.dex (пригодный для интерпретации в Dalvik) с помощью специальной утилиты dx, входящей в состав Android SDK.
Libraries
Уровень предназначенный для эффективного решения типовых задач. Библиотеки реализованы на языке С/С++ и скомпилированы под конкретное аппаратное обеспечение устройства.
- Surface manager - управляет доступом к подсистеме отображения 2D и 3D графических слоев;
- Media Framework - библиотеки с помощью которых система осуществляет запись и вывод графических и аудио данных. Поддерживаются форматы, такие как MPEG4, H.264, MP3, AAC, AMR, JPG и PNG и т.д.;
- SQLite - движок для работы с базами данных;
- OpenGL | ES - библиотеки для работы с 3D графикой;
- FreeType - движок для шрифтов и отображения текста;
- WebKit - браузерный движок;
- SGL - движок для работы с 2D графикой;
- SSL - библиотеки для поддержки криптографического протокола SSL;
- libc - библиотека стандартных вызовов языка C.
Ядро Android.
Ядром Android является ядро Linux версии 2.6 и включает в себя основные системные службы: безопасность, управление памятью, управление процессами и модель драйверов. Так же была добавлена поддержка программного обеспечения используемого в мобильных устройствах.
Java-интерфейсы для Android
- android.app - предоставляет доступ к модели приложения;
- android.content - упрощает доступ к контенту, публикации и обмена сообщениями между приложениями и их компонентами;
- android.database - используется для доступа к данным опубликованным контент провайдерами и включает управление классами SQLite баз данных;
- android.opengl - интерфейс для работы с OpenGLES 3D графикой;
- android.os - предоставляет приложению доступ к стандартным системным сервисам операционной системы;
- android.text - используется для отображения и работы с текстом;
- android.view - основной инструментарий для создания пользовательского интерфейса;
- android.widget - предварительно созданные компоненты пользовательского интерфейса, такие как кнопки, слои, листы, менеджеры разметки, радио кнопки и другое;
- android.webkit - для использования возможностей веб-браузера внутри приложений.
Activities
Activity - это форма, которой можно задать свою разметку и разместить на ней элементы пользовательского интерфейса, такие как кнопки, текстовые строки и другие. Мобильное приложение состоит из одного или нескольких
Activity. Из одного Activity можно вызывать другое, а также передавать атрибуты.
- Activity может находиться в одном из трех состояний:
- Running - в этом состоянии Activity взаимодействует с пользователем;
- Paused - Activity все еще видно пользователю, но работа ведется с другим Activity;
- Stopped - Activity не видно пользователю.
Смена состояний сопровождается вызовом соответствующих методов:
- Void onCreate() - вызывается при создании Activity. Здесь производится создание экземпляров классов View, запись данных в списки и так далее;
- void onStart() - вызывается при запуске Activity;
- void onRestart() - вызывается перед тем как Activity становится видным для пользователя;
- void onResume() - вызывается перед тем как Activity начинает взаимодействовать с пользователем, в этот момент Activity начинает принимать весь пользовательский ввод;
- void onPause() - вызывается системой перед возобновлением другого Activity. Данный процесс предназначен для сохранения данных, сокращения нагрузки на аппаратную часть устройства. Другое Activity не будет возобновлено пока процесс не завершится;
- void onStop() - вызывается когда Activity больше не видно пользователю;
- void onDestroy() - вызывается перед уничтожением Activity.
Services - это процесс, который запускается в фоновом режиме. Services будет работать даже, если Activity приложения закрыта.
Services имеет методы жизненного цикла:
- void onCreate() - Services создается;
- void onStart (Intent intent) - начинается жизнь цикла. В него передается объект типа Intent, который передавался в метод startServices();
- voidonDestroy() - Services уничтожается, освобождая выделенную под него память.
Broadcast receivers
Broadcast receiver - рассылает и реагирует на широковещательные сообщения, например сообщение о минимальном заряде батареи.
Он не отображает пользовательский интерфейс, но может запустить Activity или использовать Notification Manager для уведомления пользователя.
Имеет один метод жизненного цикла onReceive(), в который передается объект Intent, содержащий сообщение адресованное пользователю. Когда программа возвращается из данного метода, процесс Broadcast receiver считается законченным.
Content providers
Данный процесс предоставляет доступ к данным. Может предоставлять доступ не только своему приложению, но и другим.
Выбор инструментария для разработки.
Для разработки будем использовать Android studio, потому что эта среда была разработана корпорацией Google для создания мобильных приложений на Android. Она не требует установки дополнительных компонентов, например, ADT (Android Development Tools), AVD (Android Virtual Machine), все необходимое будет установлено в процессе установки среды.
Android studio имеет ряд преимуществ упрощающих разработку. В них входят:
Помощь в написании кода.
Среда будет подсказывать возможные слова, строки или даже целые классы, которые, возможно, мы хотим написать и использовать, вставляя их автоматически.
Шаблоны кода и интеграция с GitHub.
Новые проекты использует шаблонный код, а также есть возможность синхронизации приложений с GitHub.
Системные требования для установки Android studio:
Windows
Microsoft® Windows® 8/7/Vista (32 или 64-bit) 2 GBRAMминимум, 4 GBRAMрекомендовано 400 MBпространства на жестком диске
Не менее 1 GB для Android SDK, эмулятора системных образов и кэша 1280 x 800 минимальное разрешение экрана
Java Development Kit (JDK) 7
Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality
Mac OS X
Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks) 2 GB RAM minimum, 4 GB RAM recommended 400 MB пространства на жестком диске
Не менее 1 GB для Android SDK, эмулятора системных образов и кэша 1280 x 800 минимальное разрешение экрана
Java Runtime Environment (JRE) 6 Java Development Kit (JDK) 7
Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality
Linux
GNOME or KDE desktop
GNU C Library (glibc) 2.15 или новее
2 GBRAMминимум, 4 GBRAMрекомендовано 400 MBпространства на жестком диске
Не менее 1 GB для Android SDK, эмулятора системных образов и кэша 1280 x 800 минимальное разрешение экрана
Oracle® Java Development Kit (JDK) 7 Дополнительный инструментарий и сервисы Genymotion.
Дополнительно будем использовать Genymotion. Genymotion представляет из себя AVD (Android Virtual Machine). Он не является обязательным, так как Android studio имеет возможность запуска AVD. Однако Genymotionболее быстрый и удобный.
Основные преимущества:
1. Скорость работы. Запуск виртуальной машины происходит за несколько секунд.
2. Совместимость со всеми Android API и имеет плагины для бесшовной разработки на Android Studio.
3. Возможность тестировать различные сценарии использования приложения, например, заряд батареи, нахождение по GPS, уровень связи и т.д.
GitHub
Исходный код - код программы в понятной для человека форме. Исходный код в процессе компиляции или интерпретации преобразуется в машинный код и выполнятся ЭВМ.
GitHub - ресурс позволяющий выкладывать исходный код. Преимуществами использования GitHub являются:
1. Выкладывать свои и просматривать чужие разработки, комментировать и обсуждать решения.
2. Использовать готовые решения для создания более серьезных проектов.
3. Упрощает работу в команде при разработке программного обеспечения.
Пожарная безопасность является важной составляющей охраны жизнедеятельности человека. Для отслеживания возникновения пожаров и их дальнейшего тушения используется специальное оборудование. Однако, данное оборудование требует регулярной проверки рабочего состояния. Современные технологии позволяют упростить учет данных объектов. Мобильное приложение должно помочь пользователю отслеживать состояние объектов пожарной безопасности.
Было дано определение мобильного приложения и разобраны его классификации.
Рассмотрена методология написание технического задания и проектирования моделей: концептуальная модель, Use Case, IDEF1X.
Выбран и обоснован язык программирования для разработки мобильного приложения на платформе Android.
Разобрана архитектура операционной системы Android. Изучены основы разработки мобильных приложений на платформе Android.
Выбран и обоснован инструментарий для разработки мобильного приложения. А так же дополнительные программы и сервисы упрощающие разработку мобильных приложений.
2. Проектирование и разработка мобильного приложения по учету объектов пожарной безопасности
пользовательский интерфейс приложение мобильный
2.1 Проектирование
Техническое задание.
1. Общие сведения.
Наименование «Мобильное приложение для учета объектов пожарной безопасности FireWatch», условное наименование «FireWatch».
2. Назначения и цели создания системы.
Назначение системы:
- добавление в базу и редактирование данных моделей оборудования;
- добавление в базу и редактирование данных оборудования находящегося под учетом;
- указание состояния под учетного оборудования.
Цель отображать информацию по состоянию оборудования.
3. Характеристика объектов автоматизации.
Мобильное приложение на платформе Android с API level 22
4. Требования к системе.
Система должна отображать состояние под учетных объектов пожарной безопасности.
Требование к подсистемам.
Подсистема для работы с базой данных:
- добавлять и редактировать модели оборудования по пожарной безопасности;
- добавлять и редактировать под учетное оборудование.
Подсистема для отображения и изменения состояния под учетного оборудования.
Требование к эксплуатации: приложение предназначено для пользователей в обязанности которых входит отслеживание состояние противопожарного оборудования.
5. Состав и содержания работ по созданию системы.
Разработка баз данных.
Разработка пользовательского интерфейса.
Написание функционала.
Тестирование.
Концептуальная модель
На данной модели изображены две сущности «модель оборудования» и «под учетное оборудование», каждая из которых отображает таблицу в базе данных.
Модель оборудования. В таблице будут храниться данные о моделях оборудования и их технические характеристики. Первичным ключом данной таблицы является атрибут «model», в котором будет храниться информация о модели оборудования. Данный атрибут было решено сделать ключевым, так как модель является уникальной характеристикой для каждого оборудования. Под учетное оборудование. В таблице будут храниться данные об конкретном экземпляре требующего учета оборудования. Первичным ключом сущности является «ID», данный атрибут будет автоматически присваиваться системой и будет уникальным для каждого экземпляра сущности.
Связь между сущностями одни ко многим - это означает, что для каждого экземпляра сущности «модель оборудования» может быть любое множество экземпляров сущности «под учетное оборудование». То есть мы можем учитывать множество объектов оборудования одной модели.
IDEF1X
На данной модели изображены сущности «Модель оборудования» и «Под учетное оборудование» их атрибуты.
Модель оборудования. Первичным ключом данной сущности является атрибут «модель». Модель оборудования указывается на заводе при производстве, таким образом данный атрибут является уникальным и подходит для первичного ключа. Атрибут тип должен отображать к какому типу оборудования (огнетушитель, датчик и т.д.) относится данная модель, но не является обязательным для заполнения. Атрибут содержит дополнительную информацию о данном оборудовании, так же как и тип не является обязательным для заполнения.
Под учетное оборудование. Данная сущность является дочерней сущностью от сущности «модель оборудования» и содержит внешний ключ указывающий на модель оборудования. На диаграмме связь отображается пунктирной линий без ромба в начале линии, что означает, что внешний ключ не является частью первичного ключа данной сущности, но обязателен для заполнения и не может быть NULL. Первичным ключом данной сущности является ID, заполнение данного атрибута будет происходить автоматически и он будет уникальным для каждого экземпляра сущности. Так же в сущности присутствуют атрибуты место установки и комментарий. Атрибут место установки должен отражать место где в данной момент физически находится находящийся под учетом объект. Комментарий служит для пометки особенностей экземпляра под учетного оборудования.
Связь между сущностями один ко многим. То есть экземпляр сущности «модель оборудования» может относиться к любому множеству экземпляров сущности «под учетное оборудование».
Привидение к нормальным формам базы данных. Привидение к первой нормальной форме.
Для привидения базы данных к первой нормальной форме необходимо:
4. Первичный ключ должен быть уникальным для каждого экземпляра сущности базы данных.
5. Атомарность. Поля не должны иметь дубликатов и должны содержать только одно значение.
6. Порядок записи данных в таблицу не должен иметь значения.
Первичные ключи обеих сущностей являются уникальными, так как первичный ключ сущности «модель оборудования» является моделью оборудования и является уникальным значением присваиваемым изделию в процессе производства, а сущности «под учетное оборудование», потому что ID - это уникальный идентификатор, который будет присвоен автоматически системой каждому экземпляру сущности.
Атомарность. Каждый атрибут сущностей имеет лишь одно значение и аналогичных атрибутов в сущностях не присутствует.
Ни один из аспектов системы не зависит от порядка заполнения базы данных.
Привидение ко второй нормальной форме.
Для приведения базы данных ко второй нормальной форме необходимо:
3. Привести базу данных к первой нормальной форме.
4. Данные таблицы не должны иметь отношения к другим сущностям. Для каждой сущности следует создать отдельную таблицу, а связь осуществлять через внешний ключ.
База данных приведена к первой нормальной форме.
Сущность «Модель оборудования» имеет три атрибута: модель, тип, описание. Атрибут модель является первичным ключом и относится к данной сущности, так как это техническая характеристика. Атрибут тип классифицирует данную модель оборудование. Описания является описанием к данной модели и характеризует ее.
Сущность «Под учетное оборудование» имеет четыре атрибута: ID, модель, место установки, комментарий. Атрибут ID является идентификатором экземпляра сущности. Атрибут модель - внешний ключ служащий для связи с сущностью «модель оборудования». Атрибут место установки указывает на место нахождения объекта, который описывает экземпляр данной сущности. Комментарий характеризует данный объект.
Таким образом, база данных приведена ко второй нормальной форме.
Приведение к третьей нормальной форме.
Для приведения базы данных к третьей нормальной форме необходимо:
1 Привести базу данных ко второй нормальной форме.
2 База данных не должна иметь транзитных зависимостей. То есть между не ключевыми полями таблицы не должно быть зависимости, а также в таблице не должны храниться данные, которые могут быть получены из других полей таблицы.
База данных приведена ко второй нормальной форме.
Между атрибутами сущностей нет транзитных зависимостей, так как значение атрибута нельзя вычислить по одному или нескольким другим атрибутам данных сущностей.
База данных приведена к третьей нормальной форме.
Use Case
Данная диаграмма показывает взаимодействие пользователя с системой и отображает основной сценарий использования приложения.
Система приложения состоит из двух подсистем: подсистемы для работы с базой данных и подсистемой для проверки и изменения состояния под учетных объектов.
Подсистема для работы с базой данных. Задача данной подсистемы состоит в предоставлении пользователю инструментария для редактирования базы данных. Пользователь может редактировать модели объектов и находящееся под учетом оборудование: добавлять новые, изменять уже созданные или удалять. На диаграмме изображена возможность добавлять в базу данных новой модели, так как данное действие происходит в рамках основного сценария взаимодействия пользователя с системой. Так же пользователь может редактировать базу объектов находящихся под учетом. Отличием добавления под учетного объекта от модели оборудования заключается в требовании указать какой модели добавляемое оборудование, путем выбора из таблицы моделей оборудования. На диаграмме указывается, что при добавлении под учетного оборудования, если нет в таблице необходимой модели, то есть возможность создать ее.
Подсистема для проверки и изменения состояния под учетных объектов. Задача данной подсистемы состоит в предоставлении пользователю возможности просматривать находящееся под учетом оборудование и указывать его текущее состояние. Начальное состояние объекта указывается при создании объекта и изменяется пользователем в процессе его работы с данным приложением.
2.2 Создание базы данных
Для создания базы будем использовать абстрактный класс DataBaseOpenHelper. Расширяя данный мы можем задать действия происходящие при создании базы данных. Процесс создания базы данных происходит при вызове метода onCreate(). Далее с помощью метода db.execSQL() мы будем создавать базу данных, передавая в данный метод команды на языке SQL.
@Override
public void onCreate (SQLiteDatabase db) {db.execSQL (
«CREATE TABLE» + Table_Name_Model +
«(«+Model_PK+» TEXT PRIMARY KEY,» + Model_Type + «TEXT,» + Model_Description + «TEXT);»
);
db.execSQL (
«CREATE TABLE» +Table_Name_Object +
«(_id INTEGER PRIMARY KEY AUTOINCREMENT,» + Object_Model_FK + «TEXT,» + Object_Installation_Place + «TEXT,» + Object_Comment + «TEXT);»
);
}
Для упрощения дальнейшей работы базы данных, наименования атрибутов и таблиц мы задаем с помощью заранее созданных переменных. public static final String Table_Name_Model = «Model»;
public static final String Model_PK = «model»; public static final String Model_Type = «type»;
public static final String Model_Description = «description»; public static final String Table_Name_Object = «Object»; public static final String Object_Model_FK = «model_fk»;
public static final String Object_Installation_Place = «installationPlace»; public static final String Object_Comment = «comment»;
Для изменения версии используются методы onUpgrade() и onDowngrade(). Метод onUpgrade() используется для повышения версии, а метод onDowngrade() для понижения версии. Upgrade нашей базы данных будет происходить путем удаления существующих таблиц и повторного вызова метода onCreate().
public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL («DROP TABLE IF EXISTS» + Table_Name_Model); db.execSQL («DROP TABLE IF EXISTS» + Table_Name_Object); onCreate(db);
}
2.3 Разработка пользовательского интерфейса
Пользовательский интерфейс является одним из важнейших этапов разработки любого мобильного приложения. Интерфейс должен быть простым и удобным.
Навигация по приложению
Процесс навигации по нашему приложения будет осуществлять с помощью виджета NavigationDrawer. NavigationDrawer был разработан компанией Google и представляет собой выдвижную панель в которой находится список элементов, нажатием на которые мы можем осуществлять навигацию по приложению.
Мы будем использовать расширенную под Material Design версию NavigationDrawer взятую с GitHub.
Чтобы использовать библиотеки с GitHub первым делом потребуется интегрировать их в приложение. Для этого мы должны зайти в созданный средой разработки файл с расширением gradleb в dependencies {} вставить следующие строчки кода:
compile ('com.mikepenz:materialdrawer:5.2.0@aar') {transitive = true
}
В общем код выглядит так:
dependencies {
compile fileTree (dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1' compile ('com.mikepenz.materialdrawer:library:0.9.5@aar') {
transitive = true
}
Далее следует нажать кнопку «sync now». Среда разработки автоматически синхронизируется с GitHub, после чего мы сможем использовать необходимые для разработки библиотеки.
Следующим этапом будет создание разметки для основного Activity приложения. В нашем приложении будет лишь одно Activity, а отображение контента будет происходить в фрагментах.
Разметка основного Activity:
<? xml version= «1.0» encoding= «utf-8»?>
<RelativeLayout xmlns:android= «http://schemas.android.com/apk/res/android» xmlns:tools= «http://schemas.android.com/tools» android:layout_width= «match_parent» android:layout_height= «match_parent»
tools:context=».MainActivity»>
<FrameLayout android:id= «@+id/content_frame» android:layout_width= «match_parent» android:layout_height= «match_parent» />
<android.support.v7.widget. Toolbar android:id= «@+id/toolbar» android:layout_width= «match_parent» android:layout_height= «wrap_content» android:background=»? attr/colorPrimary» android:elevation= «4dp» android:minHeight=»? attr/actionBarSize» android:paddingTop= «@dimen/tool_bar_top_padding»
android:transitionName= «actionBar»/>
</RelativeLayout>
Мы используем RelativeLayout в котором располагаются два объекта android.support.v7.widget. Toolbar и FrameLayout.
android.support.v7.widget. Toolbar.
Данная строка указывает на то, что в разметка будет присутствовать ToolBar. ToolBar был добавлен компанией Google для Android с API 21, однако может поддерживаться от API 19 с использование support библиотек, и представляет улучшенный аналог ActionBar. ToolBar представляет собой панель в верхней части приложения, на которой можно расположить иконки, текст, например, наименование текущего Activity или фрагмента и прочее.
FrameLayout. В данном layout в дальнейшем будут размещаться элементы fragment нашего приложения.
Код приложения для создания NavigationDrawer:
Toolbar toolbar = (Toolbar) findViewById (R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); new Drawer()
withActivity(this)
withToolbar(toolbar)
withActionBarDrawerToggle(true)
withHeader (R.layout.drawer_header)
addDrawerItems (new
PrimaryDrawerItem().withName (R.string.drawer_item_home).withIcon (FontAwes ome. Icon.faw_home), new PrimaryDrawerItem().withName (R.string.drawer_item_base).withIcon (FontAwes ome. Icon.faw_cubes), new
PrimaryDrawerItem().withName (R.string.drawer_item_equipment).withIcon (Font Awesome. Icon.faw_fire)
)
.w ithOnDrawerItemClickListener (new Drawer. OnDrawerItemClickListener()
{
@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id, IDrawerItem drawerItem) {
}
})
build();
Рассмотрим код подробнее.
Сперва нам необходимо получить доступ к взаимодействию с ToolBar, который мы вставляли в разметку основного Activity нашего приложения. Для этого вернемся к разметке и найдем там строчку «android:id= «@+id/toolbar»». В ней указано, что id - это toolbar. Далее в коде прописываем строчку «Toolbar toolbar = (Toolbar) findViewById (R.id.toolbar);», которая означает, что мы создадим новую переменную с типом данных ToolBar, названием toolbar и присвоим ей значение, а именно элемент найденный по id «toolbar».
«setSupportActionBar(toolbar);» в данной строчке указывается, что теперь ActionBar приложения будет заменен на ToolBar, который мы указали в разметке.
Для создания NavigationDrawer «new Drawer()». Далее мы можем настроить NavigationDrawer, вызывая его методы и передавая необходимые атрибуты.
withActivity(this) метод указывает в каком Activity будет располагаться NavigationDrawer и в него передается атрибут типа данных context.
withToolbar(toolbar) метод указывает, что будет использоваться ToolBar и в него передается атрибут типа данных ToolBar.
withActionBarDrawerToggle(true) метод указывает будет ли переключатель для вызова панели. Если указать false, то NavigationDrawer можно было вызвать только жестом пальца.
withHeader (R.layout.drawer_header) метод указывает, что будет использоваться изображение в NavigationDrawer. Атрибутом передаваемым в данный метод является идентификатор разметки для изображения.
В нашем приложении разметка для изображения выглядит следующим образом:
<? xml version= «1.0» encoding= «utf-8»?>
<ImageView xmlns:android= «http://schemas.android.com/apk/res/android» android:layout_width= «match_parent» android:layout_height= «wrap_content»
android:adjustViewBounds= «true» android:orientation= «vertical» android:scaleType= «fitCenter» android:src= «@drawable/header»></ImageView>
«addDrawerItems()» данный метод создает список, в него передаются элементы списка.
Разберем подробнее элементы списка NavigationDrawer.
PrimaryDrawerItem().withName (R.string.drawer_item_home).withIcon (Fon tAwesome. Icon.faw_home)
PrimaryDrawerItem() и SecondaryDrawerItem() данные методы служат для создания элементов списка. Между собой они отличаются используемыми атрибутами характеризующими их дизайн.
withName() метод указывает на текст отображаемом в списке, его можно написать туже или идентифицировать из документа String как это сделано в примере R.string.drawer_item_home.
В нашем приложения часть документа String с наименованием элементов NavigationDrawer выглядит так:
<string name = «drawer_item_home»>Основная</string>
<string name= «drawer_item_base»>База</string>
<string name= «drawer_item_equipment»>Оборудование</string>
Преимуществом использования данного документа заключается в возможности создания приложения на разных языках без лишних усилий. Для это потребуется создать несколько таких документов для разных языков. Они будут выбираться автоматически в зависимости от языковых настроек мобильного устройства.
withIcon() метод указывается что будет использовать иконка.
«FontAwesome. Icon.faw_home» идентифицирует иконку из библиотеки FontAwesome.
Для обработки нажатий в NavigationDrawer используется следующий метод в котором описываются действия происходящие при нажатия на элемент списка:
withOnDrawerItemClickListener (new Drawer. OnDrawerItemClickListener() {
@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id, IDrawerItem drawerItem) {
}
})
build();
Важной частью любого программного продукта является его дизайн. NavigationDrawer, который мы используем был специально расширен для Material Design, мы можем изменять его цветовую палитру путем написания соответствующих атрибутов в color.xml.
Код разметки из color.xml для NavigationDrawer:
<color name= «material_drawer_primary»>#F44336</color>
<color name= «material_drawer_primary_dark»>#D32F2F</color>
<color name= «material_drawer_primary_light»>#FFCDD2</color>
<color name= «material_drawer_accent»>#4CAF50</color>
<color name= «material_drawer_background»>#F9F9F9</color>
<color name= «material_drawer_primary_text»>#212121</color>
<color name= «material_drawer_primary_icon»>#FFFFFF</color>
<color name= «material_drawer_secondary_text»>#727272</color>
<color name= «material_drawer_hint_text»>#42000000</color>
<color name= «material_drawer_divider»>#B6B6B6</color>
<color name= «material_drawer_selected»>#E8E8E8</color>
<color name= «material_drawer_selected_text»>#F44336</color>
<color name= «material_drawer_header_selection_text»>#FFF</color>
<color name= «material_drawer_dark_background»>#303030</color>
<color name= «material_drawer_dark_primary_text»>#DEFFFFFF</color>
<color name= «material_drawer_dark_primary_icon»>#8AFFFFFF</color>
<color name= «material_drawer_dark_secondary_text»>#8AFFFFFF</color>
<color name= «material_drawer_dark_hint_text»>#42FFFFFF</color>
<color name= «material_drawer_dark_divider»>#1FFFFFFF</color>
<color name= «material_drawer_dark_selected»>#202020</color>
<color name= «material_drawer_dark_selected_text»>@color/material_drawer_primary</ color>
<color name= «material_drawer_dark_header_selection_text»>#FFF</color>
</resources>
2.4 Работа с базой данных
Добавление объектов в базу данных
Для того чтобы вставить данные в базу данных будем использовать метод insert(). В данной метод передаются три атрибута:
- указание таблицы в которую будут вставлены данные;
- может ли быть строка пустой при получении данных от контент - провайдера. Так как мы не получаем подобных данных, то будем передавать в метод значение null;
- ключ-массив содержащий наименование строки в которую будут вставляться значения и сами значения.
Перед тем как вставлять данные потребуется создать ключ-массив. Для этого будем использовать специальный объект ContentValues.
Создав экземпляр объекта на потребуется его наполнить значениями. Для этого будем использовать метод put() в который будут передаваться два атрибута: ключ (имя строки) и значение, которые нам нужно внести в базу данных.
Для взаимодействия с пользователем и получения от него значений будем использовать такой элемент графического интерфейса как EditText, в который пользователь будет передавать необходимые значения. Стоит учесть, что EditText использует свой тип данных Editable, который будет необходимо конвертировать в String.
Пример кода для добавления объекта в таблицу моделей объектов пожарной безопасности.
EditText editTextModel = (EditText) findViewById (R.id.editText); EditText editTextType = (EditText) findViewById (R.id.editText2); EditText editTextDescription = (EditText) findViewById (R.id.editText3);
ContentValues contentValues = new ContentValues(); contentValues.put (dbHelper. Model_PK, editTextModel.getText().toString());
contentValues.put (dbHelper. Model_Type, editTextType.getText().toString()); contentValues.put (dbHelper. Model_Description, editTextDescription.getText().toString());
db.insert (dbHelper. Table_Name_Model, null, contentValues);
Выборка из базы данных
Для того чтобы выбрать элементы из базы данных будем использовать метод query() в который передаются семь атрибутов:
- имя таблицы из которой будет происходить выборка;
- список возвращаемых строк, для возвращения всех строк следует передать null;
- аналог выражения WHERE на языке SQL;
- значение аргументов фильтра;
- аналог выражения GROUP BY на языке SQL;
...Подобные документы
Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.
курсовая работа [1,6 M], добавлен 19.04.2017Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.
курсовая работа [376,6 K], добавлен 13.09.2017Обзор рынка мобильных приложений, социальных сетей, аналогов. Обзор инструментов разработки: Android Studio, Microsoft visual С# 2012, PostgreeSQL, API Открытых данных Вологодской области, API Социальных сетей. Программный код, разработка интерфейса.
дипломная работа [2,6 M], добавлен 10.07.2017Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.
дипломная работа [1,6 M], добавлен 08.07.2015Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.
дипломная работа [1,0 M], добавлен 11.07.2014Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание".
дипломная работа [2,8 M], добавлен 03.07.2017Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.
курсовая работа [3,6 M], добавлен 16.07.2016Преимущества операционной системы Android. Проектирование интерфейса приложений. Визуальные редакторы и средства кроссплатформенной разработки. Оптимизация игрового процесса, выбор фреймворка и библиотек. Классификация и характеристика игр по жанрам.
дипломная работа [2,6 M], добавлен 10.07.2017Мобильные операционные системы. Основные характеристики систем iOS и Android, их достоинства, недостатки и индивидуальные возможности. Анализ преимуществ лидирующих мобильных платформ для разработки приложения. Основные различия в механизмах безопасности.
дипломная работа [806,5 K], добавлен 01.01.2018Проектирование базы данных для автоматизации деятельности по учету автотранспорта ГИБДД Вяземского района. Выбор инструментария для разработки базы данных и приложения по её ведению. Описание интерфейса и физической структуры приложения баз данных.
курсовая работа [2,2 M], добавлен 28.06.2011Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.
курсовая работа [867,9 K], добавлен 16.07.2013Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.
курсовая работа [1,0 M], добавлен 15.11.2012Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.
дипломная работа [2,2 M], добавлен 08.06.2017Разработка приложения, которое содержит информацию о гостях, о номерах, об оплате с целью автоматизации процесса регистрации в гостинице. Проектирование базы данных по технологии "Клиент-сервер". Специфика разработки пользовательского интерфейса.
курсовая работа [1,5 M], добавлен 29.12.2013Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.
курсовая работа [4,1 M], добавлен 17.07.2012Этапы создания и разработки базы данных. Построение модели предметной области. Разработка даталогической и физической моделей данных, способы обработки данных о сотрудниках организации. Проектирование приложений пользователя. Создание кнопочной формы.
курсовая работа [2,1 M], добавлен 14.02.2011Общая характеристика и анализ требований к разрабатываемому приложению, функциональные особенности и сферы практического применения. Проектирование базы данных и выбор системы управления ею. Тестирование приложения и выбор языка программирования.
дипломная работа [791,8 K], добавлен 10.07.2017Этапы проектирования базы данных, определение целей и содержание таблиц. Добавление данных и создание других объектов базы данных. Даталогическая модель: структуризация, нормализация, схемы данных. Порядок, принципы создания пользовательского интерфейса.
курсовая работа [1,3 M], добавлен 26.03.2013Разработка приложения для проверки использования времен глаголов в английском языке. Создание базы данных. Анализ используемых средств для реализации автоматического разбора текста. Проектирование мобильного приложения с помощью диаграмм деятельности.
дипломная работа [2,6 M], добавлен 13.09.2017