Основные этапы проектирования программных продуктов
1. Составление технического задания на программирование
Этап анализа и спецификации программ, жизненного цикла программных продуктов. При составлении технического задания требуется:
- определить платформу разрабатываемой программы – тип операционной системы;
- определить необходимость разработки программы, которую можно переносить на различные платформы;
- выбрать методы решения задачи;
- разработать обобщенный алгоритм решения комплекса задач, функциональную структуру алгоритма или состав объектов;
- определить требования к комплексу технических средств системы обработки информации, интерфейсу конечного пользователя.
2. Технический проект
На данном этапе выполняется комплекс наиболее важных работ, а именно:
- с учетом принятого подхода к проектированию программного продукта разрабатывается детальный алгоритм обработки данных или уточняется состав объектов и их свойств, методов обработки, событий, запускающих методы обработки;
- определяется состав общесистемного программного обеспечения, включающий базовые средства;
- разрабатывается внутренняя структура программного продукта, образованная отдельными программными модулями;
- осуществляется выбор инструментальных средств разработки программных модулей.
Работы данного этапа в существенной степени зависят от принятых решений по технической части системы обработки данных и операционной среде, от выбранных инструментальных средств проектирования алгоритмов и программ, технологии работ.
3. Рабочая документация (рабочий проект)
На данном этапе осуществляется адаптация базовых средств программного обеспечения (операционной системы, СУБД, инструментальных сред конечного пользователя - текстовых редакторов, электронных таблиц и т.п.). Выполняется разработка программных модулей или методов обработки объектов – собственно программирование или создание программного кода. Проводятся автономная и комплексная отладка программного продукта, испытание работоспособности программных модулей и базовых программных средств. Для комплексной отладки готовится контрольный пример, который позволяет проверить соответствие возможностей программного продукта заданным спецификациям.
Основной результат работ этого этапа – создание эксплуатационной документации на программный продукт, включающей:
- описание применения – дает общую характеристику программного изделия с указанием сферы его применения, требований к базовому программному обеспечению, комплексу технических средств;
- руководство пользователя – включает детальное описание функциональных возможностей и технологии работы с программным продуктом. Данный вид документации ориентирован на конечного пользователя и содержит необходимую информацию для самостоятельного освоения и нормальной работы пользователя (с учетом требуемой квалификации пользователя);
- руководство программиста (оператора) – указывает особенности установки (инсталляции) программного продукта и его внутренней структуры – состав и назначение модулей, правила эксплуатации и обеспечения надежной и качественной работы программного продукта.
В ряде случаев на данном этапе для программных продуктов массового применения создаются обучающие системы, демоверсии, гипертекстовые системы помощи.
4. Ввод в действие
Готовый программный продукт сначала проходит опытную эксплуатацию (пробный рынок продаж), а затем сдается в промышленную эксплуатацию (тиражирование и распространение программного продукта).
Каждый программный продукт обладает такой характеристикой как жизненный цикл.
Жизненный цикл программных продуктов (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.
Откуда вы взяли всю эту информацию? — спрашиваю, т.к. выглядит очень сомнительно:
Мне кажется, что
1. первые 2 пункта из «Составление технического задания на программирование» противоречат друг другу;
2. на втором этапе (технический проект) первым пунктом сразу составляется детальный алгоритм? — так бывает?
3. почему сначала разрабатывается детальный алгоритм, а потом уже (третьим пунктом) — структура ПО?
4. почему структура ПО разрабатывается до выбора инструментов? — инструменты очень часто сильно влияют на структуру. Простой пример — пишем сервер, инструменты — Java, Cи или Erlang. Какой смысл прорабатывать детальный алгоритм и структуру ПО для Java, если ПОТОМ мы решим использовать Erlang?
5. вы пишите что результатом этапа составления «рабочей документации» является собственно документация. Дак почему на этом этапе «Выполняется разработка программных модулей или методов обработки объектов – собственно программирование или создание программного кода»?
По теме статьи есть шикарная книжка Фатрелла, кстати. Есть и ГОСТы еще, но я их не читал (наверняка там описана лишь водопадная модель как у вас, но наверняка там этап написания кода отделен от составления документации и тестирование тоже стопудово есть…)
Информацию я взяла из своего конспекта, а откуда она там — уже не помню точно. Согласна, что многие вопросы здесь являются спорными.
1. Первые два пункта из составления технического задания предполагают выбор платформы, под которую составляется ПО, а также необходимость кроссплатформенности. Например, если нужна кроссплатформенность, то на ассемблере составлять ПО затруднительно.
2. Имеется в виду детальный алгоритм ОБРАБОТКИ ДАННЫХ, уточняется, какие данные предстоит обрабатывать.
3. После того, как определились с данными, разрабатывается структура ПО.
4. Возможно, отчасти с Вами соглашусь. К сожалению, я с Erlang не знакома.
5. Разработка программных модулей относится к составлению рабочего проекта, который находится в одном этапе с рабочей документацией. На этом же этапе производится и отладка.
Начсет книги, я так понимаю, имеется в виду
Роберт Т. Фатрелл, Дональд Ф. Шафер, Линда И. Шафер
Управление программными проектами. Достижение оптимального качества при минимуме затрат?