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. 1.5. 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)
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 süsteemile ja süsteemi arendamisele seatud kitsendustest ning konkreetsetest nõuetest. Süsteemitehnika on tehnokäsitluse rakendamine süsteemide projekteerimiseks ja loomiseks. 2. Mida tuleb silmas pidada süsteemi tükeldamisel alamsüsteemideks? Süsteem on kogum omavahel ühendatud, interaktsioonis olevaid alamsüsteeme. Süsteemi
3. Kes on pildil kujutatud daam (vihje: temast on/oli juttu avaloengus) ja millise auastmeni ta jõudis? Grace Hopper, Rear Admiral. 4. Ta oli geniaalne matemaatik, kes andis oma panuse ka Teise maailmasõja võidusse. Temanimeline test on tänini kasutusel. Samas oli ta veidrik ning ühiskonna poolt võõristatu - süüdistused homoseksuaalsuses viisid väidetavalt ka tema enneaegse surmani. Kellest on jutt? Alan Turing 5. 1996. aastal alustas rühm vaba tarkvara entusiaste tarkvaraprojekti, mida võiks tinglikult iseloomustada kui "avatud lähtekoodiga Windowsi kloon". Projekt toimetab vaikselt tänaseni. Mis nime see kannab? ReactOS 6. Mis asi on spam veel - peale rämpsposti? Sealihakonserv, Monty Pythoni sketšid, muuseum Minnesotas. 7. Ühe maailma tuntuima tehisintellektiuurija kohta räägitakse järgmist lugu: 60-ndatel ehitanud tema juhitav meeskond roboti, mis suutnud "näha" lauatennisepalli ja seda reketiga lüüa
80. Millistel juhtudel on tarkvaralahenduse rent mõistlik valik? - Vabavara, arenduse tellimine väliselt osapoolelt, arendamine maja sees. 81. Mis on tarkvaraprojektis eelanalüüsi tulem? Kellele on saadud tulem sisendiks? - 82. Mis on tarkvaraprojektis süsteemianalüüsi tulem? Kellele on saadud tulem sisendiks? - 83 . Mis on tarkvaraprojektis süsteemi disaini tulem? Kellele on saadud tulem sisendiks? - Tulem: süsteemi tehniline spetsifikatsioon. 84 . Millised võimalused on tarkvaraprojekti lõpus vanalt süsteemilt uuele üleminekuks? - Kohene ja terviklik. Kindlal ajahetkel vana süsteemi sulgemine ja uue kasutuselevõtt. Ajaliselt kõige vähem kulukas, kõige riskantsem. 85. Milliste kriteeriumite alusel hinnata välise arendaja valikul võimalikke pakkujaid? - Pakkuja omadused, süsteemi funktsionaalsed nõuded, tehnilised nõuded, dokumentatsiooni maht ja kvaliteet, pakkujapoolne tugi. 86. Kuidas teha välise arendaja valikul kõigi pakkujate hulgast lõplik valik? -
83. Mis on tarkvaraprojektis süsteemi disaini tulem? Kellele on saadud tulem sisendiks? Kirjeldab, kuidas süsteem lahendab ärilise probleemi. Tulem: süsteemi tehniline spetsifikatsioon: *Sisendid, väljundid, kasutajaliides *Riistvara, tarkvara, andmebaasid, liidesed, kasutajad, toimingud *Plaan, kuidas kõik kirjeldatud komponendid koos toimivad Üldjuhul külmutatakse pärast kinnitamist skoobi hoidmiseks. 84. Millised võimalused on tarkvaraprojekti lõpus vanalt süsteemilt uuele üleminekuks? Vanalt süsteemilt uuele üleminek juurutamine: *kohene ja terviklik kindlal ajahetkel vana süsteemi sulgemine ja uue kasutuselevõtt; ajaliselt kõige vähem kulukas, kõige riskantsem. *piloteerimine juurutamine ühes osakonnas või valdkonnas; hindamine ja seejärel laiem juurutamine. *alamosade kaupa üks moodul/funktsionaalsuste komplekt korraga. *uue ja vana süsteemi paralleelne kasutamine. 85
Grundschutzhandbuch / ISKE/ ISO 27000 seeria sisu ja omavaheline võrdlus. Standard (EVS-)ISO/IEC 12207 võib olla aluseks ettevõtte tarkvaraprotsesside haldusele. Oluline on teada, et ISO/IEC 12207 ei kirjuta ette konkreetset elutsükli mudelit ega tarkvara arendusmeetodit. Standardiga sobivad väga mitmesugused elutsükli mudelid, sealhulgas agiilsed. Standardit järgivate huvipoolte hooleks jääb elutsükli mudeli valimine tarkvaraprojekti tarbeks ning standardi protsesside, tegevuste ja tööde peegeldamine selles mudelis. CMMI Sisu: · sisaldab mitut mudelit (hange, arendus, teenused, inimesed) · laiendab ja kombineerib eelnevaid mudeleid - the Capability Maturity Model for Software (SW-CMM), the Systems Engineering Capability Model and the Integrated Product Development Capability Maturity Model. · tarkvara arenduse, hoolduse ja muude protsesside head tavad · enesehindamine, võrdlus teistega
kasutamise näiteks patentide ja kopeerimisõiguste näol. 4. Arvuti väärkasutus Tarkvarainsener ei tohi kasutada oma tehnilisi oskusi teiste inimeste arvutite väärkasutamiseks. 2. loeng - Tarkvarasüsteemi elutsükkel ja arendusprotsess ,,No silver bullet" Ükski tehnoloogia või praktika ei too kaasa võitu üle 10x arendusajas,-rahas või funktsionaalsuses Tarkvaraprobleemi lahendamine varajastes disainietappides on 100 korda odavam kui hilisemates. Tarkvaraprojekti ajagraafikut saab tihendada maksimaalselt 25% võrra. Hooldus on 2x kallim kui arendus. Inimestevahelised erinevused on kõige suurem produktiivsuse mõjutaja. Tarkvara maksab rohkem kui riistvara. 15% tarkvara arendamisest on programmeerimine, ülejäänu on toetav, abistav ja korraldav töö. Tarkvarasüsteemi koodirida maksab 3x rohkem kui üksiku programmi koodirida. ,,Diseconomy of scale". 60% tarkvara vigadest on leitavad inimliku läbivaatuse korras.
Tarkvaratehnika vaated: • Omaniku vaade (Motivation layer), • Kavandaja vaade (System design layer), • Ehitaja vaade (Deployment layer). Tarkvaraprotsessi etapid: 1. Nõuete esiletoomine ja analüüs, 2. Kavandamine e. disain (Arhitektuuriline kavandamine, Detailne kavandamine), 3. Realiseerimine, 4. Testimine, 5. Hooldus ja evolutsioon. Tarkvaraprojekti jaoks vajalikud osad: inimesed, nõuded, vahendid, testid-mockid. Süsteem Tarkvaratehnika ei ole isoleeritud distsipliin vaid osa laiemast süsteemitehnikast. Tarkvarasüsteemid ei ole isoleeritud süsteemid vaid sotsiaalsete süsteemide osad – sotsiotehniline süsteem. Süsteem on üksteisega ühendatud olemite või komponentide hulk, mis moodustavad keerulise terviku või täidavad koos keerulist funktsiooni. Süsteem võib sisaldada tarkvara, mehhaanilist, elektrilist ja
tegevus seisneb peamiselt “tulekahjude kustutamises”. Kuna tähtaegadest ei suudeta kinni pidada, on meeskonnal vaja pidevalt sooritada töökangelastegusid. Ka (juhuslikult) õnnestunud projekti kordamiseks peaks meeskond ja selle liikmete rolled samad olema. Seega, 1se taseme puhul võime küll rääkida üksikisikute võimekusest ja küpsusest, mitte aga organisatsiooni küpsusest. 2.tase – Repeatable – korratav. Sellel tasemel on määratletud tarkvaraprojekti juhtimise poliitikad ja nende poliitikate elluviimise protseduurid määratletud. Uute projektide plaanimine ja juhtimine toetub kogemustele analoogsete projektidega. Protsessid on praktikas läbiproovitud, dokumenteeritud, kohustuslikud, on läbi viidud opposed ja treeningud. On loodud tingimused protsesside edasiseks täiustamiseks. Paneme tähele, et tunduvalt on vähenenud sõltuvus üksikisikust, mis tõsisemate ettevõtmiste korral (nt. finantsinstitutsioonid) on turvalisuse