Разработка справочно-информационной системы

Дипломная работа «Разработка справочно-информационной системы предприятия»

Разработка справочно-информационной системы. База данных. Информационная система. СУБД MySQL.

Содержание

Введение

1. Справочно-информационные системы в деятельности предприятий

1.1 Понятие и классификация информационных систем     

1.2 Жизненный цикл информационных систем

1.3 Технические средства обеспечения функционирования информационной системы    

2. Проектирование базы данных информационной системы

2.1 Инструменты проектирования баз данных

2.2 Выбор СУБД для информационной системы

2.2.1 Характеристика реляционных баз данных

2.2.2 Виды систем управления базами данных (СУБД)

2.2.3 Особенности и преимущества СУБД MySQL

2.3 Создание проекта базы данных информационной системы

3. Разработка веб-приложения – справочно-информационной системы для предприятия

3.1 Средства проектирования и создания информационной системы

3.2 Инструменты проектирования информационной системы

3.2.1 Среда разработки информационной системы

3.2.2 Язык программирования информационной системы

3.2.3 Локальный веб-сервер для проекта

3.2.4 Хостинг для размещения информационной системы

3.3 Разработка информационной системы

3.3.1 Структура информационной системы

3.3.2 Функции информационной системы

3.3.3 Создание форм ввода информации

3.3.4 Реализация соединения с базой данных

3.3.5 Организация записи информации в базу данных (обработчики форм)

3.3.6 Создание страниц вывода внесенной в базу данных информации

3.3.7 Создание административной панели. Авторизация и выход из системы

3.4 Внешний вид страниц информационной системы. Проверка функций информационной системы

Заключение

Список использованной литературы

Приложения

Введение

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

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

Целью данной работы является разработка справочно-информационной системы для ПО «Старт».

Задачи работы:

  • изучить теоретические аспекты функционирования, проектирования и разработки справочно-информационных систем;
  • спроектировать базу данных справочно-информационной системы;
  • разработать веб-приложение — справочно-информационная система для ПО «Старт».

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

 1. Справочно-информационные системы в деятельности предприятий

1.1 Понятие и классификация информационных систем

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

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

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

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

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

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

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

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

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

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

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

1. Аппаратное обеспечение:

  • персональные компьютеры;
  • оргтехника и расходные материалы;
  • средства промышленной автоматизации и контроля;
  • встраиваемые системы.

2. Программное обеспечение:

1) Системное программное обеспечение;

2) Прикладное программное обеспечение:

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

3. Компьютерные сети:

  • активное коммуникационное компьютерное оборудование;
  • пассивное коммуникационное оборудование;
  • Интернет;
  • локальные сети.

4. Средства и системы стационарной телефонной связи.

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

6. Средства и системы телеграфной связи.

7. Средства и системы факсимильной передачи информации и модемной связи.

8. Телевидение и радио:

9. Средства и системы глобального позиционирования.

10. Средства и системы радиосвязи.

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

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

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

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

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

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

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

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

Информационные ресурсы — в широком смысле — совокупность данных, организованных для эффективного получения достоверной информации. По законодательству РФ — отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах: библиотеках, архивах, фондах, банках данных, других видах информационных систем [10].

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

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

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

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

В соответствии с предложенным классификационным признаком можно выделить следующие классы АИС:

— автоматизированные системы управления (АСУ);

— системы поддержки принятия решений (СППР);

— автоматизированные информационно-вычислительные системы (АИВС);

— автоматизированные системы обучения (АСО);

— автоматизированные информационно-справочные системы (АИСС).

Рассмотрим каждый классификационный признак более подробно.

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

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

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

Системы поддержки принятия решения. СППР являются достаточно новым классом АИС, теория создания, которых в настоящее время интенсивно развивается.

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

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

К категории «руководитель» относятся должностные лица, на которых возложено управление подчиненными должностными лицами (подразделениями) и принятие решений в процессе руководства. Основная форма деятельности — деловое общение.

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

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

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

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

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

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

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

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

Простота создания АИСС и высокий положительный эффект определили их активное использование во всех сферах профессиональной (в том числе и управленческой) деятельности.

1.2 Жизненный цикл информационных систем

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

Стадии жизненного цикла информационной системы:

1. Предпроектное обследование:

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

б) анализ материалов и разработка документации, обязательно дается технико-экономическое обоснование с техническим заданием на проектирование ИС.

2. Проектирование:

а) предварительное проектирование:

— выбор проектных решений по аспектам разработки ИС;

— описание реальных компонент ИС;

— оформление и утверждение технического проекта;

б) детальное проектирование:

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

— корректировка структур БД;

— создание документации на доставку и установку программных продуктов;

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

в) разработка техно-рабочего проекта ИС;

г) разработка методологии реализации функций управления с помощью ИС и описанием регламента действий аппарата управления.

3. Разработка ИС:

а) получение и установка технических и программных средств;

б) тестирование и доводка программного комплекса;

в) разработка инструкций по эксплуатации программно-технических средств.

4. Ввод ИС в эксплуатацию:

а) ввод технических средств;

б) ввод программных средств;

в) обучение и сертификация персонала;

г) опытная эксплуатация;

д) сдача и подписание актов приемки-сдачи работ.

5. Эксплуатация ИС:

а) повседневная эксплуатация;

б) общее сопровождение всего проекта.

Стандарт ISO/IEC 12207 не предлагает конкретную модель ЖЦ и методы разработки АИС (под моделью ЖЦ понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении ЖЦ. Модель ЖЦ зависит от специфики ИС и специфики условий, в которых последняя создается и функционирует). Его регламенты являются общими для любых моделей ЖЦ, методологий и технологий разработки. Стандарт ISO/IEC 12207 описывает структуру процессов ЖЦ АИС, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы.

К настоящему времени наибольшее распространение получили следующие две основные модели ЖЦ:

  • каскадная модель (70-85 г.г.);
  • спиральная модель (86-90 г.г.).

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

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

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

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

Рисунок 1.2 — Реальный процесс разработки ПП по каскадной схеме

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

Для преодоления перечисленных проблем была предложена спиральная модель ЖЦ (рис. 1.3), делающая упор на начальные этапы ЖЦ: анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПП, на нем уточняются цели и характеристики проекта, определяется его качество, и планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации.

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

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

Рисунок 1.3 — Спиральная модель жизненного цикла информационной системы

1.3 Технические средства обеспечения функционирования информационной системы

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

Общая схема комплекса представлена ниже на рисунке 1.4.

Обобщённая структура комплекса технических средств
Рисунок 1.4 — Обобщённая структура комплекса технических средств

Функционирование комплекса технических средств информационной системы не предполагает наличия событий отличных, от стандартного функционирования Web-сервера, сервера БД и Web-клиентов.

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

Общая структура информационной системы
Рисунок 1.5 – Общая структура информационной системы

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

Таблица 1 — Спецификация сервера приложений

В таблице 2 показан спецификация сервера баз данных.

Таблица 2 — Спецификация сервера баз данных

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

Таблица 3 — Спецификация АРМ пользователей (студентов)

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

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

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

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

  • однопользовательские;
  • многопользовательские;
  • сетевые.

Однозадачные ОС предназначены для работы одного пользователя в каждый конкретный момент одной конкретной задачи. Типичным представителем таких операционных систем является MS-DOS.

Многозадачные ОС обеспечивают коллективное использование ЭВМ в мультипрограммном режиме разделения времени (в памяти ЭВМ находится несколько задач, и процессор распределяет ресурсы компьютера между задачами). Типичными представителями подобного класса ОС являются; UNIX, OS/2 корпорации IBM, Microsoft Windows 95/98/2000, Microsoft Windows NT и некоторые другие.

Сетевые ОС связаны с появлением локальных и глобальных сетей и предназначены для обеспечения доступа пользователя ко всем ресурсам вычислительной сети. Типичными представителями сетевых ОС являются: Novell NetWare, Microsoft Windows NT, Banyan Vines, IBM LAN, UNIX, Solaris фирмы Sun, Linux.

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

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

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

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

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

Программные средства антивирусной защиты обеспечивают диагностику (обнаружение) и лечение (нейтрализацию) вирусов. Термином «вирус» обозначается программа, способная размножаться, внедряясь в другие программы, совершая при этом различные нежелательные действия. К числу наиболее популярных в настоящее время антивирусных программ относятся: DoctorWeb, AVP (антивирус Касперского), Norton Antivirus и др.

2. Проектирование базы данных информационной системы

2.1 Инструменты проектирования баз данных

Разработка базы данных ведется в три этапа [6]:

1) Концептуальное проектирование – представляет собой сбор, анализ и редактирование требований к данным, которое состоит из следующих пунктов:

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

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

– моделирование и интеграция всех пользовательских представлений.

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

2) Логическое проектирование – процесс преобразования требований к данным в структуре данных. На выходе получается СУБД–ориентированная структура базы данных и спецификации прикладных программ. На этом этапе могут моделироваться базы данных относительно различных СУБД и производиться сравнительный анализ моделей.

3) Физическое проектирование – определение особенностей хранения данных, методов доступа и т.д.

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

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

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

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

Большинство современных подходов к проектированию баз данных базируется на использовании разновидностей так называемой ER–модели. Моделирование предметной области основывается на использовании графических диаграмм, которые включают небольшое число компонентов разного рода [1].

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

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

Рисунок 2.1 – Схема ER–модели (сущность, атрибут, связь)

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

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

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

Для проектирования базы данных справочной системы была использована среда MySQL Workbench. Она предназначена для визуального проектирования баз данных и управления сервером MySQL. Для построения моделей предназначена секция Data Modeling.

Функционал программы:

  • программа позволяет наглядно представить модель базы данных в графическом виде;
  • наглядный, функциональный механизм установки связей между таблицами, в том числе «многие ко многим» с созданием таблицы связей;
  • восстановление структуры таблиц из уже существующей на сервере БД (связи восстанавливаются в Inno DB, при использовании My ISAM – связи необходимо устанавливать вручную);
  • удобный редактор SQL запросов, позволяющий сразу же отправлять их серверу и получать ответ в виде таблицы;
  • возможность редактирования данных в таблице в визуальном режиме.

2.2 Выбор СУБД для информационной системы

2.2.1 Характеристика реляционных баз данных

Реляционная база данных – база данных, основывающаяся на реляционной модели. Слово «реляционный» происходит от английского слова «relation» (отношение). Для работы с реляционными базами данных применяют реляционные системы управления базами данных. Использование реляционных баз данных было предложено в 1970 году доктором Коддом, работающим в компании IBM [11].

Реляционная модель организует данные в виде двумерных таблиц. Каждая реляционная таблица, представляющая собой двумерный массив, должна обладать следующими свойствами [5]:

  1. каждый элемент таблицы представляет собой только один элемент данных;
  2. все ячейки в столбце таблицы являются однородными – все элементы столбца должны иметь одинаковый тип (INT, FLOAT, VARCHAR и т. д.);
  3. каждый столбец имеет уникальное имя, идентифицирующее данный столбец;
  4. в таблице не может быть одинаковых строк;
  5. порядок следования строк и столбцов произволен.

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

Наибольшее распространение получили серверы реляционных баз данных, которые основаны на клиент-серверной архитектуре. Эти серверы обеспечивают устойчивую работу с базами данных одновременно большого количества клиентов (это могут быть десятки, сотни, тысячи и миллионы клиентов – все зависит от используемого оборудования и программного обеспечения). Кроме этого, реляционную модель данных реализуют так называемые настольные базы данных, такие как dBASE, FoxPro, Clarion, Paradox, Access. Практически все ведущие настольные базы данных в настоящее время поддерживают возможность работы в качестве клиентов серверов баз данных при помощи технологий ODBC, BDE, ADO и др.

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

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

Таблица базы данных может иметь один ключ или несколько ключей. Один из ключей назначают в качестве первичного ключа, а остальные называют потенциальными (в теории реляционных баз данных) или альтернативными (в конкретных реализациях некоторых баз данных) [11].

Часто используют суррогатные первичные ключи – это ключи, состоящие из поля (или полей), которые не несут информации из предметной области, а служат заменой (суррогатом) для естественного (натурального) первичного ключа. В качестве суррогатных ключей чаще всего используются счетчики (генераторы, последовательности) autoincrement или глобально–уникальные идентификаторы (GUID). Правильно разработанная структура базы данных должна удовлетворять специальным правилам, которые базируются на теории отношений и называются нормальными формами [8].

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

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

2.2.2 Виды систем управления базами данных (СУБД)

Реляционные СУБД делятся на системы с открытым кодом (OpenSource) и с закрытым. Согласно исследованиям компании IDC, компании из Европы чаще отдают предпочтении открытому программному обеспечению (ПО). Делают это они из–за повышения качества и гибкости данного ПО [12].

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

Рассмотрим характеристики некоторых СУБД.

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

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

PostgreSQL. Одна из наиболее популярных, является объектно–ориентированной системой управления базами данных. Одной из сильной стороны данной СУБД является поддержка баз данных практически неограниченного размера.

MySQL. Свободная реляционная СУБД. Применяется в приложениях малого исреднего класса. Используют как локально, так и удаленно по принципу клиент–сервер. Разработку и поддержку ведет компания Oracle.

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

СУБД относится к очень сложной части программного обеспечения, которую трудно понять во всей полноте и является жизненно важной для определения критериев, которые могут быть использованы администратором базы данных в процессе их отбора. Многие практики–разработчики баз данных в своих работах отмечают, что выбор критериев использования СУБД заключается в первичном анализе организационных потребностей и необходимых функций СУБД. Практики–разработчики выделяют ряд факторов выбора СУБД для реализации задачи, в частности [3]:

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

СУБД MySQL (Structured Query Language) является одной из самых популярных СУБД на сегодняшний день. СУБД MySQL рационально подходит к решению сложных задач. С помощью СУБД MySQL можно реализовать высоко функциональные системы.

К преимуществам СУБД MySQL относится:

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

2.2.3 Особенности и преимущества СУБД MySQL

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

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

Для системы управления реляционными базами данных скорость – время, затрачиваемое на выполнение запроса и возврат результатов тому, кто его совершает, – это решающий показатель. По любым меркам MySQL является производительной системой, которая зачастую оказывается на порядок быстрее решений–конкурентов. Тесты производительности, доступные на сайте MySQL, свидетельствуют о том, что MySQL опережает почти все прочие системы управления базами данных, доступные в настоящее время, включая коммерческие аналоги вроде Microsoft SQL Server 2000 и IBM DB2.

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

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

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

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

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

MySQL поддерживает большинство важных требований стандарта ANSI SQL (ANSI — American National Standards Institute (Американский национальный институт стандартов)) и часто позволяет дополнять его пользовательскими расширениями, функциями и типами данных, которые призваны улучшить переносимость и обеспечить расширенную функциональность для потребителей. MySQLподдерживается как операционными системами UNIX, так и отличными от них, включая Linux, Solaris, FreeBSD, OS/2, MacOS, Windows 95, 98, Me, 2000, XP, NT и Vista, и может функционировать на различных архитектурах, среди которых Intel x86, Alpha, SPARC, PowerPC и IA64.

MySQL является полноценной многопользовательской системой, а это означает, что множество клиентов могут одновременно получать доступ и использовать одну (или более) базу данных MySQL. Это особенно важно при разработке веб–приложений, которые должны поддерживать одновременное подключение множества удаленных клиентов. MySQL включает также мощную и гибкую систему привилегий, позволяющую администраторам защищать доступ к критическим данным, используя комбинацию из схем проверки подлинности пользователей и хостов [7].

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

MySQL предусматривает наличие интерфейсов программирования приложений API (Application Programming Interfaces) на множестве языков, что дает возможность создавать управляемые базами данных приложения на множестве языков программирования. В настоящее время MySQLпозволяет работать с такими языками, как C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl, имеются также коннекторы для JDBC–, ODBC– и .NET–приложений.

2.3 Создание проекта базы данных информационной системы

Среда MySQL Workbench предназначена для визуального проектирования баз данных и управления сервером MySQL. Для построения моделей предназначена секция Models (рис. 2.3).

Окно для построения EER-диаграммы
Рисунок 2.2 – Окно для построения EER-диаграммы

Чтобы создать таблицу нужно нажать пиктограмму, показанную на рис. 2.3.

Пиктограмма для создания таблицы в модели базы данных
Рисунок 2.3 – Пиктограмма для создания таблицы в модели базы данных

После создания таблицы (рис. 4) ее можно отредактировать, задав имя и настроить ее структуру (рис. 5).

Создание таблицы «admins»
Рисунок 2.4 – Создание таблицы «admins»
Создание таблицы «subjects»
Рисунок 2.5 – Создание таблицы «subjects»
Создание таблицы «pages»
Рисунок 2.6 – Создание таблицы «pages»
Создание таблицы «contactform»
Рисунок 2.7 – Создание таблицы «contactform»
ER-модель базы данных
Рисунок 2.8 – ER-модель базы данных

3. Разработка веб-приложения – справочно-информационной системы для предприятия

3.1 Средства проектирования и создания информационной системы

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

Окно начала работы в Microsoft Visio
Рисунок 3.1 — Окно начала работы в Microsoft Visio

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

С помощью Microsoft Visio можно создавать:

  • деловые схемы, такие как блок-схемы, временные шкалы, сводные схемы и организационные диаграммы;
  • схемы процессов, такие как функциональные блок-схемы, IDEF0 (Integration Definition for Process Modeling) BPMN (Business Process Model and Notation) 2.0 и блок-схемы рабочих процессов Microsoft SharePoint;
  • схемы ИТ-инфраструктуры, такие как ITIL (Information Technology Infrastructure Library), Active Directory, подробная схема сети и схема стоек;
  • схемы программного обеспечения и баз данных, включая нотацию баз данных, карту веб-сайта и язык UML (Unified Modeling Language);
  • инженерные схемы, включая электрические, а также схемы цепей и систем (обновленные шаблоны соответствуют спецификациям Института инженеров электротехники и электроники (IEEE));
  • карты и планы этажей, такие как схема системы отопления, вентиляции и кондиционирования воздуха, карта офиса, план участка и план расстановки (обновленные шаблоны включают более 600 фигур, которые соответствуют современным требованиям, а также 400 интеллектуальных фигур, помогающих повысить производительность).

Наглядное представление динамически меняющихся данных в контексте организационной структуры, ИТ-сети, плана производственного комплекса и сложных бизнес-процессов дает возможность получить полную картину происходящего. Фигуры Visio можно подключать к различным источникам данных, включая Microsoft Excel, службы Microsoft Excel, каталог Active Directory, сервер Microsoft SQL Server, среду Microsoft SQL Azure, списки Microsoft SharePoint и службы Business Connectivity Services.

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

3.2 Инструменты проектирования информационной системы

3.2.1 Среда разработки информационной системы

Для разработки информационной системы была использована программа PHPStorm. Это интегрированная среда разработки на PHP с интеллектуальным редактором, поддерживает PHP 7.0, 5.6, 5.5, 5.4 и 5.3 для проектов, обеспечивает автодополнение кода, рефакторинги, предотвращение ошибок и поддерживает смешивание языков.

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

Программа поддерживает передовые технологии веб-разработки, включая HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, шаблоны Jade, Zen Coding, Emmet, и, конечно же, JavaScript.

PHPStorm включает в себя возможности WebStorm (HTML/CSS редактор, JavaScript редактор) и добавляет полнофункциональную поддержку PHP и баз данных / SQL.

Основные возможности программы PHPStorm [38]:

  • интеллектуальный редактор PHP кода с подсветкой синтаксиса, автодополнением кода, расширенными настройками форматирования кода, предотвращением ошибок налету;
  • поддержка 7.0, 5.6, 5.5, 5.4 и 5.3, генераторов, сопрограмм, синтаксические улучшения;
  • PHP рефакторинги, code (re)arranger, детектор дублируемого кода;
  • поддержка Vagrant, Composer, встроенный REST клиент, Command Line Tools, SSH консоль;
  • поддержка фреймворков (MVC view для Symfony2, Yii) и специализированные плагины для ведущих PHP фреймворков (Symfony, Magento, Drupal, Yii, CakePHP и многих других) (рис. 3.2);
Создание проектов на основании фреймворков
Рисунок 3.2 – Создание проектов на основании фреймворков
  • визуальный отладчик для PHP приложений, валидация конфигурации отладчика, PHPUnit с покрытием кода (поддержка PHPUnit 5), а также интеграция с профилировщиком;
  • HTML, CSS, JavaScript редактор. Отладка и модульное тестирование для JS. Поддержка HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, Emmet и другие передовые технологии веб-разработки;
  • полный набор инструментов для фронтенд-разработки;
  • поддержка стилей кода, встроенные стили PSR1/PSR2, Symfony2, Zend, Drupal и других;
  • интеграция с системами управления версиями (GitHub и др.), включая унифицированный интерфейс (рис. 3.3);
  • удаленное развертывание приложений и автоматическая синхронизация с использованием FTP, SFTP, FTPS;
Контроль версий в PHPStorm
Рисунок 3.3 – Контроль версий в PHPStorm
  • Live Edit: изменения в коде можно мгновенно просмотреть в браузере без перезагрузки страницы;
  • PHP UML;
  • интеграция с баг-трекерами;
  • инструменты работы с базами данных, SQL редактор (рис. 3.4);
Работа с базами данных
Рисунок 3.4 – Работа с базами данных
  • кросс-платформенность (Windows, Mac OS X, Linux);

Новые возможности версии PhpStorm 2016.3:

  • инструменты и фреймворки: поддержка Docker в удаленных интерпретаторах, поддержка фреймворка тестирования PHPSpec, автоматическое обнаружение и конфигурирование PHPUnit, Behat и PHPSpec из composer.json, поддержка открытия нескольких проектов в одном фрейме, поддержка стиля кода Codeigniter;
  • новый подход к редактированию: семантическая подсветка переменных и параметров, автодополнение переопределенных методов и полей без ключевого слова function и var, улучшенная поддержка PSR-0/PSR-4;
  • анализ качества кода: строгие типы PHP 7 во всем проекте, новые инспекции соглашения по присвоению имен, улучшенное предотвращение ошибок времени выполнения;

В программе версии 2016.3 значительно усовершенствована поддержка передовых веб-технологий: поддержка Flow, улучшенная поддержка TypeScript, поддержка PostCSS, Stylelint и многое другое.

В PhpStorm 2016.3 также попали многие новые возможности и усовершенствования из IntelliJ Platform, улучшены эргономические характеристики и скорость работы журнала VCS, доработано диалоговое окно объединения (Merge), подсветка синтаксиса в диалоговых окнах Diff и Merge, а также интерфейс для управления удаленными репозиториями Git в проекте. Кроме того, улучшены средства работы с базами данных [17].

3.2.2 Язык программирования информационной системы

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

  • автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопре­делённые массивы;
  • файловые функции, успешно обрабатывающие как ло­кальные, так и удалённые файлы;
  • автоматическая отправка HTTP-заголовков, информи­рующих обозреватель о начале передачи HTML- документа;
  • работа с cookies (текстовые данные, хранящиеся у кли­ента; позволяют серверу точно идентифицировать поль­зователя и его настройки при формировании HTML- документов) и сессиями;
  • обработка файлов, загружаемых на сервер.

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

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

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

Код PHP интерпретируется веб-сервером и генерирует HTML-код или другой вывод (например, графику), который отсылается браузеру пользователя. Так как PHP интерпретируемый язык, он не требует компиляции (преобразования в машинный код в файле .exe) — программы хранятся на веб-сервере как обычные текстовые файлы (рис. 3.5).

Архитектура веб-приложений, реализуемых на языке PHP
Рисунок 3.5 — Архитектура веб-приложений, реализуемых на языке PHP

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

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

PHP исполняет код, находящийся внутри таких ограничителей, как <?php и ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ.

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

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

PHP поддерживает три типа комментариев: в стиле языка JavaScript: ограниченные /* */, начинающиеся с // и идущие до конца строки и оболочки UNIX, начинающиеся с # до конца строки.

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

Для данной задачи используются следующие функции:

  • include(«имя_файла») — текст внешнего файла помещается в место вызова функции, после чего сразу ис­полняется. В случае помещения в условный оператор выполняется только при требуемом условии.
  • гequire(«имя_файла») — текст внешнего файла подключается заранее и определенные в нем функции доступны в любом месте основного сценария. Не используется для вставки текстовых данных.

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

Внутри PHP-скрипта существует несколько способов получения доступа к данным, переданным клиентом по протоколу http.

Для обращения к переменным, переданным с помощью HTTP-запросов, используется специальный массив — $_REQUEST. Этот массив содержит данные, переданные методами POST и GET, а также с помощью HTTP cookies. Это суперглобальный ассоциативный массив, т.е. его значения можно получить в любом месте программы, используя в качестве ключа имя соответствующей переменной (элемента формы).

После отправки формы в вызываемом скрипте можно будет ис­пользовать переданное значение в HTML-коде следующим образом: echo $_REQUEST[«name»].

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

В случае отправки формы элементу массива $_REQUEST[«stage»] присваивается значение results и происходит вызов функции-обработчика формы. Если же данные в скрипт не передавались (первая загрузка), то выполняется функция вывода формы.

Функция в зависимости от произведенного пользователем вы­бора формирует и выводит строку-сообщение.

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

Помимо суперглобального массива $_REQUEST в php доступны также еще несколько суперглобальных ассоциативных массивов, позволяющих обрабатывать передаваемые клиентом данные:

  • $_GET[] — содержит все значения, передаваемые в сце­нарий с помощью метода формы GET.
  • $_POST[] — содержит все значения, передаваемые в сценарий с помощью метода формы POST.
  • $_SERVER[] — содержит все значения, получаемые от сервера.

3.2.3 Локальный веб-сервер для проекта

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

OpenServer — это бесплатный веб-сервер, подходящий для разработки веб-приложений в локальных условиях.

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

Компоненты программного комплекса:

  • Open Server 5.2.5;
  • Apache 2.2.31 / 2.4.20;
  • Bind 9.10.4-P1;
  • Nginx 1.6.3 / 1.8.1 / 1.10.1;
  • MySQL 5.1.73 / 5.5.50 / 5.6.31 / 5.7.13;
  • MariaDB 5.5.50 / 10.0.26 / 10.1.14;
  • MongoDB 2.4.14 / 2.6.12 / 3.0.12 / 3.2.7;
  • PostgreSQL 9.2.17 / 9.3.13 / 9.4.8 / 9.5.3;
  • Redis 2.8.2402 / 3.0.504 / 3.2.100;
  • Memcached 1.2.6 / 1.4.5;
  • FTP FileZilla 0.9.57;
  • PHP 5.2.17; (Zend Optimizer 3.3.3, IonCube 4.0.7, Memcache 2.2.4)
  • PHP 5.3.29; (Xdebug 2.2.7, Memcache 3.0.8, Mongo 1.6.14, Redis 2.2.7, Imagick 3.2.0)
  • PHP 5.4.45; (Xdebug 2.4.0, Memcache 3.0.8, Mongo 1.6.14, Redis 2.2.7, Imagick 3.2.0)
  • PHP 5.5.37; (Xdebug 2.4.0, Memcache 3.0.8, Mongo 1.6.14, MongoDB 1.1.7, Redis 2.2.7, Imagick 3.2.0)
  • PHP 5.6.23; (Xdebug 2.4.0, Memcache 3.0.8, Mongo 1.6.14, MongoDB 1.1.7, Redis 2.2.7, Imagick 3.2.0)
  • PHP 7.0.8; (Xdebug 2.4.0, PDFlib 3.0.4, MongoDB 1.1.7, Redis 3.0.0)
  • ImageMagick 6.8.9-9-Q16;
  • Ghostscript 9.19;
  • Sendmail 32;
  • Wget 1.11.4;
  • NNCron Lite 1.17;
  • Adminer 4.2.5;
  • ConEmu 16.10.09a;
  • HeidiSQL 9.3;
  • RockMongo 1.1.7;
  • PHPRedisAdmin 1.6.0;
  • PHPMyAdmin 4.6.4;
  • PHPPgAdmin 5.2;
  • PHPMemcachedAdmin 1.2.2;

Компоненты сборки представлены в 32-битной и 64-битной (частично) версиях.

Поддерживаемые версии Windows (32-бит и 64-бит): Windows 7 и все более новые версии.

Частично поддерживаемые версии Windows (32-бит и 64-бит): Windows XP SP3 и Windows Vista.

Минимальные аппаратные требования: 500 МБ свободной RAM и 3 ГБ свободного места на HDD.

Требуется наличие Microsoft Visual C++ 2005-2008-2010-2012-2013-2015 Redistributable Package.

Возможности управляющей программы:

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

Особенности комплекса:

  • не требует установки (портативность);
  • возможность работы с USB накопителя;
  • одновременная работа с Denwer, XAMPP и т.д.;
  • работа на локальном/сетевом/внешнем IP адресе;
  • поддержка SSL без всякой дополнительной настройки;
  • создание домена путем создания обычной папки;
  • поддержка кириллических доменов;
  • поддержка алиасов (доменных указателей);
  • защита сервера от внешнего доступа;
  • Punycode конвертер доменных имён;
  • пакет из более 40 портативных программ;
  • планировщик заданий (cron);
  • создание локального поддомена без потери видимости основного домена в сети интернет.

