Программное обеспечение software это: Программное обеспечение (software) — что это

Что такое программное обеспечение?

Главная » Словарь » п » Что такое программное обеспечение?



Программное обеспечение (англ. software) – это набор инструкций, позволяющий пользователю взаимодействовать с компьютером, его аппаратной частью, выполнять задачи. Без программного обеспечения компьютеры бесполезны.


Например, без интернет-браузера, Вы бы не смогли бродить по интернету и читать эту страницу, а без операционной системы не может работать браузер. Изображение справа, пример программного обеспечения, программы  Word, для работы с текстовыми документами.


Примеры и виды программного обеспечения


Ниже приведена таблица с видами программного обеспечения, которое может быть установлено на компьютере.


Следует отметить, что все программы это программное обеспечение, но не всё программное обеспечение это программы. Для наглядности в таблице есть уточняющий столбец «Программа?».



















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


Пример


Программа?


Антивирус


AVG, Avast, McAfee


Да


Музыкальный/Аудио плеер


Itunes, WinAmp


Да


База данных


Access, MySQL, SQL


Да


Драйвер


Компьютерные драйверы


Нет


Клиент электронной почты


Outlook, Thunderbird


Да


Игра


Quake, World of Warcraft, FlatOut


Да


Интернет браузер


Firefox, Google Chrome, Opera


Да


Видео плеер


Media Player Classic, Windows Media Player


Да


Операционная система


Windows 10, Mac Os X 10, Android


Нет


Графический редактор


Adobe PhotoShop, CorelDRAW


Да


Презентация


Microsoft PowerPoint


Да


Язык программирования


C++, PHP, Java, Perl, Python


Да


Симулятор


Flight simulator, SimCity


Да


Табличный редактор


Microsoft Excel


Да


Утилита


Сжатие, очистка диска, шифрование, очистка реестра


Нет


Текстовый редактор


Microsoft Word


Да


Совет: Смотрите наше определение программы, чтобы увидеть другие примеры программ.


Как создается программное обеспечение?


Компьютерный программист (или несколько) пишут инструкции, используя язык программирования. Эти инструкции указывают программному обеспечению, как действовать и что делать. После того как программа была завершена, она составляется (компилируется) на язык понятный компьютеру и может работать на нем.


Похожие страницы:


  • Какие бывают программы?

  • Основные виды лицензий программ

  • Какая разница между аппаратным и программным обеспечением?


См. также: Аппаратное обеспечение, Program Files, проводник.

Понравилось? Поделись с друзьями!


что это такое, для чего нужно и какое бывает

Программное обеспечение, или ПО, – это совокупность программ на компьютере или другом устройстве. Еще так называют сами программы. По-английски программное обеспечение – software, поэтому используется еще и термин «софт».

Цифровая система состоит из трех компонентов:

  • hardware, или «железо» – аппаратные составляющие;
  • middleware – «прослойка» между железом и программами, инфраструктура для связи компонентов друг с другом;
  • software – программная «начинка» устройства.

Для примера можно взять смартфон. В нем есть процессор, экран, оперативная память – это «железо». Есть разные протоколы и службы – это middleware. А еще есть операционная система и приложения внутри нее – это software, программное обеспечение.

Кто пользуется программным обеспечением

В широком смысле с ПО работает каждый, у которого есть компьютер или другой гаджет. Программная начинка есть и в более мелкой технике: смарт-часах и браслетах, «умных» чайниках и пылесосах, наушниках. Задача софта в таких устройствах – выполнять заданные алгоритмы, например, управлять мотором или ставить музыку на паузу при нажатии.

В компьютерах и смартфонах ПО разнообразнее. Это системные приложения для нормальной работы ОС, прикладные программы – профессиональные и бытовые. Видеоигра, текстовый редактор, приложение социальной сети – все это софт.

В узком смысле с ПО работают программисты, тестировщики и другие IT-специалисты. Их задача – не просто пользоваться софтом, а разрабатывать и отлаживать его. Команды айтишников создают и поддерживают программное обеспечение – программируют, пишут код, который выполняет нужные инструкции.

Для чего используют ПО

Есть электроника, которая работает без программного обеспечения, но ее мало. Это обычно примитивные устройства вроде настольных ламп – там процессы происходят благодаря непрограммируемым электрическим схемам.

Чаще, чтобы «железо» выполняло свои функции, нужны программы. Программирование дает возможность работать с устройством более гибко и разнообразно, благодаря нему техника стала умнее и функциональнее. А еще программируемые контроллеры часто дешевле, чем непрограммируемые схемы – так что электроника стала еще и более доступной.

