Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом.
Это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы
Программы контроля – эти программы используются для проверкифункционирования устройств и обнаружения неисправностей.
Драйвер – это программа, относящаяся к классу вспомогательных средств общего программного обеспечения, которые предназначены для управления устройствами ввода-вывода.
Утилита - компьютерная программа, которая позволяет расширить набор стандартных возможностей оборудования и операционных систем. Обычно утилтиты выполняют узкий круг специфических задач. Утилиты предоставляют возможность получить доступ к различным параметрам, настройкам, установкам, либо позволяют изменять некоторые параметры значительно проще. Например с помощью специальных утилит можно получить доступ к таким показателям как температура процессора, видеоадаптера, скорость вращения вентиляторов (кулеров), а также возможность изменять (регулировать) их.
Упаковщики – программы, которые позволяют сжимать информацию.
Антивирусные программы- программы, разработанные для борьбы с вирусами.
Утилиты для управления памятью, позволяющие управлять оперативной памятью и многие другие.
Компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).
Интерпретаторы - превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.
Ассе́мблер — компьютерная программа, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.Ассемблеры, как правило, специфичны для конкретной архитектуры, операционной системы и варианта синтаксиса языка. Существуют универсальные ассемблеры, которые могут работать на разных платформах и операционных системах.(кросс-ассемблеры)
Объектно-ориентированного программирование – (ООП) - это моделирование объектов посредством иерархически связанных классов. Объект – это любая физическая или абстрактная четко идентифицируемая сущность.
Объекты характеризуются атрибутами и методами. сокрытие реализации является базовым свойством ООП.
ООП опирается на три основных понятия: инкапсуляция; наследование; полиморфизм.
Инкапсуляция - объединение данных с процедурами и функциями для создания нового типа данных - объекта. Связанные с объектом процедуры и функции называются методами.
Наследование - отношение класс – подкласс, все атрибуты и методы родительского класса наследуются классом-потомком.
Для описания объектов используется зарезервированное слово Object. Описание объекта помещается в разделе описания типов. Вначале описываются все инкапсулированные в объекте данные, а затем - методы доступа к этим данным. Сами методы при описании объекта не раскрываются, указываются лишь заголовки. Методы описываются ниже по тексту программы.
При объектно-ориентированном анализе и проектирование применяется унифицированный язык моделирования – UML, позволяющий графически представить создаваемую программную систему. Существуют также различные модели процессов создания программного обеспечения, наиболее известными из которых являются унифицированный процесс разработки программного обеспечения (UP/RUP) и методология экстремального программирования – XP. Известно также и много других методологий, например, ICONIX.
Типичными языками, поддерживающими объектно-ориентированного программирования, являются C++, Java. На данный момент, методология объектно-ориентированного программирования, является основной методологией создания программных систем.