Сборка представлена тремя версиями OpenServer: basic, premium и ultimate. В ultimate версии кроме веб-сервера, происходит распаковка и дополнительного программного обеспечения (рис. 3.6).

Результат распаковки
Рисунок 3.6 — Результат распаковки

Директория «domains» содержит виртуальные хосты, папка «modules» содержит модули OpenServer (СУБД MySQL различных версий, интерпретатор PHP различных версий и непосредственно сам вебсервер (nginx или Apache) и другое). В папке «userdata» хранятся настройки для модулей.

После запуска сборки OpenServer в трее появится иконка OpenServer представляющая собой флаг красного (остановлен), зеленого (запущен) или желтого цвета (перезапускается) (рис. 3.7).

Основные настройки программы
Рисунок 3.7 – Основные настройки программы

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

При создании виртуальных хостов OpenServer автоматически добавляет запись в файл hosts. При ошибках запуска программы в OpenServer включена возможность запуска сервера без редактирования файла (рис. 3.8).

Отключение возможности внесения изменений в файл hosts
Рисунок 3.8 – Отключение возможности внесения изменений в файл hosts

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

Для создания проекта, необходимо в папке domains создать паку с нужным названием, и в этой папке создать индексный файл – index.php, таким образом создается виртуальный хост, в котором будет размещаться разрабатываемы проект.

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

Во вкладке «Модули» осуществляется конфигурирование веб-сервера, а именно выбор сервера, версии PHP и СУБД и другое (рис. 17).

Модули OpenServer
Рисунок 3.9 — Модули OpenServer

3.2.4 Хостинг для размещения информационной системы

Создаваемый сайт будет размещен на хостинге – hostinger.ru. Каждому аккаунту на выбранном хостинге выделено 2GB на диске и 100GB трафика. Этого достаточно для персонального или коммерческого сайта. В любое время есть возможность заказать неограниченные услуги платного хостинга.

Сервис хостинга предоставляет удобную и простую в использовании Панель Управления. Она позволяет настроить почту, создать базы данных, FTP аккаунты, бекапы. Также, в ней есть дополнительные возможности: Веб-консоль SSH, редактор DNS зоны и многое другое. Аккаунты хостинга находятся на выделенных серверах с процессорами Intel Xeon, 16GB ОЗУ и SSD накопителями. Все серверы подключены к 1GB каналам, которые обеспечивают быстрый доступ к данным. Гарантированный аптайм сайтов составит 99.9%.

В Аккаунт Включено:

  • 2GB места на диске;
  • 100GB трафика;
  • Неограниченное количество доменов;
  • Панель Управления на основе cPanel;
  • Никакой рекламы и баннеров;
  • Простой в использовании Сайт Билдер;
  • Авто-Установщик (Joomla, phpBB и др.);
  • Почтовые сервисы (IMAP/POP3/Webmail);
  • Поддержка PHP и MySQL;
  • Мгновенная активация аккаунта;

Дополнительные Услуги:

  • Веб-консоль SSH;
  • Редактор DNS зоны;
  • Страницы ошибок;
  • Cronjob;
  • Изменение МХ записей;
  • Создание полного бекапа;
  • Менеджер блокировки IP адресов;
  • Защита папок паролем;
  • Паркованые домены;
  • Импорт сайтов и баз данных;

Услуги PHP:

  • Версия PHP 5.2, 5.3 и 5.4;
  • Поддержка Zend Optimizer;
  • Включен модуль IonCube Loader;
  • Поддержка Curl и Curl SSL;
  • Поддержка загрузки файлов;
  • Функция mail() и Sendmail;
  • Функция fopen() и сокеты;
  • Расширение MySQLi;
  • safe_mode = off, allow_url_fopen = on;
  • Поддержка SQLite, GD, Mcrypt, Pear;

Услуги MySQL:

  • Версия MySQL 5.1;
  • Неограниченное место под базы MySQL;
  • 2 базы MySQL;
  • Поддержка phpMyAdmin;
  • SSD накопители;
  • Включено расширение MySQLi;
  • Система хранения данных MyISAM;
  • Поддержка PDO и PDO MySQL;
  • Поддержка SQLite;
  • Основан на технологии Cloud Computing.

3.3 Разработка информационной системы

3.3.1 Структура информационной системы

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

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

Справочная система будет состоять из следующих страниц:

  • главная страница;
  • справочные материалы;
  • контактная форма;
  • страница администратора;
  • просмотр вопросов (для администратора);
  • управление администраторами (для администратора);
  • изменить данные публичной части (для администратора);
  • добавление категорий (для администратора);
  • добавление записей (для администратора).
Схематическое изображение структуры справочно-информационной системы
Рисунок 3.10 — Схематическое изображение структуры справочно-информационной системы

3.3.2 Функции информационной системы

Справочно-информационная система предусматривает такой функционал:

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

3.3.3 Создание форм ввода информации

В качестве форм использованы HTML-формы, которые передают в POST-параметры данные обработчику формы, которые необходимо записать в базу даных.

Код формы показан ниже:

<?php include ‘includes/session.php’; ?>

<?php include ‘includes/db_connect.php’; ?>

<?php require_once ‘includes/functions.php’; ?>

<?php $layout_context = «admin»; ?>

<?php include ‘includes/header.php’; ?>

