38983

Разработка корпоративного сайта для обеспечения документооборота предприятия ФГУП «Серовский Механический Завод»

Дипломная

Информатика, кибернетика и программирование

Исходя из вышеуказанной цели исследования его задачами является: Изучение основных аспектов разработки корпоративных систем документооборота посредством интранетсайта Изучить основные аспекты деятельности предприятия ФГУП Серовский механический завод и его ведение документооборота Выявить основные проблемы информационной среды в организации ФГУП Серовский механический завод и найти пути их решения Разработать интранетсайт на базе PHP и разработать сопровождающие документы на созданное приложение. С другой стороны PHP как...

Русский

2013-09-30

3.68 MB

37 чел.

PAGE  84

ФЕДЕРАЛЬНОЕ  АГЕНТСТВО  ПО  ОБРАЗОВАНИЮ

УРАЛЬСКИЙ ГУМАНИТАРНЫЙ ИНСТИТУТ

Факультет экономический

Кафедра «Математики и информатики»

Допустить к защите:

                                                     Зав. кафедрой

                                                              _______________ к.т.н., доц. С.В.Федулов

____________________________________

                                                               Декан факультета

                                                               ______________ к.э.н., доц. Н.Л.Савченко   

____________________________________

ДИПЛОМНАЯ РАБОТА

Тема: Разработка корпоративного сайта для обеспечения документооборота предприятия ФГУП «Серовский Механический Завод»

                                    Выполнена студентом:

                                        Д.С.Сомов, группа  ПИЭ-641 з

                                    Специальность 080801 «Прикладная информатика
                              (в экономике)»

                                              Специализация «Корпоративные экономические                   
                   информационные системы»                                                                

                                            Научный руководитель
   _____________________ ст.преп.  И.Н. Небольсина

Консультант по экономической части

_________________________ст.преп. А.А.Лепихин

                                          Рецензент

                                               _____________ и. о. нач. отд. АСУП О.И.Косаткина

                                           ГОСТ контроль ______________преп. С.А.Груздева

                                           Решение экспертной комиссии УрГИ

                                           Протокол №___ от «____»________________2011 г.

Екатеринбург

2011


Содержание

[1]
теоретические и методологические вопросы моделирования корпоративных информационных систем документооборота

[1.1] 1.1 Сущность, цели, задачи информационной системы в развитии государственных предприятий

[1.2] 1.2 Понятие и моделирование корпоративных информационных систем документооборота

[1.3] 1.3 Организация документооборота посредством Интернет - технологий

[2]
2 Проектирование системы управления внутрикорпоративными информационными потоками предприятия ФГУП «Серовский механический завод»

[2.1] 2.1 Требования к проектируемой системе

[2.2] 2.2 Характеристика объекта автоматизации

[2.3] 2.3 Основание для проведения работ

[2.4] 2.4 Описание среды программирования

[2.5] 2.5 Анализ подсистем проектируемой системы

[2.6] 2.6 Руководство администратора сайта

[2.7] 2.7 Структура базы данных MySQL

[2.8] Рисунок 24 – структура таблицы User (Пользователи)

[2.9] Листинг базы данных расположен в приложении 3.

[2.10] 2.8 Руководство пользователя сайта

[2.11] Ожидаемые технико-экономические результаты создания программы

[3]
3 Экономическая эфективность проекта

[3.1] 3.1 Экономическое обоснование разработки и внедрения интранет-сайта

[4]
Заключение

[5] Список использованных источников

[6]
Приложение 1

[7]
Приложение 2

[8]
Приложение 3

[8.1] Листинг базы данных MySQL

Введение

Федеральное государственное предприятие «Серовский механический завод», является коммерческой организацией и находится в ведомственном подчинении Российского агентство по безопасности. Организационно правовая форма – унитарное предприятие. Завод является одним из крупнейших предприятий города.

Основными видами деятельности предприятия являются:

  1.  Производство продукции по оборонному заказу,
  2.  Производство продукции для нефтедобывающей отрасли,
  3.  Производство продукции для геологоразведки,
  4.  Производство продукции для горнодобывающей отрасли.

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

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

В наибольшей степени автоматизация документооборота присутствует в сфере бухгалтерского учёта. Все операции в этой сфере переведены в систему «1С Предприятие 7.7».

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

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

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

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

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

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

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

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

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

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

Объект исследования – информационная среда Федерального государственного предприятия «Серовский механический завод» (далее ФГУП «Серовский механический завод»).

Предмет исследования – информационные потоки и документооборот на предприятии ФГУП «Серовский механический завод».

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

Исходя из вышеуказанной цели исследования, его задачами является:

  1.  Изучение основных аспектов разработки корпоративных систем документооборота посредством интранет-сайта,
  2.  Изучить основные аспекты деятельности предприятия ФГУП «Серовский механический завод» и его ведение документооборота,
  3.  Выявить основные проблемы информационной среды в организации ФГУП «Серовский механический завод» и найти пути их решения,
  4.  Разработать интранет-сайт на базе PHP и разработать сопровождающие документы на созданное приложение.

Научная новизна проблемы. Для предприятия ФГУП «Серовский механический завод» является принципиально новым направлением работа с документами посредством интранет-сайта во внутреннем обращении.

Степень и уровень научной разработанности проблемы.

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

Источниковая база исследования. 

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

Методология и методика научного исследования. 

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

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

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

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

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

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

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

Информационные ресурсы являются необходимым условием эффективной деятельности во всех сферах жизни общества. Количество и качество информационных ресурсов, степень их использования на рубеже XXI века становятся определяющими факторами уровня развития страны и ее статуса в мировом сообществе [3].

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

Основная часть информационных ресурсов России создана на средства государственного бюджета и сосредоточена в государственном секторе.

Подробный анализ состава, структуры и состояния государственных информационных ресурсов России содержится в регулярно подготавливаемом Минсвязи России Национальном докладе «Информационные ресурсы России».

За последние годы произошла существенная эволюция информационных потребностей. Снизился интерес к научно-технической информации, но резко возрос интерес к экономической, финансовой и правовой информации, особенно связанной с правами собственности [21, с.16-17].

Управление созданием информационных ресурсов государственных органов и организаций обычно осуществляется в рамках решения конкретных задач или выполнения отдельных функций этих органов и организаций и как особая сфера управления чаще всего не выделяется. В результате затруднен эффективный обмен полезной информацией между государственными организациями и, тем более, между различными ведомственными структурами, а также многоцелевое использование государственных информационных ресурсов. Определенными положительными явлениями на этом фоне являются сохранение стабильности функционирования Государственной системы статистики и Архивного фонда Российской Федерации, методическое руководство библиотечной сетью России со стороны Минкультуры России, воссоздание ГСНТИ под руководством Минпром науки России и некоторые другие примеры согласованного формирования и использования информационных ресурсов, содержащих сведения, предоставляемые организациями различной ведомственной и территориальной принадлежности.

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

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

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

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

Национальная стратегия по ИКТ также должна решить проблему растущего “информационного неравенства” между индустриально-развитыми и развивающимися странами, а также внутри страны между центром и регионами. Для преодоления “информационного неравенства” и развития регионального сотрудничества в России важное значение будет иметь осуществление международных проектов по созданию или использованию спутниковых телекоммуникационных систем [3].

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

Основные задачи в этой сфере:

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

Основные принципы государственной политики в сфере ИКТ:

  1.  Системность – принцип системного подхода к развитию и использованию информационно-коммуникационных технологий, обеспечение согласования целей информатизации,
  2.  Открытость – все основные мероприятия информационной политики открыто обсуждаются всем обществом и общественное мнение учитывается государством,
  3.  Доступность – каждый гражданин имеет право на обращение в органы государственной власти, общественные организации, частные и другие структуры по вопросам, затрагивающим его основные права и свободы, а также на получение запрашиваемой информации,
  4.  Принцип “первого руководителя”, означающий прямую заинтересованность и непосредственное участие в информатизации первых руководителей органов государственного управления, местного самоуправления, организаций и учреждений,
  5.  Принцип непрерывного развития инфраструктуры информатизации,
  6.  Социальная ориентация - основные мероприятия информационной политики государства направлены на обеспечение социальных интересов граждан и приоритетное финансирование соответствующих программ в сфере ИКТ,
  7.  Принцип достаточного правового обеспечения информатизации, соблюдения всех норм законодательства, регулирующего информационную сферу,
  8.  Информационная безопасность обеспечивает соблюдение конституционных прав и свобод граждан в области получения информации и пользования ею, а также достоверную информацию о государственной политике и включает в себя внедрение современных информационных технологий и защиту информационных ресурсов.

Целями государства в области управления информационными ресурсами является создание необходимых условий и эффективных механизмов для осуществления следующих функций:

  1.  Создание первичных и производных информационных массивов и продуктов, необходимых для выполнения всего комплекса задач государственного управления и реализации конституционных прав граждан на доступ к информации,
  2.  Надежное хранение и защита информационных ресурсов,
  3.  Эффективное использование информационных ресурсов в деятельности органов власти и государственных учреждений,
  4.  Обеспечение свободного доступа граждан и организаций к информационным ресурсам в соответствии с Конституцией и действующим законодательством Российской Федерации.

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

  1.  Координация деятельности различных ведомственных и региональных структур, а также организаций негосударственного сектора по формированию и использованию информационных ресурсов и создание, таким образом, условий для формирования единого информационного пространства,
  2.  Организация представления, сбора и обработки обязательно представляемой информации,
  3.  Учет государственных информационных ресурсов и обеспечение доступности информации о их размещении и условиях использования,
  4.  Организация финансирования и оптимизация затрат бюджетных средств на формирование, использование и защиту государственных информационных ресурсов,
  5.  Организация защиты государственных информационных ресурсов, контроль их состояния, сохранности и установленных в соответствии с законодательством режимов использования.

Существующая сегодня традиционная модель государственного управления разрабатывалась для послевоенного индустриального общества, которое основывалось на единстве потребностей людей в базовом медицинском обслуживании, образовании, жилье, социальном обеспечении и коммунальных услугах [4, с.136-138]. Тогда же были организованы крупные вертикальные министерства, осуществляющие руководство конкретной сферой деятельности. Эти организации отличались тем, что для выполнения поставленных задач им не требовалось взаимодействовать друг с другом. Существование разнородных сетей — вот характерная черта этого традиционного подхода к управлению, приводящего к обособленным системам и службам. Поэтому практически уже невозможно представить себе, что государственный аппарат, построенный по иерархическому принципу, может быть эффективным. Переход к информационному обществу ведет к коренному переосмыслению роли и структуры государственных служб — точно так же, как это случилось при появлении индустриального общества.

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

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

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

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

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

  1.  В кратчайшие сроки выйти в Интернет и адаптироваться к изменению всех условий,
  2.  Привлечь в Интернет граждан с помощью проведенных презентаций,
  3.  Предоставлять персонифицированные полезные услуги, доступные с любого устройства, делая тем самым эту операцию более интересной и легкой для граждан,
  4.  Обеспечивать высочайший уровень безопасности,
  5.  Интегрировать и автоматизировать процессы управления для достижения максимальной эффективности,
  6.  Ускорять принятие деловых и политических решений с помощью анализа в режиме реального времени,
  7.  Прогнозировать будущие потребности граждан,
  8.  Снижать расходы на сопровождение информационных технологий, используя проверенные архитектуры,
  9.  Снижать риски, применяя решения, обеспеченные технической поддержкой, и открытые стандарты.

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

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

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

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

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

1.2 Понятие и моделирование корпоративных информационных систем документооборота

В основе успешной деятельности любого предприятия лежит правильность и своевременность принятия решений руководством, гибкое реагирование на изменения ситуации на рынке или на предприятии. Постоянный рост объемов информации, необходимой для принятия управленческих решений, приводит к тому, что приходится получать, обрабатывать и хранить документы в большем количестве, чем раньше. Традиционные методы работы с документами становятся при этом малоэффективными. Кроме того, в современных непростых экономических условиях может теряться гибкость в реагировании на изменения рынка, вследствие чего дальнейший рост компании останавливается. Правильно организованный документооборот позволяет избежать таких «болезней роста». Решению задачи оптимизации документооборота активно способствует динамичное развитие современных компьютерных и сетевых технологий. Поэтому неоценимую роль в деятельности любого предприятия играет обеспечивающая бесперебойную циркуляцию его бизнес - потоков [15, с.22].

эффективная система управления электронным документооборотом (СЭД),

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

Если компьютерная сеть охватывает все рабочие места делопроизводственного персонала в структурных подразделениях организации, то появляется возможность использовать сеть для перемещения документов и централизованно отслеживать ход делопроизводственного процесса - вплоть до работы исполнителей над документами на их рабочих местах. Однако сегодня происходят парадоксальные вещи. Любое уважающее себя учреждение закупает высокопроизводительные персональные компьютеры, которые объединяются в локальную корпоративную сеть, что обеспечивает полную технологическую поддержку «электронного документооборота», но дальше использования техники для подготовки документа в текстовом редакторе с последующей его распечаткой на принтере дело не идет [21, c.24].

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

За несколько лет концепция электронного документа получила свое развитие от обычного графического образа документа до идеи управления документами. Сегодня электронный документ – это форма знакомого вида, обработка которой происходит с помощью последовательного применения тесно взаимосвязанных технологий в рамках так называемых Систем Управления Электронными Документами (СУД) или Electronic Document Management Systems (EDMS) [28, c.54].

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

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

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

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

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

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

В конечном итоге свойства приложений определяют требования, предъявляемые к остальным слоям и подсистемам корпоративной сети.

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

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

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

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

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

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

Система электронного документооборота (СЭД) должна выполнять следующие функции:

  1.  Создание, хранение, редактирование документов,
  2.  Управление доступом к документам,
  3.  Возможность интеграции с другими подсистемами интегрированной автоматизированной информационной системы и программными средствами, которые предназначены для работы с документами,
  4.  СЭД должна быть максимально ориентирована на целевую аудиторию и предусматривать для конечного пользователя удобный интерфейс.

Исходя из функционального назначения, будущей СЭД предъявляется ряд требований, условно разделяемых на две группы. К общим относятся те классические требования, которые предъявляются ко всем аналогичным системам, призванным решать проблемы обработки данных (масштабируемость, распределенность, открытость, модульность). К специальным можно отнести те специфические требования, которые актуальны именно для рассматриваемой СЭД, учитывая объективные условия ее дальнейшего функционирования [22, c.64].

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

  1.  Функциональность и гибкость системы,
  2.  Возможность дальнейшей модернизации и наращивания возможностей системы (в том числе, самостоятельного),
  3.  Интегрируемость с другими корпоративными системами - система документооборота не может и не должна существовать в отрыве от других систем, например, иногда необходимо интегрировать систему с прикладной бухгалтерской программой. Тогда система документооборота должна иметь открытые интерфейсы для возможной доработки и интеграции с другими системами,
  4.  Возможность распределенной удаленной работы и взаимодействия с другими филиалами – основные проблемы при работе с документами возникают в территориально-распределенных организациях, поэтому архитектура систем документооборота должна поддерживать взаимодействие распределенных мест. Причем распределенные места могут объединяться самыми разнообразными по скорости и качеству каналами связи. Также архитектура системы должна поддерживать взаимодействие с удаленными пользователями. Распределенное, расширяемое управление документами приводит к резкому повышению продуктивности работы сотрудников, усилению общей конкурентоспособности организации,
  5.  Масштабируемость – желательно,  чтобы система документооборота могла поддерживать, как пять, так и пять тысяч пользователей, и способность системы наращивать свою мощность определялось только мощностью соответствующего аппаратного обеспечения. Выполнение такого требования может быть обеспечено с помощью поддержки серверов баз данных производства таких компаний, как Sybase, Oracle, Informix и др., которые существуют практически на всех возможных программно-аппаратных платформах, тем самым обеспечивая самый широкий спектр производительности,
  6.  Модульность – вполне возможно, что заказчику может не потребоваться сразу внедрение всех компонентов системы документооборота, а иногда спектр решаемых заказчиком задач меньше, чем весь спектр задач документооборота. Тогда очевидно, что система документооборота должна состоять из отдельных модулей, интегрированных между собой,
  7.  Открытость.

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

Следует также обращать внимание на общую характеристику фирмы-разработчика (поставщика) системы (опыт комплексного решения подобных или более сложных задач, обеспечение всех этапов обследования предприятия, внедрения системы, обучения пользователей, сопровождения и развития системы, является ли фирма непосредственным разработчиком системы, есть ли у нее сервис-центр, квалификация специалистов, территориальное расположение) [14, c.123].

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

  1.  Пользователи – субъекты системы вместе со своими инструментальными средствами, обращающиеся к СЭД за информацией либо с целью выполнения определенных действий,
  2.  Система управления доступом – правила, в соответствии с которыми для каждого пользователя определен набор привилегий на соответствующий набор объектов (документов и/или действий над документами). Пользователи могут объединяться в группы с единым набором привилегий,
  3.  Система управления документами - алгоритмы обработки, создания, модификации и движения документов – это главное звено СЭД,
  4.  Система импорта-экспорта документов, обеспечивающая конвертацию документов различных типов в приемлемый формат и совместимость их с рядом других прикладных программ,
  5.  Система хранения данныхмодель данных и механизмы ее реализации, которая может быть организовано на нескольких уровнях: на уровне неструктурированной информации (файлы) и структурированной – базы данных.

