Открыть сервис

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

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

История развития

Ранний этап (1940-е — 1950-е годы)

Первое программное обеспечение появилось одновременно с первыми электронными вычислительными машинами. В 1940-х годах программы создавались исключительно в машинных кодах — двоичных инструкциях, понятных процессору. Программирование велось на перфокартах или перфолентах, а процесс отладки был крайне трудоёмким. Одной из первых программ считается алгоритм, написанный Адой Лавлейс для аналитической машины Чарльза Бэббиджа (XIX век), однако практическое программирование началось с появлением компьютеров ENIAC (1945) и UNIVAC I (1951).

Эра языков программирования (1950-е — 1960-е)

В 1950-х годах появились первые языки программирования высокого уровня, такие как FORTRAN (1957) и COBOL (1959). Это позволило писать программы в более понятной для человека форме, а трансляторы (компиляторы и интерпретаторы) преобразовывали их в машинный код. В 1964 году был создан язык BASIC, ставший популярным для обучения программированию. В 1960-е годы также возникли первые операционные системы, такие как OS/360 для мейнфреймов IBM.

Развитие индустрии (1970-е — 1980-е)

С появлением микропроцессоров и персональных компьютеров в 1970-х годах начался массовый выпуск программного обеспечения. В 1975 году основана компания Microsoft, выпустившая операционную систему MS-DOS (1981). В 1984 году Apple представила Macintosh с графическим интерфейсом пользователя, что изменило подход к разработке ПО. В этот период сформировалась концепция коммерческого программного обеспечения, распространяемого по лицензиям.

Интернет и открытое ПО (1990-е — 2000-е)

Распространение интернета в 1990-х годах привело к появлению веб-приложений и облачных сервисов. В 1991 году Линус Торвальдс выпустил ядро Linux — пример свободного программного обеспечения с открытым исходным кодом. Движение за открытое ПО (Open Source) набрало силу, противопоставляя себя проприетарным моделям. В 2000-х годах возникли такие гиганты, как Google (поисковая система, онлайн-сервисы) и Salesforce (облачные CRM-системы).

Современный этап (2010-е — настоящее время)

Современное программное обеспечение характеризуется переходом к мобильным платформам (iOS, Android), развитием искусственного интеллекта, машинного обучения и больших данных. Широкое распространение получили SaaS-модели (Software as a Service) и микросервисная архитектура. Важную роль играет кибербезопасность и защита персональных данных.

Классификация программного обеспечения

Программное обеспечение принято делить на три основные категории по функциональному назначению:

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

Системное ПО обеспечивает работу компьютерного оборудования и предоставляет платформу для прикладных программ. К нему относятся:

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

Прикладное ПО предназначено для решения конкретных задач пользователя. Включает:

Инструментальное программное обеспечение (средства разработки)

Инструментальное ПО используется для создания, отладки и поддержки другого программного обеспечения. Включает:

Правовой статус и лицензирование

Программное обеспечение является объектом авторского права и интеллектуальной собственности. В России правовое регулирование ПО осуществляется Гражданским кодексом РФ (часть четвёртая). Различают два основных типа лицензий:

Проприетарное ПО

Проприетарное (закрытое) программное обеспечение распространяется на условиях лицензионного соглашения, которое ограничивает права пользователя (запрет на копирование, модификацию, распространение). Пользователь приобретает не саму программу, а право на её использование. Примеры: Microsoft Windows, Adobe Photoshop, 1С:Предприятие.

Свободное и открытое ПО (Open Source)

Свободное ПО (Free Software) и ПО с открытым исходным кодом (Open Source) предоставляют пользователю право запускать, изучать, изменять и распространять программу. Примеры лицензий: GNU General Public License (GPL), Apache License, MIT License. К этому типу относятся ядро Linux, браузер Mozilla Firefox, офисный пакет LibreOffice.

Бесплатное и условно-бесплатное ПО

Существуют также модели:

Жизненный цикл программного обеспечения

Разработка ПО — сложный инженерный процесс, включающий несколько этапов:

  1. Анализ требований — сбор и документирование потребностей заказчика.
  2. Проектирование — создание архитектуры, выбор технологий.
  3. Реализация (кодирование) — написание исходного кода.
  4. Тестирование — проверка на ошибки, соответствие требованиям.
  5. Внедрение — установка и настройка у пользователя.
  6. Сопровождение — исправление ошибок, обновления, добавление функций.

Существуют различные методологии разработки: каскадная (Waterfall), итеративная, гибкая (Agile, Scrum, Kanban).

Качество и надёжность

Качество программного обеспечения оценивается по ряду характеристик:

Для оценки качества применяются стандарты, такие как ISO/IEC 25010.

Критика и проблемы

Программное обеспечение сталкивается с рядом критических замечаний и проблем:

Будущее программного обеспечения

Основными тенденциями развития ПО являются:

Источники

  1. Гражданский кодекс Российской Федерации. Часть четвёртая. Статьи 1225–1299.
  2. Брукс Ф. Мифический человеко-месяц, или Как создаются программные системы. — СПб.: Символ-Плюс, 2005.
  3. Керниган Б., Пайк Р. Практика программирования. — М.: Вильямс, 2005.
  4. Соммервилл И. Инженерия программного обеспечения. — М.: Вильямс, 2002.
  5. Stallman R. Free Software, Free Society. — GNU Press, 2002.
  6. ISO/IEC 25010:2011. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →