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

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

 

 

 
 

26

программы,

 

хранящиеся

 

в

 

библиотеке?

 

Следует

 

ли

 

исходить

 

из

 

строк

 

или

 

операторов

 

начального

 

текста?

 

В

 

зависимости

 

от

 

от-

ветов

 

на

 

эти

 

вопросы

 

количество

 

строк

 

кода

 

может

 

меняться

 

в

 

2–4

 

раза.

 

Эффективность

 

действия

 

отдельного

 

программиста

 

в

 

зна-

чительной

 

мере

 

зависит

 

от

 

типа

 

задачи.

 

Организация

 

работы

 

программиста

 

также

 

влияет

 

на

 

результаты

 

труда.

 

Например,

 

в

 

условиях

 

дефицита

 

времени

 

очень

 

мало

 

внимания

 

уделяется

  

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

 

Однако

 

т.к.

 

 

70 %

 

общих

 

затрат

 

идет

 

на

 

сопро-

вождение,

 

экономия

 

времени

 

на

 

разработку

 

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

 

мо-

жет

 

оказаться

 

пагубной.

 

Один

 

из

 

методов

 

решения

 

поставленных

 

проблем

 

может

 

состоять

 

в

 

учреждении

 

должности

 

библиотекаря,

 

осуществ-

ляющего

 

функции

 

интерфейса

 

между

 

программистом

 

и

 

ЭВМ.

 

Программы

 

кодируются

 

и

 

передаются

 

библиотекарю

 

для

 

вклю-

чения

 

их

 

в

 

оперативную

 

системную

 

библиотеку.

 

Отладка

 

мо-

дулей

 

осуществляется

 

программистом,

 

однако

 

изменение

 

офи-

циальной

 

копии

 

программы

 

в

 

библиотеке

 

осуществляется

 

толь-

ко

 

библиотекарем.

 

Использование

 

библиотеки

 

еще

 

более

 

рас-

ширяется

 

при

 

наличии

 

оперативной

 

системы

 

управления

 

дан-

ными.

 

Введение

 

должности

 

библиотекаря

 

имеет

 

еще

 

один

 

по-

ложительный

 

эффект:

 

все

 

изменения

 

в

 

программных

 

модулях

 

системной

 

библиотеки

 

производит

 

один

 

человек,

 

поэтому

 

этим

 

процессом

 

легко

 

управлять.

 

Подобный

 

подход

 

позволяет

 

пре-

дотвратить

 

неоправданные

 

изменения

 

и

 

побуждает

 

программи-

ста

 

тщательно

 

обдумывать

 

каждое

 

из

 

них.

 

При

 

этом

 

руководи-

тель

 

получает

 

возможность

 

осуществлять

 

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

 

кон

-

троль

 

за

 

ходом

 

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

 

и

 

облегчается

 

проверка

 

состоя-

ния

 

работ.

 

При

 

крупномасштабных

 

проектах

 

для

 

написания

 

доку-

ментации

 

привлекаются

 

технические

 

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

 

что

 

позво-

ляет

 

освободить

 

программистов

 

для

 

более

 

квалифицированных

 

работ.

 

В

 

крупных

 

организациях

 

(фирма

 

IBM)

 

создается

 

бригада

 

главного

 

программиста.

 

При

 

создании

 

бригады

 

исходят

 

из

 

того,

 

что

 

программисты

 

имеют

 

различные

 

уровни

 

квалификации.

 

Ор-


background image

 

 

 
 

27

ганизация

 

бригады

 

главного

 

программиста

 

является

 

одним

 

из

 

путей

 

уменьшения

 

количества

 

коммуникаций

 

(рис.

 

3.3).

 

 

Рис.

 

3.3

 

 

Снижение

 

количества

 

взаимосвязей

 

при

 

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

 

бригады

 

главного

 

программиста

 

3.1.2 Методика оценки затрат 

Одним

 

из

 

важнейших

 

аспектов

 

процесса

 

разработки

 

про-

граммного

 

обеспечения

 

является

 

оценка

 

необходимых

 

ресурсов

 

или

 

требуемых

 

затрат.

 

3.1.2.1 Методика инженерно-технической оценки затрат 

Базовая

 

методика

 

оценки

 

затрат

 

заключается

 

в

 

следую-

щем:

 

Шаг

 

1.

 

Формируются

 

общие

 

требования

 

к

 

системе

 

исходя

 

из

 

существующего

 

технического

 

задания.

 

Потенциальных

 

раз-

работчиков

 

информируют

 

о

 

том,

 

что

 

ожидают

 

от

 

системы.

 

Этот

 

документ

 

именуют

 

«списком

 

пожеланий».

 

Для

 

более

 

точного

 

определения

 

требуемых

 

ресурсов

 

проводится

 

анализ

 

требова-

ний.

 

Шаг

 

2.

 

Собирается

 

аналогичная

 

информация,

 

например

 

данные

 

о

 

подобных

 

системах.

 

Шаг

 

3.

 

Отбираются

 

основные

 

релевантные

 

данные.

 

Шаг

 

4.

 

Проводится

 

предварительная

 

оценка.

 

Шаг

 

5.

 

Проводится

 

окончательная

 

оценка

 

системы.

 

Основной

 

этап

 

этой

 

работы

 

 

шаг

 

4.

 

При

 

его

 

выполне-

нии

 

проводятся

 

следующие

 

действия.

 

Шаг

 

.

 

Сравнение

 

проектируемой

 

системы

 

с

 

подобными

 

уже

 

разработанными

 

системами.

 


background image

 

 

 
 

28

Шаг

 

.

 

Разбиение

 

системы

 

на

 

части

 

и

 

сравнение

 

каждой

 

из

 

этих

 

частей

 

с

 

подобными

 

ей

 

частями

 

других

 

систем.

 

Шаг

 

.

 

Планирование

 

работ

 

и

 

оценка

 

затрат

 

на

 

каждый

 

месяц.

 

Шаг

 

.

 

Разработка

 

соглашений,

 

которые

 

могут

 

быть

 

ис-

пользованы

 

при

 

работе.

 

Отметим,

 

что

 

реализация

 

шага

 

 

при

 

отсутствии

 

доста-

точного

 

опыта

 

может

 

занять

 

довольно

 

продолжительный

 

пери-

од

 

времени.

 

Шаг

 

 

требует

 

тщательного

 

определения

 

понятия

 

«часть

 

системы».

 

Не

 

отличается

 

строгим

 

регламентом

 

и

 

шаг

 

4г,

 

так

 

как

 

нет

 

адекватного

 

набора

 

стандартных

 

соглашений.

 

По-

этому

 

в

 

реальной

 

практике

 

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

 

различные

 

модифика-

ции

 

рекомендуемого

 

метода,

 

базирующиеся

 

либо

 

на

 

более

 

фор-

мализованных

 

понятиях,

 

либо

 

на

 

субъективных

 

оценках.

 

Метод

 

экспертных

 

оценок.

 

Оценка

 

производится

 

исходя

 

из

 

личного

 

опыта

 

квалифицированного

 

проектировщика

 

(экс-

перта).

 

Для

 

многих

 

приложений

 

проектировщики

 

могут

 

прогно-

зировать

 

сложность

 

системы

 

и

 

оценку

 

ресурсных

 

затрат,

 

даже

 

если

 

алгоритмы

 

еще

 

в

 

явном

 

виде

 

не

 

определены.

 

Подобная

 

оценка

 

основывается

 

на

 

опыте

 

работы

 

проектировщика

 

над

 

схожей

 

системой.

 

Однако

 

при

 

этом

 

очень

 

велико

 

влияние

 

субъ-

ективных

 

факторов,

 

так

 

что

 

метод

 

в

 

целом

 

не

 

лучше,

 

чем

 

ис-

кусство

 

отдельного

 

проектировщика.

 

Тем

 

не

 

менее

 

при

 

отсутст-

вии

 

строгой

 

теории

 

и

 

недостатке

 

эмпирических

 

знаний

 

этот

 

ме-

тод

 

принимается

 

за

 

основу

 

стратегии

 

оценки

 

затрат.

 

Метод

 

алгоритмического

 

анализа.

 

При

 

данном

 

методе

 

оценки

 

затрат

 

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

 

некоторый

 

алгоритм.

 

Оценка

 

явля-

ется

 

объективной

 

и

 

повторяемой.

 

Сейчас

 

теория

 

подобных

 

ал-

горитмов

 

развивается

 

довольно

 

бурно,

 

однако

 

пока

 

на

 

практике

 

применяется

 

лишь

 

небольшое

 

число

 

подобных

 

алгоритмов.

 

Кроме

 

того,

 

алгоритм

 

приводит

 

к

 

правильным

 

результатам

 

лишь

 

в

 

том

 

случае,

 

если

 

используемые

 

для

 

расчетов

 

данные

 

(специфика-

ции)

 

достаточно

 

точны,

 

что

 

редко

 

бывает

 

на

 

практике.

 

Пошаговый

 

анализ.

 

Задаются

 

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

 

на

 

основе

 

пошагового

 

анализа

 

по

 

нисходящему

 

либо

 

восходящему

 

прин-

ципу,

 

так

 

что

 

каждая

 

определенная

 

таким

 

образом

 

задача

 

оце-

нивается

 

отдельно.

 

Такой

 

полуалгоритмический

 

процесс

 

может

 


background image

 

 

 
 

29

быть

 

скомбинирован

 

с

 

такими

 

методами,

 

как

 

метод

 

экспертных

 

оценок.

 

Закон

 

Паркинсона.

 

Во

 

многих

 

случаях

 

для

 

выполнения

 

некоторой

 

работы

 

(задачи)

 

затрачивается

 

то

 

время,

 

которое

 

от-

ведено

 

для

 

нее,

 

независимо

 

от

 

того,

 

является

 

ли

 

выполнение

 

этой

 

работы

 

необходимым.

 

Каждый

 

