Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2013)

From ICO wiki
Jump to navigationJump to search

Kodutöö aines "Programmeerimine C# keeles"

Eesmärk

Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet.

Reeglid

Ühte projektimeeskonda kuulub 3-4 tudengit. Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis). Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service'it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com .

Tähtaegadest kinnipidamine

Projekt jaguneb alamosadeks, millele on määratud tähtajad. Maksimumpunktide saavutamiseks tuleb tähtajaks esitada töö, mis vastab püstitatud nõuetele. Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.

Näide: Töö esitamise tähtaeg on 4.09.2013 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p Meeskond2 esitab töö, mis vastab nõuetele 05.09.2013 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti. Meeskond3 esitab töö, mis vastab nõuetele 06.09.2013 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.

Hindamine

Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud. Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min). Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.

Meeskonna kokkupanek ja idee

23.11.2013 (2p)

Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Paari sõnaga peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav.

Analüüs

23.11.2013 (6p) Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.NB! Miinimum sõnade arv 700 Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:

  • Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.
  • Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(Must have)
  • Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(Nice to have)

Retsensioon 30.11.2013 (3p)

Prototüüp

14.12.2013(10p)

Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.

Retsensioon 21.12.2013(5p)

Lõpptoode

05.01.2014(20p) Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.

Retsensioon 11.01.2014(5p)

Esitlus/Kaitsmine

Toimub loengutes/praktikumides (4p) Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.

Kaitsmise ajad

Siia ilmuvad kaitsmise ajad

Teemad 2013 sügis

Kodutööna tuleb luua:

Kodune raamatukogu

Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada. Loo rakendus, mis

  • Võimaldaks sisestada kodused raamatud
  • Võimaldaks luua laenutajate profiile
  • Raamatuid välja laenutada (tähtajaliselt)
  • Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)


Lisavõimalused

  • Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”
  • Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.
  • Lase lisada raamatutele pilt
  • Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)

Või

CRM

Oma klientidest peab olema ülevaade. Loo rakendus, mis võimaldab:

  • Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada
  • Võimalda sisestada kliendikontakte
  • Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.
  • Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid


Lisavõimalused

  • Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega
  • Õnnitlusmeilide template’sid võiks olla mitu
  • Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis

Tetris(XNA)

XoniX(XNA)

Nõuded rakendusele

Loodav rakendus peab:

  • Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)
  • Peab võimaldama tegevuste kohta registri pidamist (logi)
  • Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone 8, Windows 8 Store App või ASP.Net

Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid

Lisapunkte annab:

  • Silmailu
  • Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)
  • Orginaalsed ideed ja hea äriidee

Nõuded XNA projektile

Loodav mäng peab sisaldama:

  • Erinevaid tasemeid
  • Punktiarvestust
  • XBox puldi tuge
  • Klaviatuurilt juhtimise tuge

Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid

Lisapunkte annab:

  • Silmailu
  • Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)
  • Orginaalsed ideed ja hea story


Meeskonnad 2013

Meeskond Team Project Estonia

Meeskonna wiki leht: Team Project Estonia

Meeskonna liikmed:

  • Ott Kingisepp (projektijuht)
  • Silja Saar (idee autor)
  • Marianne Trubetskoi (wiki)

Teema: Aktsiainvestori abimees

Analüüs: analüüs

Meie retsenseerime: Analüüsi retsensioon meeskonnale Diletandid

Meeskond Margus & Tõnis

Meeskonna wiki leht: Margus ja Tõnis

Meeskonna liikmed:

  • Margus Roo (projektijuht)
  • Tõnis Luik

Teema: Lihtne laoarvestus

Analüüs: analüüs

Meie retsenseerime: Team Project Estonia retsensioon

Võistkond mrFred

Võistkonna wiki leht: mrFred

Võistkonna liikmed:

  • Rait Saar (projektijuht)
  • Vivian Uibo
  • Martin Vahramäe
  • Eva Loolaid-Raudpuu


Teema: Aiamaa planeerimise abivahend

Analüüs: mrFred

Analüüsi retsensiooni koostab meeskond .BUG. Seda 30. novembriks.

Meeskond Duo

Meeskonna wiki leht: Meeskond_Duo

Võistkonna liikmed:

  • Ranek Runthal (projektijuht)
  • Kaia Pikaru

Teema: Kodulaenutus

22.11.2013 Analüüs: Meeskond_Duo

27.11.2013 Retsensioon "Margus Tonis"

30.11.2013 Meeskond Duo analüüsi retsenseerib meeskond MovieHunters

Meeskond Diletandid

Meeskonna liikmed:

  • Madis Uudam
  • Kristjan Kebja
  • Olle Mikk

Teema: Aegade broneerimise rakendus

Meeskonna Diletandid blogi

Rakenduse analüüs

Analüüsi retsensioon meeskonnale Diletandid

Analüüsi retsensioon meeskonnale .BUG

Meeskond .BUG

Meeskonna liikmed:

  • Mattiko Kabanen(projektijuht)
  • Harles Luts
  • Rain Adamson
  • Teele Sepman


Teema: Inimressursside planeerija

"Meeskonna .BUG wikileht(sh projekti analüüs)"

".BUG-i logiraamat"

Analüüsi retsensioon meeskonnale .BUG

Meeskond .BUG retsenseerib gruppi mrFred.

Meeskond Raamatukoid

Meeskonna wiki leht: Raamatukoid

Meeskonna liikmed:

  • Rando Mais (skype:randomais)
  • xxx
  • xxx

Teema: Kodune raamatukogu

Analüüs: Raamatukoid


Meeskond MovieHunters

Meeskonna wiki leht: MovieHunters

Meeskonna liikmed:

  • Kaur Tammik (projektijuht)
  • Karit Michalski

Teema: Filmiarvustusrakendus

Analüüs: MovieHunters


Meeskond Lennukad Ideed

Meeskonna wiki leht: Lennukad Ideed

Meeskonna liikmed:

  • Yogesh Sharma
  • Jaan Narva
  • Arvi Kangas

Teema: Asjade Laenutus

Analüüs: Lennukad Ideed


Meeskond Ainsus

Meeskonna wiki leht: DistFuzz

Meeskonna liikmed:

  • Jaanus Kääp

Teema: Distributed Fuzzer

Analüüs: DistFuzz