Разрабатываемые документы
|
|
Прежде всего, следует отметить, что под «Техническим проектом» может пониматься как один сводный документ (чаще для небольших и средних программных систем), так и целый набор (комплект) документации (для крупных систем).
Определить суть данного артефакта, наверное, правильнее всего через понятие «проектирование ПО». Технический проект – это документ или набор документов, являющийся основным результатом (выходом) процесса проектирования. Процесс проектирования в свою очередь присутствует в том или ином виде абсолютно во всех серьезных методологиях создания ПО, поскольку отражает фундаментальный житейский принцип «прежде чем сделать что-то, необходимо хорошо подумать как это сделать лучше» или короче «сем раз отмерь, один раз отрежь». Технический проект необходим для того, чтобы зафиксировать результаты этого обдумывания даже в случае, если созданием программы занимается всего лишь один человек, не говоря уже о командной разработке.
Технический проект используется разработчиками при программировании спроектированного программного продукта. В его «принципиальной части» он может использоваться при обсуждении и согласовании ключевых проектных решения с Заказчиком. Также технический проект может быть очень полезен другим техническим и не очень техническим специалистам в решении самых разнообразных задач.
Основное требование к техническому проекту – ясное и четкое отражение того, как должно быть реализовано решение. Причем, четкое понимание реализации на требуемом уровне абстракции должно сложиться после прочтения технического проекта у заинтересованной стороны любого уровня: Заказчика, бизнес-аналитика, системного аналитика, разработчика, тестировщика, внедренца и т.п.
Исходя из основного требования, в технических проектах обычно решение описывается «сверху вниз» - от самого высокого уровня абстракции до деталей реализации отдельных элементов. Соответственно, в работе над различными частями технического проекта могут принимать участие разные специалисты: системный аналитик, архитектор, ведущий разработчик и т.п.
Для обозначения «Технического проекта» в различных системах и методологиях могут использоваться разные термины. Так в отечественных ГОСТах 34.201-89, 34.601-90 и РД 50-34.698.90 под «Технический проект» в описанных выше границах подпадает несколько десятков документов, создаваемых на стадиях «Эскизный проект», «Технический проект» и частично «Рабочая документация». В рамках MSF выделяются понятия концептуальный, логический и физический дизайн, по своей сути в совокупности также эквивалентные понятию «Технический проект». В предлагаемых в последнее время «шаблонах процессов разработки» (например, для Microsoft Team Foundation Server) также присутствуют самые разные сущности проектирования, которые не перечесть, однако все они будут так или иначе укладываться в понятие «Технический проект», поскольку отражают те же самые философские принципы и специфику разработки программных продуктов.
|
|
Примеры технических проектов из моих работ:
Описание постановки задачи на разработку (концептуальный и логический дизайн)
Описание постановки задачи на разработку (концептуальный и логический дизайн)
Описание постановки задачи на разработку (концептуальный и логический дизайн)
Описание архитектуры программного обеспечения контакт-центра
|