Программирование каждой задачи независимо от ее содержания, языка программирования и типа применяемой ЭВМ состоит из следующих этапов: постановки задачи; определения форматов представления исходных и результатных (выходных) данных, а также нормативно-справочной информации; разработки программ ввода, расчета и печати результатов; отладки разработанной программы, т. е. проверки на вычислительной машине работоспособности программы. Ввод и печать документов, поиск одинаковых наименований в разных массивах, обращения к внешним устройствам единообразны для самых разных управленческих задач. Целесообразно составить такие программы 1 раз с тем, чтобы затем их многократно использовать в различных ситуациях.
Кроме того, желательно применять не единичные команды, а блоки команд, представляющие собой укрупненные операции (процедуры), объединяющие от нескольких команд до подпрограмм, имеющих самостоятельное применение.
Поскольку в рамках каждой АСУ содержится большое количество программ, применение процедур и стандартных (часто повторяющихся) программ позволяет значительно снизить трудозатраты на программирование. Программное обеспечение состоит из машинного (базового), общесистемного и специального программного обеспечения.
Машинное (базовое) программное обеспечение создается совместно с ЭВМ и предназначено для осуществления транслирования (перевода с других языков на язык загрузки ЭВМ), отладки, компоновки, подготовки и использования программ.
Машинное программное обеспечение имеет дело с рабочими программами — конечными программами, составленными в кодах команд ЭВМ и являющимися внутренним машинным представлением программы.
Машинное программное обеспечение дает способы и средства для решения проблем, связанных с программированием и оперированием программами. Поэтому часто в качестве синонима машинного обеспечения используется термин «операционная система».