Правильно спроектированная база данных обычно содержит разнообразные запросы, позволяющие отображать нужную информацию. В запросах может выводиться подмножество данных или комбинированные данные из нескольких таблиц, например сведения о заказах совместно со сведениями о заказчиках.
База данных проектируемой Автоматизированной Системы Управления документооборотом Департамента Аренды (далее и везде АСУ Департамента Аренды) содержит 3 основных таблицы (Clients, Objects, Operations) на основании которых можно получить полную информацию по требуемым отчётам.
Таблица «Clients» является хранилищем информации о клиентах, обратившихся с заявками в Департамент Аренды, структура таблицы «Clients» приведена ниже.
Название поля | Тип | Описание поля |
docid | integer | Номер документа |
clientid | integer | Идентификатор клиента |
clientname | varchar (150) | Наименование клиента |
objectkat | char | Требуемая категория объекта (А, Б, В) |
clientinput | datetime | Дата заявки |
clientprice | integer | Цена |
clientstatus | char | Отметка: заявка в работе/заявка на оформлении/заявка выполнена |
clientmanager | varchar(40) | Ответственный сотрудник (исполнитель операции) |
Внесем необходимые пояснения по описанию:
- Идентификатор клиента это уникальный индивидуальный номер клиента, под которым он внесен в базу данных;
- Наименование клиента по юридическому статусу (ООО либо ОАО/ЗАО в случае если клиент корпоративный), либо имя клиента, в том случае если клиент – частное лицо;
- Требуемая категория объекта и цена: в данном случае указывается, какой именно категории объект и по какой цене интересует клиента;
- Дата заявки – фактический день обращения клиента в Департамент Аренды;
- Отметка описывает процесс работы с клиентом (заявка в работе – клиенту предложены объекты из категории, идет практический выбор объекта; заявка в оформлении – клиент определил объект, идет оформление сопроводительной документации; заявка выполнена – сопроводительные документы оформлены, счет за услуги оплачен/оплачивается);
- Ответственный сотрудник – фамилия ответственного сотрудника Департамента Аренды, назначенного к данному клиенту руководителем клиентского отдела.
«Objects» – таблица служит хранилищем информации об объектах недвижимости, которые имеются в каталоге Департамента Аренды, структура таблицы «Objects» приведена ниже.
Название поля | Тип | Описание поля |
docid | integer | Номер документа |
objectid | integer | Идентификатор объекта |
objectname | varchar (150) | Наименование объекта |
objectkat | char | Категория объекта (А, Б, В) |
objectinput | datetime | Дата постановки объекта в базу |
objectprice | integer | Цена |
objectstatus | char | Отметка: сдан/не сдан/резерв/оформляется |
objectmanager | varchar(40) | Ответственный сотрудник (исполнитель операции) |
Внесем необходимые пояснения по описанию:
- Идентификатор объекта это уникальный индивидуальный номер объекта, под которым он внесен в базу данных;
- Наименование объекта – фактическое название объекта;
- Категория объекта вносится в соответствие с принятой градацией объектов недвижимости (категория А – объекты, стоимость аренды которых составляет от 1 млн. руб.; категория В – объекты, стоимость аренды которых составляет от 500 тыс. руб. до 1 млн. руб.; категория С – объекты, стоимость аренды которых составляет до 500 тыс. руб.);
- Дата постановки объекта в базу – фактический день внесения объекта в базу;
- Цена – фактическая стоимость аренды объекта, определенная Департаментом Эксплуатации;
- Отметка описывает процесс работы с объектом аналогично отметке по клиенту;
- Ответственный сотрудник – фамилия ответственного сотрудника Департамента Аренды, за которым закреплен конкретный объект руководителем клиентского отдела.
«Operations» - таблица содержит информацию обо всех сделках с объектами недвижимости и клиентами за определенный период.
Внесем необходимые пояснения по описанию:
- Идентификатор объекта или клиента – уникальный номер, присваиваемый объекту или клиенту при внесении в базу;
- Дата совершения операции – фактический день заключения договора аренды с клиентом;
- Отметка расчета по операции ставится исходя из фактических расчетов уже произведенных клиентом (наличные денежные средства либо безналичные), в том случае если клиент не оплатил выставленный счет, ставится отметка «не определен»;
Название | Тип | Описание поля |
docid | integer | Номер документа |
objectid/clientid | integer | Идентификатор объекта или клиента |
operationdate | datetime | Дата совершения операции |
operationcurrency | char | Расчёт по операции (нал, безнал, не определён) |
operationincome | integer | Приход денежных средств |
operationdebt | integer | Дебиторская задолженность |
operationmanager | varchar(40) | Ответственный сотрудник (исполнитель операции) |
Приход денежных средств отражает фактическую суммы оплаты счета клиентом;
- Дебиторская задолженность возникает в том случае, если клиент не оплатил счет, фактически показывает, какой размер дебиторской задолженности числится за данным клиентом и/или объектом;
- Ответственный сотрудник – фамилия ответственного сотрудника Департамента Аренды, за которым закреплен конкретный объект или клиент руководителем клиентского отдела.
Связь таблиц 8, 9 и 10 осуществляется по ключевому полю docid*, slitset таблица срезов, которые указывают на один аналитический счет в таблице account (ключ id). Программный код файла data.cpp, который отвечает за выполнение операций исполнения документов и функционирование АСУ Департамента Аренды в целом приведен в приложении А.
Далее на основании разработанной базы данных необходимо формализовать бизнес-процессы, с этой целью разработаем функциональную модель бизнес-процесса предоставления услуг (т.е. основного бизнес-процесса Департамента Аренды). В приложении 5 представлена функциональная модель бизнес-процесса предоставления услуг в соответствие с проектируемой АСУ документооборотом.
Итак, в соответствие с проектируемой АСУ, процесс предоставления услуги начинается с регистрации заявки клиента в Журнале заявок АСУ (сфера ответственности и доступ – руководители клиентских отделов), факторы влияния – сформированный необходимый каталог объектов от Департамента Эксплуатации и внешняя конъюнктура рынка, на последний фактор Департамент Аренды не может оказывать влияние, но должен его учитывать при формировании предложения.
Сотрудники, ежедневно просматривая Журнал заявок, отбирают новых клиентов, закрепленных за ними. Формирование предложения идет на основании прайс-листа Департамента Аренды, который формируется в АСУ по категориям объектов и предлагается для изучения непосредственно клиенту.
Далее, клиент выбирает наиболее подходящий ему объект (объекты), основная задача операционного сотрудника на данном этапе это проставить отметку о процессе взаимодействия в Журнале клиентов (см. табл. 8 описание поля «отметка») и организовать непосредственный просмотр выбранного объекта (объектов).
После того, как клиент определил необходимый ему объект и готов заключить сделку, ответственный операционный сотрудник проставляет необходимые отметки в АСУ, как в Журнале клиентов, так и в Объектах (см. табл. 8 и 9 описание полей «отметка»), кроме этого, ответственный сотрудник предоставляет клиенту пакет документов по сделке, в соответствие с правилами заключения сделок и условиями договора клиенту выставляется счет или счет-фактура на оплату услуг Департамента Аренды, при этом также проставляются необходимые отметки в АСУ.
После того, как договор заключен и произведена (либо производится) оплата услуг, часть оформленного пакета документов передается клиенту, часть передается руководителю клиентского отдела, который делает необходимые отметки в АСУ, передает первичные бухгалтерские документы в соответствующий отдел, в автоматизированном режиме формирует отчетность для управленческих бизнес-процессов собственно Департамента Аренды и для Департамента Эксплуатации.
Прежде чем перейти непосредственно к разработке пользовательского интерфейса (ПИ), определим основные требования, предъявляемые к разработке интерфейса пользователя.
Разработка пользовательского интерфейса (ПИ) ведется параллельно разработке архитектуры Автоматизированной Системы Управления документооборотом и разработке баз данных в целом и в основном предшествует её имплементации. Процесс разработки ПИ разбивается на этапы жизненного цикла[26]:
1. Анализ трудовой деятельности пользователя, объединение бизнес-функций в роли.
2. Построение пользовательской модели данных, привязка объектов к ролям и формирование рабочих мест.
3. Формулировка требований к работе пользователя и выбор показателей оценки пользовательского интерфейса.
4. Разработка обобщенного сценария взаимодействия пользователя с программным модулем (функциональной модели) и его предварительная оценка пользователями и Заказчиком.
5. Корректировка и детализация сценария взаимодействия, выбор и дополнение стандарта (руководства) для построения прототипа.
6. Разработка макетов и прототипов ПИ и их оценка в деловой игре, выбор окончательного варианта.