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

Определение
WhatIs.com
Автор (ы): Линда Розенкранс; Marianne Doig

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

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

Системное программное обеспечение включает операционные системы и любые программы, поддерживающие прикладное программное обеспечение.

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

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

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

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

Программное обеспечение можно приобрести или получить следующими способами:

  • Условно-бесплатное ПО — обычно распространяется на бесплатной или пробной основе с целью продажи по истечении срока.
  • Liteware — тип условно-бесплатного программного обеспечения с некоторыми возможностями, отключенными до приобретения полной версии.
  • Бесплатное программное обеспечение — можно загрузить бесплатно, но с ограничениями авторских прав.
  • Программное обеспечение, являющееся общественным достоянием — можно загрузить бесплатно без ограничений.
  • Программное обеспечение с открытым исходным кодом — тип программного обеспечения, исходный код которого предоставляется, и пользователи соглашаются не ограничить распространение улучшений.
  • Патентованное программное обеспечение — программное обеспечение, которое остается собственностью своего владельца/создателя и используется конечными пользователями или организациями на определенных условиях.

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

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

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

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

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

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

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

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

  • Программное обеспечение для повышения производительности, которое включает такие инструменты, как текстовые процессоры и электронные таблицы..
  • Программное обеспечение для презентаций, также известное как слайд-шоу.
  • Графическое программное обеспечение.
  • CAD/CAM.
  • Вертикальный рынок, отраслевое программное обеспечение — например, приложения для банковского дела, страхования и розничной торговли.

Дизайн и реализация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В настоящее время программное обеспечение может претендовать на патентную защиту, если оно имеет промышленное или коммерческое использование, а не просто бизнес-идея. Программное обеспечение также должно быть уникальным и не очевидным для человека со средними навыками в индустрии программного обеспечения. Кроме того, владелец должен подробно описать программное обеспечение в заявке, поданной в Ведомство США по патентам и товарным знакам

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

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

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

Программное обеспечение стало более распространенным в 1970-х годах, когда компьютеры стали небольшими и достаточно дешевыми, чтобы их могли покупать отдельные пользователи. Но поскольку домашние пользователи не могли самостоятельно программировать свои компьютеры, была создана операционная система, которая запускала компьютер и запускала другое программное обеспечение по мере необходимости. Одной из первых операционных систем была MS-DOS (представленная в 1981 году), операционная система, на которой работали многие ранние компьютеры IBM.

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

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

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

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

Таким образом, компакт-диски быстро стали стандартом для распространения программного обеспечения, и В середине 2000-х дисководы гибких дисков перестали быть стандартом для компьютеров. DVD-диски, содержащие даже больше информации, чем компакт-диски, позволили поместить пакеты программ, такие как Microsoft Office Suite, на один диск.

Однако даже DVD-диски начинают устаревать. столько пользователей покупают и скачивают свое программное обеспечение прямо из Интернета. Теперь с облачными вычислениями пользователям даже не нужно загружать программное обеспечение на свои компьютеры — они могут запускать программы прямо из облака.

Последний раз обновлялся в апреле 2020 г.

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

  • Как заключить хорошее соглашение о подписке на программное обеспечение
  • Влияние COVID-19 на разработку аналитического программного обеспечения неизвестно
  • Изучите плюсы и минусы облачных вычислений.
  • 5 ключевых характеристик тестируемости программного обеспечения
  • Как разработчики программного обеспечения и архитекторы работают вместе?

Связанные термины

управление производительностью облачных приложений (облачный APM)
Управление производительностью облачных приложений (облачный APM) — это процесс мониторинга ресурсов, поддерживающих программное обеспечение … См. полное определение
gRPC
gRPC — это высокопроизводительная среда с открытым исходным кодом, разработанная Google для обработки удаленных вызовов процедур (RPC). См. Полное определение
workload
В вычислениях рабочей нагрузкой, как правило, является любая программа или приложение, работающее на любом компьютере. См. Полное определение

Узнайте подробнее об управлении производительностью приложений и тестировании


  • вредоносное ПО

    Автор: Маргарет Роуз


  • Лучшие ИТ-сертификаты и степени, которые помогут вам продвинуться по карьерной лестнице

  • сервер

    Автор: Маргарет Роуз


  • клавиатурный шпион (регистратор нажатий клавиш или системный монитор)

    Автор: Маргарет Роуз

Оцените статью
Botgadget.ru
Добавить комментарий