Программа менән тәьмин итеү

Image:Operating system placement-ru.svg|thumb|Ҡулланыусы, ғәмәли ПО, операцион система һәм аппарат менән тәьмин итеү араһында үҙ-ара бәйләнеш
rect 1 1 250 90 Ҡулланыусы
rect 1 91 250 180 Ғәмәли программа менән тәьмин итеү
rect 1 181 250 270 Операцион система
rect 1 271 250 360 Аппарат менән тәьмин итеү


**Программа тәьминәте**) (**ПО**) — компьютер менән идара итеү өсөн ҡулланылған программа йәки программалар күмәклеге (*ISO/IEC 26514:2008*).

Халыҡ-ара һәм Рәсәй стандарттарынан башҡа билдәләмәләр:
* Мәғлүмәттәрҙе эшкәртеү системаһы программалары һәм был программаларҙы файҙаланыу өсөн кәрәк булған программа документтары йыйылмаһы(*[[Государственный стандарт|ГОСТ]] 19781-90*);
* мәғлүмәт эшкәртеү системаһы программалары, процедуралары, ҡағиҙәләре һәм уға бәйле бөтә документацияһы йәки уның бер өлөшө
(*ISO/IEC 2382-1:1993*);
* компьютер программалары, процедуралар һәм, бәлки, компьютер системаһының эшмәкәрлегенә ҡағылышлы тейешле документация һәм мәғлүмәт (*IEEE Std 829—2008*).

Программа тәьминәте техник (аппарат менән), математик, мәғлүмәти, лингвистик, ойоштороу, методик һәм хоҡуҡи тәьминәт менән бер рәттән иҫәпләү системаһын тәьмин итеүҙең бер төрө.

Программа тәьминәтен өйрәнеүсе академик өлкәләр — информатика һәм программа инженерияһы.

Компьютер сленгында йыш ҡына «*софт*» һүҙе ҡулланыла, ул инглиз телендәге «*software*» һүҙенән алынған, был мәғәнәлә һүҙҙе беренсе тапҡыр Принстон университеты математигы Тьюки, Джон 1958 йылда *[[American Mathematical Monthly]]* журналындағы мәҡәләһендә ҡуллана.

## Тарих

### Тәүтарих. Программалауҙың барлыҡҡа килеүе
Беренсе программаны Ада Лавлейс Чарльз Бэббидждың айырма (разностный) машинаһы өсөн яҙа, ләкин был машина төҙөлөп бөтмәгәнлектән, леди Лавлейстың эшләнмәләре теория ғына булып ҡала.

Программа тәьминәтенә ҡағылышлы беренсе теорияны инглиз математигы Алан Тьюринг 1936 йылда «On computable numbers with an application to the Entscheidungsproblem» эссеһында («О вычислимых числах с приложением к проблеме разрешения») тәҡдим итә. Ул Тьюринг машинаһы тип аталған, машинаны бер нығынған хәлдән икенсеһенә күсереүсе рудиментар операциялар эҙмә-эҙлелеген башҡарырға һәләтле, абстракт машинаның математик моделен эшләй. Төп идея, системаның теләһә ниндәй алдан билдәләнгән хәленә, билдәләнгән командалар йыйылмаһынан (программа) сикле элементар командалар йыйылмаһын эҙмә-эҙлекле үтәү юлы менән, һәр ваҡыт өлгәшеү мөмкин булыуын математик яҡтан иҫбатлауҙан ғибәрәт.
1940—1950-се йылдарҙа беренсе электрон-иҫәпләү машиналары тумблерҙарҙы күсереү һәм кабелдәрҙе яңынан тоташтырыу юлы менән яңынан программалаштырылған, был уларҙың эске төҙөлөшөн тәрән аңлауҙы талап иткән. Бындай машиналарға, атап әйткәндә, ENIAC инә (әммә һуңынан ул, кәм тигәндә өлөшләтә перфокарталар менән программалаштырыла алһын өсөн үҙгәртелә).

Джон фон Нейман архитектураһына күсеү хәҙерге заман компьютерҙары яғына мөһим аҙым булып тора, ул тәүге тапҡыр Бөйөк Британияла,  етәкселеге аҫтында һәм Алан Тьюринг ҡатнашлығында эшләнгән Марк I булараҡ билдәле компьютерҙа тормошҡа ашырыла. Компьютер хәтерендә һаҡланған беренсе программа 1941 йылдың 21 июнендә эшләтеп ебәрелә. Был машинаны программалауҙы еңеләйтеү өсөн Тьюринг ҡыҫҡартылған кодлау системаһын уйлап таба, унда икеле машина кодын күрһәтеү өсөн перфотаҫмаға сығарылған телетайп символдары эҙмә-эҙлелеге ҡулланыла .

