Программное обеспечение

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Software»)
Перейти к: навигация, поиск
Пользователь Прикладное программное обеспечение Операционная система Аппаратное обеспечение
Взаимодействие между пользователем, прикладным программным обеспечением, операционной системой и аппаратным обеспечением (оборудованием).

Програ́ммное обеспе́чение[1][2] (допустимо также произношение обеспече́ние[3][4][5]) (ПО) — все или часть программ, процедур, правил и соответствующей документации системы обработки информации (ISO/IEC 2382-1: 1993. Information technology — Vocabulary — Part 1: Fundamental terms)[6][7].

Другие определения из международных и отечественных стандартов:

  • Компьютерные программы, процедуры и, возможно, соответствующая документация и данные, относящиеся к функционированию компьютерной системы (FCD ISO/IEC 24765. Systems and Software Engineering Vocabulary)[6].
  • Совокупность программ системы обработки информации и программных документов[8], необходимых для эксплуатации этих программ (ГОСТ 19781-90[9]).

Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением[10].

Академические области, изучающие программное обеспечение, — это информатика, программирование, программная инженерия.

В компьютерном сленге часто используется слово софт от английского слова software, которое в этом смысле впервые применил в статье в American Mathematical Monthly математик из Принстонского университета Джон Тьюки (англ. John W. Tukey) в 1958 году[11].

Содержание

История править

Первая теория, касающаяся программного обеспечения, была предложена английским математиком Аланом Тьюрингом в 1935 году в эссе «Computable numbers with an application to the Entscheidungsproblem (Decision problem)»[12]. Он создал так называемую машину Тьюринга, математическую модель абстрактной машины, способной выполнять последовательности рудиментарных операций, которые переводят машину из одного фиксированного состояния в другое. Главная идея заключалась в математическом доказательстве факта, что любое наперёд заданное состояние системы может быть всегда достигнуто последовательным выполнением конечного набора элементарных команд (программы) из фиксированного набора команд.

Классификация ПО править

Разнообразие форум у программного обеспечения великое множество. Оно может быть знакомым и привычным, работающих на многих домашних компьютерах, такие как Microsoft Word, Google Chrome, Gimp или Aimp, а могут быть предназначены для серверов, например Nginx, Squid, IIS. Кстати, веб-страница это тоже программное обеспечение, написанное на языке разметки HTML, возможно, с применением Javascript и CSS.

Приведенный пример не исчерпывает все языки и программирования и технологии, они также могут крайне разнообразны - это Кобол и Ada, Си, C++, C#, Java, Python, Lisp и прочие и прочие. Для каждого из них написано множество библиотек и фреймворков, такие как Qt, GTK, GSL, Spring Framework, Django и многие другие.

Программы можно поделить по способу исполнения на: интерпретируемые и компилируемые. Также они могут быть платформозависмыми, как уже упомянутый Word, так и кроссплатформенными, как LibreOffice

Также можно классифицировать по способу распространения и использования на несвободное (закрытое), открытое и свободное.

Однако классически программное обеспечение принято подразделять по назначению [13]:

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

Систе́мное програ́ммное обеспе́чение — комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. Из них можно выделить следующие типы программ:

Прикладное править

Прикладное программное обеспечение — программа, предназначенная для выполнения определенных пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем.

Универсальные править

Специализированные править

Научное программное обеспечение править

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

Из известных пакетов перечислим здесь Matlab, GNU Octave, Scilab, Midas, OpenStructure, ROOT

Развлекательное программное обеспечение править
Мультимедийное программное обеспечение править
САПР править
Системы электронного документооборота править

Инструментальное править

Инструмента́льное програ́ммное обеспе́чение — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ

Разработка править

Методолгоии править

Проектирование править

Пользовательский интерфейс править

Документация править

Документация — печатные руководства пользователя, диалоговая (оперативная) документация и справочный текст, описывающие как пользоваться программным продуктом[14].

Документ — элемент документации: целевая информация, предназначенная для конкретной аудитории, размещённая на конкретном носителе (например, в книге, на диске, в краткой справочной карте) в заданном формате[14].

Программный документ — документ, содержащий в зависимости от назначения данные, необходимые для разработки, производства, эксплуатации, сопровождения программы или программного средства[15].

См. также править

Логотип «Викиновостей»
В Викиновостях есть события по этой теме:
Программное обеспечение

Примечания править

  1. Ожегов С. И. Словарь русского языка. — М.: Русский язык, 1986. — С. 364.
  2. Акцентологический словарь
  3. Словари русского языка — Проверка слова «обеспечение» Грамота.ру
  4. Издание орфографического словаря Ожегова 2007 года приводит единственный вариант — обеспече́ние. // Орфографический словарь русского языка / Под редакцией С. И. Ожегова. Локид-Пресс, 2007. 912 с. ISBN 5-320-00396-X.
  5. Издание словаря Розенталя 2006 и 2007 года тоже приводит единственный вариант — обеспече́ние // Д. Э. Розенталь. Русский язык. Справочник-практикум. Оникс, Мир и образование, 2007. ISBN 5-488-00712-1, 5-94666-332-1, 978-5-488-01360-5.
  6. 1 2 Батоврин В. К., 2012
  7. Система обработки информации — одна или большее число компьютерных систем и устройств, таких как офисное и коммуникационное оборудование, которые выполняют обработку информации //Стандарт ISO/IEC 2382-1
  8. Согласно ГОСТ 19.101-77 К программным относят документы, содержащие сведения, необходимые для разработки, изготовления, сопровождения и эксплуатации программ.
  9. Вычислительная техника. Терминология: Справочное пособие. Выпуск 1 / Рецензент канд. техн. наук Ю. П. Селиванов. — М.: Издательство стандартов, 1989. — 168 с. — 55 000 экз. — ISBN 5-7050-0155-X
  10. Липаев В. В. Проектирование программных средств. Учебное пособие — М.: Высшая школа. 302 с. ISBN 5-06-001570-X
  11. John Tukey, 85, Statistician; Coined the Word 'Software', Obituaries, New York Times (July 28, 2000).
  12. Hally Mike Electronic brains/Stories from the dawn of the computer age. — London: British Broadcasting Corporation and Granta Books, 2005. — P. 79. — ISBN 1-86207-663-4
  13. http://inf1.info/po
  14. 1 2 ГОСТ Р ИСО/МЭК 15910-2002 — Процесс создания документации пользователя программного средства
  15. ГОСТ 19781—90 Единая система программной документации. Обеспечение систем обработки информации программное

Литература править

  • Брауде Э. Технология разработки программного обеспечения. — СПб.: Питер, 2004.
  • Брукс Ф. Мифический человеко-месяц или как создаются программные системы. — СПб.: Символ-Плюс, 1999.
  • Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения. — М.: ИД «ФОРУМ»; ИНФРА-М, 2008. — ISBN 978-5-8199-0342-1
  • Орлов С. А. Технологии разработки программного обеспечения. — СПб.: Питер, 2003.
  • Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс, 2012. — С. 280. — ISBN 978-5-94074-818-2