Управление проектами: Методические указания по проведению лабораторных работ, страница 6

4. Для чего в этом приложении используется модуль данных (TDataModule)?

5. Чем удобна работа данной системы с Access-форматом БД – .mdf?

Лабораторная работа №6

Разработка системы управления проектами: программирование ядра АС

Цель: в результате выполнения работы студент должен научиться программировать функциональную часть автоматизированной системы управления проектами.

Краткие теоретические сведения

Системы управления проектами предоставляют возможность организации контролировать большинство финансовых операций, имеющих достаточно длительный срок выполнения. Общее техническое задания для систем подобного класса выглядит следующим образом:

Техническое задание:

Несмотря на кажущееся перенасыщение рынка продуктами управления проектами, создание простой и надежной системы управления проектными заданиями до сих пор остается приоритетной задачей в области разработки информационных систем.

В первую очередь, она должна поддерживать простейшие функции кадрового учета, то есть позволять хранить данные о каждом сотруднике, включая его контактную информацию, принадлежность к административному подразделению и размер заработной платы. Кроме того, должна быть возможность объединения исполнителей по проектам и задачам без привязки к административному делению компании.

Основное назначение подобной системы – поддержка проектов и задач, выдача заданий сотрудникам и контроль исполнения заданий и хода проекта через листы рабочего времени сотрудников.

Система должна позволять оперативно получать информацию о запланированном и фактически отработанном времени по каждому проекту, каждой задаче в рамках проекта и по каждому исполнителю в рамках задачи, а также о текущем состоянии исполнения бюджета как по проекту в целом, так и по каждому исполнителю в отдельности.

Подобная система должна иметь гибкую систему разделения прав пользователей.

Ход работы

1. Из прошлой работы, на главной форме приложения уже имеется созданная страница основного компонента TPageControl «Работа с проектами», согласно с ТЗ, необходимо сделайте возможность добавлять/редактировать/удалять проекты на этой странице, через такие элементы управления как кнопки и различные текстовые редакторы типа «TEdit».

PS Здесь же должна отображаться краткая информация о выбранном проекте. Помимо той, что характеризуется полями таблицы №3, выведите сведения о количестве участников и числе задач выбранного проекта. – Для этого потребуется выполнить запрос на выборку, объединяющий несколько таблиц (select … from <Имя табицы1> JOIN <Имя таблицы2> ON <условие>).

2. Следующая задача страницы «Работа с проектами», – это распределение участников для каждого проекта. За это отвечает таблица №5. То есть, используя данные из справочных таблиц №1, №4, №6 организуйте удобный способ добавления/изменения и удаления записей таблицы №5.

3. Последняя задача страницы «Работа с проектами», это организация «полу-справочной» таблицы №4, цель которой в добавлении/изменении и удалении оперативных задач по каждому проекту.

PS Поскольку это уже третья задача на одной странице, то возникает острая необходимость в продумывании наглядного разделения графических блоков компонентов для каждой из трёх задач. Компактно, это проблему можно решить добавлением сюда компонента «TPageControl» со страницами, занимающимися решением каждой из этих задач:

3. Помимо страницы «Работа с проектами», уже была подготовлена и страница «Отчёты». Организуйте её таким образом, что бы она выполняла выборку проектов из таблицы №3 по критериям: проекты за первый, второй, третий и четвёртый квартал заданного года и заданной стадии.

PS Задачу можно реализовать, используя соответствующие запросы, параметрами для которых могут служить разворачивающиеся списки, переключатели или обычные кнопки.

4. Сравните полученный программный продукт с ТЗ. Доработайте недостающие функции, улучшите по необходимости интерфейс пользователя, оптимизируйте программный код.

5. Оформить подробный отчёт о проделанной работе.

Контрольные вопросы

1. Какой компонент библиотеки ADO позволяет выполнять запросы?

2. Какое событие возникает при активации пользователем страницы элемента «TPageControl»?

3. В чём заключается удобство компонента «PageControl»?

4. Можно ли полученную систему назвать СУБД?

5. Насколько язык Delphi пригоден для разработки систем подобного типа?