B.1.7. Süsteemiarenduse ja levituse arengujooned

iDevide ikoon Eesmärgid

1)      Kirjeldada süsteemiarenduse erinevad põhimõtteid;

2)      Kirjeldada põhilisi tehnilisi struktuure , mille jaoks süsteeme välja töötatakse (nt kahetasemeline klient-server-arhitektuur, kolmetasemeline klient-server-arhitektuur, n-tasemeline veebipõhine arhitektuur, pärandsuurarvuti laiendus ja integreerimine).


Standardid.

Tarkvara arenduse roll ettevõtetes on aegade jooksul muutunud. Algselt oli tarkvara innovatsiooni ja ettevõtte toodete/teenuste parendamisel üks elementidest, aja jooksul on tarkvarast saanud iseseisev toode.

 

Tarkvara arenduse ja halduse protsess on muutunud keerukamaks: on kasvanud tarkvara funktsioonide keerukus, tarkvarast sõltuvus, muutunud keerukamaks tarkvara arenduse vahendid (CASE-vahendid), tarkvarasüsteeme liidestatakse omavahel. Arusaadavalt on see toonud kaasa suurema tähelepanu tarkvaraarenduse protsessi vastu, selle efektiivsemaks muutmiseks. Ajalooliselt oli tarkvaraarendusprotsessi parendamise vastu sellistes valdkondades nagu militaarvaldkond, kosmosevaldkond, tööstus, ja valdkonnad, kus tarkvarale usaldati kriitiliste protsesside juhtimine. Nendest valdkondadest on välja kasvanud nt eelnevalt käsitletud koskmudel. Algselt püüti igas valdkonnas luua oma tarkvara arenduse metodoloogia, hiljem taibati, et eri valdkondades on mõistlik kasutusele võtta samad põhimõtted ja protsesside raamistikud tarkvara arendamiseks.

 

Allpool käsitleme näitena ühte tarkvara arendust ja tarkvaratooteid ning nende kvaliteeti käsitlevat standardit.

 

ISO9000. ISO 9000 on ISO (the International Organization for Standardization) standardite osa, mis reglementeerib toodete hankimise, tarnimise, väljatöötamise ja hoolduse. ISO 9000 kvaliteedistandardite sari on kehtestatud ka Eesti standarditena.  ISO9000 lähenemine ei ole normatiivne vaid nõutakse, et standardit rakendav ettevõte tuvastaks oma võtmeprotsessid ning valiks metodoloogiad ja tehnikad nende protsesside efektiivseks läbiviimiseks. Tähelepanu pööratakse protsesside pidevale parendamisele ning mõõdikutele, mille abil saab kontrollida protsesside ja toodete kvaliteeti.

 

Tarkvara arendust käsitlevad veel mitmed standardid, nt IEEE, SEI/CMM, ISO12207.

 

IT arhitektuur. Veel mõned aastad tagasi oli üks levinumaid viise struktureerida rakendusi kahte komponenti: klient ja server. Sellist lähenemist tuntakse nimetuse kahekihiline arhitektuur all. Klient on komponent, mis vahendab kasutaja ja serveri vahel infot. Server osutab ühele või enamale kliendile teenuseid. Tüüpiliselt paiknes serveris tsentraalne andmebaas ja üks osa äriloogikast, klientides aga äriloogika ja kasutajaliides. Sellise arhitektuuri puuduseks on, et äriloogika muutudes on vaja tarkvara uuendada tihti kümnetes ja sadades ning enamates kliendiarvutites, samuti nõuab see suurte andmemahtude liigutamist kliendi ja serveri vahel, samuti suhteliselt suurt arvutusvõimsust kliendi poolel. Nimetatud probleemidest ülesaamiseks pakuti kolmekihilist arhitektuuri – lisandus nn äriloogika kiht serverisse, klient muutus „õhemaks”.

 

Olukorras, kus järjest enam on väärtust mitte üksikul rakendusel või andmebaasil, vaid väärtust omavad koosvõimelised infosüsteemid, on arenduses pudelikael liikunud süsteemide liidestamisele-integratsioonile; oluline osa kasutada läbiproovituid praktikaid (nt mustreid sarnaste probleemide lahendamiseks), teenusorienteeritud lähenemist (SOA – Service Oriented Architecture), infosüsteemide semantilist kirjeldamist.

iDevide ikoon Ülesanne

1) Tutvuda UML skeemide (sh kasutuslooskeem, tegevuskeem, klassiskeem, levitusskeem, olekuskeem, jadaskeem) kasutusvõimalustega.