Системное программирование

Область программирования, целью которой является поддержка процесса создания или исполнения других программ, называется системным программированием. Таким образом, пользователями системных программ являются сами программисты. К системным программам можно отнести следущее:

Системы программирования, осуществляющие перевод программ с языков программирования в машинные команды и сборку программ из модулей, поддерживающие процесс отладки, тестирования, документирования программ и т.п.

Операционные системы (ОС), осуществляющие запуск и взаимодействие программ как между собой, так и с внешними устройствами.

Системы управления базами данных (СУБД), предназначенные для хранения и быстрого доступа к большим объёмам информации.

Разделение на прикладное и системное программирование достаточно условно. Так, например, определённые знания и навыки программирования требуются инженерам при использовании системы автоматизации проектирования (САПР) и математических пакетов, реализующих сложные вычислительные методы.

Технология программирования

Программирование не ограничивается собственно написанием программ. Большие программные системы создаются большими коллективами разработчиков, тестировщиков, менеджеров, между которыми надо обеспечить взаимодействие, организовать последовательность работ, гарантировать выполнение как внешних, так и внутренних требований и соглашений и т.п. В этом смысле программирование можно рассматривать как коллективный инженерный процесс создания программного обеспечения. Этим занимается технология программирования. Помимо собственно составления программ (называемого также кодированием) технология должна поддерживать весь жизненный цикл программы, в частности:

Спецификацию создаваемого программного обеспечения, проверку соответствия требованиям заказчика.

Проектирование, то есть разработку общей архитектуры системы, взаимодействие компонентов и т.п.

Отладку и тестирование – нахождение и своевременное исправление ошибок. Идеальная технология программирования не должна допукать появления ошибок в программе, опираясь на строгий формальный или формализованный вывод программы из спецификации. Реальное положение дел, однако, свидетельствует, что именно отладка программы занимает большую часть времени разработчиков.

Документирование в виде как инструкций для пользователя, так и технического описания самой программы для тех программистов, которые будут её далее развивать или сопровождать.

Сопровождение, версионность – реакцию на замечания и рекламации пользователей, необходимость поддерживать несколько версий программы и т.п.

Большая часть технологии может быть в той или иной степени автоматизирована и поддержана соответствующими системными программами.

Теоретическое программирование

Сложность реальных программ для анализа и обработки приводят к необходимости построения формальных моделей и математического исследования. Предметом исследования теоретического программирования являются как структурные, так и поведенческие свойства программ.   Естественно, что теоретическое программирование, как математическая дисциплина, опирается на знания из смежных областей.

Дискретная математика и кибернетика используются для изучения структуры данных и алгоритмов. Синтаксические деревья, графы управления и потоков данных и многие другие модели программ требуют знаний из теории графов;

Теория вероятности и математическая статистика необходимы для анализа сложности вычислений;

Алгебра, логика, теория алгоритмов – при формальном описании семантики программ и верификации, то есть проверки и доказательства соответствия программы спецификации;

Системный анализ необходим при проектировании программ, поскольку они представляют собой большое количество разнородных взаимодействующих компонент.

Естественно, этим перечисление не ограничивается, поскольку при переходе к прикладному программированию сюда привлекаются знания из конкретных областей - физики, социологии, экономики, биологии и т.д.

Окружение» программирования


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: