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

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

 
 

211 

формализованной

формы.

Требования

должны

быть

выражены

в

ясной

форме

и

не

допускать

противоречивых

толкований.

В

соглашениях

о

требованиях

следует

избегать

пунктов,

объяс-

няющих,

как

надо

решать

поставленную

задачу.

Рассматривая

соглашения

о

требованиях,

функциональные

группы

обычно

на-

кладывают

жесткие

ограничения

на

эксплуатационные

качества

и

другие

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

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

изделия.

Для

обоснования

этих

ограничений

(принять

или

нет)

обязательно

должен

быть

проведен

достаточно

глубокий

анализ

осуществимости.

Соглашение

о

требованиях

это

договор

между

руково-

дителем

проекта

и

заказчиком,

который

также

включает

суб-

подряды,

заключенные

между

группой

разработки

и

другими

функциональными

группами.

Договорный

характер

соглашения

о

требованиях

подчеркивается

тем,

что

привязываются

индиви-

дуальные

рабочие

планы

к

конкретным

положениям

данного

документа.

И

так как

соглашение

о

требованиях

связывает

во-

едино

усилия

многих

подразделений,

его

необходимо

согласо-

вывать

на

всех

уровнях

(вплоть

до

конкретного

исполнителя).

На

базе

соглашения

о

требованиях

составляется

общий

план

для

всего

проекта.

В

нем

указываются

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

между

функциональными

группами

и

вклад

каждой

из

них

в

проект,

а

также

очерчиваются

границы

обязанностей

каждой

группы.

В

этом

плане

также

дается

основа

описания

всех

задач,

решаемых

группой

разработки.

Обычно

этот

план

составляется

в

виде

сетевого

графика.

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

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

Анализ

осуществимости

проводится

одновременно

всеми

функциональными

группами

на

основе

изучения

соглашения

о

требованиях.

На

этом

этапе

исследуется

каждое

предложение

соглашения

о

требованиях.

Руководитель

проекта

поясняет

и

защищает

свой

сетевой

график.

В

процессе

обсуждения

вносят-

ся

изменения

в

эти

документы

и

вновь

представляются

на

ут-

верждение.

Может

быть

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

несколько

неформаль-

ных

процедур

пересмотра

плана,

однако

все

они

должны

быть

успешно

закончены

официальным

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

фазовым


background image

 
 

212 

обзором

II.

В

результате

фиксируется

согласие

или

несогласие

каждой

функциональной

группы

с

предложениями

соглашения

о

требованиях.

Полученные

в

ходе

фазового

обзора

II

предложения

отно-

сительно

внесения

изменений

в

соглашение

о

требованиях

дают

возможность

оценить

недостатки

проекта.

Оценку

проводят

по

трем

переменным:

технические

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

календарные

сроки

и

стоимость

(рис.

8.7).

Рис.

8.7

Границы

изменяемости

проекта: 

C

c

увеличение

стоимости;

S

c

изменение

времени;

                             

F

c

изменение

технических

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

То  есть

внутри

проекта

выделяется

некоторый

диапазон

изменения

переменных;

фактически

это

соответствует

заданию

небольшого

запаса

финансовых

ресурсов,

времени

и

свободы

выбора

технических

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

системы.

На

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

переработку

и

утверждение

соглашения

о

требованиях

может

уйти

много

времени,

поэтому

обычно

эта

работа

совмещается

с

продолжением

разработки

в

тех

масшта-

бах,

которые

позволяют

ресурсы.

Параллельно

с

процессом

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

соглашения

о

требованиях

составляются

индивидуальные

рабочие

планы

и

С

с

S

с

F

с


background image

 
 

213 

сводка

трудозатрат,

которые

будут

основой

для

определения

будущих

финансовых

затрат.

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

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

Основная

цель

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

заключается

в

выработке

и

анализе

требований

к

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

изделию.

Процесс

де-

композиции

проекта,

начатый

при

составлении

соглашения

о

требованиях,

продолжается

путем

разработки

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

и

разбивки

их

на

две

части

внутренний

и

внешний

проект.

Внешний

проект

это

совокупность

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

программно-

го

изделия,

которые

видит

пользователь.

Внутренний

проект

совокупность

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

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

изделия,

скрытых

от

пользователя.

Это

делается,

в

первую

очередь,

для

того,

чтобы

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

могли

критически

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

те

характери-

стики

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

изделия,

которые

имеют

к

ним

непосред-

ственное

отношение,

не

вдаваясь

в

критику

внутренних

харак-

теристик

изделия.

То есть

внешний

проект

описывает,

что

дела-

ет

программное

