Таблица 4.13 Характеристики программного обеспечения проектов и программного обеспечения как продукции
Проекты — - - — - - — - - —> | <- - — - -Продукция | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Расчет налоговых отчислений | Хьюстон | Инструментальные программы мин. обороны | Контроль авиаперевозок FAA | Бортовые навигационные системы на кораблях | «Wizard of Avis» | Сопровождение ракет | Телевизоры | Компилятор с Кобола для IBM 370 | Обработка текстов | |
Число пользователей | 1 | 1 | 1 | десятки | сотни | сотни | тысячи | тысячи | тысячи | тысячи |
Число разраб. организаций | 1 | 1 | 1 | 1 | неск. | 1 | 1 | 1 | 1 | 1 |
Посредники между пользователем и разработчиком | Нет | Нет | Да | Да | Да | Да | Да | Да | Да | Да |
Параллельная разработка | Нет | Да | Да | Да | Да | Нет | Да | Да | Нет | Да, затем Heт |
Требования пользователя или рынка | Пользователь | Пользователь | Пользователь | Пользователь | Пользователь | Пользователь | Пользователь | Рынок | Рынок | Рынок |
Конкуренция после построения программного обеспечения | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Да |
Финансовый риск | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Да |
Сопровождение программного обеспечения | В | В | В | В | В | Н | Н Апп. — инт Аппар. прод. с прогр. обесп. | В Прогр. — инт. Товарное прогр. обесп. | В Прогр. — Инт. |
Требования к проектам и продукции. Выработать требования к системе «Аполлон» гораздо легче, чем к системе управления процессом обработки слов. Дело заключается в том, что ошибки при определении требований исправлять в первом случае значительно легче. Руководство программой Аполлон имело тесный контакт со всеми, кто будет пользоваться программным обеспечением, и вполне способно управлять ими.
Такая тесная связь позволяла легче справляться с некоторыми не очень грубыми ошибками. Если бы о каждой незначительной ошибке или изменении приходилось сообщать сотне или более пользователям, очевидно, что работа по их извещению отняла бы много сил.
Для выработки хорошо составленных требований к разрабатываемому программному обеспечению, предназначенному для продажи многим пользователям, необходимо проводить исчерпывающее исследование их нужд и пожеланий, а затем еще выяснять конъюнктуру рынка. Нам нужно не просто удовлетворить требованиям большого числа пользователей, нам нужно выиграть соревнование с другими системами.