<?php find_selected_page(true); ?>

    <div class=»blog»>

        <!—table of client —>

        <div class=»typo»>

            <div class=»container»>

                <div class=»page-header»>

                    <h2>Вопросы из формы обратной связи</h2>

                </div>

                <table class=»table table-bordered»>

                    <thead>

                    <tr>

                        <th>Клиент</th>

                        <th>Адрес</th>

                        <th>Телефон</th>

                        <th>Дата</th>

                        <th>E-mail</th>

                        <th>Сообщение</th>

                    </tr>

                    </thead>

                    <tbody>

                    <?php

                    $query = «SELECT name_lastname_klienta, homeadress, date, message, phonenumber, email FROM contactform «;

                    $result = mysqli_query($connection, $query);

                    confirm_query($result);

                    ?>

                    <?php

                    while ($master = mysqli_fetch_assoc($result)) {

                        ?>

                        <tr>

                            <td><?php echo $master[«name_lastname_klienta»]; ?></td>

                            <td><?php echo $master[«homeadress»]; ?></td>

                            <td><?php echo $master[«phonenumber»]; ?></td>

                            <td><?php echo $master[«date»]; ?></td>

                            <td><?php echo $master[«email»]; ?></td>

                            <td><?php echo $master[«message»]; ?></td>

                        </tr>

                        <?php

                    }

                    ?>

                    </tbody>

                </table>

            </div>

        </div>

    </div>

    <!— //table of client —>

<?php include ‘includes/footer.php’;

После заполнения формы и нажатия кнопки «Отправить» данные из формы поступаю в обработчик — processing_contact_form.php.

На рис. 3.11 показан процесс работы над формой обратной связи.

Процесс работы над формой обратной связи
Рисунок 3.11 – Процесс работы над формой обратной связи

3.3.4 Реализация соединения с базой данных

За подключение системы к базе данных отвечает файл db.connect.php (рис. 3.12). Код файла представлен ниже:

<?php

define(«DB_SERVER», «localhost»);

define(«DB_USER», «root»);

define(«DB_PASS», «»);

define(«DB_NAME», » isstart»);

$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);

// Проверка соединения

if (mysqli_connect_errno()) {

    die(«Database connection failed: » .

        mysqli_connect_error() .

        » (» . mysqli_connect_errno() . «)»

    );

}

Подключается файл внутри файлов системы с помощью конструкции:  <?php include ‘includes/db_connect.php’; ?>.

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

Файл db_connect.php
Рисунок 3.12 – Файл db_connect.php

3.3.5 Организация записи информации в базу данных (обработчики форм)

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

Код обработчика формы показан ниже:

<?php include ‘includes/session.php’; ?>

<?php include ‘includes/db_connect.php’; ?>

<?php require_once ‘includes/functions.php’; ?>

<?php require_once ‘includes/validation_functions.php’; ?>

<?php

if (isset($_POST[‘submit’])) {

    // Обработка формы

    $name_lastname_klienta = mysql_prep($_POST[«name_lastname_klienta»]);

    $homeadress = mysql_prep($_POST[«homeadress»]);

    $date = mysql_prep($_POST[«date»]);

    $message = mysql_prep($_POST[«message»]);

    $phonenumber = mysql_prep($_POST[«phonenumber»]);

    $email = mysql_prep($_POST[«email»]);

    // проверка заполнения формы

    $required_fields = array(«name_lastname_klienta», «homeadress», «date», «message», «phonenumber», «email»);

    validate_presences($required_fields);

    // сравнение данных

    if (!empty($errors)) {

        $_SESSION[«errors»] = $errors;

        redirect_to(«contact-form.php»);

    }

    $query = «INSERT INTO contactform («;

    $query .= »  name_lastname_klienta, homeadress, date, message, phonenumber, email «;

    $query .= «) VALUES («;

    $query .= »  ‘{$name_lastname_klienta}’,'{$homeadress}’,'{$date}’, ‘{$message}’, ‘{$phonenumber}’, ‘{$email}'»;

    $query .= «)»;

    $result = mysqli_query($connection, $query);

    if ($result) {

        // Успешно

        $_SESSION[«message»] = «Заявка отправлена»;

        redirect_to(«contact-form.php»);

    } else {

        // Ошибка

        $_SESSION[«message»] = «Ошибка добавления заявки»;

        redirect_to(«contact-form.php»);

    }

} else {

    redirect_to(«contact-form.php»);

}

?>

<?php

if (isset($connection)) {

    mysqli_close($connection);

}

На рис. 3.13 показан процесс работы над обработчиком формы.

Процесс работы над файлом - processing_contact_form.php
Рисунок 3.13 – Процесс работы над файлом — processing_contact_form.php

3.3.6 Создание страниц вывода внесенной в базу данных информации

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

<?php include ‘includes/session.php’; ?>

<?php include ‘includes/db_connect.php’; ?>

<?php require_once ‘includes/functions.php’; ?>

<?php $layout_context = «admin»; ?>

<?php include ‘includes/header.php’; ?>

<?php find_selected_page(true); ?>

    <div class=»blog»>

        <!—table of client —>

        <div class=»typo»>

            <div class=»container»>

                <div class=»page-header»>

                    <h2>Вопросы из формы обратной связи</h2>

                </div>

                <table class=»table table-bordered»>

                    <thead>

                    <tr>

                        <th>Клиент</th>

                        <th>Адрес</th>

                        <th>Телефон</th>

                        <th>Дата</th>

                        <th>E-mail</th>

                        <th>Сообщение</th>

                    </tr>

                    </thead>

                    <tbody>

                    <?php

                    $query = «SELECT name_lastname_klienta, homeadress, date, message, phonenumber, email FROM contactform «;

                    $result = mysqli_query($connection, $query);

                    confirm_query($result);

                    ?>

                    <?php

                    while ($master = mysqli_fetch_assoc($result)) {

                        ?>

                        <tr>

                            <td><?php echo $master[«name_lastname_klienta»]; ?></td>

                            <td><?php echo $master[«homeadress»]; ?></td>

                            <td><?php echo $master[«phonenumber»]; ?></td>

                            <td><?php echo $master[«date»]; ?></td>

                            <td><?php echo $master[«email»]; ?></td>

                            <td><?php echo $master[«message»]; ?></td>

                        </tr>

                        <?php

                    }

                    ?>

                    </tbody>

                </table>

            </div>

        </div>

    </div>

    <!— //table of client —>

<?php include ‘includes/footer.php’;