Все компоненты взаимосвязаны, а функциональность всей СЭД обеспечивается функционированием каждой отдельной компоненты и их регламентированным взаимодействием друг с другом [17, c.35].

Сегодня объем рынка систем электронного документооборота (СЭД) в России растет чрезвычайно быстрыми темпами. Во многом это объясняется тем, что и государственные учреждения, и коммерческие компании хотят получить реальную отдачу от многолетних инвестиций в свою информационную инфраструктуру. Использование системы электронного документооборота позволит существенно повысить эффективность выполнения важных управленческих процедур при минимальных финансовых и временных затратах. Поэтому все больше и больше заказчиков переходит к широкому промышленному внедрению СЭД [20, 22, 31].

Критерии выбора СЭД:

  1.  Поддержка полного жизненного цикла документа. Система электронного документооборота должна поддерживать весь жизненный цикл документов, включая подготовку, согласование и визирование их проектов, публикацию электронных документов, организацию архивного хранения документов с доступом к электронным архивам. Один и тот же документ в разные периоды своего жизненного цикла может существовать в электронном и бумажном видах,
  2.  Корпоративный документооборот в системе территориально-распределенных предприятий. Оптимальная система корпоративного документооборота сочетает сквозной контроль за документационной деятельностью в корпоративной структуре с автономностью управленческих процессов в самостоятельных подразделениях. Благодаря этому повышается скорость принятия решений и их исполнения, руководители получают возможность реально управлять работой с документами в компьютерной сети предприятия,
  3.  При развертывании СЭД обязательным условием является криптографическая защита конфиденциальной информации, хранящейся в базе данных и на рабочих станциях пользователей. Более того, система защищенного документооборота должна предусматривать возможность запуска процессов зашифрования и расшифровывания только пользователями, располагающими электронными ключами и знающими их PIN-коды.

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

1.3 Организация документооборота посредством Интернет - технологий

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

Документы закрепляют производственные отношения, как внутри предприятия, так и с другими организациями и нередко служат письменным доказательством при возникновении имущественных, трудовых и иных споров, рассматриваемых гражданскими, арбитражными и третейскими судами [2, c.9].

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

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

Полное упразднение бумажного документооборота сейчас невозможно: консерватизм персонала, низкая образованность, нежелание обучаться и переобучаться, боязнь прозрачности собственной деятельности для руководства, которая возникает после внедрения системы электронного документооборота; фактор директора «советского типа» - нежелание непосредственно работать с компьютером, просматривать и редактировать документы. С другой стороны, отсутствие закона об электронном документе предполагает обязательное наличие бумажного подлинника любого значимого документа даже при существовании электронного варианта. Сегодняшние стандарты делопроизводства не учитывают особенностей работы с электронными документами. Когда говорят об автоматизации делопроизводства или документооборота, то обычно подразумевают любые информационные технологии, связанные с обработкой документов – от использования текстовых процессоров до систем управления потоком работ и управления базами данных. В результате в эту категорию попадает очень широкий спектр программных продуктов [4].

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

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

Важнейшими характеристиками специалисты выделяют следующие:

  1.  Программная платформа (система, обеспечивающая хранение и поиск документов, а также система обмена сообщениями. В настоящее время используется архитектура «клиент/сервер»),
  2.  Поддержка распределенной обработки информации,
  3.  Возможности масштабирования (набор поддерживаемых платформ, максимальное число пользователей, а также число уровней вложенности структур),
  4.  Открытость архитектуры и возможность интеграции с другими программами и их приложениями,
  5.  Типы документов, с которыми работает система (форматы документов; поддержка работы с составными документами и несколькими версиями документа; связи документов (один документ может быть ответом на другой или может быть порожден при исполнении предыдущего документа); совместное использование электронных и обычных (бумажных) документов),
  6.  Коллективная работа группы исполнителей над одним (или несколькими) документами,
  7.  Возможность работы по свободной схеме (без фиксации маршрутов),
  8.  Средства для указания маршрутных схем прохождения документов,
  9.  Возможности контроля за прохождением документов,
  10.  Способ оповещения должностных лиц,
  11.  Особенности настройки продукта для нужд конкретного заказчика (например, регистрационная карточка должна содержать все необходимые реквизиты); наличие локализованного (русифицированного) интерфейса,
  12.  Средства регламентации доступа и криптозащиты,
  13.  Средства, которые оповещают о нарушениях в регламенте прохождения документов,
  14.  Ориентация на традиционную российскую концепцию документооборота.

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

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

Термин Групповое программное обеспечение – это свободно определяемое понятие, которое относится к типу прикладной программы, дающей возможность группам людей сотрудничать в целях создания, использования и распределения информации более эффективным способом. Групповое программное обеспечение развивается, исходя из двух базовых моделей: модели share (общая) и модели send (пересылка) [25, c.48].

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

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

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

Недостатки: Недостаток этой модели заключается в том, что нет какого-либо удобного способа для определения статуса вашего требования или даже идентификации его хозяина. Отсутствует централизованное местоположение для наблюдения за процессом, и нет какой-либо общедоступной базы данных, содержащей требования. После того как форма требования удаляется из последнего почтового ящика, она теряется навсегда. Говоря другими словами, отсутствует способ управления документом   [27, c.98].

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

Идея групповой работы родилась несколько лет назад с появлением Lotus Notes – мощной системы предприятия, создающей условия для совместного пользования информацией. Вскоре у Lotus Notes появились конкуренты - Microsoft Exchange Server и Novell GroupWise, причем в основе каждого такого продукта лежали собственные службы каталогов, методы хранения документов и интерфейсы прикладного программирования (API). Для систем автоматизации групповой работы были разработаны также все процессы, обеспечивающие работоспособность такой вычислительной среды, например процессы маршрутизации почтовых сообщений, обеспечения безопасности и рассылки копий разным адресатам (тиражирования или репликации). Особенно важно, что были разработаны клиенты, реализующие эти услуги. Более того, фирмы Lotus и Microsoft интегрировали в свои программы для групповой работы такие широко применяемые в различных сериях изделий разных поставщиков средства управления, как OLE и ActiveX (которые прежде назывались OCX, или средства управления OLE) [11, c.55].

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

Разработка сайта intranet вашей организации — задача не менее сложная. Вы должны учитывать практически все те же моменты, что и при разработке сайта Internet, за несколькими исключениями. Так как обычно вы точно знаете, на какую аудиторию ориентирован сайт intranet, то вы можете позволить себе роскошь быть более конкретным и целенаправленным. Вам желательно точно выяснить, какие типы компьютеров стоят в сети, насколько быстро они работают, какие типы браузеров в основном используются, как они подключены к вашему сайту (через модем или через прямое подключение). Знание этих деталей может значительно помочь вам при разработке интранет-сайта. Как и при разработке сайта Всемирной Паутины, ключ к успеху лежит в тщательном первоначальном планировании.

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

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

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

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

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

Сети intranet позволяют перевести обмен информацией на визуальный уровень. Предположим, что вы хотите посмотреть коммерческий отчет вашей фирмы за предыдущий квартал, содержащийся в файле Microsoft Excel. В традиционном варианте построения сети вы должны будете найти нужный файл, открыть его и загрузить в Excel на компьютере [17, c.114].

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

Серверы. Для размещения сайта в intranet вам понадобится Web-сервер. Лучше всего, если Web-сервер будет установлен на выделенном компьютере, подобно традиционным сетевым серверам. Чем быстрее и мощнее будет этот компьютер, тем лучше будет работать ваш сайт.

Выбор Web-сервера зависит от ожидаемого графика в сети. Если ваша компания относительно невелика, вероятно, вы сможете ограничиться единственным сервером на базе Персонального Web-сервера Frontpage или Персонального Web-сервера Microsoft. Эти серверы не рассчитаны на обработку большого объема информации, так что для более обширной сети вам может потребоваться сервер, способный обрабатывать больше информации.

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

Используемый вами Web-сервер также может взаимодействовать с этими средствами безопасности:

  1.  Просмотр (уровень конечного пользователя),
  2.  Авторский доступ (просмотр, модификация и поддержка сайта),
  3.  Административный доступ (назначение и изменение привилегий), администраторы также имеют все права авторского доступа,
  4.  Необходимые параметры безопасности сайта,
  5.  Информационное наполнение.

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

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

Также можно обмениваться персональными сообщениями между пользователями и прямо в карточке документа или проекта создавать напоминания о будущих событиях, например, о предстоящих совещаниях и встречах [11, c.10].

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

В заключении подведем итоги.

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

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

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


2 Проектирование системы управления внутрикорпоративными информационными потоками предприятия ФГУП «Серовский механический завод»

2.1 Требования к проектируемой системе

  1.  Общие требования:
    1.  Система должна иметь интуитивно понятный интерфейс,
    2.  Обширная функция поиска по номенклатуре: наименованию услуг,
    3.  Должна быть обеспечена возможность построения отчетов по услугам, предлагаемым компанией,
    4.  Экранные формы ввода должны в максимальной степени соответствовать формам формализованных входных документов,
    5.  Должна быть обеспечена возможность прерывания ввода документа по инициативе пользователя на любой стадии с целью дальнейшего продолжения ввода или отказа от ввода документа или его части,
    6.  Должны быть ссылки на документы, которые выполненные в электронном виде,
    7.  На сайте  должны быть реализованы средства контроля целостности данных и определения набора необходимых действий администратора сайта при обнаружении нарушений  целостности данных, сбоях и отказах оборудования.
  2.  Требования к программному обеспечению ЭВМ, для пользователя:
  3.  
  4.  
    1.  Простота настроек экрана,
    2.  Наличие генератора отчетов для руководства с возможностью распечатки на принтере,
    3.  Парольный доступ к системе для возможности изменения и просмотра  данных, в целях безопасности,
    4.  Возможность удаленного доступа по сети,
    5.  Возможность ручного ввода данных (из Word),
    6.  Должна быть предусмотрена возможность получения информации о правильности и полноте заполнения на любой стадии ввода,
    7.  Система не должна позволять  пользователям редактировать ранее введенные записи,
    8.  Должна быть предусмотрена функция архивирования и восстановления данных.
  5.  Требования к информационному и аппаратному обеспечению. Предполагается использовать отдельный сервер  для размещения на нем интранет сайта, к которому организован общий доступ для пользователей. Требования для сервера сформулированы следующим образом:
  6.  
  7.  
  8.  
    1.  Требования к серверу являются стандартными для MS Windows Server 2003. Объем требуемой памяти жесткого диска определяется объемом хранимой информации,
    2.  Для электронной базы данных предполагается использовать следующую модель:  
      1.  Пассивная часть (топология) сети:
        1.  Подключение к серверу – звезда,
        2.  Кабельное оборудование – кабель UTP 5 cat.
      2.  Активное оборудование:
        1.  Коммутатор (Switch) – с необходимым количеством портов  и пропускной способностью не менее 100Мбит/с, при необходимости коммутаторы объединить в стек с необходимым количеством портов,
        2.   Сервер (подключен непосредственно к коммутатору),
        3.  Необходимое количество рабочих станций (подключены непосредственно к коммутатору),
        4.  Принтер, подключенный  к компьютеру.
    3.  Сетевые протоколы: TCP/IP – основной протокол сети Fast Ethernet,
    4.  Описание рабочей станции:
      1.  Процессор не ниже Pentium IV-2000,
      2.  RAM не менее 256Мб,
      3.  Жесткий диск емкостью не менее 20Гб,
      4.  Video RAM не менее 64 Мб,
      5.  Операционная система: Windows ХР Professional,
      6.  Оетевая плата, поддерживающая fullduplex 100Мбит/с.

Сайт разрабатывается под базовое разрешение экрана 1024х768 пкс., корректное отображение браузерами Internet Explorer различных версий, Opera.

Использование фирменных цветов и логотипа компании.

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

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

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

При входе внутрь – открывать разделы далее. Описание атрибутов каталога (многоуровневый список в формате для каждого раздела):

  1.  Код,
  2.  Название документа,
  3.  Подробности документа.

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

Помощь  – список вида:

  1.  Раздел Вопрос,
  2.  Краткий текст ответа,
  3.  Полный текст ответа.

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

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

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

Также в общих настройках сайта имеется настройка кэширования данных, папка кэширования всегда доступна для записи если кэширование включено, время жизни КЭШа 900сек.

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

  1.  Порядок контроля и приемки системы. В процессе разработки и внедрения интранет-сайта осуществляется контроль за проведением мероприятий, со стороны заказчика. Оцениваются следующие характеристики:
  2.  За сроками выполнения задания. Соответствуют ли они реальным срокам разработки и внедрения,
  3.  В создаваемой системе должен быть реализован удобный, дружественный пользовательский интерфейс. Нельзя допускать перегрузки информацией различных форм, режимов системы,
  4.  При испытании программного продукта необходимо во время «обкатки» программы определить все недочеты и ошибки в проектировании,
  5.  Учитывая все нюансы, необходимо пересмотреть весь процесс создания системы, с целью выявить то, что было упущено разработчиками при первичной реализации,
  6.  После внедрения системы и ее тестирования начинается процесс приемки системы и ввода ее в эксплуатацию.

На стадии приемки планируется провести следующие мероприятия:

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

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

  1.  Требования к документированию. Необходимо разработать следующую документацию:
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
    1.  Руководство пользователя. Содержит всю информацию, необходимую для работы с программным продуктом. Инструкция должна оформлена для непосредственных участников пополнения страниц сайта информацией различного содержания. Инструкция должна иметь простое и понятное повествование, чтобы в случае отсутствия специалиста, пользователь мог сам разобраться в данной затруднительной ситуации,
    2.  Руководство администратора. Данное руководство должно включать в себя описание всех необходимых действий по установке, настройке, сопровождению системы. В данном руководстве должны быть отображены сведения по технике резервного копирования и восстановления данных, наиболее вероятные причины отказов, их виды и способы устранения, если такое возможно,
    3.  Резервная копия программного продукта на нескольких носителях.

2.2 Характеристика объекта автоматизации

ФГУП «Серовский механический завод» был основан 1 ноября 1931 года, когда один из цехов Надеждинского металлургического завода был выделен и передан из ведения министерства черной металлургии во Всесоюзный государственный трест. Первой продукцией завода было выполнение заказов для наркоматов путей сообщения, авиации, земледелия. С 1946 года завод приступил к производству деталей бурового инструмента для геологоразведки, нефтяников, и газовиков и стал лидирующим предприятием в стране по производству бурового и противоаварийного инструмента для геологоразведочных работ.

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

С 1931 по 1960 год завод специализировался на выпуске заготовок гильз для авиационных моторов, запасных частей для сельскохозяйственных машин. В годы войны изготавливал артиллерийские снаряды различного назначения. В 1946 году коллективом завода было освоено производство бурового инструмента для геологоразведки, нефтяников и газовиков. А с 1970 года начато производство бытовой техники: люстр, торшеров, бра, настольных ламп.

ФГУП «Серовский механический завод» государственное предприятие, относящееся к Российскому Агентству по боеприпасам. Вид деятельности предприятия – промышленное производство, тип производства – серийное.

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

  1.  Продукции государственного оборонного заказа,
  2.  Производство продукции для нефтедобывающей отрасли,
  3.  Производство гражданской продукции,
  4.  Производство продукции для геологоразведочной отрасли,
  5.  Производство продукции для горнорудной отрасли,
  6.  Производство товаров народного потребления,
  7.  Численность работающих около 1125 человек.

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

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

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

Завод производит буровой инструмент и соединительную арматуру для геологоразведочного бурения, нефтегазодобывающей и горной промышленности – главное на сегодняшний день поле деятельности завода. В этой области предприятие работает более 40 лет, постоянно обновляя и расширяя свой ассортимент.

Завод является постоянным участником международных и российских выставок. Налаживаются и поддерживаются связи со странами Ближнего Зарубежья. Развиваются взаимовыгодное экономическое сотрудничество с заводом г. Борисов, республики Беларусь, с горно-металлургическим комбинатом г. Навои, республики Узбекистан, с Никопольским новотрубным заводом г. Никополь, республики Украина.

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

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

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

  1.  Бухгалтерия,
  2.  Финансовый отдел,
  3.  Отдел сбыта,
  4.  Отдел труда,
  5.  Технологическое бюро,
  6.  Конструкторское бюро,
  7.  Отдел АСУП,
  8.  Отдел связи,
  9.  Отдел маркетинга,
  10.  Отдел перспективного развития предприятия,
  11.  Служба директора (канцелярия).

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

