Процесс разработки ПО может быть традиционным (неавтоматизированным, ручным) и автоматизированным.
Неавтоматизированная разработка ПО используется главным образом при разработке небольшого по трудоемкости и структурной сложности ПО, имеющего преимущественно прикладной характер. При разработке не требуется участие большого числа разработчиков.
При нарушении этих ограничений заметно снижается производительность труда разработчиков, падает качество разработки и документации, увеличиваются трудозатраты и стоимость ПО в целом.
Автоматизированная разработка ПО возникла с необходимостью уменьшить затраты на проектные работы, сократить сроки их выполнения, создать "типовые заготовки" алгоритмов и программ, многократно тиражируемых для различных разработок, с необходимостью координации работ большого коллектива разработчиков, стандартизации алгоритмов и программ.
Инструментарий технологии разработки представляет собой программные продукты поддержки (обеспечения) технологии разработки ПО.
1) Средства для создания приложений:
а) локальные средства, обеспечивающие выполнение отдельных работ по созданию программ:
- языки и системы программирования (компилятор, отладчик, документатор исходного кода, система поддержки и управления проектом и т.д.);
- инструментальная среда пользователя (предоставляет библиотеки функций, процедур, макрокоманды, конструкторы экранных форм и отчетов, конструкторы меню, генераторы приложений и др.);
б) интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ (являются дальнейшим развитием локальных средств разработки).
2) Средства CASE-технологии, автоматизирующие весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем, главным образом ИС.
CASE — Computer Aided Software/System Engineering - разработка ПО с помощью компьютера, автоматизированная разработка ПО. Это направление сформировалось в конце 80-х гг.
Средства CASE-технологии делятся на две группы:
1) встроенные в систему реализации — все решения по проектированию и реализации привязаны к выбранной системе управления базами данных;
2) независимые от системы реализации — все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации.
Существует ряд признаков и свойств, наличие которых позволяет классифицировать некоторый продукт как CASE-средство. Одним из ключевых признаков является поддержка методологий структурного либо объектно-ориентированного анализа и проектирования. Примерами средств поддержки CASE-технологий являются программные продукты BPwin, ERwin, OOwin.
Автоматизированный подход требует технического и программного "перевооружения" труда самих разработчиков (мощных компьютеров, дорогостоящего программного инструментария, а также повышения квалификации разработчиков и т.п.).
Автоматизированное создание ПО под силу лишь крупным фирмам, специализирующимся на разработке определенного класса ПО, занимающим устойчивое положение на рынке программных средств.