Light-industry-up.ru

Экосистема промышленности

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

24-05-2023

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

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

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

  • Компьютерные программы, процедуры и, возможно, соответствующая документация и данные, относящиеся к функционированию компьютерной системы (IEEE Std 829-2008)[8].
  • Программа или множество программ, используемых для управления компьютером (IEEE Std 829-2008)[9].
  • Совокупность программ системы обработки информации и программных документов[10], необходимых для эксплуатации этих программ (ГОСТ 19781-90)[11].

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

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

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

История

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

Классификация ПО

По способу исполнения программы делят на

  • интерпретируемые;
  • компилируемые.

По степени переносимости программы делят на

  • платформозависимые;
  • кроссплатформенные.

По способу распространения и использования программы делят на

По назначению программы делят на[15]:

По видам программы делят на[16]:

  • компонент: программа, рассматриваемая как единое целое, выполняющая законченную функцию и применяемая самостоятельно или в составе комплекса;
  • комплекс: программа, состоящая из двух или более компонентов и (или) комплексов, выполняющих взаимосвязанные функции, и применяемая самостоятельно или в составе другого комплекса.

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

Комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные практические задачи, а лишь обеспечивает работу других программ, предоставляя им сервисные функции, абстрагирующие детали аппаратной и микропрограммной реализации вычислительной системы, управляет аппаратными ресурсами вычислительной системы. Отнесение того или иного программного обеспечения к системному условно, и зависит от соглашений, используемых в конкретном контексте. Как правило, к системному программному обеспечению относятся операционные системы, утилиты[⇨], системы управления базами данных, широкий класс связующего программного обеспечения.

Встроенные программы

Встроенные программы или firmware — это программы, «зашитые» в цифровые электронные устройства. В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) являются по сути частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные «прошивки», осуществляющие управление этими устройствами и упрощающие взаимодействие с ними.

Утилиты

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

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

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

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

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

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

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

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

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

Инструментальное программное обеспечение

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

Документация

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

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

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

См. также

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

Примечания

  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. Батоврин В. К., 2012
  7. Стандарт ISO/IEC 2382-1
  8. IEEE Std 829-2008 IEEE Standard for Software and System Test Documentation
  9. ISO/IEC 26514 Systems and Software Engineering — Requirements for designers and developers of user documentation
  10. Согласно ГОСТ 19.101-77 К программным относят документы, содержащие сведения, необходимые для разработки, изготовления, сопровождения и эксплуатации программ.
  11. Вычислительная техника. Терминология: Справочное пособие. Выпуск 1 / Рецензент канд. техн. наук Ю. П. Селиванов. — М.: Издательство стандартов, 1989. — 168 с. — 55 000 экз. — ISBN 5-7050-0155-X.
  12. Липаев В. В. Проектирование программных средств. Учебное пособие — М.: Высшая школа. 302 с. ISBN 5-06-001570-X
  13. John Tukey, 85, Statistician; Coined the Word 'Software', Obituaries, New York Times (July 28, 2000).
  14. 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.
  15. Виды программного обеспечения | Планета информатики
  16. ГОСТ 19.101-77
  17. 1 2 ГОСТ Р ИСО/МЭК 15910-2002 — Процесс создания документации пользователя программного средства
  18. ГОСТ 19781—90 Единая система программной документации. Обеспечение систем обработки информации программное

Литература

  • Брауде Э. Технология разработки программного обеспечения. — СПб.: Питер, 2004.
  • Брукс Ф. Мифический человеко-месяц или как создаются программные системы. — СПб.: Символ-Плюс, 1999.
  • Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения. — М.: ИД «ФОРУМ»; ИНФРА-М, 2008. — ISBN 978-5-8199-0342-1.
  • Орлов С. А. Технологии разработки программного обеспечения. — СПб.: Питер, 2003.
  • Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс, 2012. — С. 280. — ISBN 978-5-94074-818-2.
  • Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford: Documenting Software Architectures: Views and Beyond, Second Edition. Addison-Wesley, 2010, wiki that contains an example of software architecture documentation.
  • Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Third Edition. Addison Wesley, 2012, ISBN 0-321-81573-4 (This book, now in third edition, eloquently covers the fundamental concepts of the discipline. The theme is centered around achieving quality attributes of a system.)
  • Amnon H. Eden, Rick Kazman. Architecture, Design, Implementation. On the distinction between architectural design and detailed design.
  • Javier Garzás and Mario Piattini. An ontology for micro-architectural design knowledge, IEEE Software Magazine, Volume: 22, Issue: 2, March-April 2005. pp. 28 — 33.
  • Philippe Kruchten: Architectural Blueprints — the 4+1 View Model of Software Architecture. In: IEEE Software. 12 (6) November 1995, pp. 42-50 (also available online at the Rational website(PDF))
  • Tony Shan and Winnie Hua (2006). Solution Architecting Mechanism. Proceedings of the 10th IEEE International EDOC Enterprise Computing Conference (EDOC 2006), October 2006, p23-32
  • SOMF: Bell, Michael Service-Oriented Modeling: Service Analysis, Design, and Architecture. Wiley (2008). Архивировано из первоисточника 29 мая 2013.
  • Albrecht, A. J. (1979), «Measuring application development productivity. In Proceedings of the Joint SHARE/GUIDE IBM Applications Development Symposium.», IBM 
  • Ben-Menachem, M. & Marliss (1997), «Software Quality, Producing Practical and Consistent Software», Thomson Computer Press 
  • Boehm, B.; Brown, J.R.; Kaspar, H. & MacLeod, G.J. (1978), «Characteristics of Software Quality», North-Holland. 
  • Chidamber, S. & Kemerer (1994), «A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20 (6)», сс. 476–493 
  • Ebert, Christof & Dumke, Reiner, «Software Measurement: Establish - Extract - Evaluate - Execute», Kindle Edition, с. 91 
  • Garmus, D. & Herron (2001), «Function Point Analysis», Addison Wesley 
  • Halstead, M.E. (1977), «Elements of Software Science», Elsevier North-Holland 
  • Hamill, M. & Goseva-Popstojanova, K. (2009), «Common faults in software fault and failure data. IEEE Transactions of Software Engineering, 35 (4)», сс. 484–496. 
  • Jackson, D.J. (2009), «A direct path to dependable software. Communications of the ACM, 52 (4).» 
  • Martin, R. (2001)), «Managing vulnerabilities in networked systems», IEEE Computer. 
  • McCabe, T. (December 1976.), «A complexity measure. IEEE Transactions on Software Engineering» 
  • McConnell, Steve (1993), «Code Complete» (First ed.), Microsoft Press 
  • Nygard, M.T. (2007)), «Release It! Design and Deploy Production Ready Software», The Pragmatic Programmers. 
  • Park, R.E. (1992), «Software Size Measurement: A Framework for Counting Source Statements. (CMU/SEI-92-TR-020).», Software Engineering Institute, Carnegie Mellon University 
  • Pressman, Scott (2005), «Software Engineering: A Practitioner's Approach» (Sixth, International ed.), McGraw-Hill Education 
  • Spinellis, D. (2006), «Code Quality», Addison Wesley 
  • Гленфорд Майерс, Том Баджетт, Кори Сандлер Искусство тестирования программ, 3-е издание = The Art of Software Testing, 3rd Edition. — М.: «Диалектика», 2012. — 272 с. — ISBN 978-5-8459-1796-6.
  • Лайза Криспин, Джанет Грегори Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд = Agile Testing: A Practical Guide for Testers and Agile Teams. — М.: «Вильямс», 2010. — 464 с. — (Addison-Wesley Signature Series). — 1000 экз. — ISBN 978-5-8459-1625-9.
  • Канер Кем, Фолк Джек, Нгуен Енг Кек Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений. — Киев: ДиаСофт, 2001. — 544 с. — ISBN 9667393879.
  • Калбертсон Роберт, Браун Крис, Кобб Гэри Быстрое тестирование. — М.: «Вильямс», 2002. — 374 с. — ISBN 5-8459-0336-X.
  • Синицын С. В., Налютин Н. Ю. Верификация программного обеспечения. — М.: БИНОМ, 2008. — 368 с. — ISBN 978-5-94774-825-3.
  • Бейзер Б. Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем. — СПб.: Питер, 2004. — 320 с. — ISBN 5-94723-698-2.
  • Bessen James Patent Failure. — Princeton University Press, 2008.
  • Klemens Ben Math You Can't Use: Patents, Copyright, and Software. — Brookings Institution Press, 2005.
  • Warshofsky Fred The Patent Wars: The Battle to Own the World's Technology. — Wiley.
  • Information Feudalism — Peter Drahos Drahos Peter Information Feudalism: Who Owns the Knowledge Economy?. — The New Press.
  • Müller Florian No Lobbyists As Such: The War over Software Patents in the European Union. — 2006. — 377-page play-by-play memoir of the story of Florian’s part in the campaign over the EU software patent directive.
  • Leith Philip Software and Patents in Europe. — Cambridge University Press, 2007.

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

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06