Описание приложения | ![]() |
![]() |
![]() |
Разрабатываемый модуль является частью большого проекта с длительным жизненным циклом. В связи с этим необходимо отделить "родную" информацию модуля "Управление проектами" от информации, являющейся неотъемлемой частью других модулей. Если этого не сделать сразу, позднее возникнут проблемы при дальнейшем развитии системы. К "чужой" информации относятся исполнители, материальные ресурсы и финансы.
Исполнители выбираются из числа сотрудников фирмы. Ведением картотеки сотрудников занимается модуль "Управление персоналом". В данной версии демопроекта функции модуля "Управление персоналом" сводятся к ведению списка сотрудников (ввод, корректировка, удаление).
Материальные ресурсы под проект обеспечиваются модулем "Управление снабжением". В данной версии демопроекта функции модуля "Управление снабжением" сводятся к ведению списка доступных материальных ресурсов (ввод, корректировка, удаление).
Данные о фактических затратах поступают из модулей:
"Табельный учет" - о рабочем времени исполнителей;
"Склад" - о расходовании материальных ресурсов в натуральном выражении;
"Бухучет" - о суммарных финансовых затратах на проект по всем статьям затрат.
Постатейный учет затрат в данной версии демопроекта не ведется.
Разграничение "своей" и "чужой" информации и связанных с ее обработкой бизнес-процессов достигается разбиением проекта на компоненты. Компонентная модель приложения дает ряд существенных преимуществ:
Разработка приложения ведется несколькими коллективами разработчиков (например, один компонент - один коллектив). После согласования интерфейсов обмена информацией, каждый коллектив работает самостоятельно, не вникая в детали реализации смежных компонентов. Например, в рассматриваемом демопроекте структура данных модуля "Управление персоналом" не соответствует требованиям модуля "Управление проектами". Расхождение устраняется в интерфейсе twKatPersons (см. раздел "twKatPersons. Интерфейс предоставления данных сторонним модулям. "). Посредством его разработчики модуля "Управление персоналом" представляют информацию в нужном виде, независимо от ее фактического представления в реальных таблицах.
Каждый компонент можно дорабатывать независимо от других - до тех пор, пока сохраняются согласованные интерфейсы взаимодействия.
Пользователь может масштабировать установленное приложение, докупая компоненты по мере необходимости. Вместо отсутствующих компонент ставятся заглушки с минимальной функциональностью, необходимой для функционирования купленных компонент.
В нашем случае состав компонент очевиден: "Управление проектами", "Управление персоналом", "Управление снабжением", "Табельный учет", "Склад" и "Бухучет". Причем работающее приложение содержит только один полноценный модуль: "Управление проектами". Вместо остальных стоят заглушки, обеспечивающие функционирование модуля "Управление проектами".
Позднее в процессе проектирования приложения был добавлен компонент "Ядро приложения" (см. "Объектный интерфейс ресурса. ")