Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Tarkvaraprojekti esijalgne kavandamine (0)

1 Hindamata
Punktid
Tarkvaraprojekti esialgne kavandamine
Tarkvaraprojekti esialgsel kavandamisel koostatakse tarkvaraarenduskava. See hõlmab järgmisi tegevusi:
  • Projekti visiooni määratlemine,
  • Põhiotsustaja määratlemine,
  • Projekti eesmärkide määratlemine,
  • Riskihaldus ,
  • Efektiivsete personalikasutuse strateegiate kujundamine,
  • Ajaarvestus.

Nagu eelmisest punktist nähtub, peab ka Tarkvaraarenduskava suhtes rakendama muudatuste juhtimise skeemi. Käsitleme järgnevas lühidalt tarkvaraarenduskava iga alajaotust.
Projekti visioon . Enne mistahes projekti käivitamist peab projektimeeskond projekti põhieesmärgi suhtes kujundama ühised arusaamad ja need ka kirjalikult lühidalt formuleerima. Põhieesmärk peab olema kõrge, kuid reaalne. Halvim on, kui projekti täitjad saavad aru eesmärkide ebareaalsusest, kuid projekti juhtkond mitte; sellisel juhul täitjate motivatsioon langeb kiiresti. Visioonist peaks lähtu­ma, määratlemaks, mida loodav tarkvara peab võimaldama ja mida mitte. Näiteks MS Word for Windows 1.0 aren­da­mine võttis algselt kavandatud ühe aasta asemel aega viis aastat, kuna eesmärgid olid seatud liiga kõrged! Seega on näiteks “Luua maailma parim teks­titöötlus­süsteem” liiga üldine, parem oleks “Luua maailma kõige kasutajasõbralikum tekstitöötlussüsteem”, kuna annab aren­da­jatele ka ideid, mida ei peaks tarkvara koosseisu lülitama.
Põhiotsustaja määratlemine. Projektiga seonduvate lõplike otsustuste tegija peab olema määratletud; see võib olla üks inimene või rühm (näiteks juhtrühm). Viimasel juhul peaksid selles olema esindatud kõik põhilised huvirühmad.
Projekti eesmärkide määratlemine. Eesmärgid võivad projekti täitmise käigus oluliselt täpsustuda ja ka teiseneda, sõltuvalt näiteks projekti täitmise ajagraafikus püsimisest, eelarve muutumisest jne. Näiteks NASA SEL (Software Engineering Laboratory ) täpsustab reeglina oma projektides eesmärke viis korda, arvestades seejuures ka vastavaid “määramatuse kordajaid”, vastavalt allpoololevale tabelile:
Eesmärkide täpsustamise aeg Ülemise piiri tegur Alumise piiri tegur
Nõuete väljatöötamise järel 2,0 0,5
Nõuete analüüsi järel 1,75 0,57
Esialgse disaini järel 1,4 0,71
Detailse disaini järel 1,25 0,80
Kodeerimise 1,1 0,91
Süsteemi testimise järel 1,05 0,95
Eesmärkide ja muude kavade suuremaks adekvaatsuseks on oluline kogu projektimeeskonna kaasa­mine nende väljatöötamisse. Kui projektimeeskond kavasid heaks ei kiida, siis ta neid reeglina ka ei täida. Projekti täitmise käiku iseloomustavad näitajad peaksid pidevalt olema projektimeeskonnale teada (näiteks projekti kodulehekülg intranetis); nende hulgas peaks kindlasti olema järgmised:
  • Juba täidetud ülesannete loetelu
  • Vigade statistika
  • Põhiliste riskide loetelu
  • Projekti täitmise protsent ajaliselt
  • Projekti täitmise protsent ressursside osas
  • Projekti vahearuanded

Riskihaldus. Lõviosa tarkvaraprojekte pöörab riskide vähendamisele vaid sümboolset tähelepanu. Optimaalne on kulutada sellele 5-10% projekti vahenditest; suurem osakaal muudab projekti liiga bürokraatlikuks ja kohmakaks, kusjuures projekti edukus kasvab minimaalselt. Liiga suure osa vahendite kulutamine riskihaldusele (üle 25%) vähendab projekti tulemuslikkust, kuna põhitege­vusele jääb sel juhul liiga vähe vahendeid. Riskihaldamise edukus sõltub sellest, kuivõrd pühendu­nult seda tehakse, selle läbiviimise võime arendamisest, vastavate riske vähendavate tegevuste sooritamisest ja selle kontrollimisest, et iga riski haldamise kava oli efektiivne. Riskihalduse kava peab olema kirjalik, koos vajalike eelarveliste vahenditega ja riskide analüüsi tulemusi peab arvestama projekti edasisel täitmisel. Keskmiste ja suurte projektide korral on otstarbekas määratleda riskide analüüsi ja võimalike probleemide ennetamise peale eraldi töötaja – riskihaldur (kel võib projekti raames olla ka muid ülesandeid). Sageli on need ülesanded ühitatud testimisega. Riskihalduri üheks ülesandeks on ka regulaarselt (näiteks iga kahe nädala tagant) antud momendi põhiliste riskide loetelu koostamine, aga samuti riskide vähendamiseks lahenduste pakkumine.
Näide. Põhiliste riskide tabel.
Nr.
Mitu nädalat loetelus
Riski nimetus
Riski vähendamise võimalused
1.
4
Väljastatud tarkvara madal kvaliteet
Loodud kasutajaliidese prototüüp, veendumaks kasutajate rahulolus.
Kasutatakse süsteemset arendusprotsessi.
Testimine kavandatakse nii, et see kataks kogu funktsionaalsuse.
Süsteemi testimine sõltumatute ekspertide poolt.
2.
4
Ajagraafikust mittekinnipidamine
Ajagraafik vaadatakse projekti käigus korduvalt üle.
Aktiivne protsessi jälgimine toob nihked ajagraafikus koheselt välja.
Kasutatakse mitmeetapilist tarkvaraarendus - ja väljastusmudelit.
3.
1
Kõrged kulutused
Detailne projekti kavandamine loob selged ootused.
Keskkond toetab kõrget tööviljakust, motivatsiooni ja kokkuhoidu.
4.
5
Tööruumide ebaots­tarbekas kasutamine
Peale kasutajaliidese prototüübi valmimist viiakse arendustegevus teistesse ruumidesse (erapindadele).
Tabelis võib kasutada lisaveerge, näiteks riskide vähendamist realiseerivate inimeste nimedega. Iga riski jaoks peaks looma eraldi riskikäsitluskava, mis vastaks järgmistele küsimustele:
  • Riski realiseerumise tõenäosus ja tagajärjed.
  • Riski vähendamise võimalikud teed.
  • Riski vähendamiseks vajalikud konkreetsed sammud ja meetmed, kui riski ei õnnestu vähendada.
  • Kes vastutab iga sammu teostamise eest.
  • Sammude teostamise tähtajad.
  • Millised eelarvelised vahendid eraldatakse riski vähendamiseks, iga sammu jaoks eraldi.
    Kuna riskide käsitlemiseks on vajalik projekti käiguga pidevalt kursis olla, siis probleemiks võib osutuda halbades uudiste kiire teadasaamine (head uudised levivad välgukiirusel iseenesest). Selleks tuleb luua vastav anonüümne kanal vastavate teadete edastamiseks, näiteks kasvõi projekti veebilehe kaudu. Tarkvaraprojektide täitmisega seotud riskide hindamiseks on töötatud välja ka vastavaid meetodeid (vt näiteks http://www-cgi.cs.cmu.edu/~SW_Managemnt/pdf/tr19.94.pdf , SEI tehniline aruanne CMU/SEI-94-TR-19 “Software Risk Evaluation Method”).
    Efektiivsete personalikasutuse strateegiate kujundamine. Põhiidee on, et projektijuht kannab vastutust selle eest, et projekti täitmise tulemusena asutuse inimressursi kvaliteet paraneb . Kui näiteks projekti täitmine põhjustab viie inimese lahkumise, siis kannab asutus seeläbi otsest kahju. Seega peaks arvestama näiteks järgmiste aspektidega:
    • Juhte tuleb hinnata ka selle järgi, kuivõrd hästi nad säilitavad projektimeeskonna,
    • Projektimeeskonna kõikidel liikmetel peavad olema võimalused enda personaalseks arendamiseks .

    Projektimeeskonna koostamisel tasub pigem natuke rohkem vaeva näha heatasemelise töötaja otsimisel kui et võtta koheselt tööle vähem kogenud spetsialist, lootes tema edasisse arengusse . Tarkvaraarendajate seas on laialt levinud seisukoht, et parimad arendajad on kuni 10 korda suurema tööviljakusega kui halvimad tarkvaraarendajad. Seejuures 31 tarkvaraarendajate rühma uurimisel selgus, et individuaalsetest oskustest olulisem on projektimeeskonna kooskõla (B.Lakhanpal, Information and Software Technology, 35 (8), 468-73), st kui hästi laabub nende koostöö. Seetõttu on väga oluline ka probleeme tekitavatest meeskonnaliikmetest vabanemine . Nagu vastavatest uuringutest nähtub (Carl E.Larson, Frank M.J. LaFasto, tuginedes 75 projekti analüüsile), on etteheidetest projektijuhtidele esikohal probleemsete inimeste küsimuste lahendamine. Väga sageli on ka “raske inimese” tööviljakus väga madal. Mõnikord – mõne äärmi­selt olulise probleemi ülikiireks lahendamiseks – on vaja moodustada väike (1-2 inimest) “tiigrirühm”, kes selleks ajaks vabastatakse oma muudest töökohustustest. Siinjuures peab arvestama inimeste erineva suhtumisega: mõni tõlgendab “tiigrirühma” kuulumist kui erilist tunnustust, teine aga kui põhitöö segamist.
    Ajaarvestus. Projekti algusfaasis on oluline järgida projektimeeskonna ajakasutust. See on aluseks ajakulu hinnangute tege­misel, seda nii jooksvas projektis kui eriti uute projektide kavandamisel. Näite ajakasutuse kategooriatest (st tegevus­test, millele kuluvat aega mõõdetakse ja analüüsitakse), võib leida aadressilt www.construx.com/survivalguide. Ajaarvestuseks on loodud ka sellekohast tarkvara (time- accounting programs, vt. eelpooltoodud aadressilt).


  • Nõuete väljatöötamine


    Nõuete väljatöötamise faasis analüüsitakse tarbija/ tellija vajadusi (sealhulgas ka analoogseid turul olevaid tooteid) ning töötatakse selle alusel välja tarkvaraspetsifikatsioon. Viimane võib olla ka kasutajaliidese prototüübi kujul.
    Tarbija vajaduste kindlakstegemisel peab teda sageli aitama oma vajaduste määratlemisel. Ebaadekvaatsuse või vigade korrigeerimine võib edaspidi – tarkvara väljatöötamise hilisemates faasides – väga kalliks maksma minna. Näiteks tervikliku rakendustarkvara väljatöötamisel võiksid sooritatavad sammud olla järgmised:
  • Rühma usaldusväärsete (lõpp)kasutajate määratlemine, kes aitaksid otsustada loodava tarkvara eri aspektide üle. Nende hulgas peaks lisaks oma ala tunnustatud tegijatele ka keskpäraseid kasutajaid olema.
  • Kasutajate intervjueerimine esialgsete nõuete määratlemiseks. Kogemused on näidanud, et professionaalsete tarkvaraarendajate ja tavakasutajate arusaamad heast tarkvarast reeglina mõnevõrra erinevad. Sageli – eriti infosüsteemide arendamisel – on vaja korraldada kõiki osapooli kaasates seminare ja õpitube (JAD, Joint Application Design).
  • Kasutuslugude modelleerimine , määratledes ja modelleerides kasutaja vajadustest lähtuvaid tegevusi tarkvara rakendamisel.
  • Lihtsa kasutajaliidese prototüübi loomine, pakkudes ka mitmeid alternatiive. Prototüüp peab olema võimalikult lihtne, kuid siiski andma tarbijale võimalikult adekvaatse ettekujutuse (ka visuaalse) tööst loodava tarkvaraga. Üheks võimaluseks on näiteks stsenaariumi koostamine, kus koostatakse joonised ekraanipiltidest, dialoogikasti­dest, menüüdest ja muudest elementidest. Prototüüpi tuleb täiustada niikaua , kuni kasutajad selle aktsepteerivad. Seejuures peavad kasutajad teadma ja arvestama, et tegemist on vaid prototüübiga, mille loomiseks ei tohi liigselt aega kulutada.
  • Koostada stiilijuhis, mis sätestab tarkvara visuaalse ja loogilis-tunnetusliku standardi. Stiilijuhis sisaldab näiteks standardsete nuppude suuruse ja asetuse , lubatavad kirjatüübid, veateadete stiili, põhioperatsioonide mnemoonika jne.
  • Kasutajaliidese prototüübi väljaarendamine, mis sisaldaks kogu funktsionaalsuse (ilma et funktsionaalsus ise realiseeritud oleks). Probleemsed funktsionaalsused (st need, mille realiseerimine on problemaatiline) peab dokumenteerima eesmärgiga saada nende realiseerimiseks võimalikult rohkelt ideid ja ettepanekuid . Kuna tegemist on prototüübiga, mitte valmistarkvara komponendiga, siis ei tohi ka sellele liiga palju ressursse kulutada. Sageli teostatakse prototüüp hoopis teises keskkonnas kui arendatav tarkvara (näiteks Visual Basic versus Java või C++). Nii stiilijuhise kui kasutajaliidese prototüübi peab võtma muudatuste juhtimise protsessi.
  • Kasutajaliidese prototüübi alusel detailse kasutusjuhise kirjutamine. Enamasti kirjutatakse kasutusjuhendid projekti lõpus, kuid sellisel juhul 1) ei jää aega kasutajatelt tagasiside arvestamiseks ja 2) tarkvara kasutamise loogika võib kohati olla mittekooskõlaline (kasutajat ei huvita mitte niivõrd ühe operatsiooni, kuivõrd eesmärgi saavutamiseks vajaliku operatsioonide jada sooritamine ).
  • Suur osa tarkvara sisaldab lisaks ka funktsionaalsust, mida ei saa piisavalt hästi kasutajaliidese või kasutusjuhise abil kirjeldada: erinevad algoritmid, suhtlemine muu tarkvaraga, mälukasutus jne. Nende kirjeldamiseks peab looma omaette dokumendi.
    Nõuded peavad olema kirjalikult fikseeritud ning kõikidele osapooltele kättesaadavad.
    Ülesanne. Leida kolm internetiallikat, milles käsitletakse IT-projekti skoobi liigsest laiendamisest (scope creep) tingitud ebaõnnestumist.
  • Kvaliteedikindlustus


    Kõige üldisemalt mõistetakse kvaliteedi all määra, mil tarkvara vastab sätestatud ja nendest tulenevatele nõuetele. Üldjuhul see, kas tarkvara valmis tähtaegselt või ületati tähtaeg mõne nädala võrra, ununeb ruttu; samas ebakvaliteetsest tarkvarast põhjustatud rahulolematus on pikaaegne. Seega on kvaliteet olulisem kui mistahes muu näitaja. Selle tagamiseks koostatakse kirjalik kvaliteedikindlustuse kava. Seejuures tuleb arvestada järgmiste asjaoludega:
    • Tarkvara kvaliteedikindlustuse tegevused peavad olema kavandatud,
    • Need tegevused peavad algama hiljemalt tarkvaranõuete väljatöötamise faasis,
    • Kvaliteedikindlustus tuleb sätestada kellelegi (või rühmale) eraldi tööülesandena,
    • Kvaliteedikindlustuse töötaja peab saama piisavat sellealast koolitust,
    • Tarkvara kvaliteedikindlustuse tegevused tuleb adekvaatselt finantseerida,
    Kvaliteedikindlustuse kava peaks sisaldama järgmiseid tegevusi:
    • Vigade otsing. Iga vea peab dokumenteerima (asukoht; vea kirjeldus ja raskusaste; millal, kes ja kuidas avastas ja lahendas jne) ning avalikustama; vigade otsinguks kasutatakse spetsiaaltarkvara (vt. näiteks www.construx.com/survivalguide/ )
    • Üksuse testimine. Seda teeb arendaja lähtekoodi testimise kaudu
    • Lähtekoodi läbimine interaktiivse siluja abil, teostab tarkvaraarendaja. Oluline eelkõige enne tarkvara integreerimist
    • Tehniline ülevaatus, läbi viidud põhiliselt kvaliteedikindlustuse töörühma poolt. Teostatakse tehniliste töötulemuste (kasutajaliidese prototüüp, nõuete spetsifitseerimine, arhitektuur , disain jne) kvaliteedi kontrollimiseks. See toimub reeg­lina ühtse skeemi kohaselt: 1) töö teostaja teavi­tab selle ülevaatuseks valmisolekust ja edastab vajalikud mater ­ja­lid; 2) Kontrollijad analüüsivad töö tulemusi; 3) Töö teostajad ja kontrollijad kohtuvad, arutamaks töötulemusi; 4) Ülevaatuse aruande koostamine (sisaldab muuhulgas ka avastatud vigade loendi ja nende kõrvaldamise ajagraafiku); 5) Töö üle­vaatusejärgne täiustamine. Tehnilise ülevaatuse läbiviimisel peaks järgima järgmiseid soovitusi : 1) Ülevaatus peaks piirduma vigade otsimise­ga, mitte hõlmama lahenduste pakkumist; 2) Ülevaatus peaks olema tehniline, mitte kaasama tarbijaid ja juhtkonda; 3) Jäl­gima, et tehnilise ülevaatuse käigus avastatud puudused edaspidi tõesti kõrvaldataks; 4) Ülevaatuse tule­mused tuleb avalikustada projektirühmale; 5) Ülevaatuste ja puuduste kõrvaldamise jaoks peab eraldi aja reser­vee­rima, seda ei saa teha muu tegevuse kõrval.
    • Terviklikkuse testimine toimub tarkvaraarendaja poolt ning eesmärgiks on tagada viimati loodud koodi ühilduvus varem loodud tarkvaraosaga
    • Süsteemi testimine, mille käigus analüüsitakse produkti valmiskomponente. Arvestama peaks järgmiste soovitus­tega: 1) Testija­teks ei tohiks olla tarkvara arendajad; 2) Testimise kavandamist peab alustama nõuete fikseerimise järel ja testimist alustama juba 1.etapil; 3) Süsteemi testimine peab katma 100% funktsionaalsusest; 4) Süsteemi testimiseks peab olema piisavalt ressursse. Näiteks kvaliteetse laiatarbetarkvara tootmisel on testijate arv võrreldav arendajate arvuga; lennujuhti­mistarkvara tootmisel ületab testijate arv arendajate arvu kuni 10 korda! Testimine võimaldab hinnata tarkvara kvaliteedi­taset, mitte ei ole kvaliteedikindlustuse vahendiks (ainuüksi testimine pa­ran­dab tarkvara kvaliteeti samavõrd nagu enda kaalumine vähendab kaalujälgija kehakaalu).
    Kvaliteedikindlustuse kava peaks ka määratlema, millal tunnistada tarkvara levitamiskõlbulikuks. Näiteks: “kõik 1. ja 2. raskusastme vead on parandatud”, “keskmine vigade avastamise intervall 8 tundi” vmt.
    Beeta-testimine. Eriti komplekssete tarkvarasüsteemide testimine antakse peale asutusesisest testimist laiemale asutuse­välisele ringile testimiseks ( eksperdid , erialaajakirjad, kliendid, avalikkus ). Eesmärgiks on võimalikult laia ja mitmeke­sise tagasi­side­me saamine (näiteks loodava tarkvara ühilduvuse kohta kõikvõimaliku riist- ja tarkvaraga). Beeta-testimine on suhteliselt eba­efektiivne, kuna 1) suur osa testijaist ei viitsi avastatud vigadest teatada ja 2) tarkvaratootjaile laekub tohutul hulgal ettepane­kuid tarkvara muutmise kohta. Efektiivsem on, kui palgata kasutajate esindajad mõneks ajaks testijaina tööle kogenud tugi­isikute käe all.
    Kvaliteedikindlustuse rühm peaks osalema ka Tarkvaraarenduskava, standardite ja protseduuride väljatöötamisel.
    Kvaliteedikindlustuse osas on loodud omaette institutsioone (näiteks www.sqi.gu.edu.au, Software Quality Institute), aga samuti terve rida veebilinkide kogusid, nagu (näiteks www.cs.umu.se/~jubo/Projects/ QMSE , Quality Management for Small Enterprices).
  • Tarkvaraarhitektuur


    Tarkvaraarhitektuur hõlmab tarkvara üldist disaini: alamsüsteemide ja nendevahelise interaktsiooni määratlemine, vigade tööt­ lemise põhimõtted, mäluhaldus jne. Arhitektuur peab olema võimalikult lihtne ja kontseptuaalselt terviklik. Üldjuhul peaks põhiliste alamsüsteemide arv olema alla kümne, näiteks: 1) kasutajaliides , 2) funktsionaalsed alam­pro­ grammid , 3) andmete salvestamine , 4) väljastamine, 5) kasutaja abivahendid , 6) alamtaseme vahendid (näiteks mälu­haldus). Ka ei tohiks alamsüstee­midevaheline interaktsioon olla liiga keerukas. Eraldi peaks olema kirjeldatud iga alamsüsteemi funktsioonid ja esialgne mooduliteks jaotus ja milline infovahetus on erinevate alamsüsteemide vahel lubatud (hea arhitektuuri korral toimub kommunikatsioon võimalikult väikese arvu alamsüsteemide vahel, isegi kui selleks on vaja mõnes alamsüsteemis lisakoodi luua). Suuremamahuliste projektide kirjeldamiseks peaks kasutama UML-i (Unified Modeling Language ). Juba arhitektuuri etapil peaks püüdma määratleda need tarkvaraosad, kus kõige tõenäolisemalt võib edaspidi osutuda vajalikuks muudatuste sisseviimine (põhjustatuna näiteks muudatustest arendatava tarkvaraga seotud tarkvaras), aga samuti tarkvarakomponendid, mis ostetakse/tellitakse väljastpoolt, mis võetakse kasutusele varemarendatud tarkvarast ja mis arendatakse uuena. Viimati nimetatud komponentide oskusliku kombineerimise tulemusena võib tarkvara arendamise aega ja selleks kuluvaid ressursse oluliselt vähendada.
    Arhitektuuri faasis peab käsitlema ka tervet rida tarkvara funktsionaalsusega seotud küsimusi, nagu näiteks:
    • Kas ja millise muu tarkvaraga ning millise protokolliga ja andmetega peab loodav tarkvara suhtlema ,
    • Mil määral on kasutajaliides seotud tarkvara muude osadega,
    • Milline on kasutatavate andmebaaside struktuur ja sisu,
    • Kuidas salvestatakse muud (st andmebaasidevälised) andmed,
    • Milliseid põhialgoritme kasutatakse,
    • Kuidas korraldatakse mäluhaldus,
    • Kuidas on lahendatud paralleelprotsessid ja mitmekasutaja võrguopeatsioonid,
    • Turvaprobleemide lahendamise põhimõtted,
    • Tarkvara adapteeritavus teistesse keeltesse, aga samuti teistele platvormidele,
    • Kuivõrd avatud täiendavate funktsioonide realiseerimiseks ja dünaamiline on loodav tarkvara,
    • Vigade käitlemise kooskõlalised põhimõtted.
    Arhitektuuri käsitlev dokument peab ka selgitama, kuidas arhitektuur on kooskõlas projekti etappidega ning sellesse tuleb kõik projekti täitmise käigus tehtud muudatused sisse viia. Arhitektuuri juures ei saa taotleda maksimaalset, vastasel korral ei jõuta projekti realiseerimisega lõpule või kui jõutaksegi, on see juba lootusetult vananenud. Nii arhitektuuri kui ka teistes (eelkõige realisatsiooni) faasides peab püüdma lihtsuse poole: suure hulga programmide ebaõnnestumine on tingitud just seetõttu, et on muutunud keerulisteks ja ebaülevaatlikuks.
    Arhitektuuri kavandamisel peab arvestama töömahu ja programmimahu sõltuvusega: kui näiteks 25 000-realise programmi loomine nõuab keskmiselt 20 inimkuud, siis 75 000-realise juba keskmiselt 140 inimkuud (suhteline kasv rohkem kui 2 korda).
    Väikesemahuliste projektide korral arhitektuuri ja disaini ei eristata. Tööd arhitektuuri alal on otstarbekas alustada, kui nõuete väljatöötamisest on täidetud ligikaudu 80%. Sellel etapil peab selgelt sõnastama ka tarkvarastruktuuri kujundamise üldised eesmärgid, näiteks kuivõrd peab arendatav tarkvara olema modifitseeritav.
    Lisaks on sageli ots­tarbekas vaadelda ka arhitektuuri teatud vaateid, mis hõlmavad vaid arhitektuuri teatud elemente. Vaateid võib kujutada näiteks disaini-faasis koostatud UML-mudelite teatud abstraktsioonide või osahulkade abil.
    Kõige sagedamini vaadeldakse järgmiseid vaateid (vt. Näiteks http://www.rational.com/media/whitepapers/Pbk4p1.pdf ):
    • Disaini vaade (loogiline vaade), mis kirjeldab disaini mudeli arhitektuurselt olulisi struktuure ja funktsioone. Lähtutakse eelkõige kasutajast.
    • Protsessi vaade, mis kirjeldab ülejäänud kolme vaate vahelisi seoseid . Aluseks on mittefunktsionaalsed nõuded (jõudlus, tarkvara integreeritus, veakindlus jne), kusjuures protsessina käsitletakse mingit terviklikku täidetavat üksust. Võib esitada erineval abstraktsioonitasemel.
    • Komponentide vaade, mis kirjeldab tarkvaramoodulite struktuuri,
    • Evitamise vaade (füüsiline vaade), mis kirjeldab tarkvara evitamisega/rakendamisega seotud füüsiliste elementide ( arvutid , võrgud, lisaseadmed jne) ja tarkvara koostööd .

    Eelpoolviidatud aadressil lähtutakse vaadete 4+1-mudelist, kus loetletud neljale on lisandunud nn stsenaariumite (scenarios) vaade. Kasutusmall on süsteemi osa funktsioonide kirjeldus kasutaja terminates, stsenaariumid aga kasutusmallide (use cases ) elemendid (mis ei pruugi olla kirja pandud kasutaja terminates).
  • Tarkvara väljastamine


    Tarkvara väljastamiseks valmisolek peaks saavutatama iga etapi lõpus, see välistab vigade ja mittekavandatud töö kuhjumise. Üldiselt võib protsessi pidada väga efektiivseks, kui 95% vigu kõrvaldatakse nende tekkimise faasis. Tarkvara väljastamiseks valmisoleku üle otsustamiseks on kasutatavad mitme tehnikad.
    Vigade loendamine. Vead võib nende olulisuse järgi jagada kolme kategooriasse: kriitilised, olulised, kosmeetilised. Hinnates vigade kõrvaldamise keskmist aega, saab leida summaarse vigade kõrvaldamiseks kuluva aja. Lihtsaim programmi valmisoleku otsustamise viis on vigade tiheduse järgi (st keskmine vigade arv koodirea kohta). Kui varasemate kogemuste järgi kõigub vigade arv 1000 koodirea kohta vahemikus 7…9, siis 50 000 uue koodirea puhul vaid 250 vea fikseerimine viitab sellele, et tarkvara ei ole väljastamiseks küps.
    Vigade arvu ennustamine kahe testirühma kasutamisega. Kui avastatud vigade arv on vastavalt N ja M, kusjuures mõlema rühma poolt avastatud samade vigade arv on L, siis vigade koguarvu hinnanguks on N*M/L. Kahe testirühma kasutamine on kulukas , mistõttu seda tehnikat kasutatakse eelkõige tarkvara puhul, kus vähene vigade arv on eluliselt oluline.
    Tõenäosusmeetod. Genereeritakse teatud arv vigu, mille avastamise sageduse järgi hinnatakse vigade koguarv : kui tekitati M viga, millest N avastatud vea hulgas oli L, siis vigade tõenäosuslik koguarv on N*M/L. Genereeritud vead peavad olema teatud mõttes representatiivsed; samuti ei tohi unustada sisestatud vigade hilisemat parandamist.
    Otsus tarkvara väljastamise kohta peaks tuginema mitmele indikaatorile. Samuti on oluline kasutada väljastamise kontroll-lehte, kus on loetletud kõik väljastamisega seotud tegevused; viimane võib koosneda mõnest kuni mõnesaja (näiteks MS Windows korral) punktini. Vabamüüki mineva tarkvara korral võiks see olla näiteks järgmine (sulgudes vastutav isik):
    • Täienda versiooni kohta käiv info (arendaja)
    • Eemalda testimisega seotud informatsioon programmikoodist (arendaja)
    • Eemalda isegenereeritud vead (arendaja)
    • Kontrolli kõikide registreeritud vigade eemaldatust (testija)
    • Installeeri programm CD-lt (testija) tühjale arvutile
    • Installeeri programm Interneti veebilehelt (testija) tühjale arvutile
    • Installeeri programm CD-lt arvutisse, kus on olemas programmi varasem versioon (testija)
    • Kontrolli, et installeerimisprogramm loob korrektsed Windows- registrid (testija)
    • Installeeri programm arvutilt maha (testija)
    • Fikseeri distributsioonifailide nimekiri (väljastusrühm)
    • Sünkroniseeri kuupäev ja kellaaeg kõikidel väljastusfailidel (väljastusrühm)
    • Valmista lõplik programmiplaat (väljastusrühm)
    • Kontrolli, et kõik failid oleksid programmiplaadil olemas (väljastusrühm)
    • Teosta viiruskontroll (väljastusrühm)
    • Teosta halbade sektorite kontroll (väljastusrühm)
    • Loo varukoopia ja rakenda loodud tarkvarale muudatuste juhtimise skeemi (väljastusrühm)
    • Kontrolli readme.txt faili versiooni loodud plaadil (dokumentatsioonirühm)
    • Kontrolli abiinfofailide versiooni loodud plaadil (dokumentatsioonirühm)
    • Kontrolli copyrighti, litsentsi ja muu õigusalaseid materjale (projektijuht, õigusnõunik).
    Enne tarkvara väljastamist peaksid kõikide oluliste lõikude juhid alla kirjutama ühisele protokollile, millega nad tõendavad tarkvara väljastamiseks valmisolekut.
    Peale projekti lõppu peaks koostama projekti ajaloo. Viimane tugineb eelkõige projekti log’idel ning projektimeeskonna seisukohtadel, sisaldades seega nii kvantitatiivset kui kvalitatiivset informatsiooni (vt näidet lisas). Projekti ajaloodokument tuleks läbi arutada projektimeeskonna ühisnõupidamisel, eesmärgiga saada võimalikult suurt kasu järgnevte projektide jaoks. Seega peab jälgima, et lõplik projekti ajaloodokument oleks lihtsalt loetav , kõikidele kättesaadav ja arvesse võetud järgnevate projektide kavandamisel. Projektimeeskonna seisukohad võib saada teada ka spetsiaalsete küsimustike abil, kus erinevaid aspekte hinnatakse näiteks 5-palli süsteemis.
  • Tarkvaraprojekti maksumus


    Tarkvaraprojekti mudelite edasiarendamisel on oluline teada, millest ja kuidas sõltub tarkvara arendamise maksumus. Suur osa kasutatavatest mudelitest on esitatavad järgmise üldkujuga (parameetrite tähtsuse kahanemise järjekorras):
    Töökulu = (MahtProtsess )(Personal)(Keskkond)(Kvaliteet), kus
    • Maht: sõltub kas loodava lähtekoodi suurusest või funktsioonide arvust,
    • Protsess: võime hoiduda mittetootlikust tegevusest (ümbertegemine, bürokraatia jne) ja optimeerida toetavat tegevust (protsessi monitoorimine, riskianalüüs, finantsanalüüs, kvaliteedikontroll, testimine, täienduskoolitus, haldustegevus jne),
    • Personal: arendajate pädevus, sh kogemused sarnaste projektide täitmisel,
    • Keskkond: tarkvaraarendusvahendite ning kasutatavate tehnoloogiate ja tehnikate tase,
    • Kvaliteet: arendatava tarkvara kvaliteet (jõudlus, töökindlus, kohandatavus jne).

    Kuna Protsess > 1, siis mida mahukam on programm, seda suurem on maksumus keskmiselt ühe ühiku kohta (näiteks 10 korda suurem programm on ühiku kohta reeglina vähemalt 1,5 korda kallim).
    Ülalolev valem hõlmab vaid arendajate poolt loodavat ning ei arvesta näiteks valmiskomponentide kasutamist ja koodi automaatset genereeri­mist. Valemi adekvaatne rakendamine on suhteliselt keeruline, kuna erinevad elemendid on omavahel keerulises sõltuvuses: näiteks uute tarkvaraarendusvahendite ja tehnoloogiate efektiivne kasutamine toob kaasa ka programmi mahu vähenemise.
    Momendil on kasutuses umbes 50 erinevat tarkvara kuluarvutusvahendit, tuntumateks COCOMO, CHECKPOINT, ESTIMACS, knowledgePlan, Price -S, ProQMS, SEER, SLIM, SOFTCOST, SPQR/20. Kuluarvestusele on pühendatud ka veebilehti (vt näiteks www.jsc.nasa.gov/bu2).
    Mudeli valikul ja rakendamisel peab arvestama terve rea asjaoludega:
    • Kuigi koodiridade arv on mahu mõõduna lihtne, tervel real juhtudel ei ole see adekvaatne, eriti objekt-orinteeritud programmeerimise korral; funktsioonide arvu kasutamise eeliseks on selle sõltumatus kasutatavatest tehnoloogiatest. Loodud on isegi vastav ühendus (The International Function Point User Group). Üldiselt on funktsioonide arvule tuginemine adekvaatsem projekti algusfaasis, koodiridadele tuginemine aga projekti edasistes faasides. Eritüübiliste mudelite vahelise ülemineku hõlbustamiseks on erinevate keelte jaoks leitud keskmised arvestuslikud koodiridade arvud, mis on vajalik ühe funktsiooni realiseerimiseks (funktsioonidena vaadeldakse kasutaja sisendit , väljundit, väliseid andmeliideseid, päringuid jne): assembler – 320, C – 128, C++ – 56, Java – 55, Visual Basic – 35 jne.
    • Kulude mudelid aitavad kaasa riskide analüüsile ning võimaldavad ligikaudselt kavandada projekti, kui selle maksumus on ette antud (muutes vastavaid parameetreid, kuni kulud etteantud piiridesse mahub).
    • Kulude hinnang saab tugineda eelkõige senise praktika kompetentsele analüüsile, mistõttu seda ei saa heal tasemel teha projekti- või asutuseväliste inimeste poolt: kindlasti peab kaasama projektijuhi ja põhiliste lõikude juhid.
    • Kulude hinnang peab olema piisavalt detailne, võimaldamaks aru saada põhilistest riskidest ja edu tõenäolisusest.
    Lähtuvalt ülaltoodud valemist on töökulu vähendamiseks järgmised põhilised võimalused:
    Mahu vähendamiseks:
    • Korduvkasutus, seda nii arhitektuuri, protsessi, arenduskeskkonna kui tarkvarakomponentide osas. Kui korduvkasutus on alla kümne, siis komponendi arendamise kulu on kasutusarvust ligikaudu logaritmilises sõltuvuses (näiteks 2 kasu­tuse korral suureneb kulu keskmiselt 50% võrra ja 5 kasutuse korral 125% võrra).
    • Objekt-orienteeritud tehnoloogia (sealhulgas UML) kasutamine võimaldab paremini visualiseerida arendatavat tarkvara ning keskenduda arendamist vajavale, suurendades arendatava probleemi mõistmist ja erinevate osapoolte (sh lõppkasutajate) võimet tarkvaraarenduse protsessis osaleda ja koostööd teha.
    • Koodi automaatne genereerimine ( CASE vahendid, visuaalse modelleerimise vahendid, graafiliste kasutajaliideste loomise vahendid) ja muude kommertskomponentide kasutamine.
    • Kõrgtaseme programmeerimiskeelte kasutamine, tulenevalt suhteliselt väikesest koodiridade arvust.

    Esimese kolme meetodi rakendamine võib vähendada (näiteks C++ kasutamisel ) omaloodud koodiridade arvu 2-3 korda, mis omakorda suurendab programmist arusaamist ja töökindlust.
    Protsessi osas eristatakse kolme tasandit :
    • Metatasand ehk organisatsiooni tasand, mis hõlmab organisatsiooni pikaajalisi strateegiaid, investeeringute tootlust ja kogu organisatsiooni hõlmavaid regulatsioone. Põhiprobleemid: bürokraatia ja standardiseerimine .
    • Makrotasand ehk projekti tasand, mis seisneb metatasandi rakendamises konkreetse projekti kontekstis; hõlmab pro­jektiga seoduvat poliitikat, protseduure ja praktikat, eesmärgiga konkreetsete ajaliste ja materiaalsete vahendite juures toota nõuetele vastav tarkvaratoode. Põhiprobleemid: kvaliteet ja kulude optimeerimine .
    • Mikrotasand ehk projektirühma tasand, hõlmates vaheesmärgi saavutamiseks vajalikku poliitikat, protseduure ja praktikat. Põhiprobleemid: sisu ja ajagraafik.

    Protsess võib oluliselt vähendada eesmärgi saavutamiseks vajalikku tööjõukulu. Näiteks n-sammulise protsessi korral võib püüda suurendada iga sammu efektiivsust , aga võib ka mõne sammu elimineerida või kavandada sammude paral­leelset täitmist.
    Üldiseks eesmärgiks on suurendada ressursipaigutust tootlikuks tegevuseks ja vähendada toetava tegevuse nõudlust tootlikuks tegevuseks vajaliku ressursi järele. Koolitus on eelkõige organisatsiooni, mitte projekti ülesanne, mistõttu projekti täitmisse on soovitatav kaasata piisavalt koolitatud inimesed.
    Personali efektiivsuse tõstmisel on oluline, et see kataks vajadused ja oleks tasakaalustatud (nagu jalgpallimeeskond). Eriline roll on seejuures projektijuhil: korralikult juhitud projekt on isegi keskpärase meeskonna puhul reeglina edukas, samas kui halvasti juhitud projekt on isegi suurepärase meeskona puhul reeglina ebaedukas. Võtmepositsioonidel olevad inime­sed peavad piisavalt olema kolleegide poolt toetatud: vaid ambitsioonikatest juhtidest koosnev meeskond on meeskonna­töö seisukohalt äärmiselt riskantne. Kogemusteta algajate ja kogemustega ekspertide kasutamisel on tootlikkusel kesk­mi­selt neljakordne vahe.
    Personali osas võib välja tuua järgmised põhimõtted:
    • Kasuta vähem ja paremaid inimesi,
    • Kohanda ülesanded inimeste võimete ja motivatsiooni järgi (tippdisaineri “edutamine” projektijuhiks võib lõppeda katastroofiga),
    • Inimesi peab aitama saavutada eneseteostust,
    • Vali üksteist täiendavad ja omavahel harmoneeruvad inimesed.

    Eraldi võiks välja tuua tarkvaraprojektide juhtide olulisemad omadused:
    • Oskus värvata sobivaid inimesi,
    • Oskus suhelda tarbijaga, oskus vältida erinevate osapoolte vahelisi ebasõbralikke suhteid,
    • Otsustusvõime,
    • Meeskonna kujundamise oskused, usalduse loomine, ühisseisukohtade kujundamine, saavutuse motiveerimine , ebaõnnestumiste parandamine jne,
    • Oskus “müüa” kõikidele osapooltele oma seisukohti, otsuseid, prioriteete, staatuse muutust jne.

    Keskkond hõlmab kavandamise vahendeid, nõuete haldamise vahendeid, visuaalse modelleerimise vahendeid, programmeeri­ mise vahendeid, kompilaatoreid, redaktoreid, muudatuste haldamise ja kvaliteedikindlustamise analüüsi vahendeid, testimise vahendeid, kasutajaliideseid. Olulisim on konfiguratsiooni haldamise keskkonna kasutamine. Eesmärgiks on käsitsitöö maksimaalne automatiseerimine; Kõikvõimalike vahendite otstarbekas kasutamine võib anda kokku kuni 40%, iga üksiku vahendi kasutamine aga kuni 5% kokkuhoidu (kuigi nimetatud vahendite reklaam lubab enamasti palju suuremat kokkuhoidu).
    Kvaliteedi parandamise põhilisteks teedeks on:
    • Olulisematele nõuetele keskendumine juba projekti elutsükli varases faasis, nõuete täielikkuse tagamine projekti hilisemates faasides,
    • Projekti edenemist ja kvaliteeti mõõtvate indikaatorite ja meetrikate kasutamine,
    • Integreeritud kogu elutsüklit hõlmavate keskkondade kasutamine, mis toetaks konfiguratsiooni kujundamist, muudatuste juhtimist, disainimeetodeid, dokumendiloomet ja testimise automatiseerimist,
    • Visuaalse modelleerimise ja kõrgtaseme keelte kasutamine, mis toetaks arhitektuuri kujundamist, programmeerimist, korduvkasutust ja dokumenteerimist; oluline on, et informatsiooni ülekandmine järgnevatesse faasidesse oleks adekvaatne,
    • Demode-põhise hindamise alusel varane ja pidev ülevaade arendatava tarkvara tasemest.

    Teatud rolli võivad omada ka töökontrollid (eriti noorte töö ülevaatus kogenud ekspertide poolt); see on ka teatud koolitamise vormiks, halva praktika väljajuurimise ja ühise töökultuuri kujundamise viisiks. Üleüldine kontroll on liiga kulukas, mistõttu peaks fokuseerima tähelepanu kriitilistele lõikudele (üldise kontrolli rakendamisel on see pealiskaudne ning üldreeglina ei avasta olulisi sisulisi vigu, vaid piirduvad stiili ja semantika - alaste märkustega).
  • Vasakule Paremale
    Tarkvaraprojekti esijalgne kavandamine #1 Tarkvaraprojekti esijalgne kavandamine #2 Tarkvaraprojekti esijalgne kavandamine #3 Tarkvaraprojekti esijalgne kavandamine #4 Tarkvaraprojekti esijalgne kavandamine #5 Tarkvaraprojekti esijalgne kavandamine #6 Tarkvaraprojekti esijalgne kavandamine #7 Tarkvaraprojekti esijalgne kavandamine #8 Tarkvaraprojekti esijalgne kavandamine #9 Tarkvaraprojekti esijalgne kavandamine #10 Tarkvaraprojekti esijalgne kavandamine #11 Tarkvaraprojekti esijalgne kavandamine #12
    Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
    Leheküljed ~ 12 lehte Lehekülgede arv dokumendis
    Aeg2008-11-26 Kuupäev, millal dokument üles laeti
    Allalaadimisi 114 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor LyAnn Õppematerjali autor

    Kasutatud allikad

    Sarnased õppematerjalid

    Tarkvara kvaliteet ja standardid
    21
    docx

    Tarkvara kvaliteet ja standardid

    1. Tarkvaratoode ­ mis siia kuulub? Tarkvara arenduse tulem (toode, teenus) hõlmab mitmesuguseid komponente, mis kõik võivad olla kvaliteedihalduse objektid, näiteks arenduse käigus hangitud infotehnoloogiavahendid: riistvara, standardtarkvara, sideseadmed arenduse käigus tehtud töö: täitja arendatud tarkvara (sealhulgas lähtekood, objektkood, täitmiskood jm); installatsioonid, kohandamised, muudatused; andmehõive muudatused tellija organisatsioonis, protsessides, töökorralduses... projektdokumentatsioon kasutamise kohta (kasutajajuhendid); objektsüsteemi kohta; loodavate objektide kohta (programmi/testimise dokumentatsioon); installeerimise ja seadistamise kohta; arenduse (sh testimise) kohta metoodika: tulemuste kasutamine; tulemuste edasiarendamine; uute arenduste tegemine

    Tarkvara kvaliteet ja standardid
    Tarkvara testimist käsitlev juhendmaterjal
    27
    doc

    Tarkvara testimist käsitlev juhendmaterjal

    Tarkvara testimist käsitlev juhendmaterjal Tarkvara testimine Testimise parimad praktikad Nõudmiste määratlemine Maili Markvardt ASA Quality Services OÜ Tallinn 2006 Sisukord 1 Lugejaskond ja käsitlusala.......................................................................................3 2 Kasutatavad mõisted.................................................................................................3 3 Sissejuhatus testimisse..............................

    Informaatika
    Tarkvaratehnika 2016 2017 eksami materjal
    138
    docx

    Tarkvaratehnika 2016/2017 eksami materjal

    Tarkvaratehnika: Loeng 1:  Taust: o Tarkvara iseloom o Kõrgenenud nõudmised:  Suuremad süsteemid  Keerulisemad süsteemid  Kiiremini  Erinevad näited vigadest mis on tehtud: o Ariane Crash 1996 kosmosesüstiku alla kukkumine, tuli välja et selle alla kukkumise põhjuseks oli tarkvarasüsteemis viga ilmus trajektoori osas. o Therac-25 kiiritusravi andmises tehti viga kasutaja liideses, kus

    Tarkvaratehnika
    Tarkvaratehnika konspekt ja kordamisküsumused 2016-2017
    24
    docx

    Tarkvaratehnika konspekt ja kordamisküsumused 2016-2017

    6. Kuidas liigitada nõudeid? eksam 7. Nõude 3 põhiomadust. 8. Nõuete valideerimise tehnikad. 9. Komponentidel põhinev arhitektuur 10.Kihiline arhitektuur eksam 11.Objektorienteeritud arhitektuur 12.Teenusorienteeritud arhitektuur 13.Lihtsa koodi disaini 4 elementi 14.Miks peab nõudeid haldama? 15.Milleks kasutatakse versioonihaldust? eksam 16.Funktsionaalne nõue eksam 17.Mittefunktionaalne nõue eksam 18.Tarkvara elutsükkel 19.Millest koosneb tarkvara? 20.Mis on testimine? 21.Staatiline testimine eksam 22.Dünaamiline testimine eksam 23.Valge kasti testimine 24.Musta kasti testimine 25.Testimise tasemed 26.Re-testmine ja regressioonitestimine 27.eXtreme programmingu alustalad 28.Kirjelda lühidalt XP-d 29.Mis on mudel? eksam 30.Mis on UML? Miks on seda vaja? 31.Tarkvaratehnika 3 vaadet. 32.Tarkvara protsessi etapid. 33.Tabel disaini ja analüüsi abstraktsioonitasemete kohta 34

    Tarkvaratehnika
    Tarkvaratehnika konspekt eksamiks
    62
    pdf

    Tarkvaratehnika konspekt eksamiks

    Keeruline ohjas hoida, kipub käest ära minema. Teenused on väiksemad. Teenused komponentide vahel ,mitte erinevate rakenduste vahel. Tuli koos pilvede teenustega. Pilvedes tarkvara on iseseisev ja reeglina tehtud nii, et ta oleks skaleeritav. Kasud: o Sama mis teenusorienteeritud arhitektuuril, o Lihtsalt skaleeritav, o Tehnoloogiste valikute muutmise osas vabam. Arhitektuuri kavandamine Kuidas valida arhitektuuri? Mõelda, • kuidas kasutajad kasutavad süsteemi (nt. online või offline, nendel on erinevad nõuded), • kuidas süsteemi paigaldada (automated deployement. Automatiseerimine: tasub alati korduvad tegevused anda masina kätte), • millised on mittefunktsionaalsed nõuded (turvalisus, jõudlus, paralleelsus, multikeelsus, konfiguratsioon), • kuidas saavutada paindlikus ja hallatavus läbi aja,

    Tarkvaratehnika
    Süsteemiarenduse elutsükkel
    42
    docx

    Süsteemiarenduse elutsükkel

    ...............................................................21 2 1. Elutsükli üldised mudelid Süsteemiarenduse elutsükli mudel on arendusprotsessi üldistatud (abstraktne) kirjeldus. See on protsessi kirjeldus teatud vaatenurgast lähtudes. Protsessimudelite kirjeldustes räägitakse tavaliselt tegevustest nagu andmemudeli kavandamine, kasutajaliidese disain jne, kuid nad võivad sisaldada ka dokumentatsiooni ja rollide kirjeldusi. Protsessimudelites võib kohata kahte põhimõttelist lähenemist. Tugev planeerimine. See vanem lähenemine seisneb tegevuste ja tarkvara põhjalikus planeerimises ja järgnevas kindlalt plaani järgivas arenduses. Arendustegevuse progressi mõõdetakse sama plaani abil. Agiilne ehk paindlik arendus, kus planeerimine toimub osade kaupa (inkrementaalselt)

    Tarkvaratehnika
    Sissejuhatus Reaalajatarkvaratehnikasse
    9
    doc

    Sissejuhatus Reaalajatarkvaratehnikass e

    1. Mille poolest erinevad süsteemitehnika ja tarkvaratehnika? Sarnasused? Tarkvaratehnika on süsteemitehnika konkretiseering tarkvaratoodete tegemise valdkonda. Tarkvaratehnika on tugevalt seotud arvutiteadusega., erinev on suhtumine reaalsesse maailma. Tarkvaratehnika tunneb rohkem huvi tarkvara loomise protsessi administratiivsele ja tehnilise korraldamisele ning juhtimisele. Tarkvaratehnika peab ideaalis oluliseks, et töötluseks kasutatav lähteinfo vastaks võimalikult täpselt tegelikkusele. Tarkvaratehnika toode valideeritakse näidates tema vastavust reaalse maailma vajadustele. Tarkvaraprojekti lähteülesanne tuleneb vahetult süsteemile esitavatest nõuetest, lahendus sõltub oluliselt kogu

    Sissejuhatus reaalajatarkvaratehnikasse
    Tarkvaratehnika kordamisküsimused
    210
    pdf

    Tarkvaratehnika kordamisküsimused

    TARKVARATEHNIKA KORDAMISKÜSIMUSED     1. Mis on tarkvaratehnika?  Software engineering    ! ​“Engineers Australia” definitsioon: ​ Tarkvaratehnika ​on tiimide poolt rakendatav distsipliin  tootmaks kõrgekvaliteedilist, suuremastaabilist ja hinnaefektiivset tarkvara mis rahuldab  kasutajate nõudmisi ja mida saab hooldada teatud ajaperioodi vältel.    IEEE definitsioon: Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava  lähehemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele, see  tähendab, inseneriteaduste rakendamine tarkvarale.     Tarkvaraarendus ​ on nõrgem termin, kus tingimata ei kasutata protsesse, tööriistu,  standardeid, jne. Tarkvaraarendus on progemine + konfigursatsiooni haldus.    Tarkvaratehnika ei ole ainult programmi kirjutamine, vaid teemad hõlmavad ka kvaliteeti,  ajakavasid,

    Tarkvaratehnika




    Kommentaarid (0)

    Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



    Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun