|
||||||||||
|
||||||||||
Автор: Абрамовский Иван
Данное руководство - это подробное описание действий, которые приведут вас к успеху создания Программного Проекта! Если Вы решили в одиночку сделать что-то посложнее программы «Hello, World!!!», то данное руководство окажет Вам неоценимую услугу в проектировании, сопровождении и реализации Вашего Проекта! Что для этого Вам понадобится: Идея данного метода состоит в том, что Вы фиксируете всю работу над проектом от начала до конца, в одном документе. Этот документ назовем «The Design Document of <название программы>», пусть этим документом является простая тетрадка в 48 листов. Design Document - это отражение состояния и эволюции Программного Проекта (в дальнейшем просто ‘ПП’), в течении всего периода разработки. Design Document – это эффективный инструмент проектирования, сопровождения
и реализации ПП в кротчайшие сроки. Как сказано выше Design Document - это простая записная книжка или тетрадь, но специальным образом организованная. Каким образом она организована, Вы узнаете прочитав эту статью. Design Document состоит из следующий разделов: 1. Проектирование 2. Разработка и сопровождение Ниже приведено подробное описание каждого раздела. Проектирование. В этой части описываются все параметры и характеристики ПП. Напишите как можно более подробнее о Вашем будущем творении, нарисуйте интерфейс, диалоги, окна и все остальное. Т.е. наиболее четко сформулируйте чего Вы хотите достичь. Назначение программы. Общее описание продукта, для чего предназначена, описание прикладной области. Укажите конкретные цели для решения которых предназначена программа. Результат работы. Опишите во всей красе итог вашей работы - что должно быть в идеале, как Вы видите завершенную программу. Укажите, что это должна быть за программа, ее размер, целевая аудитория, поддерживаемые языки, какие технические средства вы хотите применить (попробовать). Чего вообще Вы ждете от реализации программы? Для кого пишется эта программа - для себя или для всех желающих, а может Вы планируете заняться Shareware-бизнесом? Вобщем «узнайте» как можно больше о будущей программе, чего Вы хотите в действительности достичь. Это очень поможет Вам при реализации. Интерфейс. Опишите и зарисуйте интерфейс программы. Нарисуйте окна, меню, и прочие элементы
управления. Напишите за что будет отвечать тот или иной диалог. Задайте себе вопросы
примерно такого содержания: Глоссарий терминов. Глоссарий служит для того, чтобы не запутаться в различных терминах и определениях. Одно и тоже слово может обозначать различный смысл в разном контексте. Вы даже можете сами забыть значения какого-либо используемого термина. Например по завершению проекта Вы можете обнаружить, что у Вас слова «резервное копирование» и «автосохранение» стали обозначать одно и тоже действие – сохранение копии файла при выходе из программы. А изначально были задуманы, для этих терминов, разные значения. «Автосохранение» - означало сохранение файла (не копии, а выгрузка данных из памяти на диск) через определенный период времени. «Резервное копирование» - означало сохранение копии файла в определенном пользователем месте. Так вот Глоссарий терминов и определений четко определит «обязанности» каждого термина и не даст Вам запутаться. Функциональные возможности. В этом разделе следует привести подробный список функционала, т.е. конкретных действий
программы. - проигрывание файла в формате mp3 Этот список необходим для того чтобы не упустить из виду цель к которой Вы двигаетесь. Чтобы ни чего не забыть и не делать лишнего. Сопровождение. Процесс сопровождения проходит от начала до конца создания программы. Под сопровождением
понимается процесс фиксирования всех изменений и подвижек в работе, а также эволюцию
изначальной программы. Сопровождение решает вот какие задачи: Список работ. Для начала необходимо определить «фронт» работ. Напишите в виде списка, без какого либо приоритета, все виды работы которые необходимо проделать для реализации ПП. Список следует составлять по принципу «сверху вниз» т.е. сначала определить основные(базовые) элементы, а потом дробить их на более мелкие. Мелкие работы при необходимости также необходимо дробить. У каждой работы проставьте количество часов необходимых для ее реализации. Если вы начинающий программист и не знаете сколько займет у вас какая-либо работа, то расставьте «наугад». Зато потом уже Вы будете знать сколько «стоит» та или иная работа, и планировать время намного точнее. В этом и заключается основная задача «Сопровождения». Рекомендуемая минимальная работа до 1,5 часа, т.е. если Вы запишите какую-либо работу свыше 1,5 часа, то ее лучше разбить на более меньшие(например на две работы по 45 – 50 мин). График работы. Когда список работ будет составлен, можно приступать к следующему этапу - составление графика работ. Разбейте работы на группы, и выстройте из в логической последовательности. Т.е. что за чем делается. Определите сколько в день Вы будете тратить на проект и поделите на суммарное время работ, это будет суммарное время выполнения проекта. Пример графика работы:
Теперь Вы уже знаете сколько времени «стоит» Ваша программа и когда можно ожидать ее первого релиза. Хронометраж работы. Хронометраж служит для ежедневной записи, того что сделано в проекте. Т.е. каждый раз приступая к работе, фиксируйте в Design Document, что вы делали и сколько времени. Например:
По ходу работы старайтесь подробнее описывать те части кода которые пригодятся вам в будущем. Например можно параллельно с написанием основного кода писать документацию к новому классу или компоненту. Аккуратно описывайте новые реализованные алгоритмы и функции. Потратив лишних пять минут на такое описание, Вы экономите в будущем десятки часов. Вложение в комментирование кода окупается многократно. Если используется какие-либо новые компоненты(классы, ActiveX, dll и др.), то следует записывать их в «общий перечень используемых инструментов». Такая запись поможет при отладке, и документировании проекта. Если при написании программы Вы не можете реализовать какую либо задачу, которая внесена в описание, и является не критичной, то следует отказаться от нее, и не тратить зря время. При этом задачу следует внести в «список нереализованных задач» и подробно описать причину отказа от данной задачи. Следует также вести раздел «Описание слабых мест». Т.е. тех мест которые необходимо будет оптимизировать(изменить) в следующих версиях. Еще один раздел «сложные места» - это описание тех мест, где вы долго не могли разобраться. И написание комментариев для быстрого «прохождения» этого места. Итог. Итог пишется тогда, когда вы уже выпустили первый релиз программы. Теперь вы можете оглянутся назад и окинуть взглядом проделанную работу. Это этап анализа о проделанной работе. Подумайте, что вы сделали не так, чего не хотелось бы повторять. Сделайте правильные выводы и приступайте к дальнейшим этапам разработки ПО, например можно начать тестировать программу на других компьютерах и операционных системах. На этом этапе обязательно заполните следующие разделы: - Количество потраченных часов (дней). В дальнейшем вам будет интересно посмотреть сколько времени тратилось на то или иное дело. Когда у вас будет несколько проектов можно будет провести сравнение и анализ. - Нововведения. Что нового вы применили по ходу создания ПП, что нового узнали. Что наоборот, помешало вам реализовать ту или иную функцию, с какими проблемами Вы столкнулись. - Рекомендации для следующей версии. Итак, теперь вы знаете как эффективно организовать создание программного проекта. Главное здесь - это поэтапное фиксирование и анализ всего процесса создания ПО от начала до конца. Данная статья не претендует на полноту охвата данной темы, она является субъективным мнением автора. Автор уверен, что данная статься поможет в разработке и сопровождении Ваших программ. Успехов!
*** Смотрите также:Все статьи рубрики Software |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||