Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса Управление документооборотом

Содержание:

ВВЕДЕНИЕ

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

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

В данной работе будет рассматриваться процесс автоматизации документооборота Федерального государственного бюджетного учреждения «Научно-технический институт межотраслевой информации» (далее по тексту – НТИМИ).

Цель работы – спроектировать автоматизированную систему для управления документооборотом.

Для достижения поставленной цели необходимо выполнить следующие задачи:

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

1. АНАЛИТИЧЕСКАЯ ЧАСТЬ

1.1. Выбор комплекса задач автоматизации

Федеральное государственное бюджетное учреждение «Научно-технический институт межотраслевой информации».

Это некоммерческая организация, созданная в 1981 г. в целях обеспечения реализации полномочий законодательства Российской Федерации в сфере образования, науки, а также в иных сферах, в том числе путем выявления тенденций развития науки, техники и технологий, обеспечения реализации инновационных проектов, организации практического использования и внедрения новейших достижений науки, техники и технологий.

Институт создан в соответствии с постановлением Совета Министров СССР в 1981 г. как Научно-технический институт межотраслевой информации при Государственном комитете СССР по науке и технике.

Направления деятельности

  1. Изучение отечественных и зарубежных научно-технических достижений
  2. Выявление тенденций развития мирового рынка технологических инноваций
  3. Внедрение новейших достижений науки, техники и технологий
  4. Поддержка и реализация инновационных проектов

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

Направления исследований

  1. Нанотехнологии и новые материалы
  2. Ядерная, водородная, альтернативная энергетика и энергоэффективность
  3. Фемтосекундные технологии
  4. Биотехнологии
  5. Ресурсо- и энергосберегающие технологии
  6. Машиностроение
  7. Медицина и здравоохранение
  8. Агропромышленный комплекс
  9. Транспортные и космические системы
  10. Информационно-коммуникационные технологии

Экспертная деятельность института охватывает целый спектр услуг, в числе которых:

  1. Сравнительный анализ мировых научно-технических достижений
  2. Информационное обеспечение федеральных целевых программ
  3. Регистрация договоров МНТС
  4. Подготовка тематических аналитических обзоров
  5. Экспертиза проектов и анализ патентной чистоты
  6. Технологический аудит

Применяемые технологии

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

1.2. Характеристика существующих бизнес-процессов

Целью работы является разработка системы автоматизации документооборота для НТИМИ. В настоящее время этот процесс осуществляется на предприятии следующим образом.

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

На полученном документе в правом нижнем углу лицевой стороны проставляется регистрационный штамп, содержащий учетный номер и дату поступления. Документы с грифом «лично» специалистом не вскрываются и передаются адресату. Документация, поступающая на имя директора, передается его секретарю.

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

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

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

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

После рассмотрения документов директор наносит резолюцию – распределяет поручения между заместителями. Если документ требует контроля исполнения, то секретарь ставит его на контроль и вносит данные в «Учетно-контрольный реестр документов, требующих исполнения и ответа».

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

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

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

Таким образом, необходимость создания автоматизированной системы делопроизводства, объясняется:

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

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

Используются следующие активные объекты (механизмы)

  • ответственный за делопроизводство (получатель);
  • руководитель;
  • исполнители.

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

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

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

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

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

Процесс обработки исполненных документов состоит в проверке правильности отчета об исполнении документа и его снятии с контроля путем внесения отметки.

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

К внутренним документам относятся приказы и распоряжения. Прохождение внутренних документов на этапах их подготовки и оформления организуется в соответствии с общим порядком обращения исходящих документов, а на этапе исполнения (использования) — входящих документов.

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

  • ведение «Реестра документов, требующих исполнения и ответа»;
  • ведение журналов входящей и исходящей корреспонденции;
  • создание контрольно-регистрационных карточек, с указанием необходимых атрибутов и краткого содержания документа;
  • формирование отчета «Просроченные документы»;
  • поиск документа по его реквизитам;
  • вывод на печать «Учетно-контрольного реестра документов, требующих исполнения и ответа» и отчетов;
  • вывод на печать журналов входящей и исходящей корреспонденции.

1.3. Характеристика документооборота, возникающего при решении задачи

Схема документооборота вышеперечисленных документов приведена на рисунке 1.1.

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

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

Таблица 1.1

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

Наименование операции

Количество, в рабочий день

Затрачиваемое время на одну, мин

Итого в рабочий день, минут

Стоимостная оценка, рублей

Внесение записи в журнал

8

40

320

793,6

Поиск данных по конкретному документу

4

30

120

297,6

Подготовка отчета по движению документа

4

10

40

99,2

Формирование реестра документов, требующих исполнения

4

15

60

148,8

Итого:

540

1339,2

Рисунок 1.1. Схема документооборота

Таблица 1.2

Временные и стоимостные затрат при планируемом варианте

Наименование операции

Количество, в рабочий день

Затрачиваемое время на одну, мин

Итого в рабочий день, минут

Стоимостная оценка, рублей

Внесение записи в журнал

4

1

4

9,92

Поиск данных по конкретному документу

4

1

4

9,92

Подготовка отчета по движению документа

4

10

40

99,2

Формирование реестра документов, требующих исполнения

4

10

40

99,2

Итого:

88

218,24

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

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

При этом временные затраты должны сократиться на 540-88=452 минуты=7, 5 часов и 1339-218=1121 рубль в сутки. Следовательно, внедрение такой системы является однозначно выгодным с точки зрения оптимизации расхода трудовых и стоимостных ресурсов.

Разрабатываемая система должна удовлетворять следующим требованиям:

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

1.4. Обоснование проектных решений по информационному обеспечению

Информационное обеспечение (ИО) системы управления персоналом представляет собой информационную модель работы сотрудников предприятия.

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

К информационному обеспечению в рамках данного проекта относятся:

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

Выходная информация – трудовой договор, приказы о приеме на работу, об увольнении и т.д.

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

Условно-постоянная информация будет храниться в справочниках. В системе потребуются следующие справочники:

  • отделы;
  • роли пользователей;
  • пользователи;
  • виды документов;
  • номенклатура;
  • папки.

Для ввода первичной информации понадобятся следующие формы:

  • учет отделов;
  • учет ролей;
  • составление номенклатуры;
  • учет пользователей;
  • создание папки;
  • регистрация документа.

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

  • трудовая книжка;
  • штатное расписание;
  • документ.

Результатной информацией для задачи автоматизации делопроизводства являются следующие документы:

  • список сотрудников;
  • список документов по категориям и типам;
  • список контрагентов;
  • список клиентов.

В системе мы используем три классификатора, которые были разработаны ранее и используются в корпоративной ИС:

  • Клиенты;
  • Сотрудники;
  • Отделы.

Классификатор клиентов.

Данный классификатор был введён для идентификации клиентов.

1. система кодирования – порядковая

2. количество признаков классификации – 1

3. объекты кодирования: клиенты

4. структурная формула классификатора

Классификатор сотрудников

Данный классификатор вводится для идентификации сотрудников

1. система кодирования – порядковая

2. количество признаков классификации – 1

3. объекты кодирования: сотрудники

4. структурная формула классификатора

Классификатор отделов

Данный классификатор вводится для идентификации отделов

1.система кодирования – порядковая, 2. количество признаков классификации – 1, 3. объекты кодирования: отделы

4. структурная формула классификатора

В таблице 1.3 приведены кодируемые множества

Таблица 1.3

Кодируемые множества

Наименование

Значность кода

Система кодирования

Сотрудники

4

порядковая

Клиенты

2

порядковая

Отделы

2

порядковая

В таблице 1.4 представлен классификатор «Сотрудники»

Таблица 1.4

Классификатор «Сотрудники»

Сотрудники

Код

Сотрудник 1

1001

………

Сотрудник N

100N

………….

В таблице 1.5 представлен классификатор «Отделы»

Таблица 1.5

Классификатор «Отделы»

Отделы

Код

Отделы

01-48

Отдел 1

01

………

Отдел N

0N

……………………….

В таблице 1.6 представлен классификатор «Клиенты»

Таблица 1.6

Классификатор «Клиенты»

Клиенты

Код

Клиенты

1001-9900

Клиент 1

1001

………

Клиент N

100N

………………………

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

1.5. Обоснование проектных решений по программному обеспечению

В НТИМИ на рабочих станциях пользователей системы установлена ОС линейки Microsoft Windows: Windows 7, Windows XP. На серверах установлена Microsoft Windows 2008 Server. На приобретаемый сервер с целью совместимости всех компонентов системы рекомендуется установить последнюю версию серверной операционной системы Microsoft Windows 2008 Server.

