Tänased tunnid olid tarkvara arendusprotsess Võinoga ja Veebirakenduste alused Airega.
Väino tunnis täpsustamine enda kasutuslugu. Aire tunnis tegime ülesandeid internetis oleva ÕSi ja EKSSi abil.
Mida õppisin: Mingisuguseid eesti keele sõnu, mida ma arvan et mul pole vaja.
esmaspäev, 30. jaanuar 2017
reede, 27. jaanuar 2017
Reede 27.01.2017
Tänased tunnid olid programmeerimine Markoga.
Tegelesime oma veebilehega õpperestoran Neljapäeva jaoks.
Tegelesime oma veebilehega õpperestoran Neljapäeva jaoks.
neljapäev, 26. jaanuar 2017
Neljapäev 26.01.2017
Tänased tunnid olid hajusrakenduste alused Ainiga.
Enne lõunat tegi iga õpilane lühikese esitluse ühest tarkvarametoodikaga seotud lühendist. Mina tegin RPC'st. Lõpus hakkasin natukene aru saama mida see tähendab. Peale lõunat tegime kasutusjuhendit. Kasutusjuhend oli sisselogimisprogrammi kohta, mille me tegime eelmina aasta ühes Aini tunnis.
Mida õppisin: Mida tähendab RPC.
Enne lõunat tegi iga õpilane lühikese esitluse ühest tarkvarametoodikaga seotud lühendist. Mina tegin RPC'st. Lõpus hakkasin natukene aru saama mida see tähendab. Peale lõunat tegime kasutusjuhendit. Kasutusjuhend oli sisselogimisprogrammi kohta, mille me tegime eelmina aasta ühes Aini tunnis.
Mida õppisin: Mida tähendab RPC.
kolmapäev, 25. jaanuar 2017
Kolmapäev 25.01.2017
Tänased tunnid olid tarkvara arendusprotsess Väinoga ja admebaasirakenduste arendaja Tatjana.
Cleanroom SE- "puhta toa" tarkvaraarendus
Luua tarkvara sertifitseeritud usaldustasemega
On üles ehitatud vigade vältimisele
Kesksed põhimõtted
1) Tarkvaraarendus põhineb formaalsel matemaatikal, mis sisaldab mudelite kontrolli ja protsessi algebrat, Petri-võrku
2) Statistiline kvaliteedi kontroll
3) Statistiliselt mõttekas kontroll
TSP- meeskonna tarkvaraprotsess
KLOC- kilorida koodi (1000 rida)
1) Plaanimise protsess
2) PSP- personal software process
3) Ajaraamistiku hindamine
4) Meeskonna töö planeerimine
CMMI- võimekuste küpsuse mudel
1) Level 1: Algne- protsess on ettearvamatu
2) Level 2: Hallatud- protsessi viiakse projektidena läbi
3) Level 3: Määratletud- protsess on proaktiivne, sekkutakse kui vaja
4) Level 4: Kvantitatiivselt hallatud- protsesse mõõdetakse ja juhitakse
5) Level 5: Optimeeritud- fookus on protsessi parendamisel
PSP ülesanded:
1) Paranda planeerimise, kavandamise ning hindamise oskust
2) Panusta meeskonnatöösse
3) Halda projektide kvaliteeti
4) Vähenda oma vigu
PSP
1) Skriptid
a) Suurus
b) Jõupingutus
c) Kvaliteet
d) Ajakava
2) Mõõtmised
3) Standardid
MSF aluspõhimõtted
1) Avatud suhtluse edendamine
2) Ühise nägemuse poole koos töötamine
3) Meeskonnaliikmete toeatamine
4) Jagatud vastutus
5) Äriväärtuse kliendile pakkumise vastutus
6) Oota muudatusi ning ole agiilne
7) Investeeri kvaliteeti
8) Õpi oma kõikidest kogemustest
9) Ole kliendile partner
PUP (Phases of unified process)
1) Inception(algatus)
2) Väljatöötamine (elaboration)
3) Construction (koodiuhamine)
4) Transition (väljalase)
UP (unified process) tegevust
1) Ärimodelleerimine (ärireeglid)
2) Nõuded (SRS)
3) Analüüs ja disain (SDD)
4) Implementation (kood)
5) Test (STD)
6) Deployment (skriptid)
7) Config. and change management (skriptid)
8) Projektihaldus (SPMD)
9) Keskkond (EUP)
Agule Unified Process (AUP)
Basic --- (BUP)
Enterprise --- (EUP)
Essential --- (EssUP)
Open --- (OpenUP)
Rational --- (RUP)
Oracle Unified Method (OUM)
Test-driven development
1) Lisa test
2) Tee kõik testid läbi ning vaata kas test põrus läbi
3) Kirjuta koodi
4) Jooksuta teste
5) Paranda koodi
ATDD (acceptance test-driven development) - klient testib rakendust
DDD (domain-dirven design)- domeenipõhine disain / keskkonnast lähtuv disain / tegevusvaldkonnast lähtuv disain
FDD - valdkonna parimad praktikad kõik koos
BDD - kasutab valdkonnapõhist arendust
Cleanroom SE- "puhta toa" tarkvaraarendus
Luua tarkvara sertifitseeritud usaldustasemega
On üles ehitatud vigade vältimisele
Kesksed põhimõtted
1) Tarkvaraarendus põhineb formaalsel matemaatikal, mis sisaldab mudelite kontrolli ja protsessi algebrat, Petri-võrku
2) Statistiline kvaliteedi kontroll
3) Statistiliselt mõttekas kontroll
TSP- meeskonna tarkvaraprotsess
KLOC- kilorida koodi (1000 rida)
1) Plaanimise protsess
2) PSP- personal software process
3) Ajaraamistiku hindamine
4) Meeskonna töö planeerimine
CMMI- võimekuste küpsuse mudel
1) Level 1: Algne- protsess on ettearvamatu
2) Level 2: Hallatud- protsessi viiakse projektidena läbi
3) Level 3: Määratletud- protsess on proaktiivne, sekkutakse kui vaja
4) Level 4: Kvantitatiivselt hallatud- protsesse mõõdetakse ja juhitakse
5) Level 5: Optimeeritud- fookus on protsessi parendamisel
PSP ülesanded:
1) Paranda planeerimise, kavandamise ning hindamise oskust
2) Panusta meeskonnatöösse
3) Halda projektide kvaliteeti
4) Vähenda oma vigu
PSP
1) Skriptid
a) Suurus
b) Jõupingutus
c) Kvaliteet
d) Ajakava
2) Mõõtmised
3) Standardid
MSF aluspõhimõtted
1) Avatud suhtluse edendamine
2) Ühise nägemuse poole koos töötamine
3) Meeskonnaliikmete toeatamine
4) Jagatud vastutus
5) Äriväärtuse kliendile pakkumise vastutus
6) Oota muudatusi ning ole agiilne
7) Investeeri kvaliteeti
8) Õpi oma kõikidest kogemustest
9) Ole kliendile partner
PUP (Phases of unified process)
1) Inception(algatus)
2) Väljatöötamine (elaboration)
3) Construction (koodiuhamine)
4) Transition (väljalase)
UP (unified process) tegevust
1) Ärimodelleerimine (ärireeglid)
2) Nõuded (SRS)
3) Analüüs ja disain (SDD)
4) Implementation (kood)
5) Test (STD)
6) Deployment (skriptid)
7) Config. and change management (skriptid)
8) Projektihaldus (SPMD)
9) Keskkond (EUP)
Agule Unified Process (AUP)
Basic --- (BUP)
Enterprise --- (EUP)
Essential --- (EssUP)
Open --- (OpenUP)
Rational --- (RUP)
Oracle Unified Method (OUM)
Test-driven development
1) Lisa test
2) Tee kõik testid läbi ning vaata kas test põrus läbi
3) Kirjuta koodi
4) Jooksuta teste
5) Paranda koodi
ATDD (acceptance test-driven development) - klient testib rakendust
DDD (domain-dirven design)- domeenipõhine disain / keskkonnast lähtuv disain / tegevusvaldkonnast lähtuv disain
FDD - valdkonna parimad praktikad kõik koos
BDD - kasutab valdkonnapõhist arendust
teisipäev, 24. jaanuar 2017
Teisipäev 24.01.2017
Tänased tunnid olid tarkvara arendusprotsess Väinoga.
Tarkvara prototüüpimine on mittelõplike tarkvaraprogrammi versioonide loomine.
Prototüüpimise variandid:
Äravisatav:
1) Kirjuta algelised nõuded
2) Disainimine
3) Prototüübi kasutamine annab uusi nõudeid
4) Kordab kui vaja
5) Kirjutab lõplikud nõuded
Arenguline prototüüpimine:
Peamine eesmärk on ehitada on ehitada jäme prototüüp ning hakata seda täpsustama
Inkrementaalne prototüüpimine:
Eraldiseisvad prototüübid pannakse kokku lõpptooteks
Ekstreemne prototüüpimine:
Jaotatakse faasideks,
Esimeses faasis koosneb veebirakendus peamiselt html failidest;
Teises faasis luuakse kasutajaliides ning aknad;
Kolmandas faasis luuakse teenused;
Eelised:
1) Hoiab kokku aega ja raha
2) Parendatud ja suurendatud kasutajate kaasatus
Puudused:
1) Ebapiisav analüüs
2) Kasutajade segadus prototüübi ning lõpliku süsteemi osas
3) Kasutaja eesmärkide arendajapoolne mittemõistmine
4) Arendaja kiindumus prototüübile
5) Prototüübile liiga palju aega raisatud
6) Prototüübi liiga kõrge maksumus
DSDM: dünaamiline süsteemiarendusmeetod
Põhitehnika on prototüüpimine
ISO 9001
Prototüüp võib olla skeem, äriprotsess või tootmisse lülitatud süsteem
Need prototüübid võivad olla äravisatavad või arenevad.
Neli prototüüpi:
1) Ariprototüübid
2) Kasutatavuse prototüübid (UI)
3) Jõudluse ja mittefunktsionaalsete nõuete osatähtsus
1) Tuvasta prototüüp
2) Lepi kokku plaani suhtes
3) Loo prototüüp
4) Vaata prototüüp üle
Neljanda gen. progemiskeelte liigid
1) Koodita programmeerimine
SOAP (simple object access protocol)
WSDL (web service description language)
DSDM - dünaamiline süsteemiarendusmeetod
DSDM põhitehnikad:
Timeboxing: projekt jaotatakse juppideks ning iga jupp saab etteantud tähtajaks valmis
MoSCoW: must have, should have, could have, won't have
Prototüüpimine
Testimine
Töötoad
Modeleerimine
Seadistuste haldus
teostatavuse variandid:
1) Tehniline
2) Juriidiline
3) Ajaline
http://wp1087322.server-he.de/ ->Developer
Inkrementaalne arendusmudel
Eelised:
1) Peale iga iteratsiooni tuleb teha regressioonitest
2) Lihtsam testida ja vigu leida kui teiste meetoditega, sest iga iteratsiooniga tehakse vähe muudatusi
3) Klient saab reageerida muudatustele
4) Algse toote kliendile tarnimine on kiirem ja maksab vähem
Puudused
1) Eelarve võib lõhki minna
2) Lisafunktsioonide korral võivad tekkida süsteemivead
V-mudel
Tarkvara arhitektuur
Spiraalmudel: riskipõhine protsessimudel
Määratle tehised samaaegselt
Eeldused:
1) Nõuded olemas enne koodi kirjutamist
2) Nõuded ei sisalda kõrge risti faktoreid
3) Nõuete olemus ei muutu väga palju arenduse käigus
4) Nõuded on kooskõlas kõigi süsteemi kasutajatega
5) Süs. arhit. on kõigi poolt arusaadav
6) Aega on piisavalt
Neli põhitegevust igas tsüklis
1) Arvesta võidutingimustega
2) Tuvasta ja hinda alternatiivlähenemisi
3) Tuvasta ja lahenda riskid
4) Saa huvigruppide heakskiit
Vesrtapostid
1) Elutsükli ülesanded
2) Elutsükli arhitektuur
3) Algne töövõimekus
Tarkvara prototüüpimine on mittelõplike tarkvaraprogrammi versioonide loomine.
Prototüüpimise variandid:
Äravisatav:
1) Kirjuta algelised nõuded
2) Disainimine
3) Prototüübi kasutamine annab uusi nõudeid
4) Kordab kui vaja
5) Kirjutab lõplikud nõuded
Arenguline prototüüpimine:
Peamine eesmärk on ehitada on ehitada jäme prototüüp ning hakata seda täpsustama
Inkrementaalne prototüüpimine:
Eraldiseisvad prototüübid pannakse kokku lõpptooteks
Ekstreemne prototüüpimine:
Jaotatakse faasideks,
Esimeses faasis koosneb veebirakendus peamiselt html failidest;
Teises faasis luuakse kasutajaliides ning aknad;
Kolmandas faasis luuakse teenused;
Eelised:
1) Hoiab kokku aega ja raha
2) Parendatud ja suurendatud kasutajate kaasatus
Puudused:
1) Ebapiisav analüüs
2) Kasutajade segadus prototüübi ning lõpliku süsteemi osas
3) Kasutaja eesmärkide arendajapoolne mittemõistmine
4) Arendaja kiindumus prototüübile
5) Prototüübile liiga palju aega raisatud
6) Prototüübi liiga kõrge maksumus
DSDM: dünaamiline süsteemiarendusmeetod
Põhitehnika on prototüüpimine
ISO 9001
Prototüüp võib olla skeem, äriprotsess või tootmisse lülitatud süsteem
Need prototüübid võivad olla äravisatavad või arenevad.
Neli prototüüpi:
1) Ariprototüübid
2) Kasutatavuse prototüübid (UI)
3) Jõudluse ja mittefunktsionaalsete nõuete osatähtsus
1) Tuvasta prototüüp
2) Lepi kokku plaani suhtes
3) Loo prototüüp
4) Vaata prototüüp üle
Neljanda gen. progemiskeelte liigid
1) Koodita programmeerimine
SOAP (simple object access protocol)
WSDL (web service description language)
DSDM - dünaamiline süsteemiarendusmeetod
DSDM põhitehnikad:
Timeboxing: projekt jaotatakse juppideks ning iga jupp saab etteantud tähtajaks valmis
MoSCoW: must have, should have, could have, won't have
Prototüüpimine
Testimine
Töötoad
Modeleerimine
Seadistuste haldus
teostatavuse variandid:
1) Tehniline
2) Juriidiline
3) Ajaline
http://wp1087322.server-he.de/ ->Developer
Inkrementaalne arendusmudel
Eelised:
1) Peale iga iteratsiooni tuleb teha regressioonitest
2) Lihtsam testida ja vigu leida kui teiste meetoditega, sest iga iteratsiooniga tehakse vähe muudatusi
3) Klient saab reageerida muudatustele
4) Algse toote kliendile tarnimine on kiirem ja maksab vähem
Puudused
1) Eelarve võib lõhki minna
2) Lisafunktsioonide korral võivad tekkida süsteemivead
V-mudel
Tarkvara arhitektuur
Spiraalmudel: riskipõhine protsessimudel
Määratle tehised samaaegselt
Eeldused:
1) Nõuded olemas enne koodi kirjutamist
2) Nõuded ei sisalda kõrge risti faktoreid
3) Nõuete olemus ei muutu väga palju arenduse käigus
4) Nõuded on kooskõlas kõigi süsteemi kasutajatega
5) Süs. arhit. on kõigi poolt arusaadav
6) Aega on piisavalt
Neli põhitegevust igas tsüklis
1) Arvesta võidutingimustega
2) Tuvasta ja hinda alternatiivlähenemisi
3) Tuvasta ja lahenda riskid
4) Saa huvigruppide heakskiit
Vesrtapostid
1) Elutsükli ülesanded
2) Elutsükli arhitektuur
3) Algne töövõimekus
esmaspäev, 23. jaanuar 2017
Esmaspäev 23.01.2017
Tänased tunnid olid programmeerimine Markoga.
Alustasime veebilehe loomisega õpperestoran Neljapäeva jaoks. Meile jaotati ülesanded. Mina pidin tegema laua reserveerimise poolega. Pidin koos Villemiga tegema. Bert on meie projektijuht, kes aitas teisi kui nad hätta jäid.
Ei jõudnud veebilehte valmis.
Mida õppisin: Laudade reserveerimis lehte ei ole kerge välja mõelda.
Alustasime veebilehe loomisega õpperestoran Neljapäeva jaoks. Meile jaotati ülesanded. Mina pidin tegema laua reserveerimise poolega. Pidin koos Villemiga tegema. Bert on meie projektijuht, kes aitas teisi kui nad hätta jäid.
Ei jõudnud veebilehte valmis.
Mida õppisin: Laudade reserveerimis lehte ei ole kerge välja mõelda.
neljapäev, 19. jaanuar 2017
Neljapäev 19.01.2017
Tänased tunnid olid programmeerimine Markoga ja tarkvara arendusprotsess Väinoga.
Marko tunnis tegime tööd PowerShell'iga. Tegime skripti, mis kirjutas kuni 9999 faili ning tegi igasse faili ühe kirje. Siis kirjutas kõikide failide sisud ühte faili. Skript teeb töölauale ühe kausta, kuhu kõik failid sisse topitakse. Kausta nimi on skriptis ette antud. Kui töölaual on sellise nimega kaust olemas, kustutab ta selle sisu. Pärast poole lisasime paar rida koodi et ta näitaks kui kaua läks aega, et faile kustutada ja uusi teha.
Tarkvara arendusprotsess
Kasutusloo mall
Kasutusjuhtumi nimi
Kirjeldus:
Käsutaja(d):
Sündmuste jada:
Põhisündmused:
Sündmus 1
Sündmus 2
.................
Sündmus n
Alternatiivsed sündmused:
Sündmus 1
Sündmus 2
..................
________________
Eeltingimused
Järeltingimused
http://dspace.ut.ee/bitstream/handle/10062/41862/peedo_marco.pdf
Joongraafik - Gantt Chart
Tarkvara projekti näide
Mida õppisin: Kuidas natuke PowerShell'i kasutada
Marko tunnis tegime tööd PowerShell'iga. Tegime skripti, mis kirjutas kuni 9999 faili ning tegi igasse faili ühe kirje. Siis kirjutas kõikide failide sisud ühte faili. Skript teeb töölauale ühe kausta, kuhu kõik failid sisse topitakse. Kausta nimi on skriptis ette antud. Kui töölaual on sellise nimega kaust olemas, kustutab ta selle sisu. Pärast poole lisasime paar rida koodi et ta näitaks kui kaua läks aega, et faile kustutada ja uusi teha.
Tarkvara arendusprotsess
Kasutusloo mall
Kasutusjuhtumi nimi
Kirjeldus:
Käsutaja(d):
Sündmuste jada:
Põhisündmused:
Sündmus 1
Sündmus 2
.................
Sündmus n
Alternatiivsed sündmused:
Sündmus 1
Sündmus 2
..................
________________
Eeltingimused
Järeltingimused
http://dspace.ut.ee/bitstream/handle/10062/41862/peedo_marco.pdf
Joongraafik - Gantt Chart
Tarkvara projekti näide
Mida õppisin: Kuidas natuke PowerShell'i kasutada
kolmapäev, 18. jaanuar 2017
Kolmapäev 18.01.2017
Tänased tunnid olid programmeerimine Markoga ja andmebaasirakenduste arendaja Tatjanaga.
Marko tunnis rääkisime mida me hakkame tegema järgmises tunnis. Tunni lõpus jagati meid paarideks, aga nende paaridega ei tehtud midagi. Tatjana tunnis kordasime kuidas vene keeles ennast tutvustada ja kuidas teistega algsel määral rääkida.
Mida õppisin: Vene keelt ei ole nii raske rääkida.
Marko tunnis rääkisime mida me hakkame tegema järgmises tunnis. Tunni lõpus jagati meid paarideks, aga nende paaridega ei tehtud midagi. Tatjana tunnis kordasime kuidas vene keeles ennast tutvustada ja kuidas teistega algsel määral rääkida.
Mida õppisin: Vene keelt ei ole nii raske rääkida.
teisipäev, 17. jaanuar 2017
Teisipäev 17.01.2017
Tänased tunnid olid veebirakenduste loomise alused Triinuga ja veebirakenduste loomise alused Airega.
Triinu tunnis tegime alguses veebilehte. Hiljem hakkasime tegema peamajja telekate jaoks Xibo'ga informatiivset GUI'd. Seal näitab hetke tunde, ilmateadet, uudiste RSS feed'i, ning kooli Facebook'i. Facebooki ei tahtnud need telekad näidata. Keskkond, millega ehitasime seda GUI'd, oli lihtne kasutada.
Mida õppisin: Kuidas Xibo't vähesel määral kasutada.
Triinu tunnis tegime alguses veebilehte. Hiljem hakkasime tegema peamajja telekate jaoks Xibo'ga informatiivset GUI'd. Seal näitab hetke tunde, ilmateadet, uudiste RSS feed'i, ning kooli Facebook'i. Facebooki ei tahtnud need telekad näidata. Keskkond, millega ehitasime seda GUI'd, oli lihtne kasutada.
Mida õppisin: Kuidas Xibo't vähesel määral kasutada.
esmaspäev, 16. jaanuar 2017
Esmaspäev 16.01.2017
Pidime täitma ülesandeid lehel https://google-gruyere.appspot.com/. Pidime õpetuse järgi turvaauke leidma ning neid testima. Üks ülesanne oli teha sellel lehel enda konto ning tavakasutajast admini teha. Siis tuli üles laadida html fail skriptiga, et saada teada küpsiste formaati. Välja pidime veel uurima teiste kasutajate privaatinfot. Ühes ülesanndes pidime leida faili nimega "secret.txt".
Mida õppisin: Kuidas mingil määral veebilehte sisse saada.
Mida õppisin: Kuidas mingil määral veebilehte sisse saada.
reede, 13. jaanuar 2017
Reede 13.01.2017
Tunnid olid Aivariga, aga need jäid ära.
Nende tundide asemel soovitas meile Jaan, et me parandaksime oma hindeid.
Nende tundide asemel soovitas meile Jaan, et me parandaksime oma hindeid.
neljapäev, 12. jaanuar 2017
Neljapäev 12.01.2017
Tarkvara disain:
protsess, kus agent loob tarkvaratehise spetsifikatsiooni, kasutades algseid komponente
1) Algoritmi disain
Algoritmid:
1) Probleemi määraimine
Jada liikmed käivad loogeliste sulgude vahele
CASE vahendid: Eclipse, NetBeans
CASE: tööriistade valdkond, mida kasutatakse tarkvara loomiseks ja disainimiseks
CASE kolm gruppi:
1) Tööriistad
2) Tööpingid
3) Keskkonnad
Tööriistad:
1) Äri ning analüüsi modelleerimine
2) Arendus, debuggerid
3) Verifitseerimine ning valideerimine; koodi analüsaatorid
4) Seadistuste haldus
5) Mõõtmine; koodi analüsaatorid koodi keerukuse suhtes
6) Projektijuhtimine
Tööpingid:
integreerivad kaks või rohkem CASE tööriista
Fundamentaalsed modelleerimis kontseptid (FMC)
1) Süsteemi struktuur
2) Protsess süsteemis
3) Domeeniväärtused süsteemis
*Liitstruktuuri skeem ehk FMC plokk-skeem
*Dünaamilise struktuuri skeem ehk FMC Petri-net
*Väärtuste raadiuse struktuuri skeem ehk FMC E/R skeem
FMC plokkskeem
Pilt (link eelmisel real) on liitstruktuuri skeemi näide. Selles on agendid tellimuse protsessor (Order Processor), tarnija haldur (Supplier Manager), tarnija (Supplier), veebipood (Online Shop), ning nimetu inimagent (Human Agent)
DAVIS
1) Disainiprotsess ei tohiks kannatada "silmaklappidest", peaks proovima erinevaid lähenemisi
2) Disain peaks olema seotud ning jälitatav
3) Ära leiuta jalgratast
4) Disain peaks näima ühtlane,
5) Peaks olema struktuurne ning peaks võimaldama muutuste sisseviimist
6) Peaks olema disainitud nii, et suudaks ootamatustele vastata
7) Disain pole koodimine, koodimine pole disain
8) Peaks hindama disaini kvaliteetsust
9) Disaini peab üle vaatama, et minimiseerida põhimõttelisi vigu
Disaini põhimõtted
1) Abstraktsioon - üldistamine
2) Viimistlemine/täpsustamine:
3) Modulaarsus- tarkvara arhitektuur võiks olla jaotatud komponentideks
4) Tarkavara arhitektuur
5) Juhtimise hirearhia
6) Jaotiste ülesehitus- programmi ülesehitus tuleks jagada horisontaalselt ning vertikaalselt juppideks
7) Andmestruktuur
8) Tarkvaraprotseduur
9) Polümorfism
Disaini kaalutlused
1) Ühilduvus: tarkvara peab töötama teiste toodetega koos
2) Laiendatavus: võimalus lisada uusi võimekusi
3) Modulaarsus
4) Hooldatavus
5) Taaskasutatav
6) Robustne
7) Turvalisus
8) Kasutatavus
9) Jõudlus: asi ei tohi venima jääda
10) Porditavus
11) Mastaapsus
Arhitektuuri kirjeldamise keel
https://github.com/osate
camunda.org/bpmn/tutorial/
https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation#Overview
EEML
Vooskeem
IDEF: Modelleerimiskeelte perekond
Jackson
LePUS3: Kuulub objekt-orienteeritud programmeerimiskeelte hulka
Alloy: On loodud keeruliste struktuursete piirangute kirjeldamiseks
Service-oriented modeling framework (SOMF)
Disaini mustrid
protsess, kus agent loob tarkvaratehise spetsifikatsiooni, kasutades algseid komponente
1) Algoritmi disain
Algoritmid:
1) Probleemi määraimine
Jada liikmed käivad loogeliste sulgude vahele
CASE vahendid: Eclipse, NetBeans
CASE: tööriistade valdkond, mida kasutatakse tarkvara loomiseks ja disainimiseks
CASE kolm gruppi:
1) Tööriistad
2) Tööpingid
3) Keskkonnad
Tööriistad:
1) Äri ning analüüsi modelleerimine
2) Arendus, debuggerid
3) Verifitseerimine ning valideerimine; koodi analüsaatorid
4) Seadistuste haldus
5) Mõõtmine; koodi analüsaatorid koodi keerukuse suhtes
6) Projektijuhtimine
Tööpingid:
integreerivad kaks või rohkem CASE tööriista
Fundamentaalsed modelleerimis kontseptid (FMC)
1) Süsteemi struktuur
2) Protsess süsteemis
3) Domeeniväärtused süsteemis
*Liitstruktuuri skeem ehk FMC plokk-skeem
*Dünaamilise struktuuri skeem ehk FMC Petri-net
*Väärtuste raadiuse struktuuri skeem ehk FMC E/R skeem
FMC plokkskeem
Pilt (link eelmisel real) on liitstruktuuri skeemi näide. Selles on agendid tellimuse protsessor (Order Processor), tarnija haldur (Supplier Manager), tarnija (Supplier), veebipood (Online Shop), ning nimetu inimagent (Human Agent)
DAVIS
1) Disainiprotsess ei tohiks kannatada "silmaklappidest", peaks proovima erinevaid lähenemisi
2) Disain peaks olema seotud ning jälitatav
3) Ära leiuta jalgratast
4) Disain peaks näima ühtlane,
5) Peaks olema struktuurne ning peaks võimaldama muutuste sisseviimist
6) Peaks olema disainitud nii, et suudaks ootamatustele vastata
7) Disain pole koodimine, koodimine pole disain
8) Peaks hindama disaini kvaliteetsust
9) Disaini peab üle vaatama, et minimiseerida põhimõttelisi vigu
Disaini põhimõtted
1) Abstraktsioon - üldistamine
2) Viimistlemine/täpsustamine:
3) Modulaarsus- tarkvara arhitektuur võiks olla jaotatud komponentideks
4) Tarkavara arhitektuur
5) Juhtimise hirearhia
6) Jaotiste ülesehitus- programmi ülesehitus tuleks jagada horisontaalselt ning vertikaalselt juppideks
7) Andmestruktuur
8) Tarkvaraprotseduur
9) Polümorfism
Disaini kaalutlused
1) Ühilduvus: tarkvara peab töötama teiste toodetega koos
2) Laiendatavus: võimalus lisada uusi võimekusi
3) Modulaarsus
4) Hooldatavus
5) Taaskasutatav
6) Robustne
7) Turvalisus
8) Kasutatavus
9) Jõudlus: asi ei tohi venima jääda
10) Porditavus
11) Mastaapsus
Arhitektuuri kirjeldamise keel
https://github.com/osate
camunda.org/bpmn/tutorial/
https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation#Overview
EEML
Vooskeem
IDEF: Modelleerimiskeelte perekond
Jackson
LePUS3: Kuulub objekt-orienteeritud programmeerimiskeelte hulka
Alloy: On loodud keeruliste struktuursete piirangute kirjeldamiseks
Service-oriented modeling framework (SOMF)
Disaini mustrid
kolmapäev, 11. jaanuar 2017
Kolmapäev 11.01.2017
Nõuete esilekutsumine:
sisaldab intervjuusid, küsimustikke, kasutaja vaatlusi, töötubasid, ajurünnakuid, kasutajalugusid, rollimänge ning prototüüpimist.
Enne kui nõudeid saab analüüsida, modelleerida või spetsifitseerida, tuleb neid koguda esilekutsumise protsessiga.
Süsteemi modelleerimis keeli on mitmesugused.
Tavaline esilekutsumisprotsess on huvigruppidega kohtumine või intervjuud. Nt esimene tähtis kohtumine oleks tarkvara arendajate ning klientide kus nad arutavad nõuete perspektiivi.
Probleemid:
1) Probleemide ulatus: ei tasu kliente terminoloogiaga segadusse ajada
2) Mõistmise probleem: kliendid ei ole kindlad, mida vaja, ei tea arvutite suutlikkust, ei suuda selgitada
3) Muutumise probleem: nõuded muutuvad ajaga.
Nõuete kvaliteedi parandamine:
1) Visualiseerimine
2) Kooskõlaline keel: kasuta lihtsat/loomulikku keelt nõuete kirjeldamiseks
3) Reeglid: järgi ettevõttes väljakujunenud reegleid.
4) Pidev mallide kasutamine
5) Dokumenteerimise sõltuvused
6) Muudatuste analüüs
Nõuete esiletoomise juhised:
1) Hinda süsteemi ärilist ning tehnilist teostatavust
2) Inimeste, kes võiksid nõuete väljaselgitamist aidata, leidmine
3) Määratle tehniline keskkond, nt op-süsteem
4) Tuvasta tegevusvaldkonna piirangud
5) Määratle rohkem kui üks esiletõstmismeetod
6) Korralda erinevate huvigruppidega kohtumisi
7) Tuvasta tähtsaimad nõuded, mida on vaja prototüübi loomised
8) Loo kasutuslood, et aidata klientidel tuvastada võtmenõudmisi
Sammude järjekord:
1) Tuvasta reaalne probleem, võimalus või väljakutse
2) Tuvasta jooksvad meetmed, mis tõestavad, et probleem on reaalne
3) Tuvasta eesmärk-meetmed et tõestada probleemi olemasolu
4) Tuvasta probleem olemus
5) Määratle ärivaldkonna küsimused
6) Määratle tootedisain
Täiendavad lähenemised:
1) Tuvasta huvigrupid
2) Modelleerimise eesmärgid
3) Modelleerimise kontekst
4) Stsenaariumite avastamine (kasutuslugude jaoks)
5) Kvaliteetide ning piirangute avastamine
6) Eelduste ja kirjapaneku modelleerimine
7) Sõnastiku kirjutamine
8) Mõõtmete analüüsimine
Analüüs:
võtame arvesse kõik vastuolud mida proovib nõuete kirjapanekul lahendada
Huvigrupid:
1) Ükskõik, kes tegelevad süsteemiga (tavakasutajad ning hooldajad)
2) Igaüks, kes saavad süsteemist tulu
3) Igaüks, kes ostits süsteemi
4) Ettevõtted, mis reguleerivad süsteemi aspekte
5) Inimesed või ettevõtted kes on selle süsteemi vastu
6) Ettevõtted, mis vastutavad teatud süsteemiliidese eest
Läbivad funktsionaalsused
Lepingu-stiilis nõuete loetelud
CIA: konfiguratsioon, tervikus, kättesaadavus
Kohustuslik kirjandus: "Tarkvaratehnika sissejuhatus 2008"
SRS on suhtlusvahend huvigruppide ning tarkvaraarendajate vahel
SRS eesmärgid:
1) Aluseks koodiülevaatustele
2) Tööulatuse kirjeldamine
3) Tarvaradisaineritele annab viite
4) Aluseks testimisele, testidokumendile (testiraamistik)
5) Sisaldab iseärasusui kliendi nõuetega
6) On platvormiks edasiseks arenduseks
Uuri FreeMind'i
Tatjana tunnis õppisime vene keelt ning tegime harjutusi.
Mida õppisin: Kes on huvigrupid.
sisaldab intervjuusid, küsimustikke, kasutaja vaatlusi, töötubasid, ajurünnakuid, kasutajalugusid, rollimänge ning prototüüpimist.
Enne kui nõudeid saab analüüsida, modelleerida või spetsifitseerida, tuleb neid koguda esilekutsumise protsessiga.
Süsteemi modelleerimis keeli on mitmesugused.
Tavaline esilekutsumisprotsess on huvigruppidega kohtumine või intervjuud. Nt esimene tähtis kohtumine oleks tarkvara arendajate ning klientide kus nad arutavad nõuete perspektiivi.
Probleemid:
1) Probleemide ulatus: ei tasu kliente terminoloogiaga segadusse ajada
2) Mõistmise probleem: kliendid ei ole kindlad, mida vaja, ei tea arvutite suutlikkust, ei suuda selgitada
3) Muutumise probleem: nõuded muutuvad ajaga.
Nõuete kvaliteedi parandamine:
1) Visualiseerimine
2) Kooskõlaline keel: kasuta lihtsat/loomulikku keelt nõuete kirjeldamiseks
3) Reeglid: järgi ettevõttes väljakujunenud reegleid.
4) Pidev mallide kasutamine
5) Dokumenteerimise sõltuvused
6) Muudatuste analüüs
Nõuete esiletoomise juhised:
1) Hinda süsteemi ärilist ning tehnilist teostatavust
2) Inimeste, kes võiksid nõuete väljaselgitamist aidata, leidmine
3) Määratle tehniline keskkond, nt op-süsteem
4) Tuvasta tegevusvaldkonna piirangud
5) Määratle rohkem kui üks esiletõstmismeetod
6) Korralda erinevate huvigruppidega kohtumisi
7) Tuvasta tähtsaimad nõuded, mida on vaja prototüübi loomised
8) Loo kasutuslood, et aidata klientidel tuvastada võtmenõudmisi
Sammude järjekord:
1) Tuvasta reaalne probleem, võimalus või väljakutse
2) Tuvasta jooksvad meetmed, mis tõestavad, et probleem on reaalne
3) Tuvasta eesmärk-meetmed et tõestada probleemi olemasolu
4) Tuvasta probleem olemus
5) Määratle ärivaldkonna küsimused
6) Määratle tootedisain
Täiendavad lähenemised:
1) Tuvasta huvigrupid
2) Modelleerimise eesmärgid
3) Modelleerimise kontekst
4) Stsenaariumite avastamine (kasutuslugude jaoks)
5) Kvaliteetide ning piirangute avastamine
6) Eelduste ja kirjapaneku modelleerimine
7) Sõnastiku kirjutamine
8) Mõõtmete analüüsimine
Analüüs:
võtame arvesse kõik vastuolud mida proovib nõuete kirjapanekul lahendada
Huvigrupid:
1) Ükskõik, kes tegelevad süsteemiga (tavakasutajad ning hooldajad)
2) Igaüks, kes saavad süsteemist tulu
3) Igaüks, kes ostits süsteemi
4) Ettevõtted, mis reguleerivad süsteemi aspekte
5) Inimesed või ettevõtted kes on selle süsteemi vastu
6) Ettevõtted, mis vastutavad teatud süsteemiliidese eest
Läbivad funktsionaalsused
Lepingu-stiilis nõuete loetelud
CIA: konfiguratsioon, tervikus, kättesaadavus
Kohustuslik kirjandus: "Tarkvaratehnika sissejuhatus 2008"
SRS on suhtlusvahend huvigruppide ning tarkvaraarendajate vahel
SRS eesmärgid:
1) Aluseks koodiülevaatustele
2) Tööulatuse kirjeldamine
3) Tarvaradisaineritele annab viite
4) Aluseks testimisele, testidokumendile (testiraamistik)
5) Sisaldab iseärasusui kliendi nõuetega
6) On platvormiks edasiseks arenduseks
Uuri FreeMind'i
Tatjana tunnis õppisime vene keelt ning tegime harjutusi.
Mida õppisin: Kes on huvigrupid.
Tellimine:
Kommentaarid (Atom)