Разработка информационно-справочной системы альтернативного поиска квартир
Изучение принципа реализации и взаимодействия ДубльГИС и СОМ-компонентов. Состав программной информационной системы поиска квартир и характеристика её программных интерфейсов. Проектирование пользовательского интерфейса и клиентского модуля базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.04.2013 |
Размер файла | 4,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
28
Дипломная работа
Разработка информационно-справочной системы альтернативного поиска квартир
Содержание
Введение 6
1. Постановка задачи
1.1Требование к разрабатываемому модулю расширения
1.2 Сравнение с существующими аналогами
1.3 Выбор систем для анализа
2. Разработка программного средства
2.1 Структура модуля расширения
2.2 Функционирование программного модуля
2.3 Обработка базы данных
2.4 Проектирование сайта «Недвижимость»
2.4.1 Принципы реализации элементов дизайна сайта
2.4.2 Описание структуры хранения проекта
2.4.3 Классификация пользователей проекта
2.5 Общая структура программной системы
2.5.1 Реализация модуля PluginImpl
2.6 Тестирование
2.6.1 Тестирование модуля расширения
2.6.2 Тестирование сайта «Недвижимость»
3. Руководство пользователя
3.1.Руководство пользователя
3.2 Руководство администратора
4. Расчет экономических показателей программного продукта
4.1 Расчет экономических показателей программного продукта
4.2 Расчет эффекта от использования программного продукта
5. Безопасность жизнедеятельности
5.1 Характеристика вредных факторов при работе с ПК
5.2 Основные требования к организации рабочего места с ПК
5.3 Пожарная безопасность
Заключение
Библиография
Введение
Практически любой человек однажды сталкивается с необходимостью получить определенную информацию о недвижимости. Способов это сделать масса: можно воспользоваться различными периодическими изданиями или сайтами в Интернете, где публикуется информация о предложениях недвижимости, можно использовать специализированные программы, но все эти способы обладают довольно существенным недостатком - очень низкой степенью наглядности.
Например, система Atlant (агентство недвижимости), обладающая широкими возможностями поиска по базе данных, возможностью обновления базы данных через Интернет, предоставляет пользователю довольно ограниченную функциональность для работы с картой города. Используя эту систему, можно получить лишь очень приблизительное расположение искомого объекта на карте. К тому же довольно полезной была бы возможность быстро получить информацию о ближайших транспортных узлах, магазинах и достопримечательностях, а также о прочих важных пользователю объектах.
В то же время электронный справочник организаций, транспортных маршрутов и остановок ДубльГИС, объединенный с картой города, позволяет получить детальную информацию о расположении всех объектов на карте города, обладает удобной системой навигации по карте и имеет простой и интуитивный интерфейс.
Для работы с объектами недвижимости можно совмещать оба типа приложений: например, Atlant для поиска нужного адреса и ДубльГИС для отображения объекта, находящегося по этому адресу. Но такой вариант тоже достаточно неудобен, так как нужно постоянно переходить от приложения с данными к приложению с картой [1].
Не так давно появилась новая, третья версия системы ДубльГИС, которая содержит множество нововведений. В новой оболочке ДубльГИС v3 реализованы открытые программные интерфейсы (API) на базе COM-технологий, что позволяет создавать дополнительные модули (плагины) и организовывать взаимодействие карты-справочника с другими приложениями. Интерфейсы предоставляют возможность добавления собственных справочников (помимо уже существующих справочника организаций и справочника транспорта).
Программные интерфейсы открывают широкие возможности для расширения функциональности ДубльГИС сторонними разработчиками. Кроме того, такой подход к организации приложения дает пользователю возможность самому выбирать необходимую конфигурацию программного комплекса ДубльГИС, подключая нужные модули расширения. В связи с вышесказанным возникла идея создать модуль расширения для ДубльГИС, который позволял бы работать с базой данных предложений о недвижимости непосредственно через интерфейс ДубльГИС.
1. Постановка задачи
1.1Требования к разрабатываемому модулю расширения
В данном дипломном проекте необходимо реализовать модуль расширения для ДубльГИС, предназначенный для работы с базой данных, содержащей информацию о предложениях недвижимости. Модуль должен, во-первых, реализовывать графический интерфейс в окне программы ДубльГИС, который позволял бы осуществлять поиск по одному или нескольким критериям и, во-вторых, отображать найденные объекты на карте (выделять объекты и расставлять специальные метки), при необходимости изменяя масштаб и перемещая точку обзора карты.
Модуль должен отображать информацию для каждого объекта независимо от того, как пользователь обращается к нему: объект может быть найден при помощи поиска по недвижимости, но также может быть выбран произвольный объект на карте - в обоих случаях информация должна быть отображена. Для отдельно выбранного пользователем объекта информация должна отображаться в выносках карты, а для объектов, полученных в результате запроса к базе данных, - на панели справочников.
При многократном обращении к базе данных предложений недвижимости модуль должен предоставлять текстовую информацию о каждом поисковом запросе. Это необходимо, во-первых, для размещения информации о текущем запросе в строке состояния ДубльГИС и, во-вторых, для формирования истории поиска справочника.
1.2 Сравнение с существующими аналогами
На данный момент разработано множество программных систем для альтернативного поиска квартир, но не многие из них внедрены и работают на сайтах недвижимости.
Например, «Жилфонд» (агентство недвижимости) разработал модуль недвижимости для оболочки ДубльГИС. Поиск представляет собой дополнительную вкладку на карте с панелью поиска. Основными плюсами продукта является:
· Удобный и быстрый поиск.
· Наглядный поиск по карте.
· Большая база данных.
К недостаткам можно отнести:
· База данных обновляется только через интернет.
· Недвижимость оформляется через риэлторов.
Агентство недвижимости «Atlant», представляет собой сайт, для размещения объявлений и поиска недвижимости. Для размещений и просмотра объявлений необходимо зарегистрироваться на сайте. После регистрации выбрать интересующий раздел. Система имеет следующие плюсы:
· Широкие возможности поиска по базе данных.
· Большой спектр предоставляемых услуг.
· Доступный и удобный интерфейс.
К недостаткам относятся:
· Ограниченная функциональность для работы с картой города.
· База данных обновляется через интернет.
· Недвижимость оформляется через риэлторов.
На сайте НГС (Новосибирский Городской Сайт) так же есть возможно поиска недвижимости. Сайт представляет собой очень большое количество информации. Недвижимость можно разместить и посмотреть сразу после входа на сайт. В верхней части сайта расположена панель для задания критериев поиска. Так же на сайте предоставляется возможность выбора других услуг. К основным плюсам относятся:
· Поиск недвижимости по всей Новосибирской области.
· Возможность просмотра недвижимости на карте города.
· Большая база данных.
Недостатками являются:
· Большое количество информации затрудняет поиск недвижимости.
· Недвижимость оформляется через риэлторов.
В данном же программном продукте реализован поиск недвижимости без посредников, а так же разработан сайт, с помощью которого данные по продаже недвижимости после размещения их сразу попадают на карту города. С помощью панели поиска, при задании минимальных критериев, можно легко и быстро найти и сразу же посмотреть расположение недвижимости на карте.
Выбирая программный продукт, мы в первую очередь смотрим на функциональность системы, удобность использования и интерфейс. В данном дипломном проекте рассматривается система альтернативного поиска квартир, удовлетворяющая выше описанным требованиям.
1.3 Выбор инструментальных средств разработки
При разработке дипломного проекта были выбраны следующие инструментальные средства. Для создания DLL-компонентов (динамически подключаемая библиотека) было решено использовать библиотеку ATL (Active Template Library), которая значительно упрощает и ускоряет разработку компонентов, поскольку содержит множество классов и шаблонов.
DLL-компоненты можно реализовывать на разных языках программирования и в разных средах, однако была выбрана среда программирования Microsoft Visual Studio и язык С++, оптимально сочетающий в себе максимальную гибкость и скорость работы [2].
Модуль расширения ДубльГИС должен быть реализован в виде динамически подключаемой библиотеки (dynamic link library). Эта библиотека обязательно должна содержать реализацию главного класса модуля, который наследует интерфейсы IGrymPlugin и IGrymPluginInfo библиотеки типов GrymCore (библиотека типов API ДубльГИС).
Для реализации сайта был использован язык программирования PHP (язык, предназначенный для быстрого создания динамических web-страниц) - это широко используемый язык программирования общего назначения с открытым исходным кодом.
Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на сервере. Если бы на сервере был размещен скрипт, клиент получит только результат выполнения скрипта, причем он не смог бы выяснить, какой именно код выполняется. PHP крайне прост для освоения, но вместе с тем способен удовлетворить запросы профессиональных программистов.
Таким образом, выбирая PHP, получаем свободу выбора операционной системы и веб-сервера. Кроме того, появляется выбор между использованием процедурного или объектно-ориентированного программирования или же их сочетания [3].
Для работы с базой данных использовался MySQL - это система управления базами данных, SQL (язык структурированных запросов). MySQL характеризуется большой скоростью, устойчивостью к возникновению ошибок и легкостью в использовании.
Основные преимущества пакета MySQL:
- Многопоточность. Поддержка нескольких одновременных запросов.
- Оптимизация связей с присоединением многих данных за один проход.
- Записи фиксированной и переменной длины.
- ODBC драйвер в комплекте с исходником
- Гибкая система привилегий и паролей.
- До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
- Поддержка ключевых полей и специальных полей в операторе CREATE.
- Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.
- Интерфейс с языками C и perl.
- Основанная на потоках, быстрая система памяти.
- Все данные хранятся в формате ISO8859_1.
- Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
- Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.
- Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.
Легкость управления таблицей, включая добавление и удаление ключей и полей. MySQL - это организация связи "клиент - сервер", которая состоит из сервера mysqld и множества разных клиентских программ и библиотек.
База, на которой был создан MySQL, является набором задач, которые успешно использовались в высокотребовательной среде в течение многих лет. Несмотря на то, что MySQL интенсивно развивается, он уже предоставляет целый ряд удобных функций и инструментов для эффективной работы [4].
Для размещения сайта в интернете использовался Apache HTTP- сервер. Сервер представляет собой компьютер, на котором установлено специальное программное обеспечение, которое тоже называют "веб-сервером". Apache - полнофункциональный, расширяемый Web-сервер с открытым кодом, полностью поддерживающий протокол НТТР/1.1 и распространяющийся с открытым исходным кодом. Сервер может работать практически на всех распространенных платформах. Он очень прост в установке и конфигурации. Поэтому выбор пал именно на него.
С помощью сервера Apache можно производить простую аутентификацию. С помощью штатных средств сервера Apache можно разграничить доступ к определенным страницам сайта для разных пользователей. Это нужно, например, для того чтобы сделать администраторский интерфейс к сайту. Пользователи могут быть разбиты на группы, и для каждой из них можно назначить свои права доступа [5].
2. Разработка программного средства
2.1 Структура модуля расширения
В результате проектирования была получена общая схема программной системы модуля расширения (см. рисунок 2.1).
Рисунок 2.1 -Диаграмма взаимодействия компонентов программного модуля
Рассмотрим назначение каждого модуля:
Модуль расширения ДубльГИС - главная часть программы, которая реализует добавление элементов пользовательского интерфейса в основное окно ДубльГИС, создает пользовательский слой, пользовательский справочник, осуществляет инициализацию базы данных и взаимодействие между блоками программной системы.
База данных предложений недвижимости - размещаемая в памяти структура, данные в которую считываются из базы данных, расположенной на сервере MySQL.
Объект команды - наследует интерфейс ICommandAction, который является главным интерфейсом объекта команды (Action) пользовательского интерфейса (UI) оболочки ДубльГИС и представляет собой, по сути, определенный набор действий. Объект создается и инициализируется, когда пользователь вводит критерии поиска. Объект команды осуществляет поиск по базе данных по заданным критериям, а затем вызывает обработчики этих критериев (модуль формирования запросов к карте, модуль формирования координат пиктограмм) [6].
Модуль формирования запросов к карте - использует результаты поиска по базе данных предложений недвижимости по критериям, введенным пользователем, и формирует запрос к карте в специальном формате.
Полученная в результате команда, совершающая выбор N объектов на карте, их выделение и, в зависимости от необходимости, масштабирование карты и перемещение точки обзора должна выглядеть так:
!find:map_building "Улица1" Номер1 !find:map_building "Улица2" Номер2 ... !find:map_building "УлицаN" НомерN !select:zoom
!find:map_building - команда нахождения нужного объекта на карте с двумя параметрами: улица и номер дома. !select:zoom - выделение выбранных объектов с дополнительным, если это необходимо, изменением масштаба и перемещением точки обзора.
Далее команда обрабатывается с помощью метода ParseCommandLine фабрики объектов, создаваемых в потоке просмотра карты.
Модуль формирования координат пиктограмм - использует результаты поиска по базе данных предложений недвижимости по критериям, введенным пользователем, и формирует структуру данных, где хранятся координаты точек, в которых необходимо отобразить пиктограммы. Точки представляют собой координаты центров графических объектов карты, соответствующих найденным предложениям недвижимости. Для создания и инициализации точки, принадлежащей карте ДубльГИС, используется метод CreateMapPoint фабрики классов основного потока оболочки ДубльГИС.
Контроллер выносок карты - модуль, отвечающий за выноски на карте. Каждый раз при выделении произвольного объекта на карте вызывается метод модуля raw_Check, в котором совершается проверка на обслуживание выбранного объекта данным контроллером. В метод передается указатель на интерфейс IFeature, где содержится информация о выбранном объекте. Получить данные об объекте из IFeature можно посредством интерфейса IDataRow. Указатель на интерфейс IDataRow можно получить посредством QueryInterface. Затем для проверки в переменную типа VARIANT с помощью метода get_Value интерфейса IDataRow можно получить значения улицы и номера здания.
Если объект обслуживается данным контроллером (в данном случае требуется, чтобы это было здание, т.е. объект должен иметь адрес), то вызывается модуль формирования карточек справочника, который создает единственную карточку для данного объекта. Затем создается выноска карты и новая вкладка, в которую выводится содержимое карточки.
Пользовательский слой - объект создается во время инициализации модуля расширения и представляет собой слой, на котором будут отображаться пиктограммы, соответствующие координатам объектов, отвечающим заданным критериям поиска. Класс объекта наследует интерфейсы ILayer (основной интерфейс слоев), IPluginShapeLayer (основной интерфейс пользовательских слоев, наследованный от ILayer), а также IControlAppearance (интерфейс определяет визуальное представление слоя) и IControlPlacement (интерфейс определяет расположение слоя).
2.2 Функционирование программного модуля
Поясним приведённую схему на примере следующего описания взаимодействия компонентов и пользователя:
1) Пользователь запускает ДубльГИС и открывает диалог поиска по базе данных предложений недвижимости либо через контекстное меню, либо с помощью кнопки, расположенной в закладке на главной панели управления окна просмотра (RibbonBar).
2) Модуль расширения ДубльГИС создает объект команды, в котором вызывается диалог поиска по базе данных предложений недвижимости. После того, как пользователь вводит критерии поиска, осуществляется поиск по базе данных предложений недвижимости. Затем запускаются модуль формирования запросов к карте и модуль формирования координат пиктограмм.
3) Объект команды передает созданный модулем формирования запросов запрос карте, после чего этот запрос выполняется, и на карте отображаются объекты, которые были найдены в соответствии с критериями поиска, введенными пользователем.
4) Объект команды инициализирует поиск по справочникам ДубльГИС и передает созданную модулем формирования координат пиктограмм структуру курсору объектов пользовательского слоя. Курсор объектов пользовательского слоя отображает пиктограммы по полученным координатам. Кроме того, объект команды создает строковое описание поискового запроса. Это описание используется для отображения описания текущего запроса в строке состояния ДубльГИС и для заполнения истории поиска по справочникам.
5) Объект команды обращается к пользовательскому справочнику и вызывает метод поиска справочника (Search). В методе Search, в свою очередь, создается курсор перечисления карточек справочника, который отвечает за формирование карточек, содержащих информацию о результатах поиска.
6) При выборе пользователем произвольного объекта происходит обращение к контроллеру выносок карты и происходит проверка выбранного объекта, обслуживается ли он данным контроллером. Если обслуживается, то создается выноска карты. Далее контроллер обращается к модулю формирования карточек справочника и выводит единственную карточку для данного объекта в новую вкладку выноски карты.
7) При перемещении точки обзора карты или при масштабировании вызывается курсор перечисления объектов пользовательского слоя для отображения пиктограмм на соответствующих объектах.
Таким образом, модуль расширения, реализованный согласно спроектированной схеме, может осуществлять работу с базой данных предложений недвижимости - производить поиск по заданным критериям и отображать результаты поиска в окне ДубльГИС. Кроме того, схема спроектирована таким образом, что зависимости от типа базы данных нет, поэтому реализованный по этой схеме модуль расширения может быть легко адаптирован для использования любой базы данных, содержащей информацию об объектах на карте ДубльГИС.
2.3 Обработка базы данных
В результате проектирования была получена общая схема обработки базы данных (см. рисунок 2.2).
На рисунке 2.2 приведена структурная схема:
Рисунок 2.2 - Схема компонентов для обработки базы данных
Рассмотрим назначение каждого модуля:
База данных предложений недвижимости - размещаемая в памяти структура, данные в которую считываются из базы данных, расположенной на жестком диске. База данных на жестком диске представляет собой форматированный особым образом текстовый файл.
Модуль обработки базы данных - часть программы, которая открывает файл базы данных, считывает оттуда информацию и обрабатывает в соответствии с форматом представления данных базы ДубльГИС.
Для получения всех улиц из базы данных ДубльГИС, принадлежащих карте выбранного города, используется метод CreateQuery интерфейса IDatabase. Для этого метод должен вызываться со строковым параметром «street»: IQueryPtr pQueryStreet = pGrymDB-> CreateQuery(L"street");
pGrymDB - указатель на интерфейс IDatabase базы данных ДубльГИС.
Также, чтобы обеспечить поиск только по улицам, принадлежащим карте города, используется метод AddCriterion: pQueryStreet->AddCriterion(L"belong", "map");
Здесь pQueryStreet - указатель на интерфейс IQuery.
После этого для каждой улицы вызывается метод Fetch, который возвращает указатель на структуру IDataRow, из которой можно получить имя улицы.
Затем название улицы каждой считанной из базы данных недвижимости записи сравнивается с названием улицы в базе данных ДубльГИС.
Если запись в базе данных предложений недвижимости не соответствует записи в БД ДубльГИС, то она изменяется. Для этого при поиске по базе данных ДубльГИС используется критерий частичного поиска: pQueryStreet->AddCriterion(L"street_name_part",SysAllocString(bstr);
Например, если имеется строка «Мира пр», то ищутся совпадения этой строки в базе данных ДубльГИС.
В данном случае результатом поиска будет строка «Мира проспект», которая и будет записана в обновленную базу данных предложений недвижимости.
Аналогичным образом проверяются номера зданий.
Приложение, реализованное согласно данной схеме, может осуществлять работу с базой данных предложений недвижимости и с базой данных ДубльГИС, приводя формат представления данных в первой базе в соответствии с форматом представления данных во второй.
2.4 Проектирование сайта «Недвижимость»
На этапе проектирования сайта закладываются основные механизмы взаимодействия элементов проектируемых систем, функционирование системы в целом. Необходимо сначала спроектировать общий механизм взаимодействия, а затем проработать более мелкие детали. Главными требованиями к техническим и системным возможностям является соблюдение и реализация следующих принципов функционирования системы. Это такие принципы как:
· Быстродействие
· Удобство пользователя
· Удобство администратора
· Безопасность
Для web-сервера быстродействие задается временем обработки запросов пользователей. Причем, для статического сайта время определяется как время на получение запроса от клиента плюс время на поиск страницы в хранилище сервера и времени на получение клиентом ответа от сервера. Для динамического сайта: плюс время на работу интерпретатора и время на работу сервера базы данных. Безопасность web-сервера задается системным и прикладным обеспечением. Для статического сайта его безопасность - это меры по осуществлению безопасности платформы (системной части), а для динамического сайта - это мера по осуществлению безопасности как самой платформы, так и работы прикладного программного обеспечения. Удобство пользования системной предполагает возможность легкого, незапутанного взаимодействия пользователя с ней и ее поддержке. Это достигается путем увеличения функциональности системы. Причем, резко возрастает сложность системы и появляется большая вероятность возникновения ошибки. Таким образом, будущее функционирование системы определяется как результат компромисса между быстродействием, безопасностью и простотой ее использования.
2.4.1 Принципы реализации элементов дизайна сайта
Необходимо, чтобы сайт отвечал всем предъявляемым требованиям, имел оригинальный дизайн и четко выработанную концепцию.
Первым шагом на пути разработчиков является дизайн. В зависимости от того, насколько грамотно и профессионально он выполнен, будет складываться впечатление клиента (пользователя) о компании в целом. Дизайн - не может быть объективным в принципе: что одному клиенту нравится, другому - нет. Однако есть определенные составляющие, которые являются обязательными для современного дизайна, рассмотрим основные из них:
· Стилизация;
· Цветовое оформление;
· Интеграция элементов управления;
· Необычность («изюминка») сайта.
Пользователь начинает просматривать сайт с главной страницы, а затем, возможно, переходит на подчиненные страницы. Стилизация требует, чтобы главная и подчиненные страницы имели один стиль. Стиль сайта задает расположение графических элементов на страницах, его структуризацию, использование графики и анимации, используемые шрифты, цветовое оформление. Цветовое оформление задает палитру используемых цветов на страницах сайта. Так как сайт должен взаимодействовать с пользователем через Интернет, то он содержит элементы управления. Элементами управления могут быть: меню, ссылки, панель управления и так далее. Расположение и представление этих элементов на страницах сайта сказывается на его дизайне. В связи с этим при разработке дизайна сайта:
· нужно оптимизировать рисунки, прежде чем использовать их;
· не стоит увлекаться баннерами;
· перед размещением страницы на сайте проверять ее на грамотность;
· использовать цветовые схемы;
· грамотно структурировать текст на страницах;
· выполнить стилизацию списков, меню, ссылок и так далее;
· необычность, запоминаемость сайта.
Принимая во внимание данные советы можно приступать к разработке дизайна сайта.
Разработка дизайна должна в итоге привести к выработке фирменного стиля организации (если его нет). Если же фирменный стиль существует, то желательно его выдерживать [7].
Эти принципы нашли свое отражение при разработке сайта и цветовой гамме. На страницах используется приятный, нераздражающий зеленый и голубой цвета. Но в то же время, для привлечения внимания посетителей к основным элементам и заголовкам используется черный и белые цвета.
Сайт ориентирован на широкий круг пользователей, поэтому необходимо сделать его наиболее простым и понятным любому, а также кнопки и все используемые шрифты достаточно крупными, чтобы люди могли спокойно ориентироваться в нем [8].
Для начала необходимо разобраться и понять, как информация будет располагаться на странице.
В данном случае в средней части страницы размещена надпись с двумя кругами, стиль которого определяет стиль всей страницы. Именно этот элемент пользователь запоминает больше всего. Под надписью расположены два больших круга, которые и являются ссылками для входа. Благодаря такому построению, страница не только приятно выглядит, но и информация расположена наглядно.
2.4.2 Описание структуры хранения данных
Разработанная в данном дипломном проекте база данных состоит из 15 таблиц. Ниже представленны общая структура базы данных на рисунке 2.3 и таблицы на рисунке 2.4
Рисунок 2.3 -Общая структура базы данных
Рисунок 2.4 -Таблицы базы данных
Рассмотрим некоторые таблицы в отдельности.
Таблица «area»
Данная таблица содержит все районы города Новосибирск. Она представлена на рисунке 2.5
Рисунок 2.5 - Изображение таблицы «area»
Данная таблица содержит 2 поля:
1. id - идентификационный номер пункта меню (первичный ключ);
2. Area - заголовок пункта районы
Данная таблица имеет связь 1:М (один ко многим) . Таблица представленна на рисунке 2.6.
Рисунок 2.6 - Изображение связи между таблицами
Таблица «users»
В данной таблице хранятся логины и пароли людей, которые получили права администратора.
Данная таблица состоит из 5 полей:
1. id - идентификационный номер записи (первичный ключ);
2. ip_address - идентификационный номер адреса;
3. username - логин;
4. password - пароль;
5. email - мейл.
Таблица «apartment»
В данной таблице хранятся все данные о квартирах, которые пользователь хочет сдать или продать.
Данная таблица состоит из 10 полей:
1. id - идентификационный номер записи (первичный ключ);
2. username - логин;
3. email - мейл;
4. password - пароль;
5. area - район;
6. street - улица;
7. floor - этаж;
8. room - кол-во комнат;
9. cost - цена;
10. text - описание квартиры.
Данная таблица имеет связь 1:М (один ко многим) .
Таблица «ulitkirovsk»
Данная таблица содержит все улицы Кировского районы города Новосибирск.
Данная таблица содержит 2 поля:
1. id - идентификационный номер пункта меню (первичный ключ);
2. name - заголовок пункта название улицы
2.4.3 Классификация пользователей проекта
Сайт предназначен для трех категорий пользователей:
· администратор, который имеет полный доступ ко всей информации;
· зарегистрированный гость. Этот пользователь имеет возможность размещать свои услуги в категории «Сдать». Также он может просматривать всю интересующую информацию в категории «Снять»;
· незарегистрированный гость. Этот пользователь имеет возможность только просматривать всю интересующую его информацию в категории «Снять».
2.5 Общая структура программной системы
На рисунке 2.11 представлена диаграмма классов модуля расширения для ДубльГИС:
Рисунок 2.11 - Диаграмма классов модуля расширения
Рассмотрим подробнее каждый класс:
Класс CRealtyPlugin представляет собой основной класс модуля расширения. Этот класс соответствует главному модулю расширения проекта.
ControlAppearence - класс, отвечающий за отображения комплнентов.
CSampleSearch - класс, реализующий функциональность пользовательского справочника.
CDirectoryCustom - класс, реализующий пользовательский слой.
CSpatialFilter - класс, реализующий курсор перечисления графических объектов (пиктограмм) пользовательского слоя.
CDataRowFilter - класс, реализующий контроллер карточек пользовательского справочника. Также класс наследует интерфейсы, требуемые для реализации непосредственно объектов карточек, что позволяет задавать их содержимое.
CSearchControl - класс, реализующий кнопки панели поиска.
2.5.1 Реализация модуля PluginImpl
В качестве главного модуля расширения рассмотрим модуль PluginImpl. Основные объекты пользовательского интерфейса модуля создаются в методе raw_Initialize класса главного объекта модуля PluginImpl. Все необходимые для этого данные содержатся в главном объекте потока просмотра файла данных оболочки ДубльГИС.
Метод raw_Initialize получает указатель на этот интерфейс GrymCore::IBaseViewThread *pBaseView в качестве аргумента. Указатели на остальные интерфейсы получаются либо посредством метода IUnknown QueryInterface(), либо с помощью специальных методов интерфейсов для получения указателей на другие интерфейсы.
// Добавление пункта в контекстное меню:
GrymCore::IPopupMenuPtr ptrContextMenu = ptrMap
-> GetContextMenu();
// Получение указателя на объект контекстного меню карты:
GrymCore::ISubMenuPtr ptrMenu = ptrContextMenu
->AddSubMenu(_bstr_t(L"Недвижимость:1"), _bstr_t(L"Недвижимость"));
// Добавление нового пункта:
ptrMenu->AddControl(CmdShowRealty::CreateInstance(pBase
View));
// Создание объекта команды.
// Создание объекта пользовательских вкладок в выносках карты:
GrymCore::IMapInfoControllersPtr pMapCtrls;
ptrMap->get_MapInfoControllers(&pMapCtrls);
pMapCtrls->AddController
(CMapInfoCtrl::CreateInstance());
Создание объекта контроллера выносок карты для добавления собственной вкладки.
// Слои
ILayerCollectionPtr pLayerColl = pMap->GetLayers();
pLayerColl->AddLayer(CMapLayer::CreateInstance(pBaseView, &ShapeData_));
2.6 Тестирование
2.6.1 Тестирование модуля расширения
Тестирование программного средства на надежность производилось как сторонними пользователями, которые не участвовали в разработке программы, так и самим разработчиком с использованием тестовых данных.
Все результаты, возвращаемые базой данных, были корректно обработаны модулем расширения: отображение найденных объектов и вывод информации о них производится без ошибок.
2.6.2 Тестирование сайта «Недвижимость»
Результаты тестирование пользовательской части сайта приведены в таблице 2.1.
Таблица 2.1 - Результаты тестирования пользовательской части сайта
Совершаемое действие |
Ожидаемый результат |
Полученный результат |
|
Ввод www.нск-недвижимость.рф в адресную строку браузера. |
Загрузка главной страницы сайта. |
Загрузка главной страницы сайта. |
|
Нажатие на ссылку «Сдать» в средней части окна сайта. |
Появление формы для регистрации. |
Появление формы для регистрации. |
|
После регистрации, нажимаем на ссылку «Добавить квартиру». |
Появляется форма для заполнения необходимых данных, для того что бы продать или сдать квартиру. |
Появляется форма для заполнения необходимых данных, для того что бы продать или сдать квартиру. |
|
Нажимаем «Изменить» |
Возможность редактирования данных. |
Возможность редактирования данных. |
|
Нажимаем «Удалить» |
Удаление добавленных данных. |
Удаление добавленных данных. |
|
Нажатие на ссылку «Снять» в средней части окна сайта. |
Появление строки поиска для ввода критерий с онлайн Яндекс картой. |
Появление строки поиска для ввода критерий с онлайн Яндекс картой. |
|
Вводим в поисковую строку необходимые критерии |
По введенным критериям нашлись и выделились данные |
По введенным критериям нашлись и выделились данные |
Результаты тестирования административной части сайта приведены в таблице 2.2.
Таблица 2.2 - Результаты тестирования административной части сайта
Совершаемое действие |
Ожидаемый результат |
Полученный результат |
|
Ввод www.нск-недвижимость.рф/admin в адресную строку браузера. |
Загрузка окна авторизации. |
Загрузка окна авторизации. |
|
Нажатие на кнопку «Ok» без ввода логина и пароля. |
Вход в систему не осуществляется. Вывод предупреждения. |
Вход в систему не осуществился. Вывод предупреждения о вводе неверного логина либо пароля. |
|
Ввод верного логина и пароля, нажатие на кнопу «Ok». |
Успешный вход в систему администрирования. Загрузка главной страницы администратора. |
Успешный вход в систему администрирования. Загрузка главной страницы администратора. |
|
Выбор страницы из выпадающего списка. Редактирование её содержимого. Нажатие на кнопку «Сохранить» |
Успешное сохранение изменений страницы. |
Изменения страницы успешно сохранились. |
|
Выбор страницы из выпадающего списка. Удаление её содержимого. Нажатие на кнопку «Сохранить» |
Успешное сохранение изменений страницы. |
Изменения страницы успешно сохранились. |
3. Руководство пользователя
3.1 Руководство пользователя
Для наглядной работы программного продукта был реализован сайт http://www.нск-недвижимость.рф города Новосибирска. Интерфейс главной страницы понятен и прост для пользователя. Весь сайт выполнен в стиле цветовой гаммы ДубльГис.
Рассмотрим более подробно основные разделы пользовательской, а так же административной части сайта.
Раздел «Главная»
Данная страница загружается автоматически при переходе по ссылке на разработанный сайт. Главная страница позволяет пользователю перейти в разные разделы сайта (Сдать/Снять) (рисунок 3.1).
Рисунок 3.1 - Главная страница сайта
Раздел «Сдать»
На данную страницу можно перейти по нажатию на пункт меню «Сдать». После нажатия пользователю предлагается войти в систему (рисунок 3.2).
Рисунок 3.2 - Вход в систему
Таблица 3.1 - Страница пользователя
Добрый день Наталья |
|||||||||
Вы добавили следующие квартиры |
|||||||||
Р-н |
Улица |
№ дома |
Этаж |
Кол. ком |
№ тел. |
тип |
Стоимость |
Описание |
|
Октябрьск |
Кирова |
45 |
4 |
2 |
234878 |
Сдать |
15000 |
Сделан ремонт |
Раздел «Снять»
В данном разделе пользователь может ввести требуемые критерии для поиска недвижимости (рисунок 3.4).
Рисунок 3.4 - Страница «Снять»
Рисунок 3.5 - Поиск по заданным критериям
3.2 Руководство администратора
Администратор имеет возможность изменения, добавления и удаления некоторых пунктов меню.
Для входа в систему администрирования необходимо:
1. Набрать в адресной строке браузера www.нск-недвижимость/admin.
2. Авторизироваться, то есть ввести имя пользователя и пароль.
3. Нажать кнопку «Далее».
Форма авторизации показана на рисунке 3.6.
Рисунок 3.6 - Форма для входа в систему администрирования
Если логин и пароль введены верно, то откроется главная страница администратора, иначе будет предложено ввести пароль заново. Администратор имеет право добавлять, удалять, редактировать данные, а так же ставить статусы (активные/неактивные) пользователям.
Главная страница администратора показана в таблице 3.2.
Таблица 3.2 - Главная страница администратора
Страница администратора |
|||||
пользователи |
|||||
Имя |
Фамилия |
|
Группа |
Статус |
|
Admin |
Geristrator |
admin@admin.com |
Admin members |
Active |
|
Маргарита |
Петрова |
Margo@mail.ru |
members |
Active |
|
Татьяна |
Сидорова |
Tanyusha@mail.ru |
members |
Active |
|
Наталья |
Кривегина |
Natali@mail.ru |
members |
Active |
Раздел «Добавить нового пользователя»
В данном разделе администратор имеет возможность добавить нового пользователя. Форма добавления нового пользователя показана на рисунке 3.8.
Рисунок 3.8 - Раздел «Добавить нового пользователя»
Раздел «Статус»
В данном разделе администратор имеет возможность поставить статус активности пользователя на сайте. Форма изменения статуса пользователя показана на рисунке 3.9.
Рисунок 3.9 - Изменение статуса пользователя
Заключение
В результате проведённой работы был разработан модуль расширения для ДубльГИС, позволяющий осуществлять запросы к собственной базе данных и отображать результаты поиска на карте, а также информацию о найденных объектах. В разработанный модуль можно легко добавить поддержку базы данных какой-либо другой предметной области.
Так же для наглядной работы модуля был разработан специальный сайт с онлайн-картой Яндекс для быстрой и удобной формы регистрации и размещения предложений о недвижимости.
Для реализации поставленной цели были проделаны следующие виды работ:
1. Изучение принципа реализации и взаимодействия ДубльГИС и СОМ-компонентов;
2. Изучение программной системы ДубльГИС;
3. Изучение существующих реализаций программ для работы с базами данных предложений недвижимости, используемых риэлтерскими агентствами;
4. Изучение открытых программных интерфейсов API ДубльГИС v3.0;
5. Определение целей создания программного продукта и критериев успешности;
6. Проектирование пользовательского интерфейса;
7. Проектирование администраторского модуля и интерфейса;
8. Проектирование клиентского модуля.
Основными достоинствами разработанного программного продукта являются:
1.Поиск недвижимости по минимальным критериям.
2.Наглядность и легкость интерфейса.
3.Быстрый поиск недвижимости.
4.Простота и удобство добавления объявлений.
5.Полная и реальная база данных.
Оценивая проведённую работу по разработке ресурса, можно сделать вывод, что поставленная цель достигнута полностью. Все требования были успешно выполнены.
интерфейс информационная система клиентский модуль
Библиография
1. Документация по API ДубльГИС [ Электронный ресурс ]. - Режим доступа : http://plugins.2gis.ru - Загл. с экрана. - яз. рус.
2. Мейерс, С. Эффективное использование библиотеки STL / С. Мейерс // пер. с англ. -- М. : Русская Редакция, 2000. -- 307c. - Загл. с экрана. - яз.рус.
3. Руководство по PHP [Электронный ресурс]. - Режим доступа: http://docs.php.net/manual/ru/features.php - Загл. с экрана. - яз. рус.
4. Буч, Г. Объектно-ориентированное проектирование / Г. Буч ; пер с англ. -- М. : Бином, 1998. -- 560с. - Загл. с экрана. - яз. рус.
5. Знакомство с веб-сервером Apache [Электронный ресурс]. - Режим доступа: http://hostinfo.ru/articles/220. - Загл. с экрана. - яз.рус.
6. Роджерсон, Д. Основы COM / Д. Роджерсон ; пер. с англ. -- М. : Русская Редакция, 2000. -- 207c. - Загл. с экрана. - яз. рус.
7. Справочник по CSS [Электронный ресурс]. - Режим доступа: http://www.ruswebart.ru/htm-help/css.htm - Загл. с экрана. - яз.рус.
8. Энциклопедия Википедия [ Электронный ресурс ]. - Режим доступа : http://Wikipedia.org
9. Деннинг А. - ActiveX для профессионалов / А. Деннинг - СПб.: Питер, 2003 -- 320с.. - Загл. с экрана. - яз. рус.
10. Нормативная документация, охрана труда и безопасность [Электронный ресурс]. - Режим доступа: http://www.safety.s-system.ru/main/subject-110/. - Загл. с экрана. - яз. рус.
11. Н.Н. Симакова Организация рабочих мест с персональными электронно-вычислительными машинами (ПЭВМ).СибГУТИ., 2010г. - С. 75
Размещено на Allbest.ru
...Подобные документы
Обоснование выбора языка программирования. Описание разработки структуры программы. Спецификация переменных и процедур. Руководство оператора, словесный алгоритм. Состав информационной системы поиска квартир и характеристика её программных интерфейсов.
отчет по практике [2,2 M], добавлен 15.09.2014Проектирование алгоритмов и программных кодов для различных элементов пользовательских форм информационно-аналитической системы. Исследование структуры базы данных. Связь между таблицами. Разработка графического интерфейса программы и справочной системы.
курсовая работа [2,4 M], добавлен 10.01.2015Описание алгоритмов поиска пути. Диаграмма объектов предметной области. Разработка структурной схемы. Проектирование интерфейса пользователя. Выбор и обоснование комплекса программных средств. Разработка пользовательского меню. Диаграмма компонентов.
курсовая работа [3,5 M], добавлен 10.04.2015Изучение принципов работы программы Microsoft Excel. Проектирование и проработка базы данных необходимой для облегчения поиска нужного контракта. Этапы создания интерфейса информационной системы. Работа с данными и сводными таблицами, их сортировка.
курсовая работа [1,3 M], добавлен 20.08.2014Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Характеристика предприятия и его деятельности. Описание основных сущностей и их функций. Обоснование выбора системы управления БД и анализ имеющихся программных средств. Проектирование базы данных. Разработка интерфейса и алгоритмов реализации системы.
дипломная работа [1,4 M], добавлен 18.10.2015Описание особенностей функционирования магазина. Проектирование системы: инфологическое моделирование и построение диаграммы потоков данных. Моделирование и программная реализация информационной системы. Проектирование пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.02.2013Создание автоматизированной системы учета заказов и их выполнения в строительной фирме по ремонту квартир. Общие требования к информационной системе. Проектирование структуры базы данных. Построение ER-диаграммы. Реализация информационной системы.
курсовая работа [750,2 K], добавлен 24.03.2014Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
дипломная работа [1,1 M], добавлен 21.09.2016Изучение этапов создания базы данных на основе типизированных файлов средствами визуальной среды программирования Delphi. Проектирование информационно-справочной системы "парфюмерная компания Avon" в соответствии с требованиями технического задания.
курсовая работа [1015,6 K], добавлен 05.05.2012Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.
курсовая работа [1,8 M], добавлен 17.05.2016Создание программы, осуществляющей хранение информации о Ресторане. Структура предприятия, нормализация отношений. Разработка пользовательского интерфейса базы данных "АРМ администратора ресторана" в Borland Delphi 7. Характеристики для поиска данных.
курсовая работа [835,5 K], добавлен 18.06.2015Выбор, обоснование и особенности работы СУБД. Характеристика языков программирования. Разработка структурной и функциональной модели информационной системы аптеки. Проектирование программной среды АИС и ее интерфейса. Построение модели базы данных.
курсовая работа [442,3 K], добавлен 21.04.2012Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.
курсовая работа [2,5 M], добавлен 10.01.2016Разработка базы данных "Аренда квартир" и приложения к ней в Microsoft Access: поиск необходимой информации, анкета клиентов, цена и параметры квартиры. Настройка компонентов для подключения БД; оформление запросов в Delphi 20104; листинг программы.
курсовая работа [7,9 M], добавлен 19.04.2012Разработка автоматизированной системы управляющей компании "Дом" в среде Visual Studio 2012. Генерация списка существующих квартир. Создание базы данных и программного продукта, функциональные требования к нему. Построение диаграмм UML и ER-модели.
дипломная работа [1,0 M], добавлен 25.10.2017Характеристика программных продуктов, используемых при разработке информационной системы. Проектирование интерфейса и базы данных. Создание информационной системы, в которой нужно разработать структурную и функциональную схему программного продукта.
курсовая работа [2,1 M], добавлен 04.03.2021Разработка информационной системы ресторана, определение ее границ для реализации базы данных. Перечень запросов, отчетов и операций по вводу информации в информационной системе "Ресторан". Проектирование базы данных, выбор средств ее реализации.
курсовая работа [7,6 M], добавлен 27.04.2011Анализ процесса взаимодействия студентов и работодателей при поиске вакансий. Преимущества трудоустройства студентов во время учебы в ВУЗе, методы поиска работы. Проектирование базы данных и разработка веб-сайта для поиска предложений работы студентам.
курсовая работа [3,3 M], добавлен 03.07.2017Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.
курсовая работа [680,9 K], добавлен 19.10.2010