Читайте также:
|
|
Содержание
Введение. 5
1 Исследовательский раздел. 7
1.1 Анализ существующих форматов представления данных. 7
1.2. Обоснование выбора программно-аппаратных средств. 13
1.2.1 Технология SQL – выбор СУБД.. 13
1.2.2 Выбор языка программирования – PHP. 18
1.2.3 Выбор среды программирования – Фреймворк CodeIgniter 21
1.3 Развернутое техническое задание. 22
1.3.1 Общие сведения. 22
1.3.2 Назначение программы.. 22
Состав работ проектирования программного модуля. 23
1.3.4 Требования к программе или программному изделию.. 24
1.3.4.1 Требования к функциональным характеристикам.. 24
1.3.4.2 Исходные данные. 24
1.3.4.3 Организация входных и выходных данных. 25
1.3.4.4 Требования к надежности. 25
1.3.4.5 Требования к составу и параметрам технических средств. 25
1.3.4.6 Требования к программной совместимости. 26
1.3.5 Требования к программной документации. 26
2 Специальный раздел. 27
2.1 Разработка структурной схемы программы.. 27
2.2 Разработка структуры базы данных программы.. 30
2.3 Разработка модели информационных потоков базы данных. 34
2.4 Разработка алгоритмического обеспечения. 36
2.5 Разработка интерфейса программы.. 39
3 Технологический раздел. 44
3.1 Технология разработки программы.. 44
3.1.1 Создание веб-страниц с помощью языка HTML.. 44
3.1.2 Основы работы web-сервера. 45
3.1.3 Объектно-ориентированный подход к программированию на PHP. 46
3.1.5 Инструментарий совместной разработки Subversion. 50
3.1.6 Интегрированная среда разработки Zend Studio. 51
3.2 Технология тестирования программы.. 51
3.2.1 Отладка кода с помощью Zend Debugger 58
3.2.2 Автоматизированное тестирование программы – SimpleTest 60
4 Безопасность жизнедеятельности. 64
4.1 Анализ опасных и вредных факторов, возникающих при работе на ПЭВМ... 64
4.1.1 Физиологические опасные и вредные факторы, действующие на операторов ПЭВМ... 64
4.1.2 Психофизиологические опасные и вредные факторы.. 65
4.2 Разработка технических, организационных и профилактических мероприятий по каждому опасному и вредному фактору. 66
4.2.1 Организация рабочего места оператора ЭВМ. Профилактика СДСН.. 66
4.2.2 Эргономика дисплея. Профилактика СДЗН.. 68
4.2.3 Эргономика устройств ввода информации. Профилактика СЗКП.. 70
4.2.4 Оптимальный режим работы. Профилактика СДПН.. 72
4.2.5 Контроль микроклимата в помещениях оборудованных ПЭВМ. Профилактика СНИК.. 73
4.3 Экологическая оценка и переработка (утилизация) материалов используемых в помещениях, где установлена компьютерная техника. 75
4.3.1 Утилизация и переработка ртути в люминесцентных лампах. 77
5 Экономическая часть. 80
5.1 Планирование разработки автоматизированной системы с построением графика выполнения работ 80
5.1.1 Определение этапов и работ по созданию программного средства. 80
5.1.2 Расчет трудоемкости и продолжительности работ. 82
5.1.3 Построение графика разработки программного продукта. 85
5.2 Расчет затрат на разработку. 87
5.2.1 Расчет затрат на разработку программного продукта. 87
5.3 Расчет основных технико-экономических показателей и эффективности использования программного продукта. 91
5.3.1 Оценка экономической эффективности проекта. 97
Заключение. 102
Список использованных источников. 104
Приложение A. Исходный код программы с комментариями. 106
Приложение Б. Графический материал. 115
Введение Разработанная программа является программным средством для реализации учета, контроля, анализа и оптимизации учебных материалов на кафедре ИТ-4. Необходимо было создать гибкую систему, позволяющую легко адаптироваться к нуждам кафедры, а так же которая легко могла бы быть интегрирована в уже существующую инфраструктуру кафедры. Программа разработана для работы с базой данных MySQL. Информационный модуль работы с базой данных написан на языке программирования PHP с использованием Фреймворка CodeIgniter. Цель программы - обеспечить персонал кафедры комплексным и качественным программным продуктом для работы как с уже имеющимися базами данных учебных материалов, так и для внесения и учета новых поступлений. Таким образом, тема данного дипломного проекта направлена на решение конкретных производственных задач, и поэтому является актуальной. Программа работы с базой данных, роль которых выполняет сервер MySQL, написана на языке программирования PHP с использованием Фреймворка CodeIgniter, благодаря этому мы имеем высокую скорость доступа к необходимой информации, эргономичный просто настраиваемый (в том числе и индивидуально) интерфейс, легко интегрируемый в уже существующие веб-приложения. С клиентской стороны доступ осуществляется с помощью веб - интерфейса без установки дополнительного ПО, посредством любого интернет браузера последнего поколения. | ||||||||||
ДП - 2068757 - 23.01.01 – ИТ4 - 19 – 2009 | ||||||||||
Изм | Лист | N док | Подпись | Дата | ||||||
Студент | Романов А.В. | Программа управления базой | Лит. | Лист | Листов | |||||
Руководитель | Халабия Р.Ф. | данных учебных материалов | У | |||||||
Консультант | Халабия Р.Ф. | |||||||||
Н. Контролер | Степанова Т.А. | ИТ - 4 – 02 - 01 | ||||||||
Зав. Кафедрой | Михайлов Б.М. | |||||||||
Это поможет осуществить доступ к данным с любого компьютера, имеющего выход в одну сеть с сервером а так же, при желании, извне.
Роль сервера может выполнять любой компьютер, подключенный к сети, на котором будет установлена данная программа, MySQL-сервер (хотя он может располагаться и на любом другом сервере сети), а так же веб сервер (Apache, IIS и т.п.), надобности в дополнительном обслуживании и аппаратном оборудовании нет
В программе предусмотрена возможность аутентификации, что обеспечивает безопасность на уровне доступа к информации, доступ к серверу возложен на ПО сервера.
При разработке программного продукта значительное время разработчик ПО проводит непосредственно на рабочем месте на ПЭВМ. При этом предусматривается проведение анализа опасных и вредных факторов и возможных чрезвычайных ситуаций при работе на ПЭВМ; экологической оценки материалов, используемых в помещениях, где установлена компьютерная техника, и комплекс мероприятий по устранению с опасных и вредных факторов.
Так же предусматривается рассмотрение экологических вопросов, связанных с необходимостью утилизации и переработки (утилизации) материалов используемых в помещениях, где установлена компьютерная техника, в частности рассмотрен процесс утилизации ртути в люминесцентных лампах.
В экономическом разделе определяется трудоемкость и затраты на создание проекта, а также производится расчет экономического эффекта, который может быть получен от применения разрабатываемого ПО.
Исследовательский раздел
В данном разделе проводится исследование предметной области проекта, ознакомление с существующими разработками в данной области. Выбор и обоснование использования аппаратно-программных средств, используемых для разработки и внедрения проекта, а также построение технического задания для данного проекта.
Анализ существующих форматов представления данных
Фактически данный проект тесно связан с тематикой создания электронных Интернет библиотек. Скачкообразное развитие Интернета в последние годы привело к информационному взрыву — явлению, хорошо знакомому не только специалистам, но и простым пользователям всемирной Сети. Формирующаяся на глазах нынешнего поколения система электронных информационных коммуникаций кардинально меняет ситуацию в сфере сбора, хранения и обработки данных. В обобщенном виде такие подходы к стандартизации информации сегодня трактуются как создание «цифровых» или «электронных» библиотек и полнотекстовых баз данных[1.1].
В общем случае под электронной библиотекой или полнотекстовой базой данных понимается распределенная информационная система, позволяющая накапливать, хранить и использовать разнообразные коллекции электронных документов. Сегодня на смену информационному обслуживанию на печатных носителях пришло обеспечение пользователей на основе доступа к электронным документам через глобальную сеть передачи данных - Интернет.
Несомненно, что эпоха, когда основной объем знаний человечества хранился только на печатных носителях, подходит к концу. Это объясняется такими недостатками бумажных изданий как невозможность содержать в себе все виды данных, включая анимацию, звук и видео, высокая стоимость их производства и распространения, быстрая устареваемость и невозможность быстро актуализировать материал. Постепенно все эти факторы приводят к тому, что печатные издания по сравнению с электронными ресурсами на нетрадиционных носителях становятся мало пригодными для использования. Среди последних, большой интерес вызывают полнотекстовые электронные ресурсы– цифровые коллекции виртуальных библиотек и баз данных. Предмет такого интереса
заключается в том, что для постоянных пользователей Интернета электронные библиотеки и полнотекстовые базы данных могут дать разнообразные поисковые средства, позволяющие более точно найти искомый материал, более эффективный выход на вновь созданное знание, доступ к мультимедийным ресурсам.
Для начала попытаемся найти определение библиотеки вообще.
Библиотека (от греч. biblion - книга и...тека), учреждение культуры, организующее сбор, хранение, общественное пользование произведений печати [1.2].
Все библиотеки можно условно разделить на 3 типа:
Аналоговая (бумажная) библиотека, то есть классическая или традиционная библиотека с карточными каталогами. Если рассматривать такую библиотеку как БД – то она полностью соответствует картотечной БД. Картотека может быть внесена в электронную базу данных. В отличие от базы данных, картотека состоит, как правило, из одного единственного собрания идентичных по структуре карт. Электронным аналогом картотеки является таблица базы данных. Одна карта соответствует одной строке электронной таблицы.
Автоматизированная (гибридная) библиотека, то есть аналоговая библиотека, имеющая компьютерный электронный каталог.
Электронная (цифровая, виртуальная) библиотека, то есть автоматизированная библиотека, в которой значительная часть информации находится в электронном формате.
Однако и электронные БД могут быть построены по различным принципам, и содержать информацию в различном представлении. Так в большинстве своем по типу представления информации они могут разделяться на:
а) Текстовые базы данных - базы данных, записи в которых содержат (главным образом) текст на естественном языке, могут подразделятся на:
1) Полнотекстовые базы данных - текстовые базы, содержащие полные тексты документов или их частей.
2) Гипертекстовые - текстовые базы данных, записи в которых содержат связи с другими записями, позволяющими компоновать ансамбли записей на основе их логической связанности.
3) Численно-текстовые базы данных - базы данных, содержащие числовые данные (или только численные) и текстовую информацию.
б) Логические базы данных – базы данных, построенные на полях, которые принимают два значения: «да» - «нет» или «истина» - «ложь».
По характеру хранимой информации БД можно классифицировать:
· фактографические – картотеки;
· документальные – архивы.
По способу хранения данных БД можно классифицировать:
· централизованные - хранятся на одном компьютере);
· распределенные - используются в локальных и глобальных компьютерных сетях.
По структуре организации данных БД можно классифицировать:
· табличные (реляционные) базы данных, основанная на реляционной модели. Слово «реляционный» происходит от английского «relation» (отношение);
· иерархические базы данныхсостоят из объектов с указателями от родительских объектов к потомкам, соединяя вместе связанную информацию.Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д.;
· объектно-ориентированные - базы данных, в которых данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями.
· сетевые – такие базы данных в структуре каждый элемент может быть связан с любым другим элементом. Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.
Несмотря на то, что эта модель решает некоторые проблемы, связанные с иерархической моделью, выполнение простых запросов остается достаточно сложным процессом.
На примере Научно-Технической Библиотеки МГУПИ мы можем наблюдать процесс перехода от одного типа к другому. Состоялся переход от карточного каталога к электронному, и уже начался перевод бумажных материалов в электронный вид, однако, т.к. фонд библиотеки огромен, на это понадобится несколько лет, и пока большинство информации находится в «бумажном» виде, библиотеку следует относить ко второму типу. Положение затрудняется еще и тем фактом, что материалы разных кафедр Университета, уже находящиеся в электронном виде никак не объединены между собой.
Очередной проблемой является формат представления учебных материалов в базе данных. На данный период времени существует масса форматов, в которых хранятся учебные материалы. Начиная от простейших текстовых файлов в.txt и.doc форматах, заканчивая такими форматами как.pdf,.djvu и даже.jpg. Поэтому внести в «чистом» виде эти материалы в базу данных невозможно. То есть, полнотекстовую базу данных создать на данном этапе не получится, в связи с тем, что конвертирование файлов, имеющих графическую основу, связано с эвристическим программным анализом текстов, для его «распознавания» и сохранения в текстовом формате. Подобные проблемы возникают и при сканировании бумажных эквивалентов учебников, методических пособий и руководств. Программы, способные сразу, четко и без ошибок «распознать» отсканированное изображение, к сожалению пока не созданы. После процесса распознавания требуется длительная правка, и контроль полученного результата со стороны оператора ПК.
Еще одной проблемой становится значительное содержание в учебных материалах разнообразных научных формул, схем, таблиц, графиков, чертежей, диаграмм и прочих иллюстрационных материалов, которые попросту не могут быть представлены в текстовом виде.
Таким образом, придется пожертвовать преимуществами полнотекстовой БД, как-то удобство поиска по содержанию книги, возможность простой правки текстов, внесения изменений в различные редакции.
Мною рассматривается реляционная гипертекстовая БД, которая в своих таблицах содержит только подробное описание учебного материала со ссылками на файлы, в имеющихся форматах, хранимых отдельно.
На данный момент на кафедре ИТ-4 МГУПИ все учебные материалы, представленные в электронном виде, хранятся в 5 основных форматах:
DOC или.doc (от англ. document) — расширение имени файла, используемое для файлов, представляющих текст, с разметкой или без.
Расширение.DOC часто использовалось для обозначения простых текстовых файлов без форматирования, однако позже стало использоваться для двоичных форматов с разметкой. Может содержать в себе как текстовую, так и графическую информацию, вплоть до мультимедийной (звук, видео, сценарии).
RTF или.rtf (Rich Text Format, «формат обогащённого текста» (rich с английского — богатый) — свободный межплатформенный формат хранения размеченных текстовых документов, предложенный Microsoft. Первая версия стандарта RTF появилась в 1987 году, с тех пор спецификация формата несколько раз изменялась. RTF-документы, В отличие от DOC формата поддерживаются большинством современных текстовых редакторов.
TXT или.txt те́кстовый файл — разновидность файла, содержащая текстовые данные, как правило организованные в виде строк. екстовый файл представляет из себя последовательность символов (принадлежащих некому набору символов). Символы сгруппированы в строки. В современных системах строки разделяются переводом строки. Иногда конец текстового файла, особенно если в файловой системе не хранится информация о размере файла, также отмечается одним или более специальными знаками, известными как маркеры конца файла.
PDF (аббревиатура от англ. Portable Document Format — переносимый формат документов) — кроссплатформенный формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графическом или текстовом редакторе, САПР и т. д. А затем экспортируется в pdf для распространения в электронном виде, передачи в типографию и т. п.
Формат PDF позволяет внедрять необходимые шрифты (построчный текст), векторные и растровые изображения, формы и мультимедиа-вставки. Поддерживает RGB, CMYK, Grayscale, Lab, Duotone, Bitmap, несколько типов сжатия растровой информации. Имеет собственные технические форматы для полиграфии: PDF/X-1, PDF/X-3. Включает механизм электронных подписей для защиты и проверки подлинности документов. В этом формате распространяется большое количество сопутствующей документации.
DjVu (от фр. déjà vu «уже виденное») — технология сжатия изображений с потерями, разработанная специально для хранения сканированных документов — книг, журналов, рукописей и пр., где обилие формул, схем, рисунков и рукописных символов делает чрезвычайно трудоёмким их полноценное распознавание. Также является эффективным решением, если необходимо передать все нюансы оформления, например, исторических документов, где важное значение имеет не только содержание, но и цвет и фактура бумаги; дефекты пергамента: трещинки, следы от складывания; исправления, кляксы, отпечатки пальцев; следы, оставленные другими предметами.
DjVu стал основой для нескольких библиотек научных книг. Огромное количество книг в этом формате доступно в файлообменных сетях.
Формат оптимизирован для передачи по сети таким образом, что страницу можно просматривать ещё до завершения скачивания. DjVu-файл может содержать текстовый (OCR) слой, что позволяет осуществлять полнотекстовый поиск по файлу. Кроме того, DjVu-файл может содержать встроенное интерактивное оглавление и активные области — ссылки, что позволяет реализовывать удобную навигацию в DjVu-книгах. На данный момент это самый «молодой» и перспективный формат хранения различного рода учебных материалов.
Существует так же обширный набор различного рода учебников, учебных и методических пособий, которые представлены в графическом формате (в основном это файлы с расширением.jpg, или.png), отсканированном постранично, когда один файл – одна страница книги. Однако, при необходимости, эти графические файлы могут быть легко объединены в единый файл с расширением.pdf или.djvu.
На данный момент самыми распространенными файловыми форматами, которых хранятся учебные материалы на кафедре являются.doc и.pdf. Они удобны, широко распространены, могут хранить как текстовую так и графическую информацию.
Обоснование выбора программно-аппаратных средств
Основной задачей проекта было создание максимально простой, дешевой и удобной системы управления базой данных учебных материалов, поэтому в качестве основных средств программной разработки были выбраны среды не требующие затрат на свою покупку, распространяющиеся по лицензиям OpenSource, GPL (General Public License). По аналогичным соображениям была выбрана операционная система для установки SQL сервера и СУБД.
1.2.1 Технология SQL – выбор СУБД
SQL Structured Query Language — язык структурированных запросов — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Вопреки существующим заблуждениям, SQL является информационно-логическим языком, а не языком программирования.
Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую.
Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка.
С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать решает СУБД непосредственно при обработке SQL запроса.
SQL - язык, который дает возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.
Информационное пространство становится более унифицированным. Это привело к необходимости создания стандартного языка, который мог бы использоваться в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их для создания, нахождения, изменения и передачи информации - независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя различные особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств.
SQL работает согласно реляционной информационной модели.
В реляционной модели данных таблица обладает следующими основными свойствами:
· идентифицируется уникальным именем;
· имеет конечное (как правило, постоянное) ненулевое количество столбцов;
· имеет конечное (возможно, нулевое) число строк;
· столбцы таблицы идентифицируются своими уникальными именами и номерами;
· содержимое всех ячеек столбца принадлежит одному типу данных (т.е. столбцы однородны), содержимым ячейки столбца не может быть таблица;
· строки таблицы не имеют какой-либо упорядоченности и идентифицируются только своим содержимым (т.е. понятие номер строки не определено);
· в общем случае ячейки таблицы могут оставаться пустыми (т.е. не содержать какого-либо значения), такое их состояние обозначается как NULL.
На содержимое таблиц допустимо накладывать ограничения в виде:
· требования уникальности содержимого каждой ячейки какого-либо столбца и/или совокупности ячеек в строке, относящихся к нескольким столбцам;
· запрета для какого-либо столбца (столбцов) иметь пустые (NULL) ячейки.
Ограничение в виде требования уникальности тесно связано с понятием ключа таблицы. Ключом таблицы называется столбец или комбинация столбцов, содержимое ячеек которого используется для прямого доступа (быстрого определения местоположения) к строкам таблицы. Различают ключи первичный (он может быть только единственным для каждой таблицы) и вторичные. Первичный ключ уникален и однозначно идентифицирует строку таблицы. Столбец строки, определенный в качестве первичного ключа, не может содержать пустое (NULL) значение в какой-либо своей ячейке. Вторичный ключ определяет местоположение, в общем случае, не одной строки таблицы, а нескольких подобных.
Ключи используются внутренними механизмами СУБД для оптимизации доступа к строкам таблиц (путем, например, их физического упорядочения по значениям ключей или построения двоичного дерева поиска).
Основными операциями над таблицами являются следующие:
Проекция - построение новой таблицы из исходной путем включения в нее избранных столбцов исходной таблицы.
Ограничение - построение новой таблицы из исходной путем включения в нее тех строк исходной таблицы, которые отвечают некоторому критерию в виде логического условия (ограничения).
Объединение - построение новой таблицы из 2-ух или более исходных путем включения в нее всех строк исходных таблиц (при условии, конечно, что они подобны).
Декартово произведение - построение новой таблицы из 2-ух или более исходных путем включения в нее строк, образованных всеми возможными вариантами конкатенации (слияния) строк исходных таблиц.
Перечисленные выше 4 операции создают базис, на основе которого может быть построено большинство (но не все) практически полезных запросов на извлечение информации из реляционной БД.
Кроме перечисленных выше в языке SQL реализованы операции модификации содержимого строк таблицы и пополнения таблицы новыми строками (что может рассматриваться как операция объединения), а также операции управления таблицами.
В настоящее время наибольшее распространение получили реляционные SQL СУБД двух групп:
мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт);
мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт, т.к. они распространяются совершенно бесплатно.
Наиболее известными СУБД первой группы являются:
· Sybase SQLserver фирмы Sybase, Inc.;
· Oracle фирмы Oracle Corporation;
· Ingres фирмы Computer Associates International;
· Informix фирмы Informix Corporation.
К наиболее популярным СУБД второй группы относятся:
· PostgreSQL организации PostgreSQL;
· microSQL фирмы Hughes Technologies Pty. Ltd.;
· mySQL фирмы T.C.X DataKonsult AB.
Особняком стоит система SQLite, которая явялется по-сути, встраиваемым движком баз данных. Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа.
В данном проекте, управление сервером баз данных, реализуются средствами СУБД MySQL.
Преимуществами MySQL по сравнению с остальными СУБД являются:
· производительность (использует Yahoo и Google);
· масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);
· надежность (в коде проприетарных продуктов содержится в десять с лишним раз больше уязвимостей);
· простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);
· открытая и модульная разработка;
· низкие совокупные затраты (платить нужно только при потребности в поддержке).
SQL-сервер реализует собственно хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP).
Программа на языке SQL представляет собой простую линейную последовательность операторов языка SQL. Язык SQL в своем чистом виде операторов управления порядком выполнения запросов к БД (типа циклов, ветвлений, переходов) не имеет.
Клиентскую часть СУБД составляют клиенты трех основных типов.
Интерактивные клиенты, обеспечивающие пользователю-человеку возможность общения с SQL-сервером непосредственно с помощью языка SQL.
ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC).
WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).
Именно с последним типом клиентов и работает программа, разработанная для работы с БД учебных материалов, которая в свою очередь написана на простом и широко распространенном языке PHP.
1.2.2 Выбор языка программирования – PHP
Основным языком программирования при создании системы бы выбран PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста», — «Инструменты для создания персональных веб-страниц») — язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных.
В области программирования для Сети, PHP — один из популярнейших скриптовых языков благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Не нужно писать свои собственные функции. При использовании, к примеру, C, вам придется это делать самому.
В PHP переданные сценарию параметры автоматически станут переменными сценария, с которыми можно работать, как с обыкновенными переменными. То же самое происходит с переменными окружения сервера. Следует упомянуть, что PHP поддерживает работу с различными базами данных (MySQL, PostgresSQL, Sybase, Informix, др.). Поддержка всех этих возможностей уже имеется в PHP.
PHP является полноценным языком программирования, синтаксис которого очень напоминает C, а библиотека стандартных функций PHP очень большая, всё, что нужно веб-программисту, всегда под рукой. Основными достоинствами являются:
· простота разработки, внедрения приложений, распространенность приложений;
· полная поддержка всеми web-серверами (Apache, IIS) и интернет хостингами;
· простота работы c запросами SQL.
Проведем сравнительный анализ двух технологий создания динамических Web-страниц – ASP.net и PHP, и СУБД – MySQL и MS-SQL чтобы обусловить выбор PHP и MySQL для разработки программы управления БД учебных материалов.
Таблица 1.1 – Сравнительный анализ PHP - ASP.net и MySQL – MS-SQL
№ п/п | Критерий | PHP(СУБД MySql, Web-сервер Apache, ОС Linux) | ASP.net(СУБД MS SQL Server, Web-сервер IIS, ОС Windows) |
Стоимость | Открытая и бесплатнаятехнология (однако разработка и поддержка коммерческих проектов обходится дорого) | Платная технология (придется оплатить несколько лицензий Microsoft) | |
Сложность освоения | Не нужна дорогая среда программирования, достаточнопары учебников | Необходима среда разработки Visual Studio, MSDN, доступ в Интернет | |
Основное предназначение | Мелкие и средние проекты, рассчитанные на небольшие группы программистов | Средние и большие проекты, рассчитанные на большие группы программистов под четким управлением | |
Скорость работы | Скорость работы обеспечивается тем, что все PHP-приложения работают в едином адресном пространстве. Подход более быстр, но менее надежен, но абсолютно не требователен к аппаратным ресурсам. | За счет сложной модели классов ASP.net многократно перепроверяет данные, удерживая каждое приложение в отдельном адресном пространстве. Подход более надежен и не менее быстр, но более требователен к ресурсам | |
Кэширование данных из БД | Генерирует множество запросов к СУБД | Старается делать из БД как можно меньше выборок, помещая все актуальные таблицы и даже связи между ними в кэш (технология ADO.NET) | |
Наличие отладчика | Полноценного отладчика нет, но может компенсироваться Фреймворками сторонних производителей | Удобный отладчик Visual Studio |
1.2.3 Выбор среды программирования – Фреймворк CodeIgniter
CodeIgniter — фреймворк написанный на PHP для разработки полноценных веб-систем и приложений. CodeIgniter является инструментарием для тех, кто строит веб-приложения на PHP. Его цель в том, чтобы позволить вам разрабатывать приложения быстрее, чем если бы вы писали код с нуля, предоставляя богатый набор библиотек для часто используемых задач, а также простой интерфейс и логическую структуру для доступа к этим библиотекам. CodeIgniter позволяет творчески сосредоточиться на ваших проектах, используя минимальный объема кода, необходимый для той или иной задачи.
Фреймворк (Framework) — термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его использования. В нашем случае фреймворк выступает как набор инструментов, библиотек и соглашений, предназначенный для вынесения рутинных задач в отдельные модули, которые можно использовать многократно. Главная цель фреймворка, позволить программисту сфокусироваться на задачах уникальных для каждого проекта, вместо изобретения модулей, уже имеющихся в наборе интрументов среды разработки.
Основными достоинствами Фреймворка CodeIgniter являются:
· CodeIgniter бесплатен. Он лицензирован под Apache/BSD-style open source license для того, чтобы вы могли использовать его как угодно.
· поддержка версий PHP4 и PHP5;
· модель MVC (Model-View-Controller);
· поддержка баз данных MySQL, PostgreSQL, MSSQL, SQLite, Oracle;
· легко расширяемая система через подключение собственных библиотек и плагинов;
· возможность использование ЧПУ. Так же возможно использовать стандартый вид адресной строки;
· фреймворк уже содержит в себе большинство необходимых библиотек для работы с файлами, отправки электронных писем, проверкой данных форм, поддержки сессий, работу с изображениями и многие другие;
· обладает возможностью кеширования на стороне сервера SQL-запросов и генерируемых html-страниц;
· хорошо спроектированная документация на английском языке с примерами;
· очень быстр в работе. В этом смысле — эталон скорости и пример для подражания.
Многие PHP-программисты считают CodeIgniter лучшим выбором.[1.3]
Дата добавления: 2015-10-23; просмотров: 2172 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Photographer/Filmmaker Model | | | Разработка структурной схемы программы |