Этапы разработки программного обеспечения
Профессиональное программирование подразумевает, что результатом труда, – программным продуктом, – будет пользоваться определенный круг людей, пользователей. На этапе разработки программы, в которой может участвовать группа людей, пользователей представляет Заказчик.
Для выполнения задачи создания и эксплуатации программного обеспечения ее разбивают на определенные этапы:
1. Постановка задачи.
2. Составление алгоритма.
3. Составление и ввод программы.
4. Отладка и тестирование программы.
5. Сопровождение программного продукта.
Создание любой программы начинается с постановки задачи. Изначально задача ставится в терминах некоторой предметной области, и необходимо перевести ее в понятия и выражения, более близкие к программированию. Поскольку программист первоначально редко досконально разбирается в предметной области, а Заказчик – в программировании, то постановка задачи может стать весьма непростым итерационным процессом.
Постановка задачи заканчивается созданием технического задания, а затем и внешней спецификации программы, которая включает в себя:
1. Описание исходных данных и результатов (виды, представление, точность, ограничения и т.п.).
2. Описание задачи, реализуемой программой.
3. Способ обращения к программе.
4. Описание возможных особых и аварийных ситуаций и ошибок пользователя.
На этом этапе программа рассматривается как «черный ящик», для которого определяется выполняемая им функция, входные и выходные данные. Каким образом достигается выполнение функций, здесь не указывается.
На втором этапе разрабатываются алгоритмы, задаваемые спецификациями, и формируется (проектируется) общая структура программ [3]. Здесь обычно применяется технология нисходящего проектирования с использованием метода пошаговой детализации. То есть сначала составляется укрупненный алгоритм в самом общем виде. Затем уточняются шаги (блоки) с более подробным описанием. На этом этапе описания производятся на языке, понятном человеку, используя определенную форму записи алгоритма. В программировании широко используется графическая форма записи в виде блок-схем или граф-схем.
Третий этап как раз и является непосредственно программированием на языке, понятном ЭВМ. По своей сути третий этап является продолжением второго, так как программа тоже есть форма записи алгоритма с максимальной степенью детализации, – программная.
Изучению одного из языков программирования высокого уровня и посвящается данный курс.
Четвертый этап подразумевает устранение всех ошибок и недопониманий, возникших на предыдущих этапах. Человеку свойственно ошибаться, поэтому четвертому этапу уделяется много внимания.
Существуют самые разнообразные методы и рекомендации по тестированию и отладке. Необходимо различать эти два понятия. Тестирование представляет собой процесс, посредством которого проверяется правильность функционирования программы и соответствие всем проектным спецификациям. В частности, для этих целей создается набор тестов. Отладка – процесс исправления ошибок в программе. Так, при отладке исправляются синтаксические ошибки, алгоритмические, ошибки, обнаруженные при тестировании и другие.
Пятый этап наступает, когда программный продукт сдан в эксплуатацию (или начались его продажи). Здесь так же возможно обнаружение не найденных на этапе тестирования ошибок, – их необходимо локализовать и исправить. Кроме этого, возможно изменение свойств программы для удобства эксплуатации: элементов интерфейса, некоторых функций и т.д. Казалось бы, пятый этап самый простой. Но ему отводится самая большая часть затрат времени и средств: до половины и более.
Все эти этапы разработки и сопровождения программного продукта, включая завершение поддержки эксплуатации, составляют жизненный цикл программы.
Возможно и другое деление на этапы [1] с приблизительным делением по времени реализации, как указано на рис. 1.1:
1. Анализ требований.
2. Определение спецификаций.
3. Проектирование.
4. Кодирование.
5. Автономное тестирование.
6. Комплексное тестирование.
Рис. 1.1. Временные затраты на реализацию этапов цикла разработки программного обеспечения (за исключением этапа эксплуатации и сопровождения) [1]
На последний же этап эксплуатации и сопровождения объемных программных продуктов отводится более половины времени: до 67% от общего времени жизненного цикла.
Классическим называется следующий набор технологических этапов (процессов) [2]:
1. Возникновение и исследование идеи
2. Управление
3. Анализ требований
4. Проектирование
5. Программирование
6. Тестирование и отладка
7. Ввод в действие
8. Эксплуатация и сопровождение
9. Завершение эксплуатации
Процессы жизненного цикла программного обеспечения определены международным стандартом ISO 12207 [ISO/IEC 12207:1995] и делятся на три группы (без привязки ко времени) [2]:
· Основные процессы: приобретение, поставка, разработка, эксплуатация, сопровождение.
· Вспомогательные процессы: документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем.
· Организационные процессы: управление, создание инфраструктуры, усовершенствование, обучение.
Дата добавления: 2016-06-29; просмотров: 8202;