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

Программа тәьминәте) (ПО) — компьютер менән идара итеү өсөн ҡулланылған программа йәки программалар күмәклеге (ISO/IEC 26514:2008).
Халыҡ-ара һәм Рәсәй стандарттарынан башҡа билдәләмәләр:
* Мәғлүмәттәрҙе эшкәртеү системаһы программалары һәм был программаларҙы файҙаланыу өсөн кәрәк булған программа документтары йыйылмаһы(ГОСТ 19781-90);
* мәғлүмәт эшкәртеү системаһы программалары, процедуралары, ҡағиҙәләре һәм уға бәйле бөтә документацияһы йәки уның бер өлөшө
(ISO/IEC 2382-1:1993);
Программа тәьминәте техник (аппарат менән), математик, мәғлүмәти, лингвистик, ойоштороу, методик һәм хоҡуҡи тәьминәт менән бер рәттән иҫәпләү системаһын тәьмин итеүҙең бер төрө.
Программа тәьминәтен өйрәнеүсе академик өлкәләр — информатика һәм программа инженерияһы.
Компьютер сленгында йыш ҡына «софт» һүҙе ҡулланыла, ул инглиз телендәге «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 өсөн математик аҫпрограммалар йыйылмаһы эшләгәндә, «A-0» программа-туплағыс уйлап таба, ул бирелгән идентификатор буйынса магнитлы таҫмала һаҡланған китапхананан кәрәкле аҫпрограмманы һайлап ала һәм уны оператив хәтерҙә бирелгән урынға яҙып ҡуя.
1950-се йылдарҙа программалауҙың беренсе юғары кимәлдәге телдәре барлыҡҡа килә, Джон Бэкус — FORTRAN, ә Грейс Хоппер COBOL телен эшләй. Бындай асыштар, ул саҡта иҫәпләү машинаһы һатып алған һәр фирма яҙған ғәмәли программа тәьминәтен яҙыуҙы күпкә ябайлаштыра.
1950-се йылдар башында программа тәьминәте төшөнсәһе барлыҡҡа килмәгән була әле. 1952 йылдың ғинуарында Fortune журналында баҫылып сыҡҡан Univac компьютерын тасуирлаусы «Office Robots» мәҡәләһендә уның тураһында бер нәмә лә әйтелмәй. Мәҡәләлә компьютер тураһында универсаль ҡоролма булараҡ бәйән ителһә лә, программалау процесы был мәҡәләлә «тумблерҙарҙы күсереү» кеүек анахроник тасуирлана. Әммә 50-се йылдар уртаһына заказ буйынса программа тәьминәтен эшләү яйға һалына ла инде, «программа тәьминәте» термины һаман да әле ҡулланылмай, ул ваҡытта «заказ буйынса программалау» йәки «программист хеҙмәтләндереүе» тип атала. 1956 йылда АҠШ хөкүмәтенеке булған RAND Corporation фирма базаһында ойошторолған System Development Corporation компанияһы программалауҙың беренсе фирмаһы була. Был этапта эре корпорациялар һәм дәүләт структуралары (уникаль һәм таратылмай торған) программа тәьминәтенең заказсылары булып торалар, программа өсөн миллион доллар хаҡ ғәҙәти була.

# Программа менән тәьмин итеү
## Тарих
### Иртә тарихы. Корпоратив ПО

