Проектирование программного обеспечения

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

Создаем архитектуру ПО и находим технические решения.

Пишем техзадание (ТЗ).

Моделируем бизнес-процессы и рисуем организационные диаграммы.

Макетируем интерфейс.

Составляем план-график работ.

Оцениваем риски и спасаем проект.

Совместное проектирование

Описывая пользу, заказчик зачастую не понимает тонкостей реализации и поэтому не может предлагать пути решения задачи. Максимально эффективен двухступенчатый процесс, на первой стадии которого заказчик перечисляет требования к тому, как софт должен выглядеть; инженер же добавляет алгоритмические описания. Так учитываются мнения обеих заинтересованных сторон.

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

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

Техзадание

ГОСТ предлагает некоторые стадии проектирования и получаемые на выходе артефакты. Объем документа почти всегда свидетельствует о детальности описания задачи. Не стоит писать текст маленькой задачи в 1 человеко-день на 20 страницах в доскональном соответствии с ГОСТ. На большом проекте недостаточно описания на 1–2 страницах «крупными мазками».

Проектирование может обеспечиваться чисто «ручным» написанием текстов, а также софтверными средствами с использованием различных нотаций: списков требований, графиков, схем, диаграмм, макетов. Результат овеществляется в детальном описании внутренних алгоритмов и спецификации видимых свойств ПО.

Примеры технических заданий