Далее выберем СУБД. Рассмотрим такие продукты, как MS SQL Server и MySQL.

  1. MS SQL Server – очень распространенная, достаточно надежная, быстрая клиент-серверная СУБД. Часто используется для промышленных систем автоматизации. Версия MS SQL Server Express распространяется бесплатно, но имеет некоторые технические ограничения (максимальный размер базы не должен превышать 4 Гб, поддерживается только 1 процессор, адресуемая память составляет 1 Гб, и т.п.). Такие ограничения делают её непригодной для развертывания больших баз данных, но она вполне годится для ведения программных комплексов в масштабах небольшой компании.
  2. MySQL – свободно распространяемая клиент-серверная СУБД, высокопроизводительная, обеспечивающая высокий уровень защиты данных. Доступ к серверу MySQL можно осуществить в интерактивном режиме с помощью различных интерфейсов, позволяющих вводить запросы и просматривать полученные результаты. Имеются программные интерфейсы для таких языков, как С, Perl, Java, PHP и Python.

При создании веб-ориентированных систем, основанных на динамических страницах, есть несколько альтернатив в выборе интерпретатора языка программирования: ASP, JSP, Perl, PHP, Ruby, Python. Все представленные варианты предоставляют возможности, необходимые для реализации приложения.

Однако, ASP – технология Microsoft, которая, прежде всего, ориентирована на взаимодействие с другими продуктами Microsoft, а, кроме того, является коммерческой технологией. Недостатки JSP, Ruby и Python – небольшая распространенность в России, и, как следствие, отсутствие квалифицированных специалистов на рынке труда. Perl уступает PHP по доле проектов и занимает область классических скриптовых языков ОС семейства Unix.

PHP – скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP и смежными проектами, такими как PEAR или документация языка. В настоящее время PHP поддерживается подавляющим большинством представителей хостинга и входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP). [7]

В области программирования для сети PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP.

PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF. Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Программирование в рамках данного проекта осуществляется на языке PHP. Основные критерии выбора – распространенность (заменяемость разработчиков), высокое качество документирования функций, отсутствие необходимости устанавливать на веб-сервер дополнительное программное обеспечение.

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

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

Существует два наиболее распространенных веб-сервера:

  • Apache –– веб-сервер с открытым исходным кодом, наиболее часто используется в Unix-подобных ОС;
  • IIS –– веб-сервер от компании Microsoft, как правило, используется на ОС семейства Microsoft Windows.

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

Достоинством IIS является интеграция с другими продуктами компании Microsoft. К существенному недостатку IIS можно отнести сложность интеграции сервера с интерпретатором PHP, что в свою очередь усложняет настройку и использования этого сервера.

В соответствии с принятыми решениями для обеспечения функционирования разрабатываемой системы необходима установка веб-сервера Apache. Кроме того, обязательна поддержка языка программирования PHP. Также дополнительно устанавливается СУБД MySQL. В таком виде информационная система учреждения полностью готова к внедрению разрабатываемой системы.

2. ПРОЕКТНАЯ ЧАСТЬ

2.1. Информационная модель и её описание

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

Информационная система работает со справочниками Отделы, Сотрудники, Контрагенты, Типы и Категории документов, Клиенты, экранными формами ввода документов. Информационная система формирует выборки по типам и категориям документов.

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

Администратор системы регистрирует сотрудников, изменяя содержимое таблицы «Сотрудники». Также он изменяет содержимое данной таблицы, редактируя данные для доступа к системе каждого сотрудника.

Сотрудник регистрирует документы, используя документ и справочники Типы документов, Категории документов, Контрагенты и Клиенты и изменяя содержимое таблицы Документы.

ИМ.jpg

Рис.2.1. Информационная модель

2.2. Характеристика нормативно-справочной, входной и оперативной информации

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

- трудовая книжка;

- штатное расписание;

- документ.

Трудовая книжка сотрудника используется при регистрации его в системе. Источником получения данного документа является отдел кадров. При этом из нее используются следующие реквизиты:

- фамилия, имя, отчество;

- дата рождения;

- наименование должности;

- наименование отдела.

Частота возникновения данного документа – по мере регистрации новых сотрудников, объем – около 10 строк.

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

Документ является основным входным документом. При регистрации документа в системе задействуются следующие реквизиты:

- наименование;

- тип документа;

- дата подготовки или поступления;

