Исторически сложилось так, что для описания диаграмм DFD используются две нотации - Йодана (Yourdon) и Гейна-Сарсона (Gane-Sarson), отличающиеся синтаксисом. На приведенной ниже иллюстрации использована нотация Гейна-Сарсона.
Информационная система принимает извне потоки данных. Для обозначения элементов среды функционирования системы используется понятие внешней сущности. Внутри системы существуют процессы преобразования информации, порождающие новые потоки данных. Потоки данных могут поступать на вход к другим процессам, помещаться (и извлекаться) в накопители данных, передаваться к внешним сущностям.
Модель DFD, как и большинство других структурных моделей - иерархическая модель. Каждый процесс может быть подвергнут декомпозиции, то есть разбиению на структурные составляющие, отношения между которыми в той же нотации могут быть показаны на отдельной диаграмме. Когда достигнута требуемая глубина декомпозиции - процесс нижнего уровня сопровождается мини-спецификацией (текстовым описанием).
Кроме того, нотация DFD поддерживает понятие подсистемы - структурной компоненты разрабатываемой системы.
Нотация DFD - удобное средство для формирования контекстной диаграммы, то
есть диаграммы, показывающей разрабатываемую АИС в коммуникации с внешней
средой. Это - диаграмма верхнего уровня в иерархии диаграмм DFD. Ее назначение
- ограничить рамки системы, определить, где заканчивается разрабатываемая
система и начинается среда. Другие нотации, часто используемые при формировании
контекстной диаграммы - диаграмма SADT, диаграмма Диаграмма вариантов
использования.
Рисунок 3. Диаграмма потока данных «как есть»
Рисунок 4. Диаграмма потока данных «как должно быть».
Построение инфологической модели
Инфологическая модель (ИМ) программы - это описание предметной области, выполненной без ориентации на используемые в дальнейшем программные и технические средства. Содержит исходную информацию о предметной области. Этап создания ИМ называется инфологическим проектированием.
Проектирование инфологической модели должно отвечать требованиям:
- адекватность отображения (язык для представления ИМ должен обладать достаточными выразительными возможностями);
- непротиворечивость (не должна допускаться неоднозначная трактовка модели);
- - легко расширяемость (обеспечение ввода новых данных без изменения ранее определенных);
- гибкий язык (язык должен быть применим как при ручном, так и при автоматизированном проектировании);
- понятность всем пользователям.
Основной задачей построения инфологической модели, является проектирование конкретного и полного отражения ситуации, используемой в дальнейшем в качестве источника информации для построения базы данных. Рассмотрение и выполнение каждого отдельного пункта инфологической модели программы позволяет спроектировать базу данных (рисунок 5).
Данная модель показывает основные сущности, ключевые поля и атрибуты,
входящие в каждую сущность. Также показаны информационные связи и потоки
информации, позволяющие решить поставленные задачи автоматизации системы учета
экономической деятельности агентства недвижимости.
Рисунок 5. Инфологическая модель базы данных.
Характеристика первичных документов с нормативно-справочной и входной оперативной информации
В основу методики работы автоматизированной системы агентства недвижимости положены системы учета уже имеющие многолетний опыт применения, но не оформленные в виде компьютерных программ. Поэтому входными для данными для системы будут являться те же самые данные, которые использовались в неавтоматизированных системах. Каждая из подсистем имеет свой набор входных и выходных данных, причем выходные данные одной подсистемы могут являться входными данными другой подсистемы. Так, например, записи в справочнике клиентов и покупке недвижимости являются входными данными для построения отчета по рынку, являющимся составной частью подсистемы аналитической отчетности. Опишем входные и выходные данные для каждой подсистемы.
Для подсистемы ведения справочников входными данными являются соответствующие списки на бумажных носителях. Так, например, для задачи ведения справочника квартир входными данными является список предлагаемых квартир, которыми оперирует компания.
Результатом ввода списка квартир в систему будет являться таблица квартир, которая в свою очередь выступает в качестве входных данных при подборе квартир для клиента. Следует отметить, что таблица справочников содержат в основном статичную информацию, т.е. не изменяющуюся со временем или изменяющуюся весьма редко. Исключение является справочник клиентов. Хотя новые договора со старыми клиентами заключается весьма не часто, что не требует частого добавления данных в справочник клиентов. Входными данными для заполнения справочника клиентов являются договора с клиентами на бумажных носителях, вводимых риэлтором проводящим сделку. Выходными данными как и в случае других справочников является заполненная таблица клиентов.
Для подсистемы составления аналитической отчетности входными данными являются записи в таблицах клиентов и всех таблицах связанных с недвижимостью.
Используя массив этих данных, с учетом условий на построение отчетов, наложенных пользователем система строит отчет, которые можно посмотреть на экране монитора или распечатать на принтере. Готовые отчеты и является выходными данными подсистемы аналитической отчетности и всей системы в целом.
Характеристика даталогической модели БД
Вся информация, используемая при работе приложения хранится в базе данных.
В качестве настольной базы данных выбрана база данных формата MS ACCESS. То есть база данных является файлом на диске, в котором сосредоточены таблицы базы данных в виде файлов данных и индексов к ним.
В программе для работы с таблицами, добавления, удаления, редактирования записей используется универсальный язык запросов SQL. Данный язык позволяет разработчику полностью абстрагироваться от формата и месторасположения базы данных и одинаково обращаться к данным из баз разного формата. Таким образом использование данного универсального языка позволяет решить поставленную нам задачу: разработать универсальное приложение, которое смогло бы работать с базой данных любого формата, не меняя при этом исходный код приложения.
Разработанная нами база данных является реляционной и как и другие реляционные базы данных состоит из таблиц: contracts, buildings и archive.
Таблица contracts содержит информацию по сделкам которые заключены на
данный момент, в таблице содержится вся необходимая информация для учета и
контроля сделки (таблица 1).
Таблица 1.
Таблица contracts - таблица содержит текущие контракты
|
Поле |
Тип |
Дополнительно |
Описание |
|
id |
Числовой |
Ключ |
Идентификационный номер сделки |
|
bid |
Числовой |
|
Идентификационный номер арендуемого помещения |
|
fio |
Текстовый |
|
Фамилия, имя, отчество арендатора |
|
cnum |
Текстовый |
|
Номер удостоверения арендатора |
|
comment |
Текстовый |
|
Комментарий к сделке |
|
dcost |
Числовой |
|
Цена за единицу времени (тенге в сутки) |
|
startdate |
Дата/время |
|
Дата начала аренды помещения (Квартира, Дом) |
|
enddate |
Дата/время |
|
Дата окончания аренды помещения (Квартира, Дом) |
|
total |
Числовой |
|
Общая сумма сделки |
|
paid |
Числовой |
|
Оплаченная сумма сделки |
|
dept |
Числовой |
|
Задолженность по оплате (если имеется) |
Таблица buildings содержит полную информация о помещениях сдающихся в
аренду, тип помещения (квартира, дом), количество комнат и общая площадь, адрес
и телефон, дополнительную информацию, и информация о том, находится ли
помещение в аренде (таблица 2).
Таблица 2.
Таблица buildings - таблица содержит данные по имеющимся помещениям
|
ПолеТипДополнительноОписание |
|
|
|
|
id |
Числовой |
Ключ |
Идентификационный номер сделки |
|
btype |
Текстовый |
|
Тип помещения (Квартира, Дом) |
|
rcount |
Числовой |
|
Количество комнат арендуемого помещения |
|
mcount |
Числовой |
|
Общая площадь арендуемого помещения |
|
addr |
Текстовый |
|
Фактический адрес арендуемого помещения |
|
bphone |
Текстовый |
|
Номер телефона арендуемого помещения |
|
inrent |
Логический |
|
Логическое поле, которое показывает находится ли помещение в аренде |
|
comment |
Текстовый |
|
Дополнительные сведения по арендуемому помещению |
|
cost |
Числовой |
|
Цена за единицу времени (тенге в сутки) |
В таблице archive храниться информация о всех совещенных сделках (таблица
3). В случае необходимости м.б. обратиться к таблице для получения справочной
информации по совершенным сделкам.
Таблица 3.
Таблица archive - содержит информацию о совещенных сделках
|
Поле |
Тип |
Дополнительно |
Описание |
|
id |
Числовой |
|
Идентификационный номер сделки |
|
bid |
Числовой |
|
Идентификационный номер арендуемого помещения |
|
fio |
Текстовый |
|
Фамилия, имя, отчество арендатора |
|
cnum |
Текстовый |
|
Номер удостоверения арендатора |
|
comment |
Текстовый |
|
Комментарий к сделке |
|
dcost |
Числовой |
|
Цена за единицу времени (тенге в сутки) |
|
startdate |
Дата/время |
|
Дата начала аренды помещения (Квартира, Дом) |
|
enddate |
Дата/время |
|
Дата окончания аренды помещения (Квартира, Дом) |
|
total |
Числовой |
|
Общая сумма сделки |
|
paid |
Числовой |
|
Оплаченная сумма сделки |
|
dept |
Числовой |
|
Задолженность по оплате (если имеется) |
|
kkk |
Счетчик |
Ключ |
Код записи в архиве |
Программное обеспечение задачи
В данном проекте можно выделить следующие категории функций: функции вода информации в справочники, функции ввода данных недвижимости и функции получения аналитических отчетов. Каждая из этих категория относится соответствующей подсистеме разрабатываемого приложения: подсистеме ведения справочников, подсистеме ввода документов и подсистеме получения аналитических отчетов.
Приложение обеспечивает удобный и понятный диалог пользователя с программой для вызова всех функций. Доступ пользователя к функциям производится через главное меню главной формы приложения и через кнопки панели быстрого запуска, дублирующие соответствующие пункты меню. Главная форма приложения кроме предоставления основного интерфейса доступа ко всем функциям приложения выполняет также роль контейнера для всех остальных экранных форм.
Первая группа экранных форм предоставляет пользователю доступ к подсистеме ведения справочников системы. Эта группа экранных форм вызывается из главного меню программы «Справочники». Каждый подпункт этого пункта меню соответствует вызову экранной формы, которая позволяет редактировать соответствующий справочник.
Все экранные формы просмотра и редактирования справочников похожи друг на
друга и позволяют выполнять функции просмотра списка справочника, ввода новых
данных в справочник, редактирования существующих данных и удаления имеющихся
данных. Для ввода новых и редактирования существующих данных справочников
вызываются формы редактирования соответствующих справочников. Эти же формы
служат и для просмотра подробной информации записи справочника, так как в
списке справочника представлены только основные данные.
2.3 Организация технологии сбора, передачи,
обработки и выдачи информации
Разработка сложных программных комплексов вызывает необходимость решения ряда организационных, технологических и технических проблем, связанных со значительной трудоемкостью разработки программ и сложностью выявления в них ошибок. Решение этих проблем возможно при внедрении любой технологии программирования, которая позволит повысить производительность труда программистов и надежность программ. Кроме того, внедряемая технология должна упростить планирование работ и организацию взаимодействия всех членов коллектива, позволить четко контролировать сроки выполнения каждого этапа разработки, оперативно доводить до исполнителей все изменения в общих концепциях на создаваемое программное изделие и изменения в соглашениях о связях между программой и внешней средой или между отдельными структурными элементами программы. Технология должна обеспечить простоту и однозначность прочтения всей документации.
Сокращение сроков и снижение трудоемкости внедрения программного изделия зависят от его надежности. Поэтому технология должна предусматривать организацию процессов верификации и тестирования алгоритмов и программ на стадии разработки, также подходы к отладке и испытаниям программы. Технология должна обеспечивать возможность достаточно простой модификации программ при их эксплуатации, что необходимо для устранения обнаруженных ошибок или для изменения функций программы.