отчет по лабе ефремовва. Научная работа руководитель работы Т. Н. Лебедева Автор работы А. В. Ефремов
Скачать 4.24 Mb.
|
1.4 Выбор средств проектирования и средств создания web-сайтаВ наше время, время бурного роста интернет-технологий, существуют различные способы разработки сайтов. От мгновенных запусков в несколько часов, до продолжительных длящихся месяцами или даже годами. Рассмотрим наиболее популярные из них. Самым простым способом, не требующим знаний языков программирования — это использование визуальных редакторов, где путем преставления блоков заполняется вся структура и получается простейшие странички сайта. Так же есть огромное множество сервисов по созданию блогов, в которых сайт собирается как конструктор. Самыми распространёнными из них являются uCoz, Wix, uKit и т.д. Если есть знания языка гипертекстовой разметки HTML, а также CSS (каскадные таблицы стилей), то можно сделать простой статический сайт. С помощью HTML строится разметка содержимого будущего сайта, а через CSS настраивается его внешний вид. Для создания более сложных динамических сайтов потребуется знания скриптового языка программирования PHP. Чтобы сайт обладал большей функциональностью потребуются знания JavaScript и различных технологий, позволяющих сделать сайт более красивым, динамичным и быстродействующими. Такое создание с нуля займет уйму времени, как показывает практика, возникает множество ошибок и работы. Для устранения этих ошибок существуют такое программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта, называемое framework. Это каркас программной системы (или подсистемы), который может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта. Обычно объединение происходит за счёт использования единого API [10]. Framework определяется как множество конкретных и абстрактных классов, а также определений способов их взаимоотношения. Конкретные классы обычно реализуют взаимные отношения между классами. Абстрактные классы представляют собой точки расширения, в которых каркасы могут быть использованы или адаптированы. Третьим более простым способом создания сайта является использование системы для обеспечения и организации совместного процесса создания, редактирования и управления содержимым страницы (CMS). В основном CMS имеют модульную архитектуру, и управление контентом происходит благодаря отдельным модулям. В большинстве CMS встроено множество готовых моделей, а также есть уже готовый шаблонный сайт, который можно начать редактировать под себя. В данный момент существует большое множество CMS, как платных, так и бесплатных. CMS позволяют решать задачи различного уровня сложности в гораздо меньшие сроки, чем написание всего кода с нуля [22]. Нами был проведен анализ CMS. Были выбраны наиболее популярные из систем и произведен анализ по важных характеристикам для разрабатываемого web-приложения. Результат данного анализа представлен в таблице 2. Таблица 2 – Сравнение характеристик различных CMS
Продолжение таблицы 2
Продолжение таблицы 2
Исходя из сравнительного анализа систем и личного опыта использования некоторых из них, для реализации проекта была выбрана система управления контентом сайта NetCat [20]. Компания NetCat (ООО «НетКэт») - одна из ведущих платных систем на российском рынке CMS. Первая версия CMS была выпущена в 1999 году. И на сегодняшний день предлагается 5 различных редакций, каждая из которых имеет свой набор готовых модулей и возможностей: Standard; Business; Corporate; E-commerce; Extra. Система управления контентом сайтом NetCat написана с помощью языка программирования PHP. NetCat система довольно функциональна, что позволяет без особого труда реализовать сложные задачи довольно быстро, а при необходимости с легкостью можно написать свои компоненты (это функционал сайта, который управляет содержательной частью страницы), которые внедряются автоматически и без проблем. У NetCat очень понятный и удобный интерфейс, очень гибкая система управления данными нужных типов. Система имеет свои особенности из-за различия структуры модуля и доступа к данным. Управление структурой сайта позволяет создавать любой уровень вложенности разделов. При помощи макетов дизайна можно реализовать любой дизайн. Модуль «пользователи и права» дает достаточное управление пользователями системы, разграничением их прав доступа. Пользователей, которые имеют доступ к административной панели сайта, может быть неограниченное множество. При этом каждый из них может обладать различным уровнем прав, которые будут определять возможность их действий. Для поставленной задачи NetCat дает возможность управлять настройками web-приложения пользователю с низким уровнем знаний в области ИТ, который просто умеет работать с компьютером на уровне офисных программ без знания необходимых языков программирования и языков разметки. Для разработчика предоставляются широчайшие возможности по созданию и модификации компонентов и макетов стандартными средствами системы. Еще одна из возможностей позволяет в считанные секунды обратиться напрямую к базе данных MySQL на этапе отладки и быстро получить необходимые данные. Система также поддерживает интерфейс вызова задач по расписанию (cron). Для оптимизации работы проектов с большой посещаемостью во все редакции NetCat включен модуль «Кэширование», позволяющий уменьшить нагрузку на сервер. Что не мало важно, система устанавливается практически на любой современный хостинг без установки дополнительного программного обеспечения. Все версии NetCat проходят постоянный аудит у специалистов по безопасности веб-приложений, это помогает быть уверенным в безопасности от взломов и вирусов. В работе используются собственные и международные методики поиска уязвимостей. Так же у NetCat есть бесплатная партнёрская лицензия их продукта (http://netcat.ru/products/charity), что позволяет использовать бесплатно систему NetCat для реализации данного проекта [28]. Для проектирования системы была выбрана система бизнес-моделирования Visual Studio. В качестве CMS – система NetCat, которая работает на базе языков JavaScript, PHP и системы управления базами данных MySQL. Для разработки собственных компонентов использовались языки JavaScript, PHP, системы управления базами данных MySQL, технология AJAX. 1.4.1 Visual StudioVisual Studio — программный продукт для бизнес-моделирования, позволяющая построить как комплексную иерархическую модель, так и описать ряд отдельных процессов. Для этого система предлагает наиболее популярные и удобные нотации моделирования: IDEF0, Процесс, Процедура, BPMN 2.0, EPC. Основные решаемые задачи: формализация стратегии предприятия и контроль ее достижения; проектирование и оптимизация бизнес-процессов; проектирование организационной структуры и штатного расписания; формирование и распространение среди сотрудников регламентирующей документации; внедрение системы менеджмента качества в соответствии со стандартами ISO; формирование технических заданий и поддержка внедрения информационных систем. Visual Studio обладает широкими функциональными возможностями для максимально легкого создания бизнес-архитектуры, начиная с постановки целей и проектирования бизнес-процессов, обеспечения сотрудников базой знаний и удобным доступом ко всей необходимой информации, и заканчивая контролем состояния компании, а также анализом отклонений и предложений сотрудников для совершенствования системы управления. В нашей работе система Visual Studio используется для анализа и проектирования бизнес-процессов, а также формирования на их основе технического задания к web-приложению. 1.4.2 PHPNetcat – выбранная система управления контентом сайта, обоснование выбора представлено в пункте 1.3. В основе системы лежит язык программирования PHP, поэтому всю разработку необходимо вести на этом языке. На данный момент последней версией является PHP 7.0.7. В области программирования для сети Интернет PHP – один из популярных скриптовых языков (наряду с JavaScript, Perl и языками, используемыми в ASP.NET) благодаря богатой функциональности, простоте, скорости выполнения, кроссплатформенности и распространению исходных кодов на основе лицензии PHP [7]. Благодаря встроенным средствам для разработки веб-приложений, язык имеет большую популярность. Основными из них являются: автоматическое извлечение POST и GET-параметров, и переменных окружения веб-сервера в предопределённые массивы; взаимодействие с большим количеством различных систем управления базами данных; автоматизированная отправка HTTP-заголовков; работа с HTTP-авторизацией; работа с cookies и сессиями; работа с локальными и удалёнными файлами, сокетами; обработка файлов, загружаемых на сервер; работа с XForms. 1.4.3 MySQLNetCat использует реляционную систему управления базами данных MySQL, которая является открытым программным обеспечением. MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). MySQL система, основанная на привилегиях и паролях, за счет чего обеспечивается гибкость и безопасность, и с возможностью верификации с удаленного компьютера. Пароли защищены, т.к. они при передаче по сети при соединении с сервером шифруются [5]. 1.4.4 PhpMyAdminДля удобства работы с базами данных MySQL через браузер будет использоваться phpMyAdmin. PhpMyAdmin – веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования системы управления базами данных MySQL. Данное приложение позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять системой управления базами данных MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс. На сегодняшний день phpMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения системы управления базами данных MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных. Приложение распространяется под лицензией GNU General Public License и поэтому многие другие разработчики интегрируют его в свои разработки, например, XAMPP, Denwer, AppServ, Open Server. 1.4.5 JavaScriptJavaScript – прототипно-ориентированный сценарный язык программирования. Является диалектом языка ECMAScript. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. JavaScript является объектно-ориентированным языком, но используемое в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными класс-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам – функции как объекты первого класса, объекты как списки, анонимные функции, замыкания – что придаёт языку дополнительную гибкость. 1.4.6 AJAXAJAX – подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее. AJAX – не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах: использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью; использование динамического языка гипертекстовой разметки (DHTML) для динамического изменения содержания страницы. Действия с интерфейсом преобразуются в операции с элементами, называемыми Document Object Model (DOM), с помощью которых обрабатываются данные, доступные пользователю, в результате чего представление их изменяется. Производится обработка перемещений и щелчков мышью, а также нажатий клавиш. В качестве формата передачи данных могут использоваться фрагменты простого текста, HTML-кода, JSON или XML. 1.4.7 Notepad++Для написания кода использовалась программа Notepad++. Notepad ++ - это бесплатный редактор исходного кода, который поддерживает несколько языков. Программа используется в операционной системы Windows. На основе мощного компонента редактирования Scintilla, Notepad++ написан на C++ и использует чистый Win32 API и STL, который обеспечивает более высокую скорость выполнения при минимальном размере программы. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры. |