Программное обеспечение очень разнообразно. Его используют, чтобы:

  • управлять работой «железных» компонентов;
  • взаимодействовать с компьютером через интерфейс;
  • выходить в сеть и делиться информацией;
  • генерировать, хранить и пересылать данные;
  • выполнять прикладные задачи – писать, считать, рисовать что-то и так далее.

И это только часть примеров. Софт везде: без него компьютер стал бы просто конструкцией из металла и пластика, которая почти ничего не умеет.

Каким бывает ПО по назначению

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

Системное. Это программное обеспечение, которое нужно для работы компьютерной системы. Как пример такого софта – операционная система Windows или macOS, ее службы и процессы. Без нее обычный пользователь просто не сможет пользоваться компьютером, да и профессионал вряд ли обойдется вообще без софта. Еще к системному ПО относят прошивки смартфонов и других умных устройств, управляющие инструкции в домашней технике и промышленной электронике. Системное ПО есть практически в любой системе – от принтера до космической ракеты.

Инструментальное. Так называют софт, который нужен для создания других программ. Это профессиональные инструменты айтишников. Компиляторы и интерпретаторы языков программирования, разные библиотеки и фреймворки, среды программирования и редакторы кода – все это инструментальное ПО. Часть таких программ есть на вашем компьютере, даже если вы не занимаетесь IT. Ведь даже некоторое прикладное ПО не запускается, если на компьютере не установлен инструментальный софт для его языка.

Прикладное. Это самая знакомая обычному пользователю группа – программы, которыми мы пользуемся в повседневной жизни, от «Блокнота» до 1С. Сюда же относятся приложения на телефон, разные плагины и надстройки для программ, браузеры и многое другое. Онлайн-сервисы – по сути тоже прикладное ПО. Это такие же программы, только установлены они не на компьютере пользователя, а на удаленных серверах.

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

Приведем несколько примеров разнообразного софта – так будет легче увидеть, насколько широкое это понятие.

Операционные системы. Операционная система нужна, чтобы компьютером можно было управлять. Через нее запускаются прикладные программы, она же администрирует управление «железом»: выделяет оперативную память, делает запросы и дает команды. Без операционной системы работать с большей частью возможностей компьютера невозможно.

ОС тоже бывают разными. Есть домашние, такие как Windows и macOS, а есть профессиональные – их устанавливают на сервера, мощные сетевые компьютеры. Такие системы отличаются от домашних: ими сложнее управлять, иногда у них даже нет графического интерфейса. Но и возможности очень широкие.

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

СУБД. Еще один пример программного обеспечения, без которого никуда. Системы управления базами данных и сами базы данных – это не аппаратные сущности, а программные. Базы данных хранят информацию, а СУБД помогают управлять ей: вызывать и выдавать по запросу, удалять, обновлять и так далее. Это так важно, потому что в компьютерных системах все есть информация: и маленькая картинка, и огромный список пользователей сайта — и даже этот текст.

Корпоративные системы. Программами пользуются компании и производства – не только обычные люди. CRM, CMS, ERP – все эти сложные аббревиатуры означают разные виды профессионального софта. Он предназначен для работы с бизнес-процессами:

  • учетом пользователей и продаж,
  • администрированием сайтов,
  • ведением бухгалтерии,
  • хранением данных,
  • автоматизацией документооборота и многим другим.

Например, всем известная 1С относится как раз к категории корпоративных систем. Зарубежные системы вроде SAP – тоже.

«Бытовые» приложения. Здесь все, чем мы пользуемся каждый день. Текстовые и графические редакторы, интернет-браузеры, программы-плееры для просмотра кино и прослушивания музыки, видеоигры и многое, многое другое. Фитнес-трекер на умных часах или приложение для VPN – все это ПО для повседневного использования. Кстати, некоторые программы вполне могут существовать в нескольких версиях – например, домашней и профессиональной.

Профессиональные программы. Еще есть специализированный софт для разных профессиональных задач. Например, AutoCAD для инженера или Blender для 3D-моделлера. Математики и аналитики могут работать в MATLAB или похожем ПО. А про инструментальный софт, нужный любому программисту, мы уже говорили.

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

Как мы и говорили – есть разные классификации софта. Еще одна популярная – по типу доступа. Она описывает, какие части программы могут быть доступны пользователю и на каких условиях. Тут обычно выделяют три типа ПО.

Закрытое, или проприетарное. В основном это коммерческие программы – такие, которые продаются за деньги. Такими программами можно пользоваться, если у вас есть к ним доступ, но посмотреть исходный код нельзя. Он закрыт, его не видно. Нельзя и дорабатывать программу по своему усмотрению – авторские права запрещают нецелевое использование.

