This is an old revision of the document!
Table of Contents
Процесс разработки приложения
Что такое процесс
На моём уровне понимания: процесс - множество действий, которые выполняются участниками проекта+ множество вещей, которые они создают + терминология, которую они используют.
Зачем он нужен
- Разработка становится более предсказуемой
- Меньше шансов появления отстающих и догоняющих
- Мы получаем руководство по постепенному созданию продуманной, хорошо документированной, качественно работающей системы
- Мы повышаем свою производительность
- Мы устанавливаем ответственность участников
- Мы знакомимся со штукой, которую используют в цивилизованном мире
Описание процесса у нас
Здесь лежит:
- Список и описание создаваемых полезных артефактов
- Назначение ролей участникам проекта
- Перечисление наших действий в ходе проекта.
Более подробное описание см. в Development Case
Артефакты
Какие вещи мы будем создавать в ходе проекта
Предначальный этап
- Development Case (вариант разработки) Шаблон. Служит для приспособления RUP к нашим нуждам
- Role Map (карта ролей) - определяет ответственность каждого из участников
- Artifact Table (таблица артефактов) - определяет, какие артефакты будут создаваться или модифицироваться на каждом из этапов
- Iteration Plan (план итераций)
- Wiki - вики-странички с описаниями технических деталей работы с инструментарием, объявления и пр.
- Vision Mindmaps (интеллект-карты) - три интеллект-карты, предваряющие наш Vision. Интеллект карты будут использоваться в ходе всего проекта.
Inception
Намечается путь. Какой продукт нужен заказчику? Можем ли мы его сделать?
- Vision (видение/представление о продукте)
- Use Case Model (модель вариантов использования/прецедентов)
- Risk List (Первоначальный список рисков)
- Programming Standard (Правила программирования) - берём из НИЦа
- Glossary (словарь терминов/глоссарий). Лежит тут
- UI Prototype Draft(черновой прототип пользовательского интерфейса)
- Supplementary Specification (дополнительная спецификация)
- Project Plan (Общий план проекта)
- Iteration Plan (подробный план следующей итерации)
Elaboration
Детализируются требования, создаётся основа
- UI Prototype (утвержденный прототип пользовательского интерфейса)
- Test Plan (план тестирования)
- Tests (тесты)
Construction
Transition
Действия
Чем мы будем заниматься в ходе проекта?
- Обучение
Share the knowledge! Все знания должны быть общими. Сюда входит организация маленьких уроков, тренингов, написание Wiki-страничек
- Тестирование
Использование CPP UNIT, ручное тестирование
- Проектирование
Создание артефактов, помогающих решать вопросы что? и как?
- Программирование
- “С нуля” - Программирование на Python и C++
- Повторное использование стороннего кода - Часть функциональности хотелось бы заимствовать. Если мы поймем, что можно повторно использовать какой-либо сторонний компонент,
необходимо будет стыковать его с существующими. Разбираться в коде, связываться с разработчиками.
- Документирование
Включает в себя обязательное использование Doxygen, пользовательскую документацию, маленькие заметки о сложных частях проекта.
- Написание официальных документов
Как только появится возможность где-либо поучаствовать с проектом, туда нужно писать заявку. Пример: Google Summer Of Code