- •Раздел 2.Технология создания программ Тема 2.1.Интегрированная среда программирования
- •Тема 2.2.Жизненный цикл программного обеспечения (Этапы подготовки и решения задач на эвм)
- •Анализ требований (постановка задачи, обследование)
- •Определение спецификаций
- •Кодирование
- •Тестирование, отладка и оптимизация
- •Внедрение и сопровождение
Анализ требований (постановка задачи, обследование)
При разработке программного обеспечения этот этап исключительно важен. Ошибки, допущенные на этом этапе, даже при условии безупречного выполнения последующих этапов могут привести к тому, что разработанный программный продукт не будет соответствовать требованиям практики, сферы его применения.
Для создания конкурентоспособных продуктов в ходе выполнения этого этапа должны быть получены четкие ответы на следующие вопросы:
Что должна делать программа?
В чем состоят реальные проблемы, разрешению которых она должна способствовать?
Что представляют собой входные данные?
Какими должны быть выходные данные?
Ответы на вопросы этого этапа должны быть зафиксированы в документе, называемым «задание на разработку», который должен быть подписан представителями заказчика и исполнителя. Этот документ должен содержать следующие укрупненные разделы:
общая характеристика задачи;
описание входных данных;
описание выходных данных;
описание алгоритмов решения задачи;
источники разработки.
Определение спецификаций
В определенной степени этот этап можно рассматривать как формулировку выводов, следующих из результатов предыдущего этапа. Требования к программе должны быть представлены в виде ряда спецификаций, явно определяющих рабочие характеристики будущей программы. В число таких характеристик могут входить скорость выполнения, объем потребляемой памяти, гибкость применения и др.
Данный этап должен завершиться составлением и подписанием документа «Техническое задание», в котором, как правило, содержатся следующие разделы
название системы (полное и сокращенное название, версию);
цели создания;
характеристика области применения;
перечень автоматизируемых функций и требования к системе в целом (требования к соблюдению режимов безопасности, функциональной согласованности, к интерфейсу, степень взаимодействия с другими программами);
информационная база (все используемые файлы, их структура, организация взаимодействия пользователя с данными);
программное обеспечение (интегрированные среды программирования, СУБД);
аппаратное обеспечение (обычно указывается нижние пределы характеристик аппаратного обеспечения, но следует указать и оптимальную конфигурацию);
график работ.
В некоторых разделах техническое задание похоже на задание на разработку, с тем отличием, что в техническом задании указывается не то, как данные обрабатываются в настоящей момент, а как они должны обрабатываться создаваемой программой.
Проектирование
На этом этапе создается общая структура программы, которая должна удовлетворять спецификациям; определяются общие принципы управления и взаимодействия между различными компонентами программы.
Современные программы разрабатываются на основе модульной технологии. В качестве модульной структуры программы принято использовать древовидную структуру. В вершинах такого дерева размещаются программные модули, а стрелки указывают их подчиненность. В тексте модуля, из которого исходит стрелка, должна быть ссылка на тот модуль, на который она показывает. Другими словами, каждый модуль может обращаться только к подчиненным ему модулям.
На этапе проектирования необходимо описать модульное дерево, то есть количество модулей, их подчиненность, для каждого модуля определить функциональность. Для каждого модуля должна быть составлено собственное описание – спецификация. Сложно ввести стандарт на степень детализации спецификации модуля, но обычно придерживаются следующих рекомендаций. В спецификации модуля приводится только интерфейсная часть. Можно высказать пожелания к общим типам данных и классов объектов, которые может быть доступны из других модулей. Если описываются спецификации на подпрограммы, в них указывает назначение подпрограммы, а также количество и тип формальных параметров, их порядок, тип возвращаемого значения для функции. Кроме того, следует указать изменение изображение на экране или вывод печатного документа, который может произойти в результате вызова подпрограммы.