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

8.3 Организация разработки программного изделия 215

8.3.1 Организация разработки программного изделия в фазе исследований 216

8.3.2 Организация разработки программного изделия в фазе анализа осуществимости 218

8.3.3 Организация разработки программного изделия в фазе конструирования (проектирования) 220

8.3.4 Организация разработки программного изделия в фазе программирования 221

8.3.5 Организация разработки программного изделия в фазе оценки 224

8.3.6 Окончание проекта 226

8.3.7 Участие группы разработки в фазовых обзорах 228

8.4 Организация обслуживания разработки программного изделия 230

8.4.1 Организационная структура группы обслуживания 230

8.4.2 Организация обслуживания программного изделия в фазе исследования 231

8.4.3 Организация обслуживания в фазах анализа осуществимости и конструирования 232

8.4.4 Организация обслуживания в фазе программирования и оценки 233

8.4.5 Организация обслуживания в фазе использования 236

8.4.6 Участие группы обслуживания в фазовых обзорах 237

8.5 Организация выпуска документации 239

8.5.1 Организационная структура группы выпуска документации 239

8.5.2 Стандарты и практические руководства 241

8.5.3 Организация выпуска документации в фазах исследований и анализа осуществимости 244

8.5.4 Организация выпуска документации в фазах конструирования и программирования 245

8.5.5 Организация выпуска документации в фазах оценки и использования 246

8.5.6 Участие группы выпуска документации в фазовых обзорах 247

8.6 Организация испытаний программных изделий 248

8.6.1 Современное состояние методов обеспечения качества программного изделия 249

8.6.2 Организационная структура группы испытаний 254

8.6.3 Организация испытаний в фазах исследований и анализа осуществимости 257

8.6.4 Организация испытаний в фазах конструирования и программирования 258

8.6.5 Организация испытаний в фазе оценки 259

8.6.6 Организация испытаний в фазе использования 262

8.6.7 Участие группы испытаний в фазовых обзорах 263

Контрольные вопросы 264

Список литературы 265

1 Введение. Проблемы современного программирования

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

Ответом на эти вопросы и занимается научная дисциплина — методы (технология) разработки программного обеспечения. Круг вопросов, который рассматривает данная дисциплина, связан с классическими составляющими программирования:

  • написанием спецификаций;

  • проектированием;

  • тестированием и

  • функционированием программ.

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

  • В 1958 году в США приступили к строительству Вер­ра­ца­но-Нарроуского моста. По расчетам инженеров затраты на строительство определялись в размере 325 млн $, а работы планировалось завершить в 1965 году. Это самый большой подвесной мост в мире. Работы по нему завершились в ноябре 1964 года в соответствии с проектной сметой.

  • Приблизительно в это же самое время производилась разработка операционной системы OS фирмы IBM. По планам разработчиков длительность разработки составляла 5000 человеко-лет. Но несмотря на все возможные принятые фирмой меры, завершилась на 4 года позже планируемого срока.

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

Частично на этот вопрос можно ответить следующим образом — инженеру проще предусмотреть возрастающую сложность строительства, вызванную увеличением размеров моста, чем разработчику программного обеспечения определить сложность программы большого размера.

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

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

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