Файл: Технология раработки програмного обеспечения УП.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

 

 
 

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

в фазе исследований ......................................................209 

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

в фазе анализа осуществимости ...................................211 

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

в фазе конструирования (проектирования) .................213 

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

в фазе программирования .............................................214 

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

в фазе оценки..................................................................217 

8.3.6 Окончание проекта..........................................................219 
8.3.7 Участие группы разработки в фазовых обзорах ..........220 

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

изделия....................................................................................222 

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

обслуживания.................................................................223 

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

изделия в фазе исследования ........................................223 

8.4.3 Организация обслуживания в фазах анализа 

осуществимости и конструирования ...........................224 

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

программирования и оценки.........................................226 

8.4.5 Организация обслуживания в фазе использования .....228 
8.4.6 Участие группы обслуживания в фазовых обзорах .....230 

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

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

документации.................................................................231 

8.5.2 Стандарты и практические руководства.......................233 
8.5.3 Организация выпуска документации в фазах 

исследований и анализа осуществимости ...................235 

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

конструирования и программирования .......................236 

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

оценки и использования................................................238 

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

обзорах............................................................................239 

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


background image

 

 

 
 

8.6.1 Современное состояние методов обеспечения 

качества программного изделия...................................241 

8.6.2 Организационная структура группы испытаний .........246 
8.6.3 Организация испытаний в фазах исследований 

и анализа осуществимости............................................249 

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

и программирования......................................................250 

8.6.5 Организация испытаний в фазе оценки ........................251 
8.6.6 Организация испытаний в фазе использования ...........254 
8.6.7 Участие группы испытаний в фазовых обзорах...........254 

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

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

 


background image

 

 

 
 

ВВЕДЕНИЕ

ПРОБЛЕМЫ

 

СОВРЕМЕННОГО

 

ПРОГРАММИРОВАНИЯ

 

Первый

 

этап

 

развития

 

программирования

 

в

 

первую

 

оче-

редь

 

был

 

связан

 

с

 

накоплением

 

опыта

 

в

 

приобретении

 

техниче-

ских

 

(стандартных)

 

навыков

 

написания

 

программ.

 

Однако

 

по

 

мере

 

развития

 

средств

 

вычислительной

 

техники

 

и

 

накопления

 

этих

 

навыков

 

существенно

 

изменилось

 

положение.

 

Возникли

 

естественные

 

вопросы

 

 

продолжаем

 

ли

 

мы

 

делать

 

ошибки?;

 

является

 

ли

 

сам

 

процесс

 

написания

 

программ

 

правильным?;

 

не

 

возникла

 

ли

 

необходимость

 

в

 

создании

 

новых

 

методов

 

разра-

ботки

 

программного

 

обеспечения?

 

Ответом

 

на

 

эти

 

вопросы

 

и

 

занимается

 

научная

 

дисципли-

на

 

 

методы

 

(технология)

 

разработки

 

программного

 

обеспече-

ния.

 

Круг

 

вопросов,

 

который

 

рассматривает

 

данная

 

дисциплина,

 

связан

 

с

 

классическими

 

составляющими

 

программирования:

 

 

написанием

 

спецификаций;

 

 

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

 

 

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

 

и

 

 

функционированием

 

программ.

 

Практическую

 

значимость

 

данной

 

дисциплины

 

можно

 

проиллюстрировать путем сопоставления

 

состояний

 

дел

 

по

 

раз-

работке

 

технических

 

систем

 

и

 

больших

 

программных

 

систем.

 

 

В

 

1958

 

году

 

в

 

США

 

приступили

 

к

 

строительству

 

Верра

-

цано-Нарроуского

 

моста.

 

По

 

расчетам

 

инженеров

 

затра-

ты

 

на

 

строительство

 

определялись

 

в

 

размере

 

325

 

млн

 

$,

 

а

 

работы

 

планировалось

 

завершить

 

в

 

1965

 

году.

 

Это

 

са-

мый

 

большой

 

подвесной

 

мост

 

в

 

мире.

 

Работы

 

по

 

нему

 

завершились

 

в

 

ноябре

 

1964

 

года

 

в

 

соответствии

 

с

 

про-

ектной

 

сметой.

 

 

Приблизительно

 

в

 

это

 

же

 

самое

 

время

 

производилась

 

разработка

 

операционной

 

системы

 

OS

 

фирмы

 

IBM.

 

По

 

планам

 

разработчиков

 

длительность

 

разработки

 

со-

ставляла

 

5000

 

человеко-лет.

 

Но

 

несмотря

 

на

 

все

 

воз-

можные

 

