Рисунок 3.18. Эскиз страницы просмотра данных
Страница для ввода данных в базу данных будет содержать в себе следующие элементы:
1. Элемент textBox - этот элемент позволит пользователю вводить данные на странице. Также, в зависимости от полей, вместо textBox могут быть использованы comboBox, dataTimePicker.
2. Элемент label - этот элемент будет выводить текстовую информацию.
3. Элемент button - этот элемент позволят пользователю подтвердить ввод или отменить его.
Эскиз страницы добавления данных представлен на рисунке 3.19.
Также на каждой из страниц применяются следующие элементы:
1. Элемент dialog - этот элемент предупреждает пользователя при необратимых действиях и выводит сообщения об ошибках на экран.
2. Элемент pagination - этот элемент позволяет переключаться между выводимой информацией на странице.
3. Элемент tooltip - этот элемент выводит дополнительную информацию о другом элементе страницы при наведении курсора.
Рисунок 3.19. Эскиз страницы добавления данных
Глава 4. Реализация и тестирование системы оценочной компании
В этой главе представлены реализованные классы, описан процесс реализации интерфейса системы, создания отчётов, управления пользователями, и приведены результаты тестирования.
4.1 Реализация классов системы
В соответствии с диаграммой классов, спроектированной в третьей главе, была создана EDM-модель для связывания классов системы с их таблицами в базе данных. Полностью EDM-модель представлена в приложении Б. Рассмотрим часть модели (рис. 4.1) [9].
Рисунок. 4.1. Часть EDM-модели сущностей предметной области
На рисунке представлены классы Договор, Клиент, ФизическоеЛицо и ЮридическоеЛицо. Класс Клиент является родительским классом для классов ФизическоеЛицо и ЮридическоеЛицо. В EDM-модели поля классов разделены на скалярные и навигационные. Скалярным полем класса Клиент является поле Id, а навигационным полем является поле Договор, связывающее класс Клиент с классом Договор. Также EDM-модель позволяет добавить особое поле - первичный ключ. Первичный ключ уникален для экземпляра класса и будет автоматически инкрементироваться. Класс Клиент имеет первичный ключ - поле id, в то время как классы ФизическоеЛицо и ЮридическоеЛицо не имеют первичного ключа. Они наследуют его от класса Клиент.
4.2 Реализация интерфейса системы
При входе на сайт открывается страница входа в систему (рис. 4.2). Слева на странице расположены вкладки для переключения между страницами системы [7].
Рисунок. 4.2. Страница входа в систему
На страницах вверху расположены кнопки управления данными (рис. 4.3). Пользователь может добавить, изменить, удалить и найти запись из базы данных.
Рисунок 4.3. Страница с данными
Для примера добавим оценщика в базу данных. Пользователь открывает вкладку «Оценщики» и нажимает кнопку «Добавить». На экран выводится страница с полями для заполнения (рис. 4.4 слева), которые пользователю необходимо заполнить. Для сохранения новой записи в базу данных необходимо нажать на кнопку «Сохранить». Если пользователь заполнит не все поля или введёт некорректные данные, на странице будут отмечены поля с ошибками (рис. 4.4 справа). Чтобы не добавлять оценщика, необходимо нажать кнопку «Отмена» [8].
Рисунок 4.4. Страница изменения оценщика (слева) и ошибки заполнения полей (справа)
4.3 Генерация отчётов
После поиска на страницах с данными пользователь может сохранить найденные данные в документ Microsoft Excel. Рассмотрим для примера создание отчёта по запросу об оценщиках.
После создания запроса пользователь нажимает кнопку «В Excel». Далее генерируется отчёт в файл типа Microsoft Excel и сохраняется в папку «Загрузки» на компьютере пользователя. В документе расположена таблица результатов поиска (см. рис. 4.5).
Рисунок 4.5. Отчёт по оценщикам
Бухгалтер может сгенерировать отчёт о зарплатах оценщиков в документ Microsoft Excel. После перехода на страницу с информацией о зарплате пользователь нажимает кнопку «В Excel». Далее генерируется отчёт в файл типа Microsoft Excel, имеющий название «Зарплата», и сохраняется в папку «Загрузки» на компьютере пользователя. В документе расположена таблица с зарплатами (рис. 4.6).
Рисунок 4.6. Отчёт о зарплате
4.4 Роли пользователей системы
Поскольку система хранит личные данные клиентов оценочной компании, никто посторонний не должен иметь доступ к ним. Поэтому у сторонних пользователей нет возможности зарегистрироваться и войти в систему. Для разграничения прав доступа к информации внутри системы были созданы три роли пользователей - оценщик, бухгалтер и директор.
Только директор может добавлять новых пользователей в систему, присвоив им логин, пароль и одну из двух доступных должностей - оценщик или бухгалтер (рис. 4.7).
Рисунок 4.7. Страница добавления пользователей
После создания пользователя директор сообщит логин и пароль сотруднику компании. Меню системы для каждого типа сотрудника отличается от других, рассмотрим первым меню системы оценщика (рис 4.8).
Рисунок 4.8. Меню оценщика
Оценщик имеет доступ к договорам, клиентам и списку оценщиков. Также он может вычислить примерную стоимость квартиры с помощью нейросети.
Рисунок 4.9. Меню бухгалтера (слева) и меню директора (справа)
Рассмотрим меню бухгалтера (рис 4.9 слева). Бухгалтер имеет доступ к договорам, оценщикам, настройкам стоимости выполнения договора и странице с вычислением зарплаты. Последний тип пользователя, для которого будет рассмотрено меню, - директор. Меню системы для директора объединяет в себя все пункты меню оценщика и меню бухгалтера с добавлением страницы с настройками параметров нейросети (рис 4.9 справа) [6].
4.5 Тестирование системы
Результаты тестирования представлены в приложении В. Проведено 28 тестов по критерию чёрного ящика. Тестирование проверило действия по добавлению, изменению и удалению над основными классами системы: Оценщик, ФизическоеЛицо, ЮридическоеЛицо, Договор, НастройкиЗарплаты и НастройкиНейросети. Тестирование не выявило проблем с системой. Для каждого действия были написаны входные данные для ввода в систему и определён ожидаемый результат, который сравнивается с полученным результатом. Все тестовые сценарии выполнены два раза: для пустой базы данных (или с одной записью для действий изменения и удаления) и для заполненной базы данных. Заполненная база данных содержала 25 и более экземпляров проверяемого класса.
Заключение
Было рассмотрено 5 аналогов разрабатываемой системы. По результатам сравнения была составлена таблица, демонстрирующая недостатки существующих аналогов. Были выявлены функциональные и нефункциональные требования. Была спроектирована нейросеть типа многослойный персептрон для оценки стоимости квартир. Модель нейросети учитывает как статические параметры квартир (площадь, этаж), так и динамически меняющиеся параметры рынка недвижимости России. Была спроектирована клиент-серверная веб-система. На этапе проектирования построены диаграммы прецедентов, последовательностей, классов, компонентов. Был спроектирован интерфейс разработанной системы. Система была реализована на языках программирования C# и JavaScript. Были описаны реализованные сущности, интерфейс системы и основные функции. Система отвечает всем заявленным функциональным и нефункциональным требованиям и выполняет требуемую задачу автоматизации бизнес-процессов оценочной компании. Функции реализованной системы позволяют хранить данные о клиентах и договорах компании, просматривать занятость оценщиков компании, генерировать бухгалтерский отчёт о зарплате и оценивать рыночную стоимость квартиры с помощью нейросети. Было разработано техническое задание и проведены тесты по критериям чёрного ящика.
Часть работы прошла апробацию на IV всероссийской научно-практической конференции «Искусственный интеллект в решении актуальных социальных и экономических проблем XXI века» (г. Пермь, 2019 г.). По тематике исследования опубликована статья [3], в которой был приведён подход к применению нейронных сетей для оценки стоимости квартир для рынка недвижимости Перми.
Таким образом, можно отметить, что цели и задачи данной работы были достигнуты. Также хочется отметить, что при дальнейшей работе над разработанной системой можно усовершенствовать программу, дополнив её функциональность новыми возможностями. Например, добавить больше объектов оценки, увеличить количество генерируемых бухгалтерских отчётов, сделать модель нейросети для оценки стоимости квартир точнее.
Библиографический список
1. Борусяк К.К., Мунерман И.В., Чижов С.С. Нейросетевое моделирование в задаче массовой оценки нежилой недвижимости г. Москвы // Экономическая наука современной России. 2009. № 4. С. 86-98.
2. Грибовский С.М., Сивец С.А. Математические методы оценки стоимости недвижимого имущества. М.: Финансы и статистика, 2014. 368 с.
3. Кукаркин И.А., Сухов А.О. Применение нейронных сетей для оценки стоимости квартир на примере рынка недвижимости Перми / Искусственный интеллект в решении актуальных социальных и экономических проблем XXI века: сборник статей по материалам Четвертой всероссийской научно-практической конференции (Пермь, 21-23 мая 2019). Ч. I / Пермский государственный национальный исследовательский университет. - Пермь, 2019. - С. 112-116.
4. Молчанова М.Ю., Печенкина А.В. Применение сценарного метода при прогнозировании ситуации на рынке жилья г.Перми // Вестник Пермского университета. Серия: Экономика. 2015. № 1. С. 79-88.
5. Ясницкий Л.Н., Ясницкий В.Л. Методика создания комплексной экономико-математической модели массовой оценки стоимости объектов недвижимости на примере квартирного рынка города Перми // Вестник Пермского университета. Экономика. 2016. № 2(29). С. 54-69.
6. Ясницкий Л.Н., Ясницкий В.Л. Разработка и применение комплексных нейросетевых моделей массовой оценки и прогнозирования стоимости жилых объектов на примере рынков недвижимости Екатеринбурга и Перми // Имущественные отношения в Российской Федерации. 2017. № 3(186). С. 68-84.
7. Davis P. McCluskey W., Grissom T.V., McCord M. An empirical analysis of simplified valuation approaches for residential property tax purposes // Property Management, 2012, Vol. 30, no 3, June, pp. 232-254.
8. Hefferan M.J., Boyd T. Property taxation and mass appraisal valuations in Australia - adapting to a new environment // Property Management, 2010, Vol. 28, no 3, pp. 149-162.
9. Kilpatrick J. Expert systems and mass appraisal // Journal of Property Investment and Finance, 2011, Vol. 29, no 4, July, pp. 529-550.
10. Kontrimas V., Verikas A. The mass appraisal of the real estate by computational intelligence // Applied Soft Computing Journal, 2011, Vol. 11, no 1, January, pp. 443-448.
11. Zhang H., Gao S., Seiler M.J., Zhang Y. Identification of real estate cycles in China based on artificial neural networks // Journal of Real Estate Literature. 2015. Vol. 23. No 1. P. 67-83.