osa 3
osa 3
osa 3
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• Tarkvaratehnika märgatav kasutamine praktikas (1989-1990), objekt-orienteeritud<br />
tarkvaratehnika meetodite edu (1990-1992)<br />
• Uute ideede hulgaline tulek (1993-1996) – tehisintellekti meetodid tarkvaratehnikas, UML<br />
(Unified Modelling Language) koondab paljud objekt-orienteeritud meetodid ühtseks<br />
tervikuks, CORBA tekkimine ja mõju laienemine (Common Object Request Broker<br />
Architecture) hajusrakendustes ja suurtes süsteemides.<br />
Kõigele vaatamata on tarkvara loomine pidevas kriisiseisus, nii nagu see oli 1960-ndatel – 1990-<br />
ndate aastate USA-s on ligi 30% alustatud tarkvaraprojektidest täielikult ebaõnnestunud, ligi 90%<br />
lõpuni viidud projektidest on olnud tunduvalt maas ajagraafikust ja tunduvalt ületanud planeeritud<br />
maksumuse.<br />
Lisaks tarkvaratehnika meetodite suhtelisele algelisusele on sellisele seisundile kaasa aidanud<br />
kolm järgmist põhjust:<br />
• olemasolevad tarkvaratehnika meetodid ja vahendid ei ole leidnud laialdast praktilist<br />
kasutamist (ilmne põhjus on vahendite kõrge hind, vähem ilmsed on potentsiaalsete kasutajate<br />
puudulik haritus ja pakutavatest meetoditest tulenev liiga vähene kasu (s.t. turul olevates<br />
tööriistades kasutatavate meetodite triviaalsus – paljud tööriistad täidavad pliiatsi ja paberi<br />
funktsioone)<br />
• lihtsate, üldtunnustatud ja omaksvõetud standardite puudumine tarkvara tootmise protsessi ja<br />
tarkvara kui toote nõutavate omaduste kohta -- on sadu ametkondlikke ja riiklikke standardeid,<br />
kogumahuga tuhandetes lehekülgedes; üldine arvamus on, et need on praktiliseks kasutamiseks<br />
liiga abstraktsed ja keerulised<br />
• tarkvara loomise protsess on käesoleval ajal üks keerulisemaid inimtegevuse valdkondi,<br />
puuduvad korralikud formaalsed, tarkvara kvantitatiivseid omadusi kirjeldavad matemaatilised<br />
mudelid, mis võimaldaksid varakult ennustada tulevase süsteemi omadusi.<br />
Tänu tarkvara kui rakendusvaldkonna keerukusele ei saa loota kiirele edule, kuid olemasolevaid<br />
teadmisi mõistlikult kasutades on võimalik üsnagi edukalt vältida paljusid tavalisi vigu ning<br />
potentsiaalseid ohtusid.<br />
Tarkvaratehnika kursuste eesmärk on:<br />
• põhjendada õppuritele tarkvaratehnika (software engineering) kui distsipliini vajadust; see<br />
kõlab naeruväärselt, aga paljud tarkvaratehnika põhitõed tunduvad esmapilgul sedavõrd<br />
triviaalsed, et programmistid ei võta neid tõsiselt (analoogia halduse ja haldusjuhtimisega)<br />
• selgitada, et tarkvara loomine on lahutamatu <strong>osa</strong> süsteemide loomisest, ning tarkvara inseneri<br />
tegevuspiirkond ja vastutus laieneb tegelikkuses tunduvalt väljapoole tarkvara kui omaette<br />
toote piire<br />
• selgitada, miks tarkvara inseneri tegevus on lähedasem süsteemi-inseneri tegevusele kui arvutiinseneri<br />
või arvutiteadlase tegevusele<br />
• tutvustada ja õpetada kasutama lihtsaid, asjakohaseid ja praktikule arusaadavaid süsteemi ja<br />
tarkvara loomise protsessi erinevaid etappe kirjeldavaid mudeleid<br />
• firmade empiirilise kogemuse üldistamine ja edastamine mudelite, eeskujude,<br />
dokumendivormide, tabelite ja eeskirjade ning soovituste näol, koos selgitustega, miks need on<br />
head ja vajalikud<br />
51