Федеральное агентство связи
Федеральное государственное образовательное бюджетное учреждение высшего
профессионального образования
«Сибирский государственный университет телекоммуникаций и информатики»
(СибГУТИ)
Кафедра
|
ПМ и К
|
|
|
Допустить к защите
|
зав. кафедрой
|
Фионов А. Н.
|
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА
Разработка системы автоматического приема и обработки заявок
|
|
|
Пояснительная записка
Студент:
|
|
/
|
Савин А. С.
|
/
|
|
|
|
|
|
Факультет:
|
ИВТ
|
группа:
|
ПБВ-41
|
|
|
|
|
|
|
Руководитель:
|
|
/
|
Перцев И. В.
|
/
|
Новосибирск 2016 г.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 4
1Постановка задачи 5
2Необходимые теоретические сведения и используемое программное обеспечение. 6
2.1Системы управления базами данных 6
2.2Язык структурированных запросов SQL 8
3Организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных. 9
4Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими. 9
5Обработка данных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные. 9
6Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа. 9
7Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу. 9
8Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы. 10
9Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД. 10
9.2Язык PHP 10
9.3Выбор СУБД 15
9.4Microsoft SQL Server 16
9.5ISS 19
9.6JavaScript. Библиотека Ext JS 22
10Этапы проектирования 25
10.1Описание разрабатываемого продукта 25
10.2Логическое проектирование системы 25
10.3Физическое проектирование системы 29
11Таблица ПОЛЬЗОВАТЕЛИ: идентификатор пользователя. 30
12Таблица МОНИТОР ЗАЯВОК: идентификатор пользователя. 30
13Таблица ЗАЯВКИ: идентификатор заявки. 30
14Таблица ДЕЙСТВИЯ: идентификатор заявки. 30
15Таблица КЛИЕНТЫ: в качестве идентификатора e-mail клиента. 30
15.1Интерфейс пользователя 32
16 Руководство пользователя 40
16.1Установка компонентов 40
16.2Настройка системы 49
16.3Описание интерфейса. 52
16.4Функция ручной регистрации заявки. 55
16.5Функция обработки заявки 56
16.6Функция просмотра очереди заявок и установки приоритета 57
16.7 Функция поиска. 58
ЗАКЛЮЧЕНИЕ 59
ПРИЛОЖЕНИЕ 60
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 93
17Джордж Шлосснейгл. Профессиональное программирование на PHP. Вильямс. – М: Вильямс, 2006. – 624с. 93
18Уильям Стейнмец, Брайан Вард. 75 готовых решений для вашего web-сайта на РНР. – М:Наука и Техника, 2009. – 256с. 93
19Тим Конверс, Джойс Парк и Кларк Морган. PHP 5 и MySQL. Библия пользователя. - М: Вильямс, 2006. – 1219с. 93
20Линн Бейли, Изучаем SQL. –Спб: Питер, 2011. -286с. 93
21Ольга Ефремова. Охрана труда. Справочник специалиста. -М: Альфа-Пресс, 2011. -800с. 93
22http://www.php.su/ [Электронный ресурс] 93
23http://www.sitescript.ru/ [Электронный ресурс] 93
24http://www.microsoft.com/ [Электронный ресурс] 93
25http://www.oracle.com [Электронный ресурс] 93
ВВЕДЕНИЕ
Развитие средств вычислительной техники обеспечило возможности для создания и широкого использования систем обработки данных разнообразного назначения.
Стремительная информатизация современного общества, автоматизация технологических процессов, нарастание использования вычислительной техники, средств связи и различных коммуникаций ставит перед человеком целый комплекс взаимосвязанных задач по повышению эффективности процессов, принятия и выполнения решений.
На сегодншний день, без применения автоматизированных информационных систем невозможно представить себе ни один процесс деятельности человека, а тем более деятельность компаний, ведение бизнеса, где приходится обрабатывать огромные потоки данных, стандартизировать и структурировать их обработку, делать это оперативно и точно.
Большинство предприятий, занятых в сфере обслуживания и не только, существуют в условиях жёсткой конкуренции. И одним из важных направлений административной деятельности любой организации является повышение ее конкурентоспособности.
Большая часть публикаций, посвящённых практическим рекомендациям о путях повышения конкурентоспособности предприятия отмечает, что главной задачей является работа с клиентами, целью которой является удержание клиентов. С другой стороны, постоянно нарастающий поток информации и сокращение времени на его обработку усложняет эту задачу. Как никогда остро стоит проблема автоматизации какой-либо осознанной деятельности работника.
Создание современной программной системы – весьма трудоемкая задача: обычный размер ПО превышает сотни тысяч операторов. Для эффективного создания подобных программных продуктов специалист должен иметь представление о методах анализа, проектирования, реализации и тестирования программных систем; ориентироваться в существующих подходах и технологиях.
Целью данной работы и является создание инструмента, обеспечивающего обработку достаточно большого потока обращений клиентов, причем делать это оперативно и качественно. Разработанное программное средство позволит осуществлять одновременную безошибочную обработку одного потока данных несколькими специалистами, а так же сохранять все обращения и клиентов в базу данных, отправлять почтовые сообщения сразу прямо из программы, что может значительно повысить удобство работы и производительность труда.
сотруднику изменять результаты запроса (сортировка, фильтрация) без написания команд SQL, что может значительно повысить удобство работы и производительность труда.
1Постановка задачи
Создание инструмента, обеспечивающего обработку достаточно большого потока обращений клиентов, причем делать это оперативно и качественно, распределяя поступающие потоки на всех специалистов.
С точки зрения функциональных характеристик выделяются следующие требования:
регистрация обращения клиента в системе;
регистрация специалиста в системе;
параллельная последовательная (методом FIFO) обработка обращений;
возможность назначения приоритета обращениям;
ответ клиенту по его обращению из системы.
2Необходимые теоретические сведения и используемое программное обеспечение.
2.1Системы управления базами данных
Важнейшая задача компьютерных систем управления - хранение и обработка данных. Для ее решения было создано специализированное программное обеспечение - системы управления базами данных (СУБД), которые позволяют структурировать, систематизировать и организовывать данные для их компьютерного хранения и обработки. Невозможно представить себе деятельность современного предприятия или учреждения без использования профессиональных СУБД. Они составляют фундамент информационной деятельности во всех сферах - начиная с производства и заканчивая финансами и телекоммуникациями.
2.1.1История развития СУБД
В процессе развития систем управления базами данных можно выделить три основных этапа. Первый этап был связан с разработкой первого поколения СУБД, которое опиралось на иерархическую и сетевую модели данных. СУБД первого поколения были в большинстве закрытыми системами: у них отсутствовал стандарт внешних интерфейсов, не обеспечивалась переносимость прикладных программ. Они не были наделены средствами автоматизации программирования и имели множество других недостатков, оцениваемых с точки зрения современных требований к СУБД. Кроме того, их цена была довольно высока.
Однако, время СУБД первого поколения оказалось весьма долговечными: разработанное на их основе программное обеспечение можно встретить и сегодня.
С созданием реляционной модели данных был начат новый переод в эволюции СУБД. Простота и гибкость модели привлекли к ней внимание разработчиков и снискали ей множество сторонников. Невзирая на некоторые недостатки, реляционная модель данных стала доминирующей. Условно эту группу систем можно назвать «вторым поколением СУБД». Ее определяли две главные особенности - реляционная модель данных и язык запросов SQL. Представители этого поколения в настоящее время все еще сохраняют определенную популярность среди производителей СУБД, в большинстве своем развившись в системы третьего поколения, к которому и относятся современные СУБД.
Для них характерны использование идей объектно-ориентированного подхода, управления распределенными базами данных, активного сервера БД, языков программирования четвертого поколения, фрагментации и параллельной обработки запросов, технологии тиражирования данных и других революционных достижений в области обработки данных. СУБД третьего поколения - это сложные многофункциональные программные системы, функционирующие в открытой распределенной среде. На сегодняшний день они уже доступны для использования в деловой сфере, то есть они выступают не просто в качестве технических и научных решений, а как завершенные продукты, предоставляющие разработчикам мощные средства управления данными и богатый инструментарий для создания прикладных программ и систем.
Общая тенденция движения от отдельных mainframe-систем к открытым распределенным системам, объединяющим компьютеры среднего класса, получила название DownSizing. Этот процесс оказал большое влияние на развитие архитектур СУБД и поставил перед их разработчиками ряд сложных проблем. Главная проблема состояла в технологической сложности перехода от централизованного управления данными на одном компьютере к распределенной обработке данных в вычислительной среде, состоящей из соединенных в глобальную сеть компьютеров различных моделей и производителей.
В то же время происходил встречный процесс - UpSizing. Бурное развитие персональных компьютеров, появление локальных сетей также оказали серьезное влияние на эволюцию СУБД. Высокие темпы роста производительности и функциональных возможностей PC привлекли внимание разработчиков профессиональных СУБД, что привело к их активному распространению на платформе настольных систем.
Сегодня возобладала тенденция создания информационных систем на такой платформе, которая точно соответствовала бы ее масштабам и задачам. Она получила название RightSizing (помещение ровно в тот размер, который необходим).
Однако и по нынешнее время большие ЭВМ сохраняются и сосуществуют с современными открытыми системами. В свое время в аппаратное и программное обеспечение больших ЭВМ были вложены огромные средства: в результате многие продолжают их использовать, несмотря на морально устаревшую архитектуру. В то же время перенос данных и программ с больших ЭВМ на компьютеры нового поколения представляет сам по себе сложную техническую проблему и требует значительных затрат.
2.1.2Виды СУБД
В качестве основных классификационных признаков СУБД можно использовать следующие: вид программы, характер использования, модель данных. Названные признаки существенно влияют на целевой выбор СУБД и эффективность использования разрабатываемой информационной системы. Остановимся на классификации по характеру использования. В соответствии с этим признаком СУБД делят на персональные и многопользовательские.
Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др.
Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle, MySQL и Informix.
Представление о СУБД сложилось у большинства отечественных пользователей на основе опыта использования систем на платформе персональных компьютеров (например, Paradox). Причины этого можно видеть, как в широком распространении персональных компьютеров, так и в относительной простоте и легкости изучения и освоения самих СУБД. Свою роль сыграли и практически неограниченные возможности нелегального копирования программного обеспечения.
Начало активного использования персональных СУБД в нашей стране по времени совпадает с началом бума персональных компьютеров (1986-87 гг.). За это время на их основе создано множество программ и выросло целое поколение разработчиков, ориентированных на них в своей профессиональной деятельности. Широкое распространение получили представления о том, что персональный компьютер (и его программное обеспечение, в том числе и СУБД) представляет собой универсальное средство автоматизации, пригодное для использования в любых сферах человеческой деятельности, от самых простых до самых сложных.
Эти представления объясняются общей низкой технологической культурой в сфере информатизации и психологическими факторами (тенденция к упрощению). Широкое распространение персональных СУБД отвлекло внимание пользователей от СУБД более высокого класса. Это - многопользовательские профессиональные СУБД, которые и были изначально ориентированы на решения сложных технологических проблем, возникающих в большинстве средних и крупных предприятий и учреждений.
В итоге возникла ситуация, когда персональные СУБД используются для автоматизации таких задач (например, в финансовой сфере), которые априори требуют инструментальных средств с иным набором функциональных возможностей.
Но затем большая часть средних и крупных государственных и коммерческих организаций постепенно стало отказываться от использования только персональных компьютеров и начинать всерьез задумываться о создании действительно открытых и распределенных информационных систем на мощной компьютерной платформе.
Однако, сам по себе переход к многопользовательским СУБД - это не просто освоение новой системы. Он представляет собой качественный технологический скачек, требующий не только чисто технических, но и административных, кадровых, финансовых и других решений. Один из ключевых вопросов такого перехода, - какими критериями руководствоваться при выборе профессиональной СУБД в качестве основы для создания информационной системы современной организации, осознавая тот факт, что такой выбор определяет перспективы ее деятельности не на один - два года, но на срок в 10-15 лет и более лет.
2.2Язык структурированных запросов SQL
Стоит заметить, что хранящиеся данные в цифровой форме сами по себе не представляют интерес для пользователя, если отсутствуют средства доступа к ним. Доступ к данным осуществляется в виде запросов к базе данных, которые формулируются на стандартном языке запросов.
Мир баз данных становится все более и более единым, что привело к необходимости создания стандартизированного языка, который мог бы функционировать в большенстве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их чтобы создавать, отыскивать, изменять, и передавать информацию независимо от того работают ли они на персональном компьютере, сетевой рабочей станции, или сервере. Во все более и более взаимосвязанном компьютерном мире, пользователь, снабжённый таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.
На основе реляционной модели были разработаны различные языки для доступа к реляционным данным. Фактическим промышленным стандартом в настоящее время стал язык SQL (Structured Query Language - язык структурированных запросов).
2.2.1Назначение и принцип работы SQL
SQL это не язык программирования в традиционном представлении. На нем пишутся запросы к базе данных, а не программы. Поэтому SQL - декларативный язык. Это значит, что с его помощью можно сформулировать, что необходимо получить, но при этом нельзя указать, как это следует сделать. SQL взаимодействет только с базами данных реляционного типа.
Опишем в обшем процесс взаимодействия SQL с базой данных. Пусть в вычислительной системе имеется база данных, в которой находится важная информация. Если необходимо прочитать данные из базы данных, пользователь запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и отправляет их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных, что отражается в его названии - структурированный язык запросов.
Остановимся на основных моментах, характеризующих удобство применения SQL:
3Организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных.
4Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.
5Обработка данных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.
6Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.
7Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу.
8Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
9Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.
9.1.1Запрос на языке SQL
Запрос – это команда, которая дается прикладной программе базы данных, и сообщает ей, чтобы она вывела определенную информацию из таблиц в память. Выводится эта информация обычно непосредственно на экран компьютера, хотя ее можно также отправить на печать либо сохранить в файле (как объект в памяти компьютера), а также представить, как входную информацию для другой команды или процесса.
Одна из наиболее важных особенностей запросов SQL - это их способность определять связи между различными таблицами и выводить информацию из них в терминах этих связей, всю внутри одной команды. Этот вид операции называется объединением, которое является одним из видов операций в реляционных базах данных.
Используя объединения, мы непосредственно связываем информацию с любым номером таблицы, и тем самым способны создавать связи между сравнимыми фрагментами данных. При объединении таблицы, представленные списком в предложении FROM запроса, отделяются запятыми. Предикат запроса может ссылаться к любому столбцу любой связанной таблицы и, следовательно, может быть использован для связи между ними.
9.2Язык PHP
Язык PHP (Personal HyperText Processor) – это язык программирования, используемый на стороне WEB-сервера для динамической генерации HTML-страниц. PHP входит в число немногих языков программирования, предназначенных для разработки веб-приложений. Поэтому он включает в себя все необходимые функции именно для работы на стороне веб-сервера, и при этом он лишен избыточности.
Одна из приятных особенностей PHP - то, что его команды можно включають с помощью специальных тегов в обычные HTML-страницы, которые и заставляют PHP-машину выполнять на сервере заданные действия. Программам на PHP не нужны специальные CGI-директории с особыми правами доступа. Более того, на одной странице можно произвольно чередовать HTML и PHP-код.
PHP не зависит от платформы. PHP прекрасно интегрируется во все популярные веб-серверы: Apacce и Microsoft IIS (Internet Information Server), Nginx и др., работает под Windows, MacOS и практически всеми UNIX-подобными системами. Как следствие - PHP работает практически у всех хостеров, разрешающих собственные выполняемые скрипты.
Еще одна замечательная особенность PHP - его интегрированность практически со всеми современными интернет-технологиями. PHP поддерживает большинство современных веб-протоколов: IMAP, FTP, POP, XML, SNMP и другие. PHP прекрасно работает с базами данных. Трудно найти СУБД, поддержка которой не была бы реализована в PHP. MySQL и MS SQL Server, PostgreSQL и Oracle, Sybase и Interbase и другие.
PHP содержит большое количество встроенных функций: обработки строк и массивов, работы с файловой системой и с HTTP, электронной почтой, датой и временем, кириллицей и другими национальными алфавитами. Многие алгоритмы, требующие в большинстве языков написания программного кода размером в несколько экранов, реализуются на PHP одной командой (точнее, вызовом одной функции).
Современные тенденции развития языков программирования затронули и PHP. Средства объектно-ориентированного программирования появились еще в PHP3. А в объектной модели PHP4 в полном объеме реализованы классические понятия объектно-ориентированного программирования:
наследование;
инкапсуляция;
полиморфизм.
Все вышеизложенное сделало PHP одним из самых популярных языков веб-программирования и повсеместное использование. Стоит отметить, что в настоящее время, конечно, есть и другие альтернативные и перспективные языки программирования для WEB, к примеру: Python, Ruby, Perl, JSP (Java Server Pages), ASP (Active Server Pages).
В данной работе для разработки программного обеспечения был выбран язык PHP.
9.2.1Возможности
В нескольких словах – на PHP можно сделать все, что можно сделать с помощью CGI–программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать cookies (небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя).
Кроме этого в PHP включена поддержка многих баз данных, что делает написание Web-приложений с использованием БД совершенно не сложным.
Перечень некоторых поддерживаемых БД представлен ниже:
MySQL;
MySQLi;
SQLite;
PostgreSQL;
Oracle (OCI8);
Oracle;
Microsoft SQL Server;
Sybase;
ODBC;
dBase;
mSQL;
IBM DB2;
Informix;
Ovrimos SQL;
Lotus Notes;
DB++;
DBM;
Cloudscape;
MaxDB;
DBX;
FrontBase;
FilePro;
Ingres II;
SESAM;
Firebird/InterBase;
Paradox File Access;
Apache Derby.
9.2.2Обоснование выбора
Разработчикам Web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Интернет страницы (и другое ПО на основе WEB технологий) должны поддерживать некоторый уровень интерактивности с пользователем:
поиск информации;
продажа;
взаимодейсвтие и т.п.
Традиционно все это реализовалось CGI-скриптами, написанными на Perl. Но CGI- скрипты очень плохо масштабируемы. Каждый новый вызов CGI, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант – он работает как часть Web-сервера, и этим самым похож на ASP от Microsoft.
Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием на этих языках, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.
Программы, написанные на PHP, достаточно легкочитаемы. Написанный PHP – код легко зрительно прочитать и понять, в отличие от Perl-программ.
9.2.3Недостатки
Так как PHP является интерпретируемым языком, он не может сравниться по скорости с компилируемым С. Но при написании небольших программ, что, в общем-то, характерно для проектов на PHP, когда весь проект состоит из большого числа небольших страниц с кодом, вступают в силу накладные расходы на загрузку в память и вызов CGI-программы, написанной на С.
PHP не может похвастаться большой базой готовых модулей, как, например, СPAN у Perl. С этим сейчас ничего нельзя поделать – это дело времени. В PHP 4 разработчики предусмотрели специальный репозиторий PEAR, аналогичный CPAN, его наполнение пока, не слишком обширно, но со временем для него будет написано достаточное количество модулей.
9.2.4Примеры использования
Ниже показано как в PHP легко обрабатывать данные с HTML, на примере создания простой HTML файл.
Хотите узнать больше?
|