Свободное. Такое ПО дает пользователю больше свободы. Он может запускать, изучать, улучшать и распространять программу – в отличие от проприетарного софта, который можно только запускать. У создателя свободного ПО остаются авторские права, его разработка выпускается под одной из специальных «свободных» лицензий. Исходный код в таких программах обычно открыт, его можно посмотреть и отредактировать. Пользователи могут дорабатывать свободный софт, выпускать свои «версии» и «сборки» – но на развитие основного продукта не влияют.

Открытое. Свободное и открытое ПО иногда путают. На самом деле эти понятия различаются, хоть и похожи. Открытым, или open-source, называют софт с открытым исходным кодом – любой может просмотреть этот код и внести в него свои правки. Хотя у свободного софта исходный код чаще всего тоже открыт, есть разница: классический open-source полностью общедоступен. Это значит, что даже владелец не имеет исключительных прав на такую программу, а помогать в ее разработке могут и сами пользователи.

Коммерческое и бесплатное ПО

Это разделение немного отличается от способа доступа. Оно показывает, как создатели монетизируют программное обеспечение:

  • коммерческие программы стоят денег – их нужно купить один раз или оплачивать подписку регулярно;
  • за бесплатные программы платить не нужно, они доступны для всех.

В теории открытая программа может при этом быть коммерческой и платной, а проприетарная – бесплатной. Но чаще всего открытое и свободное ПО – бесплатное. Платные программы в большинстве случаев проприетарные, например, Windows или Adobe Photoshop.

Есть программы, которые сразу выпускают в двух версиях: бесплатной и платной. Обычно бесплатной можно пользоваться новичкам, ученикам или тем, кто не собирается извлекать из софта выгоду. А платная – для профессионалов и компаний, у нее обычно более широкие возможности.

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

Классификаций программ очень много. Вот только несколько видов.

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

По стабильности. Стабильные программы – те, которые редко сбоят. Они предсказуемы и удобны. Еще есть ПО средней стабильности и нестабильное – оно чаще «падает» и ведет себя некорректно. Обычно это софт, который вышел недавно.

По масштабу. Бывает малое, среднее и большое ПО. Масштаб измеряется в том, сколько ресурсов потребляет программа и сколько функций реализует. «Блокнот» – малое ПО, ERP-система – большое.

По языку и среде. Программы различаются еще и тем, на каком языке программирования они написаны и для какой среды предназначены. Например, приложение для Android не запустится в Windows. А программа на языке C++ будет отличаться от программы на Python и логикой, и быстродействием.

По степени защиты, доступу и так далее. Эти классификации в основном используют для корпоративного софта. В компаниях важны защищенность и возможность разделить доступ к данным. Например, есть ПО, которое дает рядовому пользователю одни функции, а руководителю – другие, более широкие. Есть разные типы программ по спектру выполняемых задач, по требованиям к мощности и другим параметрам – но обычные пользователи редко сталкиваются с этими классификациями.

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

Программные продукты не возникают из ниоткуда. Их пишут разработчики, проверяют тестировщики, выпускают на рынок менеджеры. Каждая, даже небольшая программа – это серьезный труд людей. Если маленькую программку сможет написать один человек, то в разработке какого-нибудь пакета офисного ПО обычно заняты сотни, если не тысячи специалистов.

Стадии создания и работы с продуктом можно условно разделить на три части.

Написание. На этом этапе программа еще не готова. Есть какая-то идея, которую нужно реализовать. Возможно, есть и планы, как это сделать. Планы и идеи – зона ответственности менеджеров или тех, кто придумал проект.

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

Не всегда работает именно такая команда. Есть проекты, созданные 1-2 людьми – это обычно ПО, которое придумали и разработали «по зову души». Яркий пример – инди-игры.

В зависимости от размера проекта разработка может занимать как несколько недель, так и несколько лет. Например, высокобюджетные игры создают годами. А, скажем, небольшой плагин можно набросать за несколько дней.

Запуск и работа. Рано или поздно программа оказывается готова, и наступает следующий этап. Продукт нужно запустить и вывести на рынок. Тут тоже много работы: рассказать пользователям о продукте, развернуть его в нужной среде или дать инструкции для установки на локальный компьютер. А еще маркетинг, выбор площадки и многое другое.

После релиза – так называется выпуск программы – она остается работать. И тут обязанности создателей не заканчиваются. ПО, которое только что выпустили, часто «сырое», недоработанное, в нем есть ошибки – чем-то неудобно пользоваться, какой-то важной функции нет. Разработчики доделывают программу: если она работает не сервере, дописывают ее и разворачивают снова, а если это ПО для локальной установки – выпускают патчи или новые версии.

Поддержка. Даже программы, которым уже много лет, постоянно доделывают и улучшают. Это нормально, ведь рынок меняется, как и требования и нужды пользователей. Вспомните любой сайт 10 лет назад и сейчас – получится два разных продукта и внешне, и по функциям. Без обновлений программа быстро устареет.

Но поддержка – это не только выпуск обновлений. Это еще и работа с клиентами, ответы на их вопросы: кто-то спросил, как исправить ошибку, у кого-то проблемы с новой функцией. Кстати, так монетизируют некоторые open-source проекты: бесплатное и открытое ПО, но платная техподдержка.

Как создать программу самостоятельно

Большие команды работают над сложными проектами. Но и в одиночку можно создать сервис или программу, которая окажется полезной людям или просто интересной. Например, известную игру Minecraft создал разработчик-одиночка. А уж утилит для разработки, созданных одним человеком, и вовсе очень много.

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

Что такое программное обеспечение? Определение, типы и примеры

Архитектура приложения

К

  • Линда Розенкранс

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

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

Другие типы программного обеспечения включают программное обеспечение для программирования, которое предоставляет инструменты программирования, необходимые разработчикам программного обеспечения; промежуточное программное обеспечение, которое находится между системным программным обеспечением и приложениями; и программное обеспечение драйвера, которое управляет компьютерными устройствами и периферийными устройствами.

Раннее программное обеспечение было написано для конкретных компьютеров и продавалось вместе с аппаратным обеспечением, на котором оно работало. В 1980-х программное обеспечение стало продаваться на гибких дисках, а позже на компакт-дисках и DVD-дисках. Сегодня большая часть программного обеспечения приобретается и загружается непосредственно через Интернет. Программное обеспечение можно найти на веб-сайтах поставщиков или веб-сайтах поставщиков услуг приложений.

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

Среди различных категорий программного обеспечения наиболее распространены следующие типы:

  • Прикладное программное обеспечение. Наиболее распространенный тип программного обеспечения, прикладное программное обеспечение — это пакет компьютерного программного обеспечения, выполняющий определенную функцию для пользователя или, в некоторых случаях, для другого приложения. Приложение может быть автономным или представлять собой группу программ, которые запускают приложение для пользователя. Примеры современных приложений включают офисные пакеты, графическое программное обеспечение, базы данных и программы управления базами данных, веб-браузеры, текстовые процессоры, средства разработки программного обеспечения, редакторы изображений и коммуникационные платформы.
  • Системное программное обеспечение. Эти программы предназначены для запуска прикладных программ и оборудования компьютера. Системное программное обеспечение координирует действия и функции аппаратного и программного обеспечения. Кроме того, он контролирует работу аппаратного обеспечения компьютера и обеспечивает среду или платформу для работы всех других типов программного обеспечения. ОС является лучшим примером системного программного обеспечения; он управляет всеми другими компьютерными программами. Другие примеры системного программного обеспечения включают встроенное программное обеспечение, переводчики компьютерных языков и системные утилиты.
  • Драйвер. Это программное обеспечение, также известное как драйверы устройств, часто считается типом системного программного обеспечения. Драйверы устройств управляют устройствами и периферийными устройствами, подключенными к компьютеру, позволяя им выполнять свои определенные задачи. Для работы каждого устройства, подключенного к компьютеру, требуется как минимум один драйвер устройства. Примеры включают программное обеспечение, которое поставляется с любым нестандартным оборудованием, включая специальные игровые контроллеры, а также программное обеспечение, которое поддерживает стандартное оборудование, такое как USB-накопители, клавиатуры, наушники и принтеры.
  • Промежуточное ПО. Термин промежуточного программного обеспечения описывает программное обеспечение, являющееся посредником между прикладным и системным программным обеспечением или между двумя разными типами прикладного программного обеспечения. Например, промежуточное ПО позволяет Microsoft Windows взаимодействовать с Excel и Word. Он также используется для отправки запроса на удаленную работу из приложения на компьютере с одной ОС в приложение на компьютере с другой ОС. Это также позволяет новым приложениям работать с устаревшими.
  • Программное обеспечение для программирования. Компьютерные программисты используют программное обеспечение для программирования для написания кода. Программное обеспечение и инструменты программирования позволяют разработчикам разрабатывать, писать, тестировать и отлаживать другие программы. Примеры программного обеспечения для программирования включают ассемблеры, компиляторы, отладчики и интерпретаторы.

Вот полная картина всего программного стека.