исполнитель

 

вносит

 

какой-

то

 

вклад

 

в

 

работу

 

над

 

системой

 

и

 

расходует

 

определенное

 

вре-

мя.

 

Подобный

 

подход

 

опирается

 

на

 

использование

 

других

 

ме-

тодов,

 

т.е.

 

если

 

оценка

 

уже

 

произведена

 

(например,

 

с

 

помощью

 

экспертов),

 

все

 

привлекаемые

 

исполнители

 

будут

 

выполнять

 

свою

 

работу

 

безотносительно  к  ее

 

важности

 

и

 

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

 

При

 

подобном

 

подходе

 

структура

 

системы

 

зачастую

 

определя-

ется

 

составом

 

коллектива

 

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

 

(если

 

над

 

системой

 

работает

 

3

 

человека,

 

то

 

она,

 

скорее

 

всего,

 

будет

 

состоять

 

из

 

трех

 

сегментов).

 

Затраты

 

на

 

завершение

 

разработки.

 

В

 

некоторых

 

случа-

ях

 

стоимость

 

системы,

 

оговариваемая

 

при

 

заключении

 

догово-

ра,

 

намеренно

 

занижается

 

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

 

системы

 

в

 

надежде,

 

что

 

в

 

последующем

 

ее

 

можно

 

будет

 

существенно

 

увеличить

 

за

 

счет

 

изменения

 

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

 

После

 

заключения

 

договора

 

на

 

разработку

 

какой-то

 

части

 

системы

 

изменение

 

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

 

происходит

 

по

 

соглашению

 

между

 

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

 

и

 

заказчиком

 

без

 

участия

 

других

 

лиц.

 

В

 

этом

 

случае

 

разработчик

 

находится

 

в

 

более

 

выгодном

 

положении,

 

чем

 

заказчик,

 

поскольку

 

на

 

разра-

ботку

 

системы

 

уже

 

затрачены

 

значительные

 

средства

 

и

 

для

 

за-

казчика

 

нецелесообразно

 

начинать

 

ее

 

заново

 

с

 

привлечением

 

других

 

специалистов.

 

Заказчику

 

следует

 

проявлять

 

осмотри-

тельность

 

в

 

отношении

 

предложений,

 

резко

 

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

 

от

 

других.

 

Более

 

того,

 

он

 

должен

 

тщательно

 

проводить

 

анализ

 

системных

 

требований,

 

чтобы

 

избежать

 

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

 

измене-

ния

 

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

 

Психологический

 

аспект.

 

В

 

некоторых

 

случаях

 

оценки

 

стоимости

 

системы

 

различными

 

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

 

довольно

 

близки.

 

Проведенный

 

ими

 

алгоритмический

 

анализ

 

проблемы

 

остается

 

впечатляющим

 

до

 

тех

 

пор,

 

пока

 

не

 

проведен

 

более

 

тщательный

 

анализ.

 

В

 

подобных

 

случаях

 

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

 

просто

 

осведомлены

 

о

 

наличии

 

средств

 

у

 

заказчика.

 


background image

 

 

 
 

30

В

 

общем

 

случае

 

точную

 

оценку

 

затрат

 

можно

 

дать

 

лишь

 

на

 

основе

 

опыта.

 

3.1.2.2 Оценка на основе распределения Рэлея 

В

 

настоящее

 

время

 

некоторые

 

результаты

 

теории

 

надеж-

ности

 

аппаратных

 

средств

 

ЭВМ

 

начинают

 

использовать

 

для

 

оценки

 

сроков

 

и

 

затрат

 

при

 

разработке

 

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

 

обеспече-

ния.

 

Было

 

установлено,

 

что

 

зависимость

 

суммарных

 

затрат

 

от

 

времени

 

при

 

разработке

 

больших

 

систем

 

(свыше

 

50

 

человеко-

лет)

 

хорошо

 

отображается

 

следующим

 

уравнением:

 

 

( )

(

)

2

,

1

at

E t

K

e

=

 

где

    

E(t)

 

 

суммарные

 

затраты

 

к

 

моменту

 

времени

 

t;

 

К

 

 

общая

 

стоимость

 

системы;

 

а

 

 

характеристика

 

максимальных

 

затрат

 

на

 

единичном

 

отрезке

 

времени.

 

Такая

 

зависимость,

 

выраженная

 

в

 

дифференциальной

 

форме,

 

отображается

 

кривой

 

Рэлея

 

 

( )

2

,

2

at

E t

K a t e

= ⋅ ⋅ ⋅ ⋅

 

где

   

E’(t)

 

 

плотность

 

затрат

 

или

 

ежегодные

 

затраты

 

(рис.

 

3.4).

 

 

Рис.

 

3.4

 

 

Отображение

 

ежегодных

 

затрат

 

кривой

 

Рэлея

 

0

0,1

0,2

0,3

0,4

0,5

1

4

7 10 13 16 19 22 25 28 31 34 37 40

Время

Еж

е

го

д

н

ы

е

 

за

тр

а

ты