понедельник, 16 апреля 2012 г.

2. План

В предыдущей статье мы решили разрабатывать игру, наподобие пятнашек, взяв за основу популярную головоломку "Рыжий осел".


2. План


Как и всегда, самое сложное в любом проекте, это его начать :) 
Чтобы победить "ужас чистого листа", важно иметь в голове четкий план действий и строго его придерживаться (совсем здорово, когда этот план привязан к календарным датам, но мы, пока, не будем об этом беспокоиться).

Составим план:

1. Разработка прототипа
   1.1 Модель
   1.2 Представление
   1.3 Контроллер
2. Разработка БД
   2.1 ER - диаграмма
   2.2 Content Provider
3. Разработка жизненного цикла приложения
   3.1 Жизненный цикл
   3.2 Окно подсказки
   3.3 Таблица рекордов
4. Подготовка релиза

Здесь могут потребоваться некоторые комментарии. По плану, нашей первейшей задачей является разработка некоторого простейшего работающего прототипа. Он не будет обладать полной функциональностью релиза, но его можно будет запустить, отладить, кому нибудь показать и впоследствии дорабатывать.

Далее, поскольку мы разрабатываем расширяемое приложение, нам понадобиться база данных, для хранения самих головоломок, текущего состояния, статистики и т.п.

Следующим этапом, мы планируем разработать полный жизненный цикл приложения, доведя прототип до состояния полнофункционального релиза. После выполнения ряда технических работ, мы сможем выдать релиз первой итерации.

Разумеется, все эти пункты плана берутся не с потолка, а непосредственно вытекают из требований к приложению, сформулированных нами в предыдущей статье. В частности, необходимость разработки жизненного цикла вытекает из требования сохранения текущего состояния при выгрузке приложения.
Следует отметить, что в промышленных разработках, требования формулируются более формально, но поскольку задачка у нас игрушечная, то большую часть требований мы удержали в голове, не расписывая их буквально (стыд нам и позор).

При разработке мы будем придерживаться рекомендаций Google, в частности будем использовать концепцию MVC, предписывающую разделять логику, реализующую приложение (Model), логику отображения текущего состояния пользователю (View) и логику управления текущим состоянием (Controller).

Разработкой модели мы и займемся в следующей статье.

Комментариев нет:

Отправить комментарий