Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2016)

From ICO wiki
Revision as of 10:30, 12 October 2016 by Aasser (talk | contribs) (→‎Päevaõpe)
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. Kasutada arendusprotsessis koodihoidlat.

Reeglid

Ühte projektimeeskonda kuulub 3-5 tudengit(Soovituslik meeskonna suurus on 3-4). Ü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.

Projekti loomine ja arendamine 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 . Projekt peab olema alates algfaasist lisatud TFSi ning kogu tööprotsess toimub versioonihaldust kasutades

Tööde esitamine (prototüüb ja lõpptoode) Töö esitamisel pakitakse see kokku ning lisatakse wiki leheküljele link lähtekoodile. Kui töö lähtekoodi ei soovita mingil põhjusel avalikustata, tuleb õppejõuga selle jaoks sõlmida eraldi kokkulepe. Lähtekood on vajalik, et tööd oleks võimalik hinnata nii õppejõul kui kaastudengitel selle kohta retsensiooni kirjutada.

Team Foundation Service kasutamine (tänasel päeval Visual Studio online) Step-by-Step juhend

NB! Versioonihalduse kohta jagab õppejõud materjale.

Tähtaegadest kinnipidamine

Projekt jaguneb alamosadeks, millele on määratud tähtajad. Tähtaegade ületamisel võimalike punkte ei kaotata. Kui töö aga on esitatud tähtajaks, siis on võimalik selle eest teenida boonuspunkte (enamasti 0-10% võimalikust maksimumist boonust). Enne tähtaega esitatud töö ei tähenda automaatselt maksimumpunkte, kui see ei ole sooritatud korralikult.

NB! Juhul kui analüüsi tähtajast on möödunud nädal, määrab õppejõud meeskonnale ise vabalt valitud ülesande, mis on võetud näidis teemade alt. Peale seda ei ole võimalik teemat enam muuta.

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

15.10.2016 (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. Lühidalt peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav. Samuti peab olema märgitud tehnoloogia, milles hakatakse rakendust looma. Meeskond on loonud TFSi konto ning on saatnud õppejõule kutse.

Analüüs

01.11.2016 (4p) 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 08.11.2016 (3p)

Prototüüp + esitlemine

20.11.2016 (10p)

Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Rakenduses on loodud erinevad vaated, mis võimaldavad ülevaate rakendusest saada.

20. novembril esitatakse prototüüp, mida kaitstakse sellele järgneval nädalal. NB! Juhul kui prototüüpi ei kaitsa ja ei esitata, siis ei ole võimalik selle osa eest punkte saada.

Lõpptoode

18.12.2016(30p) 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 08.01.2016(4p)

Esitlus/Kaitsmine

Toimub loengutes/praktikumides või kokkulepitud ajal enne eksamit (3p) 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 alla ilmuvad detsembris kaitsmise ajad.

Ideaalne esitlus, sisaldab endas ka powerpointi, kus on

  • väljatoodud meeskonna nimi ja liikmed
  • idee
  • realiseerimine
  • mis oli keerukas?
  • mida uut õpiti?
  • mõnede keerulisemate probleemide lahendamine
  • meeskonnaliikmete panus

Kaitsmise käigus vaadatakse üle ka kood.

Teemad 2016 sügis

Kodutööna tuleb luua:

Nõuded rakendusele

Loodav rakendus peab:

  • Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)
    • Andmebaasis peab olema vähemalt 6 andmebaasi tabelit
  • Peab võimaldama tegevuste kohta registri pidamist (logi)
    • Rakenduses tehtavad tegevused salvestatakse
  • Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone , Windows Store App või ASP.Net
  • Kood on kommenteeritud ning rakendus on varustatud dokumentatsiooniga
  • Maksimumpunktide jaoks kasutatakse vastavalt valitud tehnoloogiale soovitatud arendusmustreid
  • Kood on kirjutatud C# programmeerimiskeeles
    • Kuna aine nimi on "Programmeerimine C# keeles" ei tohi esitada rakendust, mis on loodud Javas, PHPs vms keeles
  • Rakendus on jaotatud kihtidesse

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

  • Kood on kommenteeritud

Lisapunkte annab:

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

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

Mäng(Unit)

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 2016

Päevaõpe

Meeskond: Kuri Kohvikupidaja

Liikmed:

  • Egert Aia

Meeskonna koduleht: Kuri_Kohvikupidaja

Retsensioonid TODO

Lõpptoode Kättesaadav siit: https://drive.google.com/open?id=0BxPYMOn_Lvs6U3g2Rm53TTNZWmc

Sisse saab logida jalutsis vajutades login

admini log: 1@eesti.ee

admini pw: a


PS! Checkboxe valides vali esimest checkboxi nii et teed selle aktiivseks ja siis võtad linnukese jälle ära, pärast seda kõik checkboxid töötavad ilusti! =)

Meeskond: Pirate Netflix

Liikmed:

  • Arti Zirk
  • Mihkel Vajak
  • Janno Oolo
  • Joosep Voolmaa

Meeskonna koduleht: Pirate_Netflix

Retsensioonid TODO

Lõpptoode TODO

Meeskond: D♭

Liikmed:

  • Semjon Greef
  • Martin Arusalu
  • Martin Nõukas
  • Roomet Saadi

Meeskonna koduleht: Meeskond: D♭

Retsensioonid TODO

Lõpptoode TODO

Meeskond: ParkWell

Liikmed:

  • Taavi Vesinurm
  • Raido Vell
  • Madis Roosioks

Meeskonna koduleht: ParkWell

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Bomory

Liikmed:

  • Hando Laasmägi
  • Tarvo Tammejuur
  • Cathy Toomast

Meeskonna koduleht: Bomory

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Kassarakendus

Liikmed:

  • Mikk Sarapuu
  • Meelis Sääsk
  • Piret Pomerants

Meeskonna koduleht: Kassarakendus

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Messenger chat

Liikmed:

  • Villem Markus Loigom
  • Olari Pipenberg
  • Uku-Mart Uprus
  • Ardo Erik

Meeskonna koduleht: Messenger_chat

Retsensioonid NA

Lõpptoode NA


Meeskond: Hidden Mustard

Liikmed:

  • Andreas Kirotar
  • Tõnn Vaher
  • Aivar Romandi
  • Anneli Asser

Meeskonna koduleht: Hidden Mustard

Retsensioonid TODO

Lõpptoode TODO

Kaugõpe

Meeskond: Autoparandaja

Liikmed:

  • Mihkel Viilveer

Meeskonna koduleht: Autoparandaja

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Paabel

Liikmed:

  • Rutt Lindström
  • Esta Prangel
  • Krista Rüütel
  • Liina Abner

Meeskonna koduleht: Paabel

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Agraarbeib

Liikmed:

  • Marianne Trubetskoi
  • Taavi Tilk
  • Mihkel Matson
  • Kaia Runthal

Meeskonna koduleht: Agraarbeib

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Earth 2.0

Liikmed:

  • Liina Saar
  • Mart Raus
  • Ando Kiidron
  • Andres Kepler

Meeskonna koduleht: Earth 2.0

Projekti TFS: [1]

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Laener

Liikmed:

  • Martin Kask
  • Marko Nõu
  • Anto Animägi

Meeskonna koduleht: Laener

Projekti TFS: [2]

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Vitamin C#

Liikmed:

  • Marko Belzetski
  • Rene Väli
  • Kaia Tomson

Meeskonna koduleht: Vitamin C#

Projekti TFS: TODO

Retsensioonid TODO

Lõpptoode TODO

Meeskond: Kingalaenutus

Liikmed:

  • Kristi Saare
  • Kersti Maurer
  • Liisi Taimre


Meeskonna koduleht: Kingalaenutus


Retsensioonid TODO

Lõpptoode TODO

Meeskond: Isearve

Liikmed:

  • Siim Kallari
  • Priit Tiganik

Meeskonna koduleht: Isearve

Projekti TFS: https://isearve.visualstudio.com/IseArve

Retsensioonid TODO

Lõpptoode TODO

Meeskond: DevHelp

Liikmed:

  • Martin Jääger (projektijuht)
  • Mikk Erlenheim
  • Kristo Leemets

Meeskonna koduleht: DevHelp

Retsensioonid TODO

Lõpptoode TODO

Projekti TFS: [3]

Meeskond: Elekter

Liikmed:

  • Sigrid Aasma
  • Kristo Oidermaa
  • Tiit Post

Meeskonna koduleht: Elekter

Projekti TFS:

Meeskond: Battle2048

Liikmed:

  • Andrus Seiman
  • Annely Aasalaid
  • Kristjan Peterson

Meeskonna koduleht: Battle2048

Projekti TFS: TODO

Retsensioonid TODO

Lõpptoode TODO