Стандартные разделы программного обеспечения (например, операционная система) вошли в нашу повседневную практику обработки данных, и, хотя мы уже не рассматриваем их в качестве стандартов, они оказывают именно такое действие — определяют стандартные способы выполнения заданий и стандартное деление работ, выполнение которых проводится с их помощью.
Таблица 6.6. Методы производства программного обеспечения
1. Программы операционной системы |
Стандартное разделение программного обеспечение |
2. Программы системы управления базой данных |
3. Программное обеспечение системы связи |
4. Программы ввода/вывода |
5. Программы работы с дисплеями |
6. Программы информационной системы |
7. Использование управления конфигурацией |
8. Обеспечение необходимого качества |
9. Документация, описывающая функцию программы по подпрограммам |
10. Диаграммы, отображающие взаимоотношения оборудования и программ, с обозначением внутренних и внешних потоков данных |
11. Языки высокого уровня |
12. Использование анализа и оценок необходимых ресурсов (ЦП, память) |
13. Использование структурного программирования |
14. Размеры модулей небольшие; функциональное разграничение ярко выраженное, обязательное упрятывание информации |
15. Список ограничений, возникших при проектировании, и принципов построения проекта |
16. Частый сквозной контроль |
17. Использование библиотекарей |
18. Внесение исправлений в рабочие и исходные программы |
19. Использование средств автоматизации сопровождения |
20. Проектирование высокой производительности системы |
а) функциональной: доля удовлетворенных требований |
б) технической: точность, методология, проверка алгоритмов |
в) операционной: восстанавливаемость после сбоев |
г) удовлетворение временных ограничений на производительность |
Важнейшей причиной применения системы управления базой данных должно быть стремление автоматизировать процесс внесения исправлений и сэкономить силы программистов.
Ничто не дается бесплатно — средства на стандартизацию тратятся с первых же шагов
Из-за того что мы настойчиво придерживаемся стандартов, фаза разработки программного обеспечения может потребовать больше времени и будет стоить немного (а может быть, и значительно) дороже. На фазе использования могут произойти подобные вещи. Мы будем вынуждены тратить время на выполнение дополнительных команд, вставленных нами в программу для обеспечения модульности и лучшей читаемости. Нам потребуется несколько больше памяти. Зачем нам это все надо? Для фазы продолжающейся разработки. В этой фазе мы сэкономим столько, что оправдаем все расходы на предыдущих двух.
Склонность к фантазированию
Наша отрасль еще столь молода, что все новейшие фантазии воспринимаются в качестве новых великолепнейших методов, способных решить множество проблем. Возможно, этому способствуют средства массовой информации, стремящиеся повысить тиражи журналов и поднимающие шумиху вокруг нового метода. Возможно, на это влияет и желание практиков — или исследователей — увидеть свою фамилию напечатанной под статьей, говорящей, что то-то и то-то можно считать пробным критерием успеха.
Вероятно, действуют все эти причины. Но мудрый руководитель помнит, какая участь ожидает первопроходцев, и ждет, пока очередное новшество не будет опробовано кем-то другим и зарекомендует себя, и только потом начинает применять новинку на практике.
Репутацию фирмы-производителя нельзя считать мерой надежности. Сколько пользователей пострадало, когда фирма IBM испортила первую версию системы ОС/360? Системы реального времени для модели 67? Программное обеспечение для Series 1?
Сети вычислительных машин, универсальные компиляторы и распределенная обработка данных — вот лишь немногое из списка фантастических замыслов, прорвавшихся в промышленное производство.
Часто самое высшее руководство бывает склонно к самым диким фантазиям. А представители другой крайности — технический персонал, программисты, отказываются применять новые методы на практике. Но программистов надо ограничивать именно в их собственной области деятельности! В противном случае, они, подобно детям, играющим в кубики, начнут с увлечением строить очаровательные, запутанные, закрученные и неразборчивые конструкции. Они будут писать вложенные циклы на трех страницах!
Читать дальше