Разработка информационной системы накопления, хранения и выборки данных о проектах, выполняемых предприятием и разработчиком web-приложений

 

Федеральное агентство по образованию

Государственное образовательное учреждение

Высшего профессионального образования

"Кузбасский государственный технический университет имени Т.Ф. Горбачева"

Кафедра информационных и автоматизированных производственных систем








КУРСОВАЯ РАБОТА

"Разработка информационной системы накопления, хранения и выборки данных о проектах, выполняемых предприятием и разработчиком web-приложений"











Кемерово


Содержание


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

Концепция проекта

Требования к информационной системе

Состав запросов к БД

Исходные отношения

Связи и отношения между информационными объектами

Требования к целостности системы

Даталогическое проектирование

Система управления базой данных

Таблицы в составе БД

Клиентский интерфейс

Способ подключения к базе данных

Функциональность приложения

Алгоритмы работы и архитектура информационной системы

Механизмы взаимодействия "клиент-сервер"

Логика на стороне сервера

Организационное проектирование

Источники информации


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


Концепция проекта


СУБД задач и составляющих их процессов предприятия. Реляционная база содержит данные о сотрудниках и клиентах организации, о текущих и планируемых проектах. Рабочие проекты, привязанные к заказчику, разделяются на задачи (и подзадачи), которые распределяются между специалистами.

В дальнейшем (в рамках производственной практики) развитие в систему планирования производственного процесса. Привязка к каждой задаче срока исполнения. Внедрение возможности визуально наблюдать рабочий процесс и управлять им на диаграмме Ганта.

Клиентская часть разрабатывается для студии web-дизайна "Пятое измерение" (#"justify">Базовой технологией приложения является клиент-сервер в среде Microsoft SQL Server 2005 и Visual Studio 2010. Доступ к базе данных осуществляется с клиентского компьютера через специальные интерфейсы.


Требования к информационной системе


Функциональные требования

Выдача списка клиентов с контактными данными, соответствующими им заказами (проектами).

Выдача списка сотрудников с соответствующими им задачами.

Выдача списка проектов со сроками выполнения.

Формирование списка "горящих" проектов, - для которых реальный срок исполнения предположительно превышает установленный.

информационная система база алгоритм

По выбранному имени/идентификатору сотрудника/клиента/проекта выдача информации о нём (предусмотрена также возможность редактирования).

Расчёт времени реализации проекта на основании указанных интервалов входящих в него задач.

Прочие требования

Простой интерфейс (наличие одновременно не более 7 доступных пользователю управляющих элементов).

Быстродействие. Выполнение запросов пользователя в разумные интервалы времени (максимум порядка десятых секунды).

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

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

Безопасность. Элементарное обеспечение сохранности данных; защита от некорректных действий пользователя.

Пользователи ИС - сотрудники предприятия (ориентировочно до 16 человек). С учётом конечной задачи, количество пользователей может составлять несколько десятков человек, что соответствует масштабу малого предприятия. Представление большего количества исполнителей нецелесообразно, в виду значительного усложнения диаграммы проектов и потери её наглядности.

Предполагается разделение пользователей по правам доступа (например, руководитель предприятия, менеджеры - административная группа, рядовые специалисты - пользовательская группа).

Состав запросов к БД


Администраторы могут редактировать (добавлять, изменять, удалять) данные о клиентах, задачах и сотрудниках.

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

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


Исходные отношения


Информационные объекты БД

КлиентПроектСпециализацияИдентификатор Наименование Менеджер Контактное лицо Телефон Изображение E-mail SkypeИдентификатор Наименование Руководитель Время старта Время окончания Крайний срок выполненияИдентификатор ДолжностьЗадачаПользовательИдентификатор Имя Тип (задача / подзадача) Вид деятельности Код исполнителя Код основной задачи (для подзадач) Код проекта Комментарий Время старта Срок выполнения Время окончания ЗавершённостьИдентификатор Имя Пароль Тип (администратор | пользователь) Код специализации Цвет (на диаграмме проектов) Изображение E-mail Skype

Клиент (client) - объект, содержащий информацию о заказчике.

Атрибуты:- идентификатор (уникальный, целочисленный обязательный);- наименование организации, (строковый);- идентификатор сотрудника, работающего с этим клиентом (целочисленный);- имя контактного лица со стороны клиента (строковый);- телефон (строковый);- логотип компании или фото клиента (массив байтов данных);- адрес электронной почты (строковый);- скайп (строковый).

Специализация (specialize) - объект, содержащий информацию о роде деятельности.

Атрибуты:- идентификатор (уникальный, целочисленный обязательный);- название специализации, (строковый).

Пользователь (user) - объект, содержащий информацию о сотруднике.

Атрибуты:- идентификатор (уникальный, целочисленный обязательный);- имя сотрудника (строковый);- пароль для входа в систему (строковый);- тип пользователя, определяющий уровень доступа к системе (строковый);- идентификатор специализации сотрудника (целочисленный);- цвет для отображения задач сотрудника на диаграмме проектов (целочисленный);- фото сотрудника или другое идентифицирующее его изображение (массив байтов данных);- адрес электронной почты (строковый);- скайп (строковый).

Проект (project) - объект, содержащий информацию о проекте.

Атрибуты:- идентификатор (уникальный, целочисленный обязательный);- название проекта, (строковый);- идентификатор ответственного сотрудника, руководящего проектом (целочисленный);- время старта проекта (дата-время);- время окончания проекта (дата-время);- крайний срок сдачи проекта (дата-время);

Задача (task) - объект, содержащий информацию о (под-) задачах, составляющих проект.

Атрибуты:- идентификатор (уникальный, целочисленный обязательный);- название задачи, (строковый);- вид: задача/подзадача (булевый);- идентификатор специализации, соответствующий типу работ для задачи (целочисленный);- идентификатор исполнителя задачи (целочисленный);- идентификатор основной задачи, для подзадач (целочисленный);- идентификатор проекта, в рамках которого происходит постановка задачи (целочисленный);- комментарий (строковый);- время начала выполнения задачи (дата-время);- время в часах для выполнения проекта (целочисленный);- время завершения выполнения задачи (дата-время);- завершённость (булевый).


Связи и отношения между информационными объектами

project - связь "один ко многим", один клиент может заказывать разные проекты, у каждого проекта только один заказчик.user - связь "многие к одному", с каждым клиентом работает один из менеджеров, каждый менеджер может отвечать за несколько клиентов.task - связь "один ко многим", один тип работ может соответствовать различным (под-) задачам, у каждой задачи только один тип работ.user - связь "один ко многим", могут быть несколько сотрудников с одной специализацией.task - связь "один ко многим", каждой (под-) задаче назначается один исполнитель, сотрудник может отвечать за множество задач.project - связь "один ко многим", каждому проекту соответствует один менеджер, сотрудник может управлять несколькими проектами.task - связь "один ко многим", в состав проекта включаются задачи, одна задача может соответствовать только одному проекту.task - связь "один ко многим", каждая подзадача соответствует основной задаче, для задач связь не формируется.


Требования к целостности системы


Каждая (под-) задача принадлежит проекту.

Для каждой задачи назначается исполнитель.

Каждому проекту соответствует заказчик и ответственное лицо (руководитель проекта).

ER-диаграмма


Даталогическое проектирование


Система управления базой данных


Подход "тонкого клиента": через интерфейс запускаются хранимые на сервере процедуры и пользовательские функции. Это позволит сократить объём передаваемых данных, повысить скорость их обработки. Также допускается использование SQL-запросов, в случае, если это способствует упрощению реализации, а также с целью исследования влияния способа работы с данными на скорость выполнения команд и нагрузку на сервер.

Выбираем Microsoft SQL Server 2005, исходя из характеристик СУБД:

высокая скорость обработки запросов;

возможность многопользовательского доступа;

стандартизация языка;

совместимость с ОС семейства Windows;

независимость Microsoft SQL Server 2008 от архитектуры компьютера;

поддержка сетевых протоколов;

относительно низкие требования к производительности компьютера;

совместимость с выбранным средством разработки клиента, наличие стандартных интерфейсов взаимодействия.


Таблицы в составе БД


В каждой таблице поле id - уникальный идентификатор с автоинкрементном.


Таблица клиентов


Таблица специализаций (типов работ)

Таблица пользователей


Таблица проектов


Таблица (под-) задач

Клиентский интерфейс


Разрабатывается в среде Microsoft Visual Studio 2008 с поддержкой.net Framework 2.0 для максимизации совместимости с системами семейства Windows начиная с XP.


Способ подключения к базе данных


Доступ к базе данных осуществляется с помощью технологии Active Data Object (ADO).net. Средствами компонента DataSet выполняется подключение к БД и работа с данными. При первом создании подключения формируется строка подключения, которая сохраняется в объекте указанного класса. При помощи мастера конфигурации доступа к данным импортируется структура и компоненты БД.

Работа с данными осуществляется непосредственно над коллекцией таблиц в DataSet, а также при помощи дополнительных объектов класса TableAdapter, формируемых автоматически при разработке. Для вызова хранимых процедур используется компонент QueriesTableAdapter.

Кроме того компоненты BindingSource и TableAdapterManager, также сформированные автоматически выступают в качестве связующих элементов, хотя напрямую не используются.


Функциональность приложения


Вывод информации осуществляется в таблицы DataGridView, ввод информации осуществляется через текстовые поля TextBox, выпадающие списки ComboBox, элементы ввода числовых значений numericUpDown, элементы выбора CheckBox, элементы выбора даты и времени DataTimePiker.

Для экспорта таблицы в формате xlsx используется сервер автоматизации Excel. А именно.net сборка взаимодействия с приложениями Microsoft Office. Применяется объект Microsoft. Office. Interop. Excel.


Состав и реализация форм



Форма авторизации (enter) позволяет ограничить доступ к работе с приложением.

После запуска клиента происходит соединение с базой данных. В форму авторизации добавлены объекты DataSet, BindingSource и TableAdapter для таблицы пользователей. При загрузке формы вызывается метод чтения записей из указанной таблицы:. Fill (projects5thBaseDataSet. user);

При этом автоматически происходит вызов стандартного метода доступа к данным DataSet через BindingSource. После заполнения таблицы пользователей можно обращаться к значениям её полей через коллекцию таблиц DataSet:thBaseDataSet. user. Rows [i] ["name"]

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

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

После прохождения авторизации вызывается основная клиентская форма.



Основная (main) форма позволяет осуществлять наблюдение за состоянием проектов, а также вызывать формы, реализующие другие функции.

Рабочая область формы содержит таблицу, привязанную к хранимой процедуре на выборку "горящих" проектов. Из этой таблицы осуществляется экспорт в файл xlsx.

В режиме полного доступа на форме расположены три кнопки, вызывающие формы проектов, клиентов и пользователей соответственно. Приложение имеет многооконный интерфейс, таким образом, единовременно может быть открыто до четырёх окон.



Форма управления проектами (projects) позволяет просматривать данные о проектах, вызывать формы добавления или изменения записи о проекте или составляющей (под-) задаче, а также удалять (под-) задачи и закрывать проекты.

Рассмотрим механизмы работы с данными на примере этой формы (для форм клиентов и сотрудников, а также для задач используются аналогичные механизмы).

Основная рабочая область формы содержит таблицу DataGridView, формируемую "вручную", в итерационной работе с записями таблицы задач в коллекции таблиц DataSet. Цикл осуществляет заполнение соответствующего столбца в зависимости от типа задачи (задача/подзадача). Кроме того во вложенном цикле производится замена идентификатора сотрудника-руководителя на его имя (используется таблица пользователей в коллекции таблиц DataSet).

Выпадающих список связан с полем имени проекта в DataSet. При изменении значения происходит обновление таблицы (под-) задач DataGridView. Таблица формируется "вручную", в итерационной работе с записями таблицы задач в коллекции таблиц DataSet. Путём выборки значений по идентификатору проекта из коллекции таблиц:thBaseDataSet. Tables ["task"]. Rows [i] ["idProject"]

Цикл осуществляет заполнение соответствующего столбца в зависимости от типа задачи (задача/подзадача). Кроме того во вложенном цикле производится замена идентификатора сотрудника-руководителя на его имя (используется таблица пользователей в коллекции таблиц DataSet).

Сформированные строки добавляются в DataGridView методом add (row).

Справа от ComboBox расположены три кнопки: создание, изменение и удаление (знаки +, - , * соответвственно). Этот интерфейс используется также для работы с записями о клиентах, сотрудниках и задачах.

При нажатии кнопки создания вызывается форма проекта, на которой в текстовом поле и выпадающих списках, связанных с соответствующими столбцами в БД, задаются значения полей нового объекта (а именно наименование, клиент, руководитель и крайний срок). При подтверждении ввода формируется новая строка и добавляется в соответствующую таблицу, путём вызова стандартного метода:thBaseDataSet. Tables ["project"]. Rows. Add (row);. projectTableAdapter. Update (projects5thBaseDataSet. project);

При нажатии кнопки изменения также вызывается форма проекта. Но предварительно осуществляется её заполнение текущими значениями для изменяемого объекта. Через свойство формы передаётся идентификатор изменяемого объекта (текущий объект в выпадающем списке):fp = new FormProject ();. preLoad ();. modId = Convert. ToInt32 (comboBoxProjects. SelectedValue. ToString ());

Предварительно осуществляется инициализация таблиц путём вызова методов TableAdapter. Fill (DataSet. Table) для таблиц проектов, таблиц и клиентов (все эти таблицы участвуют в представлении данных на форме проекта).

При подтверждении сделанных изменений вызывается хранимая процедура обновления записи:thBaseDataSetTableAdapters. QueriesTableAdapter qTA = new Projects5thBaseDataSetTableAdapters. QueriesTableAdapter ();tS = Convert. ToDateTime (projects5thBaseDataSet. project. Rows [mN] ["timeStart"]);tF = Convert. ToDateTime (projects5thBaseDataSet. project. Rows [mN] ["timeFin"]);. project_mod (mId, textBoxName. Text, (int) comboBoxUser. SelectedValue, (int) comboBoxClient. SelectedValue, tS, tF, dateTimePickerDeadline. Value);

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

Удаление также осуществляется путём вызова хранимой процедуры удаления записи:thBaseDataSetTableAdapters. QueriesTableAdapter qTA = new Projects5thBaseDataSetTableAdapters. QueriesTableAdapter ();. project_del (Convert. ToInt32 (comboBoxProjects. SelectedValue. ToString ()));

Форма (под-) задачи (task) позволяет создавать запись о новой (под-) задаче и изменять свойства существующих (под-) задач.

Работа с таблицей задач аналогична работе с таблицей проектов (панель кнопок +, - , *). Различие лишь в управляющем элементе, из которого извлекается идентификатор изменяемой/удаляемой записи. Для задач - это таблица задач, где значение получается по текущей выделенной строке, тогда как для проектов - это значение выпадающего списка.



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

Форма заказчика (client) служит для создания записи о новом заказчике и изменения свойств существующих заказчиков.



Форма сотрудников (users) позволяет просматривать данные о сотрудниках, вызывать форму добавления или изменения записи о сотруднике, а также удалять записи о сотрудниках. При формировании таблицы идентификатор специализации сотрудника заменяется её названием (аналогично таблице задач на форме проектов).

Форма сотрудника (user) служит для создания записи о новом сотруднике и изменения свойств существующих сотрудников.


Диаграмма связи форм в клиентском приложении


Алгоритмы работы и архитектура информационной системы


Выборка списка "Горящих проектов"

Происходит поиск по таблице project (проекты) на предмет превышения срока выполнения проекта: timeFin > timeDeadline. Выборка осуществляется только среди незакрытых проектов, содержащих незавершённые задачи: task. fin = 0.

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

Добавление / изменение / удаление записи о клиенте / пользователе / проекте / задаче

Пользователь инициирует действие и задаёт соответствующие объекту атрибуты (id для удаления и полный набор параметров для добавления / изменения).

Происходит обращение к изменяемой таблице (client, user, project, task) соответственно.

После проведения изменений данные представляемой таблицы обновляются.

Удаление записи о проекте

Пользователь выбирает объект по параметру name (имя), подлежащий удалению.

Происходит каскадное удаление проекта из таблицы projecr по его id и его (под-) задач из таблицы task по их idProject.

После проведения удаления, представленные данные о проектах обновляются.


Механизмы взаимодействия "клиент-сервер"


Для всех таблиц значение поля идентификатора генерируется автоматически, инкриментно.

Информация о времени начала и завершения задачи/подзадачи/проекта должна генерироваться автоматически.

Вся прочая информация вводится пользователем во взаимодействии с клиентским интерфейсом.

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

Таблица специализаций задаётся единожды при начальном формировании БД (в дальнейшем планируется введение функции изменения специализаций в дополнительном окне настроек).

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


Логика на стороне сервера


Для таблиц client, project, task и user применяются хранимые процедуры для изменения (в качестве параметра передаются значения всех полей) и удаления (в качестве параметра передаётся идентификатор) записей:_del - удаление записи из таблицы клиентов;_mod - изменение записи в таблице клиентов;_del - удаление записи из таблицы проектов;_mod - изменение записи в таблице проектов;_del - удаление записи из таблицы задач;_mod - изменение записи в таблице задач;_del - удаление записи из таблицы пользователей;_mod - изменение записи в таблице пользователей;

Добавление новых записей и чтение информации организуется стандартными средствами объекта DataSet среды.net.

Пример создания хранимой процедуры на изменение записи о проектеPROCEDURE project_mod

@id int,

@name nvarchar (50),

@idManager int,

@idClient int,

@timeStart smalldatetime,

@timeFin smalldatetime,

@timeDeadline smalldatetime[Projects5thBase]. [dbo]. [project][name] = @name

, [idManager] = @idManager

, [idClient] = @idClient

, [timeStart] = @timeStart

, [timeFin] = @timeFin

, [timeDeadline] = @timeDeadline[id] = @id

Для каскадного удаления записи о проекте и входящих в него задач создан триггерTRIGGER DelProject ON [Projects5thBase]. [dbo]. [project]OF DELETEFROM taskidProject IN (SELECT id FROM deleted)

Для формирования таблицы "горящих проектов" создана хранимая процедура

Учитывается состояние задач, входящих в состав проекта. В случае, если все задачи завершены, проект считается закрытым и в выборку не включается.PROCEDURE getBurningProjects3[name] as Проект, [timeFin] as "Время окончания", [timeDeadline] as "Крайний срок"[dbo]. [project][timeFin] > [timeDeadline] AND

[dbo]. [project]. [id] IN (SELECT [idProject] FROM [dbo]. [task] WHERE [dbo]. [task]. [fin] = 0)


Организационное проектирование


Группы пользователей

Менеджер - пользователь имеет доступ к таблицам клиентов проектов задач и пользователей. В эту группу включается руководящий состав предприятия.

Специалист - пользователь имеет возможность работы с таблицами клиентов проектов и задач, но не может управлять пользовательскими записями. В эту группу входят все сотрудники предприятия, не вошедшие в группу менеджер.

Оснащение информационной системы

Современный сервер под управлением ОС семейства Windows NT.

Минимальные системные требования соответствуют требованиям для запуска Microsoft SQL Server:

процессор Intel (или совместимый) с тактовой частотой от 1 ГГц (рекомендуется от 2 ГГц);

ОЗУ от 512 МБ (рекомендуется от 2 ГБ).

Рабочие станции под управлением ОС Windows XP, Windows Vista, Windows 7, Windows 8.

Минимальные системные требования соответствуют требованиям для установки Windows XP:

процессор Intel (или совместимый) с тактовой частотой от 233 МГц (рекомендуется от менее 300 МГц)

ОЗУ от 64 МБ (рекомендуется от 128 МБ);

видеокарта и монитор, поддерживающие режим Super VGA с разрешением не менее чем 800x600 точек;

клавиатура, мышь.

Сеть со скоростью передачи данных от 10 Мб/с и поддержкой протокола TCP/IP.


Источники информации


Ванеев О.Н. - Методические указания по выполнению курсового проекта по дисциплине "Управление данными" для студентов 3 курса специальности 230201 "Информационные системы и технологии". - Кемерово: КузГТУ, 2009.

Фленов М.Е. - Библия С#.2-е издание - 2011.

Ишкова Э.А. - C# Начала программирования - 2007.

Троелсен.э. - С# и платформа.net. Библиотека программиста - 2006.

Хендерсон К. - Профессиональное руководство по SQL Server: хранимые процедуры, XML HTML - 2005.

Ванеев О.Н. - Управление данными / Методические указания к лабораторным работам по курсу "Управление данными" для студентов специальности 230201 "Информационные системы и технологии" Часть II - Кемерово: КузГТУ, 2011.

Ванеев О.Н. - Нормализация реляционных отношений / Методические указания к лабораторной работе по курсу "Управление данными" для специальности 071900. - Кемерово: КузГТУ, 2005.

Евсеева О.Н. - Работа с базами данных на языке C#. Технология ADO.net / Учебное пособие для студентов, обучающихся по специальности 08080165. - Ульяновск: УлГТУ, 2009.

Работа с COM сервером Excel http://wladm. narod.ru/C_Sharp/comexcel.html <http://wladm.narod.ru/C_Sharp/comexcel.html>

Microsoft Developer Network http://msdn. microsoft.com <http://msdn.microsoft.com># и я.

<http://csharp-and-i.ru>

Киберфорум, подраздел Подразделы: C#.net <http://www.cyberforum.ru/csharp-net/>.ru: Работа с данными в таблицах ADO.net http://www.sql.ru/docs/accessingdata/ado/net/7. shtml <http://www.sql.ru/docs/accessingdata/ado/net/7.shtml>


Федеральное агентство по образованию Государственное образовательное учреждение Высшего профессионального образования "Кузбасский государственный

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