Программное обеспечение
Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.
К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:
- технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.); методы тестирования программ [ссылка, ссылка]; методы доказательства правильности программ; анализ качества работы программ; документирование программ; разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Можно выделить следующие этапы разработки программного обеспечения:
1) проектирование;
2) кодирование;
3) анализ требований;
4) тестирование и отладка;
5) документирование;
6) сопровождение.
Программное обеспечение — неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкретного компьютера определяется созданным для него ПО. Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах.
Программное обеспечение современных компьютеров включает миллионы программ — от игровых до научных.
В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории:
1. прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
2. системные программы, выполняющие различные вспомогательные функции, например:
- управление ресурсами компьютера; создание копий используемой информации; проверка работоспособности устройств компьютера; выдача справочной информации о компьютере и др.;
3. инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения. Если раньше можно было по пальцам перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась. Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т. д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность). Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека. Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно, как, например, программа — электронный собеседник. На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:
- операционные системы и оболочки; системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т. д.); инструментальные системы; интегрированные пакеты программ; динамические электронные таблицы; системы машинной графики; системы управления базами данных (СУБД); прикладное программное обеспечение.
Прикладная программа — это любая конкретная программа, способствующая решению какой-либо задачи в пределах данной проблемной области.
Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом. Это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы. Среди десятков тысяч системных программ особое место занимают операционные системы, которые обеспечивают управление ресурсами компьютера с целью их эффективного использования.
Важными классами системных программ являются также программы вспомогательного назначения — утилиты (лат. utilitas — польза). Они либо расширяют и дополняют соответствующие возможности операционной системы, либо решают самостоятельные важные задачи. Кратко опишем некоторые разновидности утилит:
- программы контроля, тестирования и диагностики, которые используются для проверки правильности функционирования устройств компьютера и для обнаружения неисправностей в процессе эксплуатации; указывают причину и место неисправности; программы-драйверы, которые расширяют возможности операционной системы по управлению устройствами ввода-вывода, оперативной памятью и т. д.; с помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся; программы-упаковщики (архиваторы), которые позволяют записывать информацию на дисках более плотно, а также объединять копии нескольких файлов в один архивный файл; антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами; программы оптимизации и контроля качества дискового пространства ; программы восстановления информации, форматирования, защиты данных ; коммуникационные программы, организующие обмен информацией между компьютерами; программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти; программы для записи CD-ROM, CD-R и многие другие.
Архиваторы - это программы, позволяющие уменьшить размер файла для экономии места на диске. Работа их заключается в следующем: найти повторяющиеся фрагменты в файлах и записать вместо них информацию о количестве повторяющихся кусков. Программ-архиваторов много. Они отличаются друг от друга методами сжатия информации.
Приложения
Прикладное программное обеспечение (ППО) делится на 2 группы: 1) Системы программирования – являются инструментами для программистов профессионалов и позволяют разрабатывать программы на различных языках программирования (Basic, Pascal, C и системах визуального программирования Visual Basic, Delphi)
2) Приложения – программы, которые функционируют под управлением определенной ОС и позволяют пользователю обрабатывать информацию и работать в компьютерных сетях, не владея программированием
Практически каждый пользователь нуждается в приложениях общего назначения – текстовые и графические редакторы, электронные таблицы, мультимедиа-презентации. Наиболее распространен сейчас пакет общего назначения Microsoft Office.
Приложения специального назначения – для профессионального использования компьютерной графики, системы автоматизированного проектирования, бухгалтерские программы, компьютерные словари, системы автоматического перевода и др.
Приложения общего назначения:
· - Электронные калькуляторы – обработка числовой информации;
· - Текстовые редакторы – программы для создания текстовых документов (MS Word);
· - Электронные таблицы – программы для хранения данных в табличной форме и работы с этими данными – вычислений, создания диаграмм, красиво оформленных отчетов и т. д. Самая известная электронная таблица – MS Excel;
· - Графические редакторы - для создания и обработки графических изображений (Paint);
· - Программы разработки презентаций – содержат текст, изображения, анимацию и звук. например MS PowerPoint;
· - Звуковые редакторы – обработка звука;
· - Мультимедиа проигрыватели – звук, анимация, видео;
· - Системы управления базами данных (СУБД) – для хранения очень больших объемов данных, имеющих сложную структуру связей и ссылок. Примером СУБД – является Access;
· - Коммуникационные программы – обмен информации между компьютерами: для работы с электронной почтой, общения в Интернете.
· - Компьютерные игры – логические, стратегические или имитаторы-тренажеры
· - Обучающие программы – электронные учебники, репетиторы, тесты
· - Архиваторы - программы, которые используют для уменьшения объёма файла. Степень сжатия зависит от типа файла и программы-архиватора. Для обращения к сжатому файлу, его необходимо распаковать
Приложения специального назначения - это программы для профессионально использования в различных сферах деятельности квалифицированными пользователями:
- - Системы компьютерного черчения
- - Компьютерные словари, энциклопедии
- - Системы автоматического перевода
- - Бухгалтерские программы
- - Системы программирования
- - Графические системы - Это системы для деловой и презентационной графики инженерной графики, художественной графики и анимации, обработки растровых изображений Adobe Photoshop, программы для просмотра серверов Интернет Internet Explorer
Язык программирования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Со времени создания первых программируемых машин человечество придумало уже более двух с половиной тысяч языков программирования. Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Языки программирования можно разделить на языки низкого уровня и высокого уровня. К языкам низкого уровня относятся язык машинных команд и ассемблеры. Языки высокого уровня составляют большинство языков программирования.
Список языков программирования
Структурные и процедурные языки программирования
· Алгол
· Алгол 68
· Basic
· QBASIC
· Фортран
· REXX
· sh
· Фокал
· Алгоритмический язык
· Си
· КОБОЛ
· Limbo
· Lua
· Модула-2
· Паскаль
Логические языки программирования
· Prolog
Объектно-ориентированные языки программирования
· Eiffel
· Ada
· Java
· JavaScript
· C++
· C++/CLI
· C#
· D
· Dylan
· MC#
· ColdFusion
· Delphi
· Object Pascal
· Objective-C
· Руби
· Visual Basic
· Visual DataFlex
· Smalltalk
· Self
· Simula
· Оберон
· Python
· Perl
· PHP
· Pike
· Эйфель
· Компонентный Паскаль
· Io
Функциональные языки программирования
· Лисп
· Лого
· Dylan
· Haskell
· OCaml
· Scheme
· РЕФАЛ
· АПЛ
Языки веб-программирования
- HTML XHTML SGML CSS XML XSLT DHTML JavaScript DOM PHP Perl SSI


