Файл: М инобрнауки россии федеральное государственное бюджетное образовательное учреждение высшего образования Национальный исследовательский университет мэи.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 643
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1. Анализ предметной области и постановка задачи
1.4 Инструментальные средства разработки
2. Проектирование информационной системы
3. Разработка информационной системы
3.1 Физическая структура проекта
3.3 Реализация работы с данными
3.7 Требования к средствам обеспечения
4. Технико-экономическое описание разработки
4.1 Расчёт себестоимости программного продукта
Рисунок 1.11 – Статистика популярности фреймворков
При выборе инструментальных средств разработки стоит обратить внимание на то, что кроссплатформенная разработка имеет положительную сторону с точки зрения дальнейшего развития данного проекта, ведь именно такие средства разработки позволят в дальнейшем при меньших трудозатратах на разработку распространить данное ПО на другие мобильные и стационарные ОС. Таким образом можно сделать вывод, что наиболее подходящим средством разработки является Xamarin, поскольку он имеет долгую историю, свидетельствующую о существовании большого количества материалов и библиотек, что поспособствует ускорению разработки, так же язык программирования и платформа .NET используемые в фреймворке имеют определённую популярность среди разработчиков, что говорит о том, что данные инструменты поддерживаются сообществом и активно развиваются.
Для осуществления разработки на фреймворке Xamarin необходимо определиться с интегрированной средой разработки. Существует два наиболее продвинутых решения для разработки на базе выбранной платформы: Rider и Visual Studio. Первая среда разработана компанией Jet Brains и является профессиональной интегрированной средой для разработки только мобильных приложений, у данного решение есть один существенный недостаток это платная основа распространения. Вторая среда является разработкой компании Microsoft, которая руководит в том числе и проектом Xamarin, что означает стабильную поддержку среды разработки и получение всех необходимых обновлений библиотек вовремя. По данным индекса популярности PYPL [7] рис. 1.12, Visual Studio является самой часто запрашиваемой в поисковых системах средой разработки. Можно сделать вывод, что среда компании Microsoft является наиболее выгодным решением для разработки с помощью платформы Xamarin.
Рисунок 1.12 – Индекс PYPL
Поскольку данный проект подразумевает работу с большим количеством иерархических данных, то необходимо использовать в разработке СУБД. Учитывая, что разрабатываемое приложение должно обладать возможностью автономной работы необходимо использовать локальную, легковесную реляционную СУБД. По данным опроса Developer Survey Results [5] проводимого StackOverflow за текущий год рис. 1.13, можно определить, что наиболее популярным решением в данной области является SQLite. Альтернативной СУБД выступает ObjectBox которая является не реляционным решением, что не подходит по требуемым критериям. В связи с тем, что СУБД, отвечающих всем описанным
требованиям почти нет то можно сделать вывод, что наиболее подходящим решением будет SQLite.
Рисунок 1.13 – Статистика популярности СУБД
Для отслеживания изменений в проекте и его файлах, для улучшения координации проводимой работы и осуществления контроля версий разрабатываемого ПО, необходимо использовать систему управления версиями. По данным опроса Developer Survey Results [5] проводимого StackOverflow за текущий год можно заметить рис. 1.14, что наибольшую популярность среди разработчиков имеет система Git. Стоит обратить внимание, что данная система встроена в большое количество современных интегрированных сред разработки, в том числе и в Visual Studio, что делает данное решение наиболее подходящим для использования в разработке данной проекта.
Рисунок 1.14 – Опрос Stack Overflow о системах контроля версий
Выводы главы
В данной главе были разобраны все значимые вопросы мобильной разработки: было проведено изучение наиболее популярных мобильных ОС и выбрана система Android в связи с широкой распространённостью среди пользователей, был проведён детальный анализ форматов БД ФИАС и определенно, что наиболее подходящим решением для мобильной разработки является КЛАДР из-за его легковесности, был проведён анализ наиболее развитых и популярных инструментальных средств разработки, среди которых было решено использовать кроссплатформенный фреймворк, поскольку это позволит в будущем развивать проект на других ОС, среди представленных фреймворков был выбран Xamarin как наиболее зрелый и популярный инструмент разработки, в качестве интегрированной среды разработки было принято решение использовать Visual Studio, как наиболее популярное и подходящее средство для работы с инструментарием Microsoft, в качестве СУБД будет использоваться SQLite как наиболее легковесное и производительное решения для мобильных приложений, в качестве системы контроля версий выступит Git как самое развитое и интегрируемое в среды разработки средство.
2. Проектирование информационной системы
2.1 Анализ данных БД ФИАС
Для работы с БД ФИАС необходимо провести анализ имеющихся в ней данных их структуру. Так же стоит разобрать из каких частей состоят файлы адресной системы.
Как упоминалось ранее данные в БД возможно выводить с использованием двух делений: муниципального и административно-территориального, в зависимости этого меняется способ поиска и структура данных. Согласно официальным сведениям о составе ФИАС можно узнать, что иерархия данных выглядит у двух делений следующим образом таблица 2.
Таблица 2
Составляющие элементы делений БД ФИАС
Уровень классификации | Административно-территориальное деление | Муниципальное деление |
1 | Субъект РФ | Субъект РФ |
2 | Административный район | Муниципальное образование |
3 | Город или посёлок городского типа | Населённый пункт |
4 | Населённый пункт | Не используется |
5 | Элементы улично-дорожной и планировочной инфраструктуры | Элементы улично-дорожной и планировочной инфраструктуры |
6 | Здания, сооружения, дома | Здания, сооружения, дома |
Поскольку административно-территориальное деление представляется более понятным для неподготовленного пользователя то стоит дать определить, чем именно является каждый из приведённых элементов структуры данного деления. К субъектам РФ относятся:
-
республики; -
края; -
области; -
города федерального значения; -
автономные области; -
автономные округа.
К районам относятся административные районы, относящиеся к конкретному субъекту РФ. К городам и посёлкам городского типа относятся:
-
города и посёлки городского типа регионального или районного подчинения; -
сельсоветы (сельские округа, сельские администрации, волости).
К населённым пунктам относятся:
-
города и посёлки городского типа, подчинённые администрациям городов районного подчинения; -
сельские населённые пункты.
К Элемента улично-дорожной и планировочной инфраструктуры относятся улицы, территории, проспекты, проезды и т.д. Последний элемент иерархии говорит сам за себя, это здания, дома и другие подобные объекты.
Каждый объект адресной БД обладает классификационным кодом. Классификационный код адресного объекта отражает иерархию его подчиненности и выделяет его среди объектов данного уровня, подчиненных одному и тому же старшему объекту. Классификационный код любого адресного объекта, начиная от регионов и заканчивая элементом улично-дорожной сети представляется в следующем виде:
СС+РРР+ГГГ+ППП+СССС+УУУУ+ДДДД (или ЗЗЗЗ) +ОООО, где:
СС – код субъекта Российской Федерации – региона
РРР – код района;
ГГГ – код города;
ППП код населенного пункта;
СССС - код элемента планировочной структуры;
УУУУ - код улицы;
ДДДД (или ЗЗЗЗ). ДДДД тип и номер здания, сооружения, объекта незавершенного строительства в случае адресации домов. ЗЗЗЗ - номер земельного участка в случае адресации земельных участков;
Таким образом, каждому уровню классификации соответствует фасет кода. Для объектов классификации верхних уровней фасеты кода объектов нижних уровней будут иметь нулевые значения. В случае подчинённости адресного объекта старшему объекту через несколько уровней иерархии фасеты кода объектов, соответствующих промежуточным уровням, должны быть нулевыми. Например, улица может быть привязана непосредственно к субъекту Российской Федерации (для городов Москва и Санкт-Петербург), при этом фасеты кода, соответствующие уровням округов, районов, городов и населенных пунктов, будут содержать нули.
Поскольку для данного проекта принято использовать БД ФИАС в формате КЛАДР, то необходимо ознакомиться с содержанием файлов данного классификатора, она отражена на таблице 3.
Таблица 3
Структура файлов КЛАДР
Наименование файла | Содержимое |
Kladr.dbf | Субъекты РФ, Административные районы, города, посёлки городского типа, сельсоветы, сельские населённые пункты |
Street.dbf | Улицы, переулки, проезды и т.д. |
Doma.dbf | Дома, здания, сооружения и т.д. |
Flat.dbf | Должна содержать номера квартир, но в актуальной версии БД этот файл пуст |
Sorcbase.dbf | Таблица сокращений используемых в БД ФИАС |
Altnames.dbf | Таблица содержащая историю переподчинения адресных объектов |
Структура записи файла Kladr.dbf представлена в таблице 4.
Таблица 4
Структура файла Kladr.dbf
Наименование столбца | Значение столбца |
NAME | Наименование адресного объекта |
SOCR | Сокращённое название типа объекта |
CODE | Классификационный код |
INDEX | Почтовый индекс |
GNINMB | Код ИФНС |
UNO | Код территориального участка ИФНС |
OCATD | ОКАТО |
STATUS | Статус адресного объекта |
Структура записи файла Street.dbf представлена в таблице 5.
Таблица 5
Структура файла Street.dbf
Наименование столбца | Значение столбца |
NAME | Наименование улицы, проезда и т.д. |
SOCR | Сокращённое название типа объекта |
CODE | Классификационный код |
INDEX | Почтовый индекс |
GNINMB | Код ИФНС |
UNO | Код территориального участка ИФНС |
OCATD | ОКАТО |