Тьюрингтың хеҙмәткәрҙәренең береһе, һуңғараҡ (Джон Преспер Эккерт менән бергә) BINAC һәм UNIVAC кеүек ЭВМ-дар эшләүсе Eckert–Mauchly Computer Corporation компанияһына нигеҙ һалыусы һәм етәксеһе Джон Мочли, үҙенең хеҙмәткәрҙәренә алгебраик формулалар трансляторы эшләүҙе йөкмәтә. 1940-сы йылдарҙа был амбициялы маҡсатҡа өлгәшеп булмаһа ла, Мочли етәкселегендә «ҡыҫҡа код» эшләнә, унда ғәмәлдәр һәм үҙгәреүсәндәр ике символлы берләшмәләр менән кодланалар. Ҡыҫҡа код интерпретатор ярҙамында тормошҡа ашырыла. Грейс Хоппер, 1950-се йылдар башынан UNIVAC I өсөн математик аҫпрограммалар йыйылмаһы эшләгәндә, «» программа-туплағыс уйлап таба, ул бирелгән идентификатор буйынса магнитлы таҫмала һаҡланған китапхананан кәрәкле аҫпрограмманы һайлап ала һәм уны оператив хәтерҙә бирелгән урынға яҙып ҡуя.

1950-се йылдарҙа программалауҙың беренсе юғары кимәлдәге телдәре барлыҡҡа килә, Джон Бэкус — FORTRAN, ә Грейс Хоппер COBOL телен эшләй. Бындай асыштар, ул саҡта иҫәпләү машинаһы һатып алған һәр фирма яҙған ғәмәли программа тәьминәтен яҙыуҙы күпкә ябайлаштыра.

1950-се йылдар башында программа тәьминәте төшөнсәһе барлыҡҡа килмәгән була әле. 1952 йылдың ғинуарында Fortune журналында баҫылып сыҡҡан Univac компьютерын тасуирлаусы «Office Robots» мәҡәләһендә уның тураһында бер нәмә лә әйтелмәй. Мәҡәләлә компьютер тураһында универсаль ҡоролма булараҡ бәйән ителһә лә, программалау процесы был мәҡәләлә «тумблерҙарҙы күсереү» кеүек анахроник тасуирлана. Әммә 50-се йылдар уртаһына заказ буйынса программа тәьминәтен эшләү яйға һалына ла инде, «программа тәьминәте» термины һаман да әле ҡулланылмай, ул ваҡытта «*заказ буйынса программалау*» йәки «*программист хеҙмәтләндереүе*» тип атала. 1956 йылда АҠШ хөкүмәтенеке булған RAND Corporation фирма базаһында ойошторолған System Development Corporation компанияһы программалауҙың беренсе фирмаһы була. Был этапта эре корпорациялар һәм дәүләт структуралары (уникаль һәм таратылмай торған) программа тәьминәтенең заказсылары булып торалар, программа өсөн миллион доллар хаҡ ғәҙәти була.

### Иртә тарихы. Корпоратив ПО
«Программа менән тәьмин итеү» термины киң ҡулланыуға 1960-сы йылдар башында, компьютер менән идара итеү командаларын һәм уның физик компоненттарын — аппарат менән тәьмин итеүҙе айырып ҡарау актуаль була башлағас инә . Шул ваҡытта программа менән тәьмин итеү индустриияһы үҙ аллы тармаҡ булараҡ үҫешә башлай. 1959 йылда  һәм  100 доллар башланғыс капитал менән нигеҙ һалған  программа тәьминәте эшләү буйынса беренсе компания була. Ғәйәт эре корпорациялар һәм NASA һымаҡ дәүләт ойошмалары CSC-тың һәм уның артынса барлыҡҡа килгән софтвер компанияларының беренсе клиенттары булалар, һәм  (CUC) кеүек программистарҙың башҡа тәүге шәхси стартаптары менән бер рәттән фирма заказ буйынса программа тәьминәте баҙарында эшләүен дауам итә .

Компьютер техникаһы менән комплектланмаған тәүге үҙ аллы сығарылған программа тәьминәте продукттары булып 1965 йылда Applied Data Research компанияһы сығарған, автоматик рәүештә блок-схемалар һыҙыусы, компьютер документацияһы генераторы AUTOFLOW һәм 1960—1967 йылдарҙа Informatics, Inc-та эшләнгән программалау теле трансляторы  тора Корпоратив программа тәьминәте баҙарының үҫешеүе IBM System/360 компьютерҙар ғаиләһе барлыҡҡа килеү менән тығыҙ бәйләнгән. Ярайһы уҡ күп, сағыштырмаса арзан, программа коды кимәлендә бер-береһе менән ярашҡан иҫәпләү машиналары күпләп таратылыусы программа тәьминәтенә юл аса.

Яйлап программа тәьминәте заказсылары даирәһе киңәйә, был программа тәьминәтенең яңы төрҙәрен булдырыуға стимул булып тора. Шулай автоматлаштырылған проектлау системалары эшләүҙә махсуслашҡан тәүге фирмалар барлыҡҡа килә.

1966 йылдың ноябрендә Business Week журналы тәүге тапҡыр программа тәьминәте индустрияһы темаһына мөрәжәғәт итә. Мәҡәлә «Software Gap — A Growing Crisis for Computers» тип атала һәм был бизнестың перспективалы булыуы, шулай уҡ программистарҙың етешмәүе менән бәйле кризис тураһында һөйләй. Ул осорҙағы ғәҙәти программа продукттары, эш хаҡын иҫәпләп яҙып ҡуйыу йәки производство предприятиеһы һәм коммерция банкы кеүек урта бизнес предприятиеләренең бизнес-процестарын автоматлаштырыу һымаҡ, бизнес өсөн дөйөм мәсьәләләрҙе автоматлаштырыу өсөн хеҙмәт итә. Бындай программа тәьминәтенең хаҡы, ҡағиҙә булараҡ, биш һәм йөҙ мең доллар араһында тирбәлә.

### Персональ компьютерҙар һәм күмәк ҡулланыусы өсөн программа тәьминәте
1970-се йылдарҙа тәүге персональ компьютерҙарҙың (Альтаир 8800 һымаҡ) барлыҡҡа килеүе программа тәьминәтенең киң баҙары барлыҡҡа килеүҙең тәүшарттарын булдыра. Персональ компьютерҙар өсөн программалар башта «ҡумта» формаһында сауҙа үҙәктәре йәки почта аша таратылалар һәм хаҡтары 100—500 АҠШ доллары тәшкил итә.

Программа тәьминәтенең яңы барлыҡҡа килгән күмәк баҙары өсөн *[[VisiCalc]]* электрон таблицаһы (уның идеяһы Дэниель Бриклинға килә, ул MIT-ты тамамлап DEC-та инженер-программист булып эшләгәндә, Гарвард бизнес мәктәбе курсына йөрөй һәм үҙенә ялҡытҡыс финанс иҫәп-хисап эшен еңеләйтергә теләй), һәм баҙар ихтыяжын ентекле өйрәнеп  эшләй башлаған ** текст процессоры кеүек продукттар барлыҡҡа килеү мөһим ваҡиға була. VisiCalc тураһында беренсе тапҡыр killer application, йәғни компьютер ҡушымтаһы булараҡ һөйләй башлайҙар, ул үҙенең булыу факты менән был программа тормошҡа ашырылған платформаның кәрәклеген (һәм йыш ҡына һатып алыу кәрәклеген) иҫбатлай. VisiCalc һәм WordStar өсөн ундай платформа булып персональ компьютерҙар тора, шулар арҡаһында компьютерҙар гиктар өсөн ҡиммәтле уйынсыҡ булыуҙан эшсе инструментҡа әйләнәләр. Ошонан микрокомпьютер революцияһы башлана, ә был программаларҙың конкуренттары барлыҡҡа килә: *[[SuperCalc]]*, *[[Lotus 1-2-3]]* электрон таблицалары, мәғлүмәттәр базаһы менән идара итеү системаһы *[[dBase II]]*, текст процессоры *[[WordPerfect]]* һәм башҡалар. Текст процессорҙары, электрон таблицалар, мәғлүмәттәр базаһы менән идара итеү системаһы, шулай уҡ график редакторҙар тиҙҙән персональ компьютерҙар өсөн программа тәьминәте баҙарының төп продукттары булып китәләр.

Күпләп таратыу 1990 йылдар башына персональ компьютерҙар өсөн программа тәьминәте хаҡын йөҙ — биш йөҙ долларға тиклем кәметергә мөмкинлек бирә, шул уҡ ваҡытта программа тәьминәте етештереүселәрҙең бизнесы тауыш яҙҙырыу компанияларының бизнесы менән билдәле бер оҡшашлыҡ ала.

## Программа тәьминәттәрен классификациялау
Программа тәьминәттәрен классификациялауға ҡараш ISO/IEC 12182 халыҡ-ара стандартында етерлек ентекле билдәләнгән. Атап әйткәндә, стандарттың беренсе версияһы программа сараларын классификациялауҙың 16 критерийын күҙ уңында тота:
* эксплуатациялау режимы буйынса;
* масштабы буйынса;
* тотороҡлоғо буйынса;
* функцияһы буйынса;
* һаҡлау талап итеүе буйынса;
* ышаныслылыҡ талап итеүе буйынса;
* талап ителгән эш характеристикалары буйынса;
* баштағы теле буйынса;
* ғәмәли өлкә буйынса;
* иҫәпләү системаһы һәм мөхите буйынса;
* ҡулланыусы класы буйынса;
* иҫәпләү ресурстарына талаптар буйынса;
* тәнҡит буйынса;
* әҙерлек буйынса;
* мәғлүмәт тәҡдим итеүе буйынса;
* программа мәғлүмәттәрен ҡулланыу буйынса.

Программа сараларының функция кластары миҫалдары:
* эшлекле хәбәрҙәрҙе эшкәртеү;
* компиляция;
* фәнни иҫәпләүҙәр;
* тексты эшкәртеү;
* медицина системалары;
* идара итеү системалары.
Ғәмәли өлкә кластары миҫалдары:
* фән;
* көнкүреш ҡоролмалары;
* ҡорамал;
* процес менән идара итеү аппаратураһы;
* эшҡыуарлыҡ;
* селтәр ойоштороу системаһы.
Программа сараларының масштаб класы миҫалдары:
* кесе;
* уртаса;
* ҙур.
Критиклыҡ класы миҫалдары:
* милли хәүефһеҙлек;
* кеше ғүмере;
* социаль хаос йәки паника;
* ойоштороу хәүефһеҙлеге;
* шәхси милек;
* серлелек.
Ҡулланыусы класы миҫалдары:
* башлаусы;
* уртаса;
* белгес (эксперт);
* ғәҙәти;
* осраҡлы;
* программа тәьминәтенең башҡа системаһы;
* техник саралар.
Стабиллек класы миҫалдары:
* даими үҙгәрештәр индереү;
* үҙгәрештәрҙе дискрет индереү;
* үҙгәрештәрҙе бәләкәй ихтималлы индереү.

*сыҙай алыусанлыҡ* буйынса программалар бүленә
* платформаға бәйле;
* кроссплатформалылар.

*Таратыу һәм ҡулланыу ысулы буйынса* программалар була
* ирекле булмаған (ябыҡ);
* асыҡ;
* ирекле.

*Тәғәйенләнеше буйынса* программалар бүленә:
* системалы;
* ғәмәли.

*Төрҙәре буйынса* программалар бүленә:
* компонент — программа, бер бөтөн итеп ҡаралған, тамамланған функцияны үтәүсе программа, һәм үҙ аллы йәки комплекс составында ҡулланыла;
* комплекс — программа, ике йәки унан да күберәк компоненттарҙан һәм (йәки) бер-береһе менән бәйле функцияларҙы үтәүсе комплекстарҙан тора һәм үҙ аллы йәки башҡа комплекс составында ҡулланыла.

; Программа тәьминәтен индустрия секторы буйынса классификациялау
Программа тәьминәтен индустрия секторы буйынса классификациялау бер нисә алымды үҙ эсенә ала. Программа тәьминәтен *заказ буйынса*, йәғни конкрет заказсы өсөн булдырылғанға, һәм *продуктыға*, йәғни баҙарҙа һатыу өсөн булдырылғанға бүләләр. Үҙ сиратында, ҡулланыусы төрө буйынса программа тәьминәте *Business-to-Business* (B2B), йәғни предприятиелар һәм ойошмалар өсөн, һәм Business-to-Consumer (B2C), йәғни айырым кешеләр өсөн төрҙәренә бүленә.

Индустрия секторы буйынса классификациялау төрҙәренең береһе булып *корпоратив заказсы өсөн программа тәьминәте*(), *Күмәк ҡулланыусы өсөн программа тәьминәте* () һәм *ИТ-сервистар* тора.

Икенсе ысул буйынса программа тәьминәте индустрияһы өс секторға бүленә: дөйөм тәғәйенләнештәге бизнес-продукттар (), махсуслаштырылған бизнес-продукттар () һәм шәхси тормош өсөн продукттар (). *Дөйөм тәғәйенләнештәге бизнес-продукттар* предприятиелар һәм ойошмаларҙың эшләп тороуы өсөн тәғәйенләнгән һәм бухгалтер системаларын, финанс системаларын, кадрҙар иҫәбе системаларын һәм башҡаларҙы үҙ эсенә ала. *Махсуслаштырылған бизнес-продукттар* конкрет төрҙәге бизнес мәсьәләләренә йүнәлтелгән: геомәғлүмәт системалары, медицина системалары, логистик системалар һәм башҡа шундайҙар. *Шәхси тормош өсөн продукттар* вирусҡа ҡаршы программа тәьминәтен һәм мәғлүмәт хәүефһеҙлеге өсөн системаларҙы, төрлө файҙалы утилиттарҙы, белем биреү программа тәьминәтен, мультимедиялы программа тәьминәте һәм башҡаларҙы үҙ эсенә ала.

### Системалы программа тәьминәте

Компьютер системаһының процессор, оператив хәтер, индереү-сығарыу ҡоролмалары, селтәр ҡорамалдары кеүек компоненттары менән идара итеүҙе тәьмин итеүсе программалар комплексы, «ҡатлам-ара интерфейс» һымаҡ сығыш яһай, бер яғынан аппаратура, ә икенсе яғынан — ҡулланыусы ҡушымталары. Ғәмәли програма тәьминәтенән айырмалы рәүештә, системалы програма тәьминәте конкрет практик мәсьәләләрҙе хәл итмәй, ә тик башҡа программаларҙың эшен тәьмин итә, уларға, иҫәпләү системаһының аппарат һәм микропрограммаярҙамында тормошҡа ашырыусы деталдәрен абстракциялаусы сервислы функциялар күрһәтеп, иҫәпләү системаһының аппарат ресурстары менән идара итә. Теге йәки был программа тәьминәтен системалыға керетеү шартлы, конкрет контекста ҡулланылған килешеүҙәргә бәйле. Ҡағиҙә булараҡ, системалы программа тәьминәтенә операцион системалар, утилиттар, мәғлүмәт базаһы менән идара итеү системалары, бәйләүсе программа тәьминәтенең киң класы инә.

### Ҡулланма программа тәьминәте

Ҡулланма программа тәьминәте — билдәле бер ҡулланыусы проблемаһын хәл итеүгә тәғәйенләнгән һәм ҡулланыусы менән туранан-тура бәйләнешкә иҫәпләнгән программа.

## Лицензия
Ҡулланыусы программа тәьминәтен лицензия менән бергә ала, ул лицензиялау тураһында ҡағиҙә шарттарында программа продуктын ҡулланыу хоҡуғын бирә. Ҡағиҙә булараҡ, был шарттар ҡулланыусының программа продуктын башҡа ҡулланыусыларға биреү мөмкинлеген, кодты үҙгәртеүҙе сикләй.

Программа тәьминәтенең бер өлөшө ирекле лицензия менән бирелә. Бындай лицензиялар программа тәьминәтен таратырға, шулай уҡ уны үҙгәртергә мөмкинлек бирәләр.

Программа тәьминәтенең бер өлөшө буш таратыла. Шулай уҡ шартлы буш программа тәьминәте була. Был осраҡта ғәҙәттә ҡулланыусы билдәле бер һынау срогына бер ни тиклем сикләнгән мөмкинлектәре менән программна продуктының демонстрацион версияһын бушлай ала, ә срогы тамамланғандан һуң йә продуктты һатып алырға, йәки уны юҡ итергә тейеш.

## Шулай уҡ ҡарағыҙ

* Жизненный цикл программного обеспечения
* Программно-аппаратный комплекс
* Патенты и программное обеспечение
* Лицензия на программное обеспечение
** Проприетарное программное обеспечение
** Свободное программное обеспечение
** Открытое программное обеспечение
* Компьютерный язык
* Язык программирования
* Связующее программное обеспечение
* Лингвистическое программное обеспечение
* Программная инженерия
* Раздутое программное обеспечение
* Software Asset Management

## Иҫкәрмәләр

## Әҙәбиәт
* ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.
* 
* 
* *[[ДеМарко, Том|ДеМарко Т.]]* Deadline. Роман об управлении проектами. — М.: Манн, Иванов и Фербер. — 2013. — 352 с. ISBN 978-5-91657-284-1
* *ДеМарко Т., Листер Т.* Человеческий фактор. Успешные проекты и команды. — М.: Символ-Плюс. — 2014. — 288 с. ISBN 978-5-93286-217-9
* *[[Йордан, Эдвард|Йордан Э.]]* Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. — М.: Лори, 2012. — 290 с. ISBN 978-5-85582-227-3
* *[[Соммервилл, Иан|Соммервилл И.]]* Инженерия программного обеспечения. — Издательство Вильямс, 2002. — 624 с. ISBN 5-8459-0330-0
* 
*