Návrat na detail prednášky / Stiahnuť prednášku / Ekonomická univerzita / Podnikovohospodárska Fakulta / Infotmatika
Prednáška 5 (INF5.DOC)
24
Programové vybavenie počítača
(Software)
Počítač sám osebe nedokáže pracovať. Okrem technického vybavenia potrebuje dáta a programy, čiže pod programovým vybavením počítača rozumieme súhrn programov a dokumentácie umožňujúci prevádzku počítača. Môžeme ho charakterizovať ako programy, ktoré efektívne zabezpečujú činnosť technického vybavenia počítača, uľahčujú prácu jeho obsluhe a programátorom a poskytujú používateľom výsledky riešenia automatizovaného spracovávaných úloh. Programové vybavenie je druhou zložkou počítačového systému. Existuje veľké množstvo programov a takisto veľké množstvo špecializovaných firiem, ktoré ich vytvárajú a predávajú. Programové vybavenie počítačov vzniká zároveň s počítačmi a spolu s ním sa aj vyvíja. Opis vývoja programového vybavenia sa charakterizuje prostredníctvom vývoja programovacích jazykov, pričom ich vývoj súvisí s vývojom počítačov.
V prípade úvahy o cenových reláciách vynakladaných za programové vybavenie a za technické vybavenie počítačových systémov dospejeme k záveru, že až 90% prostriedkov je vynakladaných na software kým zvyšných 10% na hardware. (Platí to pre počítačové systémy s legálne zakúpeným programovým vybavením.) Z uvedeného vyplýva, že software je cenovo náročný. (Viď cenová politika SOFTIP.) Existujú však i iné kategórie programov, ktoré sú cenovo nenáročné až prakticky sa neplatí žiadny poplatok za program.
Uviedli sme si, že vývoj programového vybavenia je charakterizovaný vývojom programovacích jazykov.
Programovacie jazyky - sú umelo vytvorené jazyky, ktoré tak ako prirodzené jazyky majú svoju abecedu, syntax, sémantiku a lexiku. Slúžia ako komunikačný prostriedok človeka s počítačom. Pomocou nich sa určuje počítaču postup riešenia úloh a vykonávania jednotlivých činností.
Abeceda - je množina znakov, ktoré je možné použiť pri zápise programu v danom jazyku.
Syntax - zahrňuje množinu pravidiel a vzorcov, určujúcu, ako možno skladať slová jazyka do viet - inštrukcií, príkazov, ktoré majú predpísanú štruktúru a od ktorej závisí ich zmysel.
Sémantika - prideľuje presne stanovený zmysel vytvoreným jazykovým konštrukciám.
Lexika jazyka - je konečná vymedzená slovná zásoba daného programovacieho jazyka, ktorá sa môže používať pri zápise programu.
Programovacie jazyky delíme do dvoch základných skupín:
- procedurálne programovacie jazyky
- neprocedurálne - deklaratívne programovacie jazyky
Procedurálne programovacie jazyky - sa vyznačujú tým, že popisujú algoritmus riešenia daného programátorského problému, oznamujú teda počítaču ako má problém riešiť. Presne popisujú sled krokov - príkazov pri spracovaní úlohy na počítači. možno ich pri širokej škále úloh. Do tejto skupiny programovacích jazykov patria napr. jazyky COBOL, Fortran, Pascal, Basic ...
Neprocedurálne alebo deklaratívne programovacie jazyky - pomocou logických výrokov popisujú samotný programátorský problém, kde sa na jeho riešenie potom využívajú odvodzovacie, deduktívne algoritmy. Tieto algoritmy sú veľmi blízke mechanizmom ľudského myslenia. Čiže neprocedurálne programovacie jazyky používajú malý súbor účinných pokynov, ktoré počítaču prikazujú, čo má robiť, na rozdiel od procedurálnych jazykov ktoré prikazujú počítaču, ako to má robiť. Deklaratívne jazyky sa stali hlavným nástrojom hlavne pri vytváraní expertných systémov a aplikácií v oblasti umelej inteligencie. Do tejto skupiny programovacích jazykov patria napr. jazyky: FOKUS, SQL (Structured Query Language - Štruktúrovaný dopytovací jazyk), LISP (List Programing), PROLOG...
Programové vybavenie možno deliť z niekoľkých hľadísk.
Klasické delenie programového vybavenia:
- základné programové vybavenie - programy operačného systému
- operačný systém
- komplex programov technickej obsluhy
- špeciálne ZPV
- aplikačné programové vybavenie
- štandardné
- používateľské
- Základné - systémové programové vybavenie nezávisí od aplikačného - funkčného vybavenia a jeho úlohou je zabezpečovať služby pre konkrétne aplikácie. V prevažnej miere je súčasťou technického vybavenia - hardwaru, výrobca ho dodáva spolu s počítačom.
Skladá sa z:
Operačného systému - predstavuje programové vybavenie , ktoré riadi chod programov v počítači. Tento súhrn programov umožňuje činnosť počítačového systému bez ohľadu na oblasť jeho použitia. Štruktúra a rozsah funkcií operačného systému závisí od možností technického vybavenia počítača.
Komplexu programov technickej obsluhy - sú to testovacie programy základnej jednotky počítača a jeho periférnych zariadení. Slúžia aj na profylaktické kontroly počítača a odstraňovanie chýb v jeho fungovaní.
Špeciálneho základného programového vybavenia - sú to programové prostriedky, ktoré rozširujú možnosti operačných systémov. Patria sem predovšetkým systémy riadenia bázy dát, komunikačné programové vybavenie, programové vybavenie na riadenie počítačových sietí atď.
- Aplikačné programové vybavenie - zabezpečuje vlastné riešenie úloh používateľov, ktoré môžu mať rôznu povahu a byť z rôznej oblasti (veda, hospodárstvo, kultúra, medicína, šport ...). Pri zabezpečovaní svojich funkcií využíva funkcie operačného systému - je na operačnom systéme závislé. Aplikačné programové vybavenie sa podľa povahy riešených úloh môže deliť na:
Technologicky orientované APV - zabezpečujú určitý komplex operácií automatizovaného spracovania údajov (príprava a predspracovanie údajov, generátor výstupov ...). Z aplikačného hladiska sú univerzálne.
Metódovo orientované APV - zabezpečuje programovú realizáciu určitej metódy alebo skupiny metód použiteľných na riešenie úloh s rovnakou alebo analogickou formuláciou (úlohy numerickej matematiky, štatistiky, ....). Z aplikačného hľadiska sú užšie použiteľné ako skupina technologicky orientovaného aplikačného programového vybavenia.
Problémovo orientované APV - zabezpečuje ucelené okruhy úloh konkrétnych používateľov, ktoré sa líšia formuláciou, ako aj metódami riešenia. Typické pre túto skupinu programového vybavenia je, že programy sa vzťahujú na riešenie jednej problémovej oblasti ( riadenie podniku ....) - z toho je odvodený názov tejto skupiny programov..
Aplikačné programové vybavenie môže mať dva typy:
typový charakter - ak sú programy určené na riešenie analogických úloh, ktoré sa opakovane vyskytujú u širokého okruhu používateľov.
Individuálny charakter - ak sa programy vyrábajú na špeciálnu objednávku na riešenie špecifických úloh.
Podstatné - hlavné miesto v programovom vybavení patrí operačným systémom. Rozlišujeme ich z dvoch základných hľadísk:
- prvé hľadisko - zabezpečenie kontaktu používateľa s počítačom
- druhé - organizácia práce počítača - prideľovanie zdrojov počítaču
Kontakt používateľa s počítačom sa môže uskutočňovať:
- individuálne (jednopoužívateľsky)
- v dávkovom režime
- v interaktívnom režime
Individuálny kontakt s počítačom sa využíval na začiatku zavádzania počítačov do praxe. Vtedy programátor, operátor alebo používateľ sám vkladal cez vstupné zariadenia programy do počítača, riadil priebeh spracovania a preberal výsledky.
V dávkovom režime, typický pre obdobie strediskových počítačov, programátor aj používateľ skrátili možnosť bezprostredného kontaktu s počítačom - dávka sa spracováva na počítači sama.
Interaktívny režim, typický pre súčasnosť. Vytvára bezprostrednú komunikáciu programátorovi aj používateľovi s počítačom v reálnom čase. Môžu nastať dva typy interaktívneho režimu:
- interaktívny režim s prideľovaním času (spracováva viac navzájom nesúvisiacich úloh)
- konverzačný interaktívny režim spracováva viac používateľov rôzne úlohy z rovnakej oblasti pomocou jedného alebo viacerých aplikačných programov.
Podľa spôsobu prideľovania zdrojov počítaču sa režim rozlišuje:
- monoprogramový
- multiprogramový
- multiprocesorový
Monoprogramový režim počítača - umožňuje spracovať v základnej jednotke jednotlivé práce za sebou. V operačnej pamäti je vždy iba jeden program, ktorému sú pridelené všetky zdroje počítača.
Multiprogramový režim počítača - umožňuje spracovať v základnej jednotke súčasne viac prác. V operačnej pamäti sa nachádza ako celok alebo po častiach viac programov, ktorým vykonávací operačný systém striedavo prideľuje potrebné zdroje počítača. Prideľovanie sa realizuje podľa požiadaviek používateľa špeciálnymi programami - jedná sa o riadiace pridelenie času - time sharing. Multiprogramový režim podporuje operačný systém tiež svojím mechanizmom virtuálnej pamäte. Tým sa zväčšuje kapacita operačnej pamäte a zároveň vzniká možnosť pre používateľov pracovať s programami pod rôznymi operačnými systémami.
Multiprocesorový režim -vytvára možnosť paralelného spracovania údajov pomocou multiprocesora alebo počítačovej siete. Pre takéto spracovanie treba prepájať dve alebo viac základných jednotiek počítačov - viacpočítačový systém, alebo dva či viac procesorov - viacprocesorový systém. Využíva sa v interaktívnych počítačových systémoch, v ktorých sa vyžaduje veľmi krátka doba odozvy a zároveň ich využíva veľký počet používateľov.
Prideľovanie zdrojov počítaču môže byť podľa ich rozmiestnenia:
- lokálne
- diaľkové
V lokálnom režime sú zdroje v blízkosti používateľa (vstupy/výstupy v blízkosti používateľa) a nie sú potrebné špeciálne technické a programovacie prostriedky na prenos údajov.
Diaľkový režim predstavuje spracovanie údajov - vstupné a výstupné práce používateľa, pomocou diaľkového prenosu údajov špeciálnymi technickými a programovacími prostriedkami.
Programové vybavenie má byť nevyhnutne:
- prehľadné
- dobre čitateľné
- ľahko udržiavateľné
Uvedené vlastnosti je možné dosiahnuť zabezpečením štruktúrovanosti programov ako dôležitej charakteristiky a ich kvality. Štruktúrovanosť je možné charakterizovať ako vlastnosť programového vybavenia označujúcu mieru, v ktorej sú vzájomne súvisiace časti programového vybavenia organizované.
Dve najčastejšie používané programovacie metódy:
Štruktúrované programovanie - rozmach 70. roky
činnosti spojené s vytváraním programov:
- navrhovanie programu
- zápis programu - programov v príslušnom jazyku
- ladenie a testovanie
- spracovanie dokumentácie pre potreby používateľa
- udržiavanie programového vybavenia
Objektovo orientované programovanie - predstavuje nový pohľad na program, ktorý je sústredený na funkčnosť programového systému a na elementy - objekty zahrnuté v systéme. Je zrozumiteľnejšie a spoľahlivejšie.
Kvalita programového vybavenia sa zakladá už pri jeho navrhovaní. Požadujúce vlastnosti na vytvárané programy:
- správnosť - zabezpečenie správnych výsledkov
- spoľahlivosť - schopnosť eliminovať chyby okolia
- modifikovateľnosť - možnosť uskutočniť zmeny v programe riadeným spôsobom
- životnosť - vyjadruje počet použití programu
- portabilita - prenosnosť - možnosť aplikovať program bez zmien v rôznych podmienkach
- adaptabilita - schopnosť prispôsobiť sa zmenám
- dokumentačná vybavenosť
- dostupnosť - možnosť využitia v aktuálnom čase
- efektívnosť - minimalizácia nákladov
Na kvalitu programového vybavenia vplýva aj jeho udržiavanie, ktoré sa uskutočňuje:
- opravou chýb zistených počas využívania
- zlepšením návrhu programu
- konverziou programov
- vzájomným prepájaním
- funkčným rozširovaním a úpravou programov
Čím viac pozornosti sa venuje udržiavaniu softwaru tým je väčšia efektivita a spoľahlivosť programového vybavenia.
Pojmy súvisiace s nekomerčným delením:
Shareware - softvér - voľne šíriteľné programy, ktoré sa predávajú formou "najprv skús a potom zaplať". Programy tohoto typu si nakopírujete a zaobchádzate s nimi ľubovoľne. Šíria sa neformálnymi distribučnými kanálmi. V súčasnosti je výdatným zdrojom shareware Internet. Shareware sa však môže aj predávať za minimálne ceny t.j. ceny spojené s distribúciou programu
- cena diskety + manipulačný poplatok. Registráciou a šírením programov tohoto typu sa zaoberajú celosvetové organizácie ASP (Association of Shareware Professionals) a SDN (Shareware Distribution Network), ktorej členom je aj slovenská organizácia SAC - Slovenské Antivírusové Centrum.
Freeware - softvér - voľne šíriteľné programy, za ktoré autor nežiada žiedne poplatky ale vyhradzuje si právo na uvedenie ako autora a nikto nesmie bez jeho súhlasu vykonať v programe žiadne zmeny.
Publick Domain - pre tento typ programov neplatia žiadne obmedzenia. Sú to vlastne programy, ktoré sú voľne poskytnuté a každý ich môže používať a upravovať podľa vlastných predstáv.
Niekoľko odkazov na stránky odkiaľ si môžete stiahnuť rôzny shareware a freeware, prípadne demoverzie komerčných programov:
http://www.shareware.com
http://www.win-shareware.com
http://www.winfiles.com
http://www.download.com
http://www.32bit.com
http://alias.trb.czn.cz
Nekomerčný software má rôznu úroveň, od nezmyslov až po kvalitné programy. K známym nekomerčným programom patria rôzne antivírusové programy napr. SCAN a najmä program TeX, určený na sadzbu a grafickú úpravu tlačív.
! Pirátske kópie komerčných programov nie sú nekomerčný softvare.
Pojmy súvisiace s komerčným softwarom:
Demo verzia - lákadlo - je to program ktorý má za úlohu osloviť potenciálneho zákazníka a nalákať ho na kúpu programu. Existujú rôzne druhy demo verzií. Medzi najserióznejšie patria demá, ktoré sú vlastne pôvodné programy s umelo pridaným obmedzením (čas, kapacita, znemožnenie nejakej funkcie tlač, zápis, ...). Opakom uvedených programov sú tzv. autodemá, ktoré môžete len sledovať a nemôžete do chodu zasahovať.
Beta verzie - sú to vlastne ešte nedokončené programy, čiže rozpracované verzie softwéru. Poskytujú sa externým pracovníkom a iným záujemcom na otestovanie a na zhromaždenie pripomienok. Bez beta verzií sa nezaobíde finálna fáza žiadneho významného - seriózneho softwaru.
Upgrade - vyššie verzie programov poskytnuté za výhodných podmienok majiteľom predchádzajúcich verzií. Výrobcovia si nimi snažia udržať zákazníkov. Sú to vlastne programy, ktoré sa naďalej vyvíjajú z dôvodu komerčnej úspešnosti.
Krížový upgrade - competetive upgrade - predaj programov za zvýhodnené ceny nielen majiteľom predchádzajúcich verzií daného produktu ale aj majiteľom predchádzajúcich verzií konkurenčných produktov.
Amnestia - je to vlastne predaj upgrade za znížené ceny bez kontroly zákazníka o legálnosti nadobudnutia predchádzajúcej verzie. Software sa týmto legalizuje. (30. február 1998 - windows95)
Ing. Cyril Závadský Prednášky Informatika Strana 24 z celkového počtu 5 strán