Программное обеспечение
Програ́ммное обеспе́чение[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].
См. также править
|
Примечания править
- ↑ Ожегов С. И. Словарь русского языка. — М.: Русский язык, 1986. — С. 364.
- ↑ Акцентологический словарь
- ↑ Словари русского языка — Проверка слова «обеспечение» Грамота.ру
- ↑ Издание орфографического словаря Ожегова 2007 года приводит единственный вариант — обеспече́ние. // Орфографический словарь русского языка / Под редакцией С. И. Ожегова. Локид-Пресс, 2007. 912 с. ISBN 5-320-00396-X.
- ↑ Издание словаря Розенталя 2006 и 2007 года тоже приводит единственный вариант — обеспече́ние // Д. Э. Розенталь. Русский язык. Справочник-практикум. Оникс, Мир и образование, 2007. ISBN 5-488-00712-1, 5-94666-332-1, 978-5-488-01360-5.
- ↑ 1 2 Батоврин В. К., 2012
- ↑ Система обработки информации — одна или большее число компьютерных систем и устройств, таких как офисное и коммуникационное оборудование, которые выполняют обработку информации //Стандарт ISO/IEC 2382-1
- ↑ Согласно ГОСТ 19.101-77 К программным относят документы, содержащие сведения, необходимые для разработки, изготовления, сопровождения и эксплуатации программ.
- ↑ Вычислительная техника. Терминология: Справочное пособие. Выпуск 1 / Рецензент канд. техн. наук Ю. П. Селиванов. — М.: Издательство стандартов, 1989. — 168 с. — 55 000 экз. — ISBN 5-7050-0155-X
- ↑ Липаев В. В. Проектирование программных средств. Учебное пособие — М.: Высшая школа. 302 с. ISBN 5-06-001570-X
- ↑ John Tukey, 85, Statistician; Coined the Word 'Software', Obituaries, New York Times (July 28, 2000).
- ↑ 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
- ↑ http://inf1.info/po
- ↑ 1 2 ГОСТ Р ИСО/МЭК 15910-2002 — Процесс создания документации пользователя программного средства
- ↑ ГОСТ 19781—90 Единая система программной документации. Обеспечение систем обработки информации программное
Литература править
- Брауде Э. Технология разработки программного обеспечения. — СПб.: Питер, 2004.
- Брукс Ф. Мифический человеко-месяц или как создаются программные системы. — СПб.: Символ-Плюс, 1999.
- Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения. — М.: ИД «ФОРУМ»; ИНФРА-М, 2008. — ISBN 978-5-8199-0342-1
- Орлов С. А. Технологии разработки программного обеспечения. — СПб.: Питер, 2003.
- Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс, 2012. — С. 280. — ISBN 978-5-94074-818-2
| Разработка программного обеспечения | |
|---|---|
| Известные деятели |
Кент Бек • Гради Буч • Фред Брукс • Barry Boehm • Уорд Каннингем • Оле-Йохан Даль • Том Демарко • Эдсгер Вибе Дейкстра • Дональд Кнут • Мартин Фаулер • Чарльз Энтони Ричард Хоар • Watts Humphrey • Майкл Джексон • Ивар Якобсон • Craig Larman • James Martin • Мейер Бертран • Дэвид Парнас • Winston W. Royce • James Rumbaugh • Никлаус Вирт • Эдвард Йордан • Стив Макконнелл |
| Процесс | |
| Концепции | |
| Направления | |
| Модели разработки |
Agile • Cleanroom • CASE • Итеративная разработка • RUP • OpenUP • RAD • Scrum • MSF • Спиральная • Каскадная • XP • V-Model • Dual Vee Model • DSDM |
| Другие модели |
CMM • CMMI • Данных • Function model • IDEF • Информационная • Metamodeling • Object model • View model • UML |
| Прочее |
Информатика • Инженерия (Компьютерная • Организационная) • История разработки ПО • Документирование • Управление (Конфигурационное • Проектами • Программами • качеством) • Эргономика • Системотехника • Обратная разработка • Версии |










