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?
Сети вычислительных машин, универсальные компиляторы и распределенная обработка данных — вот лишь немногое из списка фантастических замыслов, прорвавшихся в промышленное производство.