Kursuse/teemade ülevaade













    • Kõik antud ainega seotud küsimused (sh arvamused, ideed, juhendid kaastudengitele jne) palun postitada sellesse foorumisse.


    • Kõik tehnilised küsimused, mis on seotud ainega "Tarkvara arhitektuur ja disain (IDU1550)", palun postitada sellesse foorumisse.


  • 1. Nädal - Sissejuhatus

    Nädala kodutöö alati (vähemalt 20 tundi meeskonnaliikme kohta, kui tahate eksami teha 16-l nädalal. Kui 20-l nädalal, siis piisab 16 tundi meeskonnaliikme kohta)

    Mida peab teadma (oskama ise järele teha) , et sellel kursusel hakkama saada (tuletada meelde just selles järjekorras)

    1. Kõik, mida siin videos on räägitud 
    2. Kõik, mis siin tutorialides (kokku 10 tutoriali) on räägituid
    3. Kõik, mis siin tutorialides (kokku 8 tutoriali) on räägitud 
    4. Elementaarsed teadmised HTML-ist, CSS-ist ja Java või Type Scriptist

    Edaspidiseks kasutamiseks täielikud dokumentatsioonid

    1.  Mikroteenused ja Docker (e-book, neile, kellel hakkab igav, järgmise aasta teema)
    Järgmise nädala harjutustuniks on vaja 
    1. Moodustada meeskond (3 liiget on ideaalne, maksimaalselt 5 liiget)
    2. Jimmy Nilsseni raamatus esimesed 50 lk on igati abiks.
    3. Joonistada välja esialgne klassidiagramm (suur pilt, vaata võimalikku näidet)
    4. Panna kirja narratiividena 10 - 20 kasutuslugu (vaata võimalikku näidet), mida hakkate realiseerima
    5. Harjutustunnis siis saab neid arutada ja saate tagasisidet, et teise nädala lõpuks saaksite teha vastava ettekande.







    Kui on tekkinud küsimusi, 
    Igal õppejõul on oma Teamsi kanal, seal suhelge
    Esmaspäevane grupp: Gunnar Piho
    Teisipäevane grupp: Jelena Vendelin
    Reedene grupp: Karl-Erik Karu
  • 2. Nädal - Eesmärk & narratiivid & UML

    Nädala teema on meeskonnatöö ülesande püstituse koostamine ja meeskondade käivitamine

    Loengu nõuete osa slaidid ja loengu UML osa slaidid. Loengu video läheb Teams kanalisse.

    NB! Loenguteks ning harjutustundideks ning õppejõududega ja omavaheliseks suhtlemiseks kasutame Teams kanaleid niipalju kui vähegi võimalik.  Kõik loengud salvestame. Ka harjutustunnid, kui on üldist huvi pakkuv teema või probleem.

    NB Järgmise nädala harjutustunnis meeskondade ettekanded !!!

    Saab alustada koodi kirjutamist. Klassid võiksid hakata kujunema. Harjutustunnis vaatame testimist ja käivitame testid.

    Nädala iseseisev töö:

    A. Kes pole jõudnud läbi teha ja selgeks õppida (konspekt), siis see nädal on veel aega   

    1. Kõik, mida siin videos on räägitud 
    2. Kõik, mis siin tutorialides (kokku 10 tutoriali) on räägituid
    3. Kõik, mis siin tutorialides (kokku 8 tutoriali) on räägitud 
    4. Elementaarsed teadmised HTML-ist, CSS-ist ja Java või Type Scriptist

    B. Jimmy Nilssoni raamatust (Applying Domain-Driven Design and Patterns: With Examples in C# and .NET) lugeda, konspekteerida ja endale selgeks teha kuni lk 45 (Chapter 1, Values to Value)

    C: Moodustada meeskond (2-4 inimest). Pidage meeles, et 4 inimesega grupp peab suutma koodi kirjutada 2 korda rohkem, kui 2 inimesega grupp.

    D: Leppida meeskonnas kokku mida te teete, lepite kokku vastutused ja rollid meeskonnas, lepite kokku esialgsed nõuded (narratiivid, kasutusjuhud, mis iganes) ja teete ka esialgsed arhitektuursed kavandid (klasside diagrammid, virtuaalsed aknad, ...) 

    E: Alustate dokumentatsiooni vormistamisega (saate juba kirjutada meeskonna rollid, eesmärgi, üldise arhitektuuri)

    F: NB! Parim dokument on töötav KOOD ja testid, mis selle tagavad !!!

    G: Iga nädal tuleb enda tegemised logida ja harjutustunnis oma tegevustest, edusammudes, probleemidest, jne, ka õppejõude teavitada.

  • 3. Nädal - UML ja testimine

    Nädal 13. - 20. Sept

    Me alustame testimise näitega Visual Studios.

    Loengu slaidid UML kohta on siin

    Loengu salvestus on Teams kanalis.

    Praktiline UML diagrammide juhend asub siin

    UML diagramme saab joonistada näiteks Visio (alla laaditav samast kohast, kust Visdual Studio) või Enterprise Architect (30 päevane trial asub siin) vahenditega, aga on ka teisi vahendeid. Google leiab.

    Nädala kordamisküsimused on sellised:

    1. Use Case diagram, kasutamine, komponendid ja näide;
    2. Class diagramm, kasutamine, komponendid ja näide; 
    3. Object diagram, kasutamine, komponendid ja näide;
    4. Sequence diagram, kasutamine, komponendid ja näide;
    5. Collaboration diagram, kasutamine, komponendid ja näide;
    6. Satechart diagram, kasutamine, komponendid ja näide;
    7. Activity diagram, kasutamine, komponendid ja näide;
    8. Componet diagram, kasutamine, komponendid ja näide;
    9. Deployment diagram, kasutamine, komponendid ja näide

  • 4. Nädal - Projekti käivitamine

    Selle nädala ülesanne on oma projekt käivitada - teate, mida tahate teha ja oskate sellega ka algust teha.

    Loengus (nii Teamis kui ka auditooriumis) näitan ja selgitan (slaidid) :

    1.  mis on need teadmised, mida praegu peaks juba teadma;
    2.  millised ja miks on Visual Studio näidisprojektid;
    3.  miks need näidisprojektid ei ole puhas kood;
    4.  kuidas ja miks on tehtud ABC projekt ja miks see on puhas kood ja puhas arhitektuur;
    5.  kordan üle projekti nõuded;
    6.  pakun mõningad võimalused enda projekti alustamiseks 

    Harjutustundides (võib osaleda Teamsis, kui ka tulle kohale) ainult personaalsed ja meeskondlikud konsultatsioonid. Ka tuleb igal üliõpilasel näidata õppejõule oma senine töö ja panna kirja igal nädalal panustatud tööaeg 15 minutilise täpsusega

    Kokkuvõtlikult nõuded projektile:

    1. Iga meeskonna liige peab panustama 156 tundi (see on peamine kriteerium);
    2. Iga meeskonna liige peab suutma põhjendada ja tõendada enda panust (vaadake näiteks eXtreme Programming planeerimise mängu ja ülesannete jaotamist meeskonna liikmetele);
    3. Meeskondlikult tehakse mingi jõuetekohane ettevõtte infosüsteem (andmed, loogika, kasutajaliides);
    4. Kogu kood ja kogu arhitektuur peab olema puhas;
    5. Infosüsteemi arhitektuur ja disain dokumenteeritakse, kõikide meeskonnaliikmete panus samuti;
    6. Infosüsteemi arhitektuur ja disain analüüsitakse mustritest lähtuvalt.

    Kokkuvõtlikult võimalikud projekti lähteülesanded:

    1. Mingi ettevõtte tootekataloog või inventariraamat (nõudeid vaatate kas Silverstoni raamatust peatükk 2 või Arlow ja Neustadti raamatust peatükid 7 ja 8 )
    2. Mingi ettevõtte (nt haigla, kool, telekomi ettevõte ) personaliarvestuse süsteem (nõudeid vaatate kas Silverstoni vastavatest valdkondadest või Arlow ja Neustadti raamatust peatükid 4, 5 ja 6)
    3. Mingi ettevõtte tellimuste ja arvete süsteem (nõudeid vaatate Arlow ja Neustadt raamatust pt 9)
    4. Mingi panga e-panganduse süsteem (inimene saab avada arve ja sooritada raha ülekandmise tehinguid) (nõudeid saate vaada Silverstoni raamatust pt: 6)
    5. Mingi e-Kauplus (nõudeid vaatate Silverstoni raamatu peatükk 9)
    6. ... midagi sarnast, mis endale meeldib ...

    Kokkuvõtlikult võimalikult projekti alustamise lähtekohad (valida ainult 1)

    1. Aluseks võetakse Contoso University (Razor page ja nendes osades, mida Razor ei kajasta, kasutatakse MVC) tutoriale (muudetakse andmemudelit ja vastavalt sellele ka siis kogu rakendust; kogu kood refaktooritakse puhtaks; kui midagi töötab ja on puhas, mõeldakse mingi funktsionaalsus veel lisaks ja realiseeritakse);
    2. Võtate ja teete kogu enda rakenduse end mudeliga ja nii, nagu on näidatud minu lindistatud videotes
    3. Kasutate Jimmy Nillson raamatu näidet. Teete kõik ilusasti ja iseseisvalt läbi. Kõik on puhas ja korralik kood. Lisate ka kasutajaliidese;
    4. Kasutate raamatu e-poe näidet. Teete kõik ilusasti ja iseseisvalt läbi. Kõik on puhas ja korralik kood. Lisate ka kasutajaliidese; 
    5. Igasuguseid huvitavaid Blazor näidisrakendusi leiab siit. (Jälle koodid puhtaks). Ilmselt on see üks hea Blazor kataloog.


    Kuidas saab suurepärast hinnet

    1. Teie meeskond ja iga meeskonna liige on väga tugevalt panustanud ja palju õppinud;
    2. Teie meeskond panustab professionaalse meeskonnana (kasutab mingit arendusmetoodikat; teeb plaane ja analüüsib tulemusi);
    3. Teie tehtud rakendus on professionaalne (puhas kood, puhas arhitektuur);
    4. Te oskate oma rakendusest professionaalselt ja mustrite keeles rääkida. Mustritest räägitakse "Tarkvara arhitektuuri ja disaini" kursusel. 
    5. Saate aru, et neli eelnevat punkti ongi selle aine õpiväljundud.


    Kõik küsimused palun võimaluse korral esitada loengus ja harjutustundides.

  • 5. Nädal - Andmestruktuuri mustrid

    Nädal 27. Sept - 3. Okt

    Loengu slaidid on siin

    Loengu salvestus on Teamsis

    Lugemine: Martin Fowleri raamatust "Patterns of Enterprise Application Architecture" peatükk 12

    Kordamisküsimused

    1. Mis on Identity Field ja miks ning kuidas seda kasutatakse?
    2. Mis on Foreign Key Mapping ja miks ning kuidas seda kasutatakse? 
    3. Mis on Association Table Mapping ja miks ning kuidas seda kasutatakse?
    4. Mis on Dependent Mapping ja miks ning kuidas seda kasutatakse?
    5. Mis on Embedded Value ja miks ning kuidas seda kasutatakse?
    6. Mis on Serialized LOB ja miks ning kuidas seda kasutatakse?
    7. Mis on Single Table Inheritance ja miks ning kuidas seda kasutatakse?
    8. Mis on Class Table Inheritance ja miks ning kuidas seda kasutatakse?
    9. Mis on Concrete Table Inheritance ja miks ning kuidas seda kasutatakse?
    10. Mis on Inheritance Mapper ja miks ning kuidas seda kasutatakse?

    Harjutustundide ajal toimuvad konsultatsioonid. Kui tunnete, et läheb rohkem aega vaja, võimalik broneerida mitu järjestikust aega. 

    Sellle nädala jooksul on viimane aeg saada andmekiht paika ja testitud testitud.
    Saab juba ka kirjutada andmekihi kohta dokumentatsiooni. Andmekhis saate kirjutada teksti vastavalt andmekihi mustritele.
    Suhelga grupijuhtidega. 

  • 6. nädal - SQL

    Nädal 4 - 10 Okt

    Loengu slaidid on siin. Loengu video on Teams keskkonnas

    Nädal teema on SQL keel. Õppida tuleb peamiselt iseseisvalt. Üks võimalus õppimiseks on siin

    Kordamisküsimused on sellised:

    1. SELECT lause ja selle peamised osad (distinct, where, order by, group by, having, ...)?
    2. UPDATE, INSERT ja DELETE laused  ja nende peamised osad?
    3. Millised on SQL funktsioonid ja kus ning kuidas neid saab kasutada?
    4. Mis asjad on Stored Procedures? 
    5. Millised võimalikud ühendid (join) on olemas ja kuidas neid kasutatakse?
    6. Mis on DDL, milleks kasutatakse  ja millised on DDL peamised käsud?
    7. Millised on erinevad SQL andmebaasi mootorid ja mille poolest nad erinevad või on sarnased?
    8. Mis on ANSI SQL ja kuidas see on erinevate andmebaasimootoritega seotud?  

    Osadele küsimustele tuleb ise vastus leida, kasutades interneti avarusi. 

    Kes tahavad enda arvutis SQL-iga mängida kasutades enda projekti andmeid ja andmebaasi, siis SSMS on hea ja võimas vahend. Üks hea ja ka piisavalt keerukas andmebaas koos andmetega on alla laaditav siit.

    Muuseas w3school.com, kust on võetud SQL õpetus, sisaldab ka teisi häid kursusi.



  • 7. Nädal - Loogikakihi mustrid

    Loengus selgitan loogikakihi arendamist ja mustreid (valdkonnamustreid).

    Loengu slaidid on siin

    Kus peaks projektiga praegu olema: andmekiht olemas ja testitud. Kahe nädala jooksul peab olema ka loogikakiht valmis ja testitud.

    Kordamisküsimused

    1. Milline on Raha valdkonnamudel, skitseerida klasside diagramm ja selgitada.
    2. Milline on Mõõtühikuga Arvu valdkonnamudel, skitseerida klasside diagramm ja selgitada.
    3. Milline on Osapoolte valdkonnamudel, skitseerida klasside diagramm ja selgitada.
    4. Milline on Toote valdkonnamudel, skitseerida klasside diagramm ja selgitada
    5. Milline on Osapoolte Vaheliste Seoste valdkonnamudel, skitseerida diagramm ja selgitada
    6. Milline on Arve valdkonnamudel, ....
    7. Inventrari valdkonnamudel ...
    8. Milline on Reegli ...
    9. Kuidas Teie modelleeriksite elevanti, valige valdkonnamudel ja põhjendage
    10. Kudas Teie modelleeriksite robotit, valige valdkonnamudel ja põhjendage
    11. Kuidas töötab reegli valdkonnamudel, näidake ja põhjendage
    12. Kuidas Teie modelleeriksite lepingut/äriprotsessi/olulisi sündmusi/... valige valdkonnamudel ja põhjendage
    13. Selgitage Open/Abc projekti arhitektuuri mustreid ja põhjendage, miks on nii tehtud 



    Meeskonnad peavad alates 8-st nädalast iga kahe nädala tagant esitama dokumentatsiooni (loengus räägin) 

    Järgmise nädala isiklike tegemiste aruandele tahan lisaks ka slaide Nilseni raamatu seni loetud materjalide kohta ja kuidas te neid oma meeskonnaprojektis kasutate.  Iga kahe nädala taganit siis selle raamatu seminar. Teie räägite.

  • 8. nädal - ORM töövahendid

    Meeskonnad (esimest korda siis järgmisel nädala) peavad alates 8-st nädalast iga kahe nädala tagant esitama dokumentatsiooni 

    Ülejärgmisel nädala isiklike tegemiste aruandele tahan lisaks ka slaide Nilseni raamatu peatükid 4 - 6 ja kuidas te neid teadmisi oma meeskonnaprojektis kasutate.  Iga kahe nädala taganit siis selle raamatu seminar. Teie räägite.

    Loengus selgitan O/RM ja Entity Framework raamistikuga seonduvat.

    Loengu slaidid on siin

    Kus peaks projektiga praegu olema: andmekiht olemas ja testitud. Nädala pärast ka loogikakiht valmis ja testitud. Peale seda loengut võiks ka juba DbConnect ja repodega tegeleda (ehk siis infrastruktuur).

    Kordamisküsimused

    1. Kuidas Entity Framework abil luuakse koodi kasutades andmebaasi tabelid, kuidas määratakse tabelite veerud, veergude tüübid, primaarvõtmed ja võõrvõtmed
    2. Milliseid Martin Fowler mustreid raamatust Patterns of Enterprise Application Architecture Entity Framework Core kasutab.
    3. Kuidas käib Entity Framework raamistikus UPDATE lause koostamine?
    4. Kuidas käib Entity Framework raamistikus INSERT lause koostamine?
    5. Kuidas käib Entity Framework raamistikus DELETE lause koostamine?
    6. Kuidas kasutades Entiry Framework raamistikku koostatakse SELECT lause? 
    7. Kuidas lisatakse OrderBy ja OrderBy descendent? Kuidas lisatakse WHERE lause?


  • 9. Nädal - Andmebaaside normaliseerimine

    Nädal 25 - 31 Okt

    Loengu slaidid on siin.

    Kasulik lugemine: Joe Celko's SQL for Smarties, 3rd Edition (Normalisation). Ka siin on näiteid ja selgitusi.

    Viisin siia eksikombel sattunud esitluskihi küsimused siit ära viiendasse nädalasse.

    Selle nädala küsimused (vaja pole mitte täpseid definitsioone, vaid oskust arutleda ja näiteid tuua, saada üldiset aru probleemidest)

    1. Miks kasutatakse ja mis on 1NF
    2. Miks kasutatakse ja mis on 2NF
    3. Miks kasutatakse ja mis on 3NF
    4. Miks kasutatakse ja mis on EKNF
    5. Miks kasutatakse ja mis on BCNF
    6. Miks kasutatakse ja mis on 4NF
    7. Miks kasutatakse ja mis on ETNF 
    8. Miks kasutatakse ja mis on 5NF
    9. Miks kasutatakse ja mis on DKNF
    10. Miks kasutatakse ja mis on 6NF

    Millises seisus võiks olla (peaks olema) meeskonnatöö

    1. Te teate, mida te tahate teha
    2. Esimesed tabelid on olemas
    3. Midagi juba koodis liigub
    4. Teil kõikidel on teada mida ja kuidas tuleks teha (otele selle omavahel läbi arutanud)
    5. Meeskond toimib ja panustab
    6. Olete käinud Jelena, Karl-Eriku või minu juures oma tööd näitamas ja Jelena, Karl-Erik või mina on üldiselt seisuga rahul 

      

    Kõikide oma esmaspäevase hajutustunni gruppidega tahan teha eraldi grupiprogrammeerimise päeva (vähemalt 4 tundi iga grupiga eraldi). Pakkuge Teamsis või meilitsi ajad. Tuleb tulla kohale IT maja 6 korrus.
  • 10. Nädal - Refaktoorimine

    Loengus räägin refaktoorimisest. Slaidid on siin.

    Video tuleb siia.

    Kordamisküsimused

    1. Refaktoorimine
    2. Puhas kood
    3. SOLID
    4. KIS
    5. DRY
    6. Kuidas kõik seotud testimisega


  • 11. Nädal - GRASP mustrid - miks ja kuidas

    Loengu slaidid on siin

    Loengus selgitan ja näitan ka viiteid ABC koodile, et kuidas GRASP mustrid töötavad ja kuidas neid reaalses koodis kasutatakse.

    Selgitan seda pilti.



    Kordamisküsimused

    • Selgitada OOP abstraktriooni olemust ja tuua näiteid
    • Selgitada OOP pärilikkuse olemust ja tuua näiteid
    • Selgitada OOP kapseldamise olemust ja tuua näiteid
    • Selgitada OOP polümorfismi olemust ja tuua näiteid
    • Selgitada OOP kompositsiooni olemust ja tuua näiteid
    • Selgitada koodinäidete põhjal Creator mustrit
    • Selgitada koodinäidete põhjal Information Expert mustrit
    • Selgitada koodinäidete põhjal Low Coupling mustrit
    • Selgitada koodinäidete põhjal Controller mustrit
    • Selgitada koodinäidete põhjal High Cohesion mustrit
    • Selgitada koodinäidete põhjal Indirection mustrit
    • Selgitada koodinäidete põhjal Protected Variation mustrit
    • Selgitada koodinäidete põhjal Pure Fabrication mustrit

    Meeskonnatöös võiksid esimesed vaated ollla pildil 

  • 12. Nädal - GoF mustrid, miks ja kus

    Loengu slaidid on siin
    Loengus kasutan GoF mustrite koodinäiteid. Kood on siin.

    Kordamisküsimused
    1. Peab teadma GoF mustreid;
    2. Iga mustri kohta, miks seda kasutatakse;
    3. Ka üldine arusaam, kuidas mingit mustrit programmeeritakse;
    Ja kaks "suurepärase" hinde küsimust (nendel, kes viitsivad lugeda, mõtelda ja arutada :))
    4. Toote (ise mõtlete välja või uurite, minu näited ei ole OK) reaalelulisi näiteid kus saab mingit mustrit kasutada (kus kasutaksite, näiteks enda koodis).
    5. Analüüsite kas Arlow ja Neustadt või ka Fowleri mustreid ja näitate, millises Arlow/Neustadt või Fowleri mustris saab kasutada(kasutatakse, oleks mõistlik Teie arvates) kasutada GoF mustreid.

    Neid kahte ei pea teadama peast. Kui näitate mulle konspekti, kus olete seda teinud ja välja pakkunud, on ok. Kui tehakse ja arutatakse meeskonnas, siis peab iga meeskonna liikmel siiski olema mingi enda eriline ja ainuomane näide või lahendus.  

  • Nädal 13 - Kordamine - Mustrid Abc koodis

    Projekti eelkaitsmine 14. nädalal Teamsis
    29.11.2021 14:00 - 18:00
    30.11.2021 09:00 - 13:00
    03.11.2021 08:00 - 12:00


    Alates 14. nädalast on igal meeskonnal võimalus oma projekti kaitsta. Selle jaoks tuleb valida registreerimisvormil enda meeskonnale sobiv aeg ning laadida üles kood ja dokumentatsioon. Kaitsmine toimub ISA3 praktikumide ajal ning igale grupile on määratud 30 minutit. NB! Kaitsta võib igal sobival päeval ehk ei pea osalema enda tunni ajal. Meeskonnad kes kaitsevad 14. nädalal saavad võimaluse vajaduse korral teha muudatusi ning hiljem uuesti kaitsta. Teistel nädalatel seda võimalust pole.
    Ettekanne jaguneb kaheks osaks - teie esitlus (15-20 min) ja meie küsimused (10-15 min). Esimeses osas soovime näha:
    • Koodi - k.a live demo. Ei pea kõike ega lihtsaid asju näitama aga keerulisemad ning huvitavad asjad on ka meie jaoks huvipakkuv.
    • Testid - kuidas on testitud, keerukamad kohad ja kattuvus
    • Kuidas meeskond töötas ja üksteise hinnang skaalal -2 kuni +2 (kogusumma peab olema 0). Ehk kui kõik töötavad võrdselt siis kõigile "0".
    Hinne ei panda kohe peale kaitsmist kuna õppejõud vaatavad ka eraldi dokumendi ja koodi üle. Kes ei ole pakutud hindega rahul siis on võimalus seda eksamil parandada.

    Kaitsmisel ole valmis vajaduse korral esitama ka oma tööde ja tegemiste logi.

    14. nädala kaitsmise ajad - link

    Kaitsmise aeg tuleb reserveerida hiljemalt 24 tundi enne kaitsmist

    • Esmaspäeval on võimalik kaitsta nii klassis kui Teamsis
    • Teisipäeval on ainult Teamsis
    • Reedel on ainult Teamsis


  • 14. Nädal - Kordamine - Mustrid Abc koodis

    Loengu slaidid on siin

    Kordamisküsimused on kõik 11 nädala joonisel näha. Kõiki joonisel olevad mõsiteid ja nende tähendusi tuleb teada.


    15. nädala kaitsmise ajad - link

    Kaitsmise aeg tuleb reserveerida hiljemalt 24 tundi enne kaitsmist

    • Esmaspäeval on võimalik kaitsta nii klassis kui Teamsis
    • Teisipäeval on ainult Teamsis
    • Reedel on ainult Teamsis

  • 15. Nädal - Kordamine - GoF mustrid ABC koodis

    Loengu slaidid on siin

    Nõuded projekti sisule

    Projekteeritud süsteemis peab olema vähemalt viis sisulist andmetabelit ja vähemalt 2000 rida koodi iga meeskonna liikme kohta.

    Luua tuleb ühik-, integratsiooni- ja vastuvõtutestid. Testidega kattuvus peab olema vähemalt 90%

    Projekt ja selle kaitsmine (kuni 30% hindest)

    • Andmebaasikiht (6%).
    • Loogikakiht: mustrite kasutamine ja puhas kood (6%).
    • Kasutajaliidese kiht (6%).
    • Testid ja testidega kattuvus (6%).
    • Dokumentatsioon (6%):
      • Sissejuhatus (taust, eesmärk, töö struktuur)
      • Metoodika (objekt, tööriistad, protsess)
      • Peamised tulemused (dokumenteeritud arhitektuur ja disain kasutades UML klassidiagramme)
      • Analüüs ja arutelu (milliseid mustreid ja miks kasutasite, milliseid mustreid oleks veel saanud kasutada ja kus, mis läks valesti, mis hästi, kuidas meeskond töötas)
      • Kokkuvõte

    • Hiljemalt kaitsmisele eelneval päeval kell 14:00 laadige üles oma tööga kaasnevad materjalid (kood, dokument, logid) .zip failina või nende lingid.

  • Meeskonnatööde kaitsmine ja eksam

    • Hiljemalt kaitsmisele eelneval päeval kell 14:00 laadige üles oma tööga kaasnevad materjalid (kood, dokument, logid) .zip failina või nende lingid.

    • Kes on meeskonnaprojekti kohta tagasiside saanud, võivad siia muudatused laadida.

    • Siia saab üles laadida oma individuaalse hinde ja panuse dokumenti