Как работает программное обеспечение?

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

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

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

Эти настольные приложения устанавливаются на компьютер пользователя и используют память компьютера для выполнения задач. Они занимают место на жестком диске компьютера и не требуют подключения к Интернету для работы. Однако настольные приложения должны соответствовать требованиям аппаратных устройств, на которых они работают.

С другой стороны, веб-приложениям

для работы требуется только доступ в Интернет; они не полагаются на аппаратное и системное программное обеспечение для работы. Следовательно, пользователи могут запускать веб-приложения с устройств, на которых есть веб-браузер. Поскольку компоненты, отвечающие за функциональность приложения, находятся на сервере, пользователи могут запускать приложение из Windows, Mac, Linux или любой другой ОС.

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

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

Вот основные различия между системным и прикладным программным обеспечением.

Проектирование и реализация

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

Следующим шагом является внедрение, когда работа по разработке завершается, а затем происходит тестирование программного обеспечения. Этап обслуживания включает в себя любые задачи, необходимые для поддержания работоспособности системы.

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

Процесс проектирования программного обеспечения преобразует требования пользователя в форму, которую программисты могут использовать для кодирования и реализации программного обеспечения. Инженеры-программисты итеративно разрабатывают дизайн программного обеспечения, добавляя детали и корректируя дизайн по мере его разработки.

Различные типы разработки программного обеспечения включают следующее:

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

Узнайте о шести основных этапах разработки программного обеспечения.

Как поддерживать качество программного обеспечения

Качество программного обеспечения измеряется, если программное обеспечение соответствует как функциональным, так и нефункциональным требованиям.

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

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

Тестирование программного обеспечения выявляет и устраняет технические проблемы в исходном коде программного обеспечения, а также оценивает общее удобство использования, производительность, безопасность и совместимость продукта, чтобы убедиться, что он соответствует предъявляемым требованиям.

Измерения качества программного обеспечения включают следующие характеристики:

  • Доступность. Степень, в которой различные группы людей, в том числе лица, которым требуются адаптивные технологии, такие как распознавание голоса и экранные лупы, могут комфортно использовать программное обеспечение.
  • Совместимость . Пригодность программного обеспечения для использования в различных средах, например, с различными операционными системами, устройствами и браузерами.
  • Эффективность. Способность программного обеспечения хорошо работать без траты энергии, ресурсов, усилий, времени или денег.
  • Функциональность. Способность программного обеспечения выполнять заданные функции.
  • Возможность установки. Возможность установки программного обеспечения в указанной среде.
  • Локализация. Различные языки, часовые пояса и другие подобные функции, с которыми может работать программное обеспечение.
  • Ремонтопригодность. Насколько легко модифицировать программное обеспечение для добавления и улучшения функций, исправления ошибок и т. д.
  • Производительность. Скорость работы программного обеспечения при определенной нагрузке.
  • Портативность. Возможность легкого переноса программного обеспечения из одного места в другое.
  • Надежность. Способность программного обеспечения выполнять требуемую функцию в определенных условиях в течение определенного периода времени без каких-либо ошибок.
  • Масштабируемость . Мера способности программного обеспечения увеличивать или уменьшать производительность в ответ на изменения требований к обработке.
  • Безопасность. Способность программного обеспечения защищать от несанкционированного доступа, вторжения в частную жизнь, кражи, потери данных, вредоносных программ и т. д.
  • Тестируемость. Насколько легко тестировать программное обеспечение.
  • Удобство использования. Насколько просто пользоваться программой.

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

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

  1. Коррекция. Пользователи часто выявляют и сообщают об ошибках, которые должны исправить разработчики, включая ошибки кодирования и другие проблемы, из-за которых программное обеспечение не соответствует требованиям.
  2. Адаптивный. Разработчики должны регулярно вносить изменения в свое программное обеспечение, чтобы обеспечить его совместимость с меняющимися аппаратными и программными средами, например, при выходе новой версии ОС.
  3. Совершенный. Это изменения, улучшающие функциональность системы, такие как улучшение пользовательского интерфейса или корректировка программного кода для повышения производительности.
  4. Профилактика. Эти изменения вносятся для предотвращения сбоев программного обеспечения и включают такие задачи, как реструктуризация и оптимизация кода.

Лицензирование программного обеспечения и патенты

Лицензия на программное обеспечение — это юридически обязывающий документ, ограничивающий использование и распространение программного обеспечения.

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

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

