Учебный проект выполняется командой в составе 2-4 человек.
Проект должен быть оформлен в виде архива с именем <№ группы>-<Проект>-<Фамилия1Фамилия2Фамилия3>.zip (пример 093-ИнПлан-ИвановСидоров.zip) включающий:
Проект присылается один раз. Он может быть возвращен на доработку, если имеются ошибки в оформлении. Частично выполненные проекты, по которым спрашиваются комментарии, будут рассматриваться как завершенные. Вопросы можно задавать, но конкретные (а не вида “какие у нас здесь ошибки, мы исправим и пришлем?”), в том числе на семинарах.
Шаблон задания доступен здесь.
Задание включает:
Также необходимо обосновать представленную модель, то есть почему получены именно такие классы, почему важен тот или иной вариант использования, почему необходимо моделировать данную ассоциацию и т.п.
Описание поведения
При описании поведения объектов предметной области действия, выполняемые акторами в сценариях вариантов использования, должны быть согласованы с действиями в деятельности, описывающей данный вариант использования, а также с операциями, назначенными классам.
Жизненный цикл объектов предметной области, при необходимости, описывается схемами состояний (например, экземпляры класса Заказ). Переходы в схемах состояний должны быть согласованы с изменениями состояний объектов, участвующих в деятельности / сценариях вариантов использования.
Сдача задания
Сдача задания происходит на семинаре, артефакты на бумажном носителе можно не прикладывать, а принести с собой.
Задержка отправки задания приводит к снижению оценки на 0.5 балла каждые 3 дня
Шаблон задания доступен здесь.
Суть второго задания состоит в реализации модели задания №1 на выбранной платформе. Платформа включает в себя набор классов, реализующий функции доступа к базам данных, коммуникации по сети, рисование пользовательского интерфейса и решающие другие вспомогательные задачи. Для каждого проекта классы, входящие в платформу оговариваются отдельно. Обратитесь к своему семинаристу для согласования списка классов платформы реализации.
Задание включает:
Модель реализации должна включать отдельную диаграмму (или несколько, если требуется) классов (или внутренней структуры), на которой описано, каким образом реализована модель предметной области, используя библиотеки и классы выбранной платформы.
Отдельное внимание следует уделить моделированию поведения. Лучшим кандидатом для моделирования является описание реализации ключевых вариантов использования с помощью взаимодействий, схем состояний или деятельности. Одним из ключевых результатов является разработка согласованных статической и динамической моделей (то есть если при описании взаимодействия мы вызываем метод принять() у класса А, он должен быть в статической модели).
В дополнение к первому заданию, второе должно включать:
Каждая объявленная или использованная (в пунктах 1-5) операция, должна быть реализована. То есть для нее должен быть создан метод, реализующий алгоритм на псевдоязыке или скриптом (напр. JavaScript, Groovy, …), или представлена диаграмма деятельности. При этом операции классов и интерфейсов платформы реализовывать не нужно.
Рекомендуется применять паттерны проектирования. Их обоснованное использование дает дополнительные плюсы при проверке задания.
Сдача задания происходит на семинаре в виде презентации, артефакты на бумажном носителе можно не прикладывать, а принести с собой.
Примечание Перед отправкой проверьте, что Вы можете ответить положительно на следующие вопросы по проекту:
В учебном году 2016 ранее дополнительное задание становится обязательным. Вместе с моделью реализации должен быть предоставлен прототип реализации.
В виду того, что курс по тестированию читается параллельно с данным курсом, при сдаче данного задания нужно также подготовить план тестирования для выявления возможных несоответствий реализации требованиям, сформулированным в задании 1.
План тестирования указывает реализованные и проверяемые варианты использования и тест кейсы для них. Формат:
Описание конфигурации системы (заголовок 2 уровня) Дать инструкции предварительной настройке и какой файл запустить. Укзать, что является объектом тестирования.
Название варианта использования (заголовок 2 уровня)
Таблица с тестами
# | Действие актора | Ожидаемый результат | Соответствие |
---|---|---|---|
1. <Проверить основной сценарий> | |||
1.1 | Актор нажимает кнопку | Система показывает окно | <номер шага в варианте использования> |
1.2 | Актор вводит значние “Привет” и нажимает | Система обновляет окно и показывает “Привет” в поле А | <номер шага в варианте использования> |
2. <Название теста> | |||
2.1 | Актор нажимает кнопку | Система показывает окно | <номер шага в варианте использования> |
2.2 | … | … |
Один из двух возможных вариантов реализации данного задания.
Задание состоит в детализации модели до уровня, когда она может быть исполнена (на выбор)
Задание включает реализацию 1-2 сценариев вариантов использования, указанных в плане тестирования:
Проверяющее поведение в пункте 1 может быть заменено пользовательским интерфейсом.
Пример исполняемой модели для Cameo Simulation Toolkit: Секундомер на конечных автоматах.
Задание состоит в реализации модели на языке программирования и создании работающего прототипа.
Задание включает реализацию 1-2 сценариев вариантов использования, указанных в плане тестирования.
Требование к реализации (предварительно):
Типовые нефункциональные требования: