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

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Аннотация

Пояснительная записка содержит 91 страницы, в том числе 27 рисунок, 28 таблиц, 40 источников, 2 приложения. Графическая часть выполнена на 10 листах формата А4.

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

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

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

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

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

The Summary

Explanatory note contains 92 pages including 27 figures, 28 tables, 40 sources, 2 applications. The graphical part is made of 10 sheets of A4.

Presented degree work considers the problem of the development software automation service of user’s requests from the local area network at the branch RSU of oil and gas of a name of I.M. Gubkina in Orenburg are considered

The explanatory note contains a description of all stages of software development. It includes a mathematical model, the analysis solution of the problem, the architecture of software tools, functionality, database design, algorithm software.

The work consists of five chapters. The numbering of formulas, tables and figures are in each chapter independently.

The paper contains a rationale for the choice of programming language. Description of the program includes a description of the scheme of the program and describes the structure of the program. The paper presents the user manual. Address issues related to production safety. The calculation of economic efficiency.

Implementation of the project will improve the efficiency of the investigated companies.

Содержание

  • Введение
  • 1. Аналитический раздел
    • 1.1 Анализ предметной области
    • 1.2 Организационно-производственная структура
    • 1.3 Анализ существующих программных продуктов
    • 1.4 Выбор математического аппарата
    • 1.5 Постановка задачи
    • 1.5.1 Назначение программного продукта
    • 1.5.2 Требования к программному средству и техническому оборудованию
  • 2. Проектный раздел
    • 2.1 Инструментальные средства
    • 2.1.1 Выбор языка программирования
    • 2.1.2 Технология клиент/сервер. Принцип работы Java Web-приложения
    • 2.1.3 Архитектура платформы Tandem.
    • 2.1.4 Выбор СУБД
    • 2.1.5 Структурированный язык запросов SQL
    • 2.2 Разработка базы данных проектируемого программного средства
    • 2.2.1 Формализованное описание предметной области
    • 2.2.2 Разработка инфологической модели БД
    • 2.2.3 Разработка даталогической модели БД
    • 2.2.4 Нормализация отношений
    • 2.2.5 Физическая модель БД
    • 2.2.5.1 Техническое описание объектов БД
    • 2.2.5.2 Реализация ограничений целостности БД
    • 2.3 Разработка программного средства автоматизации обслуживания заявок
  • 3. Технико-эксплуатационный раздел
    • 3.1 Руководство для пользователей
    • 3.2 Руководство для серверной части
    • 3.3 Руководство администратора
    • 3.4 Руководство программиста
  • 4. Обоснование экономической эффективности проекта
    • 4.1 Расчет трудоемкости разработки программного продукта
    • 4.2 Расчет себестоимости программного продукта
    • 4.3 Расчет экономического эффекта от внедрения программного продукта
  • 5. Безопасность труда
    • 5.1 Анализ условий труда
    • 5.2 Расчет искусственного освещения
    • 5.3 Возможные чрезвычайные ситуации
    • 5.3.1 Расчет зоны заражения
    • 5.3.2 Расчет времени эвакуации
  • Заключение
  • Список использованных источников
  • Приложение А
  • Приложение Б

Введение

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

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

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

В связи с этим появилась необходимость разработки программного средства по обслуживанию заявок от пользователей ЛВС Филиала, в котором будет осуществляться сбор, обработка, контроль исполнения заявок и составление отчётности.

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

1. Аналитический раздел

1.1 Анализ предметной области

Филиал государственного образовательного учреждения высшего профессионального образования «Российский государственный университет нефти и газа имени И.М. Губкина» в г. Оренбурге создан приказом Министерства общего и профессионального образования от 30. 06. 98 № 1758.

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

Основными задачами Филиала являются:

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

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

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

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

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

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

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

Общими положениями отдела информационных технологий являются:

— отдел информационных технологий является самостоятельным структурным подразделением Филиала;

— отдел создается и ликвидируется приказом директора Филиала;

— отдел подчиняется непосредственно директору Филиала;

— отдел возглавляет начальник, назначаемый на должность приказом директора Филиала;

— начальник ОИТ имеет одного заместителя;

— обязанности заместителя определяются начальником ОИТ.

Структура ОИТ Филиала:

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

— ОИТ имеет в своем составе структурные подразделения;

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

Основными задачами ОИТ являются:

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

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

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

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

Схема информационных потоков отдела информационных технологий филиала РГУ нефти и газа имени И. М. Губкина представлена на рисунке 1.1.

Рисунок 1.1 — Схема информационных потоков

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

а) пользователь библиотеки сообщает о проблемах в работе компьютерного оборудования, либо о необходимости мультимедиа оборудования;

б) сотрудник ОИТ выполняет заявку;

в) пользователь бухгалтерии сообщает о проблемах в работе программного обеспечения, либо о неисправности компьютерного оборудования;

г) сотрудник ОИТ выполняет заявку;

д) пользователь общего отдела сообщает о проблемах в работе компьютерного оборудования, либо о необходимости мультимедиа оборудования;

е) сотрудник ОИТ выполняет заявку;

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

з) сотрудник ОИТ заполняет базу данных работников Филиала;

и) сотрудник ОИТ запрашивает сведения об имеющемся мультимедиа и компьютерном оборудовании на складе;

к) сотрудник хозяйственного отдела передаёт нужное оборудование, либо оповещает, что такого оборудования нет на складе;

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

м) пользователь ОИТ выполняет заявку или консультирует.

1.2 Организационно-производственная структура

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

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

Структуру Филиала, создание, реорганизацию, ликвидацию его подразделений утверждает ректор Университета.

Штатное расписание работников Филиала утверждается ректором Университета.

Управление Филиалом осуществляется в соответствии с Уставом РГУ нефти и газа имени И. М. Губкина, настоящим Положением и действующим законодательством РФ.

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

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

Ведущий библиотекарь подчиняется непосредственно директору Филиала и руководит научно-технической библиотекой.

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

Заведующий учебно-организационного отдела подчиняется заместителю директора Филиала по учебной работе и распределяет обязанности работников учебно-организационного отдела [2].

1.3 Анализ существующих программных продуктов

Необходимо проанализировать существующие аналоги программ технической поддержки пользователей. Среди них выделим «Обработка заявок Service Desk» и «Help Desk», разработанный на базе Microsoft SharePoint.

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

— возможность автоматической маршрутизации заявок согласно задаваемым правилам бизнес-процесса;

— обеспечение совместной работы над документами процесса поддержки пользователей;

— обеспечение обратной связи посредством оповещений по e-mail и «прозрачности» прохождения заявки для ее заказчика;

— повышение качества анализа работы корпоративной службы поддержки.

К минусам данного программного продукта можно отнести следующее:

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

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

— данное программное средство не имеет возможности автоматического распределения заявок между специалистами в зависимости от их загруженности.

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

Выделяются следующие положительные аспекты:

— классификация и диспетчеризация приходящих заявок, в том числе для назначения исполнителей, категории, приоритета и т. д. ;

— отслеживание текущего статуса заявки;

— протоколирование работ, выполняемых по заявке, а также всех вносимых в нее изменений;

— построение отчетов.

Недостатки следующие:

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

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

— также как и в случае с Service Desk «Обработка заявок», предприятию необходим дополнительный штат работников, что увеличит расходы.

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

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

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

Таблица 1.1 — Сравнительная характеристика программных средств

«Help Desk»

«Обработка заявок»

Программное средство автоматизации обслуживания заявок

Поддерживаемые операционные системы

Windows 9x/NT/2000/XP/

Vista/Seven

Windows 9x/NT/2000/XP/

Vista/Seven

Windows 9x/NT/2000/XP/

Vista/Seven

Язык разработки

C++

C#

Java

Проверка корректности ввода данных

-

+

+

Создание отчета в MS Excel

-

-

+

Протоколирование выполнения заявки

+

+

+

Быстрое развертывание

-

-

+

Необходимость сервисного обслуживания

+

+

-

Программные продукты «Help Desk» и «Обработка заявок» обладают несколькими общими недостатками: для их полного функционирования необходим дополнительный штаб работников для обслуживания данных систем сбора и обработки заявок, что влечет за собой дополнительные расходы предприятия; они не способны создавать отчеты в формате MS Excel; не обладают возможностью быстрого развертывания, что крайне неудобно. Программное средство «Обработка заявок» не является серверным, что не позволяет работать с ним одновременно нескольким пользователям. Кроме того, пользователь оставляет свою заявку по телефону, что никак не отличается от текущей ситуации в Филиале. Программное средство «Help Desk» не имеет возможности следить за корректностью вводимых данных пользователем, что может приводить к различным конфликтам.

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

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

1.4 Выбор математического аппарата

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

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

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

Первым этапом исследования многопараметрических процессов является отбор параметров, ответственных за процесс. Из полного списка всех возможных параметров ранговыми методами производят их ранжирование и априорное отсеивание [3].

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

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

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

(1. 1)

где y — параметр оптимизации;

b0, bi, bij, bii — выборочные коэффициенты регрессии, полученные по результатам эксперимента;

, — параметры и их взаимодействия, i, j=1,2…

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

Однако для вычисления коэффициентов уравнений регрессии многопараметрических процессов (m> 2) и высокого порядка полинома (К> 2) система нормальных уравнений практически оказывается малопригодной ввиду большой потери точности при ее решении (причем потеря точности сказывается тем сильнее, чем больше количество переменных и выше порядок полинома). Не решенным остается и вопрос оптимального порядка полинома.

Упрощенный метод определения коэффициентов уравнения регрессии (1. 1) предложен в работе Д. Брандона.

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

(1. 2)

где — любая функция величины.

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

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

Рассмотрим алгоритм метода.

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

Более удобным в данном случае может оказаться метод так называемого «последовательного разглаживания гиперповерхности отклика». Идея этого метода заключается в последовательном снятии эффектов всех переменных полиномиального уравнения (1. 1).

В основу положен ступенчатый регрессионный метод при множественной линейной регрессии [4].

В этом случае уравнение (1. 1) можно записать в виде

(1. 3)

где — полиномы возрастающих степеней переменной.

Перед вычислением полиномов j необходимо проводить предварительное ранжирование переменных по степени влияния их на параметр оптимизации y.

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

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

где m — число независимых параметров;

n — число наблюдений;

y — зависимый параметр;

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

Последовательно для всех пар массивов y —, y —,…, y —вычислить остаточную дисперсию, ,…,, характеризующую степень влияния независимого параметра на зависимый y.

Для этого воспользуемся ортогональными многочленами Чебышева.

Искомая зависимость условного среднего y от Хj имеет вид

(1. 4)

где — ортогональный многочлен Чебышева k-го порядка;

— полином нулевой степени.

Общая дисперсия вычисляется по формуле

(1. 5)

Где

.

Остаточная дисперсия определяется по формуле

где k =1.

Если, где -- табличное значение для распределения Фишера, то осуществляется переход к следующему j.

Иначе и переход к следующим вычислениям.

Вычисляем ортогональный многочлен Чебышева k-го порядка

(1. 6)

Где

Если, то запоминается, иначе k=k+1 и возврат к предыдущим вычислениям и так до тех пор, пока для всех j=1,2,… ,m.

Выбрать из всех минимальное, где j=1,2,… ,m.

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

Если =Dn, начальной промежуточной дисперсии, то конец решения. Иначе перейти к следующим вычислениям.

Произвести как бы разглаживание поверхностей отклика в направлении переменной Хj, вычитая из выборочных значений yi величины, рассчитанные по j(Xj).

Сформировать массив по формуле

Заменить в матрице наблюдений массив yi на y1i.

Повторить вычисления сначала и до конца для матрицы наблюдений с учетом замененных массивов yi на y1i до тех пор, пока последняя остаточная дисперсия = уменьшится в r раз по сравнению с начальной общей дисперсией величины y.

Такая процедура продолжается до тех пор, пока не будет осуществлено элиминирование всех переменных.

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

Рисунок 1.3 — Математическая модель в виде дискретного автомата

Каждая заявка может иметь четыре состояния: 1 — не выполнена, 2 — в работе, 3 — выполнена, 4 — удалена. Значение состояния «не выполнена» на выходе дискретного автомата будет равно 0 (х1=0), состояния «в работе» —, состояния «выполнена» — х3=1, состояния «удалена» —.

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

1.5 Постановка задачи