Лицензии обычно предназначены для проприетарного программного обеспечения, которое остается собственностью организации, группы или лица, создавшего его; или для бесплатного программного обеспечения, где пользователи могут запускать, изучать, изменять и распространять программное обеспечение. Открытый исходный код — это тип программного обеспечения, при котором программное обеспечение разрабатывается совместно, а исходный код находится в свободном доступе. С лицензиями на программное обеспечение с открытым исходным кодом пользователи могут запускать, копировать, совместно использовать и изменять программное обеспечение, аналогично бесплатному программному обеспечению.

За последние два десятилетия поставщики программного обеспечения перешли от продажи лицензий на программное обеспечение на разовой основе к модели подписки на программное обеспечение как услугу. Поставщики программного обеспечения размещают программное обеспечение в облаке и делают его доступным для клиентов, которые платят абонентскую плату и получают доступ к программному обеспечению через Интернет.

Хотя авторское право может помешать другим копировать код разработчика, авторское право не может помешать им разрабатывать одно и то же программное обеспечение независимо друг от друга без копирования. Патент, с другой стороны, позволяет разработчику запретить другому лицу использовать функциональные аспекты программного обеспечения, заявленного разработчиком в патенте, даже если это другое лицо разработало программное обеспечение независимо.

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

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

Термин программное обеспечение не использовался до конца 1950-х годов. В течение этого времени, хотя и создавались различные типы программного обеспечения для программирования, они, как правило, не были коммерчески доступны. Следовательно, пользователям — в основном ученым и крупным предприятиям — часто приходилось писать собственное программное обеспечение.

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

  • 21 июня 1948 года. Том Килберн, ученый-компьютерщик, пишет первое в мире программное обеспечение для компьютера Manchester Baby в Манчестерском университете в Англии.
  • Начало 1950-х гг. General Motors создает первую ОС для машины электронной обработки данных IBM 701. Она называется General Motors Operating System или GM OS.
  • 1958. Статистик Джон Тьюки придумал слово программное обеспечение в статье о компьютерном программировании.
  • Конец 1960-х. Гибкие диски представлены и используются в 1980-х и 1990-х годах для распространения программного обеспечения.
  • 3 ноября 1971 г. AT&T выпускает первую версию ОС Unix.
  • 1977. Apple выпускает Apple II, и потребительское программное обеспечение набирает обороты.
  • 1979. VisiCorp выпускает VisiCalc для Apple II, первое программное обеспечение для работы с электронными таблицами для персональных компьютеров.
  • 1981. Microsoft выпускает MS-DOS, ОС, на которой работали многие ранние компьютеры IBM. IBM начинает продавать программное обеспечение, и коммерческое программное обеспечение становится доступным для среднего потребителя.
  • 1980-е гг. Жесткие диски становятся стандартом для ПК, и производители начинают комплектовать компьютеры программным обеспечением.
  • 1983. Движение за свободное программное обеспечение начинается с Linux-проекта Ричарда Столлмана GNU (GNU — это не Unix) по созданию Unix-подобной ОС с исходным кодом, который можно свободно копировать, изменять и распространять.
  • 1984. Выпущена Mac OS для линейки Apple Macintosh.
  • Середина 1980-х. Выпущены основные программные приложения, включая AutoDesk AutoCAD, Microsoft Word и Microsoft Excel.
  • 1985. Выпущена Microsoft Windows 1.0.
  • 1989. Компакт-диски становятся стандартными и содержат гораздо больше данных, чем дискеты. Большие программы можно распространять быстро, легко и относительно недорого.
  • 1991. Выпущено ядро ​​Linux, основа для ОС Linux с открытым исходным кодом.
  • 1997. Представлены DVD-диски , способные хранить больше данных, чем компакт-диски, что позволяет размещать пакеты программ, таких как Microsoft Office Suite, на одном диске.
  • 1999. Salesforce.com использует облачные вычисления для доставки программного обеспечения через Интернет.
  • 2000. Термин «программное обеспечение как услуга» (SaaS) входит в моду.
  • 2007. Запущен iPhone, и мобильные приложения начинают завоевывать популярность.
  • 2010 г. по настоящее время. DVD-диски устаревают, поскольку пользователи покупают и загружают программное обеспечение из Интернета и облака. Поставщики переходят на модели на основе подписки, и SaaS становится обычным явлением.

Последнее обновление: март 2021 г.


Продолжить чтение О программном обеспечении

  • Мышление продукта и проекта: различия в разработке программного обеспечения
  • В чем разница между программами с открытым исходным кодом и бесплатными программами?
  • Как разработчики программного обеспечения и архитекторы работают вместе?
  • 5 ключевые характеристики тестируемости ПО
  • Как заключить хорошее соглашение о подписке на программное обеспечение

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

  • операционная система (ОС)

    Автор: Стивен Бигелоу

  • переносимость программного обеспечения

    Автор: Александр Гиллис

  • Программирование встроенных систем

    Автор: Кинза Ясар

  • ядро

    Автор: Стивен Бигелоу

Качество ПО


  • Как разработать стратегию автоматизации тестирования API

    Набор автоматических тестов API может настроить приложение на успех, но только в том случае, если группы обеспечения качества определят правильные тесты для автоматизации . ..


  • Как создать набор регрессионных тестов

    Изменения кода являются неизбежным аспектом разработки программного обеспечения. Команды должны провести надлежащее тестирование, чтобы убедиться, что эти изменения не …


  • Как сбалансировать доступ к данным и безопасность в финтех-тестировании

    Использование реальных данных полезно при тестировании программного обеспечения, но команды должны быть осторожны, чтобы не поставить под угрозу безопасность и конфиденциальность. Шесть ядер …

Облачные вычисления


  • Как создать оповещение CloudWatch для инстанса EC2

    Оповещения CloudWatch — это строительные блоки инструментов мониторинга и реагирования в AWS. Познакомьтесь с ними, создав Amazon…


  • 5 способов восстановить виртуальную машину Azure

    Существуют различные способы восстановления виртуальной машины Azure. Узнайте, почему вам нужно восстановить виртуальную машину, доступные методы восстановления и какие…


  • Преимущества и ограничения Google Cloud Recommender

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

TheServerSide.com


  • Смарт-контракты, блокчейн и децентрализованные вычисления

    Такие отрасли, как производство и финансы, обращаются к децентрализованным вычислительным технологиям в форме смарт-контрактов …


  • Как избежать выгорания удаленного инженера-программиста

    Выгорание разработчика программного обеспечения реально. Вот несколько стратегий, которые программисты могут использовать, чтобы этого избежать.


  • JavaScript против TypeScript: в чем разница?

    TypeScript и JavaScript — две дополняющие друг друга технологии, которые лежат в основе как клиентской, так и серверной разработки. Вот…

Что такое системное программное обеспечение? — Определение из WhatIs.Com

К

  • Бен Луткевич,
    Технические характеристики Писатель
  • Айви Вигмор

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

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

Важные функции системного программного обеспечения

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

Системное программное обеспечение обычно включает следующие функции:

  1. Высокая скорость. Системное программное обеспечение должно быть максимально эффективным, чтобы обеспечить эффективную платформу для программного обеспечения более высокого уровня в компьютерной системе.
  2. Трудно манипулировать. Часто требуется использование языка программирования, который сложнее использовать, чем более интуитивно понятный пользовательский интерфейс (UI).
  3. Написано на низкоуровневом компьютерном языке. Системное программное обеспечение должно быть написано на компьютерном языке, который может читать центральный процессор (ЦП) и другое компьютерное оборудование.
  4. Близко к системе. Он напрямую подключается к оборудованию, которое позволяет компьютеру работать.
  5. Универсальный. Системное программное обеспечение должно взаимодействовать как со специализированным оборудованием, на котором оно работает, так и с прикладным программным обеспечением более высокого уровня, которое обычно не зависит от оборудования и часто не имеет прямого подключения к оборудованию, на котором оно работает. Системное программное обеспечение также должно поддерживать другие программы, которые зависят от него по мере их развития и изменения.

Типы системного программного обеспечения

Системное программное обеспечение управляет основными функциями компьютера, включая дисковую операционную систему, утилиту управления файлами и операционные системы.

Другие примеры системного программного обеспечения включают следующее:

Полная картина программного стека. Системное программное обеспечение включает прошивку через уровни ОС этой модели.

  • BIOS (базовая система ввода-вывода) обеспечивает запуск компьютерной системы после ее включения и управляет потоком данных между ОС и подключенными устройствами, такими как жесткий диск, видеоадаптер, клавиатура, мышь и принтер. .
  • Ботинок программа загружает ОС в основную память компьютера или оперативную память (ОЗУ).
  • Ассемблер берет основные компьютерные инструкции и преобразует их в набор битов, которые процессор компьютера может использовать для выполнения своих основных операций.
  • Драйвер устройства управляет определенным типом устройства, подключенного к вашему компьютеру, например клавиатурой или мышью. Программа-драйвер преобразует более общие инструкции ввода-вывода ОС в сообщения, понятные типу устройства.

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

Операционные системы

ОС компьютера является хорошо известным примером системного программного обеспечения. Широко используемые операционные системы включают Microsoft Windows, macOS и Linux. В отличие от других типов системного программного обеспечения, средний пользователь компьютера регулярно взаимодействует с операционной системой компьютера через ее графический пользовательский интерфейс (GUI) и, в некоторых операционных системах, менее сложный интерфейс командной строки (CLI).

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

Важные задачи, выполняемые операционной системой

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

Операционные системы выполняют задачи. Пять наиболее важных из них следующие:

  1. Управление файлами и планирование процессов. ОС распределяет ресурсы и устанавливает приоритеты, какие программы должны получать ресурсы и в каком порядке. Например, приложение цифровой звуковой рабочей станции может потребовать определенного уровня вычислительной мощности при использовании. ОС решает, сколько энергии приложение получает от ЦП, и управляет влиянием этого распределения на другие приложения. Если где-то на компьютере происходит более важный процесс, ОС может пожертвовать частью мощности, запрошенной цифровой звуковой рабочей станцией, например, для обеспечения возможности завершения другого процесса.
  2. Управление процессором и памятью. ОС выделяет память компьютера процессу, когда это необходимо, и освобождает ее, когда процесс завершается.
  3. Обнаружение ошибки. ОС обнаруживает, отслеживает и устраняет ошибки в других программах компьютера.
  4. Безопасность. ОС использует пароли для защиты программ и данных компьютера от несанкционированного доступа.
  5. Контроль и управление. ОС использует компиляторы, ассемблеры и интерпретаторы для контроля и управления другими программами на компьютере. Эти языковые процессоры представляют собой части системного программного обеспечения, которые переводят языки высокого уровня — Java, Python и C++ — на которых написаны многие компьютерные программы, в инструкции машинного кода низкого уровня, которые, по сути, представляют собой серию единиц и нулей, которые ЦП компьютера может читать.

Разница между системным ПО и прикладным ПО

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

  • веб-браузеры
  • почтовых клиентов
  • текстовых процессора
  • электронных таблиц

Узнайте об основных различиях между прикладным и системным программным обеспечением.

Программное обеспечение приложений и системное программное обеспечение кодируются по-разному. Системное программное обеспечение написано на языках системного программирования, таких как проблемно-ориентированный язык исполнительных систем (ESPOL), предназначенных для обеспечения легкого доступа к основному компьютерному оборудованию. Прикладные программы пишутся на языках общего назначения, таких как Паскаль, что позволяет программе использовать один и тот же код на разных платформах. Некоторые языки, такие как C, используются как для системного, так и для прикладного программного обеспечения.

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

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

Последнее обновление: февраль 2021 г.


Продолжить чтение О системном программном обеспечении

  • Почему вам не всегда нужна универсальная операционная система
  • Как сравнить Windows и Linux для корпоративных рабочих нагрузок
  • Изучите основные компоненты ОС Linux
  • Создание безопасной операционной системы с Роджером Р. Шеллом
  • Системное программное обеспечение и прикладное программное обеспечение
когнитивное искажение

Когнитивное искажение — это систематический мыслительный процесс, вызванный склонностью человеческого мозга к упрощению обработки информации через фильтр личного опыта и предпочтений.

Сеть


  • коллизия в сети

    В полудуплексной сети Ethernet коллизия возникает в результате попытки двух устройств в одной сети Ethernet передать…


  • краеугольный камень домкрат

    Гнездо трапецеидального искажения — это гнездовой разъем, используемый для передачи аудио, видео и данных. Он служит гнездом для соответствующей вилки…


  • инкапсуляция (объектно-ориентированное программирование)

    В объектно-ориентированном программировании (ООП) инкапсуляция — это практика объединения связанных данных в структурированную единицу вместе с …

Безопасность


  • маскировка

    Маскировка – это метод, при котором пользователям возвращается другая версия веб-контента, отличная от версии поисковых роботов.


  • Вредоносное ПО TrickBot

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


  • Общая система оценки уязвимостей (CVSS)

    Общая система оценки уязвимостей (CVSS) — это общедоступная платформа для оценки серьезности уязвимостей безопасности в …

ИТ-директор


  • качественные данные

    Качественные данные — это информация, которую невозможно подсчитать, измерить или выразить с помощью чисел.


  • зеленые ИТ (зеленые информационные технологии)

    Green IT (зеленые информационные технологии) — это практика создания и использования экологически устойчивых вычислительных ресурсов.


  • Agile-манифест

    The Agile Manifesto — это документ, определяющий четыре ключевые ценности и 12 принципов, в которые его авторы верят разработчикам программного обеспечения…

HRSoftware


  • опыт кандидата

    Опыт кандидата отражает отношение человека к процессу подачи заявления о приеме на работу в компанию.

    This entry was posted in Популярное