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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    462,69 Кб
  • Опубликовано:
    2014-01-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

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

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

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

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

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






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

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









Кемерово

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

Клиентская часть разрабатывается для студии web-дизайна "Пятое измерение" (#"701528.files/image001.gif">

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


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


Подход "тонкого клиента": через интерфейс запускаются хранимые на сервере процедуры и пользовательские функции. Это позволит сократить объём передаваемых данных, повысить скорость их обработки. Также допускается использование 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 точек;

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


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


Ванеев О.Н. - Методические указания по выполнению курсового проекта по дисциплине "Управление данными" для студентов 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>

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!