Raalprojekteerimine
Euroopa struktuurfondide logo
Automatiseerimise viide Mehhatroonikaseadmete viide Pneumoautomaatika viide Siemens LOGO! viide Siemens S7-1200 viide

SÜSTEEMIARENDUSE PROTSESS JA MEETODID

Süsteemi teostus

Süsteemi loomise keskkonnad

Arenduskeskkond (development environment) on keskkond, kus on kasutatav kogu vajalik funktsionaalsus tarkvara süsteemi arendamiseks. Arenduskeskkonda võib mõista erinevatel tasanditel. Näiteks programmeerija põhitöövahendiks on integreeritud arenduskeskkond (nn IDE), kus on kõik vahendid mugavaks koodi loomiseks, kompileerimiseks jne. Kõrgemal tasemel on arenduskeskkond seadistus koos arendusserveri, andmete, andmebaasimootorite ja muu vajalikuga, et katsetada ja testida arendatava süsteemi osade tööd. Sellisel keskkonnal on ka inglisekeelne nimetus sandbox.

Testmiskeskkond (test environment) on oluline vahelüli arenduse ja tegelikku töökeskkonna vahel. See koosneb riistvarast (serverid, töökohaarvuti(d), jms) ja loogilise taseme komponentidest (Serveri operatsioonisüsteem, kliendi operatsioonisüsteem, andmebaasiserver, kliendi kasutajaliides, veebilehitseja jms tarkvara, mis on vajalik kogu süsteemi käitamiseks). Oluline on, et keskkond hõlmab nii kliendi kui ka serveripoolset osa ning kasutab täpselt samu versioone tarkvaradest, mis on kliendi juures ehk on võimalikult sarnane töökeskkonnale. Vastasel juhul võib selguda juurutusprotsessis, et süsteem ei tööta ja on vaja ümber teha. Testimiskeskkonnas tehakse funktsionaalseid ja jõudlusteste, testitakse süsteemi uuendusi ja veaparandusi. Samas võivad toimuda ka kasutajapoolsed vastuvõtutestid. On rusikareegel, et kogu testimiskeskkond on eraldatud töökeskkonnast ja kõik uuendused ja parandused kontrollitakse-testitakse eelnevalt testimiskeskkonnas ja alles seejärel installeeritakse need töökeskkonda. Testimiskeskkond sobib ka klientide koolitamiseks, mis tagab, et selle käigus ei rikuta nt andmeid.

Töökeskkond (production environment) on keskkond, kus toimub tegelik töö, st mida firma tarvitab oma igapäevases äritegevuses. Sarnaselt testimiskeskkonnale on ta täielik installatsioon kogu vajalikust riist- ja tarkvarast. Töökeskkonna peal ei ole õige katsetada süsteemi uuendusi, sest see võib halvata äritegevuse. Katsetamiseks on testimiskeskkond. Koolituse võimalikkus sõltub pigem sellest, mida konkreetselt tehakse ja kas see võib õppija kogenematuse tõttu mingeid kahjusid põhjustada.

Konfiguratsioonihaldus

Tarkvarasüsteemi loomisel ning tema hilisemal parandamisel ja muutmisel töötavad mitmed arendajad. See tegevus kestab aastaid ja selle aja jooksul tekib tarkvarast mitmeid variante - nn versioone. Et tarkvarauuenduste töösse andmine ja vajadusel vanemate versioonide taastamine sujuks, on tarvilik järgida mingeid protseduurireegleid, süstematiseerida kogu tekkinud koodi ja vastavat dokumentatsiooni: uuendusnõudeid, vearaporteid jne.

Iga tarkvara muutub ja on kui hulk erinevaid versioone. Uued versioonid realiseerivad muudatusettepanekuid, vigadeparandusi, kohandamisi teiste riistvara ja operatsioonisüsteemidega. Koge selles muutuste virrvarris on vaja korda ja süsteemi.

Konfiguratsioonihaldus (configuration management) on väljatöötamisel oleva tarkvarasüsteemi koodibaasi ja dokumentatsiooni haldamine, järgides protseduure ja kasutades sobivat tarkvara. Konfiguratsioonihaldus on vajalik, et mitte kaotada järge muudatuse ja komponentide versioonide üle erinevates süsteemi versioonides. Konfiguratsioonihaldusega võib tegeleda lausa eraldi meeskond, kelle ülesandeks on jälgida ja tagada, et tarkvarauuendused lisanduksid süsteemi juhitud viisil ning info muudatuste kohta pandaks kirja ning säilitataks piisava detailsusega. Et uuendusi viivad siiski sisse arendajad, siis on nende töö süstematiseerimiseks sisseviidud selged protseduurireeglid. Nt millistel tingimustel võib uue koodi lisada olemasoleva süsteemi juurde, millal kõike kokku kompileerida, kuhu ja kuidas muudatused registreerida jne.

Konfiguratsioonihalduse protsess jagatakse muudatuste halduseks, versioonihalduseks, süsteemi järkude (build) ja redaktsioonide (release) halduseks.

Versioonihalduse ülesandeks on pidada järge tarkvara kõigi komponentide versioonide ja nendes tehtud muudatuste üle. Sellega tagatakse ka, et erinevate arendajate tehtud muudatused ei hakkaks üksteist segama.

Edukaks versioonihalduseks tasub kasutada vastavat tarkvara (nt CVS, Git, Subversion jt). Hea tarkvara lubab isegi üheaegset tööd sama faili kallal.

Versioonihaldusega on tihedalt seotud järkude haldus.

Süsteemi järk on tarkvara versioon, mis tarnitakse kasutajale. Üldkasutatava tarkvara jaoks (kontoritarkvara jms) eristatakse kahte tüüpi järke: peajärk (major release) toob kaasa mõne olulise uue funktsionaalsuse ja pisijärk (minor release) parandab mõne vea või kasutaja teatatud probleemi. Eritarkvara puhul võivad erinevatel klientidel olla tarkvarast erinevad järgud/versioonid ning igaüks neist võib areneda omasoodu. Nii võib ühest süsteemist töötada samaaegselt mitu erinevat versiooni. Probleemi ilmnemisel tarkvara kasutamisel peab olema võimalik taastada täpselt selline tarkvara variant, nagu see on sellele kliendile antud. Seetõttu peab järkude info olema piisava detailsusega säilitatud ehk iga järk tuleb dokumenteerida selliselt, et see oleks hiljem taasesitatav.

Creative Commons Licence
"Raalprojekteerimine" by Eduard Brindfeldt and Urmo Lepiksoo is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Estonia License .