«Программа менән тәьмин итеү» термины киң ҡулланыуға 1960-сы йылдар башында, компьютер менән идара итеү командаларын һәм уның физик компоненттарын — аппарат менән тәьмин итеүҙе айырып ҡарау актуаль була башлағас инә. Шул ваҡытта программа менән тәьмин итеү индустриияһы үҙ аллы тармаҡ булараҡ үҫешә башлай. 1959 йылда Рой Натт һәм Флетчер Джоунс 100 доллар башланғыс капитал менән нигеҙ һалған Computer Sciences Corporation программа тәьминәте эшләү буйынса беренсе компания була. Ғәйәт эре корпорациялар һәм NASA һымаҡ дәүләт ойошмалары CSC-тың һәм уның артынса барлыҡҡа килгән софтвер компанияларының беренсе клиенттары булалар, һәм Computer Usage Company (CUC) кеүек программистарҙың башҡа тәүге шәхси стартаптары менән бер рәттән фирма заказ буйынса программа тәьминәте баҙарында эшләүен дауам итә.
Компьютер техникаһы менән комплектланмаған тәүге үҙ аллы сығарылған программа тәьминәте продукттары булып 1965 йылда Applied Data Research компанияһы сығарған, автоматик рәүештә блок-схемалар һыҙыусы, компьютер документацияһы генераторы AUTOFLOW һәм 1960—1967 йылдарҙа Informatics, Inc-та эшләнгән программалау теле трансляторы MARK-IV тора Корпоратив программа тәьминәте баҙарының үҫешеүе IBM System/360 компьютерҙар ғаиләһе барлыҡҡа килеү менән тығыҙ бәйләнгән. Ярайһы уҡ күп, сағыштырмаса арзан, программа коды кимәлендә бер-береһе менән ярашҡан иҫәпләү машиналары күпләп таратылыусы программа тәьминәтенә юл аса.
Яйлап программа тәьминәте заказсылары даирәһе киңәйә, был программа тәьминәтенең яңы төрҙәрен булдырыуға стимул булып тора. Шулай автоматлаштырылған проектлау системалары эшләүҙә махсуслашҡан тәүге фирмалар барлыҡҡа килә.
1966 йылдың ноябрендә Business Week журналы тәүге тапҡыр программа тәьминәте индустрияһы темаһына мөрәжәғәт итә. Мәҡәлә «Software Gap — A Growing Crisis for Computers» тип атала һәм был бизнестың перспективалы булыуы, шулай уҡ программистарҙың етешмәүе менән бәйле кризис тураһында һөйләй. Ул осорҙағы ғәҙәти программа продукттары, эш хаҡын иҫәпләп яҙып ҡуйыу йәки производство предприятиеһы һәм коммерция банкы кеүек урта бизнес предприятиеләренең бизнес-процестарын автоматлаштырыу һымаҡ, бизнес өсөн дөйөм мәсьәләләрҙе автоматлаштырыу өсөн хеҙмәт итә. Бындай программа тәьминәтенең хаҡы, ҡағиҙә булараҡ, биш һәм йөҙ мең доллар араһында тирбәлә.

# Программа менән тәьмин итеү
## Тарих
### Персональ компьютерҙар һәм күмәк ҡулланыусы өсөн программа тәьминәте

1970-се йылдарҙа тәүге персональ компьютерҙарҙың (Альтаир 8800 һымаҡ) барлыҡҡа килеүе программа тәьминәтенең киң баҙары барлыҡҡа килеүҙең тәүшарттарын булдыра. Персональ компьютерҙар өсөн программалар башта «ҡумта» формаһында сауҙа үҙәктәре йәки почта аша таратылалар һәм хаҡтары 100—500 АҠШ доллары тәшкил итә.
Программа тәьминәтенең яңы барлыҡҡа килгән күмәк баҙары өсөн VisiCalc электрон таблицаһы (уның идеяһы Дэниель Бриклинға килә, ул MIT-ты тамамлап DEC-та инженер-программист булып эшләгәндә, Гарвард бизнес мәктәбе курсына йөрөй һәм үҙенә ялҡытҡыс финанс иҫәп-хисап эшен еңеләйтергә теләй), һәм баҙар ихтыяжын ентекле өйрәнеп Сеймур Рубинштейн эшләй башлаған WordStar текст процессоры кеүек продукттар барлыҡҡа килеү мөһим ваҡиға була. 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), йәғни айырым кешеләр өсөн төрҙәренә бүленә.
Индустрия секторы буйынса классификациялау төрҙәренең береһе булып корпоратив заказсы өсөн программа тәьминәте(ингл. enterprise software vendors), Күмәк ҡулланыусы өсөн программа тәьминәте (ингл. mass-market software vendors) һәм ИТ-сервистар тора.
Икенсе ысул буйынса программа тәьминәте индустрияһы өс секторға бүленә: дөйөм тәғәйенләнештәге бизнес-продукттар (ингл. Business Function Software), махсуслаштырылған бизнес-продукттар (ингл. Industrial Business Software) һәм шәхси тормош өсөн продукттар (ингл. Consumer Software). Дөйөм тәғәйенләнештәге бизнес-продукттар предприятиелар һәм ойошмаларҙың эшләп тороуы өсөн тәғәйенләнгән һәм бухгалтер системаларын, финанс системаларын, кадрҙар иҫәбе системаларын һәм башҡаларҙы үҙ эсенә ала. Махсуслаштырылған бизнес-продукттар конкрет төрҙәге бизнес мәсьәләләренә йүнәлтелгән: геомәғлүмәт системалары, медицина системалары, логистик системалар һәм башҡа шундайҙар. Шәхси тормош өсөн продукттар вирусҡа ҡаршы программа тәьминәтен һәм мәғлүмәт хәүефһеҙлеге өсөн системаларҙы, төрлө файҙалы утилиттарҙы, белем биреү программа тәьминәтен, мультимедиялы программа тәьминәте һәм башҡаларҙы үҙ эсенә ала.

# Программа менән тәьмин итеү
## Программа тәьминәттәрен классификациялау
### Системалы программа тәьминәте

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

# Программа менән тәьмин итеү
## Программа тәьминәттәрен классификациялау
### Ҡулланма программа тәьминәте

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

# Программа менән тәьмин итеү
## Лицензия

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