Что такое программное обеспечение?
Определение и классификация ПО
В такую технологическую эпоху, как наша, нас окружает и даже переполняет огромное количество программного обеспечения (ПО). Это понятие присутствует в сегодняшней реальности каждого человека. Мы используем ПО, как и в старые времена, на компьютере, а также на наших телефонах, чтобы сделать заметку, во время игр, при прохождении дистанционного обучения, при поиске работы в приложениях, при просмотре Wink по телевизору и даже при программировании микроволновой печи, и это лишь несколько примеров.
Поэтому, находясь в окружении программного обеспечения, иронично видеть, как мало мы знаем об этой концепции, и именно это мы сегодня исправим, рассказав вам, что такое программное обеспечение, какие типы существуют, как и для чего используется и, в общем, все, что вам нужно знать об этом понятии.
Что такое программное обеспечение и для чего оно нужно? Определение
Самое основное определение, которое мы можем найти и которое, в свою очередь, точно описывает, что это такое, – это определение, данное самой Википедией, где говорится о “логической поддержке компьютерной системы”. Однако мы оказали бы себе плохую услугу, если бы это было единственное, что мы могли бы внести в это понятие.
Речь идет о тех правилах, предпосылках, действиях и инструкциях, которые не существуют на физическом уровне, которые не осязаемы, которые нельзя потрогать, но которые, тем не менее, выполняются и функционируют для связи с данной техникой, предлагая самые разнообразные службы, в компьютерном оборудовании, телевизорах, смартфонах и т.д., в настоящее время использующих сложные алгоритмы, разработанные с помощью искусственного интеллекта.
Таким образом, получается сборник логических компонентов, которые собираются вместе, чтобы сформировать продукт, предназначенный для работы и функционирования в компьютере. Это и есть его операционная часть.
Чтобы лучше понять ее, можно сказать, что это компьютерные программы, как те, которые используются конечным пользователем, так и все те, которые вовлечены в более длительный процесс, скрытый от общественности, который, в свою очередь, включает проектирование, разработку и компьютерное программирование, в свою очередь, другого программного обеспечения. Как вы увидите ниже, все, что мы запускаем на наших устройствах, является программным обеспечением того или иного вида.
Происхождение
Возникновение ПО происходит параллельно с появлением первых компьютеров, в 1940-х гг. В то время его отличие от аппаратного обеспечения было не очень четко осознано (мы увидим это позже); оно не задумывалось как нечто независимое от последнего.
В этом и следующем десятилетии предлагались бесплатные, нелицензионные продукты. Обмен ими был подобен обмену рецептами с соседями.
История
Уже в 1960-х годах, с появлением ARPANET, начало формироваться сообщество, которое стало специфическим образом демонстрировать характеристики, принципы и ценности программного обеспечения.
Толчком к развитию этой области послужили две конференции, организованные НАТО в 1968 и 1969 годах.
Конечно, последующие десятилетия, помимо новых разработок, были отмечены различными проблемами, которые сформировали то, что стало известно как “кризис программного обеспечения”, наиболее заметный аспект истории этого продукта, именно из-за его влияния на всех уровнях.
Эволюция
Мы можем говорить об эволюции, начиная с 1960-х годов, потому что, несмотря на то, что, как мы уже говорили, это привело к серьезному кризису, эволюция ПО становилась очевидной.
Мы можем определить первую эпоху, которая характеризуется использованием программного обеспечения самими разработчиками, единой корпорацией, которая занималась созданием своих программ по мере их появления, для собственного использования.
Вторую эпоху дает многоцелевая концепция, включающая все виды многоцелевых систем и мультипрограммирование. Другим ключевым аспектом является внедрение новых концепций, способствующих взаимодействию человека и машины.
Третья эпоха, наступившая в середине 1970-х годов, включает в себя распространение этих систем, использование различных компьютеров, каждый из которых имеет свое назначение и постоянно взаимодействует. На данный момент на индустрию программного обеспечения приходится большая часть мировой экономики.
Сейчас мы находимся в четвертой эпохе, которая характеризуется уточнением методов, используемых для проектирования, разработки и улучшения программного обеспечения, а вместе с ним и пользовательского опыта, который стал основным фокусом отрасли.
Классификация и виды программного обеспечения в зависимости от их использования
В зависимости от предназначения, то есть цели, для которой они разработаны, мы имеем классификацию, которая включает программное обеспечение для программирования, системное программное обеспечение, прикладное программное обеспечение, вредоносное программное обеспечение и социальное программное обеспечение.
Программное обеспечение
Оно занимает лидирующее положение по важности, поскольку именно оно создает все остальное, включая, конечно, другие типы программного обеспечения, которые мы рассмотрим далее. Оно требуется на абсолютно базовом уровне как при разработке приложений, так и в общей вычислительной технике.
Для этого вам нужно то, что, в свою очередь, также является другим программным обеспечением, таким как редакторы и текстовые процессоры, среды IDE, различные компиляторы (их много) или клиент-серверное программное обеспечение, которое позволяет проводить тестирование, управление версиями…
С точки зрения человеческих ресурсов, знания требуются, очевидно, в программировании, а также в логике и математике.
В рамках этого типа у нас есть подтипы:
- Интегрированная среда разработки или IDE: Это своего рода набор или комплект инструментов программирования, которые повышают производительность разработки. Существуют различные из них, достигающие, благодаря своим различным функциональным возможностям, продвижения по тому или иному пути.
- Отладчик кода: как следует из названия, он работает для отладки кода, что всегда ценится как теми, кто программирует и разрабатывает, так и со стороны, когда разработанный продукт выполняется.
- Текстовый редактор: Предлагает создание чистого кода без использования других внешних программ.
- Компилятор: отвечает за чтение программы на языке оригинала и ее расшифровку для отображения на обычном языке, чтобы она была совместима с вашей машиной и могла быть выполнена на ней.
Системное программное обеспечение
Его основная функция очень общая, но простая; оно работает для обеспечения работы аппаратного обеспечения, частью которого является. Конечно, существует множество типов, нацеленных на работу разными способами и обладающих совершенно разными характеристиками (как и другими, очень похожими, конечно).
Мы говорим об операционной системе, такой как Android, Linux, MacOS, BlackBerryOS… а также о драйверах, предназначенных для обеспечения соответствующего взаимодействия между системой и оборудованием.
Мы имеем:
- Операционные системы для настольных компьютеров.
- Операционные системы для мобильных устройств.
- Системные утилиты.
- Инструменты для исправления.
- Серверы данных.
Прикладное программное обеспечение
Прикладное или утилитарное программное обеспечение – это программное обеспечение, которое используется в ситуациях, отличных от предыдущих, то есть не для проектирования и разработки и не для эксплуатации оборудования. В этом случае целью является функциональность, которая интересует конечного пользователя и которая может быть очень разнообразной.
Все, что мы используем в наших устройствах, включает в себя прикладное программное обеспечение. Фактически, можно сказать, что это все, что не попадает в две предыдущие классификации, то есть компьютерные приложения для конечного пользователя. Клиент электронной почты, браузер, платформа потокового контента, любое приложение, которое вы загружаете из App Store или Google Play Store, и так далее.
К этим типам относятся:
- Офисные пакеты и приложения.
- Видеоигры.
- Образовательное ПО.
- Безопасность.
- Дизайн.
- Инвентаризация.
- Бухгалтерский учет.
- Административное ПО.
- Инвентаризация.
- Медицинское ПО.
Вредоносное или опасное ПО
Это программы, предназначенные для негативного воздействия на компьютеры пользователей, на которых они установлены, или для того, чтобы сделать то же самое с другим программным обеспечением. Как правило, их целью является отключение антивирусного программного обеспечения, уничтожение жестких дисков, отключение или вывод из строя определенных функций программы или просто кража информации, хотя за этими все более сложными программами стоит гораздо больше целей.
В зависимости от способа их работы и цели, мы находим:
- Вирус: Это программа с вредоносным кодом, которая стремится распространяться между компьютерами. Она внедряется в компьютер без вашего разрешения, через исполняемый файл, и систематически копируется в каждое программное обеспечение, которое вы запускаете.
- Черви: это особый тип вирусов, но их известность и хаос, который они сеяли на протяжении всей истории, настолько велики, что их называют особым типом вредоносных программ.
- Трояны: Это безобидная на первый взгляд программа, которая включает в себя другие вредоносные программы, получая доступ к вашему компьютеру и информации, если вы сначала скачали и установили эту программу. У него нет способности к размножению; программа может находиться в спящем состоянии, пока не придет время действовать.
- Бэкдоры: Подобно тому, как червь – это разновидность вируса, получившая свое название как тип вредоносного ПО, бэкдор – это разновидность трояна. В этом случае хакер получает контроль над зараженной системой и может устанавливать дополнительные программы, делать массовые рассылки и т.д.
- Кейлоггеры: программное обеспечение для записи нажатий клавиш, которые вы набираете на компьютере, таким образом получая информацию обо всем, что вы набираете. Обычно нацелены на пароли.
- Дозвонщики: программное обеспечение, которое набирает телефонные номера и ищет контакт между вашим компьютером и сетью. Некоторые из них безобидны, но другие стремятся набирать номера с выставлением счетов.
- Руткиты: это наборы для рутирования оборудования. Это очень сложный код, внедряемый в машины и системы, чтобы взять их под контроль, управлять ими, что очень затрудняет выход на киберпреступника из-за отсутствия следов.
- Шпионское ПО: программное обеспечение, целью которого является сбор информации о пользователе, использующем машину, на которой оно установлено. Эта информация отправляется тому, кто несет за это ответственность, либо создателю, либо в компьютерную сеть. Их легче всего обнаружить и устранить.
Социальное программное обеспечение
Это средства коммуникации, предназначенные для облегчения взаимодействия по социальному признаку, включая службы обмена сообщениями, платформы социальных сетей, чаты…
Они включают поддержку разговоров между двумя или более пользователями, обратную связь, простоту обмена контентом, цифровое и виртуальное выражение личных отношений.
Примеры и типы программ в зависимости от способа их разработки
Еще одна классификация, которую стоит знать и учитывать, – это классификация по авторскому праву, которым обладают эти программы. Еще один интересный момент – жизненный цикл программного обеспечения, то есть с момента возникновения идеи до ее воплощения в жизнь для пользователей, трудоемкий и увлекательный процесс одновременно.
Freeware (Бесплатное программное обеспечение)
Как следует из самого понятия, речь идет о продукте, который вы можете загрузить на свой компьютер и распространять без оплаты, ни с вашей стороны, ни со стороны тех, кто также получает его от вас.
Во многих случаях мы имеем дело с тем, что такое ПО является частью более крупной, более комплексной программы, которая имеет свою стоимость. Конечно, есть и такие случаи, когда в обмен на бесплатное пользование мы должны смотреть рекламу, которая является источником дохода для разработчиков.
Даже если ПО бесплатно, его исходный код обычно недоступен. Тот факт, что программа является бесплатной, не означает, что она не защищена авторским правом. По этой причине никто не может использовать ее в коммерческих целях, чтобы извлечь из нее прибыль, и тем более претендовать на программу как на свою собственную.
Shareware (Условно-бесплатное программное обеспечение)
Распространение разрешено без ограничений, но использование ограничено по истечении определенного периода времени. По этой причине ПО нельзя копировать или устанавливать без оплаты.
ЕЕ исходный код, разумеется, остается скрытым, поэтому это не та программа, которую вообще можно модифицировать. Ярким примером является пробная версия любой программы.
Free software (Свободное программное обеспечение)
Нет ограничений на копирование, модификацию и распространение. Исходный код полностью доступен.
Open Source (Программное обеспечение с открытым исходным кодом)
Программы, называемые Open Source, прекрасно распространяются, копируются и модифицируются, но всегда с уведомлением сообщества поддержки. Таким образом, интеллектуальная собственность делится между разработчиками и последующими пользователями, которые ее модифицируют.
Privative (Частное программное обеспечение)
В отличие от бесплатных, оно не может быть изменено или распространено, и, конечно же, нет доступа к исходному коду. По логическим причинам оно является платным или премиум.
Adware (Рекламное ПО)
Цель таких программ – получение финансовой выгоды. Их можно модифицировать после того, как вы заплатили за них, так как обычно это бесплатный код.
Программные компоненты и их функции
Компонент, просто по смыслу этого понятия, – это любой элемент, который составляет или соответствует чему-то большему. Таким образом, мы понимаем, что компоненты программного обеспечения – это каждый из элементов, которые являются его частью, интегрируют его и составляют его как единое целое.
Мы говорим о модулях, которые имеют свой собственный интерфейс и взаимосвязи, которые достаточно определены, чтобы быть сгруппированными вместе как определенный набор. Они варьируются от минимальных до тех, которые образуют собственную ветвь подмодулей.
- Одной из их характеристик является то, что они имеют явные зависимости от условий.
- Другая заключается в том, что они могут быть развернуты независимо, имеют индивидуальность и могут быть использованы в других составах и базах данных.
- Последнее подводит нас к еще одному моменту, который заключается в том, что это заменяемый набор.
- Он также является многократно используемым.
- Его интерфейс идеально определен, так что его использование в другой группе просто и интуитивно понятно,
- Наконец, это элементы, которые должны быть целостными.
Различия между аппаратным и программным обеспечением (логические и физические компоненты)
После подробного разговора о программном обеспечении мы можем сказать, что это логический компонент, который используется по-разному в зависимости от того, какую выгоду он хочет нам предложить. Однако, учитывая сходство с понятием “аппаратное обеспечение“, любой, кто не является экспертом, может спутать эти два понятия или даже подумать, что это одно и то же.
Учитывая уже данное нами развернутое определение, нам остается прокомментировать, что такое аппаратное обеспечение. Оно представляет собой не что иное, как физические компоненты компьютера, то есть материальные части, те, которые можно потрогать. Другими словами, программное обеспечение – это “внутренности”, а аппаратное обеспечение – это “контейнер”.
Программное обеспечение требует, на том или ином уровне, исполнения аппаратными средствами. Это означает, что должен существовать физический компонент, контейнер, который делает возможным использование программы, какой бы минимальной она ни была.
Таким образом, программное обеспечение – это всевозможные программы, такие как игры, веб-страницы, приложения, которые мы скачиваем, и т.д., а аппаратное обеспечение – это монитор, на котором мы видим информацию, мышь, которая позволяет нам выполнять содержимое, процессор, который работает так, чтобы выполнение было возможным, или память RAM, которая позволяет нам хранить непосредственную информацию, которая выдается.
Читайте полный курс “Основы информатики”: