результата разработки.
Цель проекта описывает какие задачи должны быть решены в результате проекта, а содержание проекта – что именно является результатом проекта.
Описание цели и содержания проекта (Project Scope) на примере проекта "Универсальная модульная платформа", в реализации которого принимают участие некоторые "выпускники" курса.
Проект "Универсальная модульная платформа"
Цель проекта
Много проектов имеют схожую многомодульную структуру, до 25% общего функционала.
Если выделить часто используемый общий функционал в модули, подключаемые по необходимости в разные проекты, то можно решить следующие задачи:
• быстрый старт разработки проекта на базе платформы;
• получение востребованного опыта и навыков разработки участниками;
• легкое вхождение участников команды разработки в однотипный проект;
• эффективное участие юниоров в разработке однотипных проектов;
• упрощение разработки и поддержки однотипных проектов;
• улучшение качества за счет многократного тестирования общего кода на разных проектах;
• уменьшение периода разработки за счет подключаемых модулей;
• финансовая экономия.
Описание проекта – Project Scope
Описание проекта – многомодульной платформы, предоставляющей базовый функционал наиболее часто востребованных нефункциональных и функциональных требований. Модули данной платформы могут быть подключены по необходимости для реализации систем различных назначений, реализующих конкретные бизнес требования:
• система заказов услуг или продуктов;
• система бронирования и продажи билетов;
• система логистики;
• e-commerce система;
• информационная система и прочие.
Можно выделить основные компоненты систем:
• SQL база данных;
• Backend с бизнес логикой;
• приложение администратора;
• REST (JSON) API сервер;
• Frontend с веб интерфейсом;
• мобильные приложения.
Список наиболее востребованных нефункциональных и функциональных требований:
• аутентификация и авторизация;
• логирование;
• уровень доступа к SQL базе данных;
• планировщики для запуска периодических процессов;
• инфраструктура и настройка REST контроллеров;
• создание, редактирование и просмотр администраторов и пользователей системы;
• загрузка в систему и скачивание из системы файлов (фото, документов и т.п.).
Нужно отметить, что платформа предъявляет более строгие требования к проектированию, реализации, тестированию системы. Важно соблюдать баланс между минимальностью и достаточностью платформы, с учетом использования в разных приложениях.
Открытыми для обсуждения с участниками проекта остаются аспекты:
• масштабируемость платформы – должна ли система, построенная на платформе легко масштабироваться