Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_200309.doc
Скачиваний:
39
Добавлен:
24.12.2018
Размер:
4.38 Mб
Скачать

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

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

  1. Создание спецификации программы. Определение требований к программе.

  2. Проектирование программы. Разработка концепции, позволяющей воплотить требо­вания спецификации в работающей программе. Она определяет пути реализации функциональности, описанной в спецификации, средствами языка программиро­вания высокого уровня, например С#.

  3. Написание программы. Разработка и написание исходного кода программы.

  4. Тестирование и отладка программы. Необходимо проверить, отвечает ли программа требованиям, определенным в спецификации.

Эти этапы должны выполняться в указанной здесь последовательности. Однако иногда возникают ситуации, когда для продолжения работы над программой необходим воз­врат к предыдущему этапу. Рассмотрим каждый из этапов более подробно.

Создание спецификации программы. Оп­ределение цели — первый шаг к ее достижению. Часто решение скрыто в самой спе­цификации. Известно, что правильно сформулированная проблема уже содержит свое решение. Вот пример очень простой спецификации программы: "Программа должна уметь вы­числять среднее значение двух чисел".

Проектирование программы. Проектирование программы может включать множество различных действий в за­висимости от размера и характера конкретного проекта. Большой проект может включать несколько стадий, описанных ниже.

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

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

  3. Определение данных и методов в каждом модуле. Службы, предлагаемые модуля­ми, делятся на удобные части, достаточно компактные, чтобы их можно было реализовать в рамках одного метода. Каждой части модуля назначается свой ме­тод и, соответственно, каждый метод получает определенную функциональность. И, наконец, создатели программы определяют данные, которые могут быть пред­ставлены этим модулем.

  4. Внутреннее проектирование методов. Проектированием на этом уровне обычно занимается программист, разрабатывающий конкретный метод. На данном этапе разрабатываются алгоритмы выполнения очень узких, конкретных задач и пи­шутся первые операторы на языке высокого уровня, — например, на С#.

Написание программы. "Настоящие" операторы пишутся на С#. Данная часть процесса создания ПО обя­зательно присутствует в проектах любого масштаба.

Тестирование и отладка программы. Программа подвергается различным тестам (как во время написания, так и после него). Тесты необходимы, чтобы убедиться, что программа выполняет именно то, что должна выполнять. Тестирование, в частности, позволяет обнаружить (и испра­вить) ошибки, допущенные в процессе проектирования и написания программы. Чтобы написать корректную программу, необходимо с тщательностью подходить к проектированию всех ее элементов и написанию исходного кода. Однако людям свойственно ошибаться, и ошибки (им соответствует английское слово bugs) закра­дываются в программу самыми разными, иногда совершенно неожиданными путя­ми. Процесс поиска и устранения ошибок называется отладкой (английский тер­мин — debugging, от bug).

Небольшие, неформальные проекты (например, многие из программ, с которыми читатель столкнется в данной книге) часто включают лишь уровни 3 и 4. Программист может выполнить их, сидя перед компьютером. Стадия проектирования программы ре­ализуется либо в голове у программиста, либо на листке бумаги в форме нескольких диаграмм, либо в виде поиска нескольких стандартных алгоритмов в учебнике.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]