Здесь приведен общий план действий, конкретные даты для текущего семестра внесены отдельно.
Каждый студент получает задание (из списка) и в течении семестра работает над ним по следующему плану.
- Создание концептуальной модели пользовательского интерфейса
- Определение сценариев использования
- Определение набора страниц, навигации между ними и их содержимого
- Результаты
- Перечень сценариев использования
- Описание каждого сценария с указанием, на каких страницах какие действия выполняются
- Перечень страниц приложения
- Для каждой страницы: модель содержимого - какие данные присутствуют на странице и какие действия можно делать
- Схема навигации между страницами
- Создание базы данных приложения
- Определение набора таблиц, полей и их типов, связей между таблицами
- Определение отображения данных БД на страницы пользовательского интерфейса
- Разработка скриптов создания БД и ее инициализации
- Результаты
- Схема БД
- SQL-скрипт создания БД
- SQL-скрипт примерного заполнения БД
- Файл сборки Ant с задачами создания и инициализации БД, выдачи ее содержимого и очистки
- Отчет по первому этапу. Он должен включать текстовый отчет, а также 2 SQL-скрипта (для создания и инициализации БД) и файл сборки Ant. При инициализации в каждой таблице должно быть не менее 3-5 записей (если таблиц мало - 2-3, то около 10). Если есть поля перечислимых типов, должны быть записи с каждым возможным значением такого поля. Текст должен содержать
- Перечень и описания сценариев использования, по шагам.
- Перечень и описание страниц, какая информация на странице показывается и какие операции можно выполнить.
- Схему навигации - между какими страницами есть переходы.
- Схему БД - какие таблицы, какие у них поля и связи. Для полей с неясными названиями нужны пояснения, что они обозначают.
- Разработка связывающего кода с помощью Hibernate
- Разработка классов хранимых объектов
- Разработка отображения БД на объекты в Hibernate
- Разработка служебных классов (DAO-классов), методы которых реализуют типовые запросы приложения к БД
- Разработка модульных тестов для методов служебных классов
- Результаты
- Код классов хранимых объектов и служебных классов
- Тесты в TestNG для всех методов созданных классов
- Конфигурационный файл Hibernate, определяющий отображение БД на объекты
- Дополненный файл сборки Ant с задачами сборки проекта, сборки тестов, выполнения тестов
- Отчет по второму этапу.
- Результаты работы должны быть помещены в SVN-репозиторий студента.
- Тесты должны проверять все методы служебных и хранимых классов с нетрививальной логикой, т.е. могут не проверяться только простейшие read-write методы. Методы хранимых классов могут проверяться не прямо, а только через обращающиеся к ним служебные методы.
- Кроме того, если метод имеет несколько вариантов поведения или может возвращать разные результаты (нашел что-то нужное в БД или ничего не нашел), должны быть тесты, проверяющие все такие варианты.
- В тестах должны проверяться (с помощью методов assert) все свойства полученных результатов, которые можно проверить в соответствующей ситуации.
- Разработка Web-интерфейса и реализация обработки запросов
- Создание JSP-страниц для всех определенных страниц Web-интерфейса
- Создание классов-контроллеров с помощью Spring
- Разработка системных тестов
- Результаты
- Код классов-контроллеров
- Код JSP-страниц
- Конфигурационный файл Spring
- Конфигурация основного сервлета приложения
- Дополненный файл сборки Ant с задачей полной сборки и развертывания приложения
- Описание сценариев системного тестирования, системные тесты, созданные с помощью Selenium (или HTTPUnit).
- Системные тесты должны проверять выполнение всех вариантов использования со всеми существенно различными результатами их работы (например, удачное добавление какого-либо объекта - один тест, неудачное добавление - по одному тесту для каждого вида сообщений, которые при этом можно получить).
- Итоговый отчет.