принятые

 

фирмой

 

меры,

 

завершилась

 

на

 

4

 

го-

да

 

позже

 

планируемого

 

срока.

 


background image

 

 

 
 

Возникает

 

вопрос,

 

почему

 

в

 

технических

 

системах

 

воз-

можен

 

достаточно

 

точный

 

прогноз,

 

тогда

 

как

 

при

 

разработке

 

программных

 

систем

 

он

 

оказывается

 

несостоятельным?

 

Частично

 

на

 

этот

 

вопрос

 

можно

 

ответить

 

следующим

 

об-

разом

 

 

инженеру

 

проще

 

предусмотреть

 

возрастающую

 

слож-

ность

 

строительства,

 

вызванную

 

увеличением

 

размеров

 

моста,

 

чем

 

разработчику

 

программного

 

обеспечения

 

определить

 

слож-

ность

 

программы

 

большого

 

размера.

 

В

 

настоящем

 

курсе

 

мы

 

будем

 

рассматривать

 

методы

 

и

 

технические

 

приемы,

 

введение

 

которых

 

позволит

 

уменьшить

 

стоимость

 

и

 

повысить

 

надежность

 

программ.

 

В

 

общем

 

случае

 

методы

 

разработки

 

программного

 

обес-

печения

 

не

 

есть

 

программирование,

 

хотя

 

программирование

 

со-

ставляет

 

важную

 

ее

 

часть.

 

Данный

 

предмет

 

также

 

не

 

сводится

 

к

 

проблеме

 

изучения

 

компиляторов

 

и

 

операционных

 

систем,

 

хотя

 

они

 

также

 

играют

 

существенную

 

роль

 

в

 

рассматриваемой

 

тех-

нологии.

 

Точно

 

так  же

 

проблемы

 

электронной

 

техники,

 

струк-

туры

 

ЭВМ

 

не

 

являются

 

предметом

 

исследований,

 

хотя

 

и

 

их

 

знание

 

в

 

данном

 

предмете

 

необходимо.

 

Методы

 

разработки

 

программного

 

обеспечения

 

 

это

 

синтезированная

 

дисциплина,

 

в

 

которой

 

для

 

составления

 

алго-

ритмов

 

используются

 

математические

 

методы,

 

для

 

оценки

 

за-

трат

 

и

 

выбора

 

компромиссных

 

решений

 

 

методы

 

инженерных

 

расчетов,

 

для

 

определения

 

требований

 

к

 

системе,

 

учета

 

ситуа-

ций,

 

связанных

 

с

 

потерями,

 

организации

 

работы

 

исполнителей

 

и

 

прогнозирования

 

 

методы

 

управления.

 

Все

 

это

 

и

 

будет

 

пред-

метом

 

наших

 

исследований.

 


background image

 

 

 
 

10

ЭТАПЫ

 

РАЗРАБОТКИ

 

ПРОГРАММНОГО

 

ОБЕСПЕЧЕНИЯ

 

Естественно,

 

что

 

отдельный

 

человек

 

не

 

в

 

состоянии

 

пол-

ностью

 

осмыслить

 

и

 

построить

 

программное

 

обеспечение

 

боль-

шой

 

системы.

 

Для

 

управления

 

ходом

 

разработки

 

больших

 

про-

граммных

 

систем

 

выделяются

 

шесть

 

этапов,

 

составляющих

 

цикл

 

разработки

 

(цикл

 

жизни)

 

программного

 

обеспечения:

 

 

1)

 

анализ

 

требований,

 

предъявляемых

 

к

 

системе;

 

 

2)

 

определение

 

спецификаций;

 

 

3)

 

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

 

 

4)

 

кодирование;

 

 

5)

 

тестирование:

 

 

 

а)

 

автономное;

 

 

 

б)

 

комплексное;

 

 

6)

 

эксплуатация

 

и

 

сопровождение.

 

 

Рис.

 

2.1

 

 

Распределение

 

затрат

 

по

 

этапам

 

разработки

 

На

 

диаграмме

 

(рис.

 

2.1)

 

показано

 

приблизительное

 

рас-

пределение

 

затрат

 

на

 

реализацию

 

отдельных

 

этапов

 

разработки.

 

Рассмотрим

 

определение

 

каждого

 

из

 

этих

 

этапов.

 

Анализ

 

требований

 

(10%)

 

Определение

 

специ-

фикаций

 

(10%)

 

Проектирование

 

(15%)

 

Кодирование

 

(20%)

 

Автономное

 

тести-

рование

 

(25%)

 

Комплексное

 

тестирова-

ние

 

(20%)