За время прохождения преддипломной практики на базе ООО «Оренбургская Буровая Компания» была изучена система электронного документооборота и управления взаимодействием «Directum» и составлен типовой маршрут «Заявка в отдел ИТ». Эта система соответствует концепции ECM (Enterprise Content Management) и поддерживает полный жизненный цикл управления документами. При этом традиционное «бумажное» делопроизводство органично вписывается в электронный документооборот. Одной из подзадач данной системы является составление и исполнение заявок в отделы. Все заявки основываются на типовых маршрутах. С помощью типового маршрута автоматически задается список исполнителей (в том числе на основе ролей), могут заполняться любые поля задачи (например, текст или тема), считывается информация из вложений и связанных объектов (задач, подзадач, электронных документов, справочников). Механизм типовых маршрутов является мощным инструментом для автоматизированного создания задач в соответствии с заданными бизнес-правилами любой сложности [7]. Изучив схему бизнес-процессов, был создан типовой маршрута заявок в ИТ отдел. Опираясь на опыт работы с заявками, и исследовав бизнес-процессы в филиале Российского государственного университета нефти и газа имени И. М. Губкина в городе Оренбург, было установлено следующее: в филиале имеется значительный поток заявок в ОИТ от остальных пользователей каждый день. Все заявки записываются пользователями в журнал на вахте. Журнал состоит из нескольких разделов: заявки на технические средства обучения и заявки неполадок компьютерного оборудования по различным аудиториям. Этот способ подачи заявок очень неудобен, так как занимает много времени, структура таблицы не позволяет в полной мере описать проблему или неполадку оборудования, и процесс выполнения заявки мог быть очень долгим, так как сотруднику тех поддержки необходимо периодически приходить на вахту и проверять журнал.

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

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

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

Задачами данной дипломной работы являются:

— разработка базы данных учета и хранения заявок пользователя;

— разработка программного средства на основе клиент/серверной технологии;

— разработка интерфейса программного средства;

Подзадачами данных задач являются:

— выбор СУБД;

— выбор языка программирования;

— углубленное ознакомление с платформой Tandem Framework;

— математическое описание решения задачи предметной области;

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

1.5.1 Назначение программного продукта

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

Разработанное средство позволит:

— хранить данные централизованно;

— осуществлять контроль за исполнением заявок;

— оперативно генерировать отчеты;

— снизить временные затраты на принятие, обработку и исполнение заявок.

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

1.5. 2 Требования к программному средству и техническому оборудованию

Данный программное средство должно решать следующие задачи:

— подача и принятие заявок на обслуживание и установку компьютерной оргтехники;

— осуществление контроля за исполнением заявок;

— контроль ввода необходимой информации;

— генерирование отчетов по выполненным заявкам;

— создание удобного и понятого интерфейса;

— обеспечить целостность данных, хранящихся в БД.

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

— компьютер Pentium II 400 MHz или ему подобный;

— 256 Мб оперативной памяти;

— 30 Мб свободного места на жестком диске;

— монитор VGA с разрешением 800×600 пикселей;

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

— струйный, лазерный принтер либо МФУ.

Требования к программному обеспечению:

— операционная система Windows 98/2000/XP/Vista/Seven;

— Java Runtime Environment (JRE);

— сервер Tomcat 7;

— СУБД PostgreSQL 8. 4;

— Microsoft Office 2007/2010.

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

— пояснительная записка;

— руководство для клиентской части средства;

— руководство администратора;

— руководство программиста.

В первом разделе проведена следующая работа:

— проведен анализ предметной области Филиала;

— исследованы информационные потоки рассматриваемой предметной области;

— проанализированы существующие аналоги разрабатываемому программному средству;

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

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

2. Проектный раздел

2.1 Инструментальные средства

2.1. 1 Выбор языка программирования

Выбирая язык программирования для разработки программного средства, было рассмотрено несколько вариантов: C++, Java и C#. Их сравнительная характеристика рассмотрена в таблице 2.1.

Таблица 2.1 — Сравнительная характеристика языков программирования

C++

Java

C#

1

2

3

4

Подход к разработке ПО

объектно-ориентированный

объектно-ориентированный

объектно-ориентированный

Инструкция break с меткой

-

+

-

Целые числа произвольной длинны

-

+

+

Поддержка языка SQL

+

+

+

Кроссплатформенность

-

+

-

Многопоточная компиляция

+

+

-

Поддержка оконного интерфейса

+

+

+

Блок else (исключения)

-

+

+

Возможность создания запускаемого файла

+

+

+

Возможность разработки Web-приложений

-

+

+/-(имеется только для клиентов Windows)

Как видно из таблицы, для разработки программного средства по автоматизации обслуживания заявок от пользователей ЛВС Филиала наиболее подходят языки программирования Java и C#, так как они поддерживают возможность разработки Web-приложений. Акцент на этой технологии был установлен ввиду особенности поставленной задачи: программное средство должно встраиваться в АСУОД Tandem, установленную в Филиале, иметь Web-интерфейс и работать без установки на компьютеры пользователей. То есть сама программа будет запускаться с сервера через локальную сеть Филиала. Для решения этих задач больше подходит язык Java, так как он более адаптирован для программирования Internet-программ.

Технология Java — это объектно-ориентированная, платформо-независимая, многопоточная среда программирования. Java стала основой для «умных» Web и сетевых сервисов, позволила надежно и безопасно наращивать информационную структуру предприятия без зависимости от отдельной платформы. Все виды систем могут взаимодействовать друг с другом — начиная со смарт карт и заканчивая суперкомпьютерами — независимо от аппаратной платформы и системного программного обеспечения. С технологией Java приложение можно исполнять на любом типе машин — персональном компьютере, компьютере Макинтош, сетевом компьютере или даже на телефоне [8].

Когда программный продукт, написанный на языке программирования Java, компилируется с использованием Java-компилятора, получается байткод. Этот байткод может интерпретироваться на любой платформе, где установлена виртуальная машина Java. Это означает, что нет необходимости в импортировании программ, то есть их перевода на язык, понятный конкретному компьютеру [9].

За последние годы увеличилось множество несовместимых аппаратных архитектур, каждая из которых поддерживает множество несовместимых операционных систем, которые, в свою очередь, управляют несовместимыми графическими пользовательскими интерфейсами. Задача создания распределенных клиент-серверных сред сталкивается с проблемой интеграции подобных разрозненных продуктов. Развитие Internet, World Wide Web и электронного бизнеса привнесло новый уровень сложности в процесс разработки. Язык Java компании Sun Microsystems решает эти проблемы [10].

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

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

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

Так как создаваемое программное средство относится к Web-приложениям, то для его разработки необходима расширенная платформа Java Enterprise Edition, или Java EE, являющаяся стандартом разработки серверных Java приложений. Эта платформа содержит необходимые технологии, такие как сервлеты, JSP, JDBC. Сервлет -- это небольшая программа, выполняемая на сервере. Сервлеты динамически расширяют функциональные возможности Web-сервера. Их часто называют web-компонентами, так как они выполняются в специальной среде исполнения, создаваемой контейнером сервлетов или web-контейнером, таким, как Jakarta Tomcat или ВЕА WebLogic [11].

Таким образом, с появлением сервлетов язык Java распространился на оба конца соединения «клиент-сервер». Сервлеты служат для создания динамически генерируемого содержимого, которое затем обслуживает клиента. Хотя динамически генерируемое содержимое доступно также посредством таких механизмов, как CGI (Common Gateway Interface -- общий шлюзовой интерфейс), сервлет обеспечивает ряд преимуществ, в том числе -- повышение производительности.

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

Java Server Pages (JSP, или в русском переводе серверные страницы Java) являются стандартным расширением платформы Java и построены на основе технологии сервлетов. Основное назначение JSP-страниц — это упростить создание и управление динамическим содержанием в World Wide Web. Структура серверной страницы JSP представляет некий компромисс между сервлетом и обычной HTML-страницей. Так, технология JSP позволяет комбинировать разметку на языке HTML или XML с фрагментами кода Java в одном документе. Этот код выполняется на стороне сервера и служит для обработки запросов клиентов и генерации ответов. Фрагменты кода Java, как и обычные HTML-теги, начинаются и заканчиваются угловыми скобками, однако дополнительно к угловым скобкам используются знаки процента. Эти специальные теги предписывают контейнеру JSP использовать этот код для генерации сервлета или его части. Остальные HTML- и XML-фрагменты, а также прочие данные передаются клиенту без обработки на стороне сервера [12].

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

2.1. 2 Технология клиент/сервер. Принцип работы Java Web-приложения

В типичном Java EE web-приложении HTML клиент отправляет запрос серверу, где этот запрос обрабатывается веб-контейнером сервера приложений. Веб-контейнер вызывает сервлет, который сконфигурирован для обработки определенного контекста запроса. Начальный запрос HTML клиента проиллюстрирован на рисунке 2.1.

Рисунок 2.1 — Начальный запрос HTML клиента

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

Рисунок 2.2 — Бизнес сервисы или компоненты в JEE архитектуре

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

Рисунок 2.3 — Использование DAO объектов бизнес сервисами для доступа к хранилищу данных

Когда обработка запроса на сервере завершена, HTML клиенту возвращается ответ в определенном формате. Этот процесс показан на рисунке 2.4.

Рисунок 2.4 — Ответ возвращается HTML клиенту

Сценарий, проиллюстрированный на рисунке 2. 4, может быть реализован с использованием ограниченного набора Java EE технологий, таких как, например, сервлеты, JDBC, JSP и тому подобные. Tomcat как и другие веб-серверы, предоставляющие среду выполнения сервлетов и JSP, вполне может быть использован как сервер приложений для данного сценария [13].

2.1. 3 Архитектура платформы Tandem

В филиале РГУ нефти и газа имени И. М. Губкина города Оренбурга используется платформе АСУОД Tandem Framework. Она построена с использованием трехуровневой (3-tier) архитектуры, общая схема которой представлена на рисунке 2.5.

В качестве постоянного хранилища данных используется реляционная база данных. Данные в базу помещаются в виде набора реляционных сущностей (связанных таблиц, содержащих колонки с данными). Система совместима практически со всеми современными реляционными СУБД, такими как Oracle, MS SQL, PostgreSQL, MySQL, Interbase/Firebird.

Рисунок 2.5 — Архитектура платформы

Сервер приложений представляет собой контейнер сервлетов Tomcat, который обеспечивает работу Web-приложения, состоящего из набора модулей при помощи Spring Framework и Tapestry, связанных между собой [14]. Наряду с прикладными модулями приложения в набор модулей входят также и системные модули фреймворка. Работа с базой данных внутри сервера приложений реализуется с использованием ORM инструмента Hibernate, который предназначен для связи объектной структуры приложения с реляционной моделью базы данных и обеспечивает транзакционную целостность данных и независимость кода уровня приложения от выбранного реляционного хранилища. Для управления исходным кодом Tandem Framework используется SVN.

Платформа Tandem Framework обеспечивает возможность создания пользовательского интерфейса в виде «тонкого» клиента. На клиентском рабочем месте для работы с системой необходим лишь Web-браузер, который имеется в любой операционной системе. Так как разрабатываемое программное средство будет разворачиваться на сервере приложений платформы Tandem Framework, то для начала его работы нет необходимости в установке дополнительных программных пакетов — достаточно иметь подключение к серверу по локальной сети или через интернет [15].

2. 1.4 Выбор СУБД

В качестве основных претендентов рассмотрим СУБД Microsoft SQL Server 2008, MySQL 5. 1, PostgreSQL 8.4. Все они имеют широкий функционал, высокую скорость работы, поддержку основных типов данных, поддерживают различные ОС.

В таблице 2.1 производится сравнение выбранных СУБД.

Таблица 2.1 — «Сравнение СУБД»

Показатели

Microsoft SQL Server 2008

MySQL 5. 1

PostgreSQL 8. 4

1

2

3

4

Поддерживаемые операционные системы

Windows Desktop/Server

Windows Desktop/Server, Linux, Unix, Mac

Windows1 Desktop/S22erver, Linux, Unix, Mac

Условия лицензирования

Коммерческий продукт с закрытым исходным кодом

Коммерческая лицензия и GNU GPL

Лицензия BSD Open Source

Процесс установки и поддержки

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

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

Для операционных систем семейств Linux/Unix установка идентична установке MySQL. Однако во время установки под Windows иногда возникают проблемы с инициализацией базы данных

Наличие драйверов ODBC, JDBC, ADO. NET

