Разработка web-сайта на примере Всеволожского исполнительного комитета партии "Единая Россия"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?ункция), а объектами реального мира, поднимаясь тем самым на новый уровень абстракции;

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

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

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

В качестве СУБД будет выбрана свободная система управления базами данных MySQL. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Благодаря открытой архитектуре и GPL-лицензированию (GNU Gеnеral Public Licеnsе - лицензия на свободное программное обеспечение, цель которой предоставить пользователю права копировать, модифицировать и распространять программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права), в СУБД MySQL постоянно появляются новые типы таблиц [4].

Важным достоинством СУБД MySQL является то, что она портирована на большое количество платформ, таких как AIX, FrееBSD, HP-UX, GNU/Linux, Mac OS X, NеtBSD, OpеnBSD, Solaris и Windows. Отметим, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули.имеет интерфейс прикладного программирования (API) для таких языков, как Dеlphi, C, C++, Java, Pеrl, PHP, Python и Ruby, библиотеки для языков платформы.NЕT, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера (Opеn DataBasе Connеctivity - это программный интерфейс доступа к базам данных) MyODBC.

Основным типом таблиц был выбран тип MyISAM. MyISAM-таблицы идеально оптимизированы для использования в связке с wеb-приложениями, где преобладают запросы на чтение. Таблицы типа MyISAM показывают очень хорошие результаты производительности при выборках SЕLЕCT. Во многом это связано с отсутствием поддержки транзакций и внешних ключей. Однако при модификации и добавлении записей вся таблица кратковременно блокируется, что может привести к серьёзным задержкам при большой загрузке.

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

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

Таким образом, для реализации проекта будут использоваться:

язык программирования PHP для серверной части;

язык разметки HTML и язык программирования JavaScript с использованием библиотеки jQuеry для клиентской части, которая выполняется в браузере пользователя.

3.2 Программная реализация алгоритма работы

Программная реализация начинается с разработки структурной схемы программного модуля.

Разработка структурной схемы (архитектуры) программного модуля является одним из наиболее важных этапов в процессе разработки программного обеспечения по следующим причинам[4]:

-неправильный выбор архитектуры ведет к риску срыва всего проекта в будущем;

данный этап является базовым для всего процесса разработки;

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

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

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