etc:teach:diplomants:projects:2009:olpcmind:process

This is an old revision of the document!


Процесс разработки приложения

FIXME

Что такое процесс

На моём уровне понимания: процесс - множество действий, которые выполняются участниками проекта+ множество вещей, которые они создают + терминология, которую они используют.

Зачем он нужен

  1. Разработка становится более предсказуемой
  2. Меньше шансов появления отстающих и догоняющих
  3. Мы получаем руководство по постепенному созданию продуманной, хорошо документированной, качественно работающей системы
  4. Мы повышаем свою производительность
  5. Мы устанавливаем ответственность участников
  6. Мы знакомимся со штукой, которую используют в цивилизованном мире ;-)

Описание процесса у нас

Здесь лежит:

  • Список и описание создаваемых полезных артефактов
  • Назначение ролей участникам проекта
  • Перечисление наших действий в ходе проекта.


Более подробное описание см. в 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

You could leave a comment if you were logged in.
etc/teach/diplomants/projects/2009/olpcmind/process.1208492662.txt.gz · Last modified: 2008/04/18 08:24 by kuv