Разработка проекта автоматизации риэлтерской деятельности
1
Содержание
Введение
1. Аналитическая часть
1.1Технико-экономическая характеристика предметной области и предприятия.
1.1.1 Характеристика предприятия
1.1.2 Организационная структура управления предприятием и её характеристика
1.1.3 Описание информационного и технического обеспечения предприятия, используемых функциональных возможностей
1.2 Характеристика комплекса задач, задачи и обоснование необходимости автоматизации
1.2.1 Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
1.2.2 Обоснования необходимости использования вычислительной техники для решения задачи
1.2.3 Описание основных свойств ИС для предприятия и выбранного комплекса задач
1.2.4 Экономическая сущность комплекса задач
1.2.5 Определение места проектируемой задачи в комплексе задач
1.2.6 Сущность задачи
1.3 Анализ существующих разработок и выбор стратегии автоматизации
1.3.1 Анализ существующих разработок для автоматизации задачи
1.3.2 Выбор и обоснование стратегии автоматизации задачи
1.3.3 Выбор и обоснование способа приобретения ИС для автоматизации задачи
1.4 Постановка цели и подзадач автоматизации. Критерии достижения цели.
1.4.1 Экономическая сущность задачи
1.4.2 Цели и назначение автоматизированного варианта решения задачи
1.4.3 Общая характеристика организации решения подзадач на ЭВМ
1.4.4 Формализация расчетов подзадач
1.5 Анализ существующих разработок и обоснование выбора технологии проектирования.
1.6 Обоснование проектных решений
1.6.1 Обоснование проектных решений по техническому обеспечению
1.6.2 Обоснование проектных решений по информационному обеспечению
1.6.3 Обоснование проектных решений по программному обеспечению
2. Проектная часть
2.1 Информационное обеспечение задачи
2.1.1 Информационная модель и ее описание
2.1.2 Используемые классификаторы и системы кодирования
2.1.3 Характеристика первичных документов с нормативно-справочной и входной оперативной информации
2.1.4 Характеристика базы данных.
2.2 Программное обеспечение задачи
2.2.1 Общие положения (дерево функций и сценарий диалога)
2.2.2 Структурная схема проекта
2.2.3 Описание программных модулей
2.3 Технологическое обеспечение задачи
2.3.1 Организация технологии сбора, передачи, обработки и выдачи информации
2.3.2 Схемы технологического процесса сбора, передачи, обработки и выдачи информации
2.4 Контрольный пример реализации проекта и его описание
Заключение
Список использованных источников
Приложение1
Введение
Целью данной работы является обоснование разработки и разработка проекта автоматизации риэлтерской деятельности АН «Елена».
Актуальность работы обусловлена тем, что в современных рыночных условиях эффективная деятельность предприятия предоставляющего услуги возможна лишь при условии автоматизации всего спектра деятельности предприятия. Автоматизация позволяет снизить издержки, повысить эффективность работы, и что самое главное для предприятия работающего в отрасли предоставления услуг – это стать более клиент-ориентированными, перейти к следующей стадии ведения бизнеса – ориентированность на клиента. Польза от автоматизации деятельности ощущается в том случае, если автоматизируется вся деятельность предприятия, весь комплекс его задач.
Среди всего комплекса задач автоматизации деятельности агентства недвижимости особо выделяется задача структуризации, хранения и использования предложений рынка недвижимости, как центральной и наиболее трудоемкой части деятельности предприятия. Успешное решение этой задачи является залогом успешного решения всего комплекса задач автоматизации предприятия.
Цель исследования – обосновать необходимость разработки и разработать систему автоматизированного учета АН «Елена».
Объект исследования – процесс функционирования предприятия, который после исследования формализуется и реализуется в виде автоматизированной информационной системы.
Предмет исследования – предметная область деятельности предприятия, принятый на предприятии стандарт и механизм документооборота, установившаяся система отчетности.
Задачи исследования:
Определение комплекса задач автоматизации, выбор места решаемой задачи в этом комплексе.
Анализ существующих разработок для решения поставленной задачи.
Формализация задачи, выбор стратегии автоматизации, постановка целей и задач автоматизации.
Обоснование проектных решений решения задачи.
Разработка информационного обеспечения задачи.
Разработка программного проекта решения задачи
Тестирование полученного проекта, устранение недостатков
Теоретико-методической основной исследования являются современные подходы и разработки в автоматизированных систем в частности и управления предприятием в целом. Эти разработки были взяты за основу данного проекта.
Аналитическая часть
Технико-экономическая характеристика предметной области и предприятия
1.1.1 Характеристика предприятия
1. Полное название: Агентство по сделкам с недвижимостью «Елена». Сокращенное название: Агентство по недвижимости «Елена».
2. Агентство по недвижимости «Елена» зарегистрировано частным предпринимателем в соответствии с законом Российской Федерации «О государственной регистрации юридических лиц и индивидуальных предпринимателей».
3. Место нахождения Агентства: Российская Федерация, Республика Башкортостан, город Октябрьский, проспект Ленина,67.
4. Задачи:
Предоставление услуг населению по купле- продажи, дарению, другими операциями с недвижимостью в соответствии с рыночным спросом.
Помощь при оформлении ипотечного кредитования.
Создание доступных сервисов по поиску информации о недвижимости.
Оказание полного спектра услуг по инвестированию в недвижимость.
Обеспечение стабильности в деятельности предприятия.
5. Цели фирмы:
Извлечение прибыли.
Становление надежным, добросовестным агентством, оказывающим высококачественные услуги.
Привлечение новых клиентов.
Расширение территориального охвата деятельности.
Агентства по недвижимости «Елена» за 2006, 2007, 2008 годы.
№ п//п |
Основные показатели |
2006 год |
2007 год |
Отклонения (%)2007 к 2006 |
2008 год |
Отклонения (%)2007 к 2006 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1. |
Объём предоставленных услуг, тыс.руб; |
6500 |
7100 |
109 |
9800 |
151 |
2. |
Себестоимость предоставленных услуг, тыс.руб; |
5200 |
5400 |
104 |
7340 |
141 |
3. |
Затраты на 1 рубль предоставленных услуг, коп; |
1,25 |
0,76 |
60 |
0,75 |
60 |
4. |
Прибыль, тыс.руб; |
1300 |
1700 |
131 |
2460 |
189 |
5. |
Рентабельность, % |
25 |
34 |
136 |
33 |
132 |
6. |
Численность персонала, чел; |
5 |
6 |
120 |
8 |
160 |
7. |
Производительность труда, тыс.руб/чел; |
1300 |
1183 |
91 |
1225 |
94 |
8. |
Среднемесячная заработная плата, руб; |
8000 |
10000 |
125 |
15000 |
187 |
9. |
Фонд оплаты труда, руб; |
40000 |
60000 |
150 |
120000 |
300 |
Используя приведенные данные оценим финансовые результаты деятельности агентства «Елена» за период 2006, 2007, 2008 годы.
Из таблицы видно, что объем предоставленных услуг с каждым годом растет: в 2007 году, по отношению к 2006 году- на 9%, в 2008 году – на 51%.
На такое повышение повлияли следующие факторы:
в 2008 году было доступно ипотечное кредитование- проценты банка составляли от 11% годовых;
рынок оказываемых услуг значительно расширился, захватывая близлежащие города региона;
с приходом новых риэлторов в агентство сроки выполнения работ резко сократились;
юристом предоставляются бесплатные консультации, после которых клиенты становятся клиентами агентства по оформлению сделок.
Себестоимость предоставленных услуг в 2007 году, по сравнению с 2006 годом, повысилась на 4%, а в 2008 году, соответственно, повысилась на 41 %. На повышение себестоимости повлияло следующее:
рост энергозатрат, повышение цен на воду, тепло, телефонную связь, оплату интернета;
установка новейшей охранной сигнализации;
увеличение расхода топлива для автомобилей;
теле- радио- реклама услуг агентства.
Затраты на 1 рубль предоставленных услуг (отношение себестоимости к объему предоставленных услуг) в 2007 и 2008 годах, по отношению к 2006 году, снизились на 40%.
Это снижение связано с тем, что фирма стремится минимизировать затраты за счет:
подключения безлимитного интернета;
большего использования «сарафанное радио» для привлечения клиентов;
ограничения междугородних телефонных разговоров;
Судя по показателям прибыли (разница между объемом услуг и себестоимостью) агентство работает рентабельно, то есть прибыль растет с каждым годом: в 2007 году, относительно 2006 года возросла на 31%, в 2008 году, так же, относительно 2006 года возросла на 89%.
На это повлияло снижение затрат на 1 рубль предоставленных услуг. Динамика роста рентабельности обуславливается теми же причинами.
Численность персонала ежегодно увеличивается, в 2007 году в штате прибавился 1 риэлтор, в 2008 году - еще 3 специалиста. Это связано с увеличением объема предоставленных услуг. При необходимости специалисты подменяют друг друга, повышая, тем самым, уровень своей квалификации, одновременно не допуская уход клиента из фирмы в другое агентство.
В 2007 году производительность труда (отношение объема предоставленных услуг к численности работающих), по отношению к 2006 году, снизилась на 9%, а в 2008 году, сравнивая с 2006 годом- на 6%. На это повлияло расширение штата. Однако для фирмы это нормально, сотрудники быстро входят в рабочий ритм, тем самым есть тенденции повышения и производительности труда коллектива.
Среднемесячная заработная плата сотрудников в 2007 году, по отношению к 2006 году, возросла на 25%, в 2008 году, соответственно на 87%. Следовательно, возрастает фонд оплаты труда( произведение среднемесячной заработной платы на численность персонала). Этот рост связан с увеличением объема предоставляемых услуг, так же, за оперативность и профессионализм директор поощряет премиями, за счет фирмы отправляет на платные семинары в Москву, Уфу, Самару.
В целом, агентство по недвижимости «Елена» работает стабильно, с прибылью, несмотря на общую экономическую нестабильность. Повышение и понижение цен сказывается на рынке недвижимости, однако всегда есть желающий продать и желающий купить недвижимость, необходимо так организовать работу фирмы, чтобы они пришли именно к вам за вашими услугами.
Организационная структура управления предприятием и её характеристика
Структура
В агентстве существует элементарная организационная структура, которая отражает двухуровневое разделение, присущее только в маленьких организациях.
Начальник офиса. Руководитель группы риэлторов
Обязанности:
Руководство группой риэлторов.
Планирование, контроль и отчетность по работе офиса.
Контроль хода всех сделок.
Обучение риэлторов.
Прием и внесение авансов.
Старший юрисконсульт:
Обязанности:
Сопровождение сделки
Проверка «чистоты» документации
Контроль за соответствием законодательству деятельности агентства.
Бухгалтер
Обязанности:
составление и сдача отчетов
Риэлтор
Обязанности:
Прием звонков
Консультации потенциальных клиентов.
Заключение агентских договоров в офисе компании и с выездом к клиенту.
Подбор квартир по специализированной риэлтерской базе.
Показы квартир.
Сбор документов
Подготовка сделок.
Внесение авансов.
Офис менеджер
Обязанности:
Административная поддержка деятельности офиса.
Встреча клиентов на. Чай, кофе для клиентов.
Отправка/прием факсов. Распечатка документов.
Закупка канцтоваров и др. товаров для жизнедеятельности офиса.
Ведение статистики посещения офиса сотрудниками.
Курьер
Доставка корреспонденции.
Доставка документов.
Рисунок 1.1 Организационная диаграмма
Характеристика
Риэлтерская деятельность не предполагает наличия специального образования, т.к. рынок образования не готовит специалистов в данной области.
Все люди, работающие в агентстве, имеют высшее образование, но профессии и сферы деятельности до работы в агентстве «Елена» были довольно разнообразными. Все они имеют «коммерческую жилку», как правило, это бывшие предприниматели или юристы со стажем.
Например, юрисконсульт Гиниятуллин Галимьян Галлимуллинович, закончил Башкирский государственный университет, юридический факультет. Занимается юридической деятельностью более 30 лет, до работы в агентстве работал в Октябрьском отделе Государственной регистрационной палате, в 2008 году получил сертификат повышения квалификации по направлению «Управление риэлтерской фирмой».
Однако нельзя недооценивать молодых работников фирмы, которые может быть и не знают каких-то нюансов, но окружают своего клиента вниманием и заботой, ответственно подходят к делу, чтобы потом о них рассказали своим друзьям.
В фирме имеется высококвалифицированный бухгалтер с большим стажем работы так что фирма ведет свои дела в соответствии с законодательством, знает какие налоги платить.
Специфика потребительского спроса заключается в том, что постоянных клиентов у фирмы нет. Это обусловлено тем, что удовлетворив свои потребности в жилище или же наоборот, продав квартиру, дальнейшая необходимость в услугах пропадает. Однако, профессионально совершив сделку, оформив юридическое сопровождение сделки, работники агентства зарабатывают хорошую репутацию, таким образом, непосредственные клиенты рекомендуют агентство своим близким и знакомым.
Скорее всего такая схема работает и даёт результаты.
Агентство «Елена» увеличилось с двух до восьми человек. Это мобильный слаженный коллектив, постоянно повышающий свою квалификацию. Пять человек имеют высшее образование, двое учатся в ВУЗах, что позволяет оказывать высококачественные профессиональные услуги, привлекая все большее количество клиентов
Описание информационного и технического обеспечения предприятия, используемых функциональных возможностей
В рассматриваемом нами субъекте предпринимательской деятельности используется следующее оборудование.
7 персональных компьютеров.
7 стационарных телефонных аппарата на одной линии.
3 принтера.
1 факсимильный аппарат.
1 копир.
1 маршрутизатор для доступа в Интернет.
И следующее программное обеспечение.
7 операционных систем Windows XP
7 пакетов MS office 2003
1 программа бухгалтерского учета 1С Бухгалтерия 7.7
1 программный пакет Гарант.
Характеристика комплекса задач, задачи и обоснование необходимости автоматизации
Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
В настоящее время коммерческим предприятием приходится функционировать в сложных финансово-экономических условиях. Залогом успешной деятельности предприятия в таких условиях является максимально эффективная организация деятельности предприятия на всех уровнях. Это сложная задача, успешное решение которой находится не в области какой-либо одной науки, а обычно на пересечении многих дисциплин, таких как управление и менеджмент, логистика, бухгалтерский учет и, конечно же, информатика.
Автоматизация бизнес процессов современного предприятия является необходимым и обязательным условием его успешного функционирования. Трудно представить сегодня предприятие, на котором, ведется вручную, например, бухгалтерский учет. Но бухгалтерский учет — далеко не единственный пример приложения автоматизации на предприятии. Существующие информационные технологии позволяют автоматизировать деятельности практически всех уровней предприятия. Исходя из этого становится ясно, что автоматизация деятельности становится ключевой задачей, которую необходимо решить руководству для того, чтобы предприятие работало максимально эффективно.
В данном дипломном проекте рассматривается автоматизация деятельности предприятия оказывающего услуги, что, естественно, накладывает свою специфику на задачу автоматизации. Автоматизация деятельности предприятия оказывающего услуги представляет из себя комплекс задач, каждая из которых представляет из себя законченный проект. Среди задач автоматизации можно выделить такие как:
бухгалтерский учета на предприятии;
учета квартир и домом в аренду и продажу;
учета клиентов желающих снять или купить квартиру;
учета клиентов которым оказываются иные услуги;
Можно привести еще целый ряд подсистем в комплексе задач автоматизации деятельности агентства недвижимости. Следует отметить, что все задачи в комплексе задач связаны между собой, а операции, происходящие на предприятии, не могут относиться к какой-либо одной задаче.
Обоснования необходимости использования вычислительной техники для решения задачи
Анализ поставленной задачи приводит к выводу, что ее решение традиционными средствами учета c использованием бумажных документов возможно но неэффективно. Прежде всего, такой вывод следует из анализа количества операций при ведении клиента или объекта недвижимости. Для крупного агентства недвижимости количество таких операций может достигать такого количества, что ручное их оформление становится просто невозможным. Также очень тяжело хранить и осуществлять поиск информации о недвижимости и её свойствах, клиентах и проведенных операциях в бумажном виде. Нет необходимости описывать преимущества и удобство поиска информации, например, о квартире в удобной и быстрой информационной системе по сравнению поиска такой информации в папках бумажных документов. Точно также и поиск информации о любой выполненной операции риэлтерской деятельности можно найти в журнале электронных документов со всеми подробностями ее выполнения быстро и удобно.
Однако, использование вычислительной техники дает не только удобство и быстроту поиска информации и оформления документов, но и поднимает эффективность работы на принципиально новый уровень, предоставляя функции, ранее недоступные. Прежде всего, это касается подсистемы аналитической информации. Ранее, при использовании системы бумажного учета получить информацию о совершенных сделках, проанализировать наиболее востребованные услуги можно было только подняв всю документацию и договора, то теперь это стало гораздо более быстрым и доступным, что позволит лучше оценивать востребованность разных услуг на рынке.
Кроме выше сказанного выделить еще ряд аналитических отчетов, которые можно получить при использовании автоматизированной информационной системы. Ото такие отчеты, анализ состояния рынка недвижимости, анализ предложений рынка недвижимости, колебание стоимости жилья, анализ заключенных услуг.
Еще одним неоспоримым преимуществом использования автоматизированной информационной системы является безопасность хранения информации. При хранении информации на бумажных носителях потеря любого бумажного документа была невосполнимой. Такая потеря могла произойти как в результате действий злоумышленников, так и в результате действия непреодолимых сил. При хранении информации в электронном виде существующие методы обеспечения безопасности хранения информации и ее дублирования делают такое хранение абсолютно надежным.
Таким образом, можно выделить следующие основные преимущества использования автоматизированной информационной системы на основе вычислительной техники для решения задачи построения системы учета:
повышение удобства поиска и отбора данных из справочников хранения статической информации и журналов выполненных операций;
повышение скорости поиска и отбора информации, а также оформления операций с недвижимостью;
обеспечение влияния каждых вновь появившихся предложений на рынке недвижимости на старые заявки клиентов;
обеспечение безопасности хранения информации;
обеспечение многопользовательской работы.
Описание основных свойств ИС для предприятия и выбранного комплекса задач.
Основными свойства ИС для данного предприятия являются
Небольшая и несложная – нет необходимости при текущих задачах в большой и сложной ИС
Динамичная и легко изменяемая – построенная на основе Microsoft Access не требует специализированных навыков для изменения ИС
Низкая защищенность – на данном этапе у предприятия нет требований к защищенности ИС
Человек принимает активное участие в работе ИС – ввод данных, получение данных.
Подвержена воздействию случайных факторов таких как – ошибки тех устройств, ошибки персонала.
Экономическая сущность комплекса задач
Данный класс задач важен, поскольку автоматизирование деятельности такого предприятия как агентство недвижимости в целом представляет собой довольно не тривиальную задачу.
ПО для такого класса задач как автоматизирование деятельности агентства недвижимости довольно редкое и мало распространенное, скорее всего в виду того, что большие агентства пишут такое ПО своими силами располагая целыми отделами и не выставляют его в последствии на продажу что бы не облегчать жизнь своим потенциальным конкурентам.
Поэтому для того что бы получить такую ИС предприятию желательно самому разработать максимально подходящую для него систему, учтя все нюансы деятельности данной фирмы.
И естественно использование ИС в такой быстро меняющийся отрасли как работа с недвижимостью в наши кризисные дни, поможет быстрее оценивать конъюнктуру рынка, и делать упредительные шаги в ту сторону которая даст максимальное количество прибыли сейчас. Что очень важно для выживания фирмы на рынке во время кризиса. Позволит оценить издержки.
В будущем же система позволит также оценивать и долгосрочные перспективы и давать информацию для понимания того во что стоит вкладывать деньги на длительную перспективу.
Определение места проектируемой задачи в комплексе задач
Среди задач автоматизации отдельно следует выделить задачу автоматизации ведения базы недвижимости, а также ведение базы данных клиентов организации.
Накопление данных о клиентах, является очень важной частью автоматизации предприятия которое направлено на обслуживание клиентов, по этой базе можно понять что нужно клиентам в данный момент, даже если мы не можем в данный момент удовлетворить запрос клиента, информация о том что ему нужно поможет в развитии ассортимента услуг нашей компании. База клиентов легко позволит провести исследование с целью лучшего таргетирования своих предложений на рынке. Даст преимущество перед конкурентами у которых отсутствует автоматизация.
Автоматизация базы данных по недвижимости даст возможность быстрее и полнее реагировать на пожелания клиентов, производить сложные выборки и поиски по многочисленным параметрам, что существенно превосходит сложившуюся в данный момент времени ситуацию когда все данных хранятся в текстовых документах формата Microsoft word.
Целью данного дипломного проекта является решение именно задачи автоматизации клиентской базы и базы данных по недвижимости - центральной задачи комплекса задач автоматизации деятельности предприятия.
Комплекс задач автоматизации и место решаемой задачи в этом комплексе представлены на рисунке 1.2.
Рисунок 1.2 Комплекс задач автоматизации и место решаемой задачи в этом комплексе.
Сущность задачи
Система учета клиентов и недвижимости состоит из многих аспектов.
Решение этой задачи состоит из решения подзадач, которые можно выделить в данной задаче. Можно выделить следующие подсистемы:
подсистема ведения квартир и домов на продажу;
подсистема ведения клиентов на покупку квартир и домов;
подсистема ведения клиентов на найм квартир и домов;
подсистема ведения клиентов на сдачу в аренду квартир и домов
подсистема ведения клиентов на другие услуги;
подсистема аналитической информации.
Подсистема ведения квартир и домов на продажу а также подсистема ведения клиентов на сдачу в аренду квартир и домов предназначены для того, чтобы хранить все необходимые данные об объектах недвижимости. Такими статическими данными может быть сама недвижимость и её характеристики, дополнительные сведения о недвижимости и другие данные.
Подсистема ведения клиентов на покупку квартир и домов а также подсистема ведения клиентов на найм квартир и домов должны предоставлять сведения о клиентах, список требований клиентов, желаемый вид оплаты, информацию о том кто ведет сделку, местонахождение недвижимости и другую информацию о желаниях клиента. Подсистема должна иметь возможность слежения за этапом сделки. Подсистема ведения клиентов на другие услуги должна предоставлять данные о самом клиенте и услугах которые ему необходимы, возможность слежения за этапом работ, содержать информацию о сотруднике который ведет данного клиента. Содержать прочую информацию которая по мнению сотрудников необходима. Подсистема аналитической информации должна предоставлять пользователям программы возможность составления отчетов по совершенном сделкам. Отчеты должны иметь гибкую настройку, позволять задавать условия формирования отчетов, а также разрезы формирования отчетов. Все отчеты должны иметь печатные формы для удобства представления данных.
Анализ существующих разработок и выбор стратегии автоматизации
Анализ существующих разработок для автоматизации задачи
В настоящее время существует очень малое количество автоматизированных информационных систем, осуществляющих решение задачи автоматизации деятельности агентства недвижимости.
Например система «Идеальный вариант: Недвижимость» в данной системе реализованы следующие возможности
Ведение операций "Продажа", "Покупка", "Аренда" и т.д.
Учет заявок для продажи и аренды объектов недвижимости любого типа (свыше 100 реквизитов для описания объекта недвижимости)
Учет заявок на покупку и съем объектов недвижимости
Перекрестный поиск между заявками и описанием объектов недвижимости
Учет совершённых и отложенных сделок
Создание произвольных форм отчетов
Произвольные запросы по любым параметрам
Экспорт данных в форматы Excel, txt, csv и xml
Обмен данными между удалёнными офисами используя e-mail, ftp или дискету
Предоставление клиенту информации в "безопасном" виде (возможность скрывать коммерческую информацию)
Слайд-шоу фотографий объектов недвижимости, чертежей и планов в любых форматах (bmp, jpeg, rle, wmf)
Управление доступом пользователей к различным режимам и функциям программы
Просмотр данных на Вашем вэб-сайте в интернете
Поддержка одновременной работы неограниченного числа пользователей
Мощная и быстрая база данных
Удобный и простой интерфейс
Подробная документация, встроенная в программу
Доступная консультационно-справочная служба
Также более более-менее аналогичными вариантами являются системы:
«База Данных Объектов недвижимости»
«Недвижимость Эксперт»
Лучшая система из того что есть на рынке это конечно Идеальный вариант: Недвижимость»
Однако, автоматизированная система Идеальный вариант: Недвижимость» является достаточно сложной и громоздкой. Система требует от пользователя высокой квалификации и, кроме того, требует достаточно сложной настройки и администрировании.
Не мало важным является фактор высокой стоимости автоматизированной системы “ Идеальный вариант: Недвижимость», также на стоимость сильно повлияет необходимость найма квалифицированного специалиста для поддержки и обслуживания СУБД, обучение пользователей, невозможность экстренной тех поддержки из-за сильной удаленности разработчика. Также нет необходимости в большинстве функций данной системы.
Таким образом, представляется нецелесообразным использование автоматизированной системы «Идеальный вариант: Недвижимость» в АН «Елена» для решения узко специализированной задачи создания автоматизированной информационной системы. Гораздо дешевле и быстрее представляется написание отдельного приложения, решающего данную задачу, являющегося простым в установке и использовании, дешевым и удобным в использовании. Легко приспособляемым к новым требованиям компании.
Выбор и обоснование стратегии автоматизации задачи
Из анализа деятельности предприятия выявляется очень много недостатков построения существующей системы организации риэлтерской работы в компании . Прежде всего это касается того, что хранилища данных представляют собой бумажные хранилища или простые текстовые документы, поиск информации в которых может быть проведен только вручную, что является очень неудобным и затруднительным процессом. Также неудобно то, что при изменении какой-либо информации об объекте недвижимости необходимо переделывать весь каталог недвижимости, при изменении цены переделывать прайс-лист, а при изменении данных контрагента переделывать картотеку клиентов. Все это малоэффективно, требует больших затрат времени и ресурсов. Хранение документов в архивах также не способствует убыстрению поиска документов и увеличению удобства работы с ними.
Анализ поставленной задачи приводит к выводу, что ее решение традиционными средствами учета c использованием бумажных документов невозможно. Следовательно, стратегия решения задачи – это автоматизация всех процессов, относящихся к риэлтерской деятельности на предприятии.
Поставленная задача будет автоматизирована путем разработки приложения, реализующего «автоматизированную систему агентства недвижимости»(сокр. АСАН). Разработанная система должна удовлетворять всем требованиям, которые предъявлены к ней при постановке задачи.
Выбор и обоснование способа приобретения ИС для автоматизации задачи
Для разработки приложения, реализующего учета понадобятся следующие ИС:
Операционная система Windows предназначенная для функционирования на клиентской машине;
Операционная система Windows серверного типа или при наличии менее 10 сотрудников работающих с «Автоматизированной системой агентства недвижимости» - операционная система Windows клиентского типа, предназначенная для функционирования на сервере и обеспечивающая многопользовательское подключение к базе данных
СУБД MS Access для обеспечения локального функционирования системы учета на каждой машине;
Для разработки приложения наиболее целесообразно применить СУБД MS Access в связи с небольшим размером ИС.
Все указанные ИС должны быть приобретены для разработки и дальнейшего использования «Автоматизированной системы агентства недвижимости» на предприятии.
Постановка цели и подзадач автоматизации. Критерии достижения цели
Экономическая сущность задачи
Экономической сущностью задачи автоматизации риэлтерской деятельности агентства недвижимости «Елена» является повышение результативности труда посредством автоматизации рутинной деятельности, а также деятельности которую можно ускорить путем перехода на другую систему.
Вследствие ускорения процесса делопроизводства возможно будет или увеличить количество производимых сделок и тем самым повысить обороты компании а в конечном и итоге и прибыль.
Или если размера рынка(из-за кризиса например) не будет достаточно для того что бы увеличить количество производимых сделок, возможно будет провести сокращение штата для сокращения издержек, что в конечном итоге опять ведет к повышению прибыли.
В случае если сокращение сотрудников не будет одним из вариантов по какой-либо причине то возможно увеличение присутствия агентства недвижимости на рынке прямо не связанном с торговлей недвижимостью, таким как консультационные услуги, помощь в оформлении документов связанных с недвижимостью , ведение ипотечных дел, посредничество при торговле землей и другие услуги хотя бы косвенно связанные и недвижимостью.
Итак в конечном итоге цель данной автоматизации является сокращение издержек на делопроизводство, сокращение затрат и увеличение прибыли. А также по возможность расширение сферы деятельности агентства недвижимости «Елена» в других областях.
Цели и назначение автоматизированного варианта решения задачи
Целью дипломного проекта является разработка «Автоматизированной системы агентства недвижимости» и создание приложения, реализующего эту систему. Разрабатываемая система должна решать задачу автоматизации работы агентства недвижимости и выполнять следующие функции:
Ведение таблицы продажи недвижимости с указанием их основных и дополнительных характеристик. К основным характеристикам изделия относятся следующие: тип недвижимости, количество комнат/этажей, владелец и его контакты, подробное описание, стоимость, тип дома, тип квартиры. К дополнительным характеристикам относятся любые задаваемые пользователем свойства (см. ниже).
Для любого объекта недвижимости из справочника недвижимости могут быть заданы дополнительные свойства которые хранятся в связанной таблице. Состав видов свойств и их значений определяются исключительно пользователем программы, что позволяет создать набор свойств для объектов неограниченного объема и любого содержания
Ведение справочника обмена квартир, домов с указанием основных характеристик.
Справочник обмена квартир, домов должен быть связан со справочником свойств. Должен быть предоставлен интерфейс отбора вариантов по свойствам.
Программа должна позволять вести справочник клиентов агентства недвижимости. Справочник клиентов должен содержать все необходимые поля для того, чтобы охарактеризовать клиента: наименование, полное наименование, адрес, телефон, подробное описание.
Программа должна предоставлять возможность отбора (фильтрации) клиентов по различным комбинациям параметров: по характеристикам клиентов, их дополнительным свойствам, по менеджерам, которые ведут клиента. Фильтр должен иметь гибкую настройку и возможность «интеллектуального» отбора записей.
Программа должна предоставлять возможность формировать отчеты по продаже/обмену квартир с различными комбинируемыми фильтрами.
Программа должна работать без прерываний при возникновении критических ошибок, даже тех, которые возникают по вине пользователя или из-за ошибок во входных данных. Соответственно, секции программы, в которых возможно возникновение таких ошибок должны обрабатываться в программе особым образом. В случае возникновения ошибки после выдачи соответствующего предупреждения программа должна продолжить свою работу.
Программа должна обеспечить физическую и логическую целостность базы данных. При изменении или удалении данных программа должна поддерживать ссылочную целостность информации в базе данных.
Общая характеристика организации решения подзадач на ЭВМ.
Задача автоматизации работы агентства состоит из нескольких основных подзадач это:
Создание базы данных с удобным методом хранения.
База данных АС должна соответствовать следующим требованиям:
Доступность – база данных должна быть легко доступна по сети для многопользовательской работы.
Отсутствие необходимости обслуживания со стороны специально обученного персонала – что увеличивает расходы на содержание АС и увеличивает время простоя в случае сбоев.
Легкая возможность резервного копирования и восстановления – отсутствие требований по организации сложной процедуры резервного копирования и восстановления связано с отсутствием квалифицированных специалистов и не желанием нести дополнительные расходы на них.
Легкая возможность модернизации – простота и открытость АС является одним из основных требований для страховки компании от невозможности разработчика данной АС далее работать и обслуживать её.
Отсутствие высоких требований к аппаратным компонентам – для отсутствия высоких дополнительных затрат на модернизацию парка ЭВМ компании.
Создание подсистем автоматизированной системы для различных нужд.
Создание путей ввода информации в базу данных.
Ввод информации в базу данных должен быть разделен для всех таблиц или логических сущностей базы.
Ввод информации в базу должен иметь удобный интерфейс
Ввод информации по мере возможности должен использовать справочники и классификаторы составленные ранее.
Создание путей получения информации из базы данных.
Основным путем получения данных из базы данных должны являться предварительно сформированные формы и отчеты.
Организация законченной структуры ведения клиентов.
АС должна предоставлять полные возможности ведения базы клиентов.
Формализация расчетов подзадач
Задача автоматизации работы агентства недвижимости в данном проекте делится на несколько подзадач, успешное решение которых приводит к успешному решению задачи автоматизации агентства недвижимости в целом. Можно выделить следующие подсистемы:
подсистема ведения квартир и домов на продажу;
подсистема ведения клиентов на покупку квартир и домов;
подсистема ведения клиентов на найм квартир и домов;
подсистема ведения клиентов на сдачу в аренду квартир и домов
подсистема ведения клиентов на другие услуги;
подсистема аналитической информации.
Подсистема ведения квартир и домов на продажу предназначена для того, чтобы хранить все необходимые данные об объектах недвижимости. Такими данными могут быть сами объекты недвижимости и их характеристики, владельцы и их характеристики, дополнительные сведения о недвижимости и другие статические данные.
Подсистема ведения квартир и домов на продажу должна позволять вести учет следующих объектов:
Квартиры. Таблица «продать данные 1» предназначена для хранения основной информации о квартирах такой как:
«Количество комнат» - характеризующей количество жилого помещения, данное поле может частично предопределенным при вводе данных.
«Адрес» - адрес жилого помещения предназначенного на продажу или сдачу в аренду.
«Тип дома» - описания типа конструкции дома, например – «кирпичный», «монолит» данное поле может частично предопределенным при вводе данных,
«Этаж» - Этаж расположения жилого помещения.,
«Этажность» - Количество этажей в доме,
«Размер помещения» - площадь помещения в квадратных метрах,
«Цена» - Полная стоимость помещения.
Квартиры расширенная информация. Таблица «Продать Данные 2» служит для хранения вторичной по важности на момент подбора вариантов информации о квартирах, содержит информацию о владельце, типе квартире, владельце или контактном лице и прочие сведение которые могут быть необходимы.
Покупка квартир. Этот справочник предназначен для хранения информации о клиентах желающих купить квартиру.
В данный справочник заносится информация том что собирается купить клиент, примерный этаж, этажность, количество комнат, контактная информация .
Обмен квартир. Таблица предназначена для информации о предложениях по обмену квартир. Судя входит информация о клиенте, о том какую недвижимость он собирается менять, есть признак доплаты или нет, и прочая информация аналогичная информации из таблицы «Продать данные 2» и «продать данные 1».
Дом. Таблица представляет собой справочник по домам выставленным на продажу включает в себя все основные характеристики как то: материал из которого сделан дом, тип покрытия крыши, контакты владельца а также иную гибко задаваемую информацию.
Малосемейка. Таблица предназначена для хранения информации об отдельном виде квартир типа «малосемейка», вынос данного типа квартир обусловлен наличием большого количества квартир такого типа в преимущественном районе деятельности агентства.
И их некоторой обособленности от остального жилого фонда.
Соответственно в данной таблице представлены все характеристики имеющиеся в таблицах продажи квартир, а также несколько дополнительных свойственных только для данного типа квартир признаков, например таких как «Тип малосемейки», характеризуемый двумя возможными признаками – коридорный и квартирный.
Клиенты. Данный справочник предназначен для хранения списка клиентов агентства недвижимости. Для каждого клиента (элемента справочника клиентов) должна быть предусмотрена возможность задания всех необходимых свойств, характеризующих клиента.
Подсистема ведения справочников должна предоставлять возможность удобного и быстрого ввода данных в справочники, задания связей между связанными справочниками, дополнительных свойств там, где это необходимо. Но кроме возможности введения данных во всех справочниках должна предоставляться возможность быстрого поиска, расширенного поиска и отбора данных по любому критерию или сочетанию критериев, характерных для данного справочника. Особо необходимо отметить организацию отбора записей в справочнике квартир. Так как справочник квартир является центральным элементом структуры данных и связан со многими другими справочниками, должна обеспечиваться возможность гибкого отбора записей в этом справочнике. Так должна обеспечиваться возможность отбора элементов справочника квартир не только по основным свойствам квартир, но и по всем связанным: по значениям дополнительных свойств, по площади.
Таким образом можно, например, отобрать квартиру с количество комнат равным двум, на втором этаже, на не последнем этаже и ниже определенной цены. Возможность такого гибкого отбора данных делает разрабатываемую программу очень удобной для использования. Возможность поиска и отбора записей должна быть предусмотрена не только в справочнике товаров, но и во всех остальных справочниках.
Подсистема аналитической отчетности предназначена для построения отчетов по результатам деятельности агентства недвижимости. Прежде всего, это отчет об типах оказанных услуг. Отчет строится по таблице клиентов . Для отчета могут быть заданы условия: отбор по конкретной услугу, по дате или по клиенту. Данный отчет должен стать основным рабочим отчетом для руководителя агентства недвижимости, можно сказать, что для этого программа и была написана. Вторым аналитическим отчетом является отчет о количестве недвижимости на продажу и её цене, который позволяет проанализировать колебания рынка.
Анализ существующих разработок и обоснование выбора технологии проектирования
На данный момент в компании практически не существует хоть какой-нибудь автоматизированной системы, единственное, что применяется из программных средств это входящий в состав офисного пакета Microsoft Office – Microsoft Word. Который используется для хранения всех данных, например таких как сведения о клиентах и сведения о недвижимости с которой идет работа.
Кроме того в работе бухгалтерии используется система 1C Бухгалтерия, но аспект автоматизации бухгалтерского учета не рассматривается в задаче которую решает данный дипломный проект.
Как было замечено раньше для такой задачи как автоматизация деятельности агентства недвижимости существует в принципе не так много разработок.
Из них можно по количеству функций выделить «Идеальный вариант: Недвижимость» имеющий следующие функции и возможности:
Ведение операций "Продажа", "Покупка", "Аренда" и т.д.
Учет заявок для продажи и аренды объектов недвижимости любого типа (свыше 100 реквизитов для описания объекта недвижимости)
Учет заявок на покупку и съем объектов недвижимости
Перекрестный поиск между заявками и описанием объектов недвижимости
Учет совершённых и отложенных сделок
Создание произвольных форм отчетов
Произвольные запросы по любым параметрам
Экспорт данных в форматы Excel, txt, csv и xml
Обмен данными между удалёнными офисами используя e-mail, ftp или дискету
Предоставление клиенту информации в "безопасном" виде (возможность скрывать коммерческую информацию)
Слайд-шоу фотографий объектов недвижимости, чертежей и планов в любых форматах (bmp, jpeg, rle, wmf)
Управление доступом пользователей к различным режимам и функциям программы
Просмотр данных на Вашем вэб-сайте в интернете
Поддержка одновременной работы неограниченного числа пользователей
Мощная и быстрая база данных
Удобный и простой интерфейс
Подробная документация, встроенная в программу
Доступная консультационно-справочная служба
И систему «АГЕНТСТВО НЕДВИЖИМОСТИ» со следующими возможностями
Операции: «продам», «куплю», «сдам», «сниму», «меняю».
Объекты недвижимости : квартира, комната, дом, участок, нежилое помещение, нежилое строение и их многочисленные варианты.
Любое число городов. Гибкая географическая иерархия внутри города: муниципальные округа, микрорайоны, улицы. Импорт географических объектов из специально подготовленных справочников для всех регионов РФ; общий объём данных - свыше полмиллиона улиц и микрорайонов
Мощные фильтры поиска вариантов по всем параметрам, в том числе - по фрагментам телефонных номеров
Наглядная система сортировки заявок по всем параметрам
Подбор и ступенчатая оптимизация вариантов обмена, в т.ч. междугородних
Активная и архивная области хранения заявок
Поиск географических дубликатов
Различные варианты прайсов, визуальный конструктор прайсов
Управление арендой
Управление сделками
Организация бизнес–процессов посредством постановки, уведомлений и контроля выполнения задач
Развитая поддержка создания и редактирования документов различных форматов в привязке к заявкам, сделкам, задачам
Отчеты о результатах деятельности
Автоматизированный обмен данными по e-mail и посредством файлов между различными фирмами и филиалами внутри одной фирмы. Ведение справочника адресатов, возможность точной настройки состава отправляемых данных по каждому из адресатов.
Публикация заявок в интернете. Организация статических и поддержка динамических web-сайтов. Возможность организации мультилистинговой системы.
Многопользовательский и однопользовательский варианты
Двухступенчатая система безопасности - на уровне сервера баз данных и на уровне клиента
Точная настройка прав пользователей – около 200 видов защищаемых действий
Мониторинг действий каждого пользователя по всем операциям со всеми заявками
Статистика движения заявок
Простая программа установки и обновления
Готовая демонстрационная база данных с несколькими тысячами заявок для быстрого знакомства с возможностями программы и освоения работы с ней
Архитектура клиент-сервер: высокая надежность хранения данных и максимальная скорость их обработки
Но как уже было замечено выше, в главе 1.3. данные системы слишком сложны и требуют больше затрат чем нужно для небольшого агентства недвижимости в маленьком городе.
Обоснование проектных решений
Обоснование проектных решений по техническому обеспечению
Автоматизированная система агентства недвижимости предназначена для функционирования в операционной системе Windows, поэтому для эффективной работы разрабатываемой системы необходимо обеспечить такие требования к архитектуре и параметрам технических средств, которые позволили бы эффективно функционировать самой операционной системе.
Автоматизированная система агентства недвижимости предназначена для функционирования на компьютере типа IBM PC с техническими характеристиками не менее:
процессор – Intel Celeron 2000;
оперативная память: 256 Mb;
SVGA 8 Mb;
жесткий диск, обеспечивающий размещение операционной системы и приложения Microsoft Access 2007. Для размещения разрабатываемой системы требуется 20 Mb свободного места на жестком диске;
сетевая карта для подключения к сети.
Для печати отчетов и выходных документов необходим принтер, совместимый с компьютером вышеперечисленной комплектации.
В случае варианта многопользовательской работы с системой понадобится использование одного ПК в качестве файлового сервера для доступа к базе. Целесообразно разместить эту базу данных на сервере, а с клиентских компьютеров осуществлять подключение к ней через протокол smb или через ODBC поверх smb. В качестве сервера может использоваться компьютер типа IBM PC c характеристиками не менее:
процессор – Intel Celeron 2000;
оперативная память: 256 Mb;
SVGA 8 Mb;
жесткий диск, обеспечивающий размещение операционной системы и приложения Microsoft Access 2007.
В качестве операционной системы на сервере не совсем целесообразно использовать операционную сиcтему семейства Unix, такую как например, Linux из-за недостаточно хорошей поддержки smb и ODBC.
Так как клиентские компьютеры будут подключаться к серверной базе данных, и сервер и клиентские машины должны функционировать в локальной сети. Это может быть как одно-ранговая сеть, так и сеть с доменной организацией.
Отметим, что функционирование системы возможно не только в клиент-сервером варианте, но и в локальном варианте, как с использованием локальной базы данных которая способна функционировать на клиентском компьютере с указанными характеристиками под управлением локальной операционной системы семейства Windows, такой как Windows XP. При такой организации работы не нужны сервер, локальная сеть и серверная операционная система.
1.6.2 Обоснование проектных решений по информационному обеспечению
Разрабатываемая система предназначена для работы в операционной системе Windows. Программа должна работать в любой операционной системе семейства Windows: Windows 95/98, NT (Service Pack 6), 2000 (Service Pack 3), XP, а также на серверных вариантах этой операционной системы. Такой выбор объясняется развитым удобным графическим пользовательским интерфейсом данного семейства операционных систем, а также ее популярностью на российском рынке. Многие фирмы-производители программного обеспечения, в том числе систем разработки приложений, также ориентированы на это семейство операционных систем, что привело к наличию на рынке большого количества систем программирования, позволяющих разрабатывать программное обеспечение для Windows.
Эта операционная система имеет очень большой набор утилит и служебных программ, предназначенных для администрирования, управления и диагностики системы, а также прикладных приложений. Кроме того, она поддерживает обширный программный интерфейс для написания собственных приложений для работы в этой операционной среде.
В последнее время особую популярность приобретает операционная система Linux и ее производные.
В этой ситуации можно задать вопрос: "Зачем программистам осваивать средства разработки приложений для Windows, если существуют такая прекрасная операционная система?". Не смотря на растущую популярность Linux можно утверждать, что в мире персональных компьютеров операционная система Windows еще довольно долго будет доминировать и вряд ли в ближайшее время будет вытеснена.
В связи с тем, что программа хранит информацию в базе данных, необходимо наличие соответствующей СУБД.
Программа ориентирована на работу с базами данных формата: MS Access. Соответственно на компьютере должна быть установлена данная СУБД. Если база MS Access функционирует на сервере, то необходимо обеспечить подключение компьютера к серверу. Для работы с базой данных Ms Access на удаленном компьютере требуется наличия открытого общего доступа к базе расположенной на удаленном компьютере, через протокол SMB .
Также необходимо дать удаленному пользователю который подсоединяется к базе, права на чтение, запись, изменение данных на компьютере который будет хранить базу данных. Также для доступа к данным используется системы работы с базами данных MS Access версии не ниже 2007 фирмы Microsoft.
Обоснование проектных решений по программному обеспечению
Для реализации поставленных задач можно использовать любую современную СУБД. Для удобного взаимодействия пользователя с системой необходимо будет тщательно продумать интерфейс системы - чтобы он был простой и в то же время функциональный.
Для оптимального функционирования базы данных необходимо будет правильно определить логические взаимосвязи между таблицами. Таким образом, на разработку самой базы данных и основы клиентского приложения может быть затрачено значительное время.
Точно определив, какие именно данные вам нужны, каким образом они будут храниться в памяти и какая должна быть система доступа к данным, вы тем самым решили только вопрос управления данными. Кроме этого нужен еще простой способ автоматизации решения предстоящих типовых задач. Даже если вы можете разработать достаточно сложные «прикладные» электронные таблицы, у вас все равно не будет средств отладки и управления работой таких приложений, позволяющих легко создать, скажем, полные формы для заказов или систему учета материально-производственных запасов. Напротив, СУБД специально проектируются для создания приложений. Они представляют вам необходимый инструментарий для управления данными и их обработки, а также дают возможность каталогизировать объекты приложения и управлять взаимосвязями между ними. При этом вместе с СУБД в вашем распоряжении оказывается язык программирования и средство отладки.
В свете вышесказанного для автоматизации решения ваших задач вам необходимы мощная реляционная СУБД и система разработки приложений. Практически все существующие СУБД имеют средства разработки приложений, которые могут быть использованы программистами или квалифицированными пользователями при создании процедур для автоматизации управления и обработки данных. К сожалению, многие системы разработки приложений для создания процедур требуют знания некоторого языка программирования, например Си или Xbase. Несмотря на всю их силу и богатство средств, для успешного их использования от вас требуется наличие определенной профессиональной подготовки и опыта работы с ними. К счастью, имеются средства, позволяющие легко проектировать и создавать приложения для работы с базами данных без знания языка программирования. Работа в Microsoft Access начинается с определения реляционных таблиц и их полей, которые будут содержать данные. Сразу после этого вы с помощью форм, отчетов и макросов сможете определять действия над этими данными.
Формы и отчеты можно использовать для задания форматов вывода данных на экран и дополнительных вычислений, что очень похоже на работу с электронными таблицами. Но в этом случае содержащиеся в формах и отчетах форматы и инструкции по проведению вычислений отделены от данных (находящихся в таблицах), так что вы имеете полную свободу действий в использовании данных, не меняя при этом сами данные - достаточно создать дополнительную форму или отчет, использующие те же самые данные. Если вам нужно автоматизировать некоторые действия, то для установления связей между определенными формами и отчетами или для выполнения определенных действий в качестве отклика на некоторое событие (например, изменение данных в некотором поле формы) можно без особого труда создать макросы. Если нам нужны более изощренные средства, например библиотечные утилиты Windows, вы можете написать процедуру на Access Basic. Ниже приведен перечень основных причин, по которым переход к использованию в работе Access представляется целесообразным.
Причина 1.
У вас имеется слишком много отдельных файлов или какие-то из файлов содержат большой объем информации, что затрудняет работу с данными. К тому же работать с такими объемами данных могут вам не позволить ограничения по памяти программы или системы.
Причина 2.
Вы используете данные различными способами: для информации по конкретным сделкам (например, счета-фактуры), для итогового анализа (например, по ежеквартальным объемам продаж), или вы используете эти данные для прогнозирования тех или иных ситуаций. Поэтому вы должны быть в состоянии рассматривать эти данные с разных сторон, что существенно затрудняет создание удовлетворяющей все ваши нужды единой структуры представления данных.
Причина 3.
Имеется необходимость в использовании одних и тех же данных разными специалистами. Например, их вводом, обновлением и анализом занимаются самые разные люди. Если в электронную таблицу или документ вносить изменения может только один человек, то с базой данных могут взаимодействовать в одно и то же время несколько пользователей, модифицируя содержимое одной и той же таблицы. При этом в базах данных гарантируется, что пользователи всегда работают с последними модификациями данных.
Причина 4.
Вы должны обеспечить защиту данных от несанкционированного доступа, контролировать их значения и поддерживать целостность базы данных - ведь к данным имеют доступ много пользователей, эти данные используются в работе вашей фирмы и взаимосвязаны (например, клиенты и заказы).
Microsoft Access, обладая всеми чертами классической СУБД, предоставляет и дополнительные возможности. Access - это не только мощная, гибкая и простая в использовании СУБД, но и система для разработки работающих с базами данных приложений. С помощью Access вы можете создать приложение, работающее в среде Windows и полностью соответствующее вашим потребностям по управлению данными. Используя запросы, вы можете выбирать и обрабатывать хранящуюся в таблицах информацию. Можно создавать формы для ввода, просмотра и обновления данных, а также использовать Access для создания как простых так и сложных отчетов. Формы и отчеты «наследуют» свойства базовой таблицы или запроса, так что в большинстве случаев вы указываете форматы, условия на значения и некоторые другие характеристики данных только один раз. К числу наиболее мощных средств Access относятся средства разработки объектов - Мастера, которые вы можете использовать для создания таблиц, запросов различных типов форм и отчетов, просто выбрав с помощью мыши нужные опции. Чтобы полностью автоматизировать работу вашего приложения, с помощью макросов Access вы легко свяжете данные с формами и отчетами. Вы можете создать большинство приложений, не написав ни единой строки программы, но если вам необходимо создать нечто уж совсем изощренное, то на этот случай Microsoft Access предоставляет мощный язык программирования - Microsoft Access Basic.
И наконец, все эти средства позволяют создавать приложения, работающие не только с базой данных Access, но и с другими наиболее распространенными базами данных. Ваше приложение может работать непосредственно с файлами dBASE, с базами данных Рагаdох, FохРго и любой базой данных, поддерживающей ОDВС. Вы сможете также легко импортировать данные из текстовых файлов, документов текстовых процессоров и электронных таблиц (и экспортировать данные в них).
Microsoft Access имеет множество областей применения: на малом предприятии; в работе по контракту, когда вы разрабатываете прикладные программы по заказу или выступаете в роли консультанта; в больших корпорациях, когда вы выступаете в роли координатора производственных информационных систем и даже в сфере домашнего применения.
Проектная часть
Информационное обеспечение задачи
Информационная модель и ее описание
В результате проектирования была разработана информационная модель системы, которая представляет из себя модель организации работы системы и схематично поясняет, на основании каких входных документов, а также нормативно-справочной информации происходит функционирование автоматизированной системы агентства недвижимости и получение выходных данных, т.е. процесс преобразования данных в информационной системе.
Информационная модель имеет три области.
Область 1 отражает процесс ввода и редактирования данных в справочниках, что относится к подсистеме ведения справочников разрабатываемой системы. Для просмотра списка каждого справочника и редактирования данных справочника существует отдельная экранная форма, которая позволяет оператору системы вводить данные в справочник, просматривать и редактировать существующие данные. В результате работы оператора справочники изменяются: в них добавляются новые данные, изменяются или удаляются существующие записи. При редактировании данных некоторых справочников используется информация из других, связанных справочников, так например справочник «Продать данные» связан со справочником «Продать данные 2».
Область 2 описывает систему получения данных из базы данных.
В этой области пользователь получает такую информацию как.
Продажа/Покупка/обмен/найм/сдача в аренду недвижимости из таблиц:
Продать данные
Продать данные2
Дом
Обмен кВ
Малосемейка
Обмен дом/кВ
Обмен малосем
Покупка
Покупка2
Покуп Дом
Покуп малосем
Область 3 информационной модели описывает подсистему получения отчетов. В этой области в экранной форме получения отчетов пользователь задает условия формирования отчетов. В процессе получения отчетов используются клиентов, а результатом работы являются сформированные отчеты по клиентам предназначенные для руководителя.
Область 4 отображает подсистему бланков, таких как бланки заявлений на продажу покупку и т.д. и БСО.
Информационная модель приведена на рисунке 2.4.
Рисунок 1.3. Информационная модель.
Используемые классификаторы и системы кодирования
Исходя из задач поставленных перед нами при разработке данной АС из структуры информации и требований к данной АС применение классификаторов выглядит необоснованным и только перегрузит систему если они будут включены.
Характеристика первичных документов с нормативно-справочной и входной оперативной информации
Автоматизированная система агентства недвижимости разрабатывается не на пустом месте. В основу методики ее работы положены системы учета уже имеющие многолетний опыт применения, но не оформленные в виде компьютерных программ. Поэтому входными для данными для системы будут являться те же самые данные, которые использовались в неавтоматизированных системах. Каждая из подсистем имеет свой набор входных и выходных данных, причем выходные данные одной подсистемы могут являться входными данными другой подсистемы. Так, например, записи в справочнике клиентов и покупке недвижимости являются входными данными для построения отчета по рынку, являющимся составной частью подсистемы аналитической отчетности. Опишем входные и выходные данные для каждой подсистемы.
Для подсистемы ведения справочников входными данными являются соответствующие списки на бумажных носителях. Так, например, для задачи ведения справочника квартир входными данными является список предлагаемых квартир, которыми оперирует компания.
Результатом ввода списка квартир в систему будет являться таблица квартир, которая в свою очередь выступает в качестве входных данных при подборе квартир для клиента. Такая же ситуация и со всеми остальными справочниками: обмена, клиентов, домов: все они должны быть предоставлены ответственному за введение информации в базу данных человеку руководством компании на бумажных носителях. Выходными данными являются соответствующие таблицы базы данных. Следует отметить, что таблицы справочников содержат в основном статичную информацию, т.е. не изменяющуюся со временем или изменяющуюся весьма редко. Исключение является справочник клиентов. Хотя новые договора со старыми клиентами заключается весьма не часто, что не требует частого добавления данных в справочник клиентов. Входными данными для заполнения справочника клиентов являются договора с клиентами на бумажных носителях, вводимых риэлтором проводящим сделку. Выходными данными как и в случае других справочников является заполненная таблица клиентов.
Для подсистемы составления аналитической отчетности входными данными являются записи в таблицах клиентов и всех таблицах связанных с недвижимостью.
Используя массив этих данных, с учетом условий на построение отчетов, наложенных пользователем система строит отчет, которые можно посмотреть на экране монитора или распечатать на принтере. Готовые отчеты и является выходными данными подсистемы аналитической отчетности и всей системы в целом.
Сводная таблица справочников показана далее
№ |
Полное наименование справочника |
Краткое наименование |
Субсправочник к |
Ответственный |
Частота актуализации |
1 |
Продажа недвижимости |
Продать данные 1 |
Риэлтор |
По необходимости |
|
2 |
Продажа недвижимости(доп) |
Продать данные 2 |
№1 |
Риэлтор |
По необходимости |
3 |
Обмен квартир |
Обмен кв |
Риэлтор |
По необходимости |
|
4 |
Варианты обмена квартир |
Обмен кв |
№3 |
Риэлтор |
По необходимости |
5 |
Малосемейка |
Малосеймейка |
Риэлтор |
По необходимости |
|
6 |
Покупка недвижимости |
Покупка |
Риэлтор |
По необходимости |
|
7 |
Покупка недвижимости(доп) |
Покупка 2 |
№6 |
Риэлтор |
По необходимости |
Характеристика базы данных
Характеристика инфологической модели БД
Инфологическая модель применяется после словесного описания предметной области.
Между сущностями могут быть установлены связи – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности
Связи делятся на три типа по множественности: один-ко-одному (1:1), один-ко-многим (1:М), многие-ко-многим (М:М).
Связь один-ко-одному означает, что экземпляр одной сущности связан только с одним экземпляром другой сущности.
Связь один-ко-многим (1:М) означает, что один экземпляр сущности, расположенный слева по связи, может быть связан с несколькими экземплярами сущности, расположенными справа по связи.
Связь «многие-ко-многим (М:М) означает, что несколько экземпляров первой сущности могут быть связаны с несколькими экземплярами второй сущности, и наоборот. Между двумя сущностями может быть задано сколько угодно связей с разными смысловыми нагрузками.
Связь любого из этих типов может быть обязательной, если в данной связи должен участвовать каждый экземпляр сущности, необязательной – если не каждый экземпляр сущности должен участвовать в данной связи. При этом связь может быть обязательной с одной стороны и необязательной с другой стороны.
Проведем инфологическое проектирование базы данных автоматизированной системы агентства недвижимости.
На основании анализа предметной области выделим сущности модели «сущность-связь» («Entity Relationship» - ER-модели) и изобразим их в виде диаграммы.
Рисунок 1.4. ER модель.
Характеристика даталогической модели БД
Вся информация, используемая при работе приложения хранится в базе данных.
В качестве настольной базы данных выбрана база данных формата MS ACCESS. То есть база данных является файлом на диске, в котором сосредоточены таблицы базы данных в виде файлов данных и индексов к ним.
В программе для работы с таблицами, добавления, удаления, редактирования записей используется универсальный язык запросов SQL. Данный язык позволяет разработчику полностью абстрагироваться от формата и месторасположения базы данных и одинаково обращаться к данным из баз разного формата. Таким образом использование данного универсального языка позволяет решить поставленную нам задачу: разработать универсальное приложение, которое смогло бы работать с базой данных любого формата, не меняя при этом исходный код приложения.
Разработанная нами база данных является реляционной и как и другие реляционные базы данных состоит из таблиц. Ниже приведена таблица сущностей базы данных.
Column(s) of "Вариант обмена кв" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
Код |
AutoNumber |
NULL |
Yes |
Yes |
Варианты обмена |
Text(255) |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
тип квартиры |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
площадь кухни |
Long Integer |
NULL |
No |
No |
этаж |
Text(255) |
NULL |
No |
No |
этажность |
Text(255) |
NULL |
No |
No |
тип санузла |
Text(255) |
NULL |
No |
No |
балкон |
Text(255) |
NULL |
No |
No |
дополнительные свдения |
Memo |
NULL |
No |
No |
Column(s) of "Дом" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
Адрес (Улица_ дом) |
Memo |
NULL |
No |
No |
Площадь зем участка |
Long Integer |
NULL |
No |
No |
материал дома |
Text(255) |
NULL |
No |
No |
покрытие крыши |
Text(255) |
NULL |
No |
No |
этажность дома |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
кол-во комнат |
Text(255) |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
коммуникации |
Memo |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "Клиенты" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
Код |
Text(18) |
NULL |
Yes |
No |
ФИО |
Text(18) |
NULL |
No |
No |
Домащний телефон |
Text(18) |
NULL |
No |
No |
Мобильный телефон |
Text(18) |
NULL |
No |
No |
Адрес проживания |
Text(18) |
NULL |
No |
No |
Признак имевщейся сделки |
Text(18) |
NULL |
No |
No |
Подбробности сделки |
Text(18) |
NULL |
No |
No |
Дополнительные данные |
Text(18) |
NULL |
No |
No |
Column(s) of "малосемейка" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
адрес (улица_ дом) |
Text(255) |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
тип жилья |
Text(255) |
NULL |
No |
No |
этаж |
Text(255) |
NULL |
No |
No |
этажность |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "обмен Дом/кв" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
Адрес (Улица_ дом) |
Memo |
NULL |
No |
No |
Площадь зем участка |
Long Integer |
NULL |
No |
No |
материал дома |
Text(255) |
NULL |
No |
No |
этажность дома |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
кол-во комнат |
Text(255) |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
коммуникации |
Memo |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
варианты обмена |
Text(255) |
NULL |
No |
No |
условия |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "обмен кв" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
Код |
AutoNumber |
NULL |
Yes |
No |
категория квартир |
Text(255) |
NULL |
No |
No |
Адрес (Улица_ дом) |
Memo |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
тип квартиры |
Text(255) |
NULL |
No |
No |
этаж |
Long Integer |
NULL |
No |
No |
этажность |
Long Integer |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
площадь кухни |
Long Integer |
NULL |
No |
No |
тип санузла |
Text(255) |
NULL |
No |
No |
балкон |
Text(255) |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
цена (тыс руб) |
Long Integer |
NULL |
No |
No |
Варианты обмена |
Text(255) |
NULL |
No |
No |
условие |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "обмен малосем" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
адрес (улица_ дом) |
Text(255) |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
тип жилья |
Text(255) |
NULL |
No |
No |
этаж |
Text(255) |
NULL |
No |
No |
этажность |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
варианты обмена |
Text(255) |
NULL |
No |
No |
условие |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "покуп Дом" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
Адрес (Улица_ дом) |
Memo |
NULL |
No |
No |
Площадь зем участка |
Long Integer |
NULL |
No |
No |
материал дома |
Text(255) |
NULL |
No |
No |
покрытие крыши |
Text(255) |
NULL |
No |
No |
этажность дома |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
кол-во комнат |
Text(255) |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
коммуникации |
Memo |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "Покуп малосем" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
адрес (улица_ дом) |
Text(255) |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
тип жилья |
Text(255) |
NULL |
No |
No |
этаж |
Text(255) |
NULL |
No |
No |
этажность |
Text(255) |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "покупка" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
категория квартир |
Text(255) |
NULL |
No |
No |
Адрес (Улица_ дом) |
Memo |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
этаж |
Long Integer |
NULL |
No |
No |
этажность |
Long Integer |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
Column(s) of "покупка2" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
Yes |
тип квартиры |
Text(255) |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
площадь кухни |
Long Integer |
NULL |
No |
No |
тип санузла |
Text(255) |
NULL |
No |
No |
балкон |
Text(255) |
NULL |
No |
No |
дополнительные сведения |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Column(s) of "продать данные 1" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
No |
категория квартир |
Text(255) |
NULL |
No |
No |
Адрес (Улица_ дом) |
Memo |
NULL |
No |
No |
тип дома |
Text(255) |
NULL |
No |
No |
этаж |
Long Integer |
NULL |
No |
No |
этажность |
Long Integer |
NULL |
No |
No |
площадь общая |
Long Integer |
NULL |
No |
No |
цена (тыс руб) до |
Long Integer |
NULL |
No |
No |
Column(s) of "продать данные 2" Table |
||||
Name |
Datatype |
Null Option |
Is PK |
Is FK |
код |
AutoNumber |
NULL |
Yes |
Yes |
тип квартиры |
Text(255) |
NULL |
No |
No |
жилая площадь |
Long Integer |
NULL |
No |
No |
площадь кухни |
Long Integer |
NULL |
No |
No |
тип санузла |
Text(255) |
NULL |
No |
No |
балкон |
Text(255) |
NULL |
No |
No |
дополнительные свдения |
Memo |
NULL |
No |
No |
контактное лицо |
Memo |
NULL |
No |
No |
контактный телефон |
Text(255) |
NULL |
No |
No |
Web-адрес |
Memo |
NULL |
No |
No |
Программное обеспечение задачи
Общие положения (дерево функций и сценарий диалога)
В данном проекте можно выделить следующие категории функций: функции вода информации в справочники, функции ввода данных недвижимости и функции получения аналитических отчетов. Каждая из этих категория относится соответствующей подсистеме разрабатываемого приложения: подсистеме ведения справочников, подсистеме ввода документов и подсистеме получения аналитических отчетов.
Приложение обеспечивает удобный и понятный диалог пользователя с программой для вызова всех функций. Доступ пользователя к функциям производится через главное меню главной формы приложения и через кнопки панели быстрого запуска, дублирующие соответствующие пункты меню. Главная форма приложения кроме предоставления основного интерфейса доступа ко всем функциям приложения выполняет также роль контейнера для всех остальных экранных форм.
Первая группа экранных форм предоставляет пользователю доступ к подсистеме ведения справочников системы. Эта группа экранных форм вызывается из главного меню программы «Справочники». Каждый подпункт этого пункта меню соответствует вызову экранной формы, которая позволяет редактировать соответствующий справочник.
Все экранные формы просмотра и редактирования справочников похожи друг на друга и позволяют выполнять функции просмотра списка справочника, ввода новых данных в справочник, редактирования существующих данных и удаления имеющихся данных. Для ввода новых и редактирования существующих данных справочников вызываются формы редактирования соответствующих справочников. Эти же формы служат и для просмотра подробной информации записи справочника, так как в списке справочника представлены только основные данные.
Далее представлен сценарий диалога.
Далее представлено дерево функций.
Структурная схема проекта
На рисунке 2.14 приведена структурная схема проекта.
Рисунок 2.1. Схема вызова модулей.
Описание программных модулей
В основу программной реализации решения задачи был положен объектно-ориентированный подход. Выбранный в качестве языка программирования язык С++ включает в себя мощный аппарат для поддержания этой наиболее перспективной технологии: классы и объекты, иерархия структур, объединений и классов с различными механизмами наследования, инкапсуляция данных и обрабатывающих функций с несколькими уровнями доступа, полиморфизм операций, функций и объектов, обеспечивающий как статический так и виртуальный методы доступа. Встроенный аппарат объектно-ориентированного программирования позволяет описывать сложные предметные области и создавать гибкие, легко адаптируемые к нуждам пользователя программные пакеты как системного так и прикладного назначения.
Для реализации каждой подзадачи в проекте были созданы несколько классов, наследников стандартного класса библиотеки VCL TForm.
Программа разрабатывалась как Web-приложение и удовлетворяет всем требованиям к интерфейсу Web-приложения. Программа разбита на модули, что соответствует принципам модульного программирования. Рассмотрим каждый из этих модулей подробно.
Модуль главной формы приложения предоставляет пользователю интерфейс доступа ко всем основным функциям программы. Доступ ко всем функциям программы осуществляется через главное меню и панель кнопок быстрого доступа. Все кнопки и пункты меню снабжены подробными подсказками.
Подсистема редактирования справочников включает в себя ряд модулей, которые предназначены для просмотра и редактирования содержимого справочников. Отметим, что эти же формы используются и в других подсистемах. Так форма просмотра списка товаров, являющаяся частью подсистемы ведения справочников, вызывается из подсистемы учета движения товаров при оформлении операций прихода или расхода для выбора товаров, а также из подсистемы аналитических отчетов для выбора товара при задании условия построения отчета по какому-либо товару.
В подсистему ведения справочников входят следующие модули:
Модуль просмотра списка товаров предназначен для просмотра списка номенклатуры, а также для выбора товара в какую-либо вызывающую форму;
Модуль редактирования товара, вызываемый из модуля просмотра товаров предназначен для редактирования данных одного конкретного товара. Этот же модуль вызывает модули связанных справочников, таких как значения свойств товаров, проекты, которые относятся к товару и аналоги товара. Таким образом, в этом модуле происходит основная работа по заданию всех данных товара.
Модуль аналогов предназначен для просмотра и назначения аналогов товаров для товара;
Модуль проектов предназначен для просмотра списка типовых проектов. В которых могут применяться товары, а также для выбора этих проектов в вызывающие формы;
Модуль редактирования проекта предназначен для редактирования данных одного конкретного проекта и задания свойств проекта для этого проекта;
Модуль свойств проекта предназначен для ведения списка свойств проекта;
Модуль редактирования свойства проекта предназначен для редактирования данных одного конкретного свойства;
Модуль клиентов предназначен для просмотра и редактирования списка клиентов, включая редактирование всех данных клиента, а также для выбора клиентов в вызывающую форму;
Модуль производителей предназначен для просмотра и редактирования списка клиентов, включая редактирование всех данных клиента, а также для выбора клиентов в вызывающую форму;
Модуль свойств товаров предназначен для просмотра списка свойств товаров;
Модуль редактирования свойств товаров предназначен для редактирования данных оного конкретного свойства товаров и для задания всех возможных значений этого свойства;
Модуль значений свойств предназначен для просмотра и редактирования значений свойств товаров
Модуль складов предназначен для просмотра списка складов и выбора складов в вызывающую форму;
Модуль редактирования складов предназначен для редактирования данных конкретного склада;
Подсистема учета движения товаров содержит модули. Отвечающие за основной функционал программы: обеспечение движения товаров на складах и подсчет остатков товаров:
Модуль журнала документов содержит список операций, которые записаны в таблицу операций базы данных;
Модуль документа предназначен для редактирования одной операции, включая все ее компоненты. Этот модуль также как и модуль товаров вызывает многие другие формы для выбора значений.
Модуль редактирования строки табличной части операции предназначена редактирования данных одной строки документа.
Подсистема аналитической отчетности включает в себя следующие модули:
Модуль составления отчета по остаткам товаров на складах;
Модуль составления отчета по движениям товара по складам.
В визуальной интегрированной среде разработки Borland С++ Builder основной составной частью программы является форма. Форма инкапсулирует в себе элементы интерфейса пользователя и программный код, заключающий в себе реакцию на действия пользователя. Это полностью отвечает принципам объектно-ориентированного программирования. C++ Builder автоматически создает для формы класс формы, который содержит компоненты, размещенные на форме, свойства и методы формы как автоматически создаваемые C++ Builder, так и определяемые пользователем. В разработанном приложении определены следующие формы:
Форма Fmain – главная форма приложения, реализованная в файле UnitMain.cpp выполняет функции основного интерфейса доступа пользователя ко всем функциям программы через главное меню приложения и панель кнопок быстрого доступа. Кроме того, главная форма выполняет роль контейнера всех остальных форм, в которых происходит ввод и обработка данных.
Форма FTovar, реализованная в файле UnitTovar.cpp, выполняет функции просмотра списка товаров, введенных в таблицу товаров базы данных системы. Главным элементом формы является компонент DBGrid палитры компонентов C++ Builder, который отображает таблицу товаров в виде списка. Колонки компонента DBGrid отображают соответствующие поля таблицы товаров: наименование, англоязычное наименование, штрихкод и производитель. Эта же форма служит для выбора товара в случае вызова этой формы из других форм для выбора того или иного товара например в форму отчета по остаткам.
Форма FTovarEdit, реализованная в файле UnitTovarEdit.cpp, предназначена для просмотра и редактирования данных о товаре. В этой форме расположены органы управления, в которых отображаются основные данные товара, такие как наименование, англоязычное наименование, подробное описание, синонимы, штрих-код и цена и производитель. Отметим, что производитель выбирается путем открытия формы производителей и выбора его из предлагаемого списка. Кроме основных данных в форме редактирования товара отображаются и данные связанных справочников, записи, которых связаны с данным товаром: аналоги, проекты, к которым относится товар и свойства этого товара с их значениями. Отображении данных связанных справочников в одной форме очень удобно, так как все необходимые данные о товаре находятся вместе. Их можно просмотреть и отредактировать.
Форма FormClients, реализованная в файле FormClientsU.cpp, предназначена для просмотре и редактирования данных о контрагентах системы: поставщиках и покупателях. Форма построена таким образом, что позволяет просматривать в левой своей части список покупателей, а в правой подробные данные о текущем покупателе. В списке выводится только наименование покупателя из поля наименования таблицы базы данных, в органах управления в правой части выводятся данные из всех остальных полей. Такой подход весьма удобен, так как позволяет просматривать и редактировать полные данные о клиенте в одной форме. Кнопки «Добавить», «Сохранить» и «Удалить» вызывают процедуры, выполняющие SQL-запросы на добавление, изменение и удаление записей из базы данных.
Форма FormVendirs, реализованная в файле FormVendirsU.cpp, предназначена для просмотре и редактирования данных о производителях товаров. Форма построена таким образом, что позволяет просматривать в левой своей части список производителей , а в правой подробные данные о текущем производителе. В списке выводится только наименование производителя из поля наименования таблицы базы данных, в органах управления в правой части выводятся данные из всех остальных полей. Такой подход весьма удобен, так как позволяет просматривать и редактировать полные данные о производителе в одной форме. Кнопки «Добавить», «Сохранить» и «Удалить» вызывают процедуры, выполняющие SQL-запросы на добавление, изменение и удаление записей из базы данных.
Форма FProj, реализованная в файле FProjU.cpp, выполняет функции просмотра списка проектов, введенных в таблицу проектов базы данных системы. Главным элементом формы является компонент DBGrid палитры компонентов C++ Builder, который отображает таблицу проектов в виде списка. Колонки компонента DBGrid отображают только поле «Наименование» таблицы проектов. Эта же форма служит для выбора проекта в случае вызова этой формы из других форм для выбора того или иного проекта например в форму редактирования данных о товаре.
Форма FProjEdit, реализованная в файле UnitProjEdit.cpp, предназначена для просмотра и редактирования полных данных проекта, а также для назначения проекту свойств проекта. В левой части формы в соответствующих органах управления отображаются все данные проекта из таблицы проектов: наименование, подробное наименовании и подробное описание, а в левой части располагается список свойств этого проекта. По кнопке «Добавить свойство» открывается форма для выбора справочника свойств проектов, которая позволяет выбрать и назначить проекту свойство. Удаление свойства из списка свойств проекта происходит при нажатии кнопки «Удалить свойство».
Форма FSimp, реализованная в файле UnitSimp.cpp предназначена для просмотра списка свойств проектов, которые дополнительно характеризуют проект.
Форма FSimpEdit предназначена для просмотра и редактирование одного конкретного свойства проекта, которое выбрали для редактирования. Форма позволяет задать основные и дополнительные данные свойства проекта.
Форма FProperty, реализованная в файле UnitProperty.cpp, представляет из себя список свойств товаров. В этой форме присутствует лишь список наименований свойств, который пользователь может просмотреть и выбрать одно из этих свойств в вызывающую форму, если форма была открыта для выбора свойства из какой-либо другой формы.
Форма FPropertyEdit, реализованная в файле UnitPropertyEdit.cpp предназанчена для редактирования наименования свойства и подробного описания свойства товара, а также для задания значений свойства товаров в списке в правой части формы. Кнопки управления списком позволяют открыть форму значений свойств для выбора значения свойства. Которое может быть назначено данному свойству, а также для редактирования значения свойства, удалить значение свойства.
Форма FSklad, реализованная в файле UnitSklad.cpp предназначена для просмотра списка складов, в котором представлены наименования складов. Эта же форма позволяет выбирать текущую запись склада в вызывающую форму
Форма FSkladEdit, реализованная в файле UnitSkladEdit.cpp предназначена для просмотра подробных данных и редактирования как наименования, так и дополнительных данных склада.
Форма FVals, реализованная в файле UnitVals.cpp предназначена для выбора значения свойства для элемента справочника товаров и вызывается только из формы товаров. Форма значений свойств отображает список свйоств товаров либо полностью, либо только тех значений, которые подчитнены определенному свойству, которое можно выбрать нажав кнопку открытия для выбора формы свойств. После того как свойство выбрано в списке значений свойств отображаются только те значения, которое может принимать данное свойство.
Форма FValsEdit, реализованная в файле UnitValsEdit.cpp предназначена для редактирования значения свойства товаров, путем задания его наименования и подробного описания.
Форма FormFilter, реализованная в файле FormFilterU.cpp предназначена для решения задачи отбора товаров по совокупности их свойств. Для отбора могут использоваться как основные данные товара (наименование, англоязычное наименование, синонимы, полное наименование, подробное описание) так и связанные данные товара: аналогии и свойства товаров. Так как основные данные товара представляют из себя строковые значения, то форма предлагает пользователю организовать гибкий отбор по этим данным. Можно организовать отбор записей таблицы товары по точному совпадению на введенную фразу, по вхождению введенной фразы в поле отбора, по вхождению в поле отбора всех слов из введенной фразы в любой последовательности или по вхождению в поле отбора хотя бы одного из слов введенной фразы. Такой отбор можно организовать по любому из полей таблицы отбора. Кроме отбора по основным свойствам форма фильтра предоставляет возможность организовать отбор по проектам, которым относится товар. Для этого заполняется список проектов, записи в который добавляются путем выбора проектов из формы списка проекта, когда она открывается для выбора. Органы управления списка проектов позволяют добавлять в список записи, удалять записи из списка, отметить все записи или полностью очистить список. Все записи списка могут имеют отметку использования в отборе или не использования (галочку), сняв которую пользователь может исключить отбор по данному проекту. В результате в отбор записей справочника товаров попадут только те товары, которые относятся к перечисленным в списке проектам. Также в форме реализована отбор по свойствам товаров и их значениям. В список свойств товаров можно добавлять записи из справочника свойств путем открытия формы списка свойств для выбора и выбора из нее определенного свойства. Для текущей записи в списке свойств отображаются все значения, которое может принимать данное свойство из которых пользователь выбирает путем проставления в них отметок нужные. В результате в сформированный отбор попадут только те товары, которые имеют перечисленные в списке значения перечисленных свойств. Форма фильтра не вызывается из главного меню непосредственно, а вызывается только из формы списка товаров, в том числе, когда она открывается для выбора, в случае, если в этой форме нужно организовать отбор товаров по совокупности каких-либо критериев.
Форма DM, реализованная в файле UnitDM.cpp представляет из себя модуль хранения компонентов С++ Builder, обеспечивающих доступ к базе данных. Для каждой таблицы базы данных выделен отдельный компонент TQuery, который позволяет вводить и выполнять SQL-запросы, которые позволяют выбирать, редактировать и удалять записи в таблицах базы данных. То что для каждой таблицы выделен лишь один компонент доступа и то что они все объединены в одном модуле связано с тем, что программа имеет MDI-интерфейс и изменении данных в одной форме приводит к моментальному изменению их отображения во всех остальных формах. Кроме компонентов доступа к данным в этой форме хранятся и компоненты, служащие источником данных для компонентов отображения данных в формах. Компонент Database обеспечивает физическую связь всех остальных компонентов программы с базой данных.
Форма FJornal предназначена для просмотра журнала документов – т.е. перечня операций, которые уже были выполнены с товарами. В форме размещен компонент TDBGrid, который отображает список операций с указанием для каждой записи следующих параметров: дата операции, номер операции, склад, с которого оформлена операция, клиент, с которым оформлена операция.
Форма FDocs предназначена для редактирования или ввода новой операции по движению товара на складе. В верхней части формы размещены компоненты, в которых отображаются основные свойства операции: дата и номер операции, клиент, склад и код операции. Для выбора клиента и склада открываются для выбора формы соответсвующих справочников, в которых можно выбрать нужную запись. В нижней половине формы размещена табличная часть операции, которая представляет из себя список товаров, с указанием количества.
Форма FJornalEdit, реализованная в файле UnitJornalEdit.cpp предназначена для редактирования одной строки операции. Эта форма вызывается из формы FJornal для редактирования текущей строки. Форма предоставляет простой интерфейс для ввода и изменения товара и количества в строке. Для выбора товара вызывается форма списка справочника товаров, выбранная запись в которой переносится в форму FJornalEdit.
Форма FUsers предназначена для ведения списка пользователей. В компоненте DBGrid данной формы при помощи SQL-запроса формируется список пользователей системы, а в органах управления отображаются свойства пользователя: логин, пароль, фамилия, имя отчество и категория пользователя. Категория пользователя отображается радиокнопками. При нажатии на кнопки управления выполняется SQL-запрос по добавлению, редактированию данных и удалению пользователя. При удалении пользователя контролируется ссылочная целостность базы данных
Форма FReg предназначена для аутентификации пользователя при начале сеанса работы с системой. Система проверяет наличие пользователя в базе данных, сверяет его пароль и в случае успеха открывает доступ к тем функциям, которые доступны пользователю в зависимости от его уровня доступа.
Форма FRepForm, реализованная в файле UnitRepForm.cpp предназначена для подготовки и формирования отчета по движения товара по складам. Органы управления этой формы позволяют пользователю задать условия формирования отчета, а именно выбрать клиента, с которым была проведена операция прихода или расхода, а также склад, с которого была проведена эта операция. В нижней части формы содержится таблица, в которую пользователь может выбрать несколько записей из справочника товаров, в этом случае отчет по движениям будет строиться именно по этим товарам.
Каждая форма выполняет функции соответствующего модуля при помощи компонентов среду С++ Builder, помещенных на форму из палитры компонентов. Среда быстрого создания приложений или RAD-среда (Rapid Application Development – RAD) С++ Builder используют библиотеку визуальных компонентов VCL (Visual Component Library – VCL), которая состоит из готовых к употреблению визуальных и не визуальных объектов и оболочек. Она позволяет с минимальными затратами создавать приложения, в то же время предоставляя определенную степень независимости от библиотеки VCL.
При работе с компонентами С++ Builder широко использует принцип повторного использования объектов. Компоненты являются экземплярами классов которые доступны с помощью палитры компонентов Component Palette. Что может быть проще при создании приложения чем просто опустить нужный компонент на форму, задав его свойства, затем определив обработчики событий. Именно при помощи компонентов формы выполняют те функции, которые заложены в них.
Технологическое обеспечение задачи
Организация технологии сбора, передачи, обработки и выдачи информации
Разработка сложных программных комплексов вызывает необходимость решения ряда организационных, технологических и технических проблем, связанных со значительной трудоемкостью разработки программ и сложностью выявления в них ошибок. Решение этих проблем возможно при внедрении любой технологии программирования, которая позволит повысить производительность труда программистов и надежность программ. Кроме того, внедряемая технология должна упростить планирование работ и организацию взаимодействия всех членов коллектива, позволить четко контролировать сроки выполнения каждого этапа разработки, оперативно доводить до исполнителей все изменения в общих концепциях на создаваемое программное изделие и изменения в соглашениях о связях между программой и внешней средой или между отдельными структурными элементами программы. Технология должна обеспечить простоту и однозначность прочтения всей документации.
Сокращение сроков и снижение трудоемкости внедрения программного изделия зависят от его надежности. Поэтому технология должна предусматривать организацию процессов верификации и тестирования алгоритмов и программ на стадии разработки, также подходы к отладке и испытаниям программы. Технология должна обеспечивать возможность достаточно простой модификации программ при их эксплуатации, что необходимо для устранения обнаруженных ошибок или для изменения функций программы.
Технология разработки сложных программных комплексов требует разбиения программного изделия на отдельные модули. При этом часто модули создаются независимо друг от друга разными программистами. Для объединения модулей в программный комплекс необходимо разработать правила вызова модулей и правила передачи параметров между отдельными модулями. Эти правила образуют внутри- программный интерфейс.
Внутрипрограммный интерфейс должен разрабатываться на начальном этапе проектирования программы. Разработка его включает:
анализ обрабатываемой информации и выбор логической организации данных;
выбор абстрактных структур данных для представления информации в соответствии с используемым языком программирования равной логической организацией данных;
выбор физической организации данных;
выбор структуры и способов взаимодействия отдельных программных модулей.
Разработка состава сложного программного изделия является одним из основных этапов создания программы, на котором в составе программы необходимо выделить отдельные модули, определить их функции, порядок вызова, правил взаимодействия и взаимоподчиненности. Разбиение программы на модули следует выполнять с учетом сложившегося представления об основных свойствах модулей :
Модуль - независимая программа, которая может вызываться операционной системой или другим программным модулем. Ссылки на модуль выполняются по имени модуля.
Модуль должен возвращать управление тому модулю, который его вызвал.
Модуль должен иметь один вход и один выход. Единственность входа гарантирует замкнутость модуля, однозначность его вызова и существенно облегчает отладку и сопровождение программы.
Модуль должен иметь ограниченные размеры. Это требование определяется тем, что каждый модуль организует отдельную, сравнительно небольшую функцию. Кроме того, текст модуля должен быть обозримым для облегчения его понимания и сопровождения.
Работа модуля не должна зависеть от его предыдущих вызовов.
После того, как определена структура программы и основные типы передаваемых данных, устанавливаются соглашения о связях между модулями. Соглашения включают в себя правила вызова отдельных модулей, правила передачи параметров и правила связи разрабатываемого программного изделия с операционной системой.
Правильный выбор функций и последующее распределение их между модулями с учетом логических связей является основной задачей при проектировании сложных программ.
Наиболее широко распространенным подходом к проектированию является нисходящее программирование.
Этот подход интуитивно привлекателен, за последние несколько лет он подвергался неоднократному обсуждению в литературе. Нисходящее проектирование известно и под другими названиями, например "конструктивное программирование", "программирование пошаговым совершенствованием" и "иерархическое проектирование".
Нисходящее программирование основывается на последовательной декомпозиции решаемой задачи на некоторые абстрактные функции с последующим уточнением каждой из них. Таким образом, для сложной программы получается иерархическая система программных модулей.
На каждом шаге производится последовательное уточнение функций, реализуемых модулями.
Эта детализация выполняется до тех пор, пока не будет достигнуто элементарное представление операции при реализации каждой из функций.
Нисходящее программирование позволяет создавать достаточно сложные программы.
При этом требования к квалификации программистов, реализующих отдельные модули, могут быть снижены.
Схемы технологического процесса сбора, передачи, обработки и выдачи информации
В данном разделе представлены функционально-технологические схемы решения задачи.
В первую очередь рассмотрим задачу ведения справочников, назовем ее А1. Для ее реализации менеджер по ведению каталогов сортирует данные, а затем вводит данные в соответствующие таблицы. Задача ввода данных может быть разбита на несколько этапов. Функционально-технологическая схема решения задачи А1 приведена на рисунке 2.13.
Рисунок 2.2. Функционально-технологическая схема задачи А1 «Ведение справочников»
Для каждого выделенного модуля разработана функционально-технологическая схема и детальный алгоритм ее кодирования. Блок-схема задачи А1 приведена на рисунке 2.14, а функционально-технологические схемы всех модулей задачи А1 – на рисунке 2.15.
Рисунок 2.3. схема решения задачи А1 «Ведение справочников»
Рисунок 2.4. Функционально-технологические схемы модулей задачи А1
Опишем подробнее полученные схемы.
Для модуля А1.1:
Процесс: Проверка и внесение данных о товаре.
Вход: информация о товаре.
Выход: сформированные данные о товаре в БД
Алгоритм:
Проверка наличия данных о товаре в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные о товаре на экран.
Для модуля А 1.2:
Процесс: Проверка и внесение данных о клиенте.
Вход: информация о клиенте.
Выход: сформированные данные о клиенте в БД
Алгоритм:
Проверка наличия данных о клиенте в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные о клиенте на экран.
Для модуля А 1.3:
Процесс: Проверка и внесение данных о свойстве товара.
Вход: информация о свойстве товаре.
Выход: сформированные данные о свойстве товара в БД
Алгоритм:
Проверка наличия данных о свойстве товаре в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные о свойстве товара на экран.
Для модуля А 1.4:
Процесс: Проверка и внесение данных о пользователе.
Вход: информация о пользователе.
Выход: сформированные данные о пользователе в БД
Алгоритм:
Проверка наличия данных о пользователе в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные о пользователе на экран.
Для модуля А 1.5:
Процесс: Проверка и внесение данных о проектах.
Вход: информация о проекте.
Выход: сформированные данные о проекте в БД
Алгоритм:
Проверка наличия данных о проекте в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные проекте на экран.
Для модуля А 1.6:
Процесс: Проверка и внесение данных о подразделении.
Вход: информация о подразделении.
Выход: сформированные данные о подразделении в БД
Алгоритм:
Проверка наличия данных о подразделении в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные о подразделении на экран.
Для модуля А 1.7:
Процесс: Проверка и внесение данных о производителях.
Вход: информация о производителе.
Выход: сформированные данные о производителе в БД
Алгоритм:
Проверка наличия данных о производителе в БД
Если данные отсутствуют, то внести новую запись в БД
Вывести данные о производителе на экран.
Далее рассмотрим задачу внесения в систему документов, назовем ее Б1. Для решения этой задачи оператор группы оформления документов сортирует входящие бумажные документы, обрабатывает их и вносит в систему, в результате чего изменяются записи в таблице остатков и журнале документов. Функционально-технологическая схема задачи Б1 представлена на рисунке 2.16.
Рисунок 2.5. Функционально-технологическая схема задачи Б1 «Введение документов».
Для каждого выделенного модуля разработана функционально-технологическая схема и детальный алгоритм ее кодирования. Блок-схема задачи Б1 приведена на рисунке 2.17, а функционально-технологические схемы всех модулей задачи Б1 – на рисунке 2.18.
Рисунок 2.6. Блок схема решения задачи Б1 «Введение документов»
Рисунок 2.7. Функционально-технологические схемы модулей задачи Б1
Далее рассмотрим задачу получения отчетов, назовем ее В1. Для решения этой задачи пользователь программы выбирает нужный вид отчета, в результате чего формируется экранная форма выбранного вида отчета Функционально-технологическая схема задачи В1 представлена на рисунке 2.19.
Рисунок 2.8. Функционально-технологическая схема задачи В1 «Формирование отчетов»
Блок-схема задачи В1 приведена на рисунке 2.20, а функционально-технологические схемы всех модулей задачи В1 – на рисунке 2.21
Рисунок 2.9. Блок-схема задачи В1
Рисунок 2.10. Функционально-технологические схемы модулей задачи В1
Контрольный пример реализации проекта и его описание
Для проверки правильности и целостности работы разработанного приложения был сделан контрольный пример работы приложения. Данные для этого контрольного примера были подобраны таким образом, чтобы охватить все функции и подсистемы разработанного приложения, проверить все алгоритмы, заложенные в него.
Реализация контрольного примера состоит из трех этапов:
Ввод тестовой информации в справочники;
ввод тестовых примеров движения товаров на складе;
получение отчетов, отражающих изменение количества товаров на складах и позволяющих сделать анализ движений.
Первый этап реализации контрольного примера заключается во вводе тестовых данных в справочники системы. Тестовые данные были подобраны таким образом. Чтобы задействовать все справочники, как основные, так и хранящие дополнительную информацию.
В справочник товаров были введены три товара:
Дверь «Клинкор» металлическая;
Дверь «Базель» деревянная;
Дверь «Вегас» металлическая
На рисунке 2.24 приведена экранная форма со списком товаров.
Рисунок 2.11. Список товаров
В таблице 17 приведены тестовые данные по свойствам товаров и значениям, которые могут принимать эти свойства
Таблица 17. Тестовые данные по свойствам товаров.
Название свойства |
Принимаемые свойством значения |
Замок 1 |
Замок «Тайсон» Замок «Вегас» Замок «Верита» Отсутсвует |
Замок 2 |
|
Вес |
500 кг 120 кг 150 кг |
Внешняя обивка |
Пластик Декоративный пластик Ковролин Краска эмаль Отсутсвует |
Внутренняя обивка |
|
Утепление |
Отсутствует Паралон Полистирол |
В таблице 18 приведены назначенные товарам свойства и их значения.
Таблица 18. Тестовые данные назначения свойств товаров товарам.
Товар |
Свойство |
Назначенное значение свойства |
Дверь «Клинкор» металлическая |
Замок 1 |
Замок «Тайсон» |
Замок 2 |
Замок «Верита» |
|
Вес |
500 кг |
|
Внешняя обивка |
Пластик |
|
Внутренняя обивка |
Отсутсвует |
|
Утепление |
Отсутсвует |
|
Дверь «Вегас» металлическая |
Замок 1 |
Замок «Тайсон» |
Замок 2 |
Замок «Вегас» |
|
Вес |
150 кг |
|
Внешняя обивка |
Декоративный пластик |
|
Внутренняя обивка |
Ковролин |
|
Утепление |
Полистирол |
|
Дверь «Базель» деревянная |
Замок 1 |
Замок «Тайсон» |
Замок 2 |
Отсутсвует |
|
Вес |
120 кг |
|
Внешняя обивка |
Отсутсвует |
|
Внутренняя обивка |
Ковролин |
|
Утепление |
Паралон |
Для отнесения товара к тому или иному типовому проекту зданий и помещений, в которых могут применяться изделия, был заполнен справочник проектов и их свойств. Их содержимое представлено в таблице 19.
Таблица 19. Тестовые данные по проектам.
Название типового проекта |
Свойства проекта |
Загородный дом |
Размеры проема 100х200 |
Требования к надежности: средние |
|
Квартира в многоквартирном доме |
Размеры проема 100х250 |
Требования к надежности: средние |
|
Хранилище (нежилое) |
Размеры проема 150х250 |
Требования к надежности: высокие |
Отнесение товара к тому или иному проекту представлено в таблице 20.
Таблица 20. Тестовые данные по отнесению товаров к проектам.
Товар |
Проект, к которому относится товар |
Дверь «Базель» деревянная |
Загородный дом |
Квартира в многоквартирном доме |
|
Дверь «Вегас» металлическая |
Загородный дом |
Квартира в многоквартирном доме |
|
Дверь «Клинкор» металлическая |
Хранилище (нежилое) |
Назначение товару всех данных, задание ему аналогов, свойств, отнесение его к тому или иному проекту приведено на рисунке 2.25.
Рисунок 2.12. Тестовая Форма редактирования товара
Также для полноты тестового примера необходимо заполнить справочники производителей, клиентов, складов и пользователей. Их заполнение приведено на рисунках 2.26 – 2.29.
Рисунок 2.13. Тестовое заполнение справочника производителей
Рисунок 2.14. Тестовое заполнение справочника клиентов.
Рисунок 2.15. Тестовое заполнение справочника складов.
Рисунок 2.16. Тестовое заполнение справочника пользователей.
Результатом этого этапа тестирования является заполненная база данных, в которую внесены все данные справочников. Наиболее эффективным и демонстративным способом проверки полноты и правильности заполнения справочников является поиск нужного товара при помощи фильтра товаров. Фильтр товаров позволяет осуществить отбор товара по любым критериям и их совокупности. Так при тестировании были сделаны следующие отборы:
все изделия, имеющие замок «Тайсон» (форма фильтра приведена на рисунке ).
все изделия, относящиеся к проекту «Загородный дом» или к проекту «Квартира в многоквартирном доме»
все изделия производителя «Клондайк».
Рисунок 2.17. Задание фильтра товаров.
После того, как имеются все заполненные справочники можно приступать ко второму этапу тестирования: вводу документов по движению товаров на складах. На этом этапе были введены несколько документов, выполняющих приход и расход всех тестовых товаров по складам. Журнал документов приведен на рисунке, содержимое некоторых документов приведено на рисунке 2.31.
Рисунок 2.18. Журнал документов.
Рисунок 2.19. Форма документа.
Следует отметить, что в реальной жизни оформление документов по движению товара по складу происходит в режиме реального времени в порядке поступления бумажных документов. При этом при оформлении каждого нового документа операторы не контролируют остатки товара на складе. Просмотреть остатки товара, а также проанализировать движения товаров по складам в разрезе документов позволяет третий этап тестирования: получение аналитических отчетов. На данном этапе были получены отчеты по остаткам без разрезов документов, а также отчет по остаткам и движениям товара в разрезе документов. Данные отчеты позволили проследить изменение остатков товаров на складах и понять как из начального остатка получился конечный.
По результатам тестирования можно утверждать, что программа работает верно. Она удовлетворяет всем своим требованиям: функциональным характеристикам, надежности и корректности работы, информационной и программной совместимости, составу аппаратных и программных средств, составу программной документации.
Заключение
В результате выполнения дипломного проекта изучена методика ведения складского учета в ООО «Юнион-двери».
На основании изученной методики была разработана структура базы данных, необходимая для хранения данных системы. Также была выбрана операционная система, в которой должно будет функционировать разрабатываемое приложение, и выбран язык программирования и система программирования, при помощи которой будет проводиться разработка.
Результатом дипломного проектирования стало разработано приложение, автоматизирующее процесс складского учета.
В соответствии с описанной методикой тестирования программы результаты проверки показали, что программа работает верно во всех предполагаемых ситуациях, с различными наборами входных данных.
Программа работает в операционной системе Windows 95/98, NT, 2000 , XP и выполнена в среде Borland C++ Builder. Результатами работы программы являются таблицы документов движения по складам и остатков товаров на складах.
Разработанное приложение в ближайшее время будет внедрено на ООО «Юнион-двери». Руководство ООО «Юнион-двери» ожидает от внедрения разработанного приложения большого качественного скачка в организации складского учета. За счет того, что работа персонала будет значительно облегчена за счет автоматизации ведения справочной информации, оформления документов и получения отчетов качество работы персонала значительно улучшится. Разработанное приложение позволит навести порядок в организации работы всех подразделений и каждого конкретного сотрудника, разграничит сотрудников по полномочиям и выполняемым функциям, выявит узкие места в организации деятельности подразделений. Возможность мгновенного получения актуальных остатков на складе позволит устранить хищения продукции, а возможность получения отчетов по движениям товара позволит составлять аналитические отчеты по анализу продаж и делать прогнозы на будущие периоды.
Список использованных источников
Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. Пособие. – 2-е доп. Изд. – М: Финансы и статистика, 2002. – 600с.
Герберт Шилдт Программирование на C и C++ для Windows 95 - К.: Торгово - издательское бюро BHV, 1996
Ч. Петзолд Программирование для Windows 95; в двух томах - СПб.: BHV - Санк-Петербург, 1997
Архангельский П.А. «Программирование в Borland C++ 4.0» M. Наука, 2000
Страуструп Б. «Язык программирования С++: Пер. с англ.» М. Радио и связь, 1991.-352с.:ил.
Бобровский С.И. Delphi 5 – М.: Питер, 2002.
Гаевский A. Разработка программных приложений на Delphi 6 – М.: Киев, 2000.
Зуев В. A. Turbo Pascal 6.0, 7.0. М.: Москва, 1998.
Коцюбинский А.О., Грошев С.В. Язык программирования Delphi 5 – М.: Москва, 1999.
Леонтьев В.И. Delphi 5 – М.: Москва, 1999.
Моисеев А.С. Object Pascal – М.: Москва, 2000.
Немнюгин С.А. Программирование – М.: Питер, 2000.
Ремизов Н. C. Delphi – М.: Питер, 2000
Архангельский П.А. Программирование в Delphi 5. M., Наука, 2000
Дарахвелидзе П.Г. Программирование в DELPHI 5. СПб., Бином, 2000
Тейксейра С. Т. DELPHI 5. Руководство разработчика. М., Вильямс, 2000
Угринович Н. Информатика и информационные технологии. Набор базовых знаний. М., Радио и связь, 2000
Фаронов В.В. Delphi 3. Учебный курс. М., Нолидж, 1998
Фаронов В.В. Delphi 4. Учебный курс. М., Нолидж, 1998
Харрингтон Дж. Проектирование реляционных баз данных. М., ЛОРИ, 2000
Шумаков В.П. Delphi 3 и создание приложений баз данных. М., Нолидж, 1998
ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам
ГОСТ 19.103-33 ЕСПД. Обозначение программ и программных документов.
ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
Приложение
Диаграмма потока данных «как есть»
Диаграмма потока данных «как должно быть».
Схема документооборота в разрезе работы с клиентами по операциям с недвижимостью.