ВВЕДЕНИЕ
Организовать продуктивную работу своего коллектива - мечта любого руководителя. Но часто добиться более слаженного и успешного труда кажется чем-то невозможным. Особенно, если речь идет о многоэтапном производстве, в котором оказываются задействованы множество отделов, и для производства конечного продукта и/или услуги, приходится проходить каждый этап не один раз. При помощи Help Desk очень быстро работа различных отделов стабилизируется, станет упорядоченной. Система способна запоминать комбинации заявок и их выполнение, которое приводит к быстрому и успешному решению производственных задач, и после - воссоздавать эти алгоритмы в решении аналогичных проблем.
Большинство компаний в том или ином виде работает с клиентами и занимается их поддержкой (консультациями). Для обеспечения качественного взаимодействия с клиентами существуют системы автоматизации класса HelpDesk (Service Desk). Без данной системы крайне трудно построить качественную службу поддержки.
Главными задачами HelpDesk систем является возможность приёма и обработки заявок, другими словами клиент задаёт вопрос (заявку, запрос) и менеджеры обрабатывают его. Благодаря использованию HelpDesk системы возможна совместная работа всех менеджеров компании.
Для упрощения взаимодействия с клиентами, современная HelpDesk система умеет принимать заявки различными способами:
Электронная почта - самый простой способ для внедрения HelpDesk системы. Программа принимает письма и создаёт из них заявку. Благодаря этому клиент будет работать просто через электронную почту, а менеджеры в системе видеть отсортированные заявки и смогут совместно работать с ними.
Телефон - часто клиенту удобно оставить запрос по телефону, при этом не всегда возможно его решить «на ходу». Для того что бы заявка не потерялась, принимающий менеджер регистрирует заявку в HelpDesk системе и она непременно будет обработана.
Говоря о совместной работе, у HelpDesk систем широкие возможности по распределению прав, например могут быть сотрудники которые имеют доступ к определённого типа заявкам - остальные им не доступны. Или разделение может происходить по отделам, например службе технической поддержки совсем не обязательно видеть заявки которые относятся к обсуждению договора.
Так же существуют возможности сортировки заявок: по приоритетам, типам, ответственным сотрудника и прочие необходимые фильтры.
Как правило для качественной и удобной обработки заявок HelpDesk системы используют различные функции, как например:
Комментарии - информация которая будет спрятана от глаз клиента - например обсуждение технического решения задачи;
Контроль над заявкой - если заявка является особо важной и руководитель (или просто ответственный сотрудник) хочет знать о статусе реализации заявки и получать все уведомления связанные с данной заявкой;
Заморозка заявки - возможность отложить реализацию заявки, например если заявка ожидает дополнений от клиента или будет реализована позже;
Как дополнения к базовому функционалу, могут быть возможности анализа. Сотрудники могут заполнять потраченное на реализацию заявок время, руководитель может строить графики реализации. Отчётность может строится как по сотрудникам компании, так и по клиентам. В отчётность может быть включена вся необходимая информация: тип, приоритет, потраченное время, скорость реализации задач.
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Описание предметной области
1.1.1 Общие сведения о предприятии
Учреждение создано на основании постановления Правительства Вологодской области от 11 октярбря 2010 года №1160 «О создании государственного бюджетного учреждения Вологодской области «Центр информационных технологий», приказом Комитета информационныз технологий Вологодской области «Центр информационных технологий».
Учреждение не имеет филиалов и представительств.
Функции учреждения:
электронно - вычислительная техника, серверное, сетевое и периферийное оборудование и обеспечение функционирования автоматизированных информационных систем и сетевой инфраструктуры органов исполнительной государственной власти области (постановление Губернатора области от 28.06.2012 №358);
доступ к информационно - телекоммуникационной сети Интернет, телефонной связи, за исключением правительственной междугородной связи, автоматической телефонной связи органов государственной власти Российской Федерации (постановление Губернатора от 22.01.2013 №43);
услуги связи для целей телевизионного вещания и радиовещания (постановление Губернатора от №431).
Юридический и физический адресс учреждения: 160000 Россиия, Вологодская область, г. Вологда ул. Герцена д. 27.[10]
1.1.2 Организационная структура БУ ВО «Центр информационных технологий»
Структура организации состоит из следующих элементов:
- Директор
- Управление информационных систем
- Отдел межведомственных информационных систем
- Отдел ведомственных информационных систем
- Отдел финансовых информационных систем
- Управление инфраструктуры
- Отдел обслуживания инфраструктуры
- Отдел защиты информации
- Отдел организации каналов связи
- Отдел технической поддержки
- Отдел организационно-правовой работы
- Финансово-экономический отдел
- Отдел материально технического обеспечения
1.1.3 Модель БУ ВО «Центр информационных технологий»
Учредителем Учреждения является Вологодская облась. Функции и полномочия Учредителя Учреждения выполняет Комитет информационных технологий и телекомуникаций Вологодской области.
Полномочия собственника имущества Учреждения выполняет Департамент имущественных отношений Вологодской области.
Учреждение является некомерческой организацией - бюджетное учреждение, создано для обеспечением реализации предусмотренных законадальством Российской Федерации полномочий органов государственной власти облсти в сфере информационно-коммуникационных технологий.
Основные виды деятельности:
- Предоставление комплексных услуг по создания, поддержке, развитию информационно-телекамуникационной инфраструктуры и защите информации;
- Оснашения электронно-вычислительной техникой, серверным, сетевым и переферийным оборудованием, средствами телефонной и телегрфной связи.
- Выполениня технического обслуживания и ремонта вычислитльной техники, средств связи и систем, обеспечивающих работоспособность серверного и перефирийного оборудования;
- Восстановления и заправи расходных материалов для печатающей и копировально-множительной техники;
- Обеспечение доступом к информационно-телекоммуникационной сети Интренет;
- Обеспечение телефонной связью;
- Обеспечение телеграфной связью;
- Внедрения разработок, в том числе собсвтенных, в области информационных технологий, телекоммуникаций и защиты информации;
- Предоставление услуг удостоверяющих центров электронных подписей;
- Предоставление консалтинговых услуг по вопросам приобретения, управления и использования прав на объекты интелектуальной собственности в сфере информационных технологий, телекоммуникаций и защиты информации.
- Распространение шифровальных (криптографических) средств;
- Деятельность по созданию, обслуживанию и использованию баз данных и информационных ресурсов сети Интернет и консультирование в этой области;
- Техническое обслуживание вычислительной техники, в том числе подключение, настройка, консультирование, диагностика, профилактика.
база данные инфологический алгоритм
1.2 Обзор существующих программных продуктов
В наше время имеется большое количество готовых решений в области автоматизации работы IT-специалиста и учета задач на предприятии. Среди них есть как платные так и бесплатные, бесплатные скудны по настройкам большинство ограниченные или без обновлений, платные многофункциональны, но очень дорогие с учетом большого количества пользователей.
Kayako resolve
Стоимость: $599 за 10 сотрудников. В стоимость включено 6 месяцев обновлений. Учитывается общее количество сотрудников, заведенных в системе.
Это самая многофункциональная система поддержки. По работе с заявками она умеет все. Кроме основных функций поддерживается также постановка задач, управление SLA, нотификации по SMS, база знаний и веб-портал для пользователей, API для интеграции с другими сервисами. Используется многими именитыми компаниями (ICANN, Sony, DHL, MTV).
Из-за большого набора возможностей интерфейс настроек и работы с ней несколько перегружен. Это классическая и строгая система для организации службы поддержки с полным набором возможностей.
Русификация поддерживается только для веб-интерфейса, предоставляемого клиентам. Интерфейс для работы сотрудников нужно переводить самостоятельно правками в коде. Исходный код открыт.
Продукт полноценно поддерживается и развивается. Поддержка отвечает быстро, есть чат на сайте.
Докупать лицензии можно также не менее, чем по 10 сотрудников. Лицензия ограничивает общее заведенное в системе количество сотрудников, вне зависимости от того, активны они или нет. Если сотрудник увольняется, а на его место приходит другой, необходимо удалить сотрудника и добавить нового. Имя удаленного сотрудника при этом будет фигурировать в письмах, которые он отправлял.
Cerberus Helpdesk
Стоимость: $192 за 1 сотрудника, в стоимость включен год обновлений. Учитывается только то количество сотрудников, которое одновременно находится в онлайне -- общее количество сотрудников при этом не ограничено.
Принципиально Open source, о чем и заявляют у себя на сайте. Изначально система создавалась для службы поддержки провайдера хостинга.
Система нацелена на обеспечение эффективного сотрудничества между коллегами. Большой упор идет на создание персонального настраиваемого рабочего места каждого сотрудника. Так, каждый сотрудник может создать для себя несколько «Рабочих пространств» (Workspaces), представляющих из себя сохраненные поиски (например: все открытые тикеты в группе Поддержка, которые никому не принадлежат -- раз; недавно закрытые тикеты во всех группах -- два; тикеты, принадлежащие саппорту Даниле -- три). Эти рабочие пространства -- основной инструмент работы, в отличие от других тикетниц, где основной инструмент работы -- фиксированный список очередей заявок, к которым сотрудник имеет доступ.
Таким образом, основная особенность системы -- гибкость и настраиваемость рабочего места под каждого сотрудника, а также всей системы под сложившийся рабочий процесс. Все стандартные возможности по работе с тикетами при этом присутствуют в полном объеме. Также используется именитыми компаниями (Cisco, Yamaha), но широко известных имен меньше, чем у Kayako.
Поддерживает отчеты, базу знаний, учет рабочего времени и другие расширения, в том числе созданные сторонними разработчиками. Поддерживает API через HTTP (JSON). Оповещение о новых сообщениях можно получать по RSS. Русифицировать можно все с помощью переводчика в панели администратора. Исходный код открыт.
Поддержка на простые вопросы отвечает по почте довольно быстро. Над сложными может подумать некоторое время, но тоже отвечает. Продукт активно разрабатывается, новые версии выходят раз в 3 месяца.
Так как общее количество сотрудников не ограничено, при увольнении сотрудника достаточно пометить его как Disabled -- вся информация о нем при этом сохранится. При общем штате в 15 сотрудников достаточно купить лицензию только на то количество, которое работает одновременно в течение смены, например, на 5 рабочих мест.
Есть версия SaaS.
1C Битрикс
По факту это модуль для системы bitrix. Данный модуль предназначен для организации службы техподдержки и консультирования пользователей на сайте и по электронной почте. Пользователь может обратиться в службу технической поддержки, заполнив специальную форму на сайте, отправив сообщение по электронной почте, позвонив по телефону, или может создать обращение прямо из сообщений клиента, а к сообщениям прикрепить файлы разных форматов.
Что умеет этот модуль?
Обработка запросов -- ринимать запросы пользователей через сайт, e-mail через модуль Почты, форум, по телефону, классифицировать запросы по категориям, отмечать полученные через e-mail сообщения как спам, настроить необходимое число статусов обращения, настроить оценки ответов, настроить уровни критичности обращения, выбрать типовой (шаблонный) ответ
ѕ Назначение ответственных
ѕ Оценка ответов
ѕ История обращений
ѕ Уровни поддержки (SLA)
ѕ Совместная работа -- можно обмениваться скрытыми сообщениями между сотрудниками техподдержки
ѕ Гибкое распределение прав доступа к модулю техподдержки
ѕ Гибкий контроль работы службы поддержки
Обращения в техподдержку
пользователь может обратиться в службу технической поддержки, заполнив специальную форму на сайте, отправив сообщение по электронной почте, позвонив по телефону, или может создать обращение прямо из сообщений клиента, а к сообщениям прикрепить файлы разных форматов. При наличии модуля «Интернет-магазин» можно просмотреть заказы автора обращения. А для участников групп, в которых состоит ответственный, будут рассылаться уведомления об изменениях в обращении;
обращаясь в службу техподдержки, пользователь получает возможность:
отправить запрос в техподдержку через сайт, e - mail или продиктовать оператору по телефону;
прикрепить к сообщению изображение (например, скриншот с возникшей проблемой);
выбрать категорию обращения;
установить уровень критичности проблемы;
получить подтверждение по e-mail;
получить ответ по e-mail;
оценить полученный ответ;
продолжить дискуссию;
закрыть обращение.
Обработка запросов
принимать запросы пользователей через сайт, e-mail через модуль Почты, форум, по телефону и через другие источники;
классифицировать запросы по категориям;
отмечать полученные через e-mail сообщения как спам , обучать тем самым модуль почты для эффективной фильтрации спама, и удалять сообщения;
настроить необходимое число статусов обращения (например: Принято к рассмотрению, В стадии решения, Успешно решено и т.п.);
настроить оценки ответов , выставляемые создателем обращения как оценка работы (например: Ответ устраивает, Недостаточно полно и т.п.);
настроить уровни критичности обращения (например, высокая, средняя, низкая и т.п.);
при ответевыбрать типовой ответ из выпадающего списка (доступно администратору либо ответственному за обращение);
возможность работы с обращениями в техподдержку через e-mail обеспечивает модуль «Почта».
Назначение ответственных
Назначение ответственного
установить ответственного для каждой категории:
при создании нового обращения в зависимости от категории, критичности, либо источника ответственный может быть назначен автоматически;
если ответственный не был определен, то в случае установки параметра «Ответственный по умолчанию» в настройках модуля будет назначен ответственный по умолчанию;
после того как обращение будет добавлено в базу, ответственный получит извещение по электронной почте;
если ответственный не выбран, то извещение будет отослано на электронные адреса всех пользователей, имеющих право «Администратор техподдержки»;
если обращение меняет ответственный, то об этом будет извещен автор обращения;
если обращение меняет автор, то об этом извещаются ответственный или администраторы техподдержки;
если назначается новый ответственный за обращение, то об этом будут извещены как автор обращения, так и новый ответственный.
Оценка ответов
если пользователя ответ устраивает, он может закрыть сообщение, оценив ответ.
если же проблема остается нерешенной, ответ его не устраивает или требуется дополнительная информация, пользователь может продолжить дискуссию и задать дополнительные вопросы в этом же обращении.
в оценке ответов пользователь может указать, полностью ли решена проблема, устраивает ли его предложенное решение и т.п.
оценки могут быть использованы для контроля и оптимизации работы службы техподдержки.
История обращений
на сайте сохраняется полная история обращений в техподдержку каждого клиента (ответы, изменение ответственных, категорий, статусов и т.п.), поэтому сотрудники техподдержки могут восстановить причины проблемы, просмотреть ход решения и предложить пользователю наиболее эффективное решение.
Уровни поддержки (SLA)
настроить различные уровни поддержки - SLA (Service Level Agreement) в зависимости от статуса пользователя и выбрать ответственного по умолчанию для SLA;
Совместная работа
обмениваться скрытыми сообщениями между сотрудниками техподдержки в рамках обращения,чтобы не оповещать автора обращения о внутренней работе и обсуждении проблемы; при установке флага «Сообщение скрыть, автора не оповещать» сообщение будет создано как скрытое для автора обращения; помимо этого, не будет отослано почтовое сообщение автору обо всех изменениях, произведенных в данный момент; служба техподдержки уведомление получит; режим скрытых сообщений можно установить по умолчанию;
сотрудники техподдержки могут указать свой режим работы с обращением: «просмотр» или «ответ на обращение», чтобы избежать дублирования ответов;
оставить комментарий, видимый только пользователями, входящими в группу техподдержки;
видеть на странице редактирования список пользователей, которые просматривают или редактируют обращение в данный момент;
Права доступа
распределить права доступа к модулю техподдержки:
доступ закрыт - доступ к меню и административным файлам модуля закрыт, пользователь не может создавать обращений;
клиент техподдержки - доступ к административному меню «Обращения» открыт; в административных и публичных файлах разрешено создание и редактирование своих обращений;
сотрудник техподдержки - доступ ко всем пунктам меню и страницам модуля открыт; пользователь работает с теми обращениями, за которые он ответственен;
демо-доступ - пользователь может просматривать все обращения;
администратор техподдержки - пользователь может редактировать справочник техподдержки и любое обращение.
Все вышеперечисленные права являются наследуемыми.
Контроль работы службы поддержки
получать отчеты о работе службы техподдержки , отображающие количество назначенных, закрытых и открытых обращений:
по ответственным сотрудникам службы;
по критичности;
по текущему статусу;
по категории;
по источнику обращения;
по оценкам ответов на обращения.
строить графики нагрузки на техподдержку, отображающие количество обращений и сообщений в системе техподдержки по дням; графики отражают загрузку службы техподдержки на конкретную дату и могут использоваться для принятия управленческих решений по функционированию службы техподдержки;
строить диаграммы длительности решения проблем ; круговая диаграмма наглядно показывает среднее количество времени (в днях), которое тратится на решение проблемы службой техподдержки;
строить диаграммы количества сообщений, необходимых для решения проблемы; на диаграмме представлено процентное соотношение количества сообщений в закрытых обращениях;
работать с обращениями и графиками нагрузки в разрезе по сайтам;
Работа с файлами
установить максимальный размер загружаемых изображений для пользователей, не входящих в группу техподдержки;
просматривать файлы MSWord, MSExcel, Acrobat Reader;[18]
osTicket
Бесплатная система, open source. Это единственная из бесплатных систем поддержки на PHP, которая дошла до финала. По сравнению с платными аналогами выглядит неконкурентоспособной, однако поддержка базового функционала присутствует. Активность разработки и сообщества низкая.
Есть расширение, разработанное сообществом, предоставляющее API для взаимодействия с osTicket через SOAP.
Работать с системой можно только при наличии разработчика, который будет ее поддерживать и добавлять функционал под нужды компании. Возможно, стоимость времени такого разработчика будет выше, чем стоимость лицензии платного продукта.
OTRS
Бесплатный, open source, на Perl. Известная система работы с тикетами, на рынке присутствует уже много лет. Некоторое время назад был внедрен современный интерфейс. Умеет все, что требуется от тикет-системы: много отделов, права пользователей, эскалация, поиск, шаблоны ответов. Поддерживает UTF-8, есть русская локализация. Совместим с ITIL. Есть версия SaaS.
Request Tracker
Бесплатный, open source, на Perl. Разрабатывается более 10 лет, также недавно внедрили современный интерфейс. Русский язык поддерживается, также поддерживается SLA, учет рабочего времени, разграничение по отделам, мощная система прав и многое другое. Версии SaaS не предлагают, но предлагают услуги хостинга и установки RT.
Live Agent
Стоимость: от $199 за 5 сотрудников. Учитывается общее количество сотрудников, заведенное в системе, в том числе заблокированных.
Современная система для организация простой поддержки. Объединяет чат на сайте и электронную почту, основной упор сделан на живое быстрое общение. Поддерживается локализация, разрабатывается русский перевод. Минусы: код закрыт, недостаточное внимание уделено общению по электронной почте.
Есть версия SaaS.
SysAid Enterprise
Стоимость: $549 (базовая версия). Лицензия ограничивает количество клиентов (учет ведется по адресу электронной почты клиента).
Предназначена для поддержки конечных пользователей на рабочих местах, неприменима для поддержки неопределенного круга клиентов. Реализована на Java, код закрыт. Поддерживает русский. Есть версия SaaS.
ClientExec
Стоимость: $249 (без ограничений).
Панель виртуального хостинга с развитым модулем технической поддержки. Поддержка продукта работает оперативно, разработчики незамедлительно приступили к исправлению ошибок, на которые мы указали в ходе тестирования. Поддержка кириллицы на момент тестирования не всегда работала корректно. Код открыт, PHP.
ServiceDesk Plus
Стоимость: $200 за сотрудника.
Поддержка рабочих мест в офисе. На 80% совместима с ITIL. Распространяется в виде исполняемых файлов под Linux/Windows, код закрыт. Есть версия SaaS.
Support Incident Tracker
Бесплатная простая система на PHP. Предназначена для поддержки рабочих мест в небольшом офисе. Отделы отсутствуют -- когда конечный клиент сообщает о проблеме, он должен назначить ее конкретному сотруднику поддержки.
HelpDesk Pilot
Стоимость: от $15 за сотрудника в месяц (версия для установки на свой сервер).
Предназначен для организации службы поддержки (тикетница), содержит дополнительные модули: база знаний, автоматическая фильтрация писем, отчеты. Удобный интерфейс, поддерживаются различные языки. Продукт активно разрабатывается.
Есть версия SaaS, называется HappyFox.
itop -- ITSM & CMDB OpenSource
Активно разрабатывающаяся бесплатная система с открытым исходным кодом, поддерживающая ITIL/ITSM.
Integria IMS
Бесплатная система для разработки и управления проектами.
GLPI
Бесплатная система для управления оборудованием и поддержки пользователей в организации. Давно разрабатывается и обладает богатым функционалом.
SugarCRM
Бесплатная CRM с открытым исходным кодом для разработки продуктов в сфере ИТ. Имеет инструменты для маркетинга, совместной работы, общения с клиентской базой, управления продажами. Есть версия SaaS.
Hesk HelpDesk
Бесплатная система на PHP для поддержки пользователей через веб-интерфейс. Есть поддержка русского языка. Не поддерживает прием заявок по электронной почте. Есть версия SaaS.[13]
1.3 Цели и задачи автоматизации
Таким образом, для создания, учета и сопровождения заявок, а также создания отчетов по исполнителям, по качеству, приоритету, и повторности, для организации выбран вариант реализации посредством разработки автоматизированной системы планирования HELPDESK для предприятия с развитой инфраструктурой в БУ ВО «Центр информационных технологий»
Целью данного дипломного проекта является разработка следующих функций:
- Создание задачи с личным номером, сроком исполнения, выбором заказчика и исполнителя;
- Создание повторных задач и выставление приоритета;
- учет заявок;
- ведение списка специалистов отдела МТО;
- ведение списка специалистов отдела технической поддержки;
- ведение списка специалистов управления инфраструктуры;
- ведение списка специалистов управления информационных систем;
- Организация поиска по номеру задачи, отметке о выполнении, повторные задачи, по дате регистрации, сроку исполнения, дате исполнения, задаче, заказчику, отделу, исполнителю, по приоритету, качеству или кабинету;
- ведение истории обслуживания заказчика;
- ведение истории задач у исполнителя;
- формирование отчетности:
- создание отчета по исполнителям;
- создания отчета по качеству приоритету и повторности;
- отправка писем с задачами по внутренней почте правительства;
- отправка отчетов руководящему составу.
1.4 Обоснование выбора методов и средств проектирования
Технология создания информационных систем предъявляет особые требования к методикам реализации и программным инструментальным средствам. Реализацию проектов по созданию информационных систем принято разбивать на стадии анализа (прежде чем создавать информационных систем, необходимо понять и описать бизнес-логику предметной области), проектирования (необходимо определить модули и архитектуру будущей системы), непосредственного кодирования, тестирования и сопровождения.
Сущность структурного подхода к разработке информационных систем заключается в ее декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. Основные этапы, на которые разбивается процесс проектирования информационной системы, следующие:
- концептуальное проектирование - сбор анализ и редактирование требований к данным (обследование предметной области, изучение ее информационной структуры, выявление всех фрагментов, каждый из которых характеризуется пользовательским представлением, информационными объектами и связями между ними, процессами над информационными объектами, моделирование и интеграция всех представлений)
- логическое проектирование - преобразование требований к данным в структуры данных. На выходе получаем СУБД-ориентированную структуру базы данных и спецификации прикладных программ.
- физическое проектирование - определение особенностей хранения данных, методов доступа и т.д.
Современные объектно-ориентированные CASE-средства позволяют эффективно решать задачи проектирования приложений. Среди таких пакетов Rational Rose, Together Control Center, BPWin, ERWin, Model Mart, Silverrun Business Process Modeller, Process Analyst.
Для разработки функциональной модели выбрано CASE-средство Computer Associates BPwin 4.0, благодаря описанным ниже его особенностям. BPwin является мощным инструментом для создания моделей, позволяющих анализировать, документировать и планировать изменения сложных бизнес-процессов. BPwin предлагает средство для сбора всей необходимой информации о работе предприятия и графического изображения этой информации в виде целостной и непротиворечивой модели. BPwin поддерживает три методологии: IDEF0, DFD и IDEF3, позволяющие анализировать ваш бизнес с трех ключевых точек зрения:
- с точки зрения функциональности системы. В рамках методологии IDEF0 бизнес-процесс представляется в виде набора элементов-работ, которые взаимодействуют между собой, а также показывается информационные, людские и производственные ресурсы, потребляемые каждой работой;
- с точки зрения потоков информации (документооборота) в системе. Диаграммы DFD могут дополнить то, что уже отражено в модели IDEF3, поскольку они описывают потоки данных, позволяя проследить, каким образом происходит обмен информацией между бизнес-функциями внутри системы. В тоже время диаграммы DFD оставляют без внимания взаимодействие между бизнес-функциями;
- с точки зрения потоков информации (документооборота) в системе. Диаграммы DFD могут дополнить то, что уже отражено в модели IDEF3, поскольку они описывают потоки данных, позволяя проследить, каким образом происходит обмен информацией между бизнес-функциями внутри системы. В тоже время диаграммы DFD оставляют без внимания взаимодействие между бизнес-функциями;
- с точки зрения последовательности выполняемых работ: еще более точную картину можно получить, дополнив модель диаграммами IDEF3. Этот метод привлекает внимание к очередности выполнения событий.
На начальных этапах создания ИС необходимо понять, как работает организация, которую собираются автоматизировать. Никто в организации не знает, как она работает в той мере подробности, которая необходима для создания ИС. Руководитель хорошо знает работу в целом, но не в состоянии вникнуть в детали работы каждого рядового сотрудника. Рядовой сотрудник хорошо знает, что творится на его рабочем месте, но плохо знает, как работают коллеги. Поэтому для описания работы организации необходимо построить модель. Такая модель должна быть адекватна предметной области, следовательно, она должна содержать в себе знания всех участников бизнес-процессов организации.
Наиболее удобным языком моделирования бизнес-процессов в данном случае является IDEF0, называвшийся первоначально SADT ? Structured Analysis and Design Technique. В IDEF0 система представляется как совокупность взаимодействующих работ или функций. Такая чисто функциональная ориентация является принципиальной ? функции системы анализируются независимо от объектов, которыми они оперируют. Это позволяет более четко смоделировать логику и взаимодействие процессов организации. Под моделью в IDEF0 понимают описание системы (текстовое и графическое), которое должно дать ответ на некоторые заранее определенные вопросы.
Диаграммы потоков данных (Data flow diagramming, DFD) используются для описания документооборота и обработки информации. Подобно IDEF0, DFD представляет модельную систему как сеть связанных между собой работ. Их удобно использовать как дополнение к модели IDEF0 для более наглядного отображения текущих операций документооборота в корпоративных системах обработки информации. DFD описывает:
- функции обработки (работы);
- документы, сотрудников, которые в обработке информации;
- таблицы хранения документов данных).
Цель инфологического проектирования - обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Поэтому модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка). Основными конструктивными элементами моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Логическая структура базы данных - это описание состава, типа и длины информационных единиц базы данных и связей между ними.
Сущности и связи модели данных представляются в виде реляционной таблицы (отношения). Отношение, соответствующее сущности, содержит атрибуты (столбцы), являющиеся атрибутами сущности и описывающие сущность (объект). Атрибут или множество атрибутов, которые однозначно определяют объект называются ключом.
Удобно представлять отношение как таблицу, где каждая строка есть кортеж, и каждый столбец соответствует одному компоненту. Столбцы при этом называются атрибутами и им присваивают имена. Список имён атрибутов называется схемой отношения. Совокупность схем отношений, используемых для представления информации, называются схемой базы данных, а текущие значения соответствующих отношений - базой данных.
Процесс построения инфологической модели состоит из следующих шагов:
- определение сущностей;
- определение зависимостей между сущностями;
- задание первичных и альтернативных ключей;
- определение атрибутов сущностей;
- приведение модели к требуемому уровню нормальной формы.
Логический уровень представления модели - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД. Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация о всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей.
Для инфологического проектирования базы данных было выбрано CASEсредство Computer Associates ERwin 4.0, благодаря описанным ниже его особенностям.
Создание модели данных, как правило, начинается с создания логической модели. После описания логической модели, проектировщик может выбрать необходимую СУБД и ERwin автоматически создаст соответствующую физическую модель. На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (Forward Engineering). Тем самым достигается масштабируемость - создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую ERwin СУБД. С другой стороны, ERwin способен по содержимому системного каталога или SQL-скрипту воссоздать и физическую, и логическую модель данных (Reverse Engineering). На основе полученной логической модели данных можно сгенерировать физическую модель для другой СУБД и затем сгенерировать ее системный каталог. Следовательно, ERwin позволяет решить задачу по переносу структуры данных с одного сервера на другой.
Различают два уровня физической модели:
- трансформационная модель (Transformation Model);
- модель СУБД (DBMS Model).
Физическая модель содержит всю информацию, необходимую для реализации конкретной БД. Трансформационная модель содержит информацию для реализации отдельного проекта, который может быть частью общей ИС и описывать подмножество предметной области. ERwin поддерживает ведение отдельных проектов, позволяя проектировщику выделять подмножество модели в виде предметных областей (Subject Area). Трансформационная модель позволяет проектировщикам и администраторам БД лучше представлять, какие объекты БД хранятся в словаре данных, и проверить, насколько физическая модель данных удовлетворяет требованиям к ИС.
Модель СУБД автоматически генерируется из трансформационной модели и является точным отображением системного каталога СУБД. ERwin непосредственно поддерживает эту модель путем генерации системного каталога.
1.5 Обоснование выбора средств разработки
1.5.1 Обоснование выбора СУБД
К СУБД, используемой для разработки и использования базы данных, можно выдвинуть следующие требования [6]:
- требование надежности (СУБД должна позволять пользователям и системным администраторам восстанавливать предыдущее состояние СУБД без потери данных);
- требование защиты информации (СУБД должна иметь средства аутентификации и идентификации, иметь возможность разграничения доступа к объектам базы данных - различные группы пользователей должны иметь различные права на доступ к объектам базы данных);
- требование модифицируемости (база данных должна быть легко расширена при помощи добавления новых объектов);
- требование минимизации затрат на сопровождение и поддержку;
- требование эргономичности.
Перечислим основные характеристики СУБД и рассмотрим их в отношении основных СУБД [6, 7]:
1) размер базы данных:
- до сотни мегабайт: MS Access, Paradox, Dbase, Foxpro/VFP;
- гигабайты: MySQL, PostgreSQL, Interbase, Informix;
- сотни и больше: MS Server, Oracle, SyBase, DB/2.
2) количество одновременных пользователей:
- до десятка пользователей: Paradox, Dbase, Foxpro/VFP, MS Access;
- несколько десятков пользователей: MySQL, Informix;
- сотни пользователей: PostgreSQL, Interbase;
- тысячи пользователей: MS SQL Server, Oracle, SyBase, DB/2;
3) платформа:
- Windows: MS SQL Server, SyBase, Paradox, Dbase, Foxpro/VFP, MS Access;
- Windows+Linux: Oracle, DB/2, Interbase, MySQL;
4) язык программирования:
- языки от Microsoft: MS SQL Server, SyBase, Foxpro/VFP, MS Access;
- языки Borland: MS SQL Server, Interbase, Paradox, MS Access;
5) защита данных:
- слабая: Paradox, Dbase, Foxpro/VFP, MS Access;
- сильная: MS SQL Server, Oracle, SyBase, DB/2, Interbase, Informix, MySQL, PostgreSQL;
6) требования к техническому оснащению:
- неприхотливые: MySQL, PostgreSQL, Paradox, Dbase, Foxpro/VFP, MS Access;
- чувствительные: Interbase, Informix, SyBase;
- требуют отдельных мощных серверов с большой RAM, желательно на нескольких процессорах: MS SQL Server, Oracle, DB/2;
7) сложность настройки, установки, администрирования, желательность специально обученного персонала для администрирования:
- минимальные либо небольшие сложности: Paradox, Dbase, Foxpro/VFP, MS Access;
- первоначальная настройка плюс минимальная поддержка: PostgreSQL, MySQL;
- требуются специальные знания в достаточно большом объёме: Interbase, Informix;
- желательно наличие специалиста по базам данных: MS SQL Server, Oracle, SyBase, DB/2.
Основываясь на перечисленных выше критериях выбора СУБД был сделан выбор в пользу MS Access.
Система управления реляционными базами данных Microsoft Office Access удовлетворяет потребности самых разных групп пользователей. С помощью мастеров и графических инструментов Access даже пользователи, не владеющие специальными навыками, могут весьма успешно разрабатывать полезные приложения баз данных. Исследования малых и средних предприятий, проведенные различными службами, показали, что Access является одной из самых популярных программ для работы с базами данных.
Приложения для автоматизации работы с электронными таблицами, такие как Microsoft Office Excel, используются на персональных компьютерах с момента их появления и, реализуя мощные вычислительные функции, средства анализа данных и построения диаграмм, позволяют выполнять многие стандартные задачи по обработке табличных данных. Современные приложения для совместной работы, такие как Windows SharePoint, также поддерживают создание и обслуживание списков, доступных через интерфейс веб-обозревателя. Но следует заметить, что ни один из продуктов, поддерживающих таблицы, не обладает всеми достоинствами настоящей реляционной базы данных. По мере усложнения приложений на основе электронных таблиц или списков возникает вопрос о перемещении данных в стандартные реляционные таблицы, из которых можно выбирать и обрабатывать данные с помощью языка SQL (Structured Query Language). После превращения списков в реляционные данные Access позволяет быстро создавать приложения для решения самых разнообразных задач.
Для решения стандартных задач в Access доступны многочисленные шаблоны баз данных. Мастера и удобные средства конструирования обеспечивают простоту создания в Access реляционных структур данных, а также запросов, форм и отчетов, необходимых для работы с данными. Контекстно-зависимый интерфейс всегда предоставит пользователю элементы, необходимые в данный момент времени.
Простой интерфейс пользователя и интерактивные средства разработки в составе Access 2013 делают разработку приложений в среде этого программного продукта доступной для начинающих пользователей. Любой сотрудник, не имея опыта программирования и обладая ограниченными знаниями в области баз данных, может, используя Access, самостоятельно решать задачи по обработке данных.
В то же время Access удовлетворяет требованиям профессиональных разработчиков и позволяет за незначительное время разрабатывать сложные бизнес-системы.
Новые средства Access 2013 ориентированы на упрощение разработки веб-приложений, которые позволят сотрудниками компании совместно отслеживать важные бизнес-данные. Благодаря тесной интеграции с Microsoft SharePoint пользовательские веб-приложения просто использовать в масштабах как корпоративной сети предприятия, так и Интернета в целом. Размещение веб-приложения на сайтах SharePoint обеспечивает общий доступ к данным базы через веб-обозреватель и сохраняет возможность доработки веб-приложения в Access.
Для создания веб-приложения и работы с ним помимо Access 2013 понадобится сайт Office 365 или локальный сервер SharePoint Server 2013 с поддержкой служб Access. Данные базы веб-приложения хранятся на сервере SQL Server 2012 или в базе данных SQL Windows Azure. При использовании Office 365 (как в версии для малого бизнеса, так и корпоративной) среда SharePoint 2013, включающая службы Access, обеспечивается на сайтах Office 365.
Служба SharePoint в пакете Office 365 достаточно проста в управлении и предоставляет усовершенствованные технологии обеспечения безопасности, а также возможность доступа практически из любого расположения. Интеграция с Office Outlook позволяет использовать электронную почту для сбора или обновления данных в таблицах Access, не прибегая к вводу данных вручную.
Система управления базами данных.
СУБД (система управления базами данных) является универсальным программным инструментом создания и обслуживания баз данных и приложений пользователя в самых разных предметных областях. СУБД обеспечивает создание, многоаспект- ный доступ к данным и использование одних и тех же данных различными задача- ми и приложениями пользователей.
СУБД поддерживаются различные модели данных. Модель данных -- это метод (принцип) логической организации данных, используемый СУБД. Наиболее из- вестными являются иерархическая, сетевая и реляционная модели.
В СУБД для персональных компьютеров (настольных СУБД) поддерживается пре- имущественно реляционная модель, которую отличает простота и единообразие представления данных простейшими двумерными таблицами. Реляционная модель обеспечивает возможность использования в разных СУБД операций обработки данных, имеющих единую основу, -- алгебру отношений (реляционную алгебру), и универсального языка структурированных запросов -- SQL (Structured Query Language).
Основной логической структурной единицей манипулирования данными является строка таблицы -- запись. Структура записи определяется составом входящих в нее полей. Совокупность полей записи соответствует логически связанным рекви- зитам, характеризующим некоторую сущность предметной области.
Типовыми функциями СУБД по манипулированию данными являются выборка, добавление, удаление, изменение данных. Выборка данных.
-- выборка записей из одной или нескольких взаимосвязанных таблиц в соответствии с заданными условиями. Добавление и удаление данных.
-- добавление новых записей в таблицы и удаление существующих. Изменение данных.
-- изменение значений данных в полях существующих записей.
Данные из одной или нескольких взаимосвязанных таблиц могут подвергаться обработке. К операциям обработки относятся, например, расчеты в пределах каждой записи, группировка записей в соответствии с заданным критерием группировки и обработка записей выделенных групп с помощью статистических функций, таких как суммирование, определение максимального, подсчет числа записей в группе и т. п.
СУБД Microsoft Access является системой управления реляционной базой данных, включающей все необходимые инструментальные средства для создания локальной базы данных, общей базы данных в локальной сети или в Интернете на сайте SharePoint, сохраняемой на SQL-сервере, а также для создания приложения пользователя, работающего с этими базами данных.
База данных Access, создаваемая на локальном компьютере, хранит в файле не только все таблицы с данными, но и объекты приложения -- формы, отчеты, а также программный код. Благодаря этому можно создать приложение, целиком хранящееся в одном ACCDB-файле, что существенно упрощает как создание, так и распространение приложений баз данных.
СУБД Access включает разнообразные и многочисленные относительно автономные инструментальные средства, ориентированные на создание объектов базы данных и приложений пользователя.
-- Разнообразные мастера в режиме ведения диалога с пользователем позволяют создавать объекты и выполнять разнообразные функции по реорганизации и преобразованию баз данных.
-- Средства программирования СУБД включают язык структурированных запросов SQL, язык макрокоманд и язык объектно-ориентированного программирования для приложений Microsoft Visual Basic for Applications (VBA). VBA является частью семейства Microsoft Visual Basic, которое входит в состав Visual Studio.
-- Средства графического конструирования позволяют создавать объекты базы данных и объекты приложения с помощью многочисленных графических эле- ментов, не прибегая к программированию.
Среди многочисленных средств графического конструирования и диалоговых средств Access следует выделить средства для создания:
* таблиц и схем баз данных, отображающих их связи;
* запросов выборки, отбирающих и объединяющих данные нескольких таблиц в виртуальную таблицу, которая может использоваться во многих задачах приложения;
* запросов на изменение данных базы;
* экранных форм, предназначенных для ввода, просмотра и обработки данных в диалоговом режиме;
* отчетов, предназначенных для просмотра и вывода на печать данных из базы и результатов их обработки в удобном для пользователя виде.
VBA является базовым компонентом Microsoft Office -- он интегрирован в Access, Excel, Outlook, PowerPoint и Word. Все эти приложения, в том числе и локализован- ные на русском языке, используют англоязычный вариант VBA (включая справоч- ную систему). VBA входит во все варианты поставок Microsoft Office.
VBA представляет собой базовую платформу программирования не только в среде Microsoft Office, но и многих других приложений. VBA содержит средства доступа не только к базам данных Access, но и к базам данных клиент-серверной архитектуры, таким как Microsoft SQL Server, Oracle и др.
Система доступа к данным построена на основе ядра базы данных Access Database Engine. Ядро базы данных используется для создания реляционных баз данных: таблиц для хранения данных и объектов баз данных, таких как индексы; выполняет загрузку, сохранение и извлечение данных в пользовательских и системных базах данных; обеспечивает высокую производительность и улучшенные сетевые харак- теристики, поддержку двухбайтового представления символов -- Unicode, позво- ляющего использовать символы нескольких национальных алфавитов.
В Access активно развиваются технологические направления, составляющие основу совместного использования корпоративных баз данных.
В Access 2013 обеспечивается работа к многопользовательскими базами данных SQL серверов, реализующими архитектуру 'клиент -- сервер'. Широко известны- ми СУБД, используемыми в этой архитектуре, являются Microsoft SQL Server, Oracle, Sybase SQL Server и др. Эти СУБД являются реляционными SQL-серверами баз данных. Доступ и изменение данных в серверной базе производится по запро- сам пользователей, обработка которых осуществляется на сервере. Пользователю- клиенту, сделавшему запрос, возвращается только результат выполнения запроса. Access 2013 при работе в качестве клиента для взаимосвязи с SQL-сервером ис- пользует специальное программное обеспечение -- широко распространенный интерфейс ODBC. Access предоставляет несколько способов взаимодействия приложения с данными сервера на основе интерфейса ODBC:
-- запросы на языке SQL к базам данных SQL Server -- с помощью запросов на SQL можно выполнить выборку данных из таблиц, сохраняемых на сервере, добавление, обновление данных и структур таблиц сервера. Запросы к серверу могут содержать инструкции для создания и удаления таблиц в базе данных и даже базе данных на сервере. Запросы передаются и выполняются непосредственно на сервере. Запросы целесообразно использовать для запуска сохраняе- мых процедур на сервере;
-- связь с таблицами баз данных SQL Server-- при этом таблицы сервера отображаются в окне базы данных Access для их просмотра и изменения средствами Access. Данные таблиц остаются в формате источника, но представлены как объекты Access. Внешние данные этих объектов можно использовать при создании запросов, форм, отчетов, причем можно объединить внешние данные с данными из объектов Access;
-- импорт объектов SQL Server в текущую базу данных Access -- при импорте объектов создаются их копии. Исходные объекты источника при этом не изменяются;
-- экспорт таблиц базы данных Access в базу данных на SQL Server -- при взаимо действии Access с сервером локальные таблицы базы данных могут быть экспортированы в общую базу данных сервера. Таким образом, можно, создав таблицу в Access, поместить ее в базе данных сервера.
Из Access 2013 исключена реализованная в предыдущих версиях возможность создания клиентских приложений Microsoft SQL Server -- проектов, в которых можно было создавать новые базы данных на сервере или использовать существующие и взаимодействовать с ними на основе интерфейса OLE DB.
Интернет-технологии позволяют эффективно распространять и получать доступ к разнородной информации в глобальных и корпоративных сетях. Эти технологии обеспечивают унифицированный доступ к данным различных приложений в разнородных сетях. В роли универсального интерфейса для доступа и работы с данными из внешней среды вне зависимости от аппаратно-программной платформы компь- ютера пользователя и компьютера-источника данных здесь выступает веб-браузер. Access 2013 предоставляет платформу для создания веб-приложений, которые можно совместно использовать в пределах организации или в Интернете с по- мощью браузера. С веб-страницами приложения можно работать как с формами Access -- для ввода и редактирования данных, как с отчетами Access -- для отображения иерархически сгруппированных данных. Для работы с приложением на компьютере пользователя не требуется устанавливать Access. Веб-приложения раз- рабатываются и могут публиковаться как на сайтах собственного сервера SharePoint 2013 в интрасети, так и на сайтах SharePoint, предоставляемых Office 365 в 'облаке'. База данных веб-приложения сохраняется на SQL Server 2012, опреде- ленном в SharePoint. Безопасность доступа к данным и управление ими обеспечивается средствами SharePoint и SQL Server.
Реляционная база данных
База данных является организованной на машинном носителе совокупностью взаимосвязанных данных и содержит сведения о различных сущностях одной предметной области: реальных объектах, процессах, событиях или явлениях.
Реляционная база данных представляет собой множество взаимосвязанных двумерных таблиц -- реляционных таблиц, называемых также отношениями, в каждой из которых содержатся сведения об одной сущности автоматизируемой предметной области. Логическую структуру реляционной базы данных образует совокупность реляци-онных таблиц, между которыми установлены логические связи. В таблицах базы должны сохраняться все данные, необходимые для решения задач предметной области. Причем каждый элемент данных должен храниться в базе только в одном экземпляре. Для создания таблиц, соответствующих реляционной модели данных, используется процесс, называемый нормализацией данных. Нормализация -- это удаление из таблиц повторяющихся данных путем их переноса в новые таблицы, записи которых не содержат повторяющихся значений. Минимальное дублирование данных в реляционной базе обеспечивает высокую эффективность поддержания базы данных в актуальном и непротиворечивом состоянии, однократный ввод и корректировку данных. Структура реляционной таблицы определяется составом полей. Каждое поле отражает определенную характеристику сущности. Для поля указывается тип и размер элементарного данного, размещаемого в нем, и ряд других свойств. Содержимое поля отображается в столбце таблицы. Столбец таблицы содержит данные одного типа.
Содержание таблицы заключено в ее строках, однотипных по структуре. Каждая строка таблицы содержит данные о конкретном экземпляре сущности и называется записью.
Для однозначного определения (идентификации) каждой записи таблица должна иметь уникальный (первичный) ключ. По значению ключа таблицы отыскивается единственная запись в таблице. Ключ может состоять из одного или нескольких полей таблицы. Значение уникального ключа не может повторяться в нескольких записях. Логические связи между таблицами дают возможность объединять данные из разных таблиц. Связь каждой пары таблиц задается одинаковыми полями в них -- ключом связи. Таким образом обеспечивается рациональное хранение недублированных данных и их объединение в соответствии с требованиями решаемых задач. В нормализованной реляционной базе данных связь двух таблиц характеризуется отношениями записей типа 'один-к-одному' (1 : 1) или 'один-ко-многим' (1 : M). Отношение 1 : 1 предполагает, что каждой записи одной таблицы соответствует одна запись в другой. Отношение 1 : М предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи второй таблицы соответствует только одна запись в первой. Для двух таблиц, находящихся в отношении типа 1 : M, связь устанавливается по уникальному ключу таблицы, представляющей в отношении сторону 'один', -- главной таблицы в связи. Во второй таблице, представляющей в отношении сторону 'многие' и называемой подчиненной, этот ключ связи может быть либо частью уникального ключа, либо не входить в состав ключа. В подчиненной таблице ключ связи называется еще внешним ключом
1.5.2 Обоснование выбора среды разработки
Разработка интерфейса всегда являлась трудоемкой задачей отнимающей много времени у разработчиков. Однако имеются так называемые средства визуальной разработки приложений в значительной мере упростившие задачу разработки графического интерфейса пользователя. Сейчас на рынке программных продуктов предлагается довольно много разнообразных средств визуальной разработки приложений, ориентированных на разработку информационных систем. Все их можно условно разделить на два класса:
- специализированные средства -- ориентированные исключительно на работу с вполне определенной СУБД;
- универсальные средства, которые могут использоваться как для разработки информационных приложений, взаимодействующих с базами данных, так и для разработки любых других приложений, не использующих базы данных.
Из таких средств наибольшей известностью пользуются системы Borland Dеlрhi фирмы Borland‚ Visual Basic, Visual C++ фирмы Microsoft. Каждый из указанных классов имеет свои достоинства и недостатки, поэтому в общем случае трудно отдать предпочтение одному из них. В предлагаемом дипломном проекте в качестве средства разработки выбран продукт Microsoft Access, пользующийся большой популярностью.
В Access удачно сочетаются средства визуального проектирования приложений и оптимизирующий компилятор. Наличие в системе компилятора или генерирование ею выполняемого машинного кода еще не означает, что получаемый код является оптимальным. Такие системы, как Visual Basic, изначально создавались на основе концепции генерации псевдокода. При выполнении приложений, созданных с помощью этих систем, полученный псевдокод интерпретировался.
Помимо эффективности выполняемого кода, каждому разработчику необходимо средство, которое было бы, с одной стороны, достаточно мощным и гибким, чтобы выполнить любую стоящую перед ними задачу, а, с другой стороны было достаточно простым и удобным в работе. Такая система должна быть построена на принципах объектно-ориентированного программирования, и вместе с тем, должна позволять применять, в случае необходимости, ассемблер. Наконец, она должна совмещать в себе функции среды для быстрой разработки баз данных, которая не вынуждала бы их каждый раз при программировании спускаться до ядра СУБД.
Все это (и даже больше) предоставляет Access. Это стало возможным благодаря подходу, который применила компания microsoft при создании этой системы, собрать все лучшее, что есть в средствах разработки для Windows, и объединить в одном продукте. В состав Access входит обширная библиотека компонентов (не говоря еще об огромном количестве библиотек компонент, разработанных третьими фирмами и отдельными разработчиками), с помощью которой можно избежать ручного написания программ, что широко распространено в других средствах разработки.
В результате оценки по выбранным критериям сред разработки, максимальное получил Microsoft Access. Данная оценка является субъективным мнением автора диплома, сформированным на основе собственного опыта и данных из источников, рассматривающих те или иные аспекты указанных сред разработки.
Объекты Access
База данных Access включает следующие сохраняемые в одном ACCDB-файле объекты:
· таблицы, запросы, схемы данных, непосредственно имеющие отношение к базе данных;
· формы, отчеты, макросы и модули, называемые объектами приложения.
Формы и отчеты предназначены для типовых процессов обработки данных: просмотра, обновления, поиска по заданным критериям, получения отчетов. Эти объекты приложений конструируются из графических элементов, называемых элементами управления. Основные элементы управления служат для отображения полей таблиц, являющихся источниками данных объекта. Для автоматизации доступа к объектам и их взаимодействия используется программный код. Только с помощью программного кода получается полноценное приложение пользователя, функции которого доступны через меню, панели инструментов и формы. Для создания программного кода служат модули на языке VBA и макросы.
Каждый объект и элемент управления имеет свои свойства, определяя которые можно настраивать их. С каждым объектом и элементом управления связывается набор событий, которые могут обрабатываться макросами или процедурами обработки событий на VBA, входящими в состав модулей форм, отчетов. Объекты представлены в области навигации окна базы данных Access. Все операции по работе с объектами собственно базы данных и приложений начинаются в этом окне.
Таблицы (Tables) создаются пользователем для хранения данных об одной сущности -- одном информационном объекте модели данных предметной области. Таблица состоит из полей (столбцов) и записей (строк). Каждое поле содержит одну характеристику информационного объекта предметной области. В записи собраны сведения об одном экземпляре информационного объекта.
База данных Access может включать до 32 768 объектов (в том числе формы, отчеты и т. д.). Одновременно может открываться до 2048 таблиц.
Запросы (Queries). Запросы на выборку служат для выборки нужных данных из одной или нескольких связанных таблиц. Результатом выполнения запроса является виртуальная таблица. В запросе можно указать, какие поля исходных таблиц следует включить в запись таблицы запроса и как отобрать нужные записи. Таблица запроса может быть использована наряду с другими таблицами базы при обработке данных. Запрос может формироваться с помощью конструктора запросов или инструкции языка SQL. Запросы на изменение позволяют обновлять, удалять или добавлять данные в таблицы, а также создавать новые таблицы на основе существующих.
Схема данных (Relationships) определяет, с помощью каких полей таблицы связываются между собой, как будет выполняться объединение данных этих таблиц, нужно ли проверять связную целостность при добавлении и удалении записей, изменении ключей таблиц. Схемы данных в области навигации в окне базы данных отображаются только в проектах Access, работающих с базами данных сервера. Для отображения схемы данных в базах данных Access используется команда Схема данных (Relationships), размещенная на вкладке ленты Работа с базами данных (Database Tools) в группе Отношения.
Формы (Forms) являются основным средством создания диалогового интерфейса приложения пользователя. Форма может создаваться для работы с электронными документами, сохраняемыми в таблицах базы данных. Вид таких документов может соответствовать привычному для пользователя бумажному документу. Форма используется для разработки интерфейса по управлению приложением. Включаемые в форму процедуры обработки событий позволяют управлять процессом обработки данных в приложении. Такие процедуры хранятся в модуле формы. В формы могут вставляться рисунки, диаграммы, звуковые фрагменты, видео. Возможна разработка форм с набором вкладок, с каждой из которых связано выполнение той или иной функции приложения.
Отчеты (Reports) предназначены для формирования на основе данных базы выходных документов любых форматов, содержащих результаты решения задач пользователя, и вывода их на печать. Как и формы, отчеты могут включать процедуры обработки событий. Использование графических объектов позволяет дополнять данные отчета иллюстрациями. Отчеты обеспечивают возможность анализа данных при использовании фильтрации, агрегирования и представления данных источника в различных разрезах.
Макросы (Macros) являются программами, состоящими из последовательностей макрокоманд, которые выполняются по вызову или при наступлении некоторого события в объекте приложения или его элементе управления. Макросы данных выполняются при наступлении некоторого события в исходных таблицах. Макросы позволяют автоматизировать некоторые действия в приложении пользователя. Создание макросов осуществляется в диалоговом режиме путем выбора нужных макрокоманд и задания параметров, используемых ими при выполнении. Макросы данных используются для добавления логики к данным и сосредоточения ее в исходных таблицах. В веб-приложениях Access, публикуемых на сайтах SharePoint, для программирования можно использовать только макросы, т. к. код VBA несовместим со средствами веб-публикации. Модули (Modules) содержат процедуры на языке Visual Basic for Applications. Могут создаваться процедуры-подпрограммы, процедуры-функции, которые разрабатываются пользователем для реализации нестандартных функций в приложении пользователя, и процедуры для обработки событий. Использование процедур позволяет создать законченное приложение, имеющее собственный графический интерфейс пользователя, позволяющий запросить выполнение всех функций приложения, обработать все ошибки и нестандартные ситуации. В Access для удобства пользователя объекты в области навигации базы данных могут быть объединены в пользовательские группы по функциональному или иному признаку. Группы содержат ссылки на объекты базы данных различных типов. Группы, в свою очередь, объединяются в категории. С помощью такой организации объектов базы данных может быть разработан интерфейс пользовательского приложения, полностью заменяющий существующие ранее кнопочные формы и обеспечивающий доступность только к категориям и группам, наглядно и понятно представляющим функциональность приложения.
Размещение базы данных
Все таблицы, а также другие объекты базы данных Access: запросы, формы, отчеты, макросы и модули, построенные для этой базы, и внедренные объекты могут размещаться на диске в одном файле формата ACCDB. Это упрощает технологию ведения базы данных и приложения пользователя, а также обеспечивает высокую компактность размещения всех объектов базы данных на диске и эффективность обработки данных. Когда база данных открыта, для корректного внесения изменений требуются блокировки данных разных уровней. Контроль над ними осуществляется с помощью файла блокировки. Если в MS Access 2010/2013 открыт MDB-файл, для контроля блокирования создается файл с расширением ldb и тем же именем, что у MDB-файла. Для файлов в формате ACCDB блокирование управляется файлом с расши- рением laccdb . Как LDB-, так и LACCDB-файлы уничтожаются автоматически, когда база данных будет закрыта всеми пользователями. Введение отдельных блокирующих файлов для файлов Access 2010/2013 и файлов, созданных в более ранних версиях Access, обеспечивает одновременное открытие файлов mdb и accdb с одинаковым именем, и это не приведет к возникновению кон- фликтов в блокирующем файле, поскольку будут созданы два разных блокирую- щих файла. Также можно открывать один и тот же файл mdb в Access 2010/2013 и в более ранней версии Access одновременно, обе версии используют один и тот же блокирующий файл ldb. База данных Access 2013 может быть превращена в базу данных, доступную только для выполнения, не доступную для изменений и скрывающую свой код. Для этого она должна быть скомпилирована и сохранена в файле формата ACCDE. В процессе преобразования из базы данных удаляется весь исходный текст программ на VBA, база сжимается, что значительно сокращает размер файла. В базе данных формата ACCDE код VBA может только выполняться, но просматривать и изменять его нельзя. При этом у пользователей нет разрешений на изменение структуры форм, отчетов или модулей. Для преобразования файла базы данных ACCDB в формат ACCDE на вкладке Файл (File) выберите Сохранить как (Save As), далее Сохранить базу данных как (Save Database As), в группе Дополнительно (Advanced) -- пункт Создать ACCDE (Make ACCDE) (Компиляция исполняемого файла) и нажмите кнопку Сохранить как (Save As). Для преобразования (конвертации) базы данных из предыдущих версий в текущую и наоборот в Access 2013 предназначена команда Сохранить базу данных как (Save Database As), доступная в разделе Сохранить как (Save As) на вкладке Файл (File). Если база данных Access 2007/2013 использует возможности, не поддерживаемые более ранними версиями, выполнение преобразования невозможно. Сжать и восстановить базу данных (Compact & Repair Database) можно одноименной командой, доступной в разделе Сведения (Info) на вкладке Файл (File) или на вкладке Работа с базами данных (Database Tools) в группе Сервис (Tools). Команда реорганизует базу данных на диске с целью улучшения объемновременных характеристик. Она перезаписывает фрагментированный в результате удаления и добавления объектов файл базы данных и сокращает его размер, а также восстанавливает поврежденную базу данных.
Средства программирования
Наряду с диалоговыми средствами создания объектов базы данных и объектов приложения, которые позволяют решить многие задачи пользователя, Access располагает мощными средствами программирования. Эти средства могут использоваться как для доработки приложений, созданных диалоговыми средствами, так и для реализации сложных задач и создания приложений с необходимым пользователю интерфейсом в целом. Без использования программного кода практически невозможно получить законченное автоматизированное приложение пользователя. Одним из средств программирования в Access является язык макрокоманд. Программы, созданные на этом языке, называемые макросами, позволяют легко связывать отдельные действия, реализуемые с помощью форм, запросов, отчетов. Макросы управляются событиями, которые вызываются действиями пользователя при диалоговой работе, прежде всего, с данными через формы -- например, нажатие кнопки, изменение данного в поле, или системой. Простой язык макрокоманд и конструктор макросов с ясным и понятным интерфейсом, поддерживающий функции IntelliSense, позволяют при малой трудоемкости интегрировать объекты приложения и организовать процесс обработки данных. Конструктор макросов упрощает создание, редактирование и автоматизацию логики базы данных, позволяет сокращать количество ошибок кода. Помимо обычных макросов новый конструктор макросов позволяет создавать макросы данных, которые связываются с событиями в таблице и позволяют выполнять определенные действия при изменении, вставке или удалении записи. Например, с помощью макросов можно проверять данные или выполнять вычисления. Макросы данных позволяют добавлять логику к данным и сосредотачивать ее в исходных таблицах. По сути, макросы данных позволяют реализовать триггеры в базе данных Access. С помощью конструктора макросов и макросов данных можно распространить автоматизацию за пределы клиентского приложения Access на веб-базы данных SharePoint и другие приложения, обновляющие таблицы Access. Наряду с языком макрокоманд Access включает развитую интегрированную среду объектно-ориентированного программирования Visual Basic for Applications (VBA), позволяющую реализовать любые программные решения. Программы на VBA реализуются процедурами, которые объединяются в объектах, называемых модулями. В VBA база данных рассматривается как совокупность объектов (таблиц, форм, отчетов, их элементов и т. д.), имеющих свойства и методы, реализующие заранее определенные действия над объектами. Структурированность объектов базы данных упрощает освоение этого языка и создание приложений. Управление выполнением программ в диалоговых приложениях VBA осуществляется событиями, вызываемыми действиями пользователя или системы. Среда VBA объединяет разнообразные наглядные графические инструменты: редактор VBA, окно разрабатываемого проекта, окно свойств объектов проекта, окно просмотра объектов, отладчик и др. Все инструменты унифицированы и являются общими для всех приложений Microsoft Office, для Visual Basic, а также продуктов ряда других фирм. Приложения, разрабатываемые на VBA, могут выполняться только в той среде, в которой поддерживается VBA, в то время как Visual Basic ориентирован на полностью самостоятельную разработку автономно выполняющихся приложений. Язык VBA является производным от самостоятельной системы программирования Visual Basic и имеет с ней много общего. Их синтаксис и интерфейс практически одинаковы. Заметим, что код VBA несовместим со средством веб-публикации, поэтому если планируется опубликовать приложение как веб-приложение Access, для выполнения задач программирования необходимо использовать только макросы.
Многопользовательская база данных Access База данных, как правило, содержит данные, необходимые многим пользователям. Создание многопользовательской базы данных Access и получение одновременного доступа нескольких пользователей к общей базе данных возможно в одноранговой сети персональных компьютеров или в сети с файловым сервером. Под одноранговой понимается сеть, каждый компьютер которой может предоставлять остальным подключенным к сети компьютерам доступ ко всем или некоторым своим ресурсам, т. е. являться сервером и клиентом одновременно. Одноранговая сеть может управляться встроенными компонентами настольных операционных систем Windows XP/Vista/Windows 7/Windows 8.
Сети больших масштабов используют выделенные файловые серверы. В сети, поддерживающей концепцию файлового сервера, база данных Access размещается на компьютере, выделенном в качестве файлового сервера. СУБД Access, как правило, устанавливается на каждой компьютер пользователя. Обработка данных базы осуществляется на компьютерах пользователей. Поэтому по сети передаются с сервера на компьютер клиента большие объемы данных, что сильно загружает ее и делает невозможным одновременное обслуживание большого числа пользователей. Работа локальной сети с файловым сервером обеспечивается рядом сетевых операционных систем. Наиболее популярными являются Microsoft Windows Server и Novell NetWare.
Сеть предоставляет аппаратную и программную поддержку обмена данными между компьютерами. Сетевая операционная система обеспечивает защиту базы данных, размещенной в сети, предоставляя пользователям доступ к определенным сетевым ресурсам -- например, папкам, файлам, только по предъявлении имени и пароля. Кроме того, для пользователя папки или отдельного файла могут назначаться права доступа, ограничивающие их использование, например, только чтением.
Access не следит за разграничением доступа разных пользователей к базе данных, но автоматически обеспечивает защиту данных от одновременной их корректировки несколькими пользователями. Для обеспечения защиты данных от одновременной их корректировки несколькими пользователями в Access предусматривается блокировка на уровне страниц, при которой блокируются все записи одной страницы. Дополнительно к блокировке страничного уровня Access поддерживает блокировку на уровне записи. Блокирование не допускает изменения записи другими пользователями, пока текущее изменение не будет закончено. Выбор режима блокировки на уровне записей по умолчанию в текущей базе данных производится параметром Открывать базу данных с использованием блокировки на уровне записей (Open databases using record level locking)в окне Параметры Access (Access Options) на вкладке Параметры клиента (Client Settings) в группе Дополнительно (Advanced). Если флажок этого параметра сброшен, по умолчанию будет использована блокировка на уровне страницы. Выбранный вариант применяется к данным в формах, таблицах и программах, использующих объект Recordset для перебора записей. Этот параметр не применяется к запросам на изменение или программам, выполняющим массовые операции с использованием инструкций SQL.
Прежде чем начать работу нескольких пользователей с общей базой данных, необходимо выполнить разделение локальной базы данных. Разделение базы данных предполагает выделение таблиц текущей базы данных в новую базу. При этом текущая база становится интерфейсной базой данных, а база данных с таблицами помещается в сетевое расположение, указанное при выполнении процедуры разделения. После разделения базы данных нужно распространить интерфейсную базу данных среди пользователей, чтобы они могли начать работу с ней.[8]
2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
2.1 Основание для разработки
Разработка программного обеспечения производится на основании заказа от БУ ВО «Центр информационных технологий». На основании этого была сформулирована тема дипломного проектирования, в последствии утвержденная Кафедрой прикладной информатики и естественно-математических наук.
2.2 Назначение разработки
Функциональное назначение: система должна предоставлять ввод, обработку и поиск данных.
Эксплуатационное назначение: система должна обеспечивать оформление и учет поступивших задач, оптимизация работы IT-специалистов, путем равномерной нагрузки на специалистов, а также создание отчетов о выполненых или невыполненых задачах.
2.3 Требования к программе
2.3.1 Требования к функциональным характеристикам
Необходимо разработать АС планирования helpdesk для предприятия с развитой инфраструктурой, которая предоставляет следующие функции:
- учет всех созданых задач;
- оформление и учет новых задач;
- создание и дополнение адресов, кабинетов, ФИО заказчика;
- ведение списка специалистов отдела МТО;
- ведение списка специалистов отдела технической поддержки;
- ведение списка специалистов управления инфраструктуры;
- ведение списка специалистов управления информационных систем;
- отображение не выполненых задач;
- организация поиска по:
- номеру задачи;
- дате регистрации задачи;
- сроке исполнения задачи;
- дате исполнения задачи;
- по типу задачи;
- по ФИО заказчика;
- по отделу исполнителей;
- по исполнителю;
- приоритету;
- качеству;
- кабинету заказчиков;
- формирование отчетности:
- отчет по исполнителям;
- отчет по качеству, приоритету, повторности;
Автоматизированная система должна быть реализована в рамках локальной архитектуры.
Система должна иметь удобный интерфейс, предоставляющий наиболее гибкий способ просмотра, добавления и редактирования данных.
2.3.2 Требования к надежности
При функционировании данной АИС должен осуществляться контроль входной и выходной информации, в том числе данных вводимых пользователем и данных, содержащихся в таблицах баз данных.
В случае ошибки ввода-вывода должны выдаваться соответствующие сообщения и предоставляться возможность исправления ошибок и продолжения работы.
При выполнении операций по изменению или удалению данных необходимо обеспечить целостность БД.
2.3.3 Требования к составу и параметрам технических средств
Минимальные необходимые требования для нормального функционирования системы: персональный компьютер на базе процессора Intel Celeron с тактовой частотой 2400MHz, 1024 МБ оперативной памяти, свободное пространство на жестком диске 10 Гб, VGA-совместимый дисплей.
2.3.4 Требования к информационной и программной совместимости
Программа должна быть разработана, как база данных. Файлы данных создаются в формате Microsoft Access.
Сама разработка ведётся в системе управления базами данных Microsoft Access, обеспечивающей создание надёжного приложения для работы в операционных системах Windows XP и выше.
2.3.5 Требования к набору (составу) данных
Входными данными для системы являются:
- тип задачи;
- приоритет выполнения задачи;
- ФИО, местонахождение и телефон заказчика;
- отдел и ФИО исполнителя;
- комментарий диспетчера.
Выходными данными для системы являются:
- номер задачи;
- датавремя задачи;
- тип задачи;
- исполнитель;
- заказчик;
- кабинет заказчика;
- срок исполнения;
- срочность;
- повторность;
- качество;
- приоритет.
Формы выходных документов представлены в Приложении В.
Документ «Отчет по исполнителям» формируется для любых выбранных исполнителей и содержит данные о задаче дате, сроке исполнения и время когда выполнена задача.
Документ «отчет по качеству, приоритету, повторности» формируется на основе справочника задач, сформированного пользователем, по графам качество, повторность задачи.
Документ «Устройства по рабочим местам» формируется на основе полного списка компьютерной техники, заданного пользователем, с группировкой по рабочим местам.
Документ «Список рабочих мест» формируется на основе данных, введенных пользователем и включает все рабочие места в организации с указанием ip-адреса компьютера, домена/рабочей группы и сетевого имени компьютера.
2.4 Требования к программной документации
Разрабатываемый проект должен сопровождаться документацией, в составе которой будут учтены следующие пункты:
- техническое задание;
- описание программы;
- описание применения;
- текст программы, результаты работы.
2.5 Стадии и этапы разработки
Автоматизированная система должна разрабатываться в следующем порядке:
1) анализ предметной области;
2) разработка технического задания;
3) освоение программных средств;
4) проектирование системы;
5) разработка приложения;
6) оформление пояснительной записки.
2.6 Порядок контроля и приемки
Для всестороннего контроля работы системы необходимо разработать специальные наборы тестовых данных, результаты обработки которых в полной мере отразят работоспособность системы. Для проверки правильности работы программы должно быть проведено тестирование всех режимов работы.
Приемка программного продукта должна проводиться при представлении работоспособности системы при различных входных данных и при наличии полной документации к программе.
3. ПРОЕКТИРОВАНИЕ СИСТЕМЫ
3.1 Функциональное проектирование системы
Контекстная диаграмма, приведенная на рисунке 3.1, реализована с помощью методологии IDEF0.
Рисунок 3.1 Контекстная диаграмма
Стратегии и процедуры, которыми руководствуется процесс (управление) - это правила приема, обработки и выполнения заказов.
Входом для системы являются данные по задаче, адрес и ФИО сотрудников организаций, а также данные коментарии диспетчера, для более полного описания задачи.
Выходом для системы являются выполненая задача, справочник исполнителей, справочник заказчиков, справочник кабинетов, справочник департаментов, справочник подразделений, отчет по исполнителям, отчет по качеству, приоритету и повторности задачи.
Функциональная декомпозиция системы, приведенная на рисунке 3.2, проводится также на основе методологии IDEF0.
На этом уровне работником IT-отдела по заказам выполняются следующие функции:
- прием задачи;
- выполнение задачи;
- база данных задач.
Рисунок 3.2 Диаграмма декомпозиции
Функциональная декомпозиция активности «Прием задачи» выполнена на основе методологии DFD и приведена на рисунке 3.3.
Рисунок 3.3 Диаграмма декомпозиции активности «Прием задачи»
Функциональная декомпозиция активности «Выполнение задачи» выполнена на основе методологии DFD и приведена на рисунке 3.4.
Рисунок 3.4 Диаграмма декомпозиции активности «Выполнение задачи»
3.2 Инфологическое проектирование системы
3.2.1 Логическое проектирование
В проектируемой модели использовалась логико-физическая модель.
В разрабатываемой системе можно выделить следующие сущности: группы задач, задача, задание, Кабинет, департамент, подразделение, исполнитель, отдел исполнителя. Схема данных на логическом уровне представлена на рисунке 3.6.
Рисунок 3.6 - Схема данных на логическом уровне
Данные в базе должны обладать свойством целостности. Под целостностью понимается правильность данных в любой момент времени. Поддержание целостности базы данных может рассматриваться как защита данных от неверных изменений или разрушения.
Выделяют три группы правил целостности [5]:
- Целостность по сущностям. Объекту или сущности реального мира в реляционных базах данных соответствуют кортежи отношений. Требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. другими словами, любое отношение должно обладать первичным ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений. Первичный ключ - это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
- Целостность по ссылкам. База данных не должна содержать несогласованных значений внешних ключей. Правило утверждает, что если В ссылается на А, тогда А должно существовать. Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать).
- Целостность, определяемая пользователем. У пользователя (или у разработчика) базы данных должна быть возможность определить, какие операции должны быть запрещены, а какие разрешены, нужны ли для разрешенных операций компенсирующие, и если да, то какие (т.е. возможность каскадного удаления).
В разрабатываемой структуре базы данных учтены основные правила целостности. Каждая сущность идентифицируется уникальным ключом, и разработана система внешних ключей. База данных не содержит несогласованных значений внешних ключей, то есть при работе с записями происходит каскадное обновление связанных полей и каскадное удаление связанных записей.
Целостность, определяемая пользователем, поддерживается ограничениями в таблицах базы данных на ввод неотрицательных значений, а также обеспечением выбора значений внешних ключей из списков без разрешения варианта ввода недопустимого значения.
Нормализация предусматривает определение требуемых атрибутов с последующим созданием из них нормализованных таблиц, основанных на функциональных зависимостях между этими атрибутами. Отношение, в котором на пересечении каждой строки и каждого столбца содержится атомарное (или единственное) значение, находится в 1-й нормальной форме. При этом необходимо, чтобы отношение имело первичный ключ.
Вторая нормальная форма применяется к отношениям с составными ключами, т.е. к таким отношениям, первичный ключ которых состоит из двух или больше атрибутов. Отношение с первичным ключом на основе единственного атрибута всегда находится в 2-й нормальной форме. Отношение, которое находится в 1-й нормальной форме и каждый атрибут которого, не входящий в состав первичного ключа, зависит только от полного значения ключа и не зависит ни от какого отдельного атрибута, входящего в состав первичного ключа, имеет вторую нормальную форму (каждый неключевой атрибут функционально полно зависит от ключа).
Отношение находится в 3-й нормальной форме, если оно представлено в 2-й нормальной форме и не имеет не входящих в первичный ключ атрибутов, которые находились бы в транзитивной функциональной зависимости от этого первичного ключа.
Разработанная модель находится в 3-й нормальной форме, так как:
- атрибуты сущностей являются атомарными;
- каждый неключевой атрибут функционально полно зависит от первичного ключа;
- в модели отсутствуют транзитивные зависимости неключевых атрибутов от ключа.
3.2.2 Обоснование проектных решений по информационному обеспечению
Для обеспечения хранения данных можно использовать локальную или распределенную базу данных. В данном дипломном проекте целесообразнее использовать распределенную базу данных, применение которой позволит уменьшить время работы с базой данных и уменьшить сложность настройки прикладного программного обеспечения.
Предполагаются следующие информационные решения, касающиеся разрабатываемого программного средства:
- сбор исходной информации, вводимой в базу данных, осуществляется на сервере, т.е. информация для базы данных может быть введена с нескольких АРМ, где выполнены условия для запуска базы;
- ввод информации в базу данных осуществляется вручную с бумажных носителей. Информация записывается в базу автоматически;
- обработка данных осуществляется в диалоговом режиме;
- пользователь получает информацию из базы данных на экран ПЭВМ, кроме того, информация может выдаваться на принтер в случае распечатки различных стандартных форм;
- резервирование базы данных осуществляется при помощи сохранения базы данных сервере, у которого постоянно создаются резевные копии;
- база данных состоит из одного файла, имеющего расширение «.accdb» (формат Microsoft Access).
Структура пакета прикладных программ следующая [3]:
- управляющий модуль, который предназначен для преобразования программы на входном языке (ПВЯ) в последовательность вызовов обрабатывающих модулей формирование меню пользователя и обеспечение соединения пунктов меню с обрабатывающими и обслуживающими модулями;
- обрабатывающие и одновременно обслуживающие модули, которые предназначены для взаимодействия пользователя с пакетом управляющих модулей, а также для реализации алгоритма решения задач, т.е. для преобразования данных, составляющих информационную базу пакетов.
Обрабатывающие модули, для реализации алгоритма решения задач, т.е. для преобразования данных, составляющих информационную базу пакетов.
Структура пакета прикладных программ представлена на рисунке 3.8.
Рисунок 3.8 Структура пакета прикладных программ
Технология внутримашинной организации задается последовательностью реализуемых процедур схем взаимосвязи программных модулей и информационных массивов. Такая схема представляет собой декомпозицию общего процесса решения задачи на отдельные процедуры преобразования массивов, именуемыми модулями (это ввод, контроль, перезапись информации с одного носителя на другой, сортировка, уплотнение данных, редактирование, накопление, вывод на печать и т.п.). Структуру программ можно описать основными блоками, представленными на рисунке 3.9 [3].
Рисунок 3.9 Схема основных модулей программы
Модуль «Главное меню» предназначен для запуска основных процедур программы и завершения работы с программой.
Модуль работы со справочниками включает в себя справочники:
- Справочник исполнителей;
- Справочник заказчиков;
- Справочник задач;
- Справочник кабинетов;
- Спровочник подрезделений;
- Справочник диспетчеров;
- Справочник департаментов.
Назначение данного модуля является поиск и подготовка справочной информации.
Модуль «Формирование входной информации» предназначен для ввода первичных данных и просмотра ранее занесенных. Данный модуль реализует задачи ввода заказов.
Модуль «Формирование документов» выполняет функции формирования печатных форм. Отчеты формируются используя запросы, которые обрабатывают исходную информацию в соответствии с заданными параметрами пользователя.
3.3 Разработка алгоритмов
Алгоритмы работы программы являются стандартными алгоритмами работы с базой данных. В основном все алгоритмы работы связаны с вводом данных от пользователя, проверке введенной информации на предмет нарушения целостности данных и занесение введенной информации в саму базу, если введенные сведения не нарушают целостности.
Алгоритм работы с любой формой программы представлен на рисунке 3.10.
Рисунок 3.10 Алгоритм ввода данных в базу
Рисунок 3.11 Алгоритм добавления записи в таблицу
Рисунок 3.12 Алгоритм изменения записи в таблице
4. ОПИСАНИЕ ПРИМЕНЕНИЯ
4.1 Назначение программы
Программа предназначена для автоматизации рабочего места диспетчера по принятию завявок БУ ВО «ЦИТ». Система предназначена для ввода, обработки и поиска данных, оформления задач, учета невыполненых задач, оформления отчетов о просроченных задачах, отправки отчетов руководящим отделами и у правлениями, а также директору.
4.2 Условия применения
Минимальные необходимые требования для нормального функционирования системы: персональный компьютер на базе процессора Intel Celeron с тактовой частотой 2400MHz, 1024 МБ оперативной памяти, минимальное свободное пространство на жестком диске 10 Гб, VGA-совместимый дисплей (рекомендуется SVGA-дисплей).
4.3 Описание задачи
Экранные формы приложения приведены в Приложении 2. Формы выходных документов приложения приведены в Приложении 3.
Для загрузки программы следует запустить на выполнение исполняемый файл helpdesk.exe и далее работать с ним в соответствии с данным описанием.
После запуска программы на экране появляется главная кнопочная форма, позволяющая создать новую задачу, а так же отправить её исполнителю по внутренней почте.
Для входа в базу данных необходимо выбрать из списка диспетчера который будет работать с базой (рисунок П2.10). Так же приведен листинг программы П1.1.
Для создания новой задачи следует «Новая задача», после чего появится новая пустая форма, в которой необходимо выбрать из выпадающего списка тип задачи, указать на календаре срок исполнения, по надобности поставить галочки срочная или повторная, выбрать из выпадающего списка приоритет важности задачи с временем на выполнение заявки специалистом. Далее выбирается из списка кабинет и заказчик с возможностью создания новых строк не выходя из формы. Затем выбираем отдел и исполнителя заявки, по надобности пишем комментарий для более точного описания задачи и сохраняем заведенные данные по одной из кнопок «Добавить задание, послать по e-mail», «Добавить задание, без e-mail» (рисунок П2.1 листинг П1.2)
Для редактирования данных справочников исполнителей, заказчиков, задач, кабинетов, подразделений, департаментов, а так же диспетчеров (рисунки П2.3 П2.9) следует выбрать соответствующий пункт меню «Основные справочники» главного меню программы. Далее принципы работы с любой из этих форм одинаковы и соответствуют описанному ниже.
Указанные выше справочники приведены на рисунках П2.3 П2.9.
Для поиска задачи создана специальная форма «Поиск» (рисунок П.2.11) с помощью которой осуществляется вывод нужной информации в отдельной таблице. Поиск производится по любому из пунктов: номер задачи, невыполненые задачи, повторные задачи, дата регистрации, срок исполнения, дата исполнения, тип задачи, заказчик, отдел, исполнитель, приоритет, качество, кабинет. Поиск осуществляется с помощью SQL запросов (листинг П1.3)
4.4 Входные и выходные данные
Входными данными для системы являются:
- Данные поступающие по электронной почте;
- данные поступающие по телефону;
- данные поступающие по АСЭД «Directum»;
Выходными данными для системы являются:
- задача для выполнения спициалистом;
- список специалистов;
- список заказчиков;
- список кабинетов;
- список подразделений;
- отчет по исполнителям;
- отчет по качеству, приоритету и повторности;
Формы выходных документов представлены в Приложении 3.
Документ «Отчет по исполнителям» формируется для любых выбранных исполнителей и содержит данные о задаче дате, сроке исполнения и время когда выполнена задача.
Документ «отчет по качеству, приоритету, повторности» формируется на основе справочника задач, сформированного пользователем, по графам качество, повторность задачи.
ЗАКЛЮЧЕНИЕ
В ходе выполнения дипломного проекта были изучены принципы создания, учета и хранения, а также приема и выполнения задач на обслуживание и ремонт компьютерной техники в БУ ВО «Центр информационных технологий».
В ходе работы были разработаны, созданы и отлажены все компоненты системы и проведена следующая работа:
- описана существующая система обработки информации на предприятии;
- представлены обоснование выбора обеспечивающих технологий и проектных решений по программному и информационному обеспечению;
- продуман пользовательский интерфейс, обозначены возможные пути расширения системы;
- приведена характеристика нормативно-справочной информации, входной оперативной информации, результатной информации, приведена информационная модель и представлено ее описание.
В результате была спроектирована и разработана автоматизированная система планирования HelpDesk для предприятия с развитой инфраструктурой.
В рамках настоящей работы реализованы следующие функции:
- выбор диспетчера заполняющего базу;
- создание новой задачи;
- дополнение справочников из единой формы;
- создание поиска по любому известному из задачи;
- ведение списка специалистов IT-отдела;
- ведение справочника заказчиков;
- ведение истории обслуживания рабочего места;
- формирование следующей отчетности:
- отчет по исполнителям;
- отчет по качеству, приоритету, повторности;
Область применения: разработанная система внедрена в работу предприятия для приема и обработки заказов в диспетчерской службе.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Мишенин, А.И. Теория экономических информационных систем: Учебник А.И. Мишенин. - М. : Финансы и статистика, 2001. - 240 с.
2. Паронжанов, С.А. Объектно-ориентированные средства анализа, проектирования и реинжениринга информационных систем / С.А. Паронжанов -М.: Изд-во Центра информационных технологий, 1996. - 280 с.
3. Липаев, В.В. Управление разработкой программных средств. Методы, стандарты, технология В.В. Липаев М.: Финансы и статистика, 1993. 158 с.
4. Вендров, А.М. CASEтехнологии. Современные методы и средства проектирования информационных систем / А.М. Вендров М.: Финансы и статистика, 2000. 482 с.
5. Дейт К. Дж. Введение в системы баз данных / К. Дж. Дейт М.: Вильямс, 2005. 1328 с.
6. Фуфаев Д.Э. Базы данных / Д.Э. Фуфаев, Э.В. Фуфаев - М.: Академия, 2005. - 320 с.
7. Оскерко В.С. Практикум по технологиям баз данных / В.С. Оскерко, З.В. Пунчик - Мн.: БГЭУ, 2004. - 170 с.
8. Ю. Бекаревич, Н. Пушкина. Самоучитель Microsoft Access 2013, Самоучитель / Ю. Бекаревич, Н. Пушкина.:БХВ-Петербург, 2014.
9. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. - М.: Финансы и статистика, 2000.-350 с.
10. Исаев Г.Н. Проектирование информационных систем. Учебное пособие / Г.Н. Исаев М.: Омега-Л, 2015. - 425 с.
11. Керниган Б., Пайк Р. Практика программирования / Б. Керниган, Р. Пайк. М.: Вильямс, 2015. - 288 с.
12. Коннолли Т., Базы данных: Проектирование, Реализация и сопровождение. Теория и практика / Т. Коннолли, К. Бегг, А. Страчан М.: Вильямс, 2012. - 1093 с.
ПРИЛОЖЕНИЕ 1
Листинг программы П1.1 выбор диспетчера
Private Sub Далее_Click()
Dim rst As DAO.Recordset
Dim SQL As String
Dim dbs As DAO.Database
Set dbs = CurrentDb
NameDisp = Forms![Выбор_диспетчера]!Диспетчер.Value
' закрытие формы
If Not IsNull(NameDisp) Then
SQL = 'SELECT Диспетчер![логин] AS Log, Диспетчер![Пароль] AS pasw, Диспетчер![Почта] AS mail ' & _
'FROM Диспетчер WHERE Диспетчер![ФИО] = ''' & NameDisp & ''''
Set rst = dbs.OpenRecordset(SQL)
log = rst![log]
mail = rst![mail]
pasw = rst![pasw]
DoCmd.Close acForm, 'Выбор_диспетчера', acSaveYes
DoCmd.OpenForm 'задачи(таблица)', acFormDS
Else
MsgBox 'Не выбран диспетчер!'
End If
End Sub
Private Sub Диспетчер_Change()
Dim rst As DAO.Recordset
Dim SQL As String
Dim dbs As DAO.Database
Set dbs = CurrentDb
NameDisp = Forms![Выбор_диспетчера]!Диспетчер.Value
SQL = 'SELECT Диспетчер![логин] AS Log, Диспетчер![Пароль] AS pasw, Диспетчер![Почта] AS mail ' & _
'FROM Диспетчер WHERE Диспетчер![ФИО] = ''' & NameDisp & ''''
Set rst = dbs.OpenRecordset(SQL)
log = rst![log]
mail = rst![mail]
pasw = rst![pasw]
End Sub
Листинг программы П1.2 создание задачи и отправка на E-mail исполнителю
Option Compare Database
Private Sub Exit_Click()
On Error GoTo Err_Exit_Click
If Me.Dirty Then Me.Dirty = False
DoCmd.Close
Exit_Exit_Click:
Exit Sub
Err_Exit_Click:
MsgBox Err.Description
Resume Exit_Exit_Click
End Sub
Private Sub Delete_Click()
On Error GoTo Err_Delete_Click
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
Exit_Delete_Click:
Exit Sub
Err_Delete_Click:
MsgBox Err.Description
Resume Exit_Delete_Click
End Sub
Private Sub Кнопка20_Click()
On Error GoTo Err_Кнопка20_Click
DoCmd.RunCommand acCmdUndo
Exit_Кнопка20_Click:
Exit Sub
Err_Кнопка20_Click:
MsgBox Err.Description
Resume Exit_Кнопка20_Click
End Sub
Private Sub Кнопка21_Click()
On Error GoTo Err_Кнопка21_Click
Screen.PreviousControl.SetFocus
DoCmd.FindNext
Exit_Кнопка21_Click:
Exit Sub
Err_Кнопка21_Click:
MsgBox Err.Description
Resume Exit_Кнопка21_Click
End Sub
Private Sub Кнопка22_Click()
' MsgBox NameDisp
' MsgBox log
Dim oMsg As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody, SQL, email, Task, fio, Phone, AddPhone, Room As String
Dim rst As DAO.Recordset
Dim dbs As DAO.Database
Set dbs = CurrentDb
' получаем данные исполнителя
c = Forms![Задание]!Code.Value
SQL = 'SELECT код_исполнителя AS k, комментарий_диспетчера AS comm FROM задание_исполнитель WHERE (код_задания = ' & Str(c) & ') AND ( дата_закрытия is null)'
Set rst = dbs.OpenRecordset(SQL)
Number = rst![k]
comment = rst![comm]
SQL = 'SELECT Исполнитель![e-mail] AS email FROM Исполнитель WHERE Исполнитель![Код_исполнителя] = ' & Str(Number)
Set rst = dbs.OpenRecordset(SQL)
email = rst![email]
' получаем название задачи
Number = Forms![Задание]!Task.Value
SQL = 'SELECT Задача![Название] AS Task FROM Задача WHERE Задача![Код_задачи] = ' & Str(Number)
Set rst = dbs.OpenRecordset(SQL)
Task = rst![Task]
' получаем ФИО заказчика
Number = Forms![Задание]!Order.Value
SQL = 'SELECT Заказчик![ФИО] AS fio, Заказчик![Кабинет] AS room, Заказчик![Телефон] AS phone, Заказчик![Добавочный телефон] AS AddPhone FROM Заказчик WHERE Заказчик![Код_заказчика] = ' & Str(Number)
Set rst = dbs.OpenRecordset(SQL)
fio = rst![fio]
Room = rst![Room]
Phone = rst![Phone]
AddPhone = rst![AddPhone]
If IsNull(Phone) Then
Phone = '--'
End If
If IsNull(AddPhone) Then
AddPhone = '--'
End If
strB = '<p> Напоминаем, что Вы не выполнили задание №' & Str(c) & ' </p>' & _
'<p> Задача: ' & Task & '</p>' & _
'<p> Кабинет: ' & Room & '</p>' & _
'<p> Заказчик: ' & fio & ' тел.' & Phone & 'добавочный:' & AddPhone & '</p>' & _
'<p> Срок исполнения: ' & Forms![Задание]!exec_time.Value & '</p>' & _
'<p> ' & comment & '</p>' & _
'<p> </p> ' & _
'<p> Просьба ответить на e-mail после выполенения задания и/или в случае задержки выполнения с объяснением ситуации. </p> ' & _
'<p> C уважением, ' & NameDisp & ' </p> '
tit = 'Напоминание о задании ' & Str(c)
SendMail email, tit, strB, ''
' MsgBox 'E-mail Отправлен'
End Sub
Private Sub Кнопка26_Click()
Dim oMsg As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody, SQL, email, Task, fio, Phone, AddPhone, Room As String
Dim rst As DAO.Recordset
Dim dbs As DAO.Database
Set dbs = CurrentDb
' получаем данные исполнителя
c = Forms![Задание]!Code.Value
SQL = 'SELECT код_исполнителя AS k, комментарий_диспетчера AS comm FROM задание_исполнитель WHERE (код_задания = ' & Str(c) & ') AND ( дата_закрытия is null)'
Set rst = dbs.OpenRecordset(SQL)
Number = rst![k]
comment = rst![comm]
SQL = 'SELECT Исполнитель![e-mail] AS email FROM Исполнитель WHERE Исполнитель![Код_исполнителя] = ' & Str(Number)
Set rst = dbs.OpenRecordset(SQL)
email = rst![email]
' получаем название задачи
Number = Forms![Задание]!Task.Value
SQL = 'SELECT Задача![Название] AS Task FROM Задача WHERE Задача![Код_задачи] = ' & Str(Number)
Set rst = dbs.OpenRecordset(SQL)
Task = rst![Task]
' получаем ФИО заказчика
Number = Forms![Задание]!Order.Value
SQL = 'SELECT Заказчик![ФИО] AS fio, Заказчик![Кабинет] AS room, Заказчик![Телефон] AS phone, Заказчик![Добавочный телефон] AS AddPhone FROM Заказчик WHERE Заказчик![Код_заказчика] = ' & Str(Number)
Set rst = dbs.OpenRecordset(SQL)
fio = rst![fio]
Room = rst![Room]
Phone = rst![Phone]
AddPhone = rst![AddPhone]
If IsNull(Phone) Then
Phone = '--'
End If
If IsNull(AddPhone) Then
AddPhone = '--'
End If
'создаем объект Message это наше письмо
strBody = '<p> Задание №' & Str(c) & ' </p>' & _
'<p> Задача: ' & Task & '</p>' & _
'<p> Кабинет: ' & Room & '</p>' & _
'<p> Заказчик: ' & fio & ' тел.' & Phone & 'добавочный:' & AddPhone & '</p>' & _
'<p> Срок исполнения: ' & Forms![Задание]!exec_time.Value & '</p>' & _
'<p> ' & comment & '</p>' & _
'<p> </p> ' & _
'<p> Просьба ответить на e-mail после выполенения задания и/или в случае задержки выполнения с объяснением ситуации. </p> ' & _
'<p> C уважением, ' & NameDisp & ' </p> '
SendMail email, 'Задание ' & Str(c), strBody, ''
' MsgBox strBody
' MsgBox 'E-mail Отправлен'
End Sub
Листинг программы П1.3 Поиск по базе данных
Private Sub Кнопка20_Click()
Dim SQL As String
Dim cod, Task, Orderer, Executor, Executor1 As Integer
Dim Date1, Date2, Date3, Date4, Date5, Date6, Date7 As Date
Dim Flag As Boolean
Dim check As Boolean
cod = Forms![Поиск]!Code
Date1 = Forms![Поиск]!Date1.Value
Date2 = Forms![Поиск]!Date2.Value
Date3 = Forms![Поиск]!Date3.Value
Date4 = Forms![Поиск]!Date4.Value
Date5 = Forms![Поиск]!Date5.Value
Date6 = Forms![Поиск]!Date6.Value
check = Forms![Поиск]!check.Value
room1 = Forms![Поиск]!Room.Value
fl2 = Forms![Поиск]!flag2.Value
pr = Forms![Поиск]!Prior.Value
qu = Forms![Поиск]!Qual.Value
Task = Forms![Поиск]!Task.Value
Orderer = Forms![Поиск]!Orderer.Value
Executor = Forms![Поиск]!Executor.Value
Dep = Forms![Поиск]!Depart.Value
' DoCmd.Close acForm, 'Поиск', acSaveNo
If Not Открыта_форма('задачи(таблица)') Then
DoCmd.OpenForm 'задачи(таблица)', acFormDS
End If
SelectSQL = 'SELECT DISTINCT * FROM Общий1'
If Not IsNull(cod) Or Not IsNull(Date1) Or Not IsNull(Date2) Or Not IsNull(Date3) _
Or Not IsNull(Date4) Or Not IsNull(Date5) Or Not IsNull(Date6) Or _
Not IsNull(Task) Or Not IsNull(Executor) Or Not IsNull(Orderer) Or check _
Or fl2 Or Not IsNull(pr) Or Not IsNull(qu) Or Not IsNull(Room) Then _
WHERESQL = ' WHERE '
Flag = False
If Not IsNull(cod) Then
WHERESQL = WHERESQL & '(задание.код_задания = ' & Str(cod) & ')'
Flag = True
End If
If Not IsNull(Date1) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
If Not IsNull(Date1) And Not IsNull(Date2) Then
WHERESQL = WHERESQL & '(Задание.Дата_время Between #' & Format(Date1, 'mm/dd/yy hh:mm:ss') & '# AND #' & Format(Date2, 'mm/dd/yy hh:mm:ss') & '#)'
Else
WHERESQL = WHERESQL & '(Задание.Дата_время >= #' & Format(Date1, 'mm/dd/yy') & '#)'
End If
Flag = True
End If
If Not IsNull(Date3) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
If Not IsNull(Date3) And Not IsNull(Date4) Then
WHERESQL = WHERESQL & '(Задание.Срок_исполнения Between #' & Format(Date3, 'mm/dd/yy hh:mm:ss') & '# AND #' & Format(Date4, 'mm/dd/yy hh:mm:ss') & '#)'
Else
WHERESQL = WHERESQL & '(Задание.Срок_исполнения >= #' & Format(Date3, 'mm/dd/yy hh:mm:ss') & '#)'
End If
Flag = True
End If
If Not IsNull(Date5) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
If Not IsNull(Date5) And Not IsNull(Date6) Then
WHERESQL = WHERESQL & '(Задание_исполнитель.Дата_закрытия Between #' & Format(Date5, 'mm/dd/yy hh:mm:ss') & '# AND #' & Format(Date6, 'mm/dd/yy hh:mm:ss') & '#)'
Else
WHERESQL = WHERESQL & '(Задание_исполнитель.Дата_закрытия >= #' & Format(Date5, 'mm/dd/yy hh:mm:ss') & '#)'
Flag = True
End If
End If
If Not IsNull(Task) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( Задание.код_задачи = ' & Str(Task) & ' )'
Flag = True
End If
If Not IsNull(Orderer) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( Задание.код_заказчика = ' & Str(Orderer) & ' )'
Flag = True
End If
If Not IsNull(Executor) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( Задание_исполнитель.код_исполнителя = ' & Str(Executor) & ' )'
Flag = True
ElseIf Not IsNull(Dep) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( Код_отдела = ' & Str(Dep) & ' )'
Flag = True
End If
If check Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( Задание_исполнитель.дата_закрытия is null )'
Flag = True
End If
If fl2 Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( Задание.дополнительная = true )'
Flag = True
End If
If Not IsNull(pr) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( приоритет = ''' & pr & ''' )'
Flag = True
End If
If Not IsNull(room1) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( кабинет = ''' & room1 & ''' )'
Flag = True
End If
If Not IsNull(qu) Then
If Flag Then
WHERESQL = WHERESQL & ' AND '
End If
WHERESQL = WHERESQL & '( качество = ''' & qu & ''' )'
Flag = True
End If
End If
SQL = SelectSQL & WHERESQL
' MsgBox SQL
Forms![Задачи(таблица)].Form.RecordSource = SQL
End Sub
ПРИЛОЖЕНИЕ 2
Экранные формы
Рисунок П2.1 Главная форма создание новой задачи
Рисунок П2.2 Справочник задач
Рисунок П2.3 справочник исполнителей
Рисунок П2.4 справочник заказчиков
Рисунок П2.5 справочник задач
Рисунок П2.6 Справочник кабинетов заказчиков
Рисунок П2.7 Справочник подразделений
Рисунок П2.8 Справочник департаментов
Рисунок П2.9 Справочник диспетчеров
Рисунок П2.10 выбор диспетчера
Рисунок П2.11 Поиск
Рисунок П2.12 форма для создания отчета по выбранному исполнителю
Рисунок П2.13 форма для создания отчета по качеству и приоритету
ПРИЛОЖЕНИЕ 3
формы выходных документов
Рисунок П3.1 отчет по исполнителям