Програмно осигуряване
от Уикипедия, свободната енциклопедия
Програмно осигуряване е съвкупността от алгоритмичната част от изчислителна машина (програми) и началните данни за работата на алгоритмите. Спомагателна част от програмното осигуряване са материалните носители, от които изчислителната машина чете програмите, както и инструкциите за работа с програмите и тяхната поддръжка (документация).
В масовите електронно-изчислителни машини (компютри) голяма част от програмното осигуряване е разположена на външна памет и може лесно да бъде променяна. Микропрограмите в централните процесори и програмите в специализираните интегрални схеми се задават при програмирането им, и не могат да бъдат променяни.
Тази статия се нуждае от подобрение.
Без софтуерa, материалната част на компютърните системи - хардуерът - е неизползваема. Най-ясно разликата между софтуер и хардуер се обяснава така: Хардуера може да го ритнеш или удариш с юмрук, а софтуера - само да го псуваш. Думата е заемка от английски (software) в българският език. Употребява се главно в сферата на информационните технологии.
Когато софтуерът е във вид, който лесно може да се редактира от програмист, се казва че това е неговият изходен код (програмен код) - текст, който представлява алгоритъм, написан от програмист на даден език за програмиране. Много често към тези алгоритми има и данни, които се считат за част от софтуера.
Съдържание |
[редактиране] Синоними
- Програмно обезпечение
- Софтуер
[редактиране] Думи с подобно значение
- Програмен продукт
- Програма
- Приложение
- Апликация
- Скрипт
Въпреки, че тези думи понякога се използват като синоними на софтуер (особено когато са в мн. число), терминът софтуер е по-общ от тях (когато се каже софтуер в много от случаите се има предвид не конкретна програма, а компютърните програми по принцип, разглеждани като нематериалната част на компютърните системи).
[редактиране] Видове софтуер
[редактиране] По предназначение
[редактиране] Платформен
Софтуер, който представлява платформа за допълнителна разработка на приложения, базирани на нея и зависещи от самата платформа. Примери за такива типове софтуер са ядрата на операционните системи и компилаторите за езиците за програмиране.
[редактиране] Системен
В общия случай това са програми, изпълняващи системни функции и грижещи се за периферните устройства и връзката между тях и потребителя или т.нар. драйвери.
[редактиране] Приложен
Потребителски приложения и програми, работещи като краен продукт и тясно свързващи потребителя със софтуер от по-ниско ниво. Това са най-известните сред потребителите програми, с който те имат пряк контакт и използват най-често. Пример за това са програми за обработка на текст, програми за разглеждане на графични изображения или уеб страници.
[редактиране] Скриптове
Софтуер, написан на скриптов език. Това са малки до средно големи програми, който изпълняват потребителски команди или вършат действия в определен ред. Пример за това са JavaScript, ти си ел скрипт или PHP. Програмите, писани на скриптов език, са по-бавни при стартиране (защото всеки път програмният код трябва да се преведе на машинен език), но обикновено по-лесно и бързо се разработват и тестват.
[редактиране] Според условията за ползване
[редактиране] Свободен софтуер
Вж. Свободен софтуер.
[редактиране] Freeware
Свободно разпространяван софтуер. Потребителят не е длъжен да заплаща такса на автора, но е длъжен да се съгласи със специфичните правила за ползване на софтуера. Много си прилича със софтуера с отворен код, но се различава по това, че изходният програмен код на софтуера не се разпространява свободно.
[редактиране] Shareware
Можете да получите такъв тип софтуер без да заплащате. Тестването на софтуера също не е обвързано с плащане. Когато получавате софтуера, заедно с него има и покана за заплащане на определена сума за него, но това е доброволно. Много от тези програми имат ограничения или като функционалност, или като време на ползване, след което, ако не се заплати сумата, програмите спират да работят.
- демонстрационна версия (demo) е версия на софтуер с ограничен набор от функции — използва се главно за демонстрация на софтуера и за отчитане и тестване на основните му функции;
- временна версия (trial) е версия на софтуер, който се разпространява свободно, но функциите му важат само за определен период от време или за определен брой използвания на софтуера.
[редактиране] Adware
Софтуерът се разпространява с изменен външен вид от оригиналния, в който на централно място от графичния интерфейс се рекламира даден продукт с плакат(банер), текст или звук. Не е добре възприеман от потребителите, тъй като обикновено допълнителните реклами затрудняват целенасоченото използване на софтуера. При някои от тези програми, подобно на програмите Shareware, съществува платена версия, в която няма реклами.
[редактиране] Основни инструменти за създаване на софтуер
[редактиране] Текстов редактор
Това е приложна програма за писане на текст, удобна на програмиста за въвеждане и редактиране на програмния код. Някой текстови редактори поддържат функции, улесняващи програмирането на съответния език:
- синтактично оцветяване
- автоматична табулация
- предложения за операнд
[редактиране] Компилатор
Компилаторът е програма, която съединява фрагментите на разработвания софтуер, за да се получи машинния код, който е разбираем за процесора на компютъра. Това е преводачът от съответния програмен език към инструкции, разбираеми от процесора — който пък от своя страна ще изпълнява програмата.
[редактиране] Декомпилатор
Това е софтуер, който разединява на съставни фрагменти дадена компилирана програма. Основен инструмент на кракерите.
[редактиране] Дебъгер
Дебъгерите са специален вид програми използвани при разработката на софтуер. С тях се проследява поетапно изпълнението на разработвания софтуер, с цел откриване и отстраняване на грешки.
[редактиране] Други
Понякога са необходими и други инструменти като:
- програма за съединяване на основния код с използваните библиотеки (linker)
[редактиране] Софтуерни лицензи
Софтуерният лиценз подсигурява договорните отношения между автора и потребителя на софтуер. Понякога се употребява думата End User License Agreement (EULA) Лицензно споразумение за крайния потребител.
[редактиране] Софтуерни патенти
- Основна статия: Софтуерен патент
За разлика от останалите произведения, обект на авторско право (които не подлежат на патенти), в някои страни софтуерът може да се защити с патент. На местата, където съществуват софтуерни патенти, това право принадлежи на автора на компютърно-имплементирано изобретение или на неговия работодател.
Софтуерните патенти са обичайна, но силно критикувана практика в САЩ, а в Европа и Европейският съюз не съществуват такива.
Вижте също: списък на софтуерните патенти.
[редактиране] Вижте още
- Свободен софтуер
- Списък на софтуерните патенти
- Списък на софтуерните лицензи
- Езици за програмиране
- Програмист
- Хардуер