Информационно-поисковая система типового агентства недвижимости
Анализ функций современных информационно-поисковых систем типовых агентств недвижимости. Характеристика возможностей существующих программных продуктов. Проектирование ИПС агентства недвижимости. Разработка инфологической и реляционной модели данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.05.2014 |
Размер файла | 759,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
Глава 1. Анализ современных информационно-поисковых систем типовых агентств недвижимости
1.1 Анализ предметной области и описание функций информационно-поисковой системы агентства недвижимости
1.2 Характеристика возможностей существующих программных продуктов для типовых агентств недвижимости
Глава 2. Проектирование ИПС агентства недвижимости
2.1 Определение требований и постановка задачи
2.2 Разработка инфологической модели
2.3 Разработка реляционной модели данных
Глава 3. Разработка ИПС типового агентства недвижимости
3.1 Выбор средства разработки
3.2 Используемые компоненты для разработки приложения
3.3 Настройки подключения к базе данных
3.4 Описание работы с системой
Заключение
Список использованной литературы
Приложение
Введение
информационный поисковый агентство недвижимость
Информационно-поисковая система (ИПС) - система, выполняющая функции:
хранения больших объемов информации;
быстрого поиска требуемой информации;
добавления, удаления и изменения хранимой информации;
вывода информации в удобном для человека виде.
Каждая ИПС состоит из двух частей: базы данных (БД) и системы управления базами данных (СУБД).
База данных - это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа.
На сегодняшний день объем информации об объектах недвижимости растет. Растет не только объем информации у каждого отдельно взятого агентства или риэлтора, растет само количество объектов на рынке. Растет количество жилых массивов, населенные пункты увеличиваются территориально, становятся ближе друг к другу, объединяясь и примыкая к более крупным городам. Информационные базы переживают все большую нагрузку, потому что обмен данными требует все большего количества ресурсов. Телефон уже не может удовлетворить потребностям информационного потока нового рынка недвижимости.
Информационно-поисковая система (ИПС) агентства недвижимости является автоматизированной системой учета объектов недвижимости и действий с этими объектами.
ИПС агентства недвижимости работает с оперативными данными, накопление этих данных позволяет проводить анализ деятельности агентства за любой период времени, а также вести оперативное управление информацией по учету, покупке-продаже, обмену, приватизации недвижимости. Благодаря использованию такой системы, существенно сокращается время, затрачиваемое на подготовку, поиск и обработку необходимой информации для перечисленных выше функций, выполняемых агентством недвижимости. Указанные факторы и определяют актуальность данной темы.
Целью данной работы является разработка информационно-поисковой системы типового агентства недвижимости.
Задачи работы:
анализ предметной области;
описание функций информационно-поисковой системы типового агентства недвижимости;
характеристика возможностей некоторых современных программных продуктов для типовых агентств недвижимости («Лидер», «Агентство недвижимости», «Идеальный вариант», «Недвижимость-эксперт»), анализ их достоинств и недостатков;
описание этапов проектирования ИПС агентства недвижимости (определение требований к разрабатываемой системе, разработка инфологической и реляционной моделей базы данных);
разработка ИПС типового агентства недвижимости.
Глава 1. Анализ современных информационно-поисковых систем типовых агентств недвижимости
1.1 Анализ предметной области и описание функций информационно-поисковой системы агентства недвижимости
Организации (предприятия), которые действуют на рынке недвижимости, могут называться по-разному:
Брокерская (маклерская) контора;
Агентство недвижимости;
Риэлторская фирма (контора).
Название фирмы "риелторская" происходит от английского слова realty, что означает недвижимое имущество.
Недвижимое имущество - это такое имущество, которое нельзя передвинуть, не нанеся ему существенных повреждений, а именно: всякого рода строения или их части, а также земельные участки. Рынок недвижимости - это совокупность сделок, предметом которых является недвижимое имущество. Причем, спектр таких сделок достаточно широк. Это и купля-продажа, и мена, и имущественный наем (аренда), и договоры пожизненного содержания и т.п.
Можно определить основные виды предпринимательской деятельности на рынке недвижимости:
информационные услуги;
консультации;
посреднические операции;
торговая деятельность.
Информационные услуги - наиболее распространенный вид деятельности. Сущность заключается в сборе информации о спросе и предложении на рынке недвижимости и предоставлении клиенту информации о возможных вариантах сделок. Клиент, выбрав подходящий вариант, самостоятельно или с технической помощью риелтора заключает сделку. Этот вид деятельности на рынке недвижимости является наиболее простым, с него начинали свою работу большинство агентств недвижимости. Услуги риэлтора здесь сводятся, в основном, к подбору вариантов, а также к сопутствующим услугам, таким как предоставление помещения для переговоров, показ клиенту объекта недвижимости, договоренность с нотариусом о времени и месте подписания сделки, предоставление транспорта и т.п. Простота этого вида деятельности обуславливает и его недостатки. Так, риэлтора всегда беспокоит, что стороны, познакомятся лично и могут, обойтись и без него, тем более что предотвратить такой исход законными средствами весьма затруднительно.
Консультационные услуги - тоже довольно распространенный в настоящее время вид деятельности на рынке недвижимости. Кроме того, он наиболее обширен и разнообразен. Заключается в предоставлении клиенту различного рода консультаций по вопросам, так или иначе имеющим отношение к объектам недвижимости. Консультации можно классифицировать по областям знаний. В частности к объектам недвижимости могут иметь отношение:
юридические консультации (по вопросам правоотношений, связанных с объектами недвижимости);
технические консультации (о техническом состоянии объекта недвижимости, его технических и эксплуатационных характеристиках и свойствах, необходимость ремонта и т.д.);
экономические консультации (стоимость объекта, ликвидность, экономика инвестиций, окупаемость и т.п.).
Закон "О налогообложении прибыли предприятий" определяет посредническую операцию как хозяйственную операцию субъекта предпринимательской деятельности, который выступает в роли комиссионера в договоре комиссии, консигнатора в консигнационном договоре либо поверенного в договоре поручения. Поскольку консигнация предусматривает экспорт материальных ценностей на склад, а экспортировать объект недвижимости, тем более на склад не представляется возможным, посреднические операции на рынке недвижимости возможны только в виде договоров поручения или комиссии. По договору поручения одна сторона (поверенный) обязуется исполнить от имени и за счет другой стороны (доверителя) определенные действия. То есть, риэлтор, выступая в качестве поверенного, от имени и за счет клиента (доверителя) участвует в заключении сделки. Это может быть купля, продажа, мена, аренда, т.е. практически любая сделка. При этом права и обязанности заключенной сделки возникают у клиента. Риэлтор, несмотря на то, что он является активным участником сделки, юридически остается "в стороне". Он не несет ответственность за исполнение сделки сторонами.
За оказанные услуги (то есть за заключение сделки) риелтор получает от клиента плату. По договору комиссии одна сторона (комиссионер) обязуется по поручению другой стороны (комитента) за вознаграждение совершить одну или несколько сделок от своего имени и за счет клиента (комитента). Это также может быть практически любая сделка. Существенным отличием договора комиссии от договора поручения является то, что права и обязанности по заключенной комиссионером сделки возникают у последнего (у комиссионера), даже если комитент был назван в сделке или вступил с третьим лицом в непосредственные отношения относительно исполнения сделки. Комиссионер не отвечает перед комитентом за исполнение заключенной комиссионером за счет комитента сделки. Однако комиссионер может принять на себя поручительство за исполнение третьим лицом этой сделки (делькредере).
Наиболее частый в деятельности риэлтора - договор на предоставление посреднических услуг. По нему клиент-заказчик поручает, а риелтор-посредник обязуется:
исполнить ряд действий с целью нахождения оптимального покупателя, готового приобрести объект заказчика - продавца;
содействовать заказчику при заключении "Договора купли - продажи".
Если рассмотреть работу риэлторской фирмы, которая предоставляет информационные и консультационные услуги, детально, то можно выделить следующие аспекты:
работа с продавцами (арендодателями) недвижимого имущества. В этот аспект входят следующие направления: предоставление продавцом (арендодателем) документа, удостоверяющего личность (паспорт или др.), документов, подтверждающих его права собственности или полномочия на объект недвижимости, подписание соглашения о представлении интересов продавца (арендодателя) при продаже (сдачи в аренду) имущества, ввод данных о недвижимом имуществе в автоматизированную систему.
работа с потенциальными покупателями (арендаторами). В этот аспект входят следующие направления: поиск подходящих вариантов объекта купли-продажи (аренды), ознакомление с планировкой и расположением недвижимого имущества (по документации или с помощью выезда непосредственно на объект), предоставление покупателем (арендатором) личных данных, подтвержденных документально (удостоверение личности, паспорт, свидетельство о рождении, военный билет и т.д.), подписание договора по оказанию услуг.
подготовка документов. Для отчуждения жилья необходима следующая документация: правоустанавливающий документ, справка-характеристика (БТИ), справка об отсутствии ареста на жилье, наличие при подписании всех собственников и их паспортов (в случае отсутствия - доверенность), а также супругов (в случае необходимости), решение опекунского совета (в случае необходимости). Во время проведения сделки обе стороны, покупатель и продавец, подписывают передаточный акт и договор купли-продажи. В случае аренды арендодатель и арендатор подписывают договор аренды. Эти документы риелтор должен подготовить к дате проведения сделки. Для этого ему нужны следующие данные: фамилия, имя отчество и другие данные, содержащиеся в удостоверениях личностей продавца и покупателя, краткая характеристика объекта недвижимости;
проведение сделки.
Таким образом, главной задачей информационно-поисковой системы типового агентства недвижимости является автоматизация работы риэлтора, который по роду своей деятельности имеет дело с большими массивами информации (данные об объектах недвижимости, их продавцах и т.д.). В соответствии с вышеперечисленными аспектами работы риэлторской фирмы можно выделить следующие процессы деятельности, для автоматизации которых предназначена система:
хранение данных, необходимых для подготовки документов и проведения сделки: данные о продавце (арендодателе), покупателе (арендаторе), объекте недвижимости.
учет персонала, занимающегося риэлторской деятельностью.
поиск вариантов объекта недвижимости по конкретным параметрам, удовлетворяющих потенциального покупателя (арендатора).
составление документов (соглашения о предоставлении интересов продавца (арендодателя) и договора по оказанию услуг).
учет сделок с объектами недвижимости.
составление отчетов о риэлторской деятельности.
Перечислим основные функции, выполнение которых должна обеспечивать информационно-поисковая система типового агентства недвижимости:
Предоставление определенного типа услуги без регистрации новой заявки;
Регистрацию новой заявки на продажу объекта недвижимости;
Регистрацию новой заявки на сдачу объекта недвижимости в аренду;
Регистрацию новой заявки на покупку объекта недвижимости;
Регистрацию новой заявки на аренду объекта недвижимости;
Поиск по зарегистрированной заявке объекта удовлетворяющего характеристикам, указанным в этой заявке;
Выполнение заявки.
1.2 Характеристика возможностей существующих программных продуктов для типовых агентств недвижимости
1) Информационно-поисковая система для агентств недвижимости «Лидер». Данная программа является из самых проработанных на сегодняшний день программных продуктов, и причин тому несколько. Первая приятная отличительная особенность заключается в интеграции с любой системой, запрошенной клиентом. В программе уже имеется возможность автоматической выгрузки данных на такие сервисы как собственный корпоративный сайт агентства, Яндекс-Недвижимость, Мир квартир, ВДОЛЕ.net. Данные выгружаются без контактов собственников (вместо этого подставляются контакты агентства) и точного адреса.
Программу легко загрузить и установить. Она никак не ограничена по времени использования. Активная база объектов здесь не лимитирована, таким образом можно создать для своего агентства недвижимости полноценную рабочую базу объектов.
Изначально программа предназначена для автоматизации работы офисов, поэтому полностью поддерживает сетевой функционал. Кстати, при желании в любой актуальной версии программы можно установить сетевую версию.
На главной странице программы отображается вся статистика по текущей базе с фильтрацией по базе, типам заявок, периоду, городу и т.д. Для просмотра карточки объекта нажать на соответствующую строчку в в таблице статистики, как показано на рисунке. При этом открывается соответствующая выборка, в которой можно увидеть телефоны и прочие данные по объекту (рис. 1).
Рис. 1 - Данные по объекту недвижимости
Также пользователь может зайти в любой каталог и просмотреть записи только о продаже квартир или сдаче помещений. При этом почти вся необходимая информация о клиенте и его объектах видна непосредственно в каталоге, и поэтому не нужно лишний раз открывать карточку объекта или клиента.
Очень удобно расположены поля для ввода данных об объекте. Можно задать все необходимые параметры, видна вся информация о собственнике. Не нужно открывать никаких дополнительных окон.
Другая особенность -- при вводе телефона сразу производится сверка номера по активной базе, архиву и справочнику риэлтора. Если такой номер уже есть в базе, отображается форма, в которой можно не только увидеть информацию о клиенте и объекте, но и отредактировать ее.
В окне фильтра можно задать различные параметры поиска. Для удобства эти параметры сохраняются, то есть, достаточно задать нужные вам один раз, а не вводить их заново при каждом новом запуске. Есть возможность создания «Живых выборок». Параметры поиска можно сохранять под определенными названиями и потом простым нажатием кнопки мыши использовать их повторно, что существенно ускоряет и упрощает работу.
В программе есть мощный генератор отчетов, в котором вы сами можете создать отчет любой сложности. Среди минусов этой программы -- достаточно высокий «порог вхождения» для обычного пользователя. Хотя, минусом в прямом смысле это назвать нельзя, потому что, как любая специализированная программа с большими возможностями, она требует немного больше времени на изучение, чем, скажем, редактор Microsoft Notepad. Для освоения программы на сайте можно найти пошаговые инструкции по установке, настройке и регистрации программы.
2) Программа «Агентство недвижимости». Как и в продукте «Лидер», имеется freeware-версия, возможность сетевой установки. В бесплатной версии имеется о ограничение на ввод заявок в количестве 10 штук. Интерфейс программы «Агентство недвижимости» приведен на рисунке 2.
Рис. 2 - Интерфейс программы «Агентство недвижимости»
Чтобы перейти в какой-нибудь каталог из главного окна программы, на панели инструментов нужно выбрать нужный фильтр. Все заявки добавляются в таблицу, в которой есть сортировка по столбцам. В программе имеется архив, однако в нем не отображаются удаленные объекты. Что касается формы добавления заявки, то атрибутов для описания объекта вполне достаточно, но, например, важные для работы дата цены и дата изменения отсутствуют.
Достаточно хорошо продуманная форма поиска, можно задать многие параметры. Минус -- нельзя выбрать, например, сразу 1- и 2-комнатные квартиры, или записи, измененные с определенной даты, по некоторым параметрам нельзя задать минимальное и максимальное значение (границы поиска). В окне фильтра запоминаются последние параметры. Это позволяет использовать их повторно, что существенно ускоряет процесс работы.
Имеется разграничение прав доступа пользователей, однако для работы в агентстве их недостаточно.
3) Программа «Идеальный вариант».
В программе «Идеальный вариант» в отличие от предыдущих программ немного отличается логика хранения данных. Все заносится в таблицу и вместо каталогов, которые есть в других программах, здесь используются фильтры, например Продажа квартир или Продажа домов. Есть сортировка по столбцам. Вид основного окна программы показан на рисунке 3.
Рис. 3 - Основное окно программы «Идеальный вариант»
Хорошо продумана форма редактирования заявки, имеется достаточно полей для описания объекта. Определенное неудобство заключается в необходимости открывать массу окон, например, чтобы посмотреть телефон собственника необходимо открыть карточку, а потом дополнительную вкладку с информацией о собственнике.
Ввод телефонов осуществляется только после того внесения основной информации по объекту, также отсутствует функция сверки телефонов по базе, таким образом вы никогда не будете уверенны, что не вносите второй раз один и тот же телефон или даже объект.
Форма поиска также достаточно хорошо продумана, однако в некоторых полях нельзя задать максимальное и минимальное значение, да и просто выполнить поиск по названию улицы. Фильтр запоминает последние параметры, сохранить их тоже нельзя.
Как и в предыдущих программах имеется возможность создания отчетов и разграничение прав доступа. Развернутая справка поможет быстро освоиться с программой.
Что касается сетевых возможностей, за дополнительную плату пользователь может выгружать свои данные на сайт разработчика, реализовать выгрузку на сайт пользователя, либо заказать сайт.
4) Программа «Недвижимость-эксперт»
Программа представляет собой браузерное приложение. При этом какие либо ограничения на количество одновременно подключенных пользователей отсутствует. Разработчики рекомендуют не более 2000. С сайта можно скачать демо-версию с урезанным функционалом, работающую 30 дней. Установка простая, требуется регистрация на сайте разработчика. Интерфейс программы приведен на рисунке 4.
Рис. 4 - Интерфейс программы «Недвижимость-эксперт»
Форма редактирования хорошо продумана, хотя, некоторые полезные поля, такие как дата цены и время регистрации/изменения заявки, отсутствуют.
Имеются ограниченные возможности создания отчетов, разграничение прав доступа и не очень подробная справка.
Тем не менее, очень сильным аргументом в пользу программы можно назвать ее мобильность. Пользователь может использовать любые планшетные и мобильные устройства с подключением к Интернету для доступа к своим данным со всеми вытекающими отсюда возможностями.
Глава 2. Проектирование ИПС агентства недвижимости
2.1 Определение требований и постановка задачи
Целью дипломной работы является разработка «Информационно-поисковой системы типового агентства недвижимости» и создание приложения, реализующего эту систему.
База данных ИПС типового агентства недвижимости должна соответствовать следующим требованиям:
Доступность - база данных должна быть доступна по сети для многопользовательской работы.
Отсутствие необходимости обслуживания со стороны специально обученного персонала - что увеличивает расходы на содержание системы и увеличивает время простоя в случае сбоев.
Легкая возможность резервного копирования и восстановления - отсутствие требований по организации сложной процедуры резервного копирования и восстановления связано с отсутствием квалифицированных специалистов и не желанием нести дополнительные расходы на них.
Легкая возможность модернизации - простота и открытость системы является одним из основных требований для страховки компании от невозможности разработчика данной ИПС далее работать и обслуживать её.
Отсутствие высоких требований к аппаратным компонентам - для отсутствия высоких дополнительных затрат на модернизацию парка ЭВМ компании.
Ввод информации в базу данных с помощью разрабатываемой ИПС агентства недвижимости должен удовлетворять следующим требованиям:
Ввод информации в базу должен иметь удобный интерфейс
Ввод информации по мере возможности должен использовать справочники и классификаторы составленные ранее.
Также данная ИПС должна удовлетворять следующим требованиям получения информации из базы данных:
Основным путем получения данных из базы данных должны являться предварительно сформированные формы и отчеты.
Информационная система должна предоставлять полные возможности ведения базы клиентов.
Можно перечислить функции, которые должна выполнять разрабатываемая ИПС агентства недвижимости:
Ведение таблицы продажи недвижимости с указанием их основных и дополнительных характеристик. К основным характеристикам объекта недвижимости относятся следующие: тип недвижимости, количество комнат/этажей, владелец и его контакты, подробное описание, стоимость, тип дома, тип квартиры. К дополнительным характеристикам относятся любые задаваемые пользователем свойства.
Для любого объекта недвижимости из справочника недвижимости могут быть заданы дополнительные свойства, которые хранятся в связанной таблице. Состав видов свойств и их значений определяются исключительно пользователем программы, что позволяет создать набор свойств для объектов неограниченного объема и любого содержания.
Ведение таблицы заявок клиентов по продажам и покупкам квартир и домов, сдачи квартир и домов в аренду, аренда (найм) квартир и домов.
Программа должна позволять вести справочник клиентов агентства недвижимости. Справочник клиентов должен содержать все необходимые поля для того, чтобы охарактеризовать клиента: наименование, полное наименование, адрес, телефон, подробное описание.
Программа должна предоставлять возможность отбора (фильтрации) клиентов по различным комбинациям параметров: по характеристикам клиентов, их дополнительным свойствам, по менеджерам, которые ведут клиента. Фильтр должен иметь гибкую настройку и возможность «интеллектуального» отбора записей.
Программа должна предоставлять возможность формировать отчеты по продаже/аренде квартир и домов с различными комбинируемыми фильтрами.
Программа должна работать без прерываний при возникновении критических ошибок, даже тех, которые возникают по вине пользователя или из-за ошибок во входных данных. Соответственно, секции программы, в которых возможно возникновение таких ошибок должны обрабатываться в программе особым образом. В случае возникновения ошибки после выдачи соответствующего предупреждения программа должна продолжить свою работу.
Программа должна обеспечить физическую и логическую целостность базы данных. При изменении или удалении данных программа должна поддерживать ссылочную целостность информации в базе данных.
Можно выделить некоторые группы подзадач, успешное решение которых и приводит к успешному решению всех сформулированных выше требований. За решение каждой из этих задач будут ответственны следующие подсистемы:
подсистема ведения квартир и домов на продажу;
подсистема ведения клиентов на покупку квартир и домов;
подсистема ведения клиентов на найм квартир и домов;
подсистема ведения клиентов на сдачу в аренду квартир и домов;
подсистема ведения справочников;
поисковая подсистема;
подсистема аналитической информации.
Подсистемы ведения квартир и домов на продажу, покупку, сдачу и найм предназначены для того, чтобы хранить все необходимые данные об объектах недвижимости и заявках клиентов, связанных с этими объектами.
Подсистема ведения справочников должна предоставлять возможность удобного и быстрого ввода данных в справочники, задания связей между связанными справочниками, дополнительных свойств там, где это необходимо. Но кроме возможности введения данных во всех справочниках должна предоставляться возможность быстрого поиска, расширенного поиска и отбора данных по любому критерию или сочетанию критериев, характерных для данного справочника. Особо необходимо отметить организацию отбора записей в справочнике квартир. Так как справочник квартир является центральным элементом структуры данных и связан со многими другими справочниками, должна обеспечиваться возможность гибкого отбора записей в этом справочнике. Так должна обеспечиваться возможность отбора элементов справочника квартир не только по основным свойствам квартир, но и по всем связанным: по значениям дополнительных свойств, по площади.
Таким образом, можно, например, отобрать квартиру с количество комнат равным двум, на втором этаже, на не последнем этаже и ниже определенной цены. Возможность такого гибкого отбора данных делает разрабатываемую программу очень удобной для использования. Возможность поиска и отбора записей должна быть предусмотрена не только в справочнике товаров, но и во всех остальных справочниках.
Подсистема аналитической отчетности предназначена для построения отчетов по результатам деятельности агентства недвижимости. Прежде всего, это отчет о типах оказанных услуг. Отчет строится по таблице клиентов. Для отчета могут быть заданы условия: отбор по конкретной услуге, по дате или по клиенту. Данный отчет должен стать основным рабочим отчетом для руководителя агентства недвижимости.
2.2 Разработка инфологической модели
Инфологическая модель предназначена для формального описания объектной структуры предметной области. Составляющие этой модели - объекты («типы сущностей»), их свойства («атрибуты сущностей») и связи между объектами. Этап разработки информационной модели соответствует стадии «Эскизный проект». Результаты информационного моделирования представляются в виде простой и удобной для понимания и анализа графической диаграмме «сущность - связь».
Сущность - это некоторая абстракция реально существующего объекта предметной области. Различают тип сущности, описывающий множество однотипных объектов, и экземпляр сущности, описывающий конкретный объект определенного типа.
На основании первичного анализа внешней модели выделим следующие типы сущностей:
Клиент.
Заявка.
Свойства.
Продажа квартиры.
Покупка квартиры.
Продажа дома.
Покупка дома.
Сдача квартиры, дома.
Аренда/найм квартиры, дома.
Адрес.
Субъект.
Населенный пункт.
Район.
Улица.
Определим атрибуты этих сущностей.
1. Сущность «Клиент» (Код Клиента, ФИО, Телефон)
Код Клиента - является уникальным номером клиента и является идентифицирующим (ключевым) атрибутом.
ФИО - содержит фамилию, имя и отчество клиента.
Телефон - содержит номер клиента.
Код Адреса - является уникальным номером адреса.
2. Сущность «Заявка» (Код Заявки, Тип операции, Тип недвижимости, Описание, Дата регистрации, Статус, Код клиента)
Код Заявки - является уникальным номером заявки и является идентифицирующим (ключевым) атрибутом.
Тип операции (Продажа, Сдача, Покупка, Аренда/Найм).
Тип недвижимости (Квартира, Новостройка, Домовладение, Коммерческая недвижимость, Гараж).
Описание.
Дата регистрации.
Статус (Активная, Неактивная).
Код клиента - поле связи заявки с клиентом (внешний ключ).
3. Сущность «Свойства» (Код Свойства, Название, Единица измерения)
Код Свойства - является уникальным номером свойства и является идентифицирующим(ключевым) атрибутом.
Название - наименование свойства.
Единица измерения - единица измерения свойства.
4. Сущность "Продажа квартиры" (Код Продажи квартиры, Код заявки, Количество комнат, Фонд, Материал, Этаж, Этажность, Площадь общая, Площадь жилая, Площадь кухни, Состояние, Полы, Тип санузла, Балкон, Цена).
Код Продажи квартиры - является уникальным номером продажи квартиры и является идентифицирующим (ключевым) атрибутом.
Код заявки - поле связи данных заявки с заявкой (внешний ключ).
Количество комнат - общее количество комнат в квартире.
Фонд (новостройка, старый, Хрущевка, элитный и т.д.).
Материал (кирпичный, панельный и т.д.).
Этаж - Этаж продаваемой квартиры.
Этажность - количество этажей дома, где расположена квартира.
Площадь общая - содержит общую площадь квартиры.
Площадь жилая - содержит жилую площадь квартиры.
Площадь кухни - содержит площадь кухни.
Состояние (отличное, хорошее, плохое, требуется кап. ремонт и т.д.).
Полы (паркет, линолеум, ДВП, ДСП и т.д.).
Тип санузла (раздельный, совмещенный).
Балкон - состояние балкона.
Цена - заявленная цена квартиры.
5. Сущность "Покупка квартиры" (Код Покупки квартиры, Код заявки, Количество комнат мин, Количество комнат макс, Этаж мин, Этаж макс, Этажность мин, Этажность макс, Площадь общая мин, Площадь общая макс, Площадь жилая мин, Площадь жилая макс, Площадь кухни мин, Площадь кухни макс, Цена от, Цена до, Неприемлемые этажи, Фонд, Материал, Состояние, Полы, Тип санузла, Балкон).
6. Сущность "Продажа дома" (Код Продажи дома, Код заявки, Год постройки, Состояние, Стены, Крыша, Количество комнат, Этажность, Площадь общая, Площадь жилая, Площадь кухни, Высота потолка, Газ, Вода, Наличие участка, Площадь участка, Цена).
7. Сущность "Покупка дома" (Код Покупки дома, Код заявки, Год постройки, Состояние, Стены, Крыша, Количество комнат мин, Количество комнат макс, Этажность мин, Этажность макс, Площадь общая мин, Площадь общая макс, Площадь участка мин, Площадь участка макс, Цена от, Цена до).
8. Сущность "Сдача квартиры, дома" (Код Сдачи квартиры, Код заявки, Количество комнат, Количество проживающих, Отдельное проживание, Состояние, Этаж, Этажность, Площадь общая, Площадь жилая, Площадь кухни, Удобства, Балкон, Санузел, Отдельный двор (только для дома), Наличие мебели, Желательно кого, Посуточно, Сдается с, Сдается по, Мин. срок сдачи, Предоплата, Цена).
9. Сущность "Аренда/найм квартиры, дома" (Код Аренды квартиры, Код заявки, Состояние, Отдельное проживание, Мебель, Удобства, Комнат мин, Комнат макс, Этаж мин, Этаж макс, Срок найма от, Срок найма до, Предоплата за кол. месяцев, Цена).
10. Сущность «Адрес» (Код Адреса, Код Субъекта, Код Населенного Пункта, Код Района, Код Улицы, Дом, Квартира)
Код Адреса - является уникальным номером адреса и является идентифицирующим(ключевым) атрибутом.
Код Субъекта - является уникальным номером субъекта.
Код Населенного Пункта - является уникальным номером населенного пункта.
Код Района - является уникальным номером района.
Код Улицы - является уникальным номером улица.
Дом - номер дома.
Квартира - номер квартиры.
11. Сущность «Субъект» (Код Субъекта, Название)
Код Субъекта - является уникальным номером субъекта и является идентифицирующим(ключевым) атрибутом.
Название - название субъекта.
12. Сущность «Населенный пункт» (Код Населенного пункта, Название)
Код Населенного пункта - является уникальным номером населенного пункта и является идентифицирующим(ключевым) атрибутом.
Название - название населенного пункта.
13. Сущность «Район» (Код Района, Название)
Код Района - является уникальным номером района и является идентифицирующим(ключевым) атрибутом.
Название - название района.
14. Сущность «Улица» (Код Улицы, Название)
Код Улицы - является уникальным номером улицы и является идентифицирующим(ключевым) атрибутом.
Название - название улицы.
Связь характеризует отношение между типами сущностей и отображает взаимосвязи между реальными объектами. Каждой связи присваивается содержательное имя. Существует понятие «арности» связи, определяющее количество участвующих в ней типов сущностей. Бинарные связи устанавливают отношение между парой сущностей, k-арные - между k сущностями. По аналогии с сущностями различают типы и экземпляры связей. Каждый экземпляр связи устанавливает определенное отношение между экземплярами сущностей. Определим связи между сущностями.
Таблица 1 - Связи между сущностями
№ |
Связь |
Описание |
Тип связи |
|
1 |
Клиент - Заявка Клиента |
Один клиент может оставлять несколько заявок. |
Один ко многим |
|
2 |
Заявка - Свойства заявки |
Одна заявка может иметь несколько свойств. |
Один ко многим |
|
3 |
Заявка - Продажа квартиры |
С конкретной заявкой сопоставляется одна операция по продаже квартиры. |
Один к одному |
|
4 |
Заявка - Покупка квартиры |
С конкретной заявкой сопоставляется одна операция по покупке квартиры. |
Один к одному |
|
5 |
Заявка - Продажа дома |
С конкретной заявкой сопоставляется одна операция по продаже дома. |
Один к одному |
|
6 |
Заявка - Покупка дома |
С конкретной заявкой сопоставляется одна операция по покупке дома. |
Один к одному |
|
7 |
Заявка - Сдача квартиры, дома |
С конкретной заявкой сопоставляется одна операция по сдаче квартиры, дома. |
Один к одному |
|
8 |
Заявка - Аренда/найм квартиры, дома |
С конкретной заявкой сопоставляется одна операция по аренде/найму квартиры, дома. |
Один к одному |
|
9 |
Субъект - Адрес |
В адресе может находиться один субъект. |
Один ко многим |
|
10 |
Населенный Пункт - Адрес |
В адресе может находиться один населенный пункт. |
Один ко многим |
|
11 |
Район - Адрес |
В адресе может находиться один район. |
Один ко многим |
|
12 |
Улица - Адрес |
В адресе может находиться одна улица. |
Один ко многим |
Для представления (документирования) модели «Сущность-Связь» используются графические диаграммы и табличные спецификации, информационно дополняющие друг друга.
Графическая диаграмма дает наглядное представление о структуре модели «Сущность-Связь». Основное назначение диаграммы - представление информации о составе объектов (типов сущностей) и видах связей, установленных между ними.
2.3 Разработка реляционной модели данных
От ER-модели перейдем к реляционной модели данных.
Инфологическое моделирование, используемое на первом этапе проектирования информационной системы, позволяет построить наглядную модель предметной области, работать с которой могут не только программисты-разработчики, но и другие участники процесса проектирования.
Вместе с тем специалисты предпочитают более формальные способы описания, которые предполагают единственную трактовку. Если для программистов таким языков в свое время стал язык алгоритмов, то для разработчиков баз данных им стала реляционная модель данных.
Сформулируем основные принципы (правила) преобразования модели «сущность-связь» в реляционную:
1. Каждой сущности ER-модели ставится в соответствие отношение реляционной модели данных (случай категоризации сущностей рассматривается ниже отдельно). При этом необходимо понимать, что имена сущностей и отношений могут быть различны, так как в инфологической модели на имена сущностей не накладываются никакие ограничения, за исключением их уникальности в рамках модели. Одновременно с этим в реляционной модели имена отношений могут быть ограничены требованиями конкретной СУБД. Чаще всего имена отношений являются идентификаторами в некотором специальном базовом языке, ограничены по длине и не могут содержать пробелов и других специальных символов.
2. Каждому атрибуту сущности ставится в соответствие атрибут соответствующего отношения. Переименование атрибутов производится в соответствии с теми же правилами, что и переименование сущностей. Затем каждому атрибуту отношения задается конкретный (допустимый в используемой СУБД) тип данных и обязательность или необязательность данного атрибута (необязательность атрибута означает, что он может принимать специальное значение NULL - пусто).
3. Первичный ключ сущности становится первичным ключом (PRIMARY KEY) соответствующего отношения. Все атрибуты, которые входят в первичный ключ сущности, автоматически получают свойство обязательности (NOT NULL - не пусто).
4. В каждое отношение, соответствующее подчиненной сущности, добавляется набор атрибутов, являющийся первичным ключом основной сущности. В подчиненном отношении этот набор атрибутов становится внешним ключом (FOREIGN KEY), с помощью которого и реализуются связь между отношениями.
5. Для моделирования необязательной связи у атрибутов, соответствующих внешнему ключу, устанавливается возможность принимать неопределенные значение (NULL). Для моделирования обязательной связи атрибутам внешнего ключа устанавливается недопустимость неопределенных значений (NOT NULL).
6. Разрешение связей «многие-ко-многим». В реляционной модели поддерживается только один тип связи по множественности - связи «один-ко-многим». Вместе с тем, ER-модель поддерживает и связи «многие-ко-многим» (случай «один-к-одному» не рассматривается, так как он является частным случае связи «один-ко-многим»). Поэтому требуется специальный механизм преобразование связей «многие-ко-многим» при переходе к реляционной модели. В этом случае вводится дополнительное отношение, атрибутами которого являются первичные ключи двух связанных отношений. Данные ключи являются в новом отношении внешними (FOREIGN KEY), образуя вместе уже первичный ключ нового отношения (PRIMARY KEY). Само новое отношение связано с каждым из исходных отношений связью «один-ко-многим».
Реляционная модель базы данных ИПС агентства недвижимости, построенная в соответствии с указанными правилами преобразования модели «сущность-связь» в реляционную модель.
Глава 3. Разработка ИПС типового агентства недвижимости
3.1 Выбор средства разработки
Для разработки информационно-поисковой системы типового агентства недвижимости используется система Delphi совместно с СУБД MS SQL Server 2008 Express.
Система визуального программирования Delphi обладает большой популярностью среди широкого круга пользователей: от неспециалистов до системных программистов, занимающихся разработкой сложных приложений и информационных систем.
Delphi позволяет быстро и удобно разрабатывать эффективные приложения, включая приложения для работы с базами данных. Система имеет развитые возможности по созданию пользовательского интерфейса, широкий набор функций, методов и свойств для решения прикладных расчетно-вычислительных задач. В системе имеются развитые средства отладки, облегчающие разработку приложений.
Использование баз данных является одним из приоритетных направлений развития прикладного программного обеспечения. Среда Delphi всегда отличалась богатыми возможностями по поддержке системы доступа к базам данных, причем по мере выхода новых версий Delphi эти возможности постоянно расширялись.
Средства Delphi, предназначенные для работы с БД, можно разделить на 2 категории: инструментарий и компоненты. Инструментарий включает в себя рад дополнительных программ, входящих в поставку Delphi и предназначенных для работы с БД. Что касается компонентов, то в VCL имеется множество специализированных компонент, предназначенных для работы с БД.
Хотя Delphi и не является СУБД в классическом понимании этого термина, в частности, у нее нет собственного формата баз данных, она поддерживает как собственные сразу несколько форматов, в частности, dBase и Paradox. Кроме этого система Delphi позволяет также работать с таблицами таких популярных СУБД как MS SQL Server, Oracle и др.
При выборе СУБД необходимо также иметь представление, с помощью каких средств разработки будет создаваться информационная система на основе данной СУБД, а также о том, каким образом разработанные приложения будут манипулировать данными. От того, правильно ли выбран механизм доступа к данным, зависит очень многое, в частности производительность приложений, возможность применения тех или иных функциональных особенностей данной СУБД, простота разработки пользовательского интерфейса и ряд других факторов.
СУБД MS SQL Server 2008 получила очень широкое распространение, как в нашей стране, так и за рубежом, а связано это с тем набором удобств, который она предлагает администратору и разработчику, сохраняя при этом свои богатые возможности. Эта СУБД легко масштабируется, что позволяет использовать ее как в информационных системах для среднего бизнеса, так и для больших корпоративных ИС.
Следует обратить особое внимание на основное средство разработки и администрирования, включенное в состав дистрибутива, это SQL Server Management Studio, который позволяет решать практически все задачи администрирования MS SQL Server и, кроме того, удобен для разработчика. Но главное преимущество данной СУБД, даже не в удобном визуальном инструментарии, входящем в состав дистрибутива, а в тесной интеграции ее с другими программными продуктами от Microsoft.
Кроме того, существенным преимуществом этой СУБД перед другими является возможность экспорта и импорта в большинство распространенных форматов данных, что включает как клиент-серверные и файл-серверные, так и XML формат.
Вывод: предпочтение отдано СУБД MS SQL Server 2008, так как она позволяет сохранять большой объем данных, осуществляет тесную интеграцию с другими программными продуктами от Microsoft.
3.2 Используемые компоненты для разработки приложения
Для разработки информационно-поисковой системы типового агентства недвижимости были использованы компоненты ADOConnection, ADOQuery, ADOTable, DataSource, DBGrid. Для удобства данные компоненты располагаются на отдельном модуле данных (рис. 6).
Рис. 6 - Компоненты доступа к данным, используемые в приложении
Компонент TADOConnection используется для соединения с различными источниками ADO и представляет собой версию объекта ADO Connection для Delphi.
Применение компонента TADOConnection дает разработчику ряд преимуществ:
все компоненты доступа к данным ADO обращаются к хранилищу данных через одно соединение;
возможность напрямую задать объект провайдера соединения;
строка подключения хранится в одном месте, вместо того чтобы храниться в нескольких разных компонентах;
выполнение транзакций;
возможность выполнять команды ADO;
расширенное управление соединением при помощи методов-обработчиков событий.
Компонент TADOConnection выполняет роль концентратора соединения с хранилищем данных. Для установления связи нужно с помощью свойства ConnectionString сформировать связные параметры и затем установить значение True в свойство Connected или вызвать метод Open. Для разрыва связи выполняется метод Close компонента или в его свойство Connected устанавливается значение False. До и после открытия и закрытия соединения разработчик может использовать соответствующие стандартные методы-обработчики событий.
Компонент TАDOTаblе обеспечивает использование в приложениях Delphi таблиц баз данных, подключенных через провайдеры OLE DB. Компонент TADOTable используется в тех случаях, когда необходимо работать с одной таблицей в базе данных.
Имя таблицы БД задается свойством TableName. Связь друг с другом компонентов TADOTable, работающих с разными таблицами, одна из которых главная, а другая - вспомогательная, осуществляется с помощью свойств MasterSource и MasterFields.
Так как не все провайдеры ADO обеспечивают прямое использование таблиц БД, то для доступа к ним может понадобиться запрос SQL. Если свойство TableDirect имеет значение True, осуществляется прямой доступ к таблице. В противном случае компонент генерирует соответствующий запрос. Свойство ReadОnly позволяет включить или отключить для таблицы режим "только для чтения".
Компонент TADOQuery служит для определения SQL-операторов, позволяющих осуществить доступ к одной или нескольким таблицам в базе данных. Содержание набора определяется SQL-операторами и состоянием БД.
Подобно компоненту TADOTable свойства TADOQuery близки свойствам компонента TADODataSet. Другими словами, TADOQuery обеспечивает те же функциональные возможности, что и компонент TADODataSet, свойство CommandType которого имеет значение cmdText.
Свойство SQL (TStrings) используется для указания одного или нескольких SQL-операторов, которые следует выполнить. В операторах могут использоваться параметры, идентификаторы которых помечаются знаком ":". Изменение параметра осуществляется изменением свойства Value по индексу в коллекции объектов Parameters. Изменение параметров возможно только при закрытом запросе.
Основной метод TADOQuery - это метод ExecSQL, используемый для выполнения SQL-запроса, хранящегося в свойстве SQL.
Рассмотрим использование свойств данных компонентов на этапе проектирования на примере связывания таблиц клиентов и заявок для агентства недвижимости.
Для связывания друг с другом двух основных таблиц Client (таблица клиентов) и Application (таблица заявок) используется свойство DataSource компонента QClient. В данном случае необходимо, чтобы при выборе записи в таблице Client в таблице Application отбирались только те записи, относящиеся к выбранному клиенту.
Для этого компоненты QClient, DSClient и DBGridEh1 соединим следующей цепочкой: в DBGridEh1 зададим свойство DataSource равным DSClient, а в DSClient зададим свойство DataSet равным QClient. Компонент QClient настроим на таблицу Client. Для этого установим свойство Connection в значение ADOConnection1, а в свойство SQL запишем оператор SELECT * FROM Client ORDER BY Surname, Name, Patronymic (рис. 7).
Рис. 7 - Настройка свойства SQL компонента QClient
Создадим другую аналогичную цепочку для компонентов QApplication, DSApplication и DBGridEh2 и свяжем ее с таблицей Client запросом
SELECT * FROM Application WHERE (IdClient=:IdClient) ORDER BY TypeOper
В этом запросе указывается условие отбора: значение поля IdClient должно быть равно параметру :IdClient. В данном случае не надо определять этот параметр с помощью редактора параметров, вызываемого из свойства Params компонента QApplication. Вместо этого в свойстве DataSource компонента QApplication надо сослаться на DSClient - источник данных, связанный с таблицей Client. Это укажет приложению, что оно должно взять значения параметра :IdClient из текущей записи этого источника данных. А так как имя параметра совпадает с именем поля в источнике данных, то в качестве значения параметра будет взято текущее значение этого поля. Таким образом, вспомогательная таблица, запрашиваемая в QApplication, оказывается связанной с головной таблицей, запрашиваемой в QClient.
3.3 Настройки подключения к базе данных
При работе с базой данных первое, что должна уметь делать программа, это подключаться к базе данных. Через это подключение к БД программа будет отправлять запросы и принимать результаты его выполнения.
Для этих целей в системе Delphi предназначен компонент ADOConnection, который обеспечивает соединение других компонентов ADO приложения с базой данных и осуществляет управление транзакциями.
Преимущество использования ADOConnection состоит в том, что строка подключения хранится в одном месте, вместо того чтобы храниться в нескольких разных компонентах. Если не добавить в программу компонент ADOConnection, каждый компонент ADO будет обладать собственным соединением с сервером.
Для соединения с базой данных через компонент ADOConnection возможны два способа:
1. При помощи свойства ConnectionString. Свойство ConnectionString представляет собой строку, содержащую параметры соединения. Отдельные параметры отделяются друг от друга «;».
Вручную составлять такую строку сложно, ее можно создавать при помощи специального диалогового окна, которое показано на рис. 8.
Рис. 8 - Настройка свойства ConnectionString
На первой вкладке "Поставщик данных" необходимо выбрать Microsoft OLE DB Provider for SQL Server и нажать далее. Затем на второй вкладке "Подключение" указать параметры подключения к SQL-серверу: имя сервера, имя и пароль пользователя, базу данных (рис. 9).
Рис. 9 - Настройки подключения к базе данных realtor
После ввода параметров подключения нажать на кнопку "Проверить подключение" для проверки правильности введенных данных.
2. С помощью UDL-файла.
Компонент ADOConnection позволяет разработчику централизовать определение строки подключения в рамках формы или модуля данных. Однако у описанного подхода имеется один существенный недостаток: если база данных идентифицируется при помощи некоторого имени файла, путь к этой базе будет жестко закодирован внутри исполняемого файла приложения. В результате возможности приложения будут существенно ограничены. Чтобы решить проблему, в ADO используются так называемые файлы связи с данными (Data Link Files). Файл связи с данными -- это строка подключения, оформленная в виде INI-файла.
Файл связи с данными может обладать любым расширением, однако рекомендуется использовать расширение .UDL. UDL-файл можно создать при помощи любого текстового редактора. Для этого необходимо создать текстовый документ, сменить расширение файла на .UDL, затем сделать двойной щелчок на файле - в результате будет запущен редактор строки подключения Microsoft.
Если в редакторе свойства ConnectionString выбрать Use Data Link File (использовать файл связи с данными), в этом свойстве будет автоматически размещена строка 'FILE NAME =', за которой будет указано имя файла связи с данными.
Так как второй способ является более предпочтительным для настройки параметров подключения к базе данных MS SQL Server, то в информационно-поисковой системе агентства недвижимости связь с базой данных realtor осуществляется через UDL-файл (рис. 10).
Рис. 10 - Подключение к базе данных realtor через файл Connection.udl
Файл Connection.udl должен находиться в одной папке с исполняемым файлом приложения. При запуске приложения программа подключает данный файл к компоненту ADOConnection c помощью следующего кода:
procedure TDM.DataModuleCreate(Sender: TObject);
var Path: String;
begin
DM.ADOConnection1.Close;
Path := ExtractFilePath(Application.ExeName) + 'Connection.udl';
DM.ADOConnection1.ConnectionString := 'FILE NAME=' + Path;
DM.ADOConnection1.Open;
end;
Данное приложение поддерживает многопользовательскую работу в локальной сети. Приведем этапы развертывания приложения для организации параллельной работы нескольких пользователей в сети.
1. На серверном компьютере необходимо установить MS SQL Server 2008 Express.
2. Затем установить среду SQL Server Management Studio, которое является средством управления базами MS SQL Server и предоставляет возможности для доступа, настройки, администрирования, разработки всех компонентов SQL Server и управления ими.
Подобные документы
Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".
дипломная работа [5,4 M], добавлен 06.06.2013Анализ существующих решений по автоматизации предметной области. Методология проектирования информационной системы агентства недвижимости. Спецификация и аттестация требований. Проектирование пользовательского интерфейса. Обоснование выбора платформы.
курсовая работа [412,8 K], добавлен 10.02.2013Системы управления контентом. Проектирование сайта агентства недвижимости. Информационное обеспечение системы. Построение логической модели данных. Разработка интерфейса сайта: программные средства, структура сценария, его компьютерная реализация.
дипломная работа [2,4 M], добавлен 27.10.2017Особенности процессов обслуживания заказчиков, исследования рынка недвижимости, формирования информации о финансовых манипуляциях. Описание модели агентства; последовательность создания контекстной диаграммы. Оптимизация разработанной модели "to be".
курсовая работа [1,7 M], добавлен 28.08.2012Правовые основы аренды в Республике Казахстан. Обзор существующего программного обеспечения по работе агентств недвижимости. Выбор и проектирование инфологической модели базы данных. Организация технологии сбора, передачи, обработки и выдачи информации.
дипломная работа [1,3 M], добавлен 02.11.2015Понятие информационно-поисковых систем, их сущность и особенности, история возникновения и развития, роль на современном этапе. Внутреннее устройство и элементы поисковой системы. Принцип работы поисковой машины Рамблер, прядок обработки запроса.
научная работа [222,0 K], добавлен 29.01.2009Анализ существующих поисковых систем и используемых ими алгоритмов поиска документов. Разработка информационно-поисковой системы словарного типа, способной осуществлять релевантный поиск документов, особенности ее структуры и информационно-поисковой базы.
дипломная работа [942,1 K], добавлен 19.05.2011Обзор проблемы разработки сайтов. Системы управления контентом. Сайты для агентств недвижимости. Контекстная диаграмма и оценка трудоемкости разработки сайта. Анализ предметной области и выделение информационных объектов. Описание реализации сайта.
дипломная работа [2,9 M], добавлен 12.08.2017Правовые основы аренды в Республике Казахстан. Обзор существующего программного обеспечения по работе агентств недвижимости. Выбор инструментария разработки информационной системы. Организация технологии сбора, передачи, обработки и выдачи информации.
дипломная работа [930,2 K], добавлен 16.06.2015Теоретические основы проектирования информационно-справочных систем. Значение информационно-справочных компонент в корпоративных информационных системах. Разработка концептуальной и инфологической модели информационно-справочной системы ГОУ НПО ПУ №33.
дипломная работа [645,4 K], добавлен 02.09.2010