Диплом: Автоматизация "личного кабинета" консультанта по недвижимости (на примере организации Росинформ)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
83
после двоеточия. И, наконец, четвертое заключенное в скобки подвыражение
выделяет информацию о пути и/или страницы, указанной в сетевом адресе.
Данное подвыражение /соответствует одному или более количеству символов
отличных от '#' и символа пробела.
После применения регулярного выражения к указанному выше URI,
подсоответствия будут содержать следующие значения:
1. RegExp.$1 содержит "http"
2. RegExp.$2 содержит "msdn.microsoft.com"
3. RegExp.$3 содержит ":80"
4. RegExp.$4 содержит "/scripting/default.htm"
Примеры использования сервера регулярных выражений.
Традиционно серверы баз данных применяются для накопления и
выдачи данных по запросу пользователя, в то время как бизнес-логика по
работе с данными реализована в клиентском приложении. Функциональность
языка запросов при этом обычно ограничивается возможностями добавления,
выборки, редактирования и удаления строк. Тем не менее, основными
клиентами баз данных являются приложения, специально созданные для
выполнения определенных задач. Эти приложения часто реализуют сложные
операции, требующие использования множества команд.
Чтобы выполнить такие операции, приложение отсылает на сервер одну
или более команд, которые там выполняются. В ответ сервер отправляет
клиенту (приложению) результат обработки запроса. Этим результатом может
быть как сообщение об успешном завершении выполнения команды,
занимающее всего несколько байт, так и огромный массив данных,
включающий тысячи строк и занимающий несколько мегабайт. Клиент может
обработать полученный результат и на основе своего полученного результата
отослать серверу новый запрос.
Предложенный подход к обработке данных имеет несколько
недостатков. Например, если необходимо изменить логику обработки данных,
то следует изменять исходный код программы, после чего заново
84
компилировать ее и распространять всем пользователям. Кроме того, если одна
и та же логика обработки данных используется в нескольких приложениях, то в
худшем случае для каждого из этих приложений нужно будет повторять
процесс разработки запросов, а в лучшем переносить код из работающего
приложения.
Все сказанное выше демонстрирует недостатки подхода к разработке
систем, когда логика обработки данных реализуется на клиенте. Описанные
проблемы могут быть решены за счет переноса алгоритмов обработки данных
на сервер. В этом случае приложение просто сообщает серверу, какой именно
набор команды необходимо выполнить. Дополнительно могут быть указаны
параметры, которые в зависимости от реализации алгоритма будут влиять на
ход обработки данных. При этом приложение сможет получать только
конечный результат выполнения. Все промежуточные результаты будут
обработаны сервером. Этот набор команд, хранимых на сервере, и
выполняемых как одно целое, в терминологии SQL Server называется хранимой
процедурой.
В связи с тем, что часть логической обработки данных переноситься с
клиента на сервер, язык SQL, реализованный в СУБД Microsoft SQL Server
Transact-SQL кроме поддержки операций работы с данными также
поддерживает практически все современные синтаксические конструкции
алгоритмических языков, тем самым, позволяя реализовать алгоритмы
практически любой сложности.
В системе автоматизации «Росинфом» хранимые процедуры
используется для реализации базовых операций обработки и получения данных,
а также для реализации некоторых правил бизнес-логики, имеющей свойство
изменяться с течением времени.
К примеру, приведен исходных код хранимой процедуры
dbo.AddEntrant:
CREATE procedure dbo.AddEntrant
@ApplicationStatusID int,
@SpecialityID int,
85
@CitizenshipID int,
@MilitaryStatusID int,
@EnterPlaceID int,
@LearnFormID int,
@LanguageID int,
@FamilyStatusID int,
@LastName nvarchar(30),
@FirstName nvarchar(30),
@SecondName nvarchar(30),
@BirthDate datetime,
@Sex int,
@NeedHostel int,
@EnterTime int,
@MilitaryRegistration nvarchar(100),
@ApplicationDate datetime,
@PersonalFileNumber int,
@ExamListNumber int,
@Phone nvarchar(20),
@BornPlace nvarchar(100),
@PlaceID int,
@StreetAddress nvarchar(100),
@ZIP nvarchar(6),
@Series nvarchar(5),
@Number nvarchar(6),
@GiveBy nvarchar(100),
@DateOfGet datetime,
@EducationDocTypeID int,
@IsCopy int,
@IsExcellence int,
@SeriesDoc nvarchar(4),
@NumberDoc nvarchar(10),
@SchoolName nvarchar(50),
@GradeYear int,
@IsPrepared int = -1,
@FileIsGive int = 0,
@GiveFileDate datetime = '01.01.2016'
as
insert into Address(PlaceID,StreetAddress,ZIP)
values(@PlaceID,@StreetAddress,@ZIP)
declare @AddressID int
set @AddressID = @@identity
86
insert into Passport(Series, Number, GiveBy, DateOfGet)
values(@Series, @Number, @GiveBy, @DateOfGet)
declare @PassportID int
set @PassportID = @@identity
insert into EducationDoc(EducationDocTypeID,IsCopy, IsExcellence, Series, Number, SchoolName,
GradeYear)
values(@EducationDocTypeID,@IsCopy, @IsExcellence, @SeriesDoc, @NumberDoc, @SchoolName,
@GradeYear)
declare @EducationDocID int
set @EducationDocID = @@identity
insert into Entrant
(ApplicationStatusID,SpecialityID,PassportID,CitizenshipID,EducationDocID,
MilitaryStatusID,EnterPlaceID,LearnFormID,LanguageID,FamilyStatusID,
RegistrationAddressID,LastName,FirstName,SecondName,
BirthDate,Sex,NeedHostel,EnterTime,MilitaryRegistration,ApplicationDate,
PersonalFileNumber,ExamListNumber,Phone,BornPlace,
FatherID,MotherID, IsPrepared, FileIsGive, GiveFileDate)
values (@ApplicationStatusID,@SpecialityID,@PassportID,
@CitizenshipID,@EducationDocID,@MilitaryStatusID,@EnterPlaceID,
@LearnFormID,@LanguageID,@FamilyStatusID,@AddressID,
@LastName,@FirstName,@SecondName,@BirthDate,@Sex,
@NeedHostel,@EnterTime,@MilitaryRegistration,
@ApplicationDate,@PersonalFileNumber,@ExamListNumber,
@Phone,@BornPlace,-1,-1,@IsPrepared, @FileIsGive, @GiveFileDate)
declare @EntrantID int
set @EntrantID = @@identity
return @EntrantID
Из приведенного листинга видно, что использование хранимых
процедур позволяет значительно уменьшить объем исходного кода клиентского
приложения. И тем самым сделать его намного менее зависимым от физической
структуры базы данных.
В клиентском приложении системы автоматизации «Росинфом»
выполнение запросов к базе данных выполняется исключительно через
87
хранимые процедуры. Дополнительным преимуществом подобного подхода
является тот факт, что набор хранимых процедур создает некий интерфейс
между приложением и структурой таблиц базы данных. Это, в частности,
позволяет при необходимости изменить структуру базы данных, не требуя
изменения и перекомпиляции клиентского приложения, достаточно лишь
оставить существующий набор хранимых процедур с прежним набором
параметров.
3.5. Реализация клиентского приложения
В то время, когда серверная часть системы автоматизации ООО
Росинфом разработана и протестирована, тогда необходимо было
сосредоточиться на клиентских приложениях.
Для продуктивной работы сотрудникам необходимо обеспечить
пользовательский интерфейс, при работе с которым они могли бы мыслить в
терминах предметной области, а не в терминах администрирования Хранилища
данных Рисунок 11. Именно для коммерческой организации интерфейса между
пользователями системы и Хранилищем необходимо клиентское приложение.
Рисунок 11. Основная форма пользовательского интерфейса
личного кабинета консультанта ООО Росинфом
Клиентское приложение реализует механизм преобразования действий
пользователя, который взаимодействует с графическим интерфейсом, в
88
понятные для СУБД команды, отправляет их на выполнение, после чего
получает результат и отображает его в терминах графического интерфейса,
которые понятны пользователю.
Для реализации клиентского приложения использовалась среда
разработки Visual Studio .NET и язык C#. Для доступа к серверу базы данных
клиентское приложение использует технологию ADO .NET (ActiveX Data
Object .NET).
На платформе .NET предпочтительной технологией для доступа к
данным является ADO.NET. Данная технология предоставляет простой способ
разработки и большую гибкость модели доступа к данным.
В качестве формата хранения данных технология ADO.NET использует
XML, вместо двоичного представления, используемого в ADO. Это позволяет
добиться полной независимости от формата представления данных конкретной
СУБД, и обеспечить гибкость работы с данными, благодаря гибкости и
простоте формата XML.
3.6. Тестирование и отладка системы автоматизации ООО Росинфом
Есть одна особенность проекта автоматизации ООО Росинфом – это его
ограниченный бюджет. Поэтому тестирование и отладка проводилось по
сценарию, облегченному по отношению к теории.
Тестирование программ является одной из составных частей более
общего понятия – "отладка программ". Если тестирование - это процесс,
направленный на выявление ошибок, то целью отладки являются локализация и
исправление выявленных в процессе тестирования ошибок.
При реализации системы автоматизации ООО Росинфом тестирование
проводилось, начиная с самых ранних этапов написания кода. На каждом этапе
реализации модулей системы применялись методы тестирования, являющиеся
наиболее эффективными для текущего момента.
89
Во время первоначального написания кода использовался метод
статического тестирования – проводилась инспекция исходного кода.
Большинство ошибок выявлялось именно на этом этапе.
После реализации основных функциональных возможностей программы
начался этап детерминированного тестирования. При этом подбирались
тестовые наборы данных, с помощью которых проявлялась правильность
выполнения блоков кода, в которых вероятность появления ошибок особенно
велика (код обращения к БД, преобразование строк в числа и даты).
Детерминированное тестирование проводилось с помощью наборов
данных, подготовленных на основании сведений о коммерческих
предложениях, поступавших в прошлом году. Для этого был сформирован файл
данных, содержащий сведения о 360 коммерческих предложений. Данные
импортировались в систему, после чего выполнялось их редактирование,
выборка и генерации отчетов.
Завершающим этапом было тестирование в режиме реального времени,
которое происходило с привлечением сотрудников Росинфом, которым было
предложено ввести в систему данные о 20 коммерческих предложений, и
проверить правильность функционирования системы.
Самое большое количество ошибок было обнаружено на самых первых
этапах тестирования, все они были исправлены после некоторого анализа
исходного кода программы.
На этапе детерминированного тестирования было обнаружено несколько
логических ошибок, которые проявлялись как неправильная реализация бизнес-
логики.
На этапе тестирования в режиме реального времени были обнаружены
ошибки, проявляющиеся в неправильном отборе коммерческих предложений
при генерации отчетов, все ошибки были исправлены, и при повторном
тестировании ошибок обнаружено не было.
90
Выводы
1. На основании сбора информации об имеющейся в распоряжении
ООО Росинфом вычислительной технике и программного обеспечения
осуществлен выбор аппаратной и программной платформы для реализации
разрабатываемой системы.
2. В соответствии с требованиями, выдвинутыми на стадии
физического проектирования, сделан выбор СУБД, на которой в дальнейшем
была реализована база данных Хранилище системы.
3. Для обеспечения корректного функционирования и проверки
качества разработанного программного обеспечения, на протяжении всего
этапа реализации проводилось тестирование программного кода. В результате
были обнаружены и исправлены несколько ошибок, проявлявшихся в неверной
реализации некоторых бизнес-правил.
91
ЗАКЛЮЧЕНИЕ
1. В ходе выполнения ВКР была проведена поставка задачи,
проведено исследование предметной области и разработана система
автоматизации ООО Росинфом, которая позволит упростить и ускорить
процесс подготовки сопроводительной документации во время работ
консультантов агентства, а также позволит избежать механических ошибок,
возникающих при ручном способе подготовки документации.
2. В ходе исследования предметной области были изучены основные
нормативные документы, регламентирующие правила работы как всего
агентства в целом, так и на участках отдельных консультантов. На основании
полученных результатов построены разные модели предметной области.
3. Проведено исследование имеющейся средств вычислительной
техники, на основании чего выбрана программная и аппаратная платформа для
реализации системы автоматизации ООО Росинфом. Проведен обзор
современных средств программной инженерии для разработки программного
обеспечения. Учитывая специфичность поставленной задачи, осуществлена
реализация личного кабинета консультанта агентства недвижимости ООО
Росинфом.
4. В данной ВКР были решены технические проблемы повышения
эффективности работы ООО Росинфом. Однако, для получения полной отдачи
от внедрения системы автоматизации «Росинфом » необходимо дополнительно
проработать вопросы коммерческой организации проведения набора с учетом
несколько изменившейся структуры получения и обработки информации.
5. Наш опыт построения информационной системы ПОИСК
РОСИНФОМ показал эффективность использование языка UML как на этапе
проведения анализа предметной области так и при проектировании
архитектуры.
6. Исходя из вышесказанного, можно также сделать вывод, что для
данной системы наиболее подходящий выбор – трехуровневая архитектура.
92
7. Удачным оказалось и применение XML технологий в качестве
основной платформы при функционировании распределенной системы.
8. Первые месяцы эксплуатации системы показали эффективность
поискового механизма.
9. Система ПОИСК РОСИНФОМ имеет перспективы развития. В
частности есть планы по усовершенствованию основного движка
присоединением дополнительных модулей.
10. Руководство РОСИНФОМ выразило готовность к дальнейшему
сотруднечеству.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)