- количество страниц;

- описание документа;

- электронная копия документа.

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

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

Таблица 2.1

Перечень используемых справочников

№ пп

Название справочника

Ответственный за ведение

Средний объём справочника в записях

Средняя частота актуализации

Средний объем актуализации, %

1

Отделы

Администратор

45

1 раз в месяц

10

2

Документы

Администратор

10

1 раз в год

10

3

Клиенты

Администратор

2000

1 раз в год

10

4

Типы документов

Администратор

50

1 раз в месяц

25

5

Категории документов

Администратор

20

1 раз в месяц

25

6

Контрагенты

Администратор

20

1 раз в год

10

7

Сотрудники

Администратор

20

1 раз в месяц

25

Справочник Отделы имеет следующие реквизиты:

- код отдела;

- полное наименование отдела;

- сокращенное наименование отдела.

Справочник Сотрудники имеет следующие реквизиты:

  • фамилия;
  • имя;
  • отчество;
  • дата рождения
  • пароль
  • логин
  • дата регистрации

Справочник Клиенты:

  • полное наименование
  • краткое наименование
  • фактический адрес
  • юридический адрес
  • банковские реквизиты;
  • контактное лицо;
  • телефон
  • e-mail;
  • дата регистрации

Справочник Контрагенты:

  • полное наименование;
  • краткое наименование;
  • регион;
  • телефоны;
  • сайт;
  • номер лицензии;
  • статус;
  • активы- нетто;
  • адрес фирмы и филиалов.

Справочник Типы документов включает в себя наименование типа документа и код категории.

Справочник Категории содержит наименования категорий документов.

2.3. Характеристика результатной информации

Результатной информацией для задачи автоматизации делопроизводства являются следующие документы:

- список сотрудников;

-список документов по категориям и типам;

- список контрагентов;

- список клиентов.

В списке сотрудников имеются следующие реквизиты:

- фамилия, имя, отчество сотрудников;

- дата регистрации;

- должность;

- отдел;

- дата рождения;

- логин и пароль для доступа в систему.

Данный документ формируется на основе справочников Отделы и Сотрудники.

Списки документов имеют следующие реквизиты:

- наименование документа;

- дата регистрации;

- краткое описание;

- количество страниц;

- адресат;

- ссылка на электронную версию документа;

-тип документа;

- категория документа;

- код клиента.

Список контрагентов содержит перечень контрагентов со всеми реквизитами, так же, как и список клиентов.

2.4. Общие положения (дерево функций и сценарий диалога)

Разрабатываемый программный продукт автоматизирует функции документооборота института.

В разработанной системе предусмотрено 2 вида пользователей;

  • Делопроизводитель;
  • Администратор.

Дерево функций для каждого из пользователей представлено на рисунках 2.2-2.3.

ДФ1.jpg

Рис. 2.2 Дерево функций системы для пользователя

Рис. 2.3 Дерево функций системы для администратора

Сценарии диалога для соответствующих пользователей системы приведены на рисунках 2.4-2.5.

СД1.jpg

Рис. 2.4 Сценарий диалога для пользователя

Сд2.jpg

Рис. 2.5 Сценарий диалога для администратора системы

2.5. Характеристика базы данных

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

Таблица 2.2

Перечень сущностей и их соответствие информационной модели

Название сущности в информационной модели

Идентификатор таблицы

Справочник «Отделы»

Otdel

Справочник «Сотрудники»

Sotr

Справочник «Клиенты»

Klient

Справочник «Типы документов»

Tipi

Справочник «Категории документов»

Kategorii

Справочник «Контрагенты»

Kontragent

Таблица «Документы»

Dok

ER-диаграмма базы данных представлена на рисунке 2.6.

Характеристика каждой таблицы базы данных приведена ниже, в таблицах 2.3-2.9.

Таблица 2.3

Таблица Документы

Идентификатор

Тип данных

Примечание

 idd 

int(11)

Код документа

 ids 

int(5)

Код сотрудника

 named 

varchar(45)

Наименование

 idkd 

int(5)

Код типа

 datepod 

varchar(45)

Дата подготовки

 datez 

timestamp

Дата и время регистрации

 kolvostr 

varchar(45)

Количество страниц

 prim 

varchar(45)

Примечание

 otkuda 

varchar(45)

Адресат

 link 

text

Ссылка на документ

 status 

int(1)

Статус

 archiv 

