Декомпозиция системы на модули
Специфика web-технологии заключается в том, что программные проект не содержит исполняемых файлов, которые подключает библиотеки функций, а состоит из множества скриптовых файлов, которые выполняют вполне конкретные задачи. Разделение программного кода на модули производится по функциональному признаку. В большинстве случаев для каждого варианта использования будет отдельный модуль – файл с программой на языке PHP. Однако в некоторых случаях бывает полезно выделить дополнительные модули в системе.
Во-первых, желательно написать собственный модуль для работы с базой данных. Все обращения к БД на запись или чтение производить только через функции этого модуля и подключать его всегда, когда требуется обращение к базе данных. Такой подход имеет ряд преимуществ:
· При переходе на другую СУБД, необходимо будет переписать только несколько функций
· Конфигурирование соединения с БД можно производить, изменяя 1 файл
· Облегчается тестирование SQL-запросов
· Снижение временных затрат на доработку и сопровождение программного кода системы
К недостаткам относится – увеличенное время на первоначальную разработку.
Во-вторых, желательно все функции, которые реализуют бизнес-логику системы выделить в отдельный модуль, который также подключать по мере необходимости. Преимущество этого подхода – облегчается тестирование всех значимых функций системы, облегчается доработка и сопровождение кода.
Проектирование базы данных
С точки зрения программиста, база данных – это набор таблиц, содержащих информацию. Проектирование базы данных сводится к определению количества таблиц, определению типа и количества полей в таблицах, а также к определению связей между ними. Проектирование базы данных – достаточно трудоемкий и ответственный процесс. В случае допущения ошибки на этом этапе или при неправильном проектировании, может потребоваться изменить значительную часть кода проекта.
|
Проектирование баз данных подробно рассматривается в курсе «Базы данных». В данном проекте от студента требуется применить на практике полученные знания.
Результатом работы на этом этапе является схема базы данных.
Рис. 1. Пример схемы базы данных
Написание запросов к базе данных
Все запросы к базе данных составляются на языке SQL. Желательно проработать каждый вариант использования и составить необходимые запросы на выборку, изменение, добавление и удаление данных. Также необходимо составить набор данных, на котором можно проверить правильность выполнения запросов.
Для каждого варианта использования необходимы правильно протестированные SQL-запросы, чтобы на этапе разработки модулей не отвлекаться на ошибки SQL.
Разработка модулей системы
В этом разделе производится разработка модулей информационной системы. Необходимо привести описание работы каждого модуля на русском языке: какие действия совершаются, какие функции задействованы, какие данные используются.
Тестирование системы
Тестирование является не менее важным этапом разработки информационной системы, чем само кодирование. Тестирование модулей должно проводиться параллельно с их разработкой. Такой подход позволяет выявить ошибки на ранних стадиях разработки, и соответственно снизить время на исправление кода.
|
Разработка тестов
Разработкой тестов должен заниматься отдельный человек. Для разработки теста необходимо ответить на следующие вопросы: что тестировать? Как тестировать? Какие наборы данных использовать? Результатом работы на этом этапе становятся тестовые схемы и тестовые примеры.
Тестировать необходимо как на правильных данных, так и на ошибочных, поэтому необходимы соответствующие тестовые примеры.
Создание unit-тестов
Используя разработанные тестовые схемы и примеры, необходимо написать unit-тесты. Unit-тесты пишутся с использованием модуля автоматических тестов для программ PHP – SimpleTest.
Написание документации
Для проекта необходимо наличие двух типов документации: для разработчиков и для пользователей.
Документация для разработчиков содержит в себе описание системы с точки зрения участника проекта. В данном случае отчет по курсовой работе – и является документацией для разработчика.
Документация для пользователей составляется следующим образом:
Описание системы (для чего она нужна, что позволяет делать)
Системные требования (требования к оборудованию и операционной системе)
Руководство по установке системы (как, используя дистрибутив, установить систему на компьютер)
Руководство пользователя (необходимо привести пошаговое описание работы с системой для каждого варианта использования)