Федеральное государственное предприятие «Серовский механический завод», является коммерческой организацией и находится в ведомственном подчинении Российского агентство по безопасности. Организационно правовая форма – унитарное предприятие. Завод является одним из крупнейших предприятий города.

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

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

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

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

В процессе осуществления своей деятельности предприятия вступают в хозяйственные связи с разными предприятиями, организациями и лицами. Постоянно совершающийся кругооборот хозяйственных средств вызывает непрерывное возобновление многообразных расчетов. Расчеты могут быть как внешними, так и внутренними, а организации могут выступать как продавцами, так и покупателями. Наиболее распространенными видами внешних расчетов являются: расчеты с поставщиками и подрядчиками за сырье, материалы, товары, расчеты с покупателями и заказчиками. От состояния этих расчетов во многом зависит платежеспособность организации, ее финансовое положение и инвестиционная привлекательность. Из внутренних расчетов следует обратить особое внимание на расчеты с подотчетными лицами и на расчеты с персоналом по прочим операциям. Эти расчеты производятся в основном наличными денежными средствами и связаны с оплатой расходов предприятия. Правильная организация расчетных операций обеспечивает устойчивость оборачиваемости средств организации, укрепление в ней договорной и расчетной дисциплины и улучшение ее финансового состояния. Кроме того, рациональная организация расчетов, правильность постановки их учета предупреждают негативные последствия по этим операциям [19, c.12].

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

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

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

Рисунок 1 – Внешняя  модель взаимодействия отделов
предприятия с внешней средой

На рисунке 1 видно, что отделы ФГУП взаимодействуют со СМИ,   ПФ РФ, МНС РФ, рынками товаров и услуг, клиентами.

МНС РФ – получают деньги в виде налогов и отчислений, налоговую отчетность от объекта взамен снабжают объект соответствующей информацией о налогообложении, возвращают (номинально) денежные средства в виде налоговых вычетов.

ПФ РФ – получает  деньги в виде отчислений и налогов, обеспечивает социальное страхование персонала.

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

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

Клиенты – родители воспитанников дошкольного учреждения, которые оплачивают оговоренные в договоре с учреждением денежные суммы за оказание услуг.

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

СМИ предоставление предприятием данных о себе и своих услугах – в последствии из этих данных будет сформирована реклама предприятия.

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

Покажем теперь внутренние процессы взаимодействия.

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

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

2.3 Основание для проведения работ

Сейчас на предприятии насчитывается порядка 150 компьютеров. Большая часть из них находится в здании заводоуправления, остальные расположены в зданиях цехов. Компьютеры работают под управлением операционной системы Windows XP. Все они объединены в единую сеть. В пределах заводоуправления и внутри зданий цехов, для организации сети, была использована витая пара категории 5e и сетевые коммутаторы емкостью от 8 до 32 портов. Для связи заводоуправления с цехами проложена высокоскоростная оптоволоконная магистраль. В каждом цехе, под средством медиа конвертеров, к этой магистрали подключается коммутатор. К которому в свою очередь присоединяются все компьютеры цеха. Некоторые цеха для связи используют беспроводную технологию Wi-Fi. Произошло это по причине того, что, несколько лет назад, на момент прокладки магистрали, установка компьютеров в этих зданиях не планировалась. Позже ситуация изменилась, и технология Wi-Fi была выбрана как более дешевый вариант. Для обеспечения связи, с помощью этой технологии, используются антенны и точки беспроводного доступа фирмы DLink.

Рисунок 2 – Модель сети АСУП предприятия

На данном рисунке 2 показана топология сети «звезда» предприятия.

В сети данного предприятия существуют 3 сервера:

  1.  Сервер под управлением Novel Netware. Служит для управления правами доступа, хранения рабочей информации (т.е. в качестве файл-сервера). Так же, он используется в качестве сервера приложений для ряда программ, являющихся собственными разработками отдела  АСУП на предприятии,
    1.  Интернет шлюз. Сервер под управлением Windows 2003. Служит для предоставления доступа сотрудникам предприятия к сети интранет, а так же для учета трафика по каждому сотруднику,
    2.  Сервер 1С. Сервер под управлением Windows 2003. Служит для работы с программой 1С Предприятие в терминальном режиме. Т.е. система установлена на сервере, на который с помощью терминального подключения заходят пользователи 1С. Сама система запускается прямо в сеансе терминального подключения.

Отделы предприятия  работает в информационной системе предприятия на базе электронных таблиц «1С-предприятие 7.7», но в настоящее время объемы производства на предприятии и меняющиеся технологи в обработке информации, в том числе и бухгалтерской, ведут к тому, что информационная система нуждается в реорганизации

Наличие связи с удаленными объектами – прямой  провод, постоянное соединение через маршрутизаторы.

В подразделениях предприятия установлены следующие типы персональных компьютеров - IBM300MHz/HDD20Gb/RAM64Gb.

Все ЭВМ объединены в локальную вычислительную сеть.

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

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

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

  1.  Изменён план счетов,
    1.  Изменены некоторые печатные формы документов, добавлены новые,
    2.  Изменена часть стандартных отчётов, часть созданы самостоятельно,
    3.  Созданы внешние обработки по автоматической загрузке и выгрузке документов и проводок,
    4.  Добавлены новые интерфейсы пользователей, в соответствии с требованиями безопасности и служебных обязанностей.

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

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

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

Таблица 1 – SWOT-анализ системы

SWOT-анализ до внедрения системы

Сильные стороны

Возможности во внешней среде

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

Слабые стороны

Угрозы внешней среды

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

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

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

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

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

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

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

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

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

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

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

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

  1.  Заполнения и пересылки документации между сотрудниками,
  2.  Замена ручной работы по расчету документарных операций на машинный расчет,
  3.  Снижения риска возникновения ошибки,
  4.  Ускорения процесса работы,
  5.  Увеличения качества работы,
  6.  Обеспечения устойчивости дел в плане работы с государственными организациями по установленным стандартам.

За счет реализации следующих мероприятий:

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

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

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

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

По  проведенному исследованию можно рекомендовать руководству предприятия следующие мероприятия финансово–хозяйственной деятельности:

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

2.4 Описание среды программирования

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

Для таких нужд на предприятии существует ФГУП «Серовский механический завод», который выполняет функции документооборота, в том числе и посредством Интернета (по электронной почте).

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

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

В своей работе по управлению ФГУП «Серовский механический завод» руководствуется руководящими, методическими  документами.

В управлении ФГУП «Серовский механический завод» осуществляет следующие функции:

  1.  Формирование дел в соответствии с учрежденной номенклатурой, обеспечение их сохранности и в установленные сроки сдача в архив,
  2.  Ведение делопроизводства,
  3.  Обеспечение связи с общественностью как администрации предприятия, таки рядовых сотрудников предприятия,
  4.  Осуществляет контроль за достоверностью информации.

По управлению ФГУП «Серовский механический завод» обязан:

  1.  Обрабатывать поступающей в адрес руководства, корреспонденцию, осуществлять ее систематизацию в соответствии с порядком,
  2.  Организовывать проведение телефонных и переговоры руководителей,
  3.  Печатать или вводить в информационную базу данных по указанию руководителей служебные материалы,  необходимые для его работы,
  4.  Принимать  или передавать документы различного характера, своевременно доводить информацию по каналам связи до руководителей и подчиненных,
  5.  Следить за своевременным рассмотрением и представлением  структурным подразделениям и конкретным  исполнителям  документы, поступившие для исполнения, проверять правильность оформления подготовленных документов,
  6.  Строго соблюдать правила внутреннего трудового распорядка,
  7.  Соблюдать требования инструктажа по охране труда. Получать  от работников подразделений сведения  для руководителей, вызывать работников подразделений по их поручению.

По управлению ФГУП «Серовский механический завод» имеет следующие права:

  1.  Запрашивать и получать необходимую для работы информацию от структурных подразделений ФГУП «Серовский механический завод»,
    1.  Обращаться к непосредственному начальнику с предложениями по  рациональной организации, выполняемой работы,
    2.  Повышать свою квалификацию с отрывом и без отрыва от производства в соответствии с планами учебы предприятия кадров,
    3.  Не принимать документы, подготовленные к распространению не в соответствии с инструкцией по делопроизводству ГОСТ РФ 6.30-2003 «Унифицированная система документации. Унифицированная система организационно-распорядительной документации. Требования к оформлению документов»,
    4.  Требовать от работников подразделений материалы, необходимые руководителям, а также информацию о выполнении порученных  заданий руководителей;
    5.  Давать устные консультации по вопросам, входящим в компетенцию о делопроизводстве.

Критериями оценки качества работы предприятия для связи с общественностью являются:

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

По управлению предприятия несет ответственность и подвергается взысканиям в соответствии с действующим законодательством за следующее:

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

Нарушение  правил внутреннего трудового распорядка:

  1.  Нарушение требований ППБ, действующих инструкций и положений;
  2.  Случаи загорания, производственного травматизма, происшедшие по своей вине,
  3.  Сохранность обслуживаемого оборудования,
  4.  Непринятие решений по вопросам делопроизводства,
  5.  Техническое и информационное обслуживание руководства ФГУП «Серовский механический завод»,
  6.  Своевременное и качественное выполнение печатных работ по заказам структурных подразделений,
  7.  Грамотность, правильность оформления и регистрацию документации,
  8.  Оперативное перемещение документов внутри ФГУП «Серовский механический завод»,
  9.  Небрежное хранение документации.

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

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

Рисунок 3 – Схема деятельности управления секретариата директора организации в идеологии IDEF0

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

Рисунок 4 – Схема деятельности управления секретариата директора организации в идеологии IDEF0

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

Максимизация возможностей управления в направлении:

  1.  Расширения спектра работ по работе с документами,
  2.  Увеличения прибыли предприятия,
  3.  Снижения риска, связанного с возможностью неудовлетворения желаний клиентов,
  4.  Ускорения процесса работы,
  5.  Увеличения качества работы,
  6.  Обеспечения устойчивости дел в плане работы с государственными организациями по установленным стандартам,
  7.  Создания благоприятного облика компании на рынке, увеличения числа клиентов существующих и потенциальных.

На основе:

  1.  Освоения опыта работы менеджеров по связи с общественностью крупных предприятий,
  2.  Изучения новых технических возможностей,
  3.  Улучшения качества оказываемых услуг,
  4.  Снижения расходов на выполнение работ без ухудшения качества;
  5.  Ускорения рабочего процесса,
  6.  Эффективной работы со СМИ и государственными организациями.

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

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

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

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

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

Целью моей работы является информатизация процесса электронного документооборота в работе подразделений организации, в данном случае предприятия ФГУП «Серовский механический завод».

Цели, которые преследовались при написании интранет-сайта:

  1.  Сокращение времени обработки и получения оперативных данных,
  2.  Повышение степени достоверности обработки информации,
  3.  Повышение степени ее защищенности,
  4.  Возможность формирования отчетных документов,
  5.  Выдача результатных документов.

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

2.5 Анализ подсистем проектируемой системы

  1.  Подсистема документооборота состоит из следующих подсистем:
    1.  Регистрация пользователя в подсистеме  и прием документации от различных пользователей, владеющих паролем,
    2.  Аутентификация,
    3.  Ввод новых данных,
    4.  Анализ данных,
    5.  Отчеты и ответная документация,
    6.  Администратор,
    7.  Помощь.
    8.  Подсистема регистрации новых пользователей обеспечивает контроль по созданию записей о пользователе в базе данных. Требования к данной подсистеме – не допускать совпадений логина пользователя. Если в базе данных пользователь с таким логином уже существует, тогда предлагается ввести другое оригинальное имя.
  2.  Подсистема Аутентификация обеспечивает контроль по входу пользователей  в электронный журнал.

Требования к подсистеме:

  1.  Число ввода неправильного пароля не более трех раз подряд,
    1.  При вводе логина и пароля создается строка в журнале входа,
    2.  Максимальная продолжительность проверки логина и пароля  - 1 сек.
  2.  Подсистема Ввод новых данных — производит заведение новых данных в базе данных.

Требования к подсистеме:

  1.  
  2.  
    1.  Недопустимость повторного ввода одной и той же записи,
    2.  Запись документа оформляется в четко регламентированном виде.
  3.  Подсистема Анализ данных — производит распределение на выполнение определенных данных.

Требования к подсистеме:

  1.  Возможность ввода нового пользователя или документа,
    1.  Возможность ставить на один процесс более одного документа.
  2.  Подсистема Отчеты и ответная документация — производит  формирование отчетов.

Требования к подсистеме:

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

2.6 Руководство администратора сайта

Настройка MySQL.

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

В настоящее время ни одно серьезное Web-приложение не может обойтись без работы с базой данных, обеспечивающей почти безграничное манипулирование данными: сортировку, поиск, преобразование, редактирование и многое другое. При этом все низкоуровневые операции с файловой системой скрыты от программиста за несложными SQL-запросами. Работа с базой данных имеет как преимущества, так и недостатки. К достоинствам можно отнести значительное сокращение кода (иногда в 2-3 раза) по сравнению с файловыми вариантами Web-приложений, что сокращает время разработки и упрощает процесс отладки. К недостаткам можно отнести зависимость приложения не только от работоспособности Web-сервера, но и от работоспособности сервера базы данных. Разумеется, вероятность того, что один из двух серверов может выйти из строя выше по сравнению с тем, если бы работа Web-приложения зависела только от одного сервера. Кроме того, непосредственная работа с файловой системой осуществляется быстрее по сравнению со случаем, когда в качестве посредника для работы с ней выбирается СУБД. С другой стороны, PHP как интерпретируемый язык не может достичь производительности баз данных, реализованных на С.

В последнее время СУБД MySQL стала стандартом де-факто благодаря своей производительности, а также низкой стоимости и простоте установки, настройки и обслуживания. Она будет использоваться в качестве СУБД на протяжении всего времени работы интранет-сайта ФГУП.

Установка и настройка MySQL.

Дистрибутив MySQL включает в свой состав серверную и клиентскую части, а также ряд вспомогательных утилит и документацию. Для установки MySQL имеются два типа дистрибутивов, мы воспользуемся бинарным дистрибутивом который содержит в себе программу установки. Запускаем файл setup.exe, далее следуем всем пунктам мастера установки. Установили MySQL в каталог c:/mysql. Теперь, после завершения установки, переходим к настройке конфигурации. Сразу после установки запускается мастер конфигурации MySQL, показанной на рисунке 5.

Рисунок 5 – Мастер конфигурации MySQL

Нажимаем next для продолжения настройки, выбираем стандартную конфигурацию установки MySQL. Окно показано на рисунке 6.

Рисунок 6 – Установка как Windows сервис

Далее нажимаем кнопку next для продолжения настройки. В следующем окне, предлагается установить секретный пароль пользователя СУБД MySQL, а также можно установить флажок для создания анонимного пользователя, как показано на рисунке 7.

Рисунок 7 – Установка секретного пароля для пользователя root

Далее для завершения нажимаем кнопку finish, как показано на рисунке 8.

Рисунок 8 – Завершение установки конфигурирования MySQL

Работа с phpMyAdmin.

Клиентская программа для работы с СУБД MySQL, обладающая графическим интерфейсом. Это приложение, написанное на PHP, может полностью управлять как целым сервером MySQL, так и отдельной базой данных или таблицей, быстро и легко осуществлять разнообразнее запросы. Причем для работы с MySQL не требуется даже знание SQL, а интерфейс приложения переведен на 47 языков, в том числе и на русский. Поэтому приложение phpMyAdmin быстро стало де-факто стандартной панелью управления у российских хост-провайдеров.

Приложение phpMyAdmin может решать разнообразные задачи, обыкновенно выполняемые при помощи SQL-запросов и средств администрирования MySQL:

  1.  Создание и удаление базы данных,
  2.  Создание, копирование, удаление, переименование таблицы,
  3.  Администрирование таблиц,
  4.  Удаление, исправление и добавление полей в существующие таблицы,
  5.  Выполнение любых SQL-запросов, в том числе и в пакетном режиме,
  6.  Управление ключами,
  7.  Загрузку информации в таблицы из текстового файла,
  8.  Создание и загрузку дампов таблиц,
  9.  Преобразование данных таблиц в форматы CVS, XML, Latex,
  10.  Управление системными процессами сервера,
  11.  Управление учетными записями пользователей и их правами доступа,
  12.  Проверку целостности таблиц MyISAM,
  13.  Создание PDF-изображений структуры базы данных,
  14.  Глобальный поиск по базе данных или её части,
  15.  Поддержку таблиц типа InnoDB и внешних ключей.

Установка Web-сервера Apache 2.0.48.

В этом разделе рассмотрим установку Web-сервера Apache 2.0.48 на операционную систему windows server 2003. В любом случае, первое, что необходимо сделать, это загрузить исходные коды дистрибутивов с официального сайта Apachehttp://www.apache.org  

Для успешной установки Web-сервера Apache необходимо, чтобы используемая версия Windows корректно работала со стеком протокола TCP/IP. В нашем случае об этом беспокоится не следует.

Apache доступен как в виде исходных кодов, так и в виде откомпилированного пакета. Исходные коды могут понадобиться в том случае, если бы потребовалось перекомпилировать Apache. Итак, для установки запускаем бинарный код дистрибутива с расширением .msi открывается окно Windows Installer, показанное на рисунке 9.

Рисунок 9 – Окно программы Windows Installer

Для начала установки нажимаем кнопку next, после чего появляется окно с лицензионным соглашением, показанное на рисунке 10.

Рисунок 10 – Лицензионное соглашение

После принятия лицензионного соглашения следует перейти к следующему окну с краткой информацией о нововведениях во второй версии Apache, показанной на рисунке 11.

Рисунок 11 – Краткое описании нововведений в версии Apache 2.0

Следующее окно позволяет ввести информацию о сервере: доменное имя сервера – nimfaural.ru, имя сервера -  server.nimfaural.ru и адрес электронной почты администратора nimfa@convex.ru. В нижней части окна выбираем номер порта, по которому сервер будет принимать запросы, показанное на рисунке 12.

Рисунок 12 – Настройка параметров сервера

После этого будет предложен способ установки (рисунок 5) выберем типичный (Typical) позволяющий сделать полную стандартную установку компонентов сервера. Следующее окно позволяет выбрать каталог установки сервера, показанного на рисунке 13.

Рисунок 13 – Выбор способа установки

В данном случае это будет каталог С:\server\Apache. После этого мастер установки сообщит о готовности к установке, показанный на рисунке 14.

Рисунок 14 – Выбор каталога установки Apache

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

Рисунок 15 – Мастер установки готов к копированию файлов

Установка прошла успешно, вместе с сервером запускается по умолчанию утилита мониторинга работы сервера ApacheMonitor, значок которой помещается в системный триер, как показано на рисунке 16.

Рисунок 16 – Завершение установки

Проверить работоспособность сервера можно, набрав в браузере имя нашего сайта.

Обработка данных. Директива variables_order определяет прядок регистрации переменных GET, POST, Cookie, Environment и серверных переменных (соответсвенно G, P,C,E и S). Регистрация осуществляется путем чтения этой строки слева направо. По умолчанию в PHP 5 директиве присвоено значение GPCS.

Variables_order = “EGPCS

Директива register_globals отклучает или включает возможность регистрации “EGPCS”-переменных как глобальных переменных.

Register_globals = Off

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

Загрузка файлов:

file_uploads = Off

Директива, разрешающая или запрещающая загрузку файлов на сервер.

Upload_tmp_dir =

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

Upload_max_filesize = 2M

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

2.7 Структура базы данных MySQL

Структура базы данных MySQL состоит из шести таблиц, которая показана на рисунке 17.

Рисунок 17 – структура базы данных MySQL сайта

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

Конструкция БД даных расмотрена на рисунке 18.

Рисунок 18 – конструкция базы данных MySQL сайта

Далее рассмотрим структуру каждой таблице из которых состоит БД. Структура таблицы Dokument состоит из шести строк, структура которых подробно расписана на рисунке 19.

Рисунок 19 – структура таблицы Document (Документ)

Структура таблицы Group (группы) состоит из трех строк: Key, Name и Hidden. Подробнее она рассмотрена на рисунке 20.

Рисунок 20 – структура таблицы Group (Группы)

Структура Membership (Членство) из трёх строк, таки х как Key, Name, а также Group, котрые рассмотрены на рисунке 21.

Рисунок 21 – структура таблицы Membership (Членство)

Структура таблицы Permission (Разрешения) состоит из трех строк, которые расмотрены ниже на рисунке 22.

Рисунок 22 – структура таблицы Permission (Разрешение)

Структура таблицы Position (Должность) состоит из двух строк – Key и Name, котрые более подробно рассмотренны на рисунке 23.

Рисунок 23 – структура таблицы Position (Должность)

Информация о пользователях находится в таблице User. Она состоит из девяти строк рассмотренные подробнее на рисунке 24.

 Рисунок 24 – структура таблицы User (Пользователи) 

 Листинг базы данных расположен в приложении 3.

2.8 Руководство пользователя сайта

Для запуска приложения необходимо набрать в адресной строке браузера имя сайта – “…/mehzavod/index.htm”. После запуска выходит главная страница интранет-сайта.

Работа сайта начинается с открытия страницы авторизации пользователя.

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

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

Запуск сайта через авторизацию пользователя показан на рисунке 25.

Рисунок 25 – Запуск сайта через авторизацию

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

Рисунок 26 – Окно формы  «Список групп»

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

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

Рисунок 27 – Вход – авторизация в свою группу

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

Рисунок 28 – Авторизация при входе в группу

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

Рисунок 29 – Окно поиска файла для загрузки

Необходимо показать управление сайтом Администратором или руководителем предприятия, которые могут присваивать доступ для каждого пользователя к определенной группе пользователей. Загрузка под правами администратора показана на рисунке 30.

Рисунок 30 – Окно загрузки под правами администратора

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

Рисунок 31 – Формирование списка пользователей группы

Управление группами Администратором осуществляется из формы «Управление группами». Опции данной формы показаны на рисунке 32.

Рисунок 32 – Окно «Управление группами»

Управление пользователями Администратором осуществляется из формы «Управление пользователями». Опции данной формы показаны на рисунке 33.

Рисунок 33 – Окно «Управление пользователями»

Действия можно осуществить только под правами Администратора. Листинг сайта в приложении 2.

  1.  Ожидаемые технико-экономические результаты создания программы

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

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

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

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

Экономическое обоснование будет дано в главе 3 дипломной работы.


3 Экономическая эфективность проекта

3.1 Экономическое обоснование разработки и внедрения интранет-сайта 

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

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

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

Нужно также уметь писать стимулирующие тексты и заголовки и сознательно направлять ход мысли и действия пользователя. Основные этапы при этом такие:

  1.  Привлечение внимания посетителя страницы. Этот прием активно используют СМИ, а особенно желтая пресса, делая броские названия для статей,
  2.  Заинтересовать его к полному прочтению текста. Достигается логичным развитием сюжета, яркими сравнениями и аллегориями,
  3.  Формирование очевидных выводов. Автор статьи подталкивает посетителя к нужным для него выводам, а иногда и делает их за него. Самым профессиональным является прием, когда прямо вывод не сформулирован, но все же однозначно вырисовывается из логики рассуждений автора, что дает возможность сохранить честность, а значит и авторитетность источника в глазах посетителя,
  4.  Побуждение к действию. Часто делается с помощью предоставления клиенту скидки, в связи с какой-либо краткосрочной акцией, срок проведения которой уже почти истек.

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

Чтобы оценить стоимость разработанного программного обеспечения необходимо провести подсчёт средств, затраченных на его проектирование и внедрение (себестоимость).

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

Таблица 2 – Состав затрат на программное и аппаратное обеспечение

В руб.

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

Цена

Системный блок на базе процессора Intel Core 2 Duo

20 000

Монитор ЖК

7 000

ОС Windows Server Standard 2008 Rus

20 000

Система управления сайтом JOOMLA

-

MySQL

-

Apache

-

PHP

-

Регистрация домена

1000

Итого

48 000

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

Программный комплекс разработан на языке PHP. В данном случае было взято наименее дорогостоящий вариант программного обеспечения.

Набор драйверов и необходимый минимум утилит поставляется вместе с аппаратными средствами, поэтому затраты на их приобретение в данных расчетах не учитываются.

Общие затраты направленные на подготовку к разработке программы состоят из затрат на покупные изделия и расходы на транспортировку и наладку, которые составляют не более 5% от суммарных затрат. Таким образом общие материальные затраты составили: 48000  х 1,05  = 50 400 руб.

Затраты на заработную плату инженерно-технического персонала (ЗП) определяются из количества нормо-часов, необходимых для выполнения отдельных работ и тарифных почасовых ставок. При расчете заработной платы взят среднемесячный оклад программиста,  который составляет 12 000 рублей. Часовая ставка (ЧС) за месяц при восьмичасовой рабочей неделе вычисляется по формуле

Чс = Ок /(Кс х С),      (1)

где     Oк – оклад, руб.;

Кс – количество рабочих смен в календарном месяце;

С – количество рабочих часов в одной смене.

Рассчитаем часовую ставку по формуле (1):

ЧС = 12000 /(22 х 8) =  68,2 руб.

В результате расчёта вышло, что часовая ставка составляет 68,2 руб.

В таблице 3 приведены расчёты по основным этапам проектирования системы и ЗП за конкретный вид работы.

Таблица 3 – Заработная плата специалиста при выполнении определенного этапа работ

В руб.

Название этапа

Трудоёмкость, час

Час, руб.

ЗП, руб.

Этап написания технического задания

20

68,2

1364

Этап проектирования

32

68,2

2182,4

Подготовка материала

30

68,2

2046

Разработка интранет-сайта

420

68,2

28644

Тестирование и отладка ПО

16

68,2

1091,2

Работы по сдаче готового интранет-сайта

8

68,2

545,6

Итого:

526

68,2

35873,2

Анализируя показатели, предоставленные в таблице 3, мы получаем заработную плату для специалиста после проведения всех этапов работ.

Таким образом, затраты на заработную плату составили 35873,2 рублей. Чтобы программисту выплатить заработную плату в рассчитываемом размере, нужно предусмотреть вычет на подоходный налог в размере 13%, и фонд оплаты труда составит:

ФОТ = ЗП / (1 – 0,13) = 35873,2 / (1 – 0,13) = 41233,56 руб.

К административно-хозяйственные затраты (Соз) предприятия относят расходы на коммунальные услуги, на содержание и аренду помещений, расходы на охрану труда. Их предусматривают в размере 25% от ФОТ сотрудников.

Соз = ФОТ х 0,25 руб.

Соз = 41233,56 х 0,25 = 10308,39 руб.

От фонда оплаты труда предприятие будет обязано произвести отчисления в размере 34%, что составит:

0,34 х ФОТ = 0,34 х 41233,56 = 14019,41 руб.

Тогда величина всех налоговых отчислений составит 14019,41 руб.

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

Таблица 4 – Перечень затрат при разработке программного обеспечения

В руб.

Статьи

Сумма

Затраты на программное и аппаратное обеспечение

48000

Затраты на заработную плату

41233,56

Общие затраты по предприятию

10308,39

Налоговые отчисления

14019,41

Всего:

113561,36

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

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

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

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

120000 - 67705,51 = 52294,49 руб.

Для определения коэффициента дисконтирования используем формулу

    (2)

где i – приведенная ставка, норма доходности 15%;

t – номер месяца.

Данные для расчета срока окупаемости сведены в таблицу 5.

Таблица 5 – Расчет чистой текущей стоимости доходов

В руб.

Месяц

Чистый доход

Инвестиции

КД

Чистый дисконтированный доход(ЧДД)

ЧДД по нарастающей

0

-113561,36

-113561,36

1

-113561,36

-113561,36

1

52294,49

0

0.98

51248,60

-62312,76

2

52294,49

0

0.97

50725,66

-11587,1

3

52294,49

0

0.96

50202,71

38615,61

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

Чистый дисконтированный доход – это сумма экономических эффектов дисконтированных к началу первого шага.

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

Отсюда находим

NPV =(51248,60 + 50725,66 + 50202,71) - 113561,36=38615,61 руб.

Чистая текущая стоимость равна 38615,61 руб.

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

Расчеты показали экономическую целесообразность разработки.

В результате были получены затраты на создание интранет-сайта:

  1.  При приобретении программных и аппаратных средств затраты составят 48000 рублей,
  2.  Затраты на заработную плату составили 41233,56 рублей,
  3.  Общие затраты по предприятию 10308,39 рублей,
  4.  Налоговые отчисления 14019,41 рублей.

При оценке эффективности проекта получены следующие результаты:

  1.  NPV равен 38615,61 руб,
  2.  Срок окупаемости составил 4,2 месяца, включая время на разработку.

Проведен анализ экономических факторов эффективности.

То есть, проект является доходным, и по истечении срока окупаемости, составляющей 4,2 месяца, принесет доход после срока окупаемости уже в первый месяц 38615,61 руб.

Из приведенных исследований видно, что проект разработанный самостоятельно будет стоить 113561,36 руб., а разработка сторонних организаций уже сейчас имеет стоимость порядка 150 000 руб., что на 35000 руб. больше при самостоятельной разработке, что для предприятия является выгодным вложением денег, при этом проект окупиться полностью уже по истечении 4 месяцев и принесет прибыль 38615,61 руб.

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

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


Заключение

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

В ходе работы была разработана программа интранет-сайт ФГУП «Серовский механический завод», который прошел проверку и зарекомендовал себя в работе положительно.

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

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

Расчеты показали экономическую целесообразность разработки.

В результате были получены затраты на создание интранет-сайта:

  1.  При приобретении программных и аппаратных средств затраты составят 48000 рублей,
  2.  Затраты на заработную плату составили 41233,56 рублей,
  3.  Общие затраты по предприятию 10308,39 рублей,
  4.  Налоговые отчисления 14019,41 рублей.

При оценке эффективности проекта получены следующие результаты:

  1.  NPV равен 38615,61 руб,
  2.  Срок окупаемости составил 4,2 месяца, включая время на разработку.

Проведен анализ экономических факторов эффективности.

То есть, проект является доходным, и по истечении срока окупаемости, составляющей 4,2 месяца, принесет доход после срока окупаемости уже в первый месяц 38615,61 руб.

Из приведенных исследований видно, что проект разработанный самостоятельно будет стоить 113561,36 руб., а разработка сторонних организаций уже сейчас имеет стоимость порядка 150 000 руб., что на 35000 руб. больше при самостоятельной разработке, что для предприятия является выгодным вложением денег, при этом проект окупиться полностью уже по истечении 4 месяцев и принесет прибыль 38615,61 руб.

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

Информационная система обеспечивает решение задач связанных с поиском информации.

Использование данного программного продукта позволит:

  1.  Повысить производительности труда отдела связи с общественностью,
  2.  Улучшить качества выполняемых работ,
  3.  Увеличить объем выполняемых работ,
  4.  Повысить коэффициента использования вычислительных ресурсов, средств обработки и передачи информации,
  5.  Увеличить объем и сократить сроки обработки информации,
  6.  Обеспечить удобное хранение данных,
  7.  Автоматизировать составление отчетов.

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

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

 

 

Список использованных источников

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

  1.  Трудовой кодекс Российской Федерации от 30.06.2006 № 90-ФЗ: Новая редакция. – Екатеринбург: Издательский Дом «Ажур», 2009.
  2.  ГОСТ 24.202-80 Требования к содержанию документа «Технико-экономическое обоснование создания АСУ» [текст], - М.: Изд-во стандартов, 1980.
  3.  ГОСТ 34.602-89 ССБТ. Техническое задание на создание автоматизированной системы. [текст], - М.: Изд-во стандартов, Дата введения с 01.01.1990.
  4.  ИСО/МЭК 15288:2002 - Проектирование систем - Процессы жизненного цикла системы.
  5.  ГОСТ Р 6.30-2003 «Унифицированные системы документации. Система организационно-распорядительной документации. Требование к оформлению документов».
  6.  Альбом унифицированных типовых форм первичной документации / Справочно – правовая система «Гарант».
  7.  Стандарты предприятия ФГУП «Серовский механический завод».

Литература

  1.  Баласанян, В. Концепция системы автоматизации отечественного документооборота // Открытые системы. -  №1. - 2008. – С.37-42
  2.  Балдин, К.Б. Информационные системы в экономике / К. В. Балдин. -М.: Издательско – торговая корпорация « Дашков и К», 2009. – 395с.
  3.  Бобровский, С. И. Delphi 7 / С. И. Бобровский. СПб: Питер, 2007. – 736 с.
  4.  Боуман, Д. С. Практическое руководство по SQL / Д. С. Боуман, С. Эмерсон, И. Д. Дарновски. «Вильямс» , 2009. – 352 с.
  5.  Братищенко, В. В. Проектирование информационных систем / В. В..Братищенко. - Иркутск: Изд-во БГУЭП, 2008. – 320 с.
  6.  Веретенникова, О. Б. Интернет досуг / О. Б. Веретенникова. – Екатеринбург: УрГЭУ, 2007. – 464 с.
  7.  Гарнов, И. Ю. Организация платных услуг в детских дошкольных учреждениях / И. Ю. Гарнов – М: Проспект, 2009. – 332 с.
  8.  Графова, Т. Ф. Критерии и показатели оценки финансово-экономического состояния предприятия // Аудитор.- 2007. – № 7.- С.11-14.
  9.  Грекул, В. И. Проектирование информационных систем / В. И. Грекул.- М.: ИНТУИТ.ру, 2007. – 304 с.
  10.  Бауман, Н. Э. Документальные компьютерные технологии / Н. Э. Бауман.- М.: Моск. гос. техн. ун-т им., 2008. – 183 с.
  11.  Изард, У. Методы информационного анализа / У. Изард. – М.: Инфра-М, 2007. – 183 с.
  12.  Калянов, Г.Н. Моделирование, анализ, реорганизация и автоматизация бизнес-процессов / Г.Н. Калянов.- М.: Финансы и статистика, 2009. – 378 с.
  13.  Карпова, Т. С. Базы данных: модели, разработки, реализация / Т. С. Карпова. – СПб.: Питер, 2008. – 304 с.
  14.  Клебанов, Б. И. Методические указания к выполнению системного проекта КИС / Б. И. Клебанов. Екатеринбург, 2009. – 254 с.
  15.  Кузнецов, М. В. PHP 5 на примерах / М. В. Кузнецов. – СПб: БВХ-Петербург, 2007. – 576 с.
  16.  Кузнецов, М. В. PHP 5. Практика разработки Web-сайтов / М. В.      Кузнецов. – СПб: БВХ - Петербург, 2008. – 461 с.
  17.  Кулаков, И.В. Делопроизводство и Интернет // Новые известия.- 2008 – №4. – С.27.
  18.  Куперштейн, В. И. Современные информационные технологии в делопроизводстве и управлении / В. И. Куперштейн. – СПб.: БХВ, 2007. – 368 с.
  19.  Макарова, В.И. Анализ финансово-хозяйственной деятельности организации для бухгалтера и руководителя / В. И. Макарова. – М.: Статут, 2008. Маклаков, С. В. Моделирование бизнес - процессов с AllFusion Process Modeler (Bpwin 4.1) / С. В. Маклаков. - М.: ДИАЛОГ-МИФИ, 2008. – 343 с.
  20.  Максимович, В.И., Берестова Г.Ю. Секретарское дело № 4/ 2008. – «Принципы автоматизации делопроизводства» – С.27.
  21.  Организация рекламной деятельности. – М.: 2008. - № 9. – С.15
  22.  Орлов, С. - Технологии разработки программного обеспечения / С. Орлов. 2-е изд. / СПб.: Питер, 2008. – 464 с.
  23.  Титоренко, Г. А. Автоматизированные информационные технологии в экономике / Г. А. Титоренко. – М.: ЮНИТИ, 2008. – 400 с.
  24.  Тюкачев, Н. А. Программирование / Н. А. Тюкачев – М.: Инфоцентр, 2009. – 304 с.
  25.  Умнова, Э. А. Система автоматизированной обработки учётной информации / Э. А. Умнова. – М.:Финансы и статистика, 2008. – 246 с.
  26.  Фаулер, М.. Архитектура корпоративных программных приложений / М. Фаулер. – М.: Вильямс, 2010. – 544 с.
  27.  Федотов, Д. Э. CASE -технологии: Практикум / Д. Э. Федотов, Ю. Д. Семенов, К. Н. Чижик. - М.: Горячая линия. - Телеком, 2008. – 398 с.
  28.  Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: учебник для высших учебных заведений / А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. СПб.: КОРОНА-принт, 2010. – 848 с.

3 Иные источники

  1.  Энциклопедия российского законодательства [Электронный ресурс]: справочно-правовая система «Гарант». – М.: Гарант-сервис, 2010.
  2.  Энциклопедия российского законодательства [Электронный ресурс]: справочно-правовая система «Гарант». – М.: Гарант-сервис, 2010.
  3.  Документооборот и делопроизводство. Системы электронного документооборота (СЭД) [Электронный ресурс]. – Режим доступа: http://doc-online.ru/sed.
  4.  Technologie von EIS – Modus des Zugriffs: http://kgau.ru/istiki/umk/pis/l4.htm.


Приложение 1

Database1

Datenbank (DB) - ist eine Form von Informationssystemen Datenbank ist ein System von speziell organisierten und die zugehörigen Daten, Software, technische, sprachliche und organisatorische und methodische Instrumente, durch die zentrale Speicherung und Mehrfachnutzung des kollektiven Daten zu liefern.

Tatsächlich haben die Informationsverarbeitung eine gemeinsame Natur und basieren auf der Beschreibung der Fragmente der Wirklichkeit, als eine Reihe von Daten ausgedrückt. Datenbanken sind ein wirksames Mittel zur Darstellung von Daten Strukturen und Manipulation. Das Konzept von Datenbanken ist es, integrierte Tools Speicherung von Informationen verwenden, so dass für eine zentrale Datenhaltung und Wartung von vielen Benutzern. In diesem Fall muss die Datenbank in das Medium der Computer eine Software namens ein Datenbank-Managementsystem (DBMS) verwaltet werden.

Datenbank verwendet für strukturierte Speicherung und Verarbeitung großer Mengen von Informationen. Im Prozess der Bestellinformationen Datenbanken erzeugen eine Datenbank und sortiert in die Verarbeitung von Informationen und die Durchführung der Suche.

Das Datenbanksystem bietet die folgenden Vorteile:

  •  Datenintegration. Information kann mitmachen einer unbegrenzten Anzahl von Möglichkeiten.
  •  Flexibilität im Reporting. Berichte können leicht überprüft werden und erzeugt bei Bedarf, nicht unbedingt regelmäßig (wöchentlich oder monatlich). Die Datenbank kann eingesehen werden, wenn Sie auf das spezifische Problem zu lösen oder Sie weitere detaillierte Informationen zugrunde liegen die daraus resultierende Bericht wollen;
  •  minimale Redundanz und Daten-Kompatibilität. Da Datenelemente sind in der Regel nur einmal gespeichert, Datenredundanz und Inkonsistenzen der Daten minimiert werden;
  •  Daten Unabhängigkeit. Da die Daten und Programme, die sie verwenden, unabhängig voneinander, können wir die Art, wie sie Daten speichern, ohne das Programm zu ändern und umgekehrt umzuwandeln. Diese Eigenschaft erleichtert sowohl die Programmierung und Datenmanagement;
  •  eine zentrale Datenhaltung. Data Management effizienter zu gestalten, da die Datenbank-Administrator ist zuständig für die Koordinierung, Überwachung und Datenverwaltung;
  •  Sicherheit. Die Software hat eine spezielle Datenbank integrierten Tools, wie zum Beispiel Passwörter, die Sicherstellung der Datenintegrität zu helfen;
  •  cross-funktionalen Analyse. In der Datenbank-System kann genau bestimmen das Verhältnis zwischen, zum Beispiel, Vertrieb und die Kosten von Werbekampagnen und die Nutzung dieser bei der Vorbereitung Lageberichte.

Derzeit gibt es rund 20 verschiedene Datenbank-Management-Systeme: Microsoft Access, Oracle, Interbase, FOXPRO Microsoft SQL-Server, MySQL, etc. Jeder von ihnen hat seine eigenen Besonderheiten und Beschränkungen für die Anzahl der Nutzer, Anzahl der Tabellen, die Menge an Informationen. RDBMS ORACLE, Microsoft SQL-Server ist für Datenbanken mit vielen Benutzern (über 256) ausgelegt. Die beliebtesten zum Erstellen von Datenbanken mit einer kleinen Anzahl von Benutzern ist Microsoft Access. Das vorgeschlagene Projekt ist die Zahl der Nutzer 25-30, und das Volumen der Daten werden nicht mehr als 1 Gigabyte, mit denen Sie Microsoft Access als Datenbank-Management-System nutzen kann. Microsoft Access ist Teil von Microsoft Office, die auf jedem Computer im Unternehmen verwendet werden installiert ist, die Kosten des Erwerbs des DBMS somit ausgeschlossen. Darüber hinaus hat Microsoft Access mehrere Vorteile im Vergleich zu anderen Datenbanken.


Продолжение приложение 1

База данных2

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

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

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

Система базы данных дает следующие преимущества:

  •  интеграция данных. Информация может объединяться неограниченным количеством способов.
  •  гибкость отчетов. Отчеты могут быть легко проверены и сгенерированы когда требуется, не обязательно периодически (еженедельно или ежемесячно). Базу данных можно просматривать, если требуется решить специфичную проблему или получить более подробную информацию, лежащую в основе полученного отчета;
  •  минимальная избыточность и совместимость данных. Поскольку элементы данных обычно хранятся только один раз, избыточность данных и несовместимость данных сведены к минимуму;
  •  независимость данных. Поскольку данные и программы, которые их используют, независимы друг от друга, можно изменять способы хранения данных без необходимости изменять программы и наоборот. Это свойство упрощает как программирование, так и управление данными;
  •  централизованное управление данными. Управление данными более эффективное, поскольку администратор базы данных, отвечает за координирование, контроль и управление данными;
  •  безопасность. Программное обеспечение СУБД имеет специальные встроенные средства, например, пароли, которые помогают гарантировать сохранность данных;
  •  перекрестно-функциональный анализ. В системе базы данных можно точно определить связь между, например, продажами и затратами на рекламные кампании и использовать это при подготовке управленческих отчетов.

В настоящее время существует около 20 различных систем управления базами данных: Microsoft Access, ORACLE, Interbase, FOXPRO, Microsoft SQL-сервер, MySql и др. Каждая из них имеет свои особенности и ограничения по числу пользователей, количеству таблиц, объему информации. СУБД ORACLE, Microsoft SQL-сервер предназначены для баз данных с большим количеством пользователей (более 256). Наиболее популярной для создания баз данных с небольшим количеством пользователей является Microsoft Access. В предлагаемом проекте количество пользователей будет 25-30, а объем информации не превысит 1 гигабайта, что позволяет использовать Microsoft Access как систему управления базы данных. Microsoft Access входит в состав Microsoft Office, который установлен на каждом используемом на предприятии компьютере, затраты на приобретение СУБД таким образом исключаются. Кроме того, Microsoft Access имеет ряд преимуществ по сравнению с другими СУБД.

Тексты оригинала и перевода сверены

(подпись ответственного лица, инициалы, фамилия)


Приложение 2

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

Листинг модуля index.php

<?php

//

// Главная страница. Вход в систему.

//

require_once('include/params.php');

require_once('include/page.php');

require_once('include/connect.php');

session_start();

// Параметры страницы.

$params[] = array(pname => 'login',    ptype => 'string');

$params[] = array(pname => 'password', ptype => 'string');

// Удаляем переменные сессии, т.к. эта страница ещё и команда выхода.

unset($_SESSION[sess_user_key]);

unset($_SESSION[sess_admin   ]);

// Проверка параметров и вход в систему.

function do_action() {

 global $params, $login, $db;

 // Проверка наличия параметров.

 if(check_post_params($params) == false) {

   $login = '';

   return;

 }

 // Определение констант для параметров.

 define_params($params);

 // Значения параметров.

 $login    = $_POST[login];

 $esclogin = mysql_real_escape_string($login);

 $pwdhash  = md5($_POST[password]);

 // Проверка полученных параметров.

 $data = @mysql_query(

   "

     SELECT * FROM `User`

       WHERE

         `Enabled` = 1             AND

         `Login`   = '{$esclogin}' AND

         `PwdHash` = '{$pwdhash}'

   ", $db

 ) or die('Ошибка выполнения запроса проверки логина и пароля.');

 // Успешная проверка.

 if(mysql_num_rows($data) > 0) {

   // Устанавливаем переменные сессии.

   $data = mysql_fetch_assoc($data);

   $_SESSION[sess_user_key] = $data['Key'];

   $_SESSION[sess_admin   ] = $data['Admin'] > 0;

   // Переходим на страницу выбора групп.

   header('Location: grouplist.php');

   exit();

 }

 // Пометка наличия ошибки.

 error_message('Неправильное&nbsp;имя&nbsp;пользователя или&nbsp;пароль.', 'index.php');

}

// Автоматический вызов.

do_action();

// Форма ввода логина и пароля.

make_header('Вход в систему');

?>

<form name="form" action="index.php" method="POST">

<table>

<tr>

 <td align="right"><b>Имя&nbsp;пользователя</b></td>

 <td><input type="text" size="15" maxlength="32" name="login"

   value="<?php echo $login; ?>"></td>

</tr>

<tr>

 <td align="right"><b>Пароль</b></td>

 <td><input type="password" size="15" maxlength="32" name="password"></td>

</tr>

</table>

<hr noshade size="1">

<table border="0"  cellspacing="0" cellpadding="0">

<tr>

 <td width="100%">&nbsp;</td>

 <td width="*"><input type="submit" value="Вход"></td>

</tr>

</table>

</form>

<script>

<!--

document.form.login.focus();

-->

</script>

<?php

make_footer();

?>

Листинг модуля doclist.php

<?php

//

// Список документов в заданной группе.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Описание параметров страницы.

$params[] = array(pname => 'group',    ptype => 'integer');

$action[] = array(pname => 'action',   ptype => 'string' );

$action[] = array(pname => 'document', ptype => 'integer');

// Проверки сессии и параметров.

check_session();

if(check_get_params($params) == false) {

 header('Location: index.php');

 exit();

}

define_params($params);

define_params($action);

// Проверка членства в группе.

function is_member() {

 global $db;

 $result = @mysql_query(

   "

     SELECT * FROM `Membership`

       WHERE `Group` = {$_GET[group]            } AND

             `User`  = {$_SESSION[sess_user_key]}

   ", $db)

   or die('Ошибка выполнения запроса проверки членства в группе.');

 return mysql_num_rows($result) > 0;

}

// Формирование содержимого страницы.

function do_page_content() {

 global $db;

 // Основной текст ошибки при проверке соответсвия группы.

 $mainerror = 'Ошибка выполнения запроса названия группы.';

 // Заголовок страницы.

 $result = @mysql_query(

   "

     SELECT * FROM `Group` WHERE `Key` = {$_GET[group]}

   ", $db)

   or die($mainerror);

 // Проверка существования группы.

 if(mysql_num_rows($result) != 1) {

   die($mainerror);

 }

 // Проверка наличия доступа для не-администратора.

 if(($_SESSION[sess_admin]              == false) and

    (mysql_result($result, 0, 'Hidden') != 0    )) {

   die($mainerror);

 }

 $name = mysql_result($result, 0, 'Name');

 echo "<h3>{$name}</h3><hr noshade size=\"1\">";

 // Признак возможности удаления файла.

 $owner = $_SESSION[sess_admin];

 if($owner == false) {

   $result = mysql_query(

     "

       SELECT * FROM `Membership`

         WHERE `Group` = {$_GET[group]} AND

               `User`  = {$_SESSION[sess_user_key]}

     ", $db)

     or die('Ошибка выполнения запроса проверки возможности удаления.');

   $owner = mysql_num_rows($result) > 0;

 }

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

 // Формирование запроса.

 if($_SESSION[sess_admin] == true) {

   $query = "

     SELECT *, `Key` AS `DocKey` FROM `Document`

       WHERE    `OwnerGroup` = {$_GET[group]}

       ORDER BY `FileName`

   ";

 } else {

   $query = "

     SELECT *, `DOC`.`Key` AS `DocKey` FROM

         `Group`      `GRP`

       LEFT JOIN

         `Permission` `PER` ON `GRP`.`Key`      = `PER`.`Group`

       LEFT JOIN

         `Document`   `DOC` ON `PER`.`Document` = `DOC`.`Key`

       WHERE

         `DOC`.`OwnerGroup` = {$_GET[group]}

       ORDER BY

         `DOC`.`FileName`

   ";

 }

 $result = @mysql_query($query, $db)

   or die('Ошибка запроса списка документов группы.');

 // Вывод результатов запроса.

 $num = mysql_num_rows($result);

 ?>

 <table border="0" cellspacing="0" cellpadding="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

<tr><td width="100%">

<a href="file.php?document=<?php

 echo $data['DocKey'];

?>"><?php

 echo htmlspecialchars($data['FileName']);

?></a></td>

<td align="right">&nbsp;&nbsp;<?php

 echo $data['FileSize'];

?>&nbsp;байт</td>

<?php

   if($owner == true) {

?>

<td width="*">&nbsp;&nbsp;<a href="document.php?document=<?php  

 echo $data['DocKey'];

?>">Доступ</a></td>

<td width="*">&nbsp;&nbsp;<a href="doclist.php?action=delete&document=<?php

 echo $data['DocKey'];

?>&group=<?php

 echo $_GET[group];

?>">Удалить</a></td>

   <?php

   }

 }

 ?>

 </table>

 <?php

}

// Выполнение действий.

function do_action() {

 global $db, $action;

 if(check_get_params($action) == true) {

   // Единственное поддерживаемое действие - удаление.

   if($_GET[action] != 'delete') return;

   // Выполнение действия.

   $result = @mysql_query(

     "

       SELECT * FROM `Document`

         WHERE `Key` = {$_GET[document]}

     ", $db)

     or die('Ошибка выполнения запроса параметров документа.');

   @mysql_query(

     "

       DELETE FROM `Document`

         WHERE `Key` = {$_GET[document]}

     ", $db)

     or die('Ошибка удаления данных документа.');

   unlink(mysql_result($result, 0, 'FileLink'));

   // Возвращаемся на страницу снова.

   header("Location: doclist.php?group={$_GET[group]}");

   exit();

 }

}

do_action();

make_header(menu_doclist);

block_menu();

menu_item('Список групп', 'grouplist.php');

if(is_member() == true) {

 menu_item('Опубликовать', "newdoc.php?group={$_GET[group]}");

}

menu_separator();

if($_SESSION[sess_admin] == true) {

menu_item(menu_groups, page_groups);

menu_item(menu_users,  page_users);

menu_separator();

}

menu_item(menu_exit, page_exit);

block_content();

?>

<h2>Список&nbsp;документов&nbsp;группы</h2>

<?php

do_page_content();

block_close();

make_footer();

?>

Листинг модуля document.php

<?php

//

// Страница управления доступностью документа.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Описание параметров страницы.

$params[] = array(pname => 'document', ptype => 'integer');

$action[] = array(pname => 'action',   ptype => 'string');

$action[] = array(pname => 'group',    ptype => 'integer');

// Проверка параметров и наличия разрешения работать с этой страницей.

function check_params_and_rights() {

 global $db, $params;

 if(check_get_params($params) == false) {

   header('Location: index.php');

   exit();

 }

 define_params($params);

 if($_SESSION[sess_admin] > 0) return;

 $result = @mysql_query(

   "

     SELECT * FROM

         `Group`      `GRP`

           INNER JOIN

         `Document`   `DOC` ON `DOC`.`OwnerGroup` = `GRP`.`Key`

           INNER JOIN

         `Membership` `MEM` ON `MEM`.`Group`      = `GRP`.`Key`

           INNER JOIN

         `User`       `USR` ON `USR`.`Key`        = `MEM`.`User`

       WHERE

         `DOC`.`Key` = {$_GET[document]}

   ", $db)

   or die('Ошибка выполнения запроса проверки доступа.');

 if(mysql_num_rows($result) != 1) {

   header('Location: index.php');

   exit();

 }

}

// Выполнение действий.

function do_action() {

 global $db, $action;

 if(check_get_params($action) == true) {

   define_params($action);

   // Выполнение действия.

   switch($_GET[action]) {

     // Включение группы.

     case 'include' :

       @mysql_query(

         "

           INSERT INTO `Permission`

             (`Group`, `Document`) VALUES ({$_GET[group]}, {$_GET[document]})

         ", $db)

         or die('Ошибка выполнения запроса включения группы.');

       break;

     // Исключение группы.

     case 'exclude' :

       @mysql_query(

         "

           DELETE FROM `Permission`

             WHERE `Group`    = {$_GET[group]} AND

                   `Document` = {$_GET[document]}

         ", $db)

         or die('Ошибка выполнения запроса исключения группы.');

       break;

     // Попытка взлома?

     default:

       header('Location: index.php');

       exit();

   }

   // Возврат к странице.

   header("Location: document.php?document={$_GET[document]}");

   exit();

 }

}

// Запрос данных документа.

function do_info() {

 global $db, $info;

 $result = mysql_query(

   "

     SELECT

         `DOC`.`FileName`,

         `GRP`.`Name` AS `GroupName`,

         `GRP`.`Key`  AS `GroupKey`

       FROM

       `Document` `DOC`

         INNER JOIN

       `Group`    `GRP` ON `GRP`.`Key` = `DOC`.`OwnerGroup`

   ", $db)

   or die('Ошибка выполнения запроса данных документа.');

 $info = mysql_fetch_assoc($result);

}

// Список включённых групп.

function do_include_list() {

 global $db;

 $result = @mysql_query(

   "

     SELECT *, `GRP`.`Key` AS `GroupKey` FROM

         `Group`      `GRP`

       INNER JOIN

         `Permission` `PER` ON `GRP`.`Key` = `PER`.`Group`

       WHERE

         `PER`.`Document` = {$_GET[document]}

   ", $db)

   or die('Ошибка выполнения запроса списка включённых групп.');

 $num = mysql_num_rows($result);

 ?>

 <table border="0" cellspacing="0" cellpadding="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td><?php

       echo htmlspecialchars($data['Name']);

     ?></td>

     <td>&nbsp;&nbsp;<a href="document.php?document=<?php  

       echo $_GET[document]

     ?>&action=exclude&group=<?php

       echo $data['GroupKey'];

     ?>">Исключить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

// Список исключённых групп.

function do_exclude_list() {

 global $db;

 $result = @mysql_query(

   "

     SELECT * FROM `Group` `GRP`

       WHERE `Key`NOT IN (

         SELECT `Group` FROM `Permission`

           WHERE `Document` = {$_GET[document]}

       )

   ", $db)

   or die('Ошибка выполнения запроса списка включённых групп.');

 $num = mysql_num_rows($result);

 ?>

 <table border="0" cellspacing="0" cellpadding="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td><?php

       echo htmlspecialchars($data['Name']);

     ?></td>

     <td>&nbsp;&nbsp;<a href="document.php?document=<?php  

       echo $_GET[document]

     ?>&action=include&group=<?php

       echo $data['Key'];

     ?>">Включить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

check_session();

check_params_and_rights();

do_action();

do_info();

make_header('Управление доступом к документу');

block_menu();

menu_item(menu_grouplist, page_grouplist);

menu_item('Список&nbsp;документов', "doclist.php?group={$info['GroupKey']}");

menu_separator();

menu_item(menu_exit, page_exit);

block_content();

?>

<h2>Управление доступом к документу</h2>

<h3><?php  

echo "{$info['FileName']}&nbsp;::&nbsp;{$info['GroupName']}";

?></h3>

<hr noshade size="1">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

 <td width="50%" align="center"><b>Включённые&nbsp;группы</b></td>

 <td width="50%" align="center"><b>Исключённые&nbsp;группы</b></td>

</tr>

<tr>

 <td width="50%" align="center"><?php do_include_list(); ?></td>

 <td width="50%" align="center"><?php do_exclude_list(); ?></td>

</tr>

</table>

<?php

block_close();

make_footer();

?>

Листинг модуля file.php

<?php

//

// Скачивание файла.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

check_session();

// Параметры страницы.

$params[] = array(pname => 'document', ptype => 'integer');

// Проверка параметров.

function do_check_params() {

 global $params;

 if(check_get_params($params) == false) {

   header('Location: index.php');

   exit();

 }

}

// Проверка разрешения на доступ к файлу.

function do_check_permission() {

 global $db;

 if($_SESSION[sess_admin] == true) return;

 $result = @mysql_query(

   "

     SELECT * FROM

         `Document`   `DOC`

       LEFT JOIN

         `Permission` `PER` ON `DOC`.`Key`   = `PER`.`Document`

       LEFT JOIN

         `Group`      `GRP` ON `PER`.`Group` = `GRP`.`Key`

       LEFT JOIN

         `Membership` `MEM` ON `MEM`.`Group` = `GRP`.`Key`

       LEFT JOIN

         `User`       `Usr` ON `USR`.`Key`   = `MEM`.`User`

       WHERE

         `USR`.`Key` = {$_SESSION[sess_user_key]} AND

         `DOC`.`Key` = {$_GET[document]}

   ", $db)

   or die('Ошибка выполнения запроса проверки разрешений.');

 if(mysql_num_rows($result) == 0) {

   header('Location: index.php');

   exit();

 }

}

// Выполнение загрузки файла.

function do_download_file() {

 global $db;

 $result = @mysql_query(

   "

     SELECT * FROM `Document`

       WHERE `Key` = {$_GET[document]}

   ", $db)

   or die('Ошибка выполнения запроса данных файла.');

 $data = mysql_fetch_assoc($result);

 header('Pragma: no-cache');

 header("Content-type: {$data['FileType']}");

 header("Content-Disposition: attachment; filename=\"{$data['FileName']}\"");

 readfile($data['FileLink']);

}

// последовательность действий.

do_check_params();

define_params($params);

do_check_permission();

do_download_file();

?>

Листинг модуля group.php

<?php

//

// Управление членством в группе для группы.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

check_session();

check_admin();

// Параметры страницы.

$params[] = array(pname => 'group',  ptype => 'integer');

$action[] = array(pname => 'action', ptype => 'string' );

$action[] = array(pname => 'user',   ptype => 'integer');

define_params($params);

// Проверка обязательных параметров.

function do_check_params() {

 global $params;

 if(check_get_params($params) == false) {

   header('Location: index.php');

   exit();

 }

}

// Выполнение действий.

function do_action() {

 global $db, $action;

 if(check_get_params($action) == true) {

   define_params($action);

   // Выполнение действия.

   switch($_GET[action]) {

     // Включение пользователя в группу.

     case 'include' :

       @mysql_query(

         "

           INSERT INTO `Membership`

             (`User`, `Group`) VALUES ({$_GET[user]}, {$_GET[group]})

         ", $db)

         or die('Ошибка выполнения запроса добавления пользователя в группу.');

       break;

     // Исключение пользователя из группы.

     case 'exclude' :

       @mysql_query(

         "

           DELETE FROM `Membership`

             WHERE `User`  = {$_GET[user]} AND

                   `Group` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса удаления пользователя из группы.');

       break;

     // Непредусмотренное действие - попытка взлома?

     default :

       header('Location: index.php');

       exit();

   }

   // Возврат к странице без параметров.

   header("Location: group.php?group={$_GET[group]}");

   exit();

 }

}

// Формирование списка включённых пользователей.

function do_included_list() {

 global $db;

 $result = @mysql_query(

   "

     SELECT `USR`.*

       FROM `User`       `USR` INNER JOIN

            `Membership` `MEM` ON `USR`.`Key` = `MEM`.`User`

       ORDER BY `USR`.`LastName`, `USR`.`FirstName`, `USR`.`SecondName`, `USR`.`Login`

   ", $db)

   or die('Ошибка запроса списка включённых в группу пользователей.');

 $num = mysql_num_rows($result);

 ?>

 <table width="50%" border="0" cellpadding="0" cellspacing="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td width="*"   ><a href="user.php?user=<?php

       echo $data['Key'];

     ?>"><?php  

       echo $data['Login'];

     ?></a>&nbsp;&nbsp;</td>

     <td width="100%"><a href="user.php?user=<?php  

       echo $data['Key'];

     ?>"><?php

       echo "{$data['LastName']}&nbsp;{$data['FirstName']}&nbsp;{$data['SecondName']}";

     ?></a></td>

     <td width="*"   >&nbsp;&nbsp;<a href="group.php?group=<?php  

       echo $_GET[group];

     ?>&action=exclude&user=<?php  

       echo $data['Key'];

     ?>">Исключить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

// Формирование списка не включённых пользователей.

function do_excluded_list() {

 global $db;

 $result = @mysql_query(

   "

     SELECT * FROM `User`

       WHERE `Key` NOT IN (SELECT `User` FROM `Membership`)

       ORDER BY `LastName`, `FirstName`, `SecondName`, `Login`

   ", $db)

   or die('Ошибка запроса списка не включённых в группу пользователей.');

 $num = mysql_num_rows($result);

 ?>

 <table width="50%" border="0" cellpadding="0" cellspacing="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td width="*"   ><a href="user.php?user=<?php

       echo $data['Key'];

     ?>"><?php  

       echo $data['Login'];

     ?></a>&nbsp;&nbsp;</td>

     <td width="100%"><a href="user.php?user=<?php  

       echo $data['Key'];

     ?>"><?php

       echo "{$data['LastName']}&nbsp;{$data['FirstName']}&nbsp;{$data['SecondName']}";

     ?></a></td>

     <td width="*"   >&nbsp;&nbsp;<a href="group.php?group=<?php  

       echo $_GET[group];

     ?>&action=include&user=<?php  

       echo $data['Key'];

     ?>">Включить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

// Загрузка данных о группе.

function do_group_info() {

 global $db, $info;

 $result = @mysql_query(

   "

     SELECT * FROM `Group`

       WHERE `Key` = {$_GET[group]}

   ", $db)

   or die('Ошибка запроса данных группы.');

 if(mysql_num_rows($result) != 1) {

   header('index.php');

   exit();

 }

 $info = mysql_fetch_assoc($result);

}

do_check_params();

do_action();

do_group_info();

make_header(menu_group);

block_menu();

menu_item(menu_exit, page_exit);

block_content();

?>

<h2>Список пользователей группы</h2>

<h3><?php echo $info['Name']; ?></h3>

<hr noshade size="1">

<table border="1" cellspacing="0" cellpadding="0" width="100%">

<tr>

 <td align="center"><b>Члены&nbsp;группы</b></td>

 <td align="center"><b>Не&nbsp;в&nbsp;группе</b></td>

</tr>

<tr>

 <td><?php do_included_list(); ?></td>

 <td><?php do_excluded_list(); ?></td>

</tr>

</table>

<?php

block_close();

make_footer();

?>

Листинг модуля grouplist.php

<?php

//

// Список групп.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

check_session();

// Формирование содержимого страницы.

function do_page_content() {

 global $db;

 // Текст запроса.

 if($_SESSION[sess_admin] == true) {

   $query = "

     SELECT * FROM `Group` ORDER BY `Name`

   ";

 } else {

   $query = "

     SELECT * FROM `Group` WHERE `Hidden` = 0 ORDER BY `Name`

   ";

 }

 // Выполнение запроса.

 $result = @mysql_query($query, $db)

   or die('Ошибка выполнения запроса списка групп.');

 // Вывод результатов запроса.

 $num = mysql_num_rows($result);

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

<a href="doclist.php?group=<?php

 echo $data['Key'];

?>"><?php

 echo $data['Name'];

?></a><br>

   <?php

 }

}

make_header(menu_grouplist);

block_menu();

if($_SESSION[sess_admin] == true) {

menu_item(menu_groups,    page_groups);

menu_item(menu_users,     page_users);

menu_item(menu_positions, page_positions);

menu_separator();

}

menu_item(menu_exit, page_exit);

block_content();

?>

<h2>Список&nbsp;групп</h2>

<hr noshade size="1">

<?php

do_page_content();

block_close();

make_footer();

?>

Листинг модуля groups.php

<?php

//

// Список групп для администратора.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Параметры страницы.

$params[] = array(pname => 'action', ptype => 'string' );

$params[] = array(pname => 'group',  ptype => 'integer');

check_session();

check_admin();

// Выполнение действия.

function do_action() {

 global $db, $params;

 if(check_get_params($params) == true) {

   define_params($params);

   // Выполнение действия.

   switch($_GET[action]) {

     // Удаление группы.

     case 'delete' :

       // Проверка возможности.

       $result = @mysql_query(

         "

           SELECT COUNT(*) AS `Count` FROM `Document`

             WHERE `OwnerGroup` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса проверки существующих в группе документов.');

       if(mysql_result($result, 0, 'Count') > 0) {

         error_message('Группа&nbsp;содержит&nbsp;документы.', 'groups.php');

       }

       $result = @mysql_query(

         "

           SELECT COUNT(*) AS `Count` FROM `Membership`

             WHERE `Group` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса существования в группе пользователей.');

       if(mysql_result($result, 0, 'Count') > 0) {

         error_message('В&nbsp;группе&nbsp;есть&nbsp;пользователи.', 'groups.php');

       }

       // Удаление.

       @mysql_query(

         "

           DELETE FROM `Group` WHERE `Key` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса удаления группы.');

       break;

     // Скрытие группы.

     case 'hide' :

       @mysql_query(

         "

           UPDATE `Group` SET `Hidden` = 1 WHERE `Key` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса сокрытия группы.');

       break;

     // Открытие группы.

     case 'unhide' :

       @mysql_query(

         "

           UPDATE `Group` SET `Hidden` = 0 WHERE `Key` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса открытия группы.');

       break;

     // Ошибка, подозреваем попытку взлома.

     default :

       header('Location: index.php');

       exit();

   }    

   // Возврат на страницу.

   header('Location: groups.php');

   exit();

 }

}

// Формирование содержимого страницы.

function do_page_content() {

 global $db;

 // Получаем список групп.

 $result = @mysql_query(

   "

     SELECT * FROM `Group` ORDER BY `Name`

   ", $db)

   or die('Ошибка выполнения запроса списка групп.');

 // Вывод результата.

 $num = mysql_num_rows($result);

 ?>

 <table border="1" cellspacing="0" cellpadding="4" width="100%">

 <tr>

   <td width="100%"><b>&nbsp;Группа&nbsp;</b></td>

   <td width="*"><b>&nbsp;Видимость&nbsp;</b></td>

   <td width="*"><b>&nbsp;Удаление&nbsp;</b></td>

 </tr>

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td width="100%"><a href="group.php?group=<?php

       echo $data['Key'];

     ?>"><?php  

       echo $data['Hidden'] == 0 ? $data['Name'] : "<b>{$data['Name']}</b>";

     ?></a>&nbsp;&nbsp;&nbsp;</td>

     <td width="*" align="center"><a href="groups.php?action=<?php  

       echo $data['Hidden'] == 0 ? 'hide' : 'unhide';

     ?>&group=<?php  

       echo $data['Key'];

     ?>"><?php

       echo $data['Hidden'] == 0 ? 'Скрыть' : 'Открыть';

     ?></a></td>

     <td width="*" align="center"><a href="groups.php?action=delete&group=<?php  

       echo $data['Key'];

     ?>">Удалить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

do_action();

make_header(menu_groups);

block_menu();

menu_item(menu_grouplist, page_grouplist);

menu_separator();

menu_item(menu_newgroup,  page_newgroup);

menu_separator();

menu_item(menu_users,     page_users);

menu_item(menu_positions, page_positions);

menu_separator();

menu_item(menu_exit,      page_exit);

block_content();

?>

<h2>Управление группами</h2>

<hr noshade size="1">

<?php

do_page_content();

block_close();

make_footer();

?>

Листинг модуля newdoc.php

<?php

//

// Загрузка нового документа.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

check_session();

// Параметры страницы.

$gparams[] = array(pname => 'group',   ptype => 'integer');

$fparams[] = array(pname => 'newfile', ptype => 'array'  );

define_params($gparams);

define_params($fparams);

// Проверка необходимого параметра - номера группы.

function do_check_params() {

 global $gparams;

 if(check_get_params($gparams) == false) {

   header('Location: index.php');

   exit();

 }

}

// Проверка членства в группе.

function do_check_membership() {

 global $db;

 $result = @mysql_query(

   "

     SELECT * FROM `Membership`

       WHERE `Group` = {$_GET[group]} AND

             `User`  = {$_SESSION[sess_user_key]}

   ", $db)

   or die('Ошибка выполнения запроса проверки членства в группе.');

 if(mysql_num_rows($result) == 0) {

   header('Location: index.php');

   exit();

 }

}

// Генерация уникального имени файла.

function make_filename() {

 // Проверяем, что каталог существует.

 if(is_dir("files/{$_GET[group]}") == false) {

   mkdir("files/{$_GET[group]}", 0770);

 }

 // Создаём уникальное имя файла на основе времени.

 do {

   $time     = time();

   $filename = "files/{$_GET[group]}/{$time}";

   sleep(2);

 } while(is_file($filename) == true);

 return $filename;

}

// Загрузка файла.

function do_upload_file() {

 global $db, $fparams;

 if(check_params($fparams, $_FILES) == true) {

   // Файла.

   $file = $_FILES[newfile];

   // Проверка ошибочного нажатия на кнопку / отмена операции.

   if($file['name'] == '') {

     header("Location: doclist.php?group={$_GET[group]}");

     exit();

   }

   // Проверка размера файла.

   if($file['size'] > 1024 * 1024 or $file['size'] == 0) {

     error_message('Файл&nbsp;имеет&nbsp;недопустимый&nbsp;размер.',

       "newdoc.php?group={$_GET[group]}");

   }

   // Текущая дата для MySQL.

   $now_date = getdate(time());

   $now_date = "{$now_date['year']}-{$now_date['mon']}-{$now_date['mday']} " .

               "{$now_date['hours']}:{$now_date['minutes']}:{$now_date['seconds']}";

   // Загрузка файла.

   $filename = make_filename();

   move_uploaded_file($file['tmp_name'], $filename);

   @mysql_query(

     "

       INSERT INTO `Document`

           (`Date`, `Owner`, `OwnerGroup`, `FileName`, `FileSize`, `FileType`, `FileLink`)

         VALUES

           ('{$now_date}', {$_SESSION[sess_user_key]}, {$_GET[group]},

            '{$file['name']}', {$file['size']}, '{$file['type']}', '{$filename}')

     ", $db)

     or die('Ошибка выполнения операции сохранения данных файла.');

   // Возврат на страницу списка файлов группы.

   header("Location: doclist.php?group={$_GET[group]}");

   exit();

 }

}

// Автоматический вызов.

do_check_params();

do_check_membership();

do_upload_file();

// Форма загрузки файла.

make_header('Загрузка документа');

 ?>

<form enctype="multipart/form-data"

 action="newdoc.php?group=<?php echo $_GET[group]; ?>" method="POST" name="form">

<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo 1024 * 1024; ?>">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

 <td align="right"><b>Файл&nbsp;для&nbsp;загрузки</b></td>

 <td><input type="file" size="50" name="newfile"></td>

</tr>

</table>

<hr noshade size="1">

<center><input type="submit" value="Загрузить"></center>

</form>

<script>

<!--

document.form.newfile.focus();

-->

</script>

 <?php

make_footer();

?>

Листинг модуля newgroup.php

<?php

//

// Добавление новой группы.

//

require_once('include/connect.php');

require_once('include/page.php');

require_once('include/params.php');

check_session();

check_admin();

// Параметры.

$params[] = array(pname => 'name', ptype => 'string');

// Выполнение действия.

function do_action() {

 global $db, $params;

 if(check_post_params($params) == true) {

   define_params($params);

   // Проверка на отмену операции.

   if($_POST[name] == '') {

     header('Location: groups.php');

     exit();

   }

   // Проверка возможности добавления.

   $result = @mysql_query(

     "

       SELECT * FROM `Group` WHERE `Name` = '{$_POST[name]}'

     ", $db)

     or die('Ошибка выполнения запроса проверки уникальности названия группы.');

   if(mysql_num_rows($result) > 0) {

     error_message('Название&nbsp;группы&nbsp;не&nbsp;уникально.', 'newgroup.php');

   }

   // Выполнение добавления группы.

   $hidden = isset($_POST['hidden']) ? 1 : 0;

   @mysql_query(

     "

       INSERT INTO `Group`

           (`Name`, `Hidden`) VALUES ('{$_POST[name]}', {$hidden})

     ", $db)

     or die('Ошибка выполнения запроса добавления группы.');

   // Возврат к списку груу для администратора.

   header('Location: groups.php');

   exit();

 }

}

do_action();

make_header('Новая группа');

?>

<form action="newgroup.php" method="POST" name="form">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

 <td><b>Имя&nbsp;группы</b></td>

 <td><input type="text" name="name" size="50"></td>

</tr>

<tr>

 <td colspan="2">

   <input type="checkbox" name="hidden"> Скрытая группа

 </td>

</tr>

</table>

<hr noshade size="1">

<center><input type="submit" value="Создать"></center>

</form>

<script>

<!--

document.form.name.focus();

-->

</script>

<?php

make_footer();

?>

Листинг модуля newposition.php

<?php

//

// Добавление новой должности.

//

require_once('include/connect.php');

require_once('include/page.php');

require_once('include/params.php');

check_session();

check_admin();

// Параметры.

$params[] = array(pname => 'name', ptype => 'string');

// Выполнение действия.

function do_action() {

 global $db, $params;

 if(check_post_params($params) == true) {

   define_params($params);

   // Проверка на отмену операции.

   if($_POST[name] == '') {

     header('Location: positions.php');

     exit();

   }

   // Проверка возможности добавления.

   $result = @mysql_query(

     "

       SELECT * FROM `Position` WHERE `Name` = '{$_POST[name]}'

     ", $db)

     or die('Ошибка выполнения запроса проверки уникальности названия должности.');

   if(mysql_num_rows($result) > 0) {

     error_message('Название&nbsp;должности&nbsp;не&nbsp;уникально.', 'newposition.php');

   }

   // Выполнение добавления должности.

   @mysql_query(

     "

       INSERT INTO `Position`

           (`Name`) VALUES ('{$_POST[name]}')

     ", $db)

     or die('Ошибка выполнения запроса добавления должности.');

   // Возврат к списку груу для администратора.

   header('Location: positions.php');

   exit();

 }

}

do_action();

make_header('Новая должность');

?>

<form action="newposition.php" method="POST" name="form">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

 <td><b>Название&nbsp;должности</b></td>

 <td><input type="text" name="name" size="50"></td>

</tr>

</table>

<hr noshade size="1">

<center><input type="submit" value="Создать"></center>

</form>

<script>

<!--

document.form.name.focus();

-->

</script>

<?php

make_footer();

?>

Листинг модуля positions.php

<?php

//

// Управление должностями.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Описание параметров страницы.

$action[] = array(pname => 'action',   ptype => 'string');

$action[] = array(pname => 'position', ptype => 'integer');

check_session();

check_admin();

// Выполнение действий.

function do_action() {

 global $db, $action;

 if(check_get_params($action)) {

   define_params($action);

   switch($_GET[action]) {

     case 'delete':

       @mysql_query("

         DELETE FROM `Position` WHERE `Key` = {$_GET[position]}

       ", $db)

       or die('Ошибка удаления должности.');

       break;

     // Неизвестное действие - возможно попытка взлома.

     default:

       header('Location: index.php');

       exit();

   }

   // Возврат к странице.

   header('Location: positions.php');

   exit();

 }

}

// Генерация содержимого страницы.

function do_page_content() {

 global $db;

 $result = @mysql_query("

   SELECT `POS`.*, COUNT(`USR`.`Key`) AS `Count`

   FROM

       `Position` `POS`

     LEFT JOIN

       `User`     `USR` ON `USR`.`Position` = `POS`.`Key`

   GROUP BY

     `POS`.`Key`

   ORDER BY

     `POS`.`Name`

 ", $db)

 or die("Ошибка выполнения запроса списка должностей.");

 $num = mysql_num_rows($result);

 ?>

 <table border="1" cellspacing="0" cellpadding="4" width="100%">

 <tr>

   <td width="100%">&nbsp;<b>Название</b>&nbsp;</td>

   <td width="*">&nbsp;<b>Пользователей</b>&nbsp;</td>

   <td width="*">&nbsp;<b>Удаление</b>&nbsp;</td>

 </tr>

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td align="left"><?php

       echo str_replace(" ", "&nbsp;", htmlspecialchars($data['Name']));

     ?></td>

     <td align="center"><?php

       echo $data['Count'];

     ?></td>

     <td align="center"><?php

       echo ($data['Count'] > 0) ? "&nbsp;" :

         "<a href=\"positions.php?action=delete&position={$data['Key']}\">Удалить</a>";

     ?></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

do_action();

make_header(menu_positions);

block_menu();

menu_item(menu_grouplist,   page_grouplist);

menu_separator();

menu_item(menu_newposition, page_newposition);

menu_separator();

menu_item(menu_users,       page_users);

menu_item(menu_groups,      page_groups);

menu_separator();

menu_item(menu_exit,        page_exit);

block_content();

?>

<h2>Управление&nbsp;должностями</h2>

<hr noshade size="1">

<?php

do_page_content();

block_close();

make_footer();

?>

Листинг модуля newuser.php

<?php

//

// Создание нового пользователя.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Описание параметров страницы.

$params[] = array(pname => 'login',     ptype => 'string' );

$params[] = array(pname => 'password',  ptype => 'string' );

$params[] = array(pname => 'confirm' ,  ptype => 'string' );

$params[] = array(pname => 'fname' ,    ptype => 'string' );

$params[] = array(pname => 'lname' ,    ptype => 'string' );

$params[] = array(pname => 'sname' ,    ptype => 'string' );

$params[] = array(pname => 'position' , ptype => 'integer');

// Выполнение действия.

function do_action() {

 global $db, $params;

 if(check_post_params($params) == true) {

   define_params($params);

   // Проверка на отмену операции.

   if($_POST[login] == '') {

     header('Location: users.php');

     exit();

   }

   // Проверка уникальности логина.

   $result = @mysql_query(

     "

       SELECT * FROM `User` WHERE `Login` = '{$_POST[login]}'

     ", $db)

     or die('Ошибка выполнения запроса проверки уникальности логина.');

   if(mysql_num_rows($result) > 0) {

error_message('Пользователь&nbsp;с&nbsp;таким&nbsp;логин&nbsp;уже&nbsp;существует.',

       'newuser.php');

   }

   // Проверка пароля.

   if($_POST[password] != $_POST[confirm]) {

error_message('Пароль&nbsp;и&nbsp;подтверждение&nbsp;не&nbsp;совпадают.',

       'newuser.php');

   }

   // Выполнение операции.

   $pwdhash = md5($_POST[password]);

   @mysql_query(

     "

       INSERT INTO `User`

           (`Enabled`, `Login`, `PwdHash`, `FirstName`, `LastName`, `SecondName`, `Admin`, `Position`)

         VALUES

           (1, '{$_POST[login]}', '{$pwdhash}', '{$_POST[fname]}', '{$_POST[lname]}',  

           '{$_POST[sname]}', 0, '{$_POST[position]}')

     ", $db)

     or die('Ошибка выполнения запрос добавления пользователя.');

   // Возврат к странице списка пользователей.

   header('Location: users.php');

   exit();

 }

}

do_action();

// Форма ввода данных.

make_header('Новый пользователь');

?>

<form name="form" action="newuser.php" method="POST">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

 <td align="right"><b>Логин</b></td>

 <td><input type="text" size="70" name="login"></td>

</tr>

<tr>

 <td align="right"><b>Пароль</b></td>

 <td><input type="password" size="70" name="password"></td>

</tr>

<tr>

 <td align="right"><b>Подтверждение</b></td>

 <td><input type="password" size="70" name="confirm"></td>

</tr>

<tr><td colspan="2">

 <hr noshade size="1">

</td></tr>

<tr>

 <td align="right"><b>Фамилия</b></td>

 <td><input type="text" size="70" name="lname"></td>

</tr>

<tr>

 <td align="right"><b>Имя</b></td>

 <td><input type="text" size="70" name="fname"></td>

</tr>

<tr>

 <td align="right"><b>Отчество</b></td>

 <td><input type="text" size="70" name="sname"></td>

</tr>

<tr><td colspan="2">

 <hr noshade size="1">

</td></tr>

<tr>

 <td align="right"><b>Должность</b></td>

 <td><select name="position" size="1">

<?php

// Список должностей.

$result = @mysql_query("

 SELECT * FROM `Position`

 ORDER BY `Name`

 ", $db)

 or die('Ошибка запроса списка должностей.');

$num = mysql_num_rows($result);

for($i = 0; $i < $num; $i++) {

 mysql_data_seek($result, $i);

 $data = mysql_fetch_assoc($result);

 echo("

 <option value=\"{$data['Key']}\">&nbsp;{$data['Name']}&nbsp;</option>

 ");

}

?>

</select>

</td>

</tr>

</table>

<hr noshade size="1">

<center><input type="submit" value="Создать учётную запись"></center>

</form>

<script>

<!--

document.form.login.focus();

-->

</script>

<?php

make_footer();

?>

Листинг модуля user.php

<?php

//

// Управление членством в группах для пользователя.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Описание параметров страницы.

$params[] = array(pname => 'user',   ptype => 'integer');

$action[] = array(pname => 'action', ptype => 'string' );

$action[] = array(pname => 'group',  ptype => 'integer');

check_session();

check_admin();

// Проверка параметров.

function do_check_params() {

 global $params;

 if(check_get_params($params) == false) {

   header('Location: index.php');

   exit();

 }

 define_params($params);

}

// Выполнение действий.

function do_action() {

 global $db, $action;

 if(check_get_params($action) == true) {

   define_params($action);

   // Выполнение действий.

   switch($_GET[action]) {

     // Включение группы.

     case 'include' :

       @mysql_query(

         "

           INSERT INTO `Membership`

             (`User`, `Group`) VALUES ({$_GET[user]}, {$_GET[group]})

         ", $db)

         or die('Ошибка выполнения запроса включения группы.');

       break;

     // Исключение группы.

     case 'exclude' :

       @mysql_query(

         "

           DELETE FROM `Membership`

             WHERE `User` = {$_GET[user]} AND `Group` = {$_GET[group]}

         ", $db)

         or die('Ошибка выполнения запроса исключения группы.');

       break;

     // Попытка взлома?

     default :

       header('Location: index.php');

       exit();

   }

   // Возврат к странице.

   header("Location: user.php?user={$_GET[user]}");

   exit();

 }

}

// Чтение данных пользователя.

function do_info() {

 global $db, $info;

 $result = @mysql_query(

   "

     SELECT

       `USR`.*, `POS`.`Name` AS `PosName`

     FROM

         `User` `USR`

       INNER JOIN

         `Position` `POS` ON `USR`.`Position` = `POS`.`Key`

       WHERE `USR`.`Key` = {$_GET[user]}

   ", $db)

   or die('Ошибка выполнения запроса данных пользователя.');

 $info = mysql_fetch_assoc($result);

}

// Список включённых групп.

function do_include_list() {

 global $db;

 $result = @mysql_query(

   "

     SELECT `GRP`.* FROM

       `Group` `GRP` INNER JOIN `Membership` `MEM`

       ON `GRP`.`Key` = `MEM`.`Group`

       WHERE `MEM`.`User` = {$_GET[user]}

       ORDER BY `GRP`.`Name`

   ", $db)

   or die('Ошибка запроса списка включённых групп.');

 $num = mysql_num_rows($result);

 ?>

 <table border="0" cellspacing="0" cellpadding="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td><?php

       echo $data['Name'];

     ?></td>

     <td>&nbsp;&nbsp;<a href="user.php?user=<?php  

       echo $_GET[user];

     ?>&action=exclude&group=<?php  

       echo $data['Key'];

     ?>">Исключить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

// Список исключённых групп.

function do_exclude_list() {

 global $db;

 $result = @mysql_query(

   "

     SELECT * FROM `Group`

       WHERE `Key` NOT IN (

         SELECT `Group` FROM `Membership`

       )

       ORDER BY `Name`

   ", $db)

   or die('Ошибка запроса списка исключённых групп.');

 $num = mysql_num_rows($result);

 ?>

 <table border="0" cellspacing="0" cellpadding="4">

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td><?php

       echo $data['Name'];

     ?></td>

     <td>&nbsp;&nbsp;<a href="user.php?user=<?php  

       echo $_GET[user];

     ?>&action=include&group=<?php  

       echo $data['Key'];

     ?>">Включить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

do_check_params();

do_action();

do_info();

make_header('Членство пользователя в группах');

block_menu();

menu_item(menu_grouplist, page_grouplist);

menu_separator();

menu_item(menu_groups,    page_groups);

menu_item(menu_users,     page_users);

menu_separator();

menu_item(menu_exit,      page_exit);

block_content();

?>

<h2>Членство&nbsp;пользователя&nbsp;в&nbsp;группах</h2>

<h3><?php  

 echo "{$info['Login']}&nbsp;::&nbsp;&nbsp;{$info['LastName']}&nbsp;{$info['FirstName']}&nbsp;{$info['SecondName']}";

?><br><?php

 echo "{$info['PosName']}"

?></h3>

<hr noshade size="1">

<table border="0" cellspacing="0" cellpadding="4">

<tr>

 <td width="50%" align="center"><b>Член&nbsp;групп</b></td>

 <td width="50%" align="center"><b>Не&nbsp;в&nbsp;группах</b></td>

</tr>

<tr>

 <td><?php do_include_list(); ?></td>

 <td><?php do_exclude_list(); ?></td>

</tr>

</table>

<?php

block_close();

make_footer();

?>

Листинг модуля users.php

<?php

//

// Управление пользователями.

//

require_once('include/connect.php');

require_once('include/params.php');

require_once('include/page.php');

// Описание параметров страницы.

$action[] = array(pname => 'action', ptype => 'string');

$action[] = array(pname => 'user',   ptype => 'integer');

check_session();

check_admin();

// Выполнение действий.

function do_action() {

 global $db, $action;

 if(check_get_params($action)) {

   define_params($action);

   switch($_GET[action]) {

     // Назначение администратором.

     case 'appointadmin' :

       @mysql_query(

         "

           UPDATE `User` SET `Admin` = 1

             WHERE `Key` = {$_GET[user]}

         ", $db)

         or die('Ошибка выполнения запроса назначения административных привилегий.');

       break;

     // Лишение привилегий администратора.

     case 'depriveadmin' :

       @mysql_query(

         "

           UPDATE `User` SET `Admin` = 0

             WHERE `Key` = {$_GET[user]}

         ", $db)

         or die('Ошибка выполнения запроса лишения административных привилегий.');

       break;

     // Удаление.

     case 'delete' :

       // Проверка возможности удаления.

       $result = @mysql_query(

         "

           SELECT * FROM `Document`

             WHERE `Owner` = {$_GET[user]}

         ", $db)

         or die('Ошибка проверки возможности удаления.');

       if(mysql_num_rows($result) > 0) {

error_message('Этот&nbsp;пользователь&nbsp;имеет&nbsp;опуликованные&nbsp;документы.',

           'users.php');

         exit();

       }

       // Выполнение операции.

       @mysql_query(

         "

           DELETE FROM `User` WHERE `Key` = {$_GET[user]}

         ", $db)

         or die('Ошибка выполнения запроса удаления пользователя.');

       break;

     // Включение учётной записи.

     case 'enable' :

       @mysql_query(

         "

           UPDATE `User` SET `Enabled` = 1

             WHERE `Key` = {$_GET[user]}

         ", $db)

         or die('Ошибка выполнения запроса включения учётной записи.');

       break;

     // Отключение учётной записи.

     case 'disable' :

       @mysql_query(

         "

           UPDATE `User` SET `Enabled` = 0

             WHERE `Key` = {$_GET[user]}

         ", $db)

         or die('Ошибка выполнения запроса отключения учётной записи.');

       break;

     // Неизвестное действие - возможно попытка взлома.

     default:

       header('Location: index.php');

       exit();

   }

   // Возврат к странице.

   header('Location: users.php');

   exit();

 }

}

// Генерация содержимого страницы.

function do_page_content() {

 global $db;

 $result = @mysql_query(

   "

     SELECT `USR`.*, `POS`.`Name` AS `PosName`

     FROM

         `User`     `USR`

       LEFT JOIN

         `Position` `POS` ON `USR`.`Position` = `POS`.`Key`

       ORDER BY

         `USR`.`LastName`, `USR`.`FirstName`, `USR`.`SecondName`,

         `USR`.`Login`, `POS`.`Name`

   ", $db)

   or die('Ошибка выполнения запроса списка пользователей.');

 $num = mysql_num_rows($result);

 ?>

 <table border="1" cellspacing="0" cellpadding="4">

 <tr>

   <td><b>&nbsp;Логин&nbsp;</b></td>

   <td><b>&nbsp;ФИО&nbsp;</b></td>

   <td><b>&nbsp;Должность&nbsp;</b></td>

   <td><b>&nbsp;Администратор&nbsp;</b></td>

   <td><b>&nbsp;Отключение&nbsp;</b></td>

   <td><b>&nbsp;Удаление&nbsp;</b></td>

 </tr>

 <?php

 for($i = 0; $i < $num; $i++) {

   mysql_data_seek($result, $i);

   $data = mysql_fetch_assoc($result);

   ?>

   <tr>

     <td width="*"><a href="user.php?user=<?php  

       echo $data['Key'];

     ?>"><?php  

       echo $data['Login'];

     ?></a>&nbsp;&nbsp;</td>

     <td width="100%"><a href="user.php?user=<?php  

       echo $data['Key'];

     ?>"><?php  

       echo "{$data['LastName']}&nbsp;{$data['FirstName']}&nbsp;{$data['SecondName']}";

     ?></a></td>

     <td width="100%"><a href="user.php?user=<?php  

       echo $data['Key'];

     ?>"><?php  

       echo str_replace(" ", "&nbsp;", htmlspecialchars($data['PosName']));

     ?></a></td>

     <td width="*">&nbsp;&nbsp;<a href="users.php?action=<?php  

       echo ($data['Admin'] != 0) ? 'depriveadmin' : 'appointadmin';

     ?>&user=<?php  

       echo $data['Key'];

     ?>"><?php

       echo ($data['Admin'] != 0) ? 'Лишить&nbsp;адм.&nbsp;прив.' : 'Назначить&nbsp;адм.&nbsp;прив.';

     ?></a></td>

     <td>&nbsp;&nbsp;<a href="users.php?action=<?php

       echo ($data['Enabled'] != 0) ? 'disable' : 'enable'

     ?>&user=<?php  

       echo $data['Key'];

     ?>"><?php  

       echo ($data['Enabled'] != 0) ? 'Выключить' : 'Включить'

     ?></a></td>

     <td width="*">&nbsp;&nbsp;<a href="users.php?action=delete&user=<?php  

       echo $data['Key'];

     ?>">Удалить</a></td>

   </tr>

   <?php

 }

 ?>

 </table>

 <?php

}

do_action();

make_header(menu_users);

block_menu();

menu_item(menu_grouplist, page_grouplist);

menu_separator();

menu_item(menu_newuser,   page_newuser);

menu_separator();

menu_item(menu_groups,    page_groups);

menu_item(menu_positions, page_positions);

menu_separator();

menu_item(menu_exit,      page_exit);

block_content();

?>

<h2>Управление&nbsp;пользователями</h2>

<hr noshade size="1">

<?php

do_page_content();

block_close();

make_footer();

?>


Приложение 3

Листинг базы данных MySQL

<?xml version="1.0" encoding="UTF-8"?>

<!-- - Database: 'smp' -->

-<smp>

<!-- Table Document -->

-<Document>

<Key>1</Key>

<Date>2011-06-14 20:07:10</Date>

<Owner>1</Owner>

<OwnerGroup>1</OwnerGroup>

<FileName>Структра.jpg</FileName>

<FileSize>90684</FileSize>

<FileType>image/pjpeg</FileType>

<FileLink>files/1/1308107230</FileLink>

</Document>

-<Document>

<Key>2</Key>

<Date>2011-06-14 22:55:34</Date>

<Owner>1</Owner>

<OwnerGroup>1</OwnerGroup>

<FileName>База данных.docx</FileName>

<FileSize>625065</FileSize>

<FileType>application/octet-stream</FileType> <FileLink>files/1/1308117334</FileLink>

</Document>

-<Document>

<Key>3</Key>

<Date>2011-06-14 23:31:23</Date>

<Owner>6</Owner>

<OwnerGroup>5</OwnerGroup>

<FileName>Структра.jpg</FileName>

<FileSize>90684</FileSize>

<FileType>image/pjpeg</FileType>

<FileLink>files/5/1308119483</FileLink>

</Document>

-<Document>

<Key>4</Key>

<Date>2011-06-15 14:21:54</Date>

<Owner>1</Owner>

<OwnerGroup>1</OwnerGroup>

<FileName>Безымянный.jpg</FileName>

<FileSize>51202</FileSize>

<FileType>image/pjpeg</FileType>

<FileLink>files/1/1308172914</FileLink> </Document>

<!-- Table Group -->

-<Group>

<Key>1</Key>

<Name>Администраторы</Name>

<Hidden>1</Hidden>

</Group>

-<Group>

<Key>4</Key>

<Name>Бугалтерия</Name>

<Hidden>1</Hidden>

</Group>

-<Group>

<Key>3</Key>

<Name>АСУП</Name>

<Hidden>1</Hidden>

</Group>

-<Group>

<Key>5</Key>

<Name>Юридический отдел</Name>

<Hidden>0</Hidden> </Group>

-<Group>

<Key>6</Key>

<Name>Расчётный отдел</Name>

<Hidden>1</Hidden>

</Group>

-<Group>

<Key>7</Key>

<Name>Общая</Name>

<Hidden>0</Hidden> </Group>

<!-- Table Membership -->

-<Membership>

<Key>10</Key>

<User>1</User>

<Group>1</Group>

</Membership>

-<Membership>

<Key>13</Key>

<User>6</User>

<Group>5</Group>

</Membership>

-<Membership>

<Key>14</Key>

<User>6</User>

<Group>7</Group>

</Membership>

-<Membership>

<Key>11</Key>

<User>7</User>

<Group>6</Group>

</Membership>

-<Membership>

<Key>12</Key> <User>5</User> <Group>3</Group> </Membership>

 

<!-- Table Permission -->

-<Permission>

<Key>1</Key>

<Document>2</Document>

<Group>3</Group>

</Permission>

-<Permission>

<Key>2</Key>

<Document>3</Document>

<Group>5</Group>

</Permission>

<!-- Table Position -->

-<Position>

<Key>1</Key>

<Name>Системный администратор</Name>

</Position>

-<Position>

<Key>2</Key>

<Name>Секретарь</Name>

</Position>

-<Position>

<Key>3</Key>

<Name>Юрист</Name>

</Position>

 

<!-- Table User -->

-<User>

<Key>1</Key>

<Enabled>1</Enabled>

<Login>Admin</Login> <PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash> <FirstName>Учётная</FirstName>

<LastName>Встроенная</LastName>

<SecondName>Запись</SecondName>

<Admin>1</Admin>

<Position>1</Position>

</User>

-<User>

<Key>2</Key>

<Enabled>1</Enabled>

<Login>User1</Login>

<PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash>

<FirstName/>

<LastName/>

<SecondName/>

<Admin>0</Admin>

<Position>2</Position> </User>

-<User>

<Key>3</Key>

<Enabled>1</Enabled>

<Login>User2</Login> <PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash>

<FirstName/>

<LastName/>

<SecondName/>

<Admin>0</Admin>

<Position>2</Position>

</User>

-<User>

<Key>4</Key>

<Enabled>1</Enabled>

<Login>User3</Login> <PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash>

<FirstName/>

<LastName/>

<SecondName/>

<Admin>0</Admin>

<Position>2</Position> </User>

-<User>

<Key>5</Key>

<Enabled>1</Enabled>

<Login>Ivanov</Login>

<PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash>

<FirstName/>

<LastName/>

<SecondName/>

<Admin>0</Admin>

<Position>1</Position>

</User>

-<User>

<Key>6</Key>

<Enabled>1</Enabled>

<Login>Petrov</Login> <PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash>

<FirstName/>

<LastName/>

<SecondName/>

<Admin>0</Admin>

<Position>3</Position> </User>

-<User>

<Key>7</Key>

<Enabled>1</Enabled>

<Login>User5</Login>

<PwdHash>d41d8cd98f00b204e9800998ecf8427e</PwdHash>

<FirstName/>

<LastName/>

<SecondName/>

<Admin>0</Admin>

<Position>4</Position>

</User></smp>

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

Отпечатано в 2 экземплярах.

Библиография 39 наименований.

Один экземпляр сдан на кафедру.

«____» __________________ 2011г.

______________________  Сомов Д.С.       

                      (подпись)

1Technologie van EIS - Wijze van toegang: http://kgau.ru/istiki/umk/pis/l4.htm.


2 Технология проектирования ЭИС – Режим доступа: http://kgau.ru/istiki/umk/pis/l4.htm.


 

А также другие работы, которые могут Вас заинтересовать

3382. Потенциал электростатического поля. Диэлектрики в электростатическом поле 350 KB
  Потенциал электростатического поля. Диэлектрики в электростатическом поле. Работа при перемещении заряда в электростатическом поле. Потенциал. Разность потенциалов. Связь между напряженностью и потенциалом электростатического поля. Эквип...
3383. Изучение свободных колебаний математического и пружинного маятников 398.5 KB
  Изучение свободных колебаний математического и пружинного маятников Цель работы: изучение физических основ свободных незатухающих колебаний, определение ускорения свободного падения с помощью математического маятника и коэффициента упругости пружины...
3384. Книжные социальные сети как канал распространения издательской и книготорговой библиографической информации 104 KB
  Книжные социальные сети как канал распространения издательской и книготорговой библиографической информации На сегодняшний день в мире существует более 130 миллионов компьютеров и более 80 % из них объединены в различные информационные сети от малых...
3385. Проектирование фундаментов производственных зданий 606.5 KB
  ИСХОДНЫЕ ДАННЫЕ - тип объекта – производственное здание с подвалом и гибкой конструктивной схемой    - район строительства – г. Магнитогорск; -величины нагрузок на фундаменты представлены в табл. 1. Таблица 1 Величины нагрузок...
3386. Рассчитать и спроектировать резец для обработки наружной поверхности детали 8.03 MB
  Оправки в шпинделе закрепляют штоком, проходящим через шпиндель станка. Шток имеет на конце захватное устройство. Инструментальные оправки имеют соответствующие этому устройству наружные, внутренние или резьбовые поверхности захвата...
3387. Реконструкция многоквартирного крупноблочного дома серии 1-439А 888.5 KB
  При модернизации и реконструкции жилых зданий массовой застройки предусматривается решение следующих задач: приведение планировочной структуры здания в соответствие с требованиями к потребительским и эксплуатационным качествам современного ...
3388. Проект разработки роторного снегоочистителя 857.5 KB
  В процессе подготовки будущего инженера к самостоятельному решению технических и производственных задач одно из ведущих мест принадлежит курсовому проектированию. Цель данного курсового проекта – закрепить и обобщить теоретический мате...
3389. Проектирование редуктора и выбор типа зубчатых колес 353 KB
  Целью курсовой работы является получение навыков самостоятельного применения теоретических знаний для решения практических задач, связанных с техническим моделированием и созданием несложных технических устройств практического назначения. В...
3390. Контрольный тест по дисциплине Социология 133.5 KB
  Контрольный тест по дисциплине «Социология» для студентов дистанционного обучения Предлагаемый тест предназначен для контроля знаний, полученных студентами дистанционной формы обучения в процессе освоения курса общей социологии. Тест разработан в со...