int(1)

Флаг помещения в архив

 rnp 

int(1)

Флаг резолюции начальника отдела

БД.png

Рис. 2.6 ER-диаграмма базы данных

Таблица 2.4

Таблица Отделы

Идентификатор

Тип данных

Примечание

 idOtd 

int(11)

Код отдела

 nameOtd 

varchar(100)

Наименование отдела

 KrNameOtd 

varchar(10)

Краткое наименование отдела

Таблица 2.5

Таблица Сотрудники

Идентификатор

Тип данных

Примечание

 idsotr 

int(11)

Код сотрудника

 name 

varchar(45)

Фамилия

 dolg 

int(2)

Код должности

 login 

varchar(10)

Логин

 parol 

varchar(10)

Пароль

 dates 

timestamp

Дата регистрации

 surname 

varchar(45)

Имя и отчество

 datebor 

varchar(14)

Дата рождения

 udal 

int(1)

Отметка об удалении

Таблица 2.6

Таблица Типы документов

Идентификатор

Тип данных

Примечание

idtip 

int(11)

Код типа документа

 namet 

varchar(10)

Наименование типа документа

idkat_tip

int(11)

Код категории документов

Таблица 2.7

Таблица Клиенты

Идентификатор

Тип данных

Примечание

 idKlient 

Код клиента

Код клиента

 namekl 

Наименование

Наименование

 krnamekl 

Краткое наименование

Краткое наименование

 adresskl 

Фактический адрес

Фактический адрес

 uradrkl 

Юридический адрес

Юридический адрес

 banrekKl 

Реквизиты

Реквизиты

 kontlizoKl 

Контактное лицо

Контактное лицо

 tlfKl 

Телефон

Телефон

 emailKl 

Адрес электронной почты

Адрес электронной почты

 dateregKl 

Дата регистрации

Дата регистрации

 udalKl 

Отметка об удалении

Отметка об удалении

Таблица 2.8

Таблица Контрагенты

Идентификатор

Тип данных

Примечание

idb

int(11)

Код

nameb

text

Наименование

fullnameb

text

Полное наименование

region

text

Регион

telefon

varchar(255)

Телефоны

site

varchar(100)

Сайт

number_liz

varchar(10)

Номер лицензии

status_uch_vkl

text

Статус участника системы страхования вкладов

activi

text

Размер активов

adres

text

Адрес

Таблица 2.9

Таблица Категории документов

Идентификатор

Тип данных

Примечание

idkat

int(11)

Код категории документа

namekat

text

Наименование категории документа

2.6. Структурная схема пакета (дерево вызова программных модулей)

Структурная схема пакета представлена на рисунке 2.7.

Рис.2.7. Структурная схема пакета

2.7. Описание программных модулей

Описание программных модулей приведено в таблице 2.10.

Таблица 2.10

Описание функций модулей

Наименование модуля

Функции модуля

Модуль безопасности

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

Модуль инициализации программы

После успешного входа в систему, запускает программу, используя настройки прав доступа для учетной записи пользователя

Модуль взаимодействия с базой данных

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

Модуль справочной системы

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

Модуль главного меню

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

Модуль «Отчеты»

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

Модуль «Справочники»

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

Модуль «Пользователи»

Содержит процедуры функции, позволяющие управлять списками пользователей (если позволяют права доступа)

Модуль «Регистрация»

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

2.8. Контрольный пример реализации проекта и его описание

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

Рисунок 2.8. Регистрация должностей

Рисунок 2.9. Форма учета отделов

После заполнения Справочника Должности следует заполнить Справочник Сотрудники (рисунок 2.10).

Рисунок 2.10. Справочник Сотрудники

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

Рисунок 2.11. Выбор категории документа

После чего можно перейти к регистрации документа:

Мотив - admin - stroitexsnab.png

Рисунок 2.12. Форма регистрации первичного документа

Администратор в панели управления может редактировать как фомы регистрации документа, так и карточки документов:

Рисунок 2.13. Редактирование карточки внутренних документов

Данные формы идентичны, за исключением перечня типов документа, который разный в каждой категории.

После регистрации сотрудник может получить список документов по категориям:

Рисунок 2.14. Форма для получения списков документов

Рисунок 2.15. Список документов

Листинг основных программных модулей приведен в Приложении.

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

СПИСОК ЛИТЕРАТУРЫ

  1. ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы»
  2. Белов Е.Б, Лось В.П. и др. Основы информационной безопасности. - М.: Горячая линя - Телеком, 2010. – 544 с.
  3. Вигерс К. Разработка требований к программному обеспечению, пер, с англ. - Москва.: «Русская Редакция», 2010. – 576 с.
  4. Гвоздева Т.В. Проектирование информационных систем. – Ростов-на-Дону: Феникс, 2009. – 512 с.
  5. Грекул В.И. Проектирование информационных систем. – Москва.: Интуит, 2008. – 304 с.
  6. Диго С.М. Базы данных: проектирование и использование: Учебник. – Москва.: Финансы и статистика, 2007. – 592 с.
  7. Додонова И.В., Кабанова О.В. Автоматизированная обработка банковской информации. – Москва.: КноРус, 2008. – 176 с.
  8. Елиферов В.Г., Репин В.В. Бизнес-процессы. Регламентация и управление. – Москва.: Инфра-М, 2009. – 320 с.
  9. Емельянова Н.З. Проектирование информационных систем. – Москва.: Форум, 2009. – 432 с.
  10. Козлов А.С. Проектирование и исследование бизнес-процессов. – Москва.: Флинта, 2007. – 272 с.
  11. Меняев М.Ф, Информационные технологии управления: Книга 3: Системы управления организацией, Москва.: Омега-Л, 2008. - 464 с.
  12. Мещеряков С.В., Иванов В.М. Эффективные технологии создания информационных систем. – Москва.: Политехника, 2009. – 309 с.
  13. Мишенин А.И. Теория экономических информационных систем. – Москва.: Финансы и статистика, 2010. – 240 с.
  14. Овчинников, В.Г. Методология проектирования автоматизированных информационных систем. Основы системного подхода. – Москва.: Компания Спутник+, 2009. – 286 с.
  15. Орлик С., Булуй Ю, Введение в программную инженерию и управление жизненным циклом ПО Программная инженерия. Программные требования
  16. Пестриков, В. М. Delphi на примерах / В. М. Пестриков, А. Н. Маслобоев. — СПб. : БХВ-Петербург, 2008. — 496 с.
  17. Репин В.В. Бизнес-процессы компании. Построение, анализ, регламентация. – Москва.: Стандарты и качество, 2009. – 240 с.
  18. Титоренко Г.А. Автоматизированные информационные технологии в экономике: Учебник. – Москва.: ЮНИТИ, 2009. – 399с.

Приложение

Листинг программы

<?php

$settings = array(

'baseDir' => '../',

'charSet' => 'utf-8',

'debug' => true,

'gzip' => true,

'compressionLevel' => 9,

'gzipExceptions' => array('gif','jpeg','jpg','png','swf'),

'minify' => true,

'concatenate' => true,

'separator' => ',',

'embed' => true,

'embedMaxSize' => 5120,

'embedExceptions' => array('htc'),

'serverCache' => true,

'serverCacheCheck' => false,

'cacheDir' => 'cache/',

'cachePrefix' => 'so_',

'clientCache' => true,

'clientCacheCheck' => false,

);

//mime types

$mimeTypes = array(

"js" => "text/javascript",

"css" => "text/css",

"htm" => "text/html",

"html" => "text/html",

"xml" => "text/xml",

"txt" => "text/plain",

"jpg" => "image/jpeg",

"jpeg" => "image/jpeg",

"png" => "image/png",

"gif" => "image/gif",

"swf" => "application/x-shockwave-flash",

);

function headerExit($status) {

header("HTTP/1.0 $status");

exit();

}

function headerNoCache() {

// already expired

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// always modified

header("Last-Modified: " . gmdatestr());

// HTTP/1.1

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Cache-Control: max-age=0", false);

// HTTP/1.0

header("Pragma: no-cache");

//generate a unique Etag each time

header('Etag: '.microtime());

}

function headerNeverExpire(){

header("Expires: " . gmdatestr(time() + 315360000));

header("Cache-Control: max-age=315360000");

}

function debugExit($msg){

global $settings;

if (!$settings['debug']) {

headerExit('404 Not Found');

}

headerNoCache();

header('Content-Type: text/html; charset='.$settings['charSet']);

header("Content-Encoding: none");

echo "//<script>\n";

echo "alert('SmartOptimizer Error: ".str_replace("\n", "\\n", addslashes($msg))."');\n";

echo "//</script>\n";

exit();

}

function gmdatestr($time = null) {

if (is_null($time)) $time = time();

return gmdate("D, d M Y H:i:s", $time) . " GMT";

}

function filesmtime() {

global $files, $fileType;

static $filesmtime;

if ($filesmtime) return $filesmtime;

$filesmtime = max(@filemtime("minifiers/$fileType.php"), filemtime('index.php'), filemtime('config.php'));

foreach ($files as $file) {

if (!file_exists($file)) debugExit("File not found ($file).");

$filesmtime = max(filemtime($file), $filesmtime);

}

return $filesmtime;

}

@include('config.php');

list($query) = explode('?', urldecode($_SERVER['QUERY_STRING']));

if (preg_match('/^\/?(.+\/)?(.+)$/', $query, $matchResult)) {

$fileNames = $matchResult[2];

$fileDir = $settings['baseDir'].$matchResult[1];

} else debugExit("Invalid file name ($query)");

if (strpos(realpath($fileDir), realpath($settings['baseDir'])) !== 0) debugExit("File is out of base directory.");

if ($settings['concatenate']) {

$files = explode($settings['separator'], $fileNames);

$settings['concatenate'] = count($files) > 1;

} else $files = array($fileNames);

foreach ($files as $key => $file) {

if (preg_match('/\.([a-z0-9]+)$/i', $file, $matchResult)) {

$fileTypes[] = strtolower($matchResult[1]);

} else debugExit("Unsupported file ($file)");

$files[$key] = $fileDir.$file;

}

if ($settings['concatenate']) {

if (count(array_unique($fileTypes)) > 1) debugExit("Files must be of the same type.");

}

$fileType = $fileTypes[0];

if (!isset($mimeTypes[$fileType])) debugExit("Unsupported file type ($fileType)");

header("Content-Type: {$mimeTypes[$fileType]}; charset=".$settings['charSet']);

$settings['gzip'] =

($settings['gzip'] &&

!in_array($fileType, $settings['gzipExceptions']) &&

in_array('gzip', array_map('trim', explode(',' , @$_SERVER['HTTP_ACCEPT_ENCODING']))) &&

function_exists('gzencode'));

if ($settings['gzip']) header("Content-Encoding: gzip");

$settings['minify'] = $settings['minify'] && file_exists('minifiers/'.$fileType.'.php');

$settings['embed'] = $settings['embed'] && $fileType == 'css' && (!preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('/msie 8|opera/i', $_SERVER['HTTP_USER_AGENT']));

$settings['serverCache'] = $settings['serverCache'] && ($settings['minify'] || $settings['gzip'] || $settings['concatenate'] || $settings['embed']);

if ($settings['serverCache']) {

$cachedFile = $settings['cacheDir'].$settings['cachePrefix'].md5($query.($settings['embed']?'1':'0')).'.'.$fileType.($settings['gzip'] ? '.gz' : '');

}

$generateContent = ((!$settings['serverCache'] && (!$settings['clientCache'] || !$settings['clientCacheCheck'] || !isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || $_SERVER['HTTP_IF_MODIFIED_SINCE'] != gmdatestr(filesmtime()))) ||

($settings['serverCache'] && (!file_exists($cachedFile) || ($settings['serverCacheCheck'] && filesmtime() > filemtime($cachedFile)))));

if ($settings['clientCache'] && $settings['clientCacheCheck']) {

if ($settings['serverCache'] && !$generateContent) $mtime = filemtime($cachedFile);

elseif ($settings['serverCache']) $mtime = time();

else $mtime = filesmtime();

$mtimestr = gmdatestr($mtime);

}

if (!$settings['clientCache'] || !$settings['clientCacheCheck'] || !isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || $_SERVER['HTTP_IF_MODIFIED_SINCE'] != $mtimestr) {

if ($settings['clientCache'] && $settings['clientCacheCheck']) {

header("Last-Modified: " . $mtimestr);

header("Cache-Control: must-revalidate");

} elseif ($settings['clientCache']) {

headerNeverExpire();

} else headerNoCache();

if ($generateContent) {

if ($settings['minify']) include('minifiers/'.$fileType.'.php');

$content = array();

foreach ($files as $file) (($content[] = @file_get_contents($file)) !== false) || debugExit("File not found ($file).");

$content = implode("\n", $content);

if ($settings['minify']) $content = call_user_func('minify_' . $fileType, $content);

if ($settings['gzip']) $content = gzencode($content, $settings['compressionLevel']);

if ($settings['serverCache']) {

$handle = @fopen($cachedFile, 'w') or debugExit("Could not create cache file($cachedFile).");

fwrite($handle, $content);

fclose($handle);

}

header('Content-Length: ' . strlen($content));

echo $content;

} else {

header('Content-Length: ' . filesize($cachedFile));

readfile($cachedFile);

}

} else headerExit('304 Not Modified');

?>

<?php

/*

* SmartOptimizer CSS Minifier

*/

function convertUrl($url, $count)

{

global $settings, $mimeTypes, $fileDir;

static $baseUrl = '';

$url = trim($url);

if (preg_match('@^[^/]+:@', $url)) return $url;

$fileType = substr(strrchr($url, '.'), 1);

if (isset($mimeTypes[$fileType])) $mimeType = $mimeTypes[$fileType];

elseif (function_exists('mime_content_type')) $mimeType = mime_content_type($url);

else $mimeType = null;

if (!$settings['embed'] ||

!file_exists($fileDir.$url) ||

($settings['embedMaxSize'] > 0 && filesize($fileDir.$url) > $settings['embedMaxSize']) ||

!$fileType ||

in_array($fileType, $settings['embedExceptions']) ||

!$mimeType ||

$count > 1) {

if (strpos($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME'].'?') === 0 ||

strpos($_SERVER['REQUEST_URI'], rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/').'/?') === 0) {

if (!$baseUrl) return $fileDir . $url;

}

return $baseUrl . $url;

}

$contents = file_get_contents($fileDir.$url);

if ($fileType == 'css') {

$oldFileDir = $fileDir;

$fileDir = rtrim(dirname($fileDir.$url), '\/').'/';

$oldBaseUrl = $baseUrl;

$baseUrl = 'http'.(@$_SERVER['HTTPS']?'s':'').'://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/').'/'.$fileDir;

$contents = minify_css($contents);

$fileDir = $oldFileDir;

$baseUrl = $oldBaseUrl;

}

$base64 = base64_encode($contents);

return 'data:' . $mimeType . ';base64,' . $base64;

}

function minify_css($str) {

$res = '';

$i=0;

$inside_block = false;

$current_char = '';

while ($i+1<strlen($str)) {

if ($str[$i]=='"' || $str[$i]=="'") {//quoted string detected

$res .= $quote = $str[$i++];

$url = '';

while ($i<strlen($str) && $str[$i]!=$quote) {

if ($str[$i] == '\\') {

$url .= $str[$i++];

}

$url .= $str[$i++];

}

if (strtolower(substr($res, -5, 4))=='url(' || strtolower(substr($res, -9, 8)) == '@import ') {

$url = convertUrl($url, substr_count($str, $url));

}

$res .= $url;

$res .= $str[$i++];

continue;

} elseif (strtolower(substr($res, -4))=='url(') {//url detected

$url = '';

do {

if ($str[$i] == '\\') {

$url .= $str[$i++];

}

$url .= $str[$i++];

} while ($i<strlen($str) && $str[$i]!=')');

$url = convertUrl($url, substr_count($str, $url));

$res .= $url;

$res .= $str[$i++];

continue;

} elseif ($str[$i].$str[$i+1]=='/*') {//css comment detected

$i+=3;

while ($i<strlen($str) && $str[$i-1].$str[$i]!='*/') $i++;

if ($current_char == "\n") $str[$i] = "\n";

else $str[$i] = ' ';

}

if (strlen($str) <= $i+1) break;

$current_char = $str[$i];

if ($inside_block && $current_char == '}') {

$inside_block = false;

}

if ($current_char == '{') {

$inside_block = true;

}

if (preg_match('/[\n\r\t ]/', $current_char)) $current_char = " ";

if ($current_char == " ") {

$pattern = $inside_block?'/^[^{};,:\n\r\t ]{2}$/':'/^[^{};,>+\n\r\t ]{2}$/';

if (strlen($res) && preg_match($pattern, $res[strlen($res)-1].$str[$i+1]))

$res .= $current_char;

} else $res .= $current_char;

$i++;

}

if ($i<strlen($str) && preg_match('/[^\n\r\t ]/', $str[$i])) $res .= $str[$i];

return $res;

}

?>