изделие,

а

внутренние

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

указыва-

ют,

каким

образом

изделие

сконструировано

для

достижения

внешних

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

Внешние

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

передаются

для

открытого

и

широкого

обсуждения,

в

котором

предпочте-

ния

отдаются

предложениям

пользователей.

Для

того

чтобы

провести

границу

между

внутренним

и

внешним

проектом,

схему

декомпозиции

упорядочивают.

Схе-

ма

декомпозиции

называется

хорошо

упорядоченной,

если

на

ней

отмечен

каждый

случай

вызова

одной

функции

другой,

вплоть

до

некоторого

уровня

абстракции,

удобного

с

точки

зре-

ния

управления

проектом.

Далее,

каждый

функциональный

мо-

дуль

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

как

черный

ящик,

для

которого

можно

определить

внешнее

поведение,

однако

ничего

нельзя

сказать

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

его

внутреннего

устройства.

Свойства

черного

ящика

определяются

полным

описанием

его

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

ви-

димых

извне,

включая

описание

условий,

при

которых

к

нему

можно

обратиться,

чтобы

инициировать

его

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

Те

атрибуты

модулей,

которые

играют

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

роль

при

составлении

описания

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

изделия

как

единого

цело-


background image

 
 

214 

го,

составляют

внешний

проект.

Все

остальные

параметры

мо-

дулей,

полностью

или

частично

скрытые

внутри

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

изделия,

составляют

внутренний

проект.

С

учетом

четкого

различия

между

внешним

и

внутренним

проектом,

следует

составлять

внешние

и

внутренние

специфи-

кации

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

изделия.

При

этом

необходимо

избегать

общих

мест

в

разных

документах.

Формы

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

обыч-

но

строго

стандартизированы

(SADT,

PDL,

и

др.).

После

того,

как

внешние

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

приобретают

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

стабильный

характер,

в

рамках

функции

разра-

ботки

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

их

рассылка

функциональным

группам

пометкой

«проект»).

Все

замечания

суммирует

специальный

орган

технический

комитет,

который

после

анализа

передает

их

в

группу

разработки.

Обязанность

группы

разработки

максимально

учесть

все

замечания.

Во

время

создания

внутренних

и

внешних

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

другие

функциональные

группы

готовят

планы

выпуска

доку-

ментации,

планы

испытаний

и

др.

Эти

документы

рассылаются

на

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

в

конце

фазы

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

Руководитель

проекта

изучает

и

утверждает

их.

Фаза

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

обычно

заканчивается

утверждением

внешних

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

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

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

Рабочая

нагрузка

при

выполнении

функции

разработки

достигает

наибольшей

величины

в

фазе

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

Ос-

новная

задача

организации

разработки

заключается

в

координа-

ции

усилий

большого

числа

сотрудников,

занятых

реализацией

этой

функции,

а

также

в

организации

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

между

различными

функциональными

группами.

Метод

соблюде-

ние

принятых

на

данном

предприятии

стандартов

программи-

рования.

Кодирование

начинается

на

ранней

стадии

программиро-

вания.

При

этом

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

так

называемый

«волновой

эф-

фект»

(табл.

8.3),

когда

составление

внешних

и

внутренних

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

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

отладка

и

компоновка

программ

выполняются

одновременно

на

различных

уровнях

структуры


background image

 
 

215 

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

изделия.

Например,

в

фазе

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

какого-то

модуля

внешние

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

всего

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

изделия

уже

могут

быть

утверждены,

а

внутренние

специфика-

ции

составлены

не

до

конца.

И

наоборот,

хотя

этапы

кодирова-

ния,

отладки

и

компоновки

некоторых

модулей

уже

могут

быть

завершены,

их

разработка

в

рамках

целого

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

про-

дукта

еще

может

быть

не

закончена.

Таблица

8.3

Волновой

эффект

в

разработке

модулей

изделия

Модули

A

B

C

D

E

F

G

H

I

J

K

L

M

N

Состав-
ление

внешних

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

заверше-
но

×

×

×

×

×

×

×

×

×

Состав-
ление

внутрен-
них

спе-

цифика-
ций

за-

вершено

×

×

×

×

×

×

×

×

×

×

×

Кодиро-
вание

законче-
но

×

×

×

×

×

×

×

×

×

Отладка

законче-
на

×

×

×

×

×

×

×

×

Компо-
новка

законче-
на

×

×

×

×

×

×

Если

желательно

избрать

более

жесткий

путь

и

если

в

программе

нельзя

выделить

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

слабо

связанные

ком-

поненты,

то

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

закончить

не

только

внешний

про-