Процесс работы над файлом выборки и отображения информации из базы данных показан на рис. 3.14.

Работа над файлом contactform.php
Рисунок 3.14 – Работа над файлом contactform.php

3.3.7 Создание административной панели. Авторизация и выход из системы

Для создания административной части сайта необходимо реализовать вход и выход на сайт. Файл login.php будет отвечать за вход (рис. 3.15) на сайт, logout.php – за выход из сайта, страница администратора – admin.php (рис. 3.16).

Окно входа в систему
Рисунок 3.15 – Окно входа в систему
Страница администратора системы
Рисунок 3.16 – Страница администратора системы
Окно управления администраторами системы
Рисунок 3.17 – Окно управления администраторами системы

На рис. 3.18 показан код формы авторизации на сайте и ее обработчика которые находятся в одном файле – login.php.

Код формы авторизации в системе
Рисунок 3.18 – Код формы авторизации в системе

3.4 Внешний вид страниц информационной системы. Проверка функций информационной системы

Для придания сайту подходящего внешнего облика использованы таблицы стилей CSS.

Подключение таблиц стилей осуществляется в файле header.php (рис. 3.19).

Подключение таблицы стилей
Рисунок 3.19 – Подключение таблицы стилей

После настройки стилей, внешний вид системы приобретает вид, показанный на рис. 3.19 – 3.21.

Внешний вид главной страницы
Рисунок 3.19 – Внешний вид главной страницы
Страница просмотра записей из формы обратной связи
Рисунок 3.20 – Страница просмотра записей из формы обратной связи
Страница формы обратной связи
Рисунок 3.21 – Страница формы обратной связи
Страница просмотра разделов и записей
Рисунок 3.22 – Страница просмотра разделов и записей

Заключение

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

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

В результате работы была создана справочно-информационная система для ПО «Старт», которая предоставляет возможность знакомиться со справочными материалами, которые внесены в систему. В созданной системе реализовано разграничение доступа: пользователь, администратор. Администратор системы имеет возможность создавать, удалять, редактировать материалов и данных в системе.

Основными технологиями создания информационной системы послужили: PHP — скриптовый язык программирования; SQL — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Наиболее удобным инструментом для проектирования и создания баз данных является программа MySQL Workbench.

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

Список использованной литературы

  1. Вересников, Ю. К. О надежности систем обработки информации / Ю. К. Вересников //Актуальные проблемы современной науки. — 2011. — № 2 (58). — С. 193-195.
  2. Григорьев Ю. А. Теория и практика проектирования систем на основе баз данных: учеб. пособие для вузов / Ю. А. Григорьев, А. Д. Плутенко. — Благовещенск: Изд-во Амур. гос. ун-та, 2008. — 394 с.
  3. Дюбуа, П. MySQL. Сборник рецептов / Дюбуа П.; Пер. с англ. – СПб: Символ–Плюс, 2006. – 1056 с.
  4. Елиферов В. Г. Бизнес-процессы: регламентация и управление: / Елиферов В. Г., Репин В. В.: ИНФРА-М, 2011 г. — 319 с.
  5. Жуков Р. А. СУБД с открытым исходным кодом: возможность применения алгоритмов распараллеливания / Р. А. Жуков // Технические науки. – 2015. – № 1–2 (35–36). – С. 20 – 21.
  6. Кириллов В. В. Введение в реляционные базы данных / В. В. Кириллов, Г. Ю. Громов. — М.: Гелиос АРВ. – 2002. – 458 с.
  7. Коцюба И. Ю. Основы проектирования информационных систем. Учебное пособие / И. Ю. Коцюба, А. В. Чунаев, А. Н. Шиков. – СПб: Университет ИТМО, 2015. – 206 с.
  8. Маклафлин Б. PHP и MySQL. Исчерпывающее руководство [Текст] / Б. Маклафлин. – СПб.: Питер, 2014. – 544 с.
  9. Мартовой А. В. Сущность и основные характеристики электронного бизнеса, электронной коммерции, электронного и интернет-маркетинга / А. В Мартовой // Проблемы материальной культуры. — С. 146 — 153
  10. Маторин С. И. Информационные системы: Учебно-практическое пособие / С. И. Маторин, О. А. Зимовец–Белгород: Изд-во НИУ БелГУ, 2012. – 231 с.
  11. Мирошниченко Г. А. Реляционные базы данных. Практические приемы оптимальных решений / Г. А. Мирошниченко. — «БХВ-Петербург», 2005. – 400 с.
  12. Мустафаева Э. И. Использование СУБД MySQL для разработки информационно–справочной системы «Рекреационные ресурсы города Евпатории» [Электронный ресурс] / Э. И. Мустафаева, Ф. В. Шкарбан – Электрон. текстовые дан. – Режим доступа: http://eztuir.ztu.edu.ua/123456789/1037.
  13. Рублевская Ю. В. Моделирование бизнеса в интернет-среде / Ю. В. Рублевская, Е. В. Попов // Маркетинг в России и за рубежом. — 2001. — №2 (22). — С. 87-102.
  14. Сотник И. Н. Информационно-коммуникационные технологии как направление социально-экономических трансформаций при переходе к информационному обществу / И. Н. Сотник, О. Н. Волк // Современные тенденции управления политическим и социально-экономическим развитием территорий: [монография]; под ред. Минаковой И.В., Мельника Л.Г. — Орел: АПЛИТ. — 2013. — С. 222-234.
  15. Филлипов С. А. Основы современного веб-программирования: Учебное пособие / С. А. Филлипов. – М.: НИЯУ МИФИ, 2011. – 160 с.
  16. Шварц Б. MySQL. Оптимизация производительности / Б. Шварц и др., 2-е издание. – Пер. с англ. – СПб.: Символ-Плюс. — 2010. – 832 с.
  17. PhpStorm – интегрированная среда разработки на PHP [Электронный ресурс] / Режим доступа: http://jetbrains.ru/products/phpstorm/ (05.04.2017).

Купить данную работу или заказать подобную