Да

Да

Да

Наличие View, доступных только для чтения

Да

Да

Да

Наличие программных продуктов с открытым исходным кодом, основанных на этой СУБД

Несколько

Много

Несколько, но их число растет, особенно в проектах на PHP

Использование в коммерческих проектах

Среднее (продукт новый)

Среднее

Среднее (почти как у MySQL)

Обновляемые View

Да, даже для двухтабличных view

Да, для однотабличных view и некоторых «простых» двухтабличных

Да, но не в автоматическом режиме. Надо писать правила обновления

Наличие графического ПО для конструирования и оптимизации запросов

Да (SQL Management Studio и Studio Express)

Нет

Да (PgAdminIII)

Наличие Computed Columns

Да, но все равно чаще используются view

Нет

Нет -- в PostgreSQL это функциональность излишняя

Поддержка функциональных индексов

Нет, но можно обойтись Computed Columns

Нет

Да

Поддержка частичных индексов

Да (называются «фильтрованные индексы»)

Нет

Да

Поддержка ACID-требований к транзакциям

Да

Да, при использовании некоторых движков хранения данных

Да

Каскадное обновление/удаление внешних ключей

Да

Да, при использовании некоторых движков хранения данных

Да

Внесение данных в несколько строк

Да

Да

Да

Поддержка UPSERT-логики

Да (через MERGE UPDATE)

Да (через INSERT IGNORE, REPLACE INSERT ON DUPLICATE UPDATE)

нет

Поддержка репликации

Да, встроенная и разных типов

Да, включая mater-master репликацию

Да, но с помощью сторонних продуктов с открытым исходным кодом

Возможность писать хранимые функции на разных языках программирования

Да, теоретически на любом языке, поддерживающим CLR, например VisualBasic. NET, C#, IronPython

Нет (кроме C и Pl/SQL)

Да, наиболее полная поддержка из всех рассматриваемых

Возможность создавать пользовательские агрегированные функции

Да -- любой. NET язык, кроме TRANSACT SQL

Да, только на С

Да -- на PL language и встроенных C, SQL, PLPgSQL

Поддержка триггеров

Да

Да

Да

Партицирование таблиц

Да (в Enterprise версии)

Да

Да

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

Да

Нет

Да

Поддержка хранимых процедур

Да

Да

Да (с помощью CREATE FUNCTION)

Поддержка динамического SQL в функциях

Нет

Нет

Да

Бесплатное ПО для графического управления БД

Да (SQL Management Studio/Express)

Нет

Да (PgAdmin III)

Наличие встроенного планировщика (не CronTab)

Да (SQL Agent не для Express версии)

Да (только для SQL-запросов)

Да (PgAgent)

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

Да

Да

Да

Чувствительность к регистру

По умолчанию -- не чувствительна

Нет

Да

Поддержка даты и времени

Да

Да (но без временной зоны)

Да

Аутентификация

Средствами БД и ActiveDirectory

Средствами БД

Много разных методов, включающих предыдущие

Разграничение доступа к столбцам

Да

Да

Да

Поддержка рекурсивных запросов

Да

Нет

Да

Поддержка CROSS APPLY

Да

Нет

Нет, но можно обойтись возвращающей функции в Select

Поддержка LIMIT. OFFSET

Нет

Да

Да

Поддержка связанных подзапросов

Да

Да

Да

Производительность планировщика запросов для сложных запросов

Средняя (умеет параллельные запросы «из коробки»)

Плохая

Очень хорошая (GridSQL)

Наличие текстового процессора

Да

Да

Да

Возможность откатить CREATE, ALTER

Да

Нет

Да

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

2. 1.5 Структурированный язык запросов SQL

Одним из языков, появившихся в результате разработки реляционной модели данных, является язык SQL (Structured Query Language), который в настоящее время получил очень широкое распространение и фактически превратился в стандартный язык реляционных баз данных. Стандарт на язык SQL был выпущен Американским национальным институтом стандартов (ANSI) в 1986 г., а в 1987 г. Международная организация стандартов (ISO) приняла его в качестве международного. Нынешний стандарт SQL известен под названием SQL/92.

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

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

ПоказатьСвернуть
Заполнить форму текущей работой