https://wiki.itcollege.ee/api.php?action=feedcontributions&user=Ahokkone&feedformat=atomICO wiki - User contributions [en]2024-03-29T05:49:46ZUser contributionsMediaWiki 1.41.0https://wiki.itcollege.ee/index.php?title=Leemur&diff=63783Leemur2013-05-31T20:16:12Z<p>Ahokkone: /* Veebiteenus */</p>
<hr />
<div>==[[Leemur|Meeskond "Leemur"]] ==<br />
*Liikmed<br />
**Marika Mäemets<br />
**Rasmus Hommuk<br />
**Mairo Puusepp<br />
**Einar Kivisalu<br />
<br />
[[Category:Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2013(kaugõpe)]]<br />
<br />
== Idee ==<br />
<br />
Et käesoleval hetkel on aktuaalne teedelagunemine ja augud tekivad igalepoole üleöö, siis on meie XML asfaldiaukude teemaline.<br />
<br />
== XML ==<br />
<br />
=== XML fail ===<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<teeauk><br />
<tänavad><br />
<tänav id = "CU00609359" tyyp = "tänav"><br />
<nimi>Raja</nimi><br />
<pikkus yhik="meeter">856</pikkus><br />
<augud><br />
<auk id = "1"><br />
<xkoord>6584427.3</xkoord><br />
<ykoord>537660</ykoord><br />
<sügavus yhik="meeter">0.08</sügavus><br />
<pindala yhik="ruutmeeter">0.4</pindala><br />
<teataja id = "1"><br />
<nimi>Peeter Linnakodanik</nimi><br />
<roll>autojuht</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-04-10</likvideeritud><br />
</auk><br />
<auk id = "2"><br />
<xkoord>6584348.6</xkoord><br />
<ykoord>537658.6</ykoord><br />
<sügavus yhik="meeter">0.8</sügavus><br />
<pindala yhik="ruutmeeter">0.54</pindala><br />
<teataja id = "1"><br />
<nimi>Peeter Linnakodanik</nimi><br />
<roll>autojuht</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
</auk><br />
</augud><br />
</tänav><br />
<tänav id = "CU00464822" tyyp = "tänav"><br />
<nimi>Ehitajate tee</nimi><br />
<pikkus yhik="meeter">23</pikkus><br />
<augud><br />
<auk id = "3"><br />
<xkoord>6584526.2</xkoord><br />
<ykoord>537923.8</ykoord><br />
<sügavus yhik="meeter">0.9</sügavus><br />
<pindala yhik="ruutmeeter">0.5</pindala><br />
<teataja id = "2"><br />
<nimi>Jüri Kõvaametnik</nimi><br />
<roll>Maanteeameti kontroll</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
<auk id = "4"><br />
<xkoord>6584655.9</xkoord><br />
<ykoord>537637.5</ykoord><br />
<sügavus yhik="meeter">0.6</sügavus><br />
<pindala yhik="ruutmeeter">0.7</pindala><br />
<teataja id = "2"><br />
<nimi>Jüri Kõvaametnik</nimi><br />
<roll>Maanteeameti kontroll</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
<auk id = "5"><br />
<xkoord>6584532</xkoord><br />
<ykoord>537954.2</ykoord><br />
<sügavus yhik="meeter">0.6</sügavus><br />
<pindala yhik="ruutmeeter">1.7</pindala><br />
<teataja id = "2"><br />
<nimi>Jüri Kõvaametnik</nimi><br />
<roll>Maanteeameti kontroll</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
</augud><br />
</tänav><br />
<tänav id = "CU00464824" tyyp = "tänav"><br />
<nimi>Sõpruse puiestee</nimi><br />
<pikkus yhik="meeter">4623</pikkus><br />
<augud><br />
<auk id = "6"><br />
<xkoord>6584621.1</xkoord><br />
<ykoord>538267</ykoord><br />
<sügavus yhik="meeter">0.11</sügavus><br />
<pindala yhik="ruutmeeter">2.7</pindala><br />
<teataja id = "2"><br />
<nimi>Jüri Kõvaametnik</nimi><br />
<roll>Maanteeameti kontroll</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
</augud><br />
</tänav><br />
<br />
<tänav id = "CU00072238" tyyp = "tänav"><br />
<nimi>Ranna tee</nimi><br />
<pikkus yhik="meeter">623</pikkus><br />
<augud><br />
<auk id = "11"><br />
<xkoord>6587966.2</xkoord><br />
<ykoord>531049.2</ykoord><br />
<sügavus yhik="meeter">0.07</sügavus><br />
<pindala yhik="ruutmeeter">0.25</pindala><br />
<teataja id = "3"><br />
<nimi>Mari Vallaametnik</nimi><br />
<roll>Vallavalitsuse insener</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
</augud><br />
</tänav><br />
<tänav id = "CU00072411" tyyp = "tänav"><br />
<nimi>Ranna tee</nimi><br />
<pikkus yhik="meeter">1023</pikkus><br />
<augud><br />
<auk id = "12"><br />
<xkoord>6587827.8</xkoord><br />
<ykoord>531034.3</ykoord><br />
<sügavus yhik="meeter">0.07</sügavus><br />
<pindala yhik="ruutmeeter">0.75</pindala><br />
<teataja id = "3"><br />
<nimi>Mari Vallaametnik</nimi><br />
<roll>Vallavalitsuse insener</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
</augud><br />
</tänav><br />
<tänav id = "CU00069699" tyyp = "maantee"><br />
<nimi>Klooga mnt</nimi><br />
<pikkus yhik="meeter">623</pikkus><br />
<augud><br />
<auk id = "13"><br />
<xkoord>6588082</xkoord><br />
<ykoord>531159.8</ykoord><br />
<sügavus yhik="meeter">0.16</sügavus><br />
<pindala yhik="ruutmeeter">0.75</pindala><br />
<teataja id = "3"><br />
<nimi>Mari Vallaametnik</nimi><br />
<roll>Vallavalitsuse insener</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
</augud><br />
</tänav><br />
<br />
<tänav id = "CU02094396" tyyp = "tänav"><br />
<nimi>Nõlvaku tänav</nimi><br />
<pikkus yhik="meeter">823</pikkus><br />
<augud><br />
<auk id = "11"><br />
<xkoord>6579325.4</xkoord><br />
<ykoord>536312.7</ykoord><br />
<sügavus yhik="meeter">0.11</sügavus><br />
<pindala yhik="ruutmeeter">1.55</pindala><br />
<teataja id = "4"><br />
<nimi>Ülo Vallavanem</nimi><br />
<roll>Vallavanem</roll><br />
</teataja><br />
<avastatud>2013-02-15</avastatud><br />
<likvideeritud>2013-02-15</likvideeritud><br />
</auk><br />
</augud><br />
</tänav><br />
</tänavad><br />
<br />
</teeauk><br />
<br />
</source><br />
<br />
=== XSD fail ===<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema id="XMLSchema1"<br />
targetNamespace="http://tempuri.org/teeauk.xsd"<br />
elementFormDefault="qualified"<br />
xmlns="http://tempuri.org/teeauk.xsd"<br />
xmlns:mstns="http://tempuri.org/teeauk.xsd"<br />
xmlns:xs="http://www.w3.org/2001/XMLSchema"<br />
><br />
<xs:simpleType name="yhikpikkus"><br />
<xs:restriction base="xs:string"><br />
<xs:enumeration value="meeter"/><br />
</xs:restriction><br />
</xs:simpleType><br />
<br />
<xs:simpleType name="yhiksygavus"><br />
<xs:restriction base="xs:string"><br />
<xs:enumeration value="meeter"/><br />
</xs:restriction><br />
</xs:simpleType><br />
<br />
<xs:simpleType name="yhikpindala"><br />
<xs:restriction base="xs:string"><br />
<xs:enumeration value="ruutmeeter"/><br />
</xs:restriction><br />
</xs:simpleType><br />
<br />
<xs:element name="teeauk"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element minOccurs ="0" maxOccurs="unbounded" name="tänavad"><br />
<xs:complexType><br />
<xs:choice><br />
<xs:element minOccurs ="0" maxOccurs="unbounded" name="tänav"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="nimi" type="xs:string"></xs:element><br />
<xs:element name="pikkus"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:int"><br />
<xs:attribute name="yhik" type="yhikpikkus"/><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="augud"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="auk"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="xkoord" type="xs:double"></xs:element><br />
<xs:element name="ykoord" type="xs:double"></xs:element><br />
<xs:element name="sügavus"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:double"><br />
<xs:attribute name="yhik" type="yhiksygavus"/><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="pindala"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:double"><br />
<xs:attribute name="yhik" type="yhikpindala"/><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="teataja"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="nimi" type="xs:string"></xs:element><br />
<xs:element name="roll" type="xs:string"></xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int"></xs:attribute><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="avastatud" type="xs:date"></xs:element><br />
<xs:element name="likvideeritud" type="xs:date" minOccurs ="0"></xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int"></xs:attribute><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:string"></xs:attribute><br />
<xs:attribute name="tyyp" type="xs:string"></xs:attribute><br />
</xs:complexType><br />
</xs:element><br />
</xs:choice><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
<br />
<br />
</source><br />
<br />
=== XSLT failid ===<br />
<br />
<br />
<br />
==Asfaldiaukude tabel==<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><br />
<xsl:output method="html" indent="yes"/><br />
<xsl:template match="/"><br />
<html><br />
<head><br />
<title>Asfaldiaugud üle kogu maa</title><br />
</head><br />
<body><br />
<h1>Asfaldiaukude nimekiri</h1><br />
<ul><br />
<xsl:for-each select="/teeauk/tänavad/tänav"><br />
<li><br />
<xsl:value-of select="nimi"/><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="@tyyp"/><br />
<xsl:text>-</xsl:text><br />
<xsl:value-of select="pikkus"/><br />
<xsl:value-of select="@yhik"/><br />
<xsl:text>-</xsl:text><br />
<table border="1"><br />
<th><br />
<td>Koordinaadid</td><br />
<td>Sügavus ja pindlala</td><br />
<td>Teavitaja</td><br />
<td>Avastatud</td><br />
<td>Likvideeritud</td><br />
</th><br />
<xsl:for-each select="augud/auk"><br />
<tr><br />
<td><br />
<xsl:value-of select="@id" /><br />
</td><br />
<td><br />
<xsl:text>X </xsl:text><br />
<xsl:value-of select="xkoord" /><br />
<br/><br />
<xsl:text>Y </xsl:text><br />
<xsl:value-of select="ykoord" /><br />
</td><br />
<td><br />
<xsl:value-of select="sügavus" /><br />
<br/><br />
<xsl:value-of select="pindala" /><br />
</td><br />
<td><br />
<xsl:value-of select="teataja/nimi" /><br />
<br/><br />
<xsl:value-of select="teataja/roll" /><br />
</td><br />
<td><br />
<xsl:value-of select="avastatud" /><br />
</td><br />
<td><br />
<xsl:value-of select="likvideeritud" /><br />
<xsl:text>.</xsl:text><br />
</td><br />
</tr><br />
</xsl:for-each><br />
</table><br />
</li><br />
</xsl:for-each><br />
</ul><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
<br />
</source><br />
<br />
==Aukudest teatajad ==<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><br />
<xsl:output method="html" indent="yes"/><br />
<xsl:template match="/"><br />
<html><br />
<head><br />
<title>Asfaldiaugud üle kogu maa</title><br />
</head><br />
<body><br />
<h1>Aukudest teatajate nimekiri</h1><br />
<ul><br />
<xsl:for-each select="/teeauk/tänavad/tänav/augud/auk/teataja"><br />
<li><br />
<xsl:value-of select="./nimi"/><br />
<xsl:text> - </xsl:text><br />
<xsl:value-of select="./roll"/><br />
<xsl:text> </xsl:text><br />
</li><br />
</xsl:for-each><br />
</ul><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
<br />
</source><br />
<br />
== Tänavate nimekiri ==<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<html><br />
<head><br />
<title>Teede/tänavate nimekiri</title><br />
</head><br />
<body><br />
<h1>Teede/tänavate nimekiri</h1><br />
<ul><br />
<xsl:for-each select="/teeauk/tänavad/tänav"><br />
<li><br />
<xsl:value-of select="./nimi"/><br />
<xsl:text> - </xsl:text><br />
<xsl:value-of select="./pikkus"/><br />
<xsl:text> meetrit </xsl:text><br />
</li><br />
</xsl:for-each><br />
</ul><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
<br />
</source><br />
<br />
== Retsensioonid ==<br />
<br />
=== XML ===<br />
====XML====<br />
XML-failis on 6 loogilist dimensiooni. Tasemete kaupa välja kirjutatuna:<br />
tase 1: teeauk<br />
tase 2: tänavad<br />
tase 3: tänav (atribuudid: tüüp)<br />
tase 4: nimi, pikkus, augud<br />
tase 5: auk<br />
tase 6: xkoord, ykoord, sügavus, pindala, teataja, avastatud, likvideeritud.<br />
Atribuute on kasutatud nõuetele vastavas koguses. Taseme "tänav" juurde on loodud atribuut "tyyp", mis võib olla kas "tänav" või "maantee". Rühma Leemur oleks võinud paari sõnaga kommenteerida, miks on tänava ja maantee eristamine oluline.<br />
<br />
====XSD====<br />
XSD-faili põhjal võib aukudega tänavaid ka üldse mitte eksisteerida või olla piiramata arv. Põhimõtteliselt võiks tänavate arv olla piiratud mõne mõistliku numbriga, aga samas ei tohiks ka piiramata arv olla probleem.<br />
Dimensioon "tänavad" sisaldab järgmise tasemena elemente tüübist "tänav". Miks on sealjuures taseme "tänavad" elementide kirjeldamiseks kasutatud tag'i "choise", mille sees on ainult üks element?<br />
Dimensiooni "tänavad" elemendid peavad olema kirjeldatud kindlas järjekorras (nimi, pikkus, augud). Koodi loetavuse seisukohalt on hea, kui see nii on.<br />
Atribuutide kirjelduses võiks ehk augu pindala ja sügavus olla lubatud kirjeldada ka vastavalt sentimeetrites ja ruutsentimeetrites.<br />
<br />
====XSL====<br />
XSL-faile on kokku 3, mida on rohkem kui minimaalselt nõutud- 2.<br />
Asfaldiaukude tabel<br />
Tabelis on augu id, koordinaadid, pindala, teataja nimi ja roll, avastamise ja likvideerimise kuupäev.<br />
Aukudest teatajate tabel<br />
Tabelis näidatakse teatajate nimesid ja rollisid.<br />
Tänavate tabel<br />
Näidatakse tänavanimesid koos tänavate pikkustega.<br />
Mõne sõnaga võiks ehk kirjeldada, millist eesmärki html-kujule teisendatud tabelid kasutaja seisukohast võiksid täita.<br />
<br />
Kokkuvõtvalt võib öelda, et meeskond "Leemur" on oma XML-, XSD -ja XSL-failid koostanud loogiliselt ja hästi struktureeritult.<br />
<br />
Meeskond TeravC<br />
<br />
--------------------<br />
<br />
Tiim "Leemur" on pakkunud välja XML liidese definitsiooni tänavaaukude kohta käiva info edastamiseks. Teema on igati ajakohane ning antud lahendus omab ka reaalset rakendust näiteks autojuhi GPS tarkvaras. Iseasi, et andmemahu kokkuhoiu mõttes võibolla oleks kasulik terved kohad edastada aukude asemel.<br />
<br />
<br />
Esitatud lahendus vastab kodutöös nõutud tingimustele ja ootustele keerukuse osas ning isegi ületab neid. XML faili struktuur on arusaadav ja lisakommentaare ei vaja.<br />
Näidisena välja pakutud XSLT abil õnnestub genereerida väljund nii HTML kui XML formaadis.<br />
<br />
<br />
Andmete grupeerimine tänavate kaupa tundub mõistlik arvestades potentsiaalse info tarbija vajadust saada infot parasjagu läbitava tänava kohta. Tänava pikkuse esitamise vajadusest ei saa hästi aru. Aukudel on ka omadus taastekkida, antud struktuur võimaldab aga esitada ühe(viimase?) teataja ning parandaja. Rakenduse võib muidugi luua selliselt, et uuesti teatades muutub parandaja väli väljund XML'is uuesti tühjaks. samas oleks hea info aukude kohta, mis pidevalt lagunevad ja parandatud saavad.<br />
<br />
<br />
XML välja nimetuses täpitähtede kasutamine ei pruugi olla alati hea mõte, ehkki on loomulikult lubatud.<br />
<br />
Meeskond Hops<br />
<br />
<br />
== Veebiteenus ==<br />
<br />
Jätkame asfaldiaukude teemaga, kuna tänavate seisukord on endiselt päevakorral olev teema ja ei ole näha, et see aktuaalsuse minetaks.<br />
<br />
Veebiteenus peab olema valmis ja ja wikilehel kirjeldatud hiljemalt 20. mai 2013.<br />
<br />
Retsensioonid veebiteenuste kohta peavad tehtud olema 27. mai 2013<br />
<br />
*'''Loodav veebiteenus peab võimaldama:'''<br />
** Teenuse pakkumist <br />
** Teenuse kasutajate tuvastamist ning haldamist <br />
** Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes <br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
=== plaanitav funktsionaalsus ===<br />
- teha teenus, mis väljastab viimased lisatud augud<br />
- teha teenus, mis väljastab valitud tänaval asuvad augud<br />
- teha teenus, mis väljastab kõige suurema aukude arvuga tänavad (suhtes pikkusega)<br />
- teha teenus, mis ...<br />
- teha teenus, mis ...<br />
<br />
=== Tööde edenemine ===<br />
- Versioonihaldus ülesse seada - Asjassepühendatute jaoks paikneb see siin: https://leemur.visualstudio.com/ ''15.05.2013.''<br />
- Andmebaasiserver töökorda seada (OK - Rasmus). Installeeritud MS SQL Express 12 (version 11.0.3128.0) ''16.05.2013''<br />
- Domeeni mudel valmis teha - OK<br />
- EF raamistik paika () - OK<br />
- Luua standard Repod iga objekti klassi kohta (I{KlassiNimi}Repository + {KlassiNimi}Repository)<br />
Olemas AukRepository, EFRepositories, KasutusRepository, RollRepository, TanavRepository, TeavitajaRepository<br />
<br />
- Funktsionaalsuse teostus (Controllers) (Get + Post + Put + Delete) - OK<br />
<br />
- Autentimine, Autoriseerimine - veidi problemaatiline.<br />
<br />
Veebiteenuse koodi võib leida siit: http://enos.itcollege.ee/~rhommuk/Poska/Asfaldiauk.zip ''20.05.2013.''<br/><br />
Realiseeritud meetodite testimiseks on kasutatav aadress ~/Help<br />
<br />
=== Veebiteenuse retsensioon - TeravC ===<br />
<br />
==== Enne retsenseerima asumist meeskonna Leemur poolt esitatud teadaolevad puudused ====<br />
"Retsenseerides võib kohe kirja panna, et autentimist ega kasutajate statistikat ei ole ... meil on ainult teenus lahendatud."<br />
<br />
==== Arhitektuuriline ja tehnoloogiline ülesehitus ====<br />
Lahendus on vastavalt kursuse nõuetele ülesse ehitatud, eraldi seisvad projektid eri otstarbega teekidena:<br />
*Andmemudeli teek (AsfaldiaukModels),<br />
*Andme ligipääsu teek (AsfaldiaukDAL),<br />
*Teenuse enda teostus (AsfaldiaukWebAPI). <br />
Testide tegemiseks loodud ka konsoolirakendus AsfaldiaukTest. Kasutusel Code first Entity Framework andmeligipääsu kihis, ning ASP.NET Web API teenuste poole pealt.<br />
Projekti luues oleks võnud "Create unit test projecti" lahtrisse linnukese teha kuid kuna antud raames me unit teste ei kirjuta siis liiga oluline see ei ole.<br />
<br />
==== Domeeni mudel ====<br />
Natuke on ka arusaamatu, milleks on väljaminevad seosed defineeritud eraldi klassides. Annotatsioonid on täiesti olemas kuid võiks võib-olla kohati natuke rohkem lubatud olla,<br />
näiteks AukMall.cs public string Kommentaar lubab 50 tähemärki, mille sisse tekst "Selline pirakas teeauk, et lõhkusin autol parempoolse esiratta ja midagi veel." juba enam ära ei mahu.<br />
<br />
==== Andmeligipääsu kiht ====<br />
Andmeligipääsu kiht (DAL) teostatud nii, nagu kursusel õpetatud. Võetud kasutusele valmiskirjutatud IEFRepository.cs + EFRepositor.cs<br />
Dependency resolver osas kasutusel Ninject ja loodud ka vajalik dummy IAsfaldiaukContext.cs interface selle toimimiseks.<br />
Migrations->configuration.cs all võiks internal sealed class... muuta publicuks.<br />
<br />
==== Web API teenus ====<br />
Peale konsoolirakenduse käivitamist ning andmete baasi saamist võis asuda ka teenust testmima. Nii konsoolirakenduse kui webAPI connectionstring oli määratud (localdb)\v11.0, mille<br />
tõttu oli loodud baas kohe hõlpsasti leitav. Baasi loomise/muutmise osas on arendusfaasis kasutatud strateegiat DropCreateDatabaseAlways.<br />
<br />
Web API teenus töötab, näitena: api/auk väljastab aukude nimekirja. Teenus annab andmeid JSON formaadis.<br />
Controllerid koos vajalike CRUD meetoditega olid kohandatud vastavalt vajadustele ja loodud igale klassile.<br />
<br />
==== Testimine ====<br />
Testid erinevate klasside peal, kus olid CRUD meetodid kirjeldatud:<br />
===== GET api/tanav =====<br />
<br />
HTTP päringu sisu:<br />
GET http://localhost:49407/api/tanav HTTP/1.1<br />
User-Agent: Fiddler<br />
Host: localhost:49407<br />
<br />
HTTP vastus päringule:<br />
HTTP/1.1 200 OK<br />
Cache-Control: no-cache<br />
Pragma: no-cache<br />
Content-Type: application/json; charset=utf-8<br />
Expires: -1<br />
Server: Microsoft-IIS/8.0<br />
X-AspNet-Version: 4.0.30319<br />
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXY=?=<br />
X-Powered-By: ASP.NET<br />
Date: Mon, 27 May 2013 00:20:36 GMT<br />
Content-Length: 78<br />
<br />
[<br />
{<br />
"TanavID": 1,<br />
"Nimi": "Mustamae",<br />
"Pikkus": 3.87<br />
}<br />
]<br />
<br />
===== GET api/tanav/1 =====<br />
Sama vastus nagu eelmine. <br />
<br />
===== GET api/tanav/2 =====<br />
HTTP päringu sisu:<br />
GET http://localhost:49407/api/tanav/2 HTTP/1.1<br />
User-Agent: Fiddler<br />
Host: localhost:49407<br />
<br />
HTTP päringu vastus:<br />
HTTP/1.1 404 Not Found<br />
Cache-Control: no-cache<br />
Pragma: no-cache<br />
Content-Type: application/json; charset=utf-8<br />
Expires: -1<br />
Server: Microsoft-IIS/8.0<br />
X-AspNet-Version: 4.0.30319<br />
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcb2RhbGJlcmdcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlcdGFuYXZcMg==?=<br />
X-Powered-By: ASP.NET<br />
Date: Mon, 27 May 2013 00:23:21 GMT<br />
Content-Length: 44<br />
<br />
"Sellise id-ga tänavat andmebaasis ei ole!"<br />
<br />
===== POST =====<br />
HTTP POST päringu sisu:<br />
POST http://localhost:49407/api/roll HTTP/1.1<br />
Host: localhost:49407<br />
User-Agent: Fiddler<br />
Content-Type: text/json<br />
Accept: text/json<br />
Content-Length: 57<br />
<br />
{<br />
"RollID": 1,<br />
"Nimi": "sample string 2"<br />
}<br />
<br />
HTTP POST päringu vastus:<br />
HTTP/1.1 201 Created<br />
Cache-Control: no-cache<br />
Pragma: no-cache<br />
Expires: -1<br />
Location: http://localhost:49407/Help?id=1<br />
Server: Microsoft-IIS/8.0<br />
X-AspNet-Version: 4.0.30319<br />
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbA==?=<br />
X-Powered-By: ASP.NET<br />
Date: Mon, 27 May 2013 17:05:28 GMT<br />
Content-Length: 0<br />
<br />
===== PUT =====<br />
HTTP Päringu sisu:<br />
PUT http://localhost:49407/api/roll/1 HTTP/1.1<br />
Host: localhost:49407<br />
User-Agent: Fiddler<br />
Content-Type: text/json<br />
Accept: text/json<br />
Content-Length: 55<br />
<br />
{<br />
"RollID": 1,<br />
"Nimi": "new Role name"<br />
}<br />
<br />
HTTP Päringu vastus:<br />
HTTP/1.1 204 No Content<br />
Cache-Control: no-cache<br />
Pragma: no-cache<br />
Expires: -1<br />
Server: Microsoft-IIS/8.0<br />
X-AspNet-Version: 4.0.30319<br />
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbFwx?=<br />
X-Powered-By: ASP.NET<br />
Date: Mon, 27 May 2013 17:08:50 GMT<br />
<br />
===== DELETE =====<br />
HTTP Päringu sisu:<br />
DELETE http://localhost:49407/api/roll/1 HTTP/1.1<br />
Host: localhost:49407<br />
User-Agent: Fiddler<br />
Content-Type: text/json<br />
Accept: text/json<br />
<br />
HTTP Päringu vastus:<br />
HTTP/1.1 204 No Content<br />
Cache-Control: no-cache<br />
Pragma: no-cache<br />
Expires: -1<br />
Server: Microsoft-IIS/8.0<br />
X-AspNet-Version: 4.0.30319<br />
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQW5kcmVcRGVza3RvcFxBc2ZhbGRpYXVrXEFzZmFsZGlhdWtUZWVudXNcQXNmYWxkaWF1a1dlYkFQSVxhcGlccm9sbFwx?=<br />
X-Powered-By: ASP.NET<br />
Date: Mon, 27 May 2013 17:12:29 GMT<br />
<br />
<br />
Peale Fiddleriga läbi proovimist said retsenseerijad teada, et meeskond Leemur on realiseerinud /help controlleri, mille kaudu on võimalik ilma Fiddleri<br />
abita kõikides controllerites realiseeritud CRUD meetodeid hõlpsasti testida. Teatavasti topelt ei kärise ja sai ka /help uuritud, kus kõik toimis kenasti.<br />
<br />
==== Kodeerimise stiil ja parimad praktikad ====<br />
<br />
Stiil oli okei, kommentaare võiks alati rohkem olla. Ära ei olnud märgitud viited kui oli kasutatud weebi ja õppejõudude materjali abi. Iga projekti Referencide nimekirja vaadates ei hakanud midagi kummalist silma, kõik on selliselt nagu peab. Controllerite osas võiks tuleviku tarbeks luua ja eraldada api controllerid ning tavalised/view eraldi kaustadesse lihtsama jälgitavuse tarbeks.<br />
Käveri ASP.NET kodutöö kaitsmistest meelde jäänud soovitus, mida ta jõudis korrata mitmeid kordi: "Ärge kirjutage võimaluse korral koodi eesti keeles, kuna reaalses elus toimub kogu töö ainult inglise keeles."<br />
<br />
<br />
=== Veebiteenuse retsensioon - Hops ===<br />
<br />
<br />
<br />
==== 1. Töö vastavus esitatud tingimustele ====<br />
<br />
Näib, et aru ei ole saadud punktist "Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes." WebAPI projektis on KasutamineController koos Post meetodiga, kasutusstatistika muutmiseks? Et siis REST teenuse kasutamise statistikat ei koguta. Tabel on küll olemas. <br />
<br />
<br />
==== 2. Programmikoodi loetavust ning kommenteeritus ====<br />
<br />
OK, silm puhkab hetkel. Loetav ja kommenteeritud, kus vaja. Kommentaare väga ei leidnud aga samas, polnud ka mingeid häkke, millel kommentaare oleks vaja olnud.<br />
<br />
<br />
==== 3. Dokumentatsioon ====<br />
<br />
Wikis olemas, midagi.<br />
<br />
<br />
==== 4. Puudused ====<br />
<br />
DAL projektis Contracts kataloogis olevatest Repository failidest ei saanud väga aru, miks peaks neid iga mudeli jaoks eraldi olema. Samas, nii õpetati ja tuleviku mõttes on OK. Sisuliselt need liidesed ei lisa põhiliidesele IEFRepository-le mitte midagi peale täpsustava tüübi.<br />
<br />
DAL projekti Context faili on jäänud meetod LisaKasutamine(), ilmselt arenduse ajast jäänud. "Public" juurdepääsuga ilmselt ei ole õige, samuti ilmselt hüppab välja Intelli-sense autocomplete popup-is.<br />
<br />
Models projektis mõjub võõrastavalt "*Mall" nimelised põhiklassid. Midagi valesti ei ole, aga ...teistmoodi. Meenutab matemaatikatunnis nähtud ilma seierita spidomeetrit. Mall nimelisi klasse on loodu igale Models kataloogis oleva klassi kohta. Ilmselt on püütud eraldada andmeannotatsioone äriloogikast? Samas, mudelites äriloogilisi funktsioone/meetodeid ei ole. Võivad tulla aga ka sel juhul ei ole olulist eelist kui klassi muutujad on eraldi mallide klassides.<br />
<br />
WebAPI projektis on kontrollerisse kirjutatud koodi, mis on repositooriumi mustri klassides olemas. Näiteks, kasutatakse kontrolleris andmeallika konteksti. Repositoorium võimaldab sellist koodi mitte kirjutada aga kontrolleris on see olemas. Samas, näiteks objektide salvestamisel antakse ülesanne repositooriumile. Sama moodi saaks ka Get() meetodites teha.<br />
<br />
Salvestamisel ei ole valideerimine ja tegevuse õnnestumise kontroll eriti tugev.<br />
<br />
XmlFormatter on eemaldatud. Eeldame, et xml-ina vastust paluv http klient saab json-i vastuse. Tundub ülekohus olevat. Ka xml-i söövat klienti peab toitma, eriti kui raamistik seda vaikimisi teeb sinu eest, vastavalt kliendi palvele.<br />
<br />
<br />
==== Lõppsõna(d) ====<br />
<br />
<br />
Ärge siis meie tiimi retsenseerimisel näkku lööge, tuginedes eelnevale jutule :)<br />
Üldiselt oleks rohkem oodanud. Samas, kui vaadata palju vaeva kulus endal samasuguse "poolpiduse" asja tegemiseks, siis kiitus tiimile. Põhiasjad on selged, detailid ja iluasjad vajavad veel panust. Loomulikult jäid eespool olevast kriitikast välja kõik kiidusõnad, muidu oleks retsensioon tulnud liiga pikk. Head mõtted oleme juba enda projekti sisse ringi tõstmas.<br />
<br />
== Klientrakendus ==<br />
<br />
Klientrakendused peavad olema valmis ja wikilehel kirjeldatud hiljemalt 10. juuni 2013. <br />
Retsensioonid veebiteenuste kohta peavad tehtud olema 15. juuni 2013<br />
<br />
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena. <br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Hops&diff=63128Hops2013-05-20T23:15:43Z<p>Ahokkone: /* Veebiteenus */</p>
<hr />
<div>== Meeskond ==<br />
<br />
* Liikmed: <br />
** Artur Hokkonen<br />
** Margus Parts<br />
** Hanno Sirkel<br />
** Lauri Õunmaa<br />
<br />
[[Category:Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2013(kaugõpe)]]<br />
<br />
== Idee ==<br />
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.<br />
<br />
== XML ==<br />
<br />
=== XML fail ===<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<tns:autod xmlns:tns="http://www.example.org/autod" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/autod autod.xsd "><br />
<tns:auto id="0" mark="Ford" mudel="Sierra"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">2000</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="punane"/><br />
</tns:auto><br />
<br />
<tns:auto id="1" mark="ZAZ" mudel="969"><br />
<tns:mootor><br />
<tns:kytus>diisel</tns:kytus><br />
<tns:kubatuur yhik="ccm">2500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="roheline"/><br />
</tns:auto><br />
<br />
<tns:auto id="2" mark="Saab" mudel="9-5"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">1500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
<tns:auto id="3" mark="Volvo" mudel="960"><br />
<tns:mootor><br />
<tns:kytus>elekter</tns:kytus><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
<tns:auto id="4" mark="Volvo" mudel="V40"><br />
<tns:mootor><br />
<tns:kytus>diisel</tns:kytus><br />
<tns:kubatuur yhik="ccm">2400</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="must"/><br />
</tns:auto><br />
<br />
<tns:auto id="5" mark="Volvo" mudel="V70"><br />
<tns:mootor><br />
<tns:kytus>gaas</tns:kytus><br />
<tns:kubatuur yhik="ccm">2000</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="valge"/><br />
</tns:auto><br />
<br />
</tns:autod><br />
<br />
</source><br />
<br />
=== XSD fail ===<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schema xmlns="http://www.w3.org/2001/XMLSchema"<br />
targetNamespace="http://www.example.org/autod" <br />
xmlns:tns="http://www.example.org/autod"<br />
elementFormDefault="qualified"><br />
<br />
<simpleType name="kytusSimpleType"><br />
<restriction base="string"><br />
<enumeration value="bensiin"></enumeration><br />
<enumeration value="diisel"></enumeration><br />
<enumeration value="elekter"></enumeration><br />
</restriction><br />
</simpleType><br />
<br />
<complexType name="mootorComplexType"><br />
<sequence><br />
<element name="kytus" type="tns:kytusSimpleType"<br />
maxOccurs="1" minOccurs="0"><br />
</element><br />
<element name="kubatuur" maxOccurs="1" minOccurs="0"><br />
<complexType><br />
<simpleContent><br />
<extension base="int"><br />
<attribute name="yhik" use="required"><br />
<simpleType><br />
<restriction base="string"><br />
<enumeration value="ccm"/><br />
<enumeration value="l"/><br />
</restriction><br />
</simpleType><br />
</attribute><br />
</extension><br />
</simpleContent><br />
</complexType><br />
</element><br />
</sequence><br />
</complexType><br />
<br />
<complexType name="autoComplexType"><br />
<sequence><br />
<element name="mootor" type="tns:mootorComplexType"></element><br />
<element name="kere" type="tns:kereComplexType"<br />
maxOccurs="1" minOccurs="1"><br />
</element><br />
</sequence><br />
<attribute name="id" type="int"></attribute><br />
<attribute name="mark" type="string"></attribute><br />
<attribute name="mudel" type="string"></attribute><br />
</complexType><br />
<br />
<simpleType name="v2rvSimpleType"><br />
<restriction base="string"><br />
<enumeration value="punane"></enumeration><br />
<enumeration value="roheline"></enumeration><br />
<enumeration value="sinine"></enumeration><br />
</restriction><br />
</simpleType><br />
<br />
<complexType name="kereComplexType"><br />
<attribute name="v2rv" type="tns:v2rvSimpleType"></attribute><br />
</complexType><br />
<br />
<element name="autod" type="tns:AutodListComplexType"></element><br />
<br />
<complexType name="AutodListComplexType"><br />
<sequence><br />
<element name="auto" type="tns:autoComplexType" maxOccurs="unbounded" minOccurs="0"></element><br />
</sequence><br />
</complexType><br />
</schema><br />
<br />
</source><br />
<br />
=== XSLT failid ===<br />
==== XML -> HTML ====<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:tns="http://www.example.org/autod"><br />
<br />
<xsl:output encoding="UTF-8" method="html" /><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<br />
<h2>Autode nimekiri</h2><br />
<br />
<table border="1"><br />
<tr><td>Mark</td><td>Mudel</td><td>Värv</td><td>Mootor</td></tr><br />
<xsl:for-each select="tns:autod/tns:auto"><br />
<tr><br />
<td><xsl:value-of select="@mark"/></td><br />
<td><xsl:value-of select="@mudel"/></td><br />
<td><xsl:value-of select="tns:kere/@v2rv"/></td><br />
<td><xsl:value-of select="tns:mootor/tns:kytus"/> <xsl:text> </xsl:text> <xsl:value-of select="tns:mootor/tns:kubatuur"/><xsl:value-of select="tns:mootor/tns:kubatuur/@yhik"/></td><br />
</tr><br />
<p> </p><br />
</xsl:for-each><br />
</table><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
<br />
</source><br />
<br />
==== XML -> XML ====<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:tns="http://www.example.org/autod"><br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<tns:autod><br />
<br />
<xsl:for-each select="tns:autod/tns:auto"><br />
<xsl:if test="@mark='Volvo'"><br />
<auto><br />
<mark><br />
<xsl:value-of select="@mark"/> <br />
</mark><br />
<mudel><br />
<xsl:value-of select="@mudel"/><br />
</mudel><br />
</auto><br />
</xsl:if><br />
</xsl:for-each><br />
</tns:autod><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
<br />
== Veebiteenus ==<br />
<br />
<br />
Tähtajaks tehtud osa ("''deadline''" branch):<br />
<br />
https://github.com/onu/currency-converter/tree/deadline1<br />
<br />
<br />
"''Master''" branch:<br />
<br />
https://github.com/onu/currency-converter<br />
<br />
== Retsensioonid ==<br />
<br />
=== XML ===<br />
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.<br />
<br />
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.<br />
<br />
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.<br />
<br />
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.<br />
<br />
Meeskond Leemur<br />
===XML'i retsensioon===<br />
====XML====<br />
XML-failis on dimensioonid<br />
1. autod<br />
2. auto<br />
3. mootor, kere<br />
4. kytus. kubatuur<br />
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut "mark" ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut "mudel"olla auto alaelement samal tasemel koos margiga.<br />
<br />
====XSD====<br />
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.<br />
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.<br />
<br />
====XSL====<br />
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.<br />
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.<br />
<br />
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).<br />
<br />
Meeskond TeravC</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Hops&diff=63126Hops2013-05-20T20:55:48Z<p>Ahokkone: </p>
<hr />
<div>== Meeskond ==<br />
<br />
* Liikmed: <br />
** Artur Hokkonen<br />
** Margus Parts<br />
** Hanno Sirkel<br />
** Lauri Õunmaa<br />
<br />
[[Category:Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2013(kaugõpe)]]<br />
<br />
== Idee ==<br />
Luua 4-tasemeline XML definitsioon, näidis sellele ning transleerimised HTML ja XML formaati.<br />
<br />
== XML ==<br />
<br />
=== XML fail ===<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<tns:autod xmlns:tns="http://www.example.org/autod" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/autod autod.xsd "><br />
<tns:auto id="0" mark="Ford" mudel="Sierra"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">2000</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="punane"/><br />
</tns:auto><br />
<br />
<tns:auto id="1" mark="ZAZ" mudel="969"><br />
<tns:mootor><br />
<tns:kytus>diisel</tns:kytus><br />
<tns:kubatuur yhik="ccm">2500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="roheline"/><br />
</tns:auto><br />
<br />
<tns:auto id="2" mark="Saab" mudel="9-5"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">1500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
<tns:auto id="3" mark="Volvo" mudel="960"><br />
<tns:mootor><br />
<tns:kytus>elekter</tns:kytus><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
<tns:auto id="4" mark="Volvo" mudel="V40"><br />
<tns:mootor><br />
<tns:kytus>diisel</tns:kytus><br />
<tns:kubatuur yhik="ccm">2400</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="must"/><br />
</tns:auto><br />
<br />
<tns:auto id="5" mark="Volvo" mudel="V70"><br />
<tns:mootor><br />
<tns:kytus>gaas</tns:kytus><br />
<tns:kubatuur yhik="ccm">2000</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="valge"/><br />
</tns:auto><br />
<br />
</tns:autod><br />
<br />
</source><br />
<br />
=== XSD fail ===<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schema xmlns="http://www.w3.org/2001/XMLSchema"<br />
targetNamespace="http://www.example.org/autod" <br />
xmlns:tns="http://www.example.org/autod"<br />
elementFormDefault="qualified"><br />
<br />
<simpleType name="kytusSimpleType"><br />
<restriction base="string"><br />
<enumeration value="bensiin"></enumeration><br />
<enumeration value="diisel"></enumeration><br />
<enumeration value="elekter"></enumeration><br />
</restriction><br />
</simpleType><br />
<br />
<complexType name="mootorComplexType"><br />
<sequence><br />
<element name="kytus" type="tns:kytusSimpleType"<br />
maxOccurs="1" minOccurs="0"><br />
</element><br />
<element name="kubatuur" maxOccurs="1" minOccurs="0"><br />
<complexType><br />
<simpleContent><br />
<extension base="int"><br />
<attribute name="yhik" use="required"><br />
<simpleType><br />
<restriction base="string"><br />
<enumeration value="ccm"/><br />
<enumeration value="l"/><br />
</restriction><br />
</simpleType><br />
</attribute><br />
</extension><br />
</simpleContent><br />
</complexType><br />
</element><br />
</sequence><br />
</complexType><br />
<br />
<complexType name="autoComplexType"><br />
<sequence><br />
<element name="mootor" type="tns:mootorComplexType"></element><br />
<element name="kere" type="tns:kereComplexType"<br />
maxOccurs="1" minOccurs="1"><br />
</element><br />
</sequence><br />
<attribute name="id" type="int"></attribute><br />
<attribute name="mark" type="string"></attribute><br />
<attribute name="mudel" type="string"></attribute><br />
</complexType><br />
<br />
<simpleType name="v2rvSimpleType"><br />
<restriction base="string"><br />
<enumeration value="punane"></enumeration><br />
<enumeration value="roheline"></enumeration><br />
<enumeration value="sinine"></enumeration><br />
</restriction><br />
</simpleType><br />
<br />
<complexType name="kereComplexType"><br />
<attribute name="v2rv" type="tns:v2rvSimpleType"></attribute><br />
</complexType><br />
<br />
<element name="autod" type="tns:AutodListComplexType"></element><br />
<br />
<complexType name="AutodListComplexType"><br />
<sequence><br />
<element name="auto" type="tns:autoComplexType" maxOccurs="unbounded" minOccurs="0"></element><br />
</sequence><br />
</complexType><br />
</schema><br />
<br />
</source><br />
<br />
=== XSLT failid ===<br />
==== XML -> HTML ====<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:tns="http://www.example.org/autod"><br />
<br />
<xsl:output encoding="UTF-8" method="html" /><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<br />
<h2>Autode nimekiri</h2><br />
<br />
<table border="1"><br />
<tr><td>Mark</td><td>Mudel</td><td>Värv</td><td>Mootor</td></tr><br />
<xsl:for-each select="tns:autod/tns:auto"><br />
<tr><br />
<td><xsl:value-of select="@mark"/></td><br />
<td><xsl:value-of select="@mudel"/></td><br />
<td><xsl:value-of select="tns:kere/@v2rv"/></td><br />
<td><xsl:value-of select="tns:mootor/tns:kytus"/> <xsl:text> </xsl:text> <xsl:value-of select="tns:mootor/tns:kubatuur"/><xsl:value-of select="tns:mootor/tns:kubatuur/@yhik"/></td><br />
</tr><br />
<p> </p><br />
</xsl:for-each><br />
</table><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
<br />
</source><br />
<br />
==== XML -> XML ====<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:tns="http://www.example.org/autod"><br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<tns:autod><br />
<br />
<xsl:for-each select="tns:autod/tns:auto"><br />
<xsl:if test="@mark='Volvo'"><br />
<auto><br />
<mark><br />
<xsl:value-of select="@mark"/> <br />
</mark><br />
<mudel><br />
<xsl:value-of select="@mudel"/><br />
</mudel><br />
</auto><br />
</xsl:if><br />
</xsl:for-each><br />
</tns:autod><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
<br />
== Veebiteenus ==<br />
<br />
https://github.com/onu/currency-converter<br />
<br />
== Retsensioonid ==<br />
<br />
=== XML ===<br />
Meeskond Hops on loonud xml vormingus faili autode teemal. Xml failil on neli loogilist dimensiooni ning kolmel neist on kasutatud atribuute, mis on enamat, kui lihtsalt id. Lisaks xml failile on loodud ka selle skeemifail xsd vormingus. Xml vormingus olevale failile on loodud 2 xslt faili: esimene neist transformeerib andmed html vormingusse ning tulemuseks on andmetabel, kus iga auto kohta on esitatud mark, mudel värv ja mootori andmed; teine xslt fail muudab algse xml faili vormingut ning välja antakse iga auto kohta margi ja mudeli andmed. Tehtud kodutöö vastab seega väga täpselt esitatud tingimustele.<br />
<br />
Esitatud kodutöö kood ei ole kommenteeritud. Samuti ei ole meeskonna wiki lehel ühtegi kommentaari selle kohta, mis on antud XML alamülesande teema või eesmärk. Kuna kodutöö ülesande püstituses neid otseselt nõutud ei ole, siis ei saa seda ka puuduseks lugeda. Kood on sellegipoolest loetav ja arusaadav.<br />
<br />
Ka dokumentatsiooni ei ole antud ülesande lahendusele lisatud, aga ka see ei olnud ka nõutud kodutöö ülesande püstituses. Samas, kui see ülesanne on loogiline osa ülejäänud kursuse kodutööde komplektist, siis juba alguses dokumentatsiooniga alustamine, oleks hea tava järgimine.<br />
<br />
Puudustena võiks märkida, et meeskonna wiki lehel võiks siiski olla väike kokkuvõte tehtud töö sisust ja eesmärgist. Kuna kood ei ole kommenteeritud ning samuti ei ole lisatud dokumentatsiooni, siis oleks võinud meeskonna wiki lehel olla iga faili juure lause või kaks selgituseks. Kuna tehtud töö eesmärk (kui välja arvata kodutöö ära tegemise fakt) on selgusetu, siis on väga raske hinnata, kas esitatud xml fail on piisav või vajaliku struktuuriga. Ka ei saa sellistes tingimustes hinnata, kas lisatud atribuudid kolmel dimensioonil on asjakohased või mitte.<br />
<br />
Meeskond Leemur<br />
===XML'i retsensioon===<br />
====XML====<br />
XML-failis on dimensioonid<br />
1. autod<br />
2. auto<br />
3. mootor, kere<br />
4. kytus. kubatuur<br />
Kokku seega 4 dimensiooni- nagu nõutud. Atribuute on kasutatud kolmel dimensioonil- jällegi nõuetele vastavalt. Tegijad ei ole põhjendanud, miks auto atribuut "mark" ei võiks olla auto all eraldi dimensioon. Sealt edasi mõeldes võiks auto atribuut "mudel"olla auto alaelement samal tasemel koos margiga.<br />
<br />
====XSD====<br />
XSD-failis on XLSi elementide puhul nõutud, et nende elemendid oleksid kindlas järjekorras kirjeldatud. See on koodi selguse ja loetavuse seisukohalt hea.<br />
Koodi vaadates torkab silma, et auto värvidest on lubatud ainult punane, roheline ja sinine. Töö kirjeldusest ei tule välja, kas see on mingi spetsiifiline taotlus ja kui on, siis miks.<br />
<br />
====XSL====<br />
HTMLi kujule teisendavas koodis tundub kõik loogiline. HTMLi kujul esitatakse tabel, kus on auto mark, mudel, kere värv ja kütuseliik. Tabeli loomisel trükitakse välja nii XMLi elementide, kui ka nende atribuutide väärtusi.<br />
XMLi formaati töötlevas XSLi failis antakse väljundisse auto mark ja mudel juhul, kui automargiks on Volvo. Ülesande nõue, XMLi töötlemine XSLi koodiga, on seega täidetud.<br />
<br />
Kokkuvõtvalt võib öelda, et ülesande formaalsed nõuded on kõik täidetud. Meeskond võiks selgituseks kirja panna loodava rakenduse eesmärgi ja veidike kommenteerida XMLi struktuuri. Vastasel juhul jääb lihtsalt mõnest lahendusest mulje, et see ei ole päris läbi mõeldud (näiteks atribuudi asemel võiks olla eraldi element).<br />
<br />
Meeskond TeravC</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Hops&diff=62635Hops2013-04-14T21:17:28Z<p>Ahokkone: /* XSD fail */</p>
<hr />
<div>== Meeskond ==<br />
<br />
* Liikmed: <br />
** Artur Hokkonen<br />
** Margus Parts<br />
** Hanno Sirkel<br />
** Lauri Õunmaa<br />
<br />
[[Category:Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2013(kaugõpe)]]<br />
<br />
== Idee ==<br />
<br />
<br />
<br />
<br />
== XML ==<br />
<br />
=== XML fail ===<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<tns:autod xmlns:tns="http://www.example.org/autod" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/autod autod.xsd "><br />
<tns:auto id="0"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">2000</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="punane"/><br />
</tns:auto><br />
<br />
<tns:auto id="1"><br />
<tns:mootor><br />
<tns:kytus>diisel</tns:kytus><br />
<tns:kubatuur yhik="ccm">2500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="roheline"/><br />
</tns:auto><br />
<br />
<br />
<tns:auto id="2"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">1500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
<tns:auto id="3"><br />
<tns:mootor><br />
<tns:kytus>elekter</tns:kytus><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
</tns:autod><br />
<br />
<br />
</source><br />
<br />
=== XSD fail ===<br />
<br />
<source lang="xml"><br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schema xmlns="http://www.w3.org/2001/XMLSchema"<br />
targetNamespace="http://www.example.org/autod" <br />
xmlns:tns="http://www.example.org/autod"<br />
elementFormDefault="qualified"><br />
<br />
<br />
<br />
<br />
<simpleType name="kytusSimpleType"><br />
<restriction base="string"><br />
<enumeration value="bensiin"></enumeration><br />
<enumeration value="diisel"></enumeration><br />
<enumeration value="elekter"></enumeration><br />
</restriction><br />
</simpleType><br />
<br />
<complexType name="mootorComplexType"><br />
<sequence><br />
<element name="kytus" type="tns:kytusSimpleType"<br />
maxOccurs="1" minOccurs="0"><br />
</element><br />
<element name="kubatuur" maxOccurs="1" minOccurs="0"><br />
<complexType><br />
<simpleContent><br />
<extension base="int"><br />
<attribute name="yhik" use="required"><br />
<simpleType><br />
<restriction base="string"><br />
<enumeration value="ccm"/><br />
<enumeration value="l"/><br />
</restriction><br />
</simpleType><br />
</attribute><br />
</extension><br />
</simpleContent><br />
</complexType><br />
</element><br />
</sequence><br />
</complexType><br />
<br />
<br />
<br />
<complexType name="autoComplexType"><br />
<sequence><br />
<element name="mootor" type="tns:mootorComplexType"></element><br />
<element name="kere" type="tns:kereComplexType"<br />
maxOccurs="1" minOccurs="1"><br />
</element><br />
</sequence><br />
<attribute name="id" type="int"></attribute><br />
</complexType><br />
<br />
<br />
<br />
<br />
<simpleType name="v2rvSimpleType"><br />
<restriction base="string"><br />
<enumeration value="punane"></enumeration><br />
<enumeration value="roheline"></enumeration><br />
<enumeration value="sinine"></enumeration><br />
</restriction><br />
</simpleType><br />
<br />
<complexType name="kereComplexType"><br />
<attribute name="v2rv" type="tns:v2rvSimpleType"></attribute><br />
</complexType><br />
<br />
<br />
<br />
<element name="autod" type="tns:AutodListComplexType"></element><br />
<br />
<complexType name="AutodListComplexType"><br />
<sequence><br />
<element name="auto" type="tns:autoComplexType" maxOccurs="unbounded" minOccurs="0"></element><br />
</sequence><br />
</complexType><br />
</schema><br />
<br />
</source><br />
<br />
=== XSLT failid ===<br />
<br />
== Retsensioonid ==<br />
<br />
=== XML ===</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Hops&diff=62634Hops2013-04-14T21:15:50Z<p>Ahokkone: /* XML fail */</p>
<hr />
<div>== Meeskond ==<br />
<br />
* Liikmed: <br />
** Artur Hokkonen<br />
** Margus Parts<br />
** Hanno Sirkel<br />
** Lauri Õunmaa<br />
<br />
[[Category:Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2013(kaugõpe)]]<br />
<br />
== Idee ==<br />
<br />
<br />
<br />
<br />
== XML ==<br />
<br />
=== XML fail ===<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<tns:autod xmlns:tns="http://www.example.org/autod" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/autod autod.xsd "><br />
<tns:auto id="0"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">2000</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="punane"/><br />
</tns:auto><br />
<br />
<tns:auto id="1"><br />
<tns:mootor><br />
<tns:kytus>diisel</tns:kytus><br />
<tns:kubatuur yhik="ccm">2500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="roheline"/><br />
</tns:auto><br />
<br />
<br />
<tns:auto id="2"><br />
<tns:mootor><br />
<tns:kytus>bensiin</tns:kytus><br />
<tns:kubatuur yhik="ccm">1500</tns:kubatuur><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
<tns:auto id="3"><br />
<tns:mootor><br />
<tns:kytus>elekter</tns:kytus><br />
</tns:mootor><br />
<tns:kere v2rv="sinine"/><br />
</tns:auto><br />
<br />
</tns:autod><br />
<br />
<br />
</source><br />
<br />
=== XSD fail ===<br />
<br />
=== XSLT failid ===<br />
<br />
== Retsensioonid ==<br />
<br />
=== XML ===</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=61037Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2013-01-14T20:52:09Z<p>Ahokkone: /* Meeskond MMA */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 26.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''17.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 31.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
Teema: CRM<br><br />
Analüüs: [https://www.dropbox.com/s/5z60deefuvxy11a/CRM_Analüüs_v1.1.pdf Analüüsidokument]<br><br />
Analüüsi retsensioon: [https://wiki.itcollege.ee/index.php/Talk:CSharp_Meeskond_Risk2012#Anal.C3.BC.C3.BCsi_retsensioon Retsensioon meeskonnale Risk2012]<br><br />
Prototüüp: [http://enos.itcollege.ee/~ylari/I243/NaaskelProto.zip NaaskelProto.zip] (juhend meeskonna lehel)<br><br />
Lõpplahendus: [http://enos.itcollege.ee/~ylari/I243/NaaskelFinal.zip NaaskelFinal.zip] (juhend meeskonna lehel)<br> <br />
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Akaver_CSharp_2012 Prototüübi ja lõpplahenduse retsensioon meeskonnale Akaver]<br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond_MMA]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*Ruslan Sadajev<br />
*Braid Torn<br />
<br />
Teema: laotarkvara<br />
<br />
Prototüüp: [http://enos.itcollege.ee/~ahokkone/csharp/proto.zip proto.zip]<br />
<br />
Lõpptoode: [http://enos.itcollege.ee/~ahokkone/csharp/2013_01_07.zip 2013_01_07.zip]<br />
<br />
Retsensioon (analüüs ja prototüüp): [[Talk:Meeskond_Naaskel]]<br />
<br />
Lõpptoote retsensioon: [[Talk:Ratsa_Rikkaks]]<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/index.php/Ratsa_Rikkaks Ratsa Rikkaks]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Gorb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
<br />
==Meeskond akaver==<br />
Meeskonna wiki leht: [[Akaver CSharp 2012]]<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)<br />
<br />
<br />
==Meeskond wipeAll==<br />
Meeskonna wiki leht: [[CSharp Meeskond wipeAll]]<br><br />
Meeskonna liikmed:<br />
*Vladimir Domaškin - projektijuht</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Ratsa_Rikkaks&diff=61036Talk:Ratsa Rikkaks2013-01-14T20:49:50Z<p>Ahokkone: /* Lõpplahenduse retsensioon */</p>
<hr />
<div>=Analüüsi retsensioon=<br />
<br />
Meeskond on valinud projektiks videolaenutuse infosüsteemi. Analüüsist saab piisava ülevaate loodava infosüsteemi oodatavast funktsionaalsusest. Tegevused kasutaja seisukohast lähtuvalt on hästi lahti kirjutatud.<br />
<br />
<br />
Kuivõrd eesmärgiks on reliseerida infosüsteem arendamaks meeskonnatöö ja programmeerimise alaseid oskuseid, siis on niisugune valik sobiv. Reaalset ärilist rakendust võiks sarnasest valdkonnast leida näiteks tööriistalaenutuse vms infosüsteemile.<br />
<br />
<br />
Analüüsist ei nähtu, kas rakendus realiseeritakse modulaarsena, mis võimaldaks hiljem lisada erinevaid teenuseid (mingi teise kauba laenutamine) või tegevusvaldkondi (kasutades olemasolevat kliendihalduse moodulit).<br />
<br />
<br />
Tootekataloogi ("Filmide arvestus") osas jääb selgusetuks, kas ja kuidas õnnestub vaadata laoseisu (ehk millised filmid on laenutuseks saadaval, millised välja laenatud). Kuidas leida, kas kliendi poolt soovitud film on soovitavaks ajaperioodiks saadaval? Kuidas välditakse ühe filmi topelt laenutamist samaks ajaperioodiks? Kuidas käsitletakse mitme samasisulise toote (2tk sama filmi) olekut kataloogis, kas lisatakse eraldi kirjena? Kui ei lisata eraldi kirjena, siis ilmselt tekib probleem tuvastamisega, milline kasutaja mis ajahetkel laenutas millist konkreetset toodet (et selgitada näiteks välja, kes plaadi ära kriipis). Samas kui lisatakse eraldi kirjetena, siis kuidas realiseeritakse ülevaatlik päring saadaolevate ja välja laenutatud toodete kohta ning kas uue laenutuse loomisel peab siis otsima välja konkreetse toote või võetakse automaatselt esimene saadaolev. Samas puudub tootel väljapakutud struktuuris unikaalne identifikaator. On olemas küll automaatselt genereeritud UID, kuid selle sidumine füüsilise tootega võib osutuda probleemseks (aga samas võib ka toimida, kui näiteks rakendus prindib, või tehakse seda käsitsi, toote lisamisel sildiprinterist vastava UID'ga kleepeka, mille saab siis karbile kleepida).<br />
<br />
<br />
Kokkuvõttes valitud töö on piisava mahuga ja selle realiseerimine antud meeskonna suurusega õppeaine raames on realistlik. Analüüs annab piisava detailsusega ülevaate loodavast rakendusest. Teema ei ole kuigi aktuaalne, puudub äriline väljund.<br />
<br />
<br />
Koostas: [[Meeskond_Metronaator]]<br />
<br />
<br />
<br />
=Prototüübi retsensioon=<br />
<br />
<br />
Asub siin: http://akaver.com/blog/2012/12/31/c-prototuubi-analuus/<br />
<br />
Koostas: akaver<br />
<br />
<br />
=Lõpplahenduse retsensioon (meeskonnalt MMA) =<br />
<br />
<br />
Vaadates analüüsidokumenti, on enamus realiseeritud. Esineb mõningaid vigu, kuid suurem osa on tehtud. Liiga suuri eesmärke ei võetud analüüsis. Rakendus koosneb vähestest komponentidest, mis on ka piisav erinevate programmeerimise ülesannete läbiproovimiseks.<br />
<br />
<br />
====GUI====<br />
<br />
Kasutajaliidesest on näha, et on panustatud kujundusele. On rakendatud stiile. XAML-is on kasutatud erinevaid elemente, mis aine materjalides õpetati. XAML osa juures ainus häiriv asi on see, et on kasutatud fikseeritud suurusi mõnes kohas.<br />
<br />
Salvestamiste juures on vigaselt sisestatud väljad esile toodud punase värviga. Samas, puudub vastav tekst, mis juhendaks, mis valesti on sisestamise juures.<br />
<br />
<br />
====Mudel====<br />
<br />
xaml.cs failides on kasutatud andmebaasi konteksti, mis peaks olema vale lähenemine. Samuti toimub seal ka andmete valideerimine, salvestamine, muutmine ja kustutamine. GUI kasutamise valideerimine võib kasutajaliidese pool olemas olla kuid ei tohiks asendada mudeli poolset valideerimist. Mudeli poolel valideerimist ei ole.<br />
<br />
Kuigi rakendus on väike, oleks võinud mudeli osa olla eraldi Class Library projekti sees. Ka samas projektis on võimalik teostada äriloogikat mudeli sees. Praegust lahendust vaadates mudel justkui puudub. Andmemudelis on ainult andmete laadimine. Ei leidnud andmemudeli CRUD-ist peale R-i midagi. Kogu äriloogika ja andmetega tegelemine on mööda esitluskihti laiali ning puudub selge koht, kus andmeid valideeritakse.<br />
<br />
<br />
====Kokkuvõte====<br />
<br />
Positiivse mulje jättis see, et lõpptootega oli kaasas kasutusjuhend. Kokkuvõtteks jäi arusaam, et on panustatud rakenduse väljanägemisele ja lisafunktsionaalsusele (baasi loomise automatiseerimine), samas kui rakenduse arhitektuuriline alustala on jäänud nõrgaks. Suurema rakenduse puhul oleks see ehk paremini välja tulnud. Aga valitud rakendus oli väike ning oli suudetud asjad toimima panna. Koodistiililt oli rakendust meeldiv lugeda ning puudustele vaatamata oli hästi arusaadav. Kõige suurem dilemma retsenseerija jaoks ongi see, et kuigi MVVM on natuke valesti kasutatud, ei teki piisavalt spageti-koodi maitset, kui arvata võiks.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Ratsa_Rikkaks&diff=61035Talk:Ratsa Rikkaks2013-01-14T20:49:31Z<p>Ahokkone: </p>
<hr />
<div>=Analüüsi retsensioon=<br />
<br />
Meeskond on valinud projektiks videolaenutuse infosüsteemi. Analüüsist saab piisava ülevaate loodava infosüsteemi oodatavast funktsionaalsusest. Tegevused kasutaja seisukohast lähtuvalt on hästi lahti kirjutatud.<br />
<br />
<br />
Kuivõrd eesmärgiks on reliseerida infosüsteem arendamaks meeskonnatöö ja programmeerimise alaseid oskuseid, siis on niisugune valik sobiv. Reaalset ärilist rakendust võiks sarnasest valdkonnast leida näiteks tööriistalaenutuse vms infosüsteemile.<br />
<br />
<br />
Analüüsist ei nähtu, kas rakendus realiseeritakse modulaarsena, mis võimaldaks hiljem lisada erinevaid teenuseid (mingi teise kauba laenutamine) või tegevusvaldkondi (kasutades olemasolevat kliendihalduse moodulit).<br />
<br />
<br />
Tootekataloogi ("Filmide arvestus") osas jääb selgusetuks, kas ja kuidas õnnestub vaadata laoseisu (ehk millised filmid on laenutuseks saadaval, millised välja laenatud). Kuidas leida, kas kliendi poolt soovitud film on soovitavaks ajaperioodiks saadaval? Kuidas välditakse ühe filmi topelt laenutamist samaks ajaperioodiks? Kuidas käsitletakse mitme samasisulise toote (2tk sama filmi) olekut kataloogis, kas lisatakse eraldi kirjena? Kui ei lisata eraldi kirjena, siis ilmselt tekib probleem tuvastamisega, milline kasutaja mis ajahetkel laenutas millist konkreetset toodet (et selgitada näiteks välja, kes plaadi ära kriipis). Samas kui lisatakse eraldi kirjetena, siis kuidas realiseeritakse ülevaatlik päring saadaolevate ja välja laenutatud toodete kohta ning kas uue laenutuse loomisel peab siis otsima välja konkreetse toote või võetakse automaatselt esimene saadaolev. Samas puudub tootel väljapakutud struktuuris unikaalne identifikaator. On olemas küll automaatselt genereeritud UID, kuid selle sidumine füüsilise tootega võib osutuda probleemseks (aga samas võib ka toimida, kui näiteks rakendus prindib, või tehakse seda käsitsi, toote lisamisel sildiprinterist vastava UID'ga kleepeka, mille saab siis karbile kleepida).<br />
<br />
<br />
Kokkuvõttes valitud töö on piisava mahuga ja selle realiseerimine antud meeskonna suurusega õppeaine raames on realistlik. Analüüs annab piisava detailsusega ülevaate loodavast rakendusest. Teema ei ole kuigi aktuaalne, puudub äriline väljund.<br />
<br />
<br />
Koostas: [[Meeskond_Metronaator]]<br />
<br />
<br />
<br />
=Prototüübi retsensioon=<br />
<br />
<br />
Asub siin: http://akaver.com/blog/2012/12/31/c-prototuubi-analuus/<br />
<br />
Koostas: akaver<br />
<br />
<br />
=Lõpplahenduse retsensioon=<br />
<br />
<br />
Vaadates analüüsidokumenti, on enamus realiseeritud. Esineb mõningaid vigu, kuid suurem osa on tehtud. Liiga suuri eesmärke ei võetud analüüsis. Rakendus koosneb vähestest komponentidest, mis on ka piisav erinevate programmeerimise ülesannete läbiproovimiseks.<br />
<br />
<br />
====GUI====<br />
<br />
Kasutajaliidesest on näha, et on panustatud kujundusele. On rakendatud stiile. XAML-is on kasutatud erinevaid elemente, mis aine materjalides õpetati. XAML osa juures ainus häiriv asi on see, et on kasutatud fikseeritud suurusi mõnes kohas.<br />
<br />
Salvestamiste juures on vigaselt sisestatud väljad esile toodud punase värviga. Samas, puudub vastav tekst, mis juhendaks, mis valesti on sisestamise juures.<br />
<br />
<br />
====Mudel====<br />
<br />
xaml.cs failides on kasutatud andmebaasi konteksti, mis peaks olema vale lähenemine. Samuti toimub seal ka andmete valideerimine, salvestamine, muutmine ja kustutamine. GUI kasutamise valideerimine võib kasutajaliidese pool olemas olla kuid ei tohiks asendada mudeli poolset valideerimist. Mudeli poolel valideerimist ei ole.<br />
<br />
Kuigi rakendus on väike, oleks võinud mudeli osa olla eraldi Class Library projekti sees. Ka samas projektis on võimalik teostada äriloogikat mudeli sees. Praegust lahendust vaadates mudel justkui puudub. Andmemudelis on ainult andmete laadimine. Ei leidnud andmemudeli CRUD-ist peale R-i midagi. Kogu äriloogika ja andmetega tegelemine on mööda esitluskihti laiali ning puudub selge koht, kus andmeid valideeritakse.<br />
<br />
<br />
====Kokkuvõte====<br />
<br />
Positiivse mulje jättis see, et lõpptootega oli kaasas kasutusjuhend. Kokkuvõtteks jäi arusaam, et on panustatud rakenduse väljanägemisele ja lisafunktsionaalsusele (baasi loomise automatiseerimine), samas kui rakenduse arhitektuuriline alustala on jäänud nõrgaks. Suurema rakenduse puhul oleks see ehk paremini välja tulnud. Aga valitud rakendus oli väike ning oli suudetud asjad toimima panna. Koodistiililt oli rakendust meeldiv lugeda ning puudustele vaatamata oli hästi arusaadav. Kõige suurem dilemma retsenseerija jaoks ongi see, et kuigi MVVM on natuke valesti kasutatud, ei teki piisavalt spageti-koodi maitset, kui arvata võiks.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=60453Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2013-01-07T21:57:18Z<p>Ahokkone: /* Meeskond MMA */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 26.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''17.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 31.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
Teema: CRM<br><br />
Analüüs: [https://www.dropbox.com/s/5z60deefuvxy11a/CRM_Analüüs_v1.1.pdf Analüüsidokument]<br><br />
Analüüsi retsensioon: [https://wiki.itcollege.ee/index.php/Talk:CSharp_Meeskond_Risk2012#Anal.C3.BC.C3.BCsi_retsensioon Retsensioon meeskonnale Risk2012]<br><br />
Prototüüp: [http://enos.itcollege.ee/~ylari/I243/Naaskel.zip Naaskel.zip] (juhend meeskonna lehel)<br><br />
Lõpplahendus: [http://enos.itcollege.ee/~ylari/I243/NaaskelFinal.zip NaaskelFinal.zip] (juhend meeskonna lehel)<br><br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond_MMA]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*Ruslan Sadajev<br />
*Braid Torn<br />
<br />
Teema: laotarkvara<br />
<br />
Prototüüp: [http://enos.itcollege.ee/~ahokkone/csharp/proto.zip proto.zip]<br />
<br />
Lõpptoode: [http://enos.itcollege.ee/~ahokkone/csharp/2013_01_07.zip 2013_01_07.zip]<br />
<br />
Retsensioon (analüüs ja prototüüp): [[Talk:Meeskond_Naaskel]]<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/index.php/Ratsa_Rikkaks Ratsa Rikkaks]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Gorb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
<br />
==Meeskond akaver==<br />
Meeskonna wiki leht: [[Akaver CSharp 2012]]<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)<br />
<br />
<br />
==Meeskond wipeAll==<br />
Meeskonna wiki leht: [[CSharp Meeskond wipeAll]]<br><br />
Meeskonna liikmed:<br />
*Vladimir Domaškin - projektijuht</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=59901Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2013-01-01T19:59:04Z<p>Ahokkone: /* Meeskond MMA */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 26.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''17.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 31.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
Teema: CRM<br><br />
Analüüs: [https://www.dropbox.com/s/5z60deefuvxy11a/CRM_Analüüs_v1.1.pdf Analüüsidokument]<br><br />
Analüüsi retsensioon: [https://wiki.itcollege.ee/index.php/Talk:CSharp_Meeskond_Risk2012#Anal.C3.BC.C3.BCsi_retsensioon Retsensioon meeskonnale Risk2012]<br><br />
Prototüüp: [http://enos.itcollege.ee/~ylari/I243/Naaskel.zip Naaskel.zip] (juhend meeskonna lehel)<br><br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond_MMA]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*Ruslan Sadajev<br />
*Braid Torn<br />
<br />
Teema: laotarkvara<br />
<br />
Prototüüp: [http://enos.itcollege.ee/~ahokkone/csharp/proto.zip proto.zip]<br />
<br />
Retsensioon (analüüs ja prototüüp): [[Talk:Meeskond_Naaskel]]<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/index.php/Ratsa_Rikkaks Ratsa Rikkaks]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Gorb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev<br />
<br />
<br />
==Meeskond akaver==<br />
Meeskonna wiki leht: [[Akaver CSharp 2012]]<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)<br />
<br />
<br />
==Meeskond wipeAll==<br />
Meeskonna wiki leht: [[CSharp Meeskond wipeAll]]<br><br />
Meeskonna liikmed:<br />
*Vladimir Domaškin - projektijuht</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Naaskel&diff=59900Talk:Meeskond Naaskel2013-01-01T19:54:59Z<p>Ahokkone: /* Prototüübi retsensioon (Meeskonnalt MMA) */</p>
<hr />
<div>= Analüüsi retsensioon (Meeskonnalt MMA)=<br />
<br />
==== Teema aktuaalsus ====<br />
<br />
Valitud teema on väga praktiline ja aktuaalne. Süsteemi vajalikus on ilmselge valitud sihtgrupi jaoks.<br />
<br />
<br />
==== Sisu ====<br />
<br />
Eesmärke lugedes jääb selgusetusks, mis on konkreetse CRM eesmärk. Näiteks e-posti halduse CRM-is oleks võinud rohkem lahti seletada. Asjaga mitte kokkupuutunud lugejale jääb küsimus, et kas e-posti halduseks ei ole omaette lahendusi.<br />
<br />
Funktsionaalsete nõuete osas on sarnaseid kohti. Tuleviku ideena on märgitud "Palk". Ka selleks on eraldi lahendused (palgaarvestuse süsteem). Wikipedias lugedes CRM kohta, klassifitseeritakse sarnased "kõik ühes" lahendused tüübi alla "Small business". Analüüsis sõnastatud eesmärkide esimene lause seda ka sisaldab, sihtgrupiks on väikeettevõtted. Eesmärgi sõnastuse osas võetakse väga suuri eesmärke. Suurelt ja tuleviku mõtlemine on retsenseerija arvates positiivne. Samas, väikeettevõttel (sihtgrupp) võib olla ka toimivaid lahendusi (e-post, dok. haldus jne).<br />
<br />
<br />
Kasutuslugudes on kõik põhifunktsionaalsust puudutav kirja pandud. Selles osas on analüüsi eesmärk täidetud.<br />
<br />
==== Vormistus ====<br />
<br />
<br />
Funktsionaalsete nõuete osas on joonis hästi tehtud. Ühel joonisel on erinevad komponendid kui ka andmete liikumine. Joonis on sellegipoolest selge ja arusaadav. Tervikpilt annab kiirelt hea ülevaate.<br />
<br />
Plussina on analüüsis kasutuslood nii jooniste kui tekstina. Selge ja arusaadav kirjapanemise loogika.<br />
<br />
<br />
==== Kokkuvõte ====<br />
<br />
Töö on ülesande eesmärki arvestades detailselt ja mahukalt kirjutatud. Kirja on pandud grupi liikmed, tööjaotus, arenduse metoodika. Kohe alguses on ka projektijuhtimise peale mõeldud. Selle analüüsi järgi peaks grupi liikmetel olema hea ülevaade ja saaks edukalt projektiga alustada.<br />
<br />
<br />
<br />
==== Küsimused ====<br />
<br />
#Eesmärkides kirjeldati erinevaid komponente (dokumendid, e-post, arved, palk). Kas on plaan teha kuidagi modulaarsena süsteemi? Et saab kasutada süsteemi modulaarselt, kasutades osasid süsteemi osi täismahus ilma teatud teiste osadeta? Või on mõeldud liidestusvõimalusi olemasolevate projektihaldamise, e-posti, kalendrite jne süsteemidega?<br />
#Punktis "7.2. Turvalisus" on kirjas, et andmebaas ja GUI+rakendus asuvad eraldi masinates. Ühenduseks on arvutivõrk. Kas suhtlus andmebaasiga käib kasutades andmebaasi klienditeeki? Sel juhul peaks olema võrku avatud andmebaasihaldus tarkvara port, mida saaks rünnata kasutades ära avalikuks tehtud turvavigu. Kuidas tagatakse, et andmebaasiga ühendumise parooli ei võeta programmist välja ("reflection", code reverse engineering)? Ilmselt on ühendumise kontol rohkem privileege kui rakendust kasutaval tavakasutajal. Kuidas tagatakse, et andmebaasi kasutab andmebaasi struktuuri jaoks piisavalt uus rakenduse versioon ja vanemad versioonid ei ühendu?<br />
#Punktis "7.3. Andmebaas" ei ole mainitud kustutajat ega kustutamise aega. Kas lisaks "kustutatud" väljale kasutatakse sel juhul "muutja" ja "muutmisaeg" väljasid?<br />
#Punktis "7.4. Formaadid" on välja toodud erinevad esitluskihi ja andmekihi formaadid (kuupäevad, numbrid jne). Kas on plaanis toetada lokaate? Et süsteem kasutab sisemiselt ettemääratud formaate aga esitluskihi ja sisestusvormide jaoks konverteeritakse vastavalt kasutaja arvuti seadistustele (eeldades, et arvuti on kasutaja eelistuste järgi seadistatud)?<br />
<br />
= Prototüübi retsensioon (Meeskonnalt MMA)=<br />
<br />
<br />
====Esimene vaade====<br />
<br />
Esimese asjana proovisin käivitada rakendust. Mitte midagi ei juhtunud. Ei avanenud põhiakent ega midagi. Lootsin, et tuleb andmebaasiga ühendumise viga. Proovitud sai ka käsurealt käivitada aga ka käsurea aknas ei olnud veateateid.<br />
<br />
<br />
====Andmebaas====<br />
<br />
Kuna kataloogis olid mõned tuttavad failid, siis sai otsitud andmebaasi ühendumise "connection string-i" *.exe.config failist. Seda seal ei olnud. Siin kohal oli ebaselge, kas on mõttet üldse andmebaasi teha.<br />
<br />
Andmebaasi loomise sql skript oli koodiga kaasas. Sai uuritud. Tegin andmebaasi ja laadisin näidisandmed. Siis avanes ka rakendus. Jäi mulje, et baasi logitakse sisse windows auth-iga ja otsitakse kindla nimega andmebaasi. <br />
<br />
<br />
====Rakendus====<br />
<br />
Subjektiivne arvamus on selline et, esmamulje on oluline. Kui progeja hindab rakendust, siis esmamuljet hoitakse avatuna kuni lähtekoodi uurimiseni. Selle rakenduse puhul ei olnud lähtekoodi kaasas ja see ei ole üldse "cool". Wiki-st tiimi lehelt sai leitud koodihalduse keskkonna link. Koodihaldus on parooliga kaitstud. Ilmselt ei oleks saanud koodi näha ilma vastava õiguse küsimist, millele oleks järgnenud juurdepääsu ootamine.<br />
<br />
Rakenduse kasutajaliides on loogilise ülesehitusega. Paljud nupud küll ei tööta, oleks soovinud katsetada mõnda lisamist-muutmist. Mingi valideerimine oli näha, isikukoodi väljale tähte trükkimine tegi sisestuslahtri punaseks.<br />
<br />
<br />
====Kokkuvõte====<br />
<br />
Koodi ei näinud! .dll failide suurusi vaadates jäi mulje, et seal on palju sellist asja, mida ei ole GUI-s jõutud välja näidata. Et siis osa tööd on tehtud kuid lõpuni viimata ja ei saa katsetada. Äriloogika ja GUI tundub olevat erinevates projektides / .dll failides. See ongi see, mida aines õpetati ja tundub hea lahendus olevat. Kui peaks hindama, siis prototüübi kohta käib küll. Ühe miinuse ehk annaks selle eest, et ei saanud kuskil GUI-s salvestamist/lisamist/muutmist/kustutamist/otsimist proovida.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Naaskel&diff=59899Talk:Meeskond Naaskel2013-01-01T19:53:48Z<p>Ahokkone: /* Prototüübi retsensioon (Meeskonnalt MMA) */</p>
<hr />
<div>= Analüüsi retsensioon (Meeskonnalt MMA)=<br />
<br />
==== Teema aktuaalsus ====<br />
<br />
Valitud teema on väga praktiline ja aktuaalne. Süsteemi vajalikus on ilmselge valitud sihtgrupi jaoks.<br />
<br />
<br />
==== Sisu ====<br />
<br />
Eesmärke lugedes jääb selgusetusks, mis on konkreetse CRM eesmärk. Näiteks e-posti halduse CRM-is oleks võinud rohkem lahti seletada. Asjaga mitte kokkupuutunud lugejale jääb küsimus, et kas e-posti halduseks ei ole omaette lahendusi.<br />
<br />
Funktsionaalsete nõuete osas on sarnaseid kohti. Tuleviku ideena on märgitud "Palk". Ka selleks on eraldi lahendused (palgaarvestuse süsteem). Wikipedias lugedes CRM kohta, klassifitseeritakse sarnased "kõik ühes" lahendused tüübi alla "Small business". Analüüsis sõnastatud eesmärkide esimene lause seda ka sisaldab, sihtgrupiks on väikeettevõtted. Eesmärgi sõnastuse osas võetakse väga suuri eesmärke. Suurelt ja tuleviku mõtlemine on retsenseerija arvates positiivne. Samas, väikeettevõttel (sihtgrupp) võib olla ka toimivaid lahendusi (e-post, dok. haldus jne).<br />
<br />
<br />
Kasutuslugudes on kõik põhifunktsionaalsust puudutav kirja pandud. Selles osas on analüüsi eesmärk täidetud.<br />
<br />
==== Vormistus ====<br />
<br />
<br />
Funktsionaalsete nõuete osas on joonis hästi tehtud. Ühel joonisel on erinevad komponendid kui ka andmete liikumine. Joonis on sellegipoolest selge ja arusaadav. Tervikpilt annab kiirelt hea ülevaate.<br />
<br />
Plussina on analüüsis kasutuslood nii jooniste kui tekstina. Selge ja arusaadav kirjapanemise loogika.<br />
<br />
<br />
==== Kokkuvõte ====<br />
<br />
Töö on ülesande eesmärki arvestades detailselt ja mahukalt kirjutatud. Kirja on pandud grupi liikmed, tööjaotus, arenduse metoodika. Kohe alguses on ka projektijuhtimise peale mõeldud. Selle analüüsi järgi peaks grupi liikmetel olema hea ülevaade ja saaks edukalt projektiga alustada.<br />
<br />
<br />
<br />
==== Küsimused ====<br />
<br />
#Eesmärkides kirjeldati erinevaid komponente (dokumendid, e-post, arved, palk). Kas on plaan teha kuidagi modulaarsena süsteemi? Et saab kasutada süsteemi modulaarselt, kasutades osasid süsteemi osi täismahus ilma teatud teiste osadeta? Või on mõeldud liidestusvõimalusi olemasolevate projektihaldamise, e-posti, kalendrite jne süsteemidega?<br />
#Punktis "7.2. Turvalisus" on kirjas, et andmebaas ja GUI+rakendus asuvad eraldi masinates. Ühenduseks on arvutivõrk. Kas suhtlus andmebaasiga käib kasutades andmebaasi klienditeeki? Sel juhul peaks olema võrku avatud andmebaasihaldus tarkvara port, mida saaks rünnata kasutades ära avalikuks tehtud turvavigu. Kuidas tagatakse, et andmebaasiga ühendumise parooli ei võeta programmist välja ("reflection", code reverse engineering)? Ilmselt on ühendumise kontol rohkem privileege kui rakendust kasutaval tavakasutajal. Kuidas tagatakse, et andmebaasi kasutab andmebaasi struktuuri jaoks piisavalt uus rakenduse versioon ja vanemad versioonid ei ühendu?<br />
#Punktis "7.3. Andmebaas" ei ole mainitud kustutajat ega kustutamise aega. Kas lisaks "kustutatud" väljale kasutatakse sel juhul "muutja" ja "muutmisaeg" väljasid?<br />
#Punktis "7.4. Formaadid" on välja toodud erinevad esitluskihi ja andmekihi formaadid (kuupäevad, numbrid jne). Kas on plaanis toetada lokaate? Et süsteem kasutab sisemiselt ettemääratud formaate aga esitluskihi ja sisestusvormide jaoks konverteeritakse vastavalt kasutaja arvuti seadistustele (eeldades, et arvuti on kasutaja eelistuste järgi seadistatud)?<br />
<br />
= Prototüübi retsensioon (Meeskonnalt MMA)=<br />
<br />
<br />
==Esimene vaade==<br />
<br />
Esimese asjana proovisin käivitada rakendust. Mitte midagi ei juhtunud. Ei avanenud põhiakent ega midagi. Lootsin, et tuleb andmebaasiga ühendumise viga. Proovitud sai ka käsurealt käivitada aga ka käsurea aknas ei olnud veateateid.<br />
<br />
<br />
==Andmebaas==<br />
<br />
Kuna kataloogis olid mõned tuttavad failid, siis sai otsitud andmebaasi ühendumise "connection string-i" *.exe.config failist. Seda seal ei olnud. Siin kohal oli ebaselge, kas on mõttet üldse andmebaasi teha.<br />
<br />
Andmebaasi loomise sql skript oli koodiga kaasas. Sai uuritud. Tegin andmebaasi ja laadisin näidisandmed. Siis avanes ka rakendus. Jäi mulje, et baasi logitakse sisse windows auth-iga ja otsitakse kindla nimega andmebaasi. <br />
<br />
<br />
==Rakendus==<br />
<br />
Subjektiivne arvamus on selline et, esmamulje on oluline. Kui progeja hindab rakendust, siis esmamuljet hoitakse avatuna kuni lähtekoodi uurimiseni. Selle rakenduse puhul ei olnud lähtekoodi kaasas ja see ei ole üldse "cool". Wiki-st tiimi lehelt sai leitud koodihalduse keskkonna link. Koodihaldus on parooliga kaitstud. Ilmselt ei oleks saanud koodi näha ilma vastava õiguse küsimist, millele oleks järgnenud juurdepääsu ootamine.<br />
<br />
Rakenduse kasutajaliides on loogilise ülesehitusega. Paljud nupud küll ei tööta, oleks soovinud katsetada mõnda lisamist-muutmist. Mingi valideerimine oli näha, isikukoodi väljale tähte trükkimine tegi sisestuslahtri punaseks.<br />
<br />
<br />
==Kokku==<br />
<br />
Koodi ei näinud! .dll failide suurusi vaadates jäi mulje, et seal on palju sellist asja, mida ei ole GUI-s jõutud välja näidata. Et siis osa tööd on tehtud kuid lõpuni viimata ja ei saa katsetada. Äriloogika ja GUI tundub olevat erinevates projektides / .dll failides. See ongi see, mida aines õpetati ja tundub hea lahendus olevat. Kui peaks hindama, siis prototüübi kohta käib küll. Ühe miinuse ehk annaks selle eest, et ei saanud kuskil GUI-s salvestamist/lisamist/muutmist/kustutamist/otsimist proovida.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Naaskel&diff=59897Talk:Meeskond Naaskel2013-01-01T19:52:16Z<p>Ahokkone: /* Analüüsi retsensioon (Meeskonnalt MMA) */</p>
<hr />
<div>= Analüüsi retsensioon (Meeskonnalt MMA)=<br />
<br />
==== Teema aktuaalsus ====<br />
<br />
Valitud teema on väga praktiline ja aktuaalne. Süsteemi vajalikus on ilmselge valitud sihtgrupi jaoks.<br />
<br />
<br />
==== Sisu ====<br />
<br />
Eesmärke lugedes jääb selgusetusks, mis on konkreetse CRM eesmärk. Näiteks e-posti halduse CRM-is oleks võinud rohkem lahti seletada. Asjaga mitte kokkupuutunud lugejale jääb küsimus, et kas e-posti halduseks ei ole omaette lahendusi.<br />
<br />
Funktsionaalsete nõuete osas on sarnaseid kohti. Tuleviku ideena on märgitud "Palk". Ka selleks on eraldi lahendused (palgaarvestuse süsteem). Wikipedias lugedes CRM kohta, klassifitseeritakse sarnased "kõik ühes" lahendused tüübi alla "Small business". Analüüsis sõnastatud eesmärkide esimene lause seda ka sisaldab, sihtgrupiks on väikeettevõtted. Eesmärgi sõnastuse osas võetakse väga suuri eesmärke. Suurelt ja tuleviku mõtlemine on retsenseerija arvates positiivne. Samas, väikeettevõttel (sihtgrupp) võib olla ka toimivaid lahendusi (e-post, dok. haldus jne).<br />
<br />
<br />
Kasutuslugudes on kõik põhifunktsionaalsust puudutav kirja pandud. Selles osas on analüüsi eesmärk täidetud.<br />
<br />
==== Vormistus ====<br />
<br />
<br />
Funktsionaalsete nõuete osas on joonis hästi tehtud. Ühel joonisel on erinevad komponendid kui ka andmete liikumine. Joonis on sellegipoolest selge ja arusaadav. Tervikpilt annab kiirelt hea ülevaate.<br />
<br />
Plussina on analüüsis kasutuslood nii jooniste kui tekstina. Selge ja arusaadav kirjapanemise loogika.<br />
<br />
<br />
==== Kokkuvõte ====<br />
<br />
Töö on ülesande eesmärki arvestades detailselt ja mahukalt kirjutatud. Kirja on pandud grupi liikmed, tööjaotus, arenduse metoodika. Kohe alguses on ka projektijuhtimise peale mõeldud. Selle analüüsi järgi peaks grupi liikmetel olema hea ülevaade ja saaks edukalt projektiga alustada.<br />
<br />
<br />
<br />
==== Küsimused ====<br />
<br />
#Eesmärkides kirjeldati erinevaid komponente (dokumendid, e-post, arved, palk). Kas on plaan teha kuidagi modulaarsena süsteemi? Et saab kasutada süsteemi modulaarselt, kasutades osasid süsteemi osi täismahus ilma teatud teiste osadeta? Või on mõeldud liidestusvõimalusi olemasolevate projektihaldamise, e-posti, kalendrite jne süsteemidega?<br />
#Punktis "7.2. Turvalisus" on kirjas, et andmebaas ja GUI+rakendus asuvad eraldi masinates. Ühenduseks on arvutivõrk. Kas suhtlus andmebaasiga käib kasutades andmebaasi klienditeeki? Sel juhul peaks olema võrku avatud andmebaasihaldus tarkvara port, mida saaks rünnata kasutades ära avalikuks tehtud turvavigu. Kuidas tagatakse, et andmebaasiga ühendumise parooli ei võeta programmist välja ("reflection", code reverse engineering)? Ilmselt on ühendumise kontol rohkem privileege kui rakendust kasutaval tavakasutajal. Kuidas tagatakse, et andmebaasi kasutab andmebaasi struktuuri jaoks piisavalt uus rakenduse versioon ja vanemad versioonid ei ühendu?<br />
#Punktis "7.3. Andmebaas" ei ole mainitud kustutajat ega kustutamise aega. Kas lisaks "kustutatud" väljale kasutatakse sel juhul "muutja" ja "muutmisaeg" väljasid?<br />
#Punktis "7.4. Formaadid" on välja toodud erinevad esitluskihi ja andmekihi formaadid (kuupäevad, numbrid jne). Kas on plaanis toetada lokaate? Et süsteem kasutab sisemiselt ettemääratud formaate aga esitluskihi ja sisestusvormide jaoks konverteeritakse vastavalt kasutaja arvuti seadistustele (eeldades, et arvuti on kasutaja eelistuste järgi seadistatud)?<br />
<br />
= Prototüübi retsensioon (Meeskonnalt MMA)=</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=59888Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2013-01-01T13:41:41Z<p>Ahokkone: /* Meeskond MMA */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 26.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''17.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 31.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
Teema: CRM<br><br />
Analüüs: [https://www.dropbox.com/s/5z60deefuvxy11a/CRM_Analüüs_v1.1.pdf Analüüsidokument]<br><br />
Analüüsi retsensioon: [https://wiki.itcollege.ee/index.php/Talk:CSharp_Meeskond_Risk2012#Anal.C3.BC.C3.BCsi_retsensioon Retsensioon meeskonnale Risk2012]<br><br />
Prototüüp: [http://enos.itcollege.ee/~ylari/I243/Naaskel.zip Naaskel.zip] (juhend meeskonna lehel)<br><br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond_MMA]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*Ruslan Sadajev<br />
*Braid Torn<br />
<br />
Teema: laotarkvara<br />
<br />
Prototüüp: [http://enos.itcollege.ee/~ahokkone/csharp/proto.zip proto.zip]<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/index.php/Ratsa_Rikkaks Ratsa Rikkaks]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Gorb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev<br />
<br />
<br />
==Meeskond akaver==<br />
Meeskonna wiki leht: [[Akaver CSharp 2012]]<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)<br />
<br />
<br />
==Meeskond wipeAll==<br />
Meeskonna wiki leht: [[CSharp Meeskond wipeAll]]<br><br />
Meeskonna liikmed:<br />
*Vladimir Domaškin - projektijuht</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Naaskel&diff=57633Talk:Meeskond Naaskel2012-11-25T14:07:42Z<p>Ahokkone: /* Sisu */</p>
<hr />
<div>= Analüüsi retsensioon (Meeskonnalt MMA)=<br />
<br />
==== Teema aktuaalsus ====<br />
<br />
Valitud teema on väga praktiline ja aktuaalne. Süsteemi vajalikus on ilmselge valitud sihtgrupi jaoks.<br />
<br />
<br />
==== Sisu ====<br />
<br />
Eesmärke lugedes jääb selgusetusks, mis on konkreetse CRM eesmärk. Näiteks e-posti halduse CRM-is oleks võinud rohkem lahti seletada. Asjaga mitte kokkupuutunud lugejale jääb küsimus, et kas e-posti halduseks ei ole omaette lahendusi.<br />
<br />
Funktsionaalsete nõuete osas on sarnaseid kohti. Tuleviku ideena on märgitud "Palk". Ka selleks on eraldi lahendused (palgaarvestuse süsteem). Wikipedias lugedes CRM kohta, klassifitseeritakse sarnased "kõik ühes" lahendused tüübi alla "Small business". Analüüsis sõnastatud eesmärkide esimene lause seda ka sisaldab, sihtgrupiks on väikeettevõtted. Eesmärgi sõnastuse osas võetakse väga suuri eesmärke. Suurelt ja tuleviku mõtlemine on retsenseerija arvates positiivne. Samas, väikeettevõttel (sihtgrupp) võib olla ka toimivaid lahendusi (e-post, dok. haldus jne).<br />
<br />
<br />
Kasutuslugudes on kõik põhifunktsionaalsust puudutav kirja pandud. Selles osas on analüüsi eesmärk täidetud.<br />
<br />
==== Vormistus ====<br />
<br />
<br />
Funktsionaalsete nõuete osas on joonis hästi tehtud. Ühel joonisel on erinevad komponendid kui ka andmete liikumine. Joonis on sellegipoolest selge ja arusaadav. Tervikpilt annab kiirelt hea ülevaate.<br />
<br />
Plussina on analüüsis kasutuslood nii jooniste kui tekstina. Selge ja arusaadav kirjapanemise loogika.<br />
<br />
<br />
==== Kokkuvõte ====<br />
<br />
Töö on ülesande eesmärki arvestades detailselt ja mahukalt kirjutatud. Kirja on pandud grupi liikmed, tööjaotus, arenduse metoodika. Kohe alguses on ka projektijuhtimise peale mõeldud. Selle analüüsi järgi peaks grupi liikmetel olema hea ülevaade ja saaks edukalt projektiga alustada.<br />
<br />
<br />
<br />
==== Küsimused ====<br />
<br />
#Eesmärkides kirjeldati erinevaid komponente (dokumendid, e-post, arved, palk). Kas on plaan teha kuidagi modulaarsena süsteemi? Et saab kasutada süsteemi modulaarselt, kasutades osasid süsteemi osi täismahus ilma teatud teiste osadeta? Või on mõeldud liidestusvõimalusi olemasolevate projektihaldamise, e-posti, kalendrite jne süsteemidega?<br />
#Punktis "7.2. Turvalisus" on kirjas, et andmebaas ja GUI+rakendus asuvad eraldi masinates. Ühenduseks on arvutivõrk. Kas suhtlus andmebaasiga käib kasutades andmebaasi klienditeeki? Sel juhul peaks olema võrku avatud andmebaasihaldus tarkvara port, mida saaks rünnata kasutades ära avalikuks tehtud turvavigu. Kuidas tagatakse, et andmebaasiga ühendumise parooli ei võeta programmist välja ("reflection", code reverse engineering)? Ilmselt on ühendumise kontol rohkem privileege kui rakendust kasutaval tavakasutajal. Kuidas tagatakse, et andmebaasi kasutab andmebaasi struktuuri jaoks piisavalt uus rakenduse versioon ja vanemad versioonid ei ühendu?<br />
#Punktis "7.3. Andmebaas" ei ole mainitud kustutajat ega kustutamise aega. Kas lisaks "kustutatud" väljale kasutatakse sel juhul "muutja" ja "muutmisaeg" väljasid?<br />
#Punktis "7.4. Formaadid" on välja toodud erinevad esitluskihi ja andmekihi formaadid (kuupäevad, numbrid jne). Kas on plaanis toetada lokaate? Et süsteem kasutab sisemiselt ettemääratud formaate aga esitluskihi ja sisestusvormide jaoks konverteeritakse vastavalt kasutaja arvuti seadistustele (eeldades, et arvuti on kasutaja eelistuste järgi seadistatud)?</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Naaskel&diff=57632Talk:Meeskond Naaskel2012-11-25T14:06:45Z<p>Ahokkone: /* Analüüsi retsensioon */</p>
<hr />
<div>= Analüüsi retsensioon (Meeskonnalt MMA)=<br />
<br />
==== Teema aktuaalsus ====<br />
<br />
Valitud teema on väga praktiline ja aktuaalne. Süsteemi vajalikus on ilmselge valitud sihtgrupi jaoks.<br />
<br />
<br />
==== Sisu ====<br />
<br />
Eesmärke lugedes jääb selgusetusks, mis on CRM eesmärk. Näiteks e-posti halduse CRM-is oleks võinud rohkem lahti seletada. Asjaga mitte kokkupuutunud lugejale jääb küsimus, et kas e-posti halduseks ei ole omaette lahendusi.<br />
<br />
Funktsionaalsete nõuete osas on sarnaseid kohti. Tuleviku ideena on märgitud "Palk". Ka selleks on eraldi lahendused (palgaarvestuse süsteem). Wikipedias lugedes CRM kohta, klassifitseeritakse sarnased "kõik ühes" lahendused tüübi alla "Small business". Analüüsis sõnastatud eesmärkide esimene lause seda ka sisaldab, sihtgrupiks on väikeettevõtted. Eesmärgi sõnastuse osas võetakse väga suuri eesmärke. Suurelt ja tuleviku mõtlemine on retsenseerija arvates positiivne. Samas, väikeettevõttel (sihtgrupp) võib olla ka toimivaid lahendusi (e-post, dok. haldus jne).<br />
<br />
<br />
Kasutuslugudes on kõik põhifunktsionaalsust puudutav kirja pandud. Selles osas on analüüsi eesmärk täidetud.<br />
<br />
<br />
==== Vormistus ====<br />
<br />
<br />
Funktsionaalsete nõuete osas on joonis hästi tehtud. Ühel joonisel on erinevad komponendid kui ka andmete liikumine. Joonis on sellegipoolest selge ja arusaadav. Tervikpilt annab kiirelt hea ülevaate.<br />
<br />
Plussina on analüüsis kasutuslood nii jooniste kui tekstina. Selge ja arusaadav kirjapanemise loogika.<br />
<br />
<br />
==== Kokkuvõte ====<br />
<br />
Töö on ülesande eesmärki arvestades detailselt ja mahukalt kirjutatud. Kirja on pandud grupi liikmed, tööjaotus, arenduse metoodika. Kohe alguses on ka projektijuhtimise peale mõeldud. Selle analüüsi järgi peaks grupi liikmetel olema hea ülevaade ja saaks edukalt projektiga alustada.<br />
<br />
<br />
<br />
==== Küsimused ====<br />
<br />
#Eesmärkides kirjeldati erinevaid komponente (dokumendid, e-post, arved, palk). Kas on plaan teha kuidagi modulaarsena süsteemi? Et saab kasutada süsteemi modulaarselt, kasutades osasid süsteemi osi täismahus ilma teatud teiste osadeta? Või on mõeldud liidestusvõimalusi olemasolevate projektihaldamise, e-posti, kalendrite jne süsteemidega?<br />
#Punktis "7.2. Turvalisus" on kirjas, et andmebaas ja GUI+rakendus asuvad eraldi masinates. Ühenduseks on arvutivõrk. Kas suhtlus andmebaasiga käib kasutades andmebaasi klienditeeki? Sel juhul peaks olema võrku avatud andmebaasihaldus tarkvara port, mida saaks rünnata kasutades ära avalikuks tehtud turvavigu. Kuidas tagatakse, et andmebaasiga ühendumise parooli ei võeta programmist välja ("reflection", code reverse engineering)? Ilmselt on ühendumise kontol rohkem privileege kui rakendust kasutaval tavakasutajal. Kuidas tagatakse, et andmebaasi kasutab andmebaasi struktuuri jaoks piisavalt uus rakenduse versioon ja vanemad versioonid ei ühendu?<br />
#Punktis "7.3. Andmebaas" ei ole mainitud kustutajat ega kustutamise aega. Kas lisaks "kustutatud" väljale kasutatakse sel juhul "muutja" ja "muutmisaeg" väljasid?<br />
#Punktis "7.4. Formaadid" on välja toodud erinevad esitluskihi ja andmekihi formaadid (kuupäevad, numbrid jne). Kas on plaanis toetada lokaate? Et süsteem kasutab sisemiselt ettemääratud formaate aga esitluskihi ja sisestusvormide jaoks konverteeritakse vastavalt kasutaja arvuti seadistustele (eeldades, et arvuti on kasutaja eelistuste järgi seadistatud)?</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond_Naaskel&diff=57631Talk:Meeskond Naaskel2012-11-25T14:06:24Z<p>Ahokkone: </p>
<hr />
<div>= Analüüsi retsensioon =<br />
<br />
==== Teema aktuaalsus ====<br />
<br />
Valitud teema on väga praktiline ja aktuaalne. Süsteemi vajalikus on ilmselge valitud sihtgrupi jaoks.<br />
<br />
<br />
==== Sisu ====<br />
<br />
Eesmärke lugedes jääb selgusetusks, mis on CRM eesmärk. Näiteks e-posti halduse CRM-is oleks võinud rohkem lahti seletada. Asjaga mitte kokkupuutunud lugejale jääb küsimus, et kas e-posti halduseks ei ole omaette lahendusi.<br />
<br />
Funktsionaalsete nõuete osas on sarnaseid kohti. Tuleviku ideena on märgitud "Palk". Ka selleks on eraldi lahendused (palgaarvestuse süsteem). Wikipedias lugedes CRM kohta, klassifitseeritakse sarnased "kõik ühes" lahendused tüübi alla "Small business". Analüüsis sõnastatud eesmärkide esimene lause seda ka sisaldab, sihtgrupiks on väikeettevõtted. Eesmärgi sõnastuse osas võetakse väga suuri eesmärke. Suurelt ja tuleviku mõtlemine on retsenseerija arvates positiivne. Samas, väikeettevõttel (sihtgrupp) võib olla ka toimivaid lahendusi (e-post, dok. haldus jne).<br />
<br />
<br />
Kasutuslugudes on kõik põhifunktsionaalsust puudutav kirja pandud. Selles osas on analüüsi eesmärk täidetud.<br />
<br />
<br />
==== Vormistus ====<br />
<br />
<br />
Funktsionaalsete nõuete osas on joonis hästi tehtud. Ühel joonisel on erinevad komponendid kui ka andmete liikumine. Joonis on sellegipoolest selge ja arusaadav. Tervikpilt annab kiirelt hea ülevaate.<br />
<br />
Plussina on analüüsis kasutuslood nii jooniste kui tekstina. Selge ja arusaadav kirjapanemise loogika.<br />
<br />
<br />
==== Kokkuvõte ====<br />
<br />
Töö on ülesande eesmärki arvestades detailselt ja mahukalt kirjutatud. Kirja on pandud grupi liikmed, tööjaotus, arenduse metoodika. Kohe alguses on ka projektijuhtimise peale mõeldud. Selle analüüsi järgi peaks grupi liikmetel olema hea ülevaade ja saaks edukalt projektiga alustada.<br />
<br />
<br />
<br />
==== Küsimused ====<br />
<br />
#Eesmärkides kirjeldati erinevaid komponente (dokumendid, e-post, arved, palk). Kas on plaan teha kuidagi modulaarsena süsteemi? Et saab kasutada süsteemi modulaarselt, kasutades osasid süsteemi osi täismahus ilma teatud teiste osadeta? Või on mõeldud liidestusvõimalusi olemasolevate projektihaldamise, e-posti, kalendrite jne süsteemidega?<br />
#Punktis "7.2. Turvalisus" on kirjas, et andmebaas ja GUI+rakendus asuvad eraldi masinates. Ühenduseks on arvutivõrk. Kas suhtlus andmebaasiga käib kasutades andmebaasi klienditeeki? Sel juhul peaks olema võrku avatud andmebaasihaldus tarkvara port, mida saaks rünnata kasutades ära avalikuks tehtud turvavigu. Kuidas tagatakse, et andmebaasiga ühendumise parooli ei võeta programmist välja ("reflection", code reverse engineering)? Ilmselt on ühendumise kontol rohkem privileege kui rakendust kasutaval tavakasutajal. Kuidas tagatakse, et andmebaasi kasutab andmebaasi struktuuri jaoks piisavalt uus rakenduse versioon ja vanemad versioonid ei ühendu?<br />
#Punktis "7.3. Andmebaas" ei ole mainitud kustutajat ega kustutamise aega. Kas lisaks "kustutatud" väljale kasutatakse sel juhul "muutja" ja "muutmisaeg" väljasid?<br />
#Punktis "7.4. Formaadid" on välja toodud erinevad esitluskihi ja andmekihi formaadid (kuupäevad, numbrid jne). Kas on plaanis toetada lokaate? Et süsteem kasutab sisemiselt ettemääratud formaate aga esitluskihi ja sisestusvormide jaoks konverteeritakse vastavalt kasutaja arvuti seadistustele (eeldades, et arvuti on kasutaja eelistuste järgi seadistatud)?</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=57129Meeskond MMA2012-11-18T20:50:12Z<p>Ahokkone: /* Ettejuhtuda võivad probleemid */</p>
<hr />
<div>Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, kodu riiulid, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi laoshoidmise äriloogika ja kasutajaliidese.<br />
<br />
<br />
<br />
== Analüüs ==<br />
<br />
Tegemist on nõuete analüüsiga uue süsteemi loomiseks. Analüüs annab kirjelduse, mida uuest tarkvarast saada soovitakse.<br />
<br />
<br />
=== Üldvaade ===<br />
<br />
<br />
Järgnevalt esitatakse mõisted, eesmärgid, põhiprotsesside, põhiobjektide, sündmuste, tegutsejate ja infovajaduste loetelu. Joonised on koostatud UML keeles.<br />
<br />
<br />
==== Taust ====<br />
<br />
On hulk esemeid, väga erinevaid aga mingi sarnasuse alusel on nad paigutatud ühte piirkonda. Nende üle on raske arvet pidada. Puudub ülevaade kui palju on esemeid, kus nad asuvad, mis on nende esemete põhiinfo. Ei ole võimalik leida esemeid kindlate parameetrite järgi. Näiteks: lähiajal riknevad kaubad, takistid vahemikus 1...2k ohm, tõenäosusega x lähima n aja jooksul otsa saavad esemed piirkonnas y, omavahel sobivad esemed (alternatiivtooted) jne.<br />
<br />
<br />
==== Mõisted ====<br />
<br />
<br />
;ladu<br />
: Asukoht, kus hoitakse asju<br />
;laoese<br />
: huvipakkuv asi, mille kohta on vaja infot hoida<br />
<br />
==== Tegutsejad (kasutajad) ====<br />
<br />
Süsteemi kasutajate rollid on järgnevad:<br />
<br />
* administraator<br />
* andmesisestaja<br />
* tavakasutaja (vaataja)<br />
<br />
==== Protsesside loetelu ====<br />
<br />
* sisestamine<br />
* otsimine<br />
* ülevaade/statistika/aruanded<br />
<br />
==== Toimimisobjektid ====<br />
<br />
* kasutaja<br />
* laoese<br />
* ladu / asukoht<br />
<br />
==== Infovajaduste loetelu ====<br />
<br />
laoeseme:<br />
* nimetus<br />
* kogus<br />
* ostu hind<br />
* asukoht<br />
* sisestamisaeg<br />
<br />
laoesemete:<br />
* nimekiri<br />
* otsimisvõimalus<br />
<br />
lao:<br />
* asukoht<br />
* pindade süstematiseerimse loogika<br />
<br />
==== Infosüsteemi eesmärgid ====<br />
<br />
<br />
Laotarkvara luuakse selleks, et võimaldada toiminguid laoesemete infoga. Kasutaja saab tarkvara kaudu otsida teda huvitavat eset, vaadata eseme infot, teostada komplekspäringuid leidmaks huvipakkuvaid esemeid, jagada infot, automatiseerida esemete haldamist. Iga eesmärgi kohta on määratud mõõdetav tulemus.<br />
<br />
<br />
<br />
'''Eesmärk 1''': talletada laoeseme infot<br />
<br />
'''Eelis''': on võimalik teostada laoeseme-põhiseid toiminguid<br />
<br />
'''Mõõt''': vähemalt 1-e laoesme info on võimalik salvestada baasi<br />
<br />
<br />
'''Eesmärk 2''': otsida esemeid põhitunnuste järgi, mis on üle terve süsteemi kohustuslikud<br />
<br />
'''Eelis''': ajasääst kasutajal<br />
<br />
'''Mõõt''': ese on nime või koodi järgi leitav<br />
<br />
<br />
'''Eesmärk 3''': otsingutulemustest saab omakorda otsida<br />
<br />
'''Eelis''': kasutajamugavus. Keerukad otsingud asenduvad korduvkasutatava põhimõttega<br />
<br />
'''Mõõt''': peale otsingut näidatakse leitud esemete parameetreid, mille seast saab omakorda välistada/otsida<br />
<br />
<br />
'''Eesmärk 4''': statistika/ülevaate võimaldamine<br />
<br />
'''Eelis''': selge ülevaade annab infot ja võimaldab inimesel avastada sisulisi vigu kõrgemal loogika tasemel<br />
<br />
'''Mõõt''': Vastav osa on loodud<br />
<br />
<br />
'''Eesmärk 5''': andmete ajaloo pidamine<br />
<br />
'''Eelis''': leiab infot ajalooliste esemete kohta<br />
<br />
'''Mõõt''': laos enam mitteolevad esemed on andmebaasis leitavad (ja kasutajaliideses)<br />
<br />
<br />
'''Eesmärk 5.2''': tegevuste ajaloo pidamine<br />
<br />
'''Eelis''': andmete muutmist saab seostada rollidega ja isikutega<br />
<br />
'''Mõõt''': salvestatakse tegevuse tüüp, aeg, laoeseme ja isiku andmed (viide või andmed)<br />
<br />
<br />
'''Eesmärk 6''': tagada andmete terviklikus<br />
<br />
'''Eelis''': <br />
<br />
'''Mõõt''': andmebaasis kasutatakse välisvõtmeid (foreign key)<br />
<br />
<br />
'''Eesmärk 7''': andmete juurdepääsu kontrollimine<br />
<br />
'''Eelis''': volitamata isikud ei saa teada salajast infot<br />
<br />
'''Mõõt''': loodud autentimine ja autoriseerimine (või liidestus olemasolevaga). Iga use-case kohta on juurdepääsu test-case (unit test)<br />
<br />
<br />
'''Eesmärk 8''': broneerimine<br />
<br />
'''Eelis''': teadmisi saab sisestada süsteemi enne sündmuse toimumist<br />
<br />
'''Mõõt''': on võimalik laoesemete väljavõtmist lukustada teiste eest. On võimalik laopindasid lukustada hõivamise eest<br />
<br />
<br />
'''Eesmärk 9''': liidestus teiste süsteemide ja arendajate gruppidega<br />
<br />
'''Eelis''': süsteem integreerub teiste süsteemidega läbi SOA, tekib sünergia. Väheneb andmete dubleerimine.<br />
<br />
'''Mõõt''': vähemalt laoesemete põhiandmed on kättesaadavad üle masinliideste (SOAP)<br />
<br />
<br />
'''Eesmärk 10''': andmete eksport<br />
<br />
'''Eelis''': võimaldab kasutajal andmeid töödelda mugavama või valdkonna spetsiifilisema tööriistaga<br />
<br />
'''Mõõt''': vähemalt laoeseme põhiandmeid saab eksportida kas XML või CSV formaadis. Nimekirjast keerukama (seostega) struktuuri puhul on eelistatud XML.<br />
<br />
<br />
'''Eesmärk 11''': ühte baasi kasutavad mitu kasutajaliidese "desktop" rakendust<br />
<br />
'''Eelis''': väheneb andmete dubleerimine, andmed mugavamalt hallatavad<br />
<br />
'''Mõõt''': kasutajaliidese ja rakendusserveri vahel ei kasutata SQL klienti. Selle asemel ühendub kasutaja rakendus serveris oleva rakendusserveriga teenusepõhiselt.<br />
<br />
<br />
'''Eesmärk 12''': laoesemete "template"-id<br />
<br />
'''Eelis''': suureneb laoesemete sisestamise efektiivus. Väheneb kasutaja ajakulu.<br />
<br />
'''Mõõt''': eeltäidetud vormi kaudu saab sisestada uut laoeset.<br />
<br />
=== Funktsionaalne vaade ===<br />
<br />
<br />
<br />
==== Kasutuslood ====<br />
<br />
<br />
<br />
===== UML Use-case mudelid =====<br />
<br />
(TODO)<br />
<br />
<br />
<br />
===== Kasutuslood tekstina =====<br />
<br />
<br />
Järgnevalt on toodud kasutuslugude mudelid tekstina.<br />
<br />
<br />
<br />
'''Nimetus''': Lao asukohtade sisestamine<br />
<br />
'''Üldkirjeldus''': defineeitakse laoesemete hoidmise asukohad<br />
<br />
'''Kasutamise sagedus''': harva, enamasti ühekordne tegevus<br />
<br />
'''Eeltingimused''': asukohtade süstematiseerimine on kokku lepitud<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine<br />
<br />
'''Üldkirjeldus''': laoeseme lisamine. Vajadusel seostamine olemasolevaga<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti. Vahel korratakse tegevust palju kordi.<br />
<br />
'''Eeltingimused''': lao asukohtade sisestamine<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine2<br />
<br />
'''Üldkirjeldus''': sisestatakse kasutades eeltäidetud vormi<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti<br />
<br />
'''Eeltingimused''': on loodud "template"-id või saab valida sisestatud laoeseme andmeid vormi eeltäitmiseks<br />
<br />
'''Kirjeldus''': Vastavalt lao tüübile võib esemete info korduda. Selleks on mõistlik luua abivahendid käsitöö vähendamiseks ja sisestamise kiiruse tõstmiseks. Kasutaja saab suure sagedusega korduvate tööde jaoks kasutada eeltäidetud vorme.<br />
<br />
<br />
'''Nimetus''': laoeseme kuvamine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete vaatamine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida kuvada<br />
<br />
<br />
'''Nimetus''': laoeseme otsimine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete seast otsimine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida otsida<br />
<br />
<br />
=== Mittefunktsionaalne vaade ===<br />
<br />
<br />
;Andmetöötluse aeg<br />
: Enamus päringuid peaksid andmebaasist vastama alla 2 sek. Ressursinõudlikud detailse statistika päringud peaksid olema kasutajaliideses selgelt eristatavad.<br />
<br />
;Kasutajaliides peab olema mugav ja ajakohane.<br />
<br />
<br />
=== Andmevaade ===<br />
<br />
* Konseptuaalmudel (TODO)<br />
<br />
* Andmemudel (TODO)<br />
<br />
=== Ettejuhtuda võivad probleemid ===<br />
<br />
<br />
# Kõikvõimaliku info leidmiseks esemete seast peab selle info sisestama laoeseme andmeid täites. Enamasti ei soovi kasutaja seda sisestada või ei ole sellise tegevuse tasuvus prognoositav. Teatud esemetel on väga erinevat tüüpi infot ja seda kõike ei olekski võimalik tarkvarasse implementeerida.<br />
#:Lahendused:<br />
#:* hoida vaid kõige rohkem vajaminevat: nimetus, asukoht, kogus, soetamise hind, unikaalne või klassifitseeriv kood<br />
#:* jätta mugav laiendusvõimalus arendajale<br />
#:* võtta kasutusele taksonoomia (kategoriseerimine, liigitamine). Tag-id on kasutaja hallatavad. [ http://en.wikipedia.org/wiki/Tag_%28metadata%29 ]<br />
# Laoesemete atribuudid võivad muutuda laotarkvara teadmata kuna puudub jäik side mudeli ja tegeliku maailma vahel. Muutused võivad välja tulla pika aja möödudes ning võib tekitada kasutajale palju lisatööd - andmestiku sünkroniseerimist tegeliku maailma olukorrale vastavaks. See võib olla teatud juhul isegi võimatu kui ei ole enam võimalik luua füüsilist kontakti laoesemega. Näiteks: varastatud ese, aurustunud keemiline lurr jne. Teatud juhul ei ole enam võimalik tagantjärgi määrata andmeid ja neid tarkvara kaudu andmekogusse sisestada, kuigi tarkvara seda nõuab.<br />
#:Lahendused:<br />
#:* tarkvara ei tohiks liiga palju kasutajalt nõuda. Samas ei tohiks andmekogu (baasi) terviklikus kannatada. Kohustuslike andmete määramisel tuleb arvestada eriolukordadega<br />
# Lahendus dubleerib paremat spetsiifilist rakendust. Näiteks failisüsteemi. Seda võib tihti näha multimeedia mängijatest/organiseerijatest. Võimaldavad palju sisuspetsiifilisi toiminguid kuid ese kaugeneb oma elementaarsetest toimingutest, mida võimaldab failisüsteem, kuna eset kasutatakse läbi spetsiifilise rakenduse.<br />
#:Lahendus:<br />
#:* hoida mõistliku piiri laoesemete tüüpidega<br />
# Kasutaja soovib kasutada "native" kasutajaliidest. Eeldame, et põhiline sihtgrupp on MS Windows kasutajad.<br />
#:Lahendused:<br />
#:* .NET C#-is vastavad tehnoloogiad olemas: WPF, ...<br />
#:* Muude keskkondadega koostööks on SOA liidestus<br />
<br />
=== Skoop ja piirangud ===<br />
<br />
* Ei ole võimalik mitmest kasutajaliidesest kasutada ühte keskset andmebaasi kuna puudub üle võrgu andmevahetuse kiht. Selleks on vaja eraldi rakendusserverit kuid see ei mahu aine skoopi.<br />
<br />
* Realiseeritakse ainult osa põhifunktsionaalsusest, rakendus jääb osaliseks ja edaspidi täiendamiseks. Tehakse ainult nö "proof of concept" prototüüp. Esialgses lahenduses puuduvad:<br />
<br />
<br />
<br />
==== Must Have ====<br />
<br />
*Sisselogimise süsteem<br />
*Ladu, andmebaasi näol<br />
*Andmete sisestamine lattu<br />
*Laost toodete otsimine ja kuvamine kasutajale<br />
*Erinevad kasutajatüübid (rollid, õiguste süsteem)<br />
*Mugav kasutajaliides<br />
*Tegevuste kohta logi pidamine<br />
<br />
==== Nice To Have ====<br />
<br />
*Lisada toodetest pildid<br />
*Veebiliides<br />
*Kuvada andmeid toodete, kohta erivate diagrammidena</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=57128Meeskond MMA2012-11-18T20:44:29Z<p>Ahokkone: /* Infosüsteemi eesmärgid */</p>
<hr />
<div>Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, kodu riiulid, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi laoshoidmise äriloogika ja kasutajaliidese.<br />
<br />
<br />
<br />
== Analüüs ==<br />
<br />
Tegemist on nõuete analüüsiga uue süsteemi loomiseks. Analüüs annab kirjelduse, mida uuest tarkvarast saada soovitakse.<br />
<br />
<br />
=== Üldvaade ===<br />
<br />
<br />
Järgnevalt esitatakse mõisted, eesmärgid, põhiprotsesside, põhiobjektide, sündmuste, tegutsejate ja infovajaduste loetelu. Joonised on koostatud UML keeles.<br />
<br />
<br />
==== Taust ====<br />
<br />
On hulk esemeid, väga erinevaid aga mingi sarnasuse alusel on nad paigutatud ühte piirkonda. Nende üle on raske arvet pidada. Puudub ülevaade kui palju on esemeid, kus nad asuvad, mis on nende esemete põhiinfo. Ei ole võimalik leida esemeid kindlate parameetrite järgi. Näiteks: lähiajal riknevad kaubad, takistid vahemikus 1...2k ohm, tõenäosusega x lähima n aja jooksul otsa saavad esemed piirkonnas y, omavahel sobivad esemed (alternatiivtooted) jne.<br />
<br />
<br />
==== Mõisted ====<br />
<br />
<br />
;ladu<br />
: Asukoht, kus hoitakse asju<br />
;laoese<br />
: huvipakkuv asi, mille kohta on vaja infot hoida<br />
<br />
==== Tegutsejad (kasutajad) ====<br />
<br />
Süsteemi kasutajate rollid on järgnevad:<br />
<br />
* administraator<br />
* andmesisestaja<br />
* tavakasutaja (vaataja)<br />
<br />
==== Protsesside loetelu ====<br />
<br />
* sisestamine<br />
* otsimine<br />
* ülevaade/statistika/aruanded<br />
<br />
==== Toimimisobjektid ====<br />
<br />
* kasutaja<br />
* laoese<br />
* ladu / asukoht<br />
<br />
==== Infovajaduste loetelu ====<br />
<br />
laoeseme:<br />
* nimetus<br />
* kogus<br />
* ostu hind<br />
* asukoht<br />
* sisestamisaeg<br />
<br />
laoesemete:<br />
* nimekiri<br />
* otsimisvõimalus<br />
<br />
lao:<br />
* asukoht<br />
* pindade süstematiseerimse loogika<br />
<br />
==== Infosüsteemi eesmärgid ====<br />
<br />
<br />
Laotarkvara luuakse selleks, et võimaldada toiminguid laoesemete infoga. Kasutaja saab tarkvara kaudu otsida teda huvitavat eset, vaadata eseme infot, teostada komplekspäringuid leidmaks huvipakkuvaid esemeid, jagada infot, automatiseerida esemete haldamist. Iga eesmärgi kohta on määratud mõõdetav tulemus.<br />
<br />
<br />
<br />
'''Eesmärk 1''': talletada laoeseme infot<br />
<br />
'''Eelis''': on võimalik teostada laoeseme-põhiseid toiminguid<br />
<br />
'''Mõõt''': vähemalt 1-e laoesme info on võimalik salvestada baasi<br />
<br />
<br />
'''Eesmärk 2''': otsida esemeid põhitunnuste järgi, mis on üle terve süsteemi kohustuslikud<br />
<br />
'''Eelis''': ajasääst kasutajal<br />
<br />
'''Mõõt''': ese on nime või koodi järgi leitav<br />
<br />
<br />
'''Eesmärk 3''': otsingutulemustest saab omakorda otsida<br />
<br />
'''Eelis''': kasutajamugavus. Keerukad otsingud asenduvad korduvkasutatava põhimõttega<br />
<br />
'''Mõõt''': peale otsingut näidatakse leitud esemete parameetreid, mille seast saab omakorda välistada/otsida<br />
<br />
<br />
'''Eesmärk 4''': statistika/ülevaate võimaldamine<br />
<br />
'''Eelis''': selge ülevaade annab infot ja võimaldab inimesel avastada sisulisi vigu kõrgemal loogika tasemel<br />
<br />
'''Mõõt''': Vastav osa on loodud<br />
<br />
<br />
'''Eesmärk 5''': andmete ajaloo pidamine<br />
<br />
'''Eelis''': leiab infot ajalooliste esemete kohta<br />
<br />
'''Mõõt''': laos enam mitteolevad esemed on andmebaasis leitavad (ja kasutajaliideses)<br />
<br />
<br />
'''Eesmärk 5.2''': tegevuste ajaloo pidamine<br />
<br />
'''Eelis''': andmete muutmist saab seostada rollidega ja isikutega<br />
<br />
'''Mõõt''': salvestatakse tegevuse tüüp, aeg, laoeseme ja isiku andmed (viide või andmed)<br />
<br />
<br />
'''Eesmärk 6''': tagada andmete terviklikus<br />
<br />
'''Eelis''': <br />
<br />
'''Mõõt''': andmebaasis kasutatakse välisvõtmeid (foreign key)<br />
<br />
<br />
'''Eesmärk 7''': andmete juurdepääsu kontrollimine<br />
<br />
'''Eelis''': volitamata isikud ei saa teada salajast infot<br />
<br />
'''Mõõt''': loodud autentimine ja autoriseerimine (või liidestus olemasolevaga). Iga use-case kohta on juurdepääsu test-case (unit test)<br />
<br />
<br />
'''Eesmärk 8''': broneerimine<br />
<br />
'''Eelis''': teadmisi saab sisestada süsteemi enne sündmuse toimumist<br />
<br />
'''Mõõt''': on võimalik laoesemete väljavõtmist lukustada teiste eest. On võimalik laopindasid lukustada hõivamise eest<br />
<br />
<br />
'''Eesmärk 9''': liidestus teiste süsteemide ja arendajate gruppidega<br />
<br />
'''Eelis''': süsteem integreerub teiste süsteemidega läbi SOA, tekib sünergia. Väheneb andmete dubleerimine.<br />
<br />
'''Mõõt''': vähemalt laoesemete põhiandmed on kättesaadavad üle masinliideste (SOAP)<br />
<br />
<br />
'''Eesmärk 10''': andmete eksport<br />
<br />
'''Eelis''': võimaldab kasutajal andmeid töödelda mugavama või valdkonna spetsiifilisema tööriistaga<br />
<br />
'''Mõõt''': vähemalt laoeseme põhiandmeid saab eksportida kas XML või CSV formaadis. Nimekirjast keerukama (seostega) struktuuri puhul on eelistatud XML.<br />
<br />
<br />
'''Eesmärk 11''': ühte baasi kasutavad mitu kasutajaliidese "desktop" rakendust<br />
<br />
'''Eelis''': väheneb andmete dubleerimine, andmed mugavamalt hallatavad<br />
<br />
'''Mõõt''': kasutajaliidese ja rakendusserveri vahel ei kasutata SQL klienti. Selle asemel ühendub kasutaja rakendus serveris oleva rakendusserveriga teenusepõhiselt.<br />
<br />
<br />
'''Eesmärk 12''': laoesemete "template"-id<br />
<br />
'''Eelis''': suureneb laoesemete sisestamise efektiivus. Väheneb kasutaja ajakulu.<br />
<br />
'''Mõõt''': eeltäidetud vormi kaudu saab sisestada uut laoeset.<br />
<br />
=== Funktsionaalne vaade ===<br />
<br />
<br />
<br />
==== Kasutuslood ====<br />
<br />
<br />
<br />
===== UML Use-case mudelid =====<br />
<br />
(TODO)<br />
<br />
<br />
<br />
===== Kasutuslood tekstina =====<br />
<br />
<br />
Järgnevalt on toodud kasutuslugude mudelid tekstina.<br />
<br />
<br />
<br />
'''Nimetus''': Lao asukohtade sisestamine<br />
<br />
'''Üldkirjeldus''': defineeitakse laoesemete hoidmise asukohad<br />
<br />
'''Kasutamise sagedus''': harva, enamasti ühekordne tegevus<br />
<br />
'''Eeltingimused''': asukohtade süstematiseerimine on kokku lepitud<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine<br />
<br />
'''Üldkirjeldus''': laoeseme lisamine. Vajadusel seostamine olemasolevaga<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti. Vahel korratakse tegevust palju kordi.<br />
<br />
'''Eeltingimused''': lao asukohtade sisestamine<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine2<br />
<br />
'''Üldkirjeldus''': sisestatakse kasutades eeltäidetud vormi<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti<br />
<br />
'''Eeltingimused''': on loodud "template"-id või saab valida sisestatud laoeseme andmeid vormi eeltäitmiseks<br />
<br />
'''Kirjeldus''': Vastavalt lao tüübile võib esemete info korduda. Selleks on mõistlik luua abivahendid käsitöö vähendamiseks ja sisestamise kiiruse tõstmiseks. Kasutaja saab suure sagedusega korduvate tööde jaoks kasutada eeltäidetud vorme.<br />
<br />
<br />
'''Nimetus''': laoeseme kuvamine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete vaatamine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida kuvada<br />
<br />
<br />
'''Nimetus''': laoeseme otsimine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete seast otsimine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida otsida<br />
<br />
<br />
=== Mittefunktsionaalne vaade ===<br />
<br />
<br />
;Andmetöötluse aeg<br />
: Enamus päringuid peaksid andmebaasist vastama alla 2 sek. Ressursinõudlikud detailse statistika päringud peaksid olema kasutajaliideses selgelt eristatavad.<br />
<br />
;Kasutajaliides peab olema mugav ja ajakohane.<br />
<br />
<br />
=== Andmevaade ===<br />
<br />
* Konseptuaalmudel (TODO)<br />
<br />
* Andmemudel (TODO)<br />
<br />
=== Ettejuhtuda võivad probleemid ===<br />
<br />
<br />
# Kõikvõimaliku info leidmiseks esemete seast peab selle info sisestama laoeseme andmeid täites. Enamasti ei soovi kasutaja seda sisestada või ei ole sellise tegevuse tasuvus prognoositav. Teatud esemetel on väga erinevat tüüpi infot ja seda kõike ei olekski võimalik tarkvarasse implementeerida.<br />
#:Lahendused:<br />
#:* hoida vaid kõige rohkem vajaminevat: nimetus, asukoht, kogus, soetamise hind, unikaalne või klassifitseeriv kood<br />
#:* jätta mugav laiendusvõimalus arendajale<br />
#:* võtta kasutusele taksonoomia (kategoriseerimine, liigitamine). Tag-id on kasutaja hallatavad. [ http://en.wikipedia.org/wiki/Tag_%28metadata%29 ]<br />
# Laoesemete atribuudid võivad muutuda laotarkvara teadmata kuna puudub jäik side mudeli ja tegeliku maailma vahel. Muutused võivad välja tulla pika aja möödudes ning võib tekitada kasutajale palju lisatööd - andmestiku sünkroniseerimist tegeliku maailma olukorrale vastavaks. See võib olla teatud juhul isegi võimatu kui ei ole enam võimalik luua füüsilist kontakti laoesemega. Näiteks: varastatud ese, aurustunud keemiline lurr jne. Teatud juhul ei ole enam võimalik tagantjärgi määrata andmeid ja neid tarkvara kaudu andmekogusse sisestada, kuigi tarkvara seda nõuab.<br />
#:Lahendused:<br />
#:* tarkvara ei tohiks liiga palju kasutajalt nõuda. Samas ei tohiks andmekogu (baasi) terviklikus kannatada. Kohustuslike andmete määramisel tuleb arvestada eriolukordadega<br />
# Lahendus dubleerib paremat spetsiifilist rakendust. Näiteks failisüsteemi. Seda võib tihti näha multimeedia mängijatest/organiseerijatest. Võimaldavad palju sisuspetsiifilisi toiminguid kuid ese kaugeneb oma elementaarsetest toimingutest, mida võimaldab failisüsteem, kuna eset kasutatakse läbi spetsiifilise rakenduse.<br />
#:Lahendus:<br />
#:* hoida mõistliku piiri laoesemete tüüpidega<br />
# Kasutaja soovib kasutada "native" kasutajaliidest. Eeldame, et põhiline sihtgrupp on MS Windows kasutajad.<br />
#:Lahendused:<br />
#:* .NET C#-is vastavad tehnoloogiad olemas: WPF, ...<br />
#:* Muude keskkondadega koostööks on SAO liidestus<br />
<br />
<br />
<br />
=== Skoop ja piirangud ===<br />
<br />
* Ei ole võimalik mitmest kasutajaliidesest kasutada ühte keskset andmebaasi kuna puudub üle võrgu andmevahetuse kiht. Selleks on vaja eraldi rakendusserverit kuid see ei mahu aine skoopi.<br />
<br />
* Realiseeritakse ainult osa põhifunktsionaalsusest, rakendus jääb osaliseks ja edaspidi täiendamiseks. Tehakse ainult nö "proof of concept" prototüüp. Esialgses lahenduses puuduvad:<br />
<br />
<br />
<br />
==== Must Have ====<br />
<br />
*Sisselogimise süsteem<br />
*Ladu, andmebaasi näol<br />
*Andmete sisestamine lattu<br />
*Laost toodete otsimine ja kuvamine kasutajale<br />
*Erinevad kasutajatüübid (rollid, õiguste süsteem)<br />
*Mugav kasutajaliides<br />
*Tegevuste kohta logi pidamine<br />
<br />
==== Nice To Have ====<br />
<br />
*Lisada toodetest pildid<br />
*Veebiliides<br />
*Kuvada andmeid toodete, kohta erivate diagrammidena</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=57127Meeskond MMA2012-11-18T20:44:04Z<p>Ahokkone: /* Infovajaduste loetelu */</p>
<hr />
<div>Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, kodu riiulid, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi laoshoidmise äriloogika ja kasutajaliidese.<br />
<br />
<br />
<br />
== Analüüs ==<br />
<br />
Tegemist on nõuete analüüsiga uue süsteemi loomiseks. Analüüs annab kirjelduse, mida uuest tarkvarast saada soovitakse.<br />
<br />
<br />
=== Üldvaade ===<br />
<br />
<br />
Järgnevalt esitatakse mõisted, eesmärgid, põhiprotsesside, põhiobjektide, sündmuste, tegutsejate ja infovajaduste loetelu. Joonised on koostatud UML keeles.<br />
<br />
<br />
==== Taust ====<br />
<br />
On hulk esemeid, väga erinevaid aga mingi sarnasuse alusel on nad paigutatud ühte piirkonda. Nende üle on raske arvet pidada. Puudub ülevaade kui palju on esemeid, kus nad asuvad, mis on nende esemete põhiinfo. Ei ole võimalik leida esemeid kindlate parameetrite järgi. Näiteks: lähiajal riknevad kaubad, takistid vahemikus 1...2k ohm, tõenäosusega x lähima n aja jooksul otsa saavad esemed piirkonnas y, omavahel sobivad esemed (alternatiivtooted) jne.<br />
<br />
<br />
==== Mõisted ====<br />
<br />
<br />
;ladu<br />
: Asukoht, kus hoitakse asju<br />
;laoese<br />
: huvipakkuv asi, mille kohta on vaja infot hoida<br />
<br />
==== Tegutsejad (kasutajad) ====<br />
<br />
Süsteemi kasutajate rollid on järgnevad:<br />
<br />
* administraator<br />
* andmesisestaja<br />
* tavakasutaja (vaataja)<br />
<br />
==== Protsesside loetelu ====<br />
<br />
* sisestamine<br />
* otsimine<br />
* ülevaade/statistika/aruanded<br />
<br />
==== Toimimisobjektid ====<br />
<br />
* kasutaja<br />
* laoese<br />
* ladu / asukoht<br />
<br />
==== Infovajaduste loetelu ====<br />
<br />
laoeseme:<br />
* nimetus<br />
* kogus<br />
* ostu hind<br />
* asukoht<br />
* sisestamisaeg<br />
<br />
laoesemete:<br />
* nimekiri<br />
* otsimisvõimalus<br />
<br />
lao:<br />
* asukoht<br />
* pindade süstematiseerimse loogika<br />
<br />
==== Infosüsteemi eesmärgid ====<br />
<br />
Laotarkvara luuakse selleks, et võimaldada toiminguid laoesemete infoga. Kasutaja saab tarkvara kaudu otsida teda huvitavat eset, vaadata eseme infot, teostada komplekspäringuid leidmaks huvipakkuvaid esemeid, jagada infot, automatiseerida esemete haldamist. Iga eesmärgi kohta on määratud mõõdetav tulemus.<br />
<br />
<br />
<br />
'''Eesmärk 1''': talletada laoeseme infot<br />
<br />
'''Eelis''': on võimalik teostada laoeseme-põhiseid toiminguid<br />
<br />
'''Mõõt''': vähemalt 1-e laoesme info on võimalik salvestada baasi<br />
<br />
<br />
'''Eesmärk 2''': otsida esemeid põhitunnuste järgi, mis on üle terve süsteemi kohustuslikud<br />
<br />
'''Eelis''': ajasääst kasutajal<br />
<br />
'''Mõõt''': ese on nime või koodi järgi leitav<br />
<br />
<br />
'''Eesmärk 3''': otsingutulemustest saab omakorda otsida<br />
<br />
'''Eelis''': kasutajamugavus. Keerukad otsingud asenduvad korduvkasutatava põhimõttega<br />
<br />
'''Mõõt''': peale otsingut näidatakse leitud esemete parameetreid, mille seast saab omakorda välistada/otsida<br />
<br />
<br />
'''Eesmärk 4''': statistika/ülevaate võimaldamine<br />
<br />
'''Eelis''': selge ülevaade annab infot ja võimaldab inimesel avastada sisulisi vigu kõrgemal loogika tasemel<br />
<br />
'''Mõõt''': Vastav osa on loodud<br />
<br />
<br />
'''Eesmärk 5''': andmete ajaloo pidamine<br />
<br />
'''Eelis''': leiab infot ajalooliste esemete kohta<br />
<br />
'''Mõõt''': laos enam mitteolevad esemed on andmebaasis leitavad (ja kasutajaliideses)<br />
<br />
<br />
'''Eesmärk 5.2''': tegevuste ajaloo pidamine<br />
<br />
'''Eelis''': andmete muutmist saab seostada rollidega ja isikutega<br />
<br />
'''Mõõt''': salvestatakse tegevuse tüüp, aeg, laoeseme ja isiku andmed (viide või andmed)<br />
<br />
<br />
'''Eesmärk 6''': tagada andmete terviklikus<br />
<br />
'''Eelis''': <br />
<br />
'''Mõõt''': andmebaasis kasutatakse välisvõtmeid (foreign key)<br />
<br />
<br />
'''Eesmärk 7''': andmete juurdepääsu kontrollimine<br />
<br />
'''Eelis''': volitamata isikud ei saa teada salajast infot<br />
<br />
'''Mõõt''': loodud autentimine ja autoriseerimine (või liidestus olemasolevaga). Iga use-case kohta on juurdepääsu test-case (unit test)<br />
<br />
<br />
'''Eesmärk 8''': broneerimine<br />
<br />
'''Eelis''': teadmisi saab sisestada süsteemi enne sündmuse toimumist<br />
<br />
'''Mõõt''': on võimalik laoesemete väljavõtmist lukustada teiste eest. On võimalik laopindasid lukustada hõivamise eest<br />
<br />
<br />
'''Eesmärk 9''': liidestus teiste süsteemide ja arendajate gruppidega<br />
<br />
'''Eelis''': süsteem integreerub teiste süsteemidega läbi SOA, tekib sünergia. Väheneb andmete dubleerimine.<br />
<br />
'''Mõõt''': vähemalt laoesemete põhiandmed on kättesaadavad üle masinliideste (SOAP)<br />
<br />
<br />
'''Eesmärk 10''': andmete eksport<br />
<br />
'''Eelis''': võimaldab kasutajal andmeid töödelda mugavama või valdkonna spetsiifilisema tööriistaga<br />
<br />
'''Mõõt''': vähemalt laoeseme põhiandmeid saab eksportida kas XML või CSV formaadis. Nimekirjast keerukama (seostega) struktuuri puhul on eelistatud XML.<br />
<br />
<br />
'''Eesmärk 11''': ühte baasi kasutavad mitu kasutajaliidese "desktop" rakendust<br />
<br />
'''Eelis''': väheneb andmete dubleerimine, andmed mugavamalt hallatavad<br />
<br />
'''Mõõt''': kasutajaliidese ja rakendusserveri vahel ei kasutata SQL klienti. Selle asemel ühendub kasutaja rakendus serveris oleva rakendusserveriga teenusepõhiselt.<br />
<br />
<br />
'''Eesmärk 12''': laoesemete "template"-id<br />
<br />
'''Eelis''': suureneb laoesemete sisestamise efektiivus. Väheneb kasutaja ajakulu.<br />
<br />
'''Mõõt''': eeltäidetud vormi kaudu saab sisestada uut laoeset.<br />
<br />
<br />
=== Funktsionaalne vaade ===<br />
<br />
<br />
<br />
==== Kasutuslood ====<br />
<br />
<br />
<br />
===== UML Use-case mudelid =====<br />
<br />
(TODO)<br />
<br />
<br />
<br />
===== Kasutuslood tekstina =====<br />
<br />
<br />
Järgnevalt on toodud kasutuslugude mudelid tekstina.<br />
<br />
<br />
<br />
'''Nimetus''': Lao asukohtade sisestamine<br />
<br />
'''Üldkirjeldus''': defineeitakse laoesemete hoidmise asukohad<br />
<br />
'''Kasutamise sagedus''': harva, enamasti ühekordne tegevus<br />
<br />
'''Eeltingimused''': asukohtade süstematiseerimine on kokku lepitud<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine<br />
<br />
'''Üldkirjeldus''': laoeseme lisamine. Vajadusel seostamine olemasolevaga<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti. Vahel korratakse tegevust palju kordi.<br />
<br />
'''Eeltingimused''': lao asukohtade sisestamine<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine2<br />
<br />
'''Üldkirjeldus''': sisestatakse kasutades eeltäidetud vormi<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti<br />
<br />
'''Eeltingimused''': on loodud "template"-id või saab valida sisestatud laoeseme andmeid vormi eeltäitmiseks<br />
<br />
'''Kirjeldus''': Vastavalt lao tüübile võib esemete info korduda. Selleks on mõistlik luua abivahendid käsitöö vähendamiseks ja sisestamise kiiruse tõstmiseks. Kasutaja saab suure sagedusega korduvate tööde jaoks kasutada eeltäidetud vorme.<br />
<br />
<br />
'''Nimetus''': laoeseme kuvamine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete vaatamine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida kuvada<br />
<br />
<br />
'''Nimetus''': laoeseme otsimine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete seast otsimine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida otsida<br />
<br />
<br />
=== Mittefunktsionaalne vaade ===<br />
<br />
<br />
;Andmetöötluse aeg<br />
: Enamus päringuid peaksid andmebaasist vastama alla 2 sek. Ressursinõudlikud detailse statistika päringud peaksid olema kasutajaliideses selgelt eristatavad.<br />
<br />
;Kasutajaliides peab olema mugav ja ajakohane.<br />
<br />
<br />
=== Andmevaade ===<br />
<br />
* Konseptuaalmudel (TODO)<br />
<br />
* Andmemudel (TODO)<br />
<br />
=== Ettejuhtuda võivad probleemid ===<br />
<br />
<br />
# Kõikvõimaliku info leidmiseks esemete seast peab selle info sisestama laoeseme andmeid täites. Enamasti ei soovi kasutaja seda sisestada või ei ole sellise tegevuse tasuvus prognoositav. Teatud esemetel on väga erinevat tüüpi infot ja seda kõike ei olekski võimalik tarkvarasse implementeerida.<br />
#:Lahendused:<br />
#:* hoida vaid kõige rohkem vajaminevat: nimetus, asukoht, kogus, soetamise hind, unikaalne või klassifitseeriv kood<br />
#:* jätta mugav laiendusvõimalus arendajale<br />
#:* võtta kasutusele taksonoomia (kategoriseerimine, liigitamine). Tag-id on kasutaja hallatavad. [ http://en.wikipedia.org/wiki/Tag_%28metadata%29 ]<br />
# Laoesemete atribuudid võivad muutuda laotarkvara teadmata kuna puudub jäik side mudeli ja tegeliku maailma vahel. Muutused võivad välja tulla pika aja möödudes ning võib tekitada kasutajale palju lisatööd - andmestiku sünkroniseerimist tegeliku maailma olukorrale vastavaks. See võib olla teatud juhul isegi võimatu kui ei ole enam võimalik luua füüsilist kontakti laoesemega. Näiteks: varastatud ese, aurustunud keemiline lurr jne. Teatud juhul ei ole enam võimalik tagantjärgi määrata andmeid ja neid tarkvara kaudu andmekogusse sisestada, kuigi tarkvara seda nõuab.<br />
#:Lahendused:<br />
#:* tarkvara ei tohiks liiga palju kasutajalt nõuda. Samas ei tohiks andmekogu (baasi) terviklikus kannatada. Kohustuslike andmete määramisel tuleb arvestada eriolukordadega<br />
# Lahendus dubleerib paremat spetsiifilist rakendust. Näiteks failisüsteemi. Seda võib tihti näha multimeedia mängijatest/organiseerijatest. Võimaldavad palju sisuspetsiifilisi toiminguid kuid ese kaugeneb oma elementaarsetest toimingutest, mida võimaldab failisüsteem, kuna eset kasutatakse läbi spetsiifilise rakenduse.<br />
#:Lahendus:<br />
#:* hoida mõistliku piiri laoesemete tüüpidega<br />
# Kasutaja soovib kasutada "native" kasutajaliidest. Eeldame, et põhiline sihtgrupp on MS Windows kasutajad.<br />
#:Lahendused:<br />
#:* .NET C#-is vastavad tehnoloogiad olemas: WPF, ...<br />
#:* Muude keskkondadega koostööks on SAO liidestus<br />
<br />
<br />
<br />
=== Skoop ja piirangud ===<br />
<br />
* Ei ole võimalik mitmest kasutajaliidesest kasutada ühte keskset andmebaasi kuna puudub üle võrgu andmevahetuse kiht. Selleks on vaja eraldi rakendusserverit kuid see ei mahu aine skoopi.<br />
<br />
* Realiseeritakse ainult osa põhifunktsionaalsusest, rakendus jääb osaliseks ja edaspidi täiendamiseks. Tehakse ainult nö "proof of concept" prototüüp. Esialgses lahenduses puuduvad:<br />
<br />
<br />
<br />
==== Must Have ====<br />
<br />
*Sisselogimise süsteem<br />
*Ladu, andmebaasi näol<br />
*Andmete sisestamine lattu<br />
*Laost toodete otsimine ja kuvamine kasutajale<br />
*Erinevad kasutajatüübid (rollid, õiguste süsteem)<br />
*Mugav kasutajaliides<br />
*Tegevuste kohta logi pidamine<br />
<br />
==== Nice To Have ====<br />
<br />
*Lisada toodetest pildid<br />
*Veebiliides<br />
*Kuvada andmeid toodete, kohta erivate diagrammidena</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=57126Meeskond MMA2012-11-18T20:42:15Z<p>Ahokkone: </p>
<hr />
<div>Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, kodu riiulid, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi laoshoidmise äriloogika ja kasutajaliidese.<br />
<br />
<br />
<br />
== Analüüs ==<br />
<br />
Tegemist on nõuete analüüsiga uue süsteemi loomiseks. Analüüs annab kirjelduse, mida uuest tarkvarast saada soovitakse.<br />
<br />
<br />
=== Üldvaade ===<br />
<br />
<br />
Järgnevalt esitatakse mõisted, eesmärgid, põhiprotsesside, põhiobjektide, sündmuste, tegutsejate ja infovajaduste loetelu. Joonised on koostatud UML keeles.<br />
<br />
<br />
==== Taust ====<br />
<br />
On hulk esemeid, väga erinevaid aga mingi sarnasuse alusel on nad paigutatud ühte piirkonda. Nende üle on raske arvet pidada. Puudub ülevaade kui palju on esemeid, kus nad asuvad, mis on nende esemete põhiinfo. Ei ole võimalik leida esemeid kindlate parameetrite järgi. Näiteks: lähiajal riknevad kaubad, takistid vahemikus 1...2k ohm, tõenäosusega x lähima n aja jooksul otsa saavad esemed piirkonnas y, omavahel sobivad esemed (alternatiivtooted) jne.<br />
<br />
<br />
==== Mõisted ====<br />
<br />
<br />
;ladu<br />
: Asukoht, kus hoitakse asju<br />
;laoese<br />
: huvipakkuv asi, mille kohta on vaja infot hoida<br />
<br />
==== Tegutsejad (kasutajad) ====<br />
<br />
Süsteemi kasutajate rollid on järgnevad:<br />
<br />
* administraator<br />
* andmesisestaja<br />
* tavakasutaja (vaataja)<br />
<br />
==== Protsesside loetelu ====<br />
<br />
* sisestamine<br />
* otsimine<br />
* ülevaade/statistika/aruanded<br />
<br />
==== Toimimisobjektid ====<br />
<br />
* kasutaja<br />
* laoese<br />
* ladu / asukoht<br />
<br />
==== Infovajaduste loetelu ====<br />
<br />
* laoeseme<br />
** nimetus<br />
** kogus<br />
** ostu hind<br />
** asukoht<br />
** sisestamisaeg<br />
<br />
* laoesemete<br />
** nimekiri<br />
** otsimisvõimalus<br />
<br />
* lao<br />
** asukoht<br />
** pindade süstematiseerimse loogika<br />
<br />
<br />
==== Infosüsteemi eesmärgid ====<br />
<br />
Laotarkvara luuakse selleks, et võimaldada toiminguid laoesemete infoga. Kasutaja saab tarkvara kaudu otsida teda huvitavat eset, vaadata eseme infot, teostada komplekspäringuid leidmaks huvipakkuvaid esemeid, jagada infot, automatiseerida esemete haldamist. Iga eesmärgi kohta on määratud mõõdetav tulemus.<br />
<br />
<br />
<br />
'''Eesmärk 1''': talletada laoeseme infot<br />
<br />
'''Eelis''': on võimalik teostada laoeseme-põhiseid toiminguid<br />
<br />
'''Mõõt''': vähemalt 1-e laoesme info on võimalik salvestada baasi<br />
<br />
<br />
'''Eesmärk 2''': otsida esemeid põhitunnuste järgi, mis on üle terve süsteemi kohustuslikud<br />
<br />
'''Eelis''': ajasääst kasutajal<br />
<br />
'''Mõõt''': ese on nime või koodi järgi leitav<br />
<br />
<br />
'''Eesmärk 3''': otsingutulemustest saab omakorda otsida<br />
<br />
'''Eelis''': kasutajamugavus. Keerukad otsingud asenduvad korduvkasutatava põhimõttega<br />
<br />
'''Mõõt''': peale otsingut näidatakse leitud esemete parameetreid, mille seast saab omakorda välistada/otsida<br />
<br />
<br />
'''Eesmärk 4''': statistika/ülevaate võimaldamine<br />
<br />
'''Eelis''': selge ülevaade annab infot ja võimaldab inimesel avastada sisulisi vigu kõrgemal loogika tasemel<br />
<br />
'''Mõõt''': Vastav osa on loodud<br />
<br />
<br />
'''Eesmärk 5''': andmete ajaloo pidamine<br />
<br />
'''Eelis''': leiab infot ajalooliste esemete kohta<br />
<br />
'''Mõõt''': laos enam mitteolevad esemed on andmebaasis leitavad (ja kasutajaliideses)<br />
<br />
<br />
'''Eesmärk 5.2''': tegevuste ajaloo pidamine<br />
<br />
'''Eelis''': andmete muutmist saab seostada rollidega ja isikutega<br />
<br />
'''Mõõt''': salvestatakse tegevuse tüüp, aeg, laoeseme ja isiku andmed (viide või andmed)<br />
<br />
<br />
'''Eesmärk 6''': tagada andmete terviklikus<br />
<br />
'''Eelis''': <br />
<br />
'''Mõõt''': andmebaasis kasutatakse välisvõtmeid (foreign key)<br />
<br />
<br />
'''Eesmärk 7''': andmete juurdepääsu kontrollimine<br />
<br />
'''Eelis''': volitamata isikud ei saa teada salajast infot<br />
<br />
'''Mõõt''': loodud autentimine ja autoriseerimine (või liidestus olemasolevaga). Iga use-case kohta on juurdepääsu test-case (unit test)<br />
<br />
<br />
'''Eesmärk 8''': broneerimine<br />
<br />
'''Eelis''': teadmisi saab sisestada süsteemi enne sündmuse toimumist<br />
<br />
'''Mõõt''': on võimalik laoesemete väljavõtmist lukustada teiste eest. On võimalik laopindasid lukustada hõivamise eest<br />
<br />
<br />
'''Eesmärk 9''': liidestus teiste süsteemide ja arendajate gruppidega<br />
<br />
'''Eelis''': süsteem integreerub teiste süsteemidega läbi SOA, tekib sünergia. Väheneb andmete dubleerimine.<br />
<br />
'''Mõõt''': vähemalt laoesemete põhiandmed on kättesaadavad üle masinliideste (SOAP)<br />
<br />
<br />
'''Eesmärk 10''': andmete eksport<br />
<br />
'''Eelis''': võimaldab kasutajal andmeid töödelda mugavama või valdkonna spetsiifilisema tööriistaga<br />
<br />
'''Mõõt''': vähemalt laoeseme põhiandmeid saab eksportida kas XML või CSV formaadis. Nimekirjast keerukama (seostega) struktuuri puhul on eelistatud XML.<br />
<br />
<br />
'''Eesmärk 11''': ühte baasi kasutavad mitu kasutajaliidese "desktop" rakendust<br />
<br />
'''Eelis''': väheneb andmete dubleerimine, andmed mugavamalt hallatavad<br />
<br />
'''Mõõt''': kasutajaliidese ja rakendusserveri vahel ei kasutata SQL klienti. Selle asemel ühendub kasutaja rakendus serveris oleva rakendusserveriga teenusepõhiselt.<br />
<br />
<br />
'''Eesmärk 12''': laoesemete "template"-id<br />
<br />
'''Eelis''': suureneb laoesemete sisestamise efektiivus. Väheneb kasutaja ajakulu.<br />
<br />
'''Mõõt''': eeltäidetud vormi kaudu saab sisestada uut laoeset.<br />
<br />
<br />
=== Funktsionaalne vaade ===<br />
<br />
<br />
<br />
==== Kasutuslood ====<br />
<br />
<br />
<br />
===== UML Use-case mudelid =====<br />
<br />
(TODO)<br />
<br />
<br />
<br />
===== Kasutuslood tekstina =====<br />
<br />
<br />
Järgnevalt on toodud kasutuslugude mudelid tekstina.<br />
<br />
<br />
<br />
'''Nimetus''': Lao asukohtade sisestamine<br />
<br />
'''Üldkirjeldus''': defineeitakse laoesemete hoidmise asukohad<br />
<br />
'''Kasutamise sagedus''': harva, enamasti ühekordne tegevus<br />
<br />
'''Eeltingimused''': asukohtade süstematiseerimine on kokku lepitud<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine<br />
<br />
'''Üldkirjeldus''': laoeseme lisamine. Vajadusel seostamine olemasolevaga<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti. Vahel korratakse tegevust palju kordi.<br />
<br />
'''Eeltingimused''': lao asukohtade sisestamine<br />
<br />
<br />
'''Nimetus''': laoeseme sisestamine2<br />
<br />
'''Üldkirjeldus''': sisestatakse kasutades eeltäidetud vormi<br />
<br />
'''Kasutamise sagedus''': kasutatakse tihti<br />
<br />
'''Eeltingimused''': on loodud "template"-id või saab valida sisestatud laoeseme andmeid vormi eeltäitmiseks<br />
<br />
'''Kirjeldus''': Vastavalt lao tüübile võib esemete info korduda. Selleks on mõistlik luua abivahendid käsitöö vähendamiseks ja sisestamise kiiruse tõstmiseks. Kasutaja saab suure sagedusega korduvate tööde jaoks kasutada eeltäidetud vorme.<br />
<br />
<br />
'''Nimetus''': laoeseme kuvamine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete vaatamine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida kuvada<br />
<br />
<br />
'''Nimetus''': laoeseme otsimine<br />
<br />
'''Üldkirjeldus''': sisestatud esemete seast otsimine<br />
<br />
'''Kasutamise sagedus''': kasutatakse väga tihti<br />
<br />
'''Eeltingimused''': on esemeid sisestatud, mida otsida<br />
<br />
<br />
=== Mittefunktsionaalne vaade ===<br />
<br />
<br />
;Andmetöötluse aeg<br />
: Enamus päringuid peaksid andmebaasist vastama alla 2 sek. Ressursinõudlikud detailse statistika päringud peaksid olema kasutajaliideses selgelt eristatavad.<br />
<br />
;Kasutajaliides peab olema mugav ja ajakohane.<br />
<br />
<br />
=== Andmevaade ===<br />
<br />
* Konseptuaalmudel (TODO)<br />
<br />
* Andmemudel (TODO)<br />
<br />
=== Ettejuhtuda võivad probleemid ===<br />
<br />
<br />
# Kõikvõimaliku info leidmiseks esemete seast peab selle info sisestama laoeseme andmeid täites. Enamasti ei soovi kasutaja seda sisestada või ei ole sellise tegevuse tasuvus prognoositav. Teatud esemetel on väga erinevat tüüpi infot ja seda kõike ei olekski võimalik tarkvarasse implementeerida.<br />
#:Lahendused:<br />
#:* hoida vaid kõige rohkem vajaminevat: nimetus, asukoht, kogus, soetamise hind, unikaalne või klassifitseeriv kood<br />
#:* jätta mugav laiendusvõimalus arendajale<br />
#:* võtta kasutusele taksonoomia (kategoriseerimine, liigitamine). Tag-id on kasutaja hallatavad. [ http://en.wikipedia.org/wiki/Tag_%28metadata%29 ]<br />
# Laoesemete atribuudid võivad muutuda laotarkvara teadmata kuna puudub jäik side mudeli ja tegeliku maailma vahel. Muutused võivad välja tulla pika aja möödudes ning võib tekitada kasutajale palju lisatööd - andmestiku sünkroniseerimist tegeliku maailma olukorrale vastavaks. See võib olla teatud juhul isegi võimatu kui ei ole enam võimalik luua füüsilist kontakti laoesemega. Näiteks: varastatud ese, aurustunud keemiline lurr jne. Teatud juhul ei ole enam võimalik tagantjärgi määrata andmeid ja neid tarkvara kaudu andmekogusse sisestada, kuigi tarkvara seda nõuab.<br />
#:Lahendused:<br />
#:* tarkvara ei tohiks liiga palju kasutajalt nõuda. Samas ei tohiks andmekogu (baasi) terviklikus kannatada. Kohustuslike andmete määramisel tuleb arvestada eriolukordadega<br />
# Lahendus dubleerib paremat spetsiifilist rakendust. Näiteks failisüsteemi. Seda võib tihti näha multimeedia mängijatest/organiseerijatest. Võimaldavad palju sisuspetsiifilisi toiminguid kuid ese kaugeneb oma elementaarsetest toimingutest, mida võimaldab failisüsteem, kuna eset kasutatakse läbi spetsiifilise rakenduse.<br />
#:Lahendus:<br />
#:* hoida mõistliku piiri laoesemete tüüpidega<br />
# Kasutaja soovib kasutada "native" kasutajaliidest. Eeldame, et põhiline sihtgrupp on MS Windows kasutajad.<br />
#:Lahendused:<br />
#:* .NET C#-is vastavad tehnoloogiad olemas: WPF, ...<br />
#:* Muude keskkondadega koostööks on SAO liidestus<br />
<br />
<br />
<br />
=== Skoop ja piirangud ===<br />
<br />
* Ei ole võimalik mitmest kasutajaliidesest kasutada ühte keskset andmebaasi kuna puudub üle võrgu andmevahetuse kiht. Selleks on vaja eraldi rakendusserverit kuid see ei mahu aine skoopi.<br />
<br />
* Realiseeritakse ainult osa põhifunktsionaalsusest, rakendus jääb osaliseks ja edaspidi täiendamiseks. Tehakse ainult nö "proof of concept" prototüüp. Esialgses lahenduses puuduvad:<br />
<br />
<br />
<br />
==== Must Have ====<br />
<br />
*Sisselogimise süsteem<br />
*Ladu, andmebaasi näol<br />
*Andmete sisestamine lattu<br />
*Laost toodete otsimine ja kuvamine kasutajale<br />
*Erinevad kasutajatüübid (rollid, õiguste süsteem)<br />
*Mugav kasutajaliides<br />
*Tegevuste kohta logi pidamine<br />
<br />
==== Nice To Have ====<br />
<br />
*Lisada toodetest pildid<br />
*Veebiliides<br />
*Kuvada andmeid toodete, kohta erivate diagrammidena</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=57125Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-11-18T20:07:57Z<p>Ahokkone: /* Meeskond MMA */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond_MMA]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*Ruslan Sadajev<br />
*Braid Torn<br />
<br />
Teema: laotarkvara<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [[https://github.com/taavisildeberg/lending-tracker/wiki Ratsa Rikkaks]]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Gorb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev<br />
<br />
<br />
==Meeskond akaver==<br />
Meeskonna wiki leht: [[Akaver CSharp 2012]]<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=56026Meeskond MMA2012-11-06T10:09:34Z<p>Ahokkone: </p>
<hr />
<div>Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, kodu riiulid, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi laoshoidmise äriloogika ja kasutajaliidese.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=56025Meeskond MMA2012-11-06T10:08:55Z<p>Ahokkone: </p>
<hr />
<div>Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, kodu riiulid, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi äriloogika ja kasutajaliidese.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond_MMA&diff=56024Meeskond MMA2012-11-06T10:08:13Z<p>Ahokkone: Created page with ' Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, p…'</p>
<hr />
<div><br />
Teema: teeme loaprogrammi. Proovime võimalikult universaalse ja laiendatava teha. Et oleks võimalik väiksema vaevaga kasutusele võtta erinevates valdkondades: raamatukogu, poe ladu. Saaks hoida vajaliku infot igasuguste asjade kohta: kiibid, moosid jne, kasvõi sokid. Võib nimetada vastava valdkonna probleemi lahendamise raamistikuks. Proovime implementeerida ka mingi konkreetse laoeseme tüübi äriloogika ja kasutajaliidese.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=56021Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-11-06T10:01:27Z<p>Ahokkone: /* Meeskond MMA */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond_MMA]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*<vaba><br />
*<vaba><br />
<br />
Teema: laotarkvara<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [[https://github.com/taavisildeberg/lending-tracker/wiki Ratsa Rikkaks]]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Korb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev<br />
<br />
<br />
==Meeskond akaver==<br />
Meeskonna blogi leht: http://akaver.com/blog/category/c/<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=56020Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-11-06T09:58:35Z<p>Ahokkone: /* Meeskond */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus (projektijuht)<br />
*Ülari Ainjärv<br />
<br />
==Meeskond MMA==<br />
Meeskonna wiki leht: [[Meeskond123]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen - projektijuht<br />
*Mardo Halapuu<br />
*<vaba><br />
*<vaba><br />
<br />
Teema: laotarkvara<br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [[https://github.com/taavisildeberg/lending-tracker/wiki Ratsa Rikkaks]]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Korb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev<br />
<br />
<br />
==Meeskond akaver==<br />
Meeskonna blogi leht: http://akaver.com/blog/category/c/<br><br />
Meeskonna liikmed:<br />
*Andres Käver (projektijuht jmt)</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=55573Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-11-04T20:49:03Z<p>Ahokkone: /* Meeskond */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus<br />
*Ülari Ainjärv<br />
<br />
==Meeskond <nimi>==<br />
Meeskonna wiki leht: [[Meeskond123]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen<br />
*Mardo Halapuu<br />
*<vaba><br />
*<vaba><br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [[https://github.com/taavisildeberg/lending-tracker/wiki Ratsa Rikkaks]]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Korb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond123_CSharp_kaug_2012&diff=55570Meeskond123 CSharp kaug 20122012-11-04T20:48:04Z<p>Ahokkone: moved Meeskond123 CSharp kaug 2012 to Meeskond123:&#32;koledad "_"</p>
<hr />
<div>#REDIRECT [[Meeskond123]]</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond123&diff=55569Meeskond1232012-11-04T20:48:04Z<p>Ahokkone: moved Meeskond123 CSharp kaug 2012 to Meeskond123:&#32;koledad "_"</p>
<hr />
<div>Teema:</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Meeskond123&diff=55564Meeskond1232012-11-04T20:43:38Z<p>Ahokkone: Created page with 'Teema:'</p>
<hr />
<div>Teema:</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=55561Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-11-04T20:41:37Z<p>Ahokkone: /* Meeskond */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus<br />
*Ülari Ainjärv<br />
<br />
==Meeskond <nimi>==<br />
Meeskonna wiki leht: [[Meeskond123_CSharp_kaug_2012]]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen<br />
*Mardo Halapuu<br />
*<vaba><br />
*<vaba><br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [[https://github.com/taavisildeberg/lending-tracker/wiki Ratsa Rikkaks]]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Korb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=55550Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-11-04T20:30:26Z<p>Ahokkone: /* Meeskond */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus<br />
*Ülari Ainjärv<br />
<br />
==Meeskond <nimi>==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/ selgub kui meeskonnal on nimi]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen<br />
*Mardo Halapuu<br />
*<vaba><br />
*<vaba><br />
<br />
==Meeskond Metronaator==<br />
Meeskonna wiki leht: [[Meeskond Metronaator]]<br />
<br />
Meeskonna liikmed:<br />
*Tõnis Markus<br />
*Hanno Sirkel<br />
*Jaagup Rooso<br />
*Kristo Danilson<br />
<br />
==Meeskond Ratsa Rikkaks==<br />
Meeskonna wiki leht: [[https://github.com/taavisildeberg/lending-tracker/wiki Ratsa Rikkaks]]<br />
<br />
Meeskonna liikmed:<br />
*Taavi Sildberg- projektijuht<br />
*Siiri Kaarelson<br />
*Sulev Pert<br />
*Maksim Korb<br />
*Rünno Reinu<br />
<br />
==Meeskond Risk2012==<br />
<br />
Meeskonna wiki leht: [[CSharp Meeskond Risk2012]]<br />
<br />
Meeskonna liikmed:<br />
*Kaspar Kund - projektijuht<br />
*Ago Kütt<br />
*Rait Ots<br />
*Ruslan Sadajev</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=55099Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-10-31T12:09:44Z<p>Ahokkone: /* Meeskond */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus<br />
*Ülari Ainjärv<br />
<br />
==Meeskond <nimi>==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/ selgub kui meeskonnal on nimi]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen<br />
*<vaba><br />
*<vaba><br />
*<vaba><br />
<br />
Teema: ei ole veel valitud, arutame uute liikmetega koos<br />
<br />
<br />
''Artur'':<br />
;huvi pakkuvad teemad (jalgratta leiutamine)<br />
: ladu<br />
: kliendihaldus (CRM)<br />
: arved<br />
;mida tahaksin teha<br />
: wpf (GUI)<br />
: baas (ddl)<br />
: rakenduskiht (class library'd + xml üle võrgu - System.Web.Services.WebService?)</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2012)&diff=55097Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (Kaugõpe2012)2012-10-31T11:47:25Z<p>Ahokkone: /* Meeskonnad 2012 */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. <br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 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).<br />
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.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
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%.<br />
<br />
Näide:<br />
Töö esitamise tähtaeg on 4.09.2012 kell 23:59 ja selle osa eest on võimalik teenida 8p. Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. Tulemus:8p<br />
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). Tulemus: 7,1 punkti.<br />
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). Tulemus: 6,4 punkti.<br />
<br />
==Hindamine==<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
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).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''05.11.2012''' (2p)<br />
<br />
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.<br />
<br />
===Analüüs===<br />
'''19.11.2012''' (6p)<br />
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:<br />
*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.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon''' 25.11.2012 (3p)<br />
<br />
===Prototüüp===<br />
'''10.12.2012'''(10p)<br />
<br />
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.<br />
<br />
'''Retsensioon''' 17.12.2012(5p)<br />
<br />
===Lõpptoode===<br />
'''07.01.2013'''(20p)<br />
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.<br />
<br />
'''Retsensioon''' 14.01.2013(5p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Toimub loengutes/praktikumides''' ''(4p) ''<br />
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.<br />
<br />
<br />
====Kaitsmise ajad====<br />
Siia ilmuvad detsembri alguses projekti kaitsmise ajad.<br />
<br />
==Konsultatsioon==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee<br />
(teksti originaalautor Priit Raspel)<br />
<br />
=Teemad 2012 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* 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?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
==Tetris(XNA)==<br />
==XoniX(XNA)==<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
* Kasutama kasutajaliidesena ühte järgmistest: WPF, Windows Phone 7/8, Windows 8 rakendus või ASP.Net<br />
<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
* Rakendus leiab kasutust pärismaailmas<br />
<br />
==Nõuded XNA projektile==<br />
Loodav mäng peab sisaldama:<br />
* Erinevaid tasemeid<br />
* Punktiarvestust<br />
* XBox puldi tuge<br />
* Klaviatuurilt juhtimise tuge<br />
<br />
'''Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea ''story''<br />
<br />
<br />
=Meeskonnad 2012=<br />
<br />
==Meeskond Test==<br />
Meeskonna wiki leht: [[Meeskond Test]]<br />
Meeskonna liikmed:<br />
*Peeter Pakiraam<br />
*Agu Sihvka<br />
<br />
Analüüsi retsenioon [https://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2012)&action=edit&section=21 siin on midagi]<br />
<br />
==Meeskond Naaskel==<br />
Meeskonna wiki leht: [[Meeskond Naaskel]]<br />
<br />
Meeskonna liikmed:<br />
*Helge Saks<br />
*Merje Kungla<br />
*Heiki Linnamägi<br />
*Kristjan Pihus<br />
*Ülari Ainjärv<br />
<br />
==Meeskond <nimi>==<br />
Meeskonna wiki leht: [https://wiki.itcollege.ee/ selgub kui meeskonnal on nimi]<br />
<br />
Meeskonna liikmed:<br />
*Marek Öövel<br />
*Artur Hokkonen<br />
*<vaba><br />
*<vaba><br />
*<vaba></div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Viitet%C3%BC%C3%BCpi_muutujad_CSharp_programmeerimiskeeles&diff=51033Viitetüüpi muutujad CSharp programmeerimiskeeles2012-10-01T19:15:48Z<p>Ahokkone: /* Alamklass */</p>
<hr />
<div>= Eesmärk =<br />
Antud õpiobjekti eesmärgiks on tutvustada viitetüüpi muutujatüüpide olemust ning kasutamisvõimalusi C# programmeerimiskeeles.<br />
<br />
* Väärtus- ja viitetüüpi muutujate erinevus<br />
* Viitetüüpi muutujate kasutamine C# keeles<br />
* String, kui viitetüüpi muutujatüüp<br />
* Pärilus<br />
* Liidesed<br />
* Koodinäited<br />
* Praktilised ülesanded<br />
<br />
= Väärtus- ja viitetüüpi muutujate erinevus =<br />
Kui väärtustüüpi muutujatüübid on eelkõige mõeldud konkreetsete andmete hoidmiseks konkreetse skoobi piires, siis viitetüüpi muutujad sisaldavad ainult viidet andmetele ning konkreetset skoopi ei saa määratleda. .Net raamistikus säilib viitetüüpi muutuja seni, kuni sellele on säilinud vähemalt üks viide.<br />
<br />
Samas võib viitetüüpi muutuja viidata ka ''null ''väärtusele ehk lihtsustatult: viitetüüpi muutuja võib ka mitte viidata konkreetsele andmehulgale.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; //deklareeritakse uus viitetüüpi muutuja kiisu, mis on Kass tüüpi<br />
<br />
<br />
kiisu = new Kass(); // kiisu hakkab viitama uuele Kass tüüpi objektile<br />
<br />
<br />
kiisu = null; // kiisu ei viita enam sellele objektile, kui sellele Kass tüüpi objektile rohkem viiteid ei <br />
<br />
//ole, siis selle objekti poole enam pöörduda ei saa<br />
<br />
|}<br />
== Erinevused praktikas ==<br />
'''Suurim erinevus väärtustüüpi ja viitetüüpi muutujatüüpide vahel seisnebki selles, et igale väärtustüüpi muutujale vastab konkreetne koht mälus. Samas viitetüüpi muutujale ei pruugi vastata ühtegi kohta mälus (''null ''viide) ning teisalt võib ühele ja samale kohale mälus viidata mitu erinevat viitetüüpi muutujat.'''<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt<br />
<br />
Kass k6uts = kiisu; //k6uts ja kiisu viitavad nüüd ühele ja samale objektile<br />
<br />
k6uts.MuudaNimi(„Miisu“); // muudetakse kassi nime, läbi viite k6uts, muutub ka kiisu nimi.<br />
<br />
|}<br />
Nagu näitest näha, kui kaks viitetüüpi muutujat viitavad ühele ja samale objektile, siis muutes üht muutujat muutub ka teine, sest need viitavad ühele ja samale mäluosale.<br />
<br />
== Erinevused võrdlemisel ==<br />
Kui väärtustüüpi muutujate korral võrreldakse kahe muutuja võrdlemisel nende konkreetseid väärtuseid, siis viitetüüpi muutujate korral võrreldakse vaikimisi hoopis viiteid: kui muutujad viitavad ühele ja samale mäluosale, siis loetakse need võrdseks, muul juhul aga mitte.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt<br />
<br />
kiisu.MuudaNimi(„Jassu“);<br />
<br />
Kass k6uts = new Kass(); // Luuakse Kass tüüpi muutuja k6uts ning luuakse uus Kass tüüpi objekt <br />
<br />
k6uts.MuudaNimi(„Jassu“); // muudetakse kassi nime, kiisu nimi ei muutu.<br />
<br />
If(kiisu == k6uts)<br />
<br />
Console.WriteLine(„On võrdsed!“);<br />
<br />
|}<br />
'''Antud hetkel teadet „On võrdsed!“ ei tuleks, sest tegemist on küll Kassidega, millistel on üks nimi, aga samas ei ole need üks ja sama Kass!'''<br />
<br />
<br />
= Viitetüüpi muutujate kasutamine C# keeles =<br />
Viitetüüpi muutuja kasutamiseks tuleb muutuja deklareerida ning seejärel initsialiseerida.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu<br />
<br />
<br />
<br />
<br />
|}<br />
Kui muutuja deklareerida, kuid jätta initsialiseerimata, siis on tegemist muutujaga, mis ei viita mitte kuhugi (ehk viide on ''null''). Seega ei ole võimalik ka lugeda ega kirjutada muutuja andmeväljadele, sest neid lihtsalt ei ole veel olemas.<br />
<br />
Samuti ei ole võimalik pöörduda selle objekti meetodite poole, põhjus sama: objekti lihtsalt ei eksisteeri, on olemas vaid viide objektile.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu<br />
<br />
Kiisu.MuudaNimi(„Miisu“); // tekib viga, sest viite näol on tegemist ''null'' viitega<br />
<br />
<br />
<br />
<br />
|}<br />
Muutuja initsialiseerimiseks tuleb luua uus vastavat tüüpi andmeobjekt mällu ning luua sellele viide. Seejärel on võimalik pöörduda kõigi selle objekti andmeväljade ja meetodite poole.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu<br />
<br />
kiisu = new Kass(); // initsialiseeritakse uus Kass tüüpi andmeobjekt ning muutuja kiisu viitab sellele<br />
<br />
Kiisu.MuudaNimi(„Miisu“); // viga ei teki<br />
<br />
<br />
<br />
<br />
|}<br />
= String, kui viitetüüpi muutujatüüp =<br />
String on C# programmeerimiskeeles realiseeritud kui tähemärkide jada (massiiv), millel on palju erisusi võrreldes tavaliste viitetüüpi muutujatega, seepärast on siinkohal vajalik selle muutujatüübi täpsem käsitlemine.<br />
<br />
String tüüpi muutuja loomiseks on mitmeid võimalusi, lihtsaim neist on see, kui üks string tüüpi väärtus omistatakse teisele.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
String tervitus = „Tere“; // siin deklareeriti muutuja tervitus, mis initsialiseeriti teise stringiga „Tere“<br />
<br />
string<br />
<br />
<br />
<br />
<br />
|}<br />
Siit selgubki, et stringi puhul on realiseeritud omistamine erinevalt tavalistest viitetüüpi muutujatest: kui tavaliselt pannakse viitetüüpi muutujate kasutamisel omistamisel lihtsalt muutuja viitama samale objektile, siis siin on võimalik siiski konkreetne väärtus eraldi konstruktori abil ette anda.<br />
<br />
Samas on stringil olemas ka tavapärane konstruktor, mida saab ka kasutada.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string tere = new String('a',10); //Siinsel juhul luuakse muutuja tere, mis koosneb 10’st ’a’ <br />
<br />
//tähemärgist<br />
<br />
|}<br />
== Stringi meetodid ==<br />
Et leida string muutujatüübi pikkus, võib kasutada omadust Length.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere";<br />
<br />
int lausePikkus = lause.Length; // lausePikkus väärtus on 4<br />
<br />
<br />
<br />
<br />
|}<br />
Kontrollimaks, kas string sisaldab mõnd fraasi, saab kasutada stringi meetodit Contains, tulem antakse tõeväärtusena.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere ise ka";<br />
<br />
bool kasOn = lause.Contains("ise"); // kasOn sisaldab väärust „true“<br />
<br />
<br />
<br />
<br />
|}<br />
Kui on vaja stringist välja lõigata üks osa, kasuta stringi meetodit Substring, esimene argument näitab mitmendast tähest alates ja teine arument näitab mitu tähte<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere, Juku!";<br />
<br />
string lause2 = lause.Substring(6, 4); //Nüüd on lause2 väärtus “Juku”<br />
<br />
<br />
<br />
<br />
|}<br />
Kui soovime teada saada mitmendal kohal asub stringis mõni sümbol, tuleb kasutada stringi IndexOf meetodit.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere, Juku!";<br />
<br />
int mitmesKoma = lause.IndexOf(','); // vastus on 4, sest loendama hakatakse 0’st.<br />
<br />
<br />
<br />
<br />
|}<br />
Stringi stringi lisamiseks on võimalik kasutada meetodit Insert, esimene argument näitab kuhu lisatakse ja teine näitab mida lisatakse.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere, Juku!";<br />
<br />
lause = lause.Insert(6, "kallis ");<br />
<br />
int lausePikkus =lause.Length;<br />
<br />
lause =lause.Insert( lausePikkus-1, ", tore Sind näha");<br />
<br />
// Kokku peaks siis nüüd tulema „Tere, kallis Juku, tore Sind näha!“<br />
<br />
<br />
<br />
<br />
|}<br />
Starts.With – kontrollib, kas string algab kindla sümboliga<br />
<br />
Remove – võimaldab stringist osa eemaldada<br />
<br />
Replace – asendab stringis ühe fraasi teisega<br />
<br />
Trim – võimaldab eemaldada kindlad sümbolid<br />
<br />
PadRight – lisab sümboleid stringi lõppu, kuni string on kindla pikkusega<br />
<br />
Kõik string muutujatüübi meetodid on kirjeldatud: [http://msdn.microsoft.com/en-us/library/system.string_methods.aspx http://msdn.microsoft.com/en-us/library/system.string_methods.aspx]<br />
<br />
<br />
= Pärilus =<br />
(veebistuudiumi õppematerjalist)<br />
<br />
Ajapikku on objektorienteeritud programmeerimiskeelte juurde lisatud mitmesuguseid täiustusi ja võimalusi. Pärilus (inheritance) on mingil moel enamike objektorienteeritud keelte küljes olemas. Nii ka end suhteliselt arenenuks keeleks pidava C# juures.<br />
<br />
Objektidega toimetamisel ning pärilusel sealhulgas on vähemalt kaks eesmärki. Püütakse lihtsustada koodi kohandamist. Samuti võimaldab pärilus vältida sama tööd tegeva koodi kopeerimist, lubades samu käsklusi kasutada mitmel pool.<br />
<br />
Päriluse abil püütakse programmeerimiskeele objektitüüpide omavahelisi suhteid lähendada inimeste igapäevaselt tajutavale. Üheksakümnendate aastate algul ilmunud objektorienteeritud programmeerimist tutvustavas õpikus oli ilus näide: "sebra on nagu hobune, kellel on triibud". Sarnane tuttava kaudu uue tüübi kokkupanek ongi päriluse põhisisu. Midagi lisatakse, midagi muudetakse, vahel harva ka kaotatakse. Ning märkamatult muutubki hobune sebraks või tühi paneel tekstiväljaks. <br />
<br />
Nõnda õnnestub olemasolevate (pool)valmis tükkide abil omale sobiv komplekt kokku panna. Teiselt poolt võidakse objektide päriluspuu ehitada ka oludes, kus kõik programmi osad on enese määrata. Sellisel juhul pole küll eesmärk omale üks ja parim tüüp kokku panna, vaid otsitakse ühisosi, mille puhul on võimalik valminud tüübid gruppidesse jaotada ning nende gruppidega vajadusel koos midagi ette võtta. Tüüpilise näitena pole teatripiletit müües vaja teada inimese sugu ja ametit. Küll aga on balletirolli juures mõlemad andmed tähtsad. Tavaelus tundub loomulikuna, et eriomadusi arvestatakse vaid kohtades, kus need on vajalikud ning muul juhul aetakse vaid üldiste tunnustega läbi. Haruharva tuleb eraldi rõhutada, et "meie teatrisse tohivad vaatajaks tulla inimesed sõltumata usutunnistusest ja nahavärvist". Arvuti juures tuleb aga tasemed selgelt välja tuua. Igal keerukuse astmel tuleb määrata, millised oskused ja omadused sinna juurde kuuluvad ning millise rolli jaoks millisel tasemel oskuste komplekti vaja on. Keerukaks kiskunud seletuste kõrvale selgitused näidete abil.<br />
<br />
== Päriluseta näide ==<br />
Alustame inimese klassiga, kus igasugune pärilus puudub. Üks klass oma muutuja, konstruktori ja meetodiga ning testprogrammis saab tema võimalusi katsetada.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
using System;<br />
<br />
namespace Parilus1{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Inimene inim1=new Inimene(13);<br />
<br />
inim1.YtleVanus(); <br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
/*<br />
<br />
C:\Projects\oma\naited>Parilus1<br />
<br />
Minu vanus on 13 aastat<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
|}<br />
==== Alamklass ====<br />
Edasi juba juures inimese alamklass (subclass) Modell, kel on olemas kõik inimese omadused (ehk siis selle programmi puhul võime oma vanust öelda), kuid juures käsklus enese esitlemiseks. Et esitlemine koosneb vanuse ja ümbermõõdu teatamisest, on see juba esitlemiskäskluse sisse kirjutatud.<br />
<br />
Klass Inimene on Modelli suhtes ülemklassiks (superclass, base class, parent class). C# puhul on igal klassil alati täpselt üks ülemklass. Kui muud pole määratud, siis kasutatakse selleks vaikimisi nimeruumi System klassi Object. Muul juhul aga on ülemklass kirjas klassikirjelduse päriluse osas. Nii tekibki klasside puu, mis algab klassist Object. <br />
<br />
Kui klassil konstruktor puudub, siis loob kompilaator vaikimisi tühja konstruktori, millel pole parameetreid ja mis ka midagi ei tee. Inimese puhul siis näiteks <br />
<br />
public Inimene(){}<br />
<br />
Kui aga vähemalt üks programmeerija loodud konstruktor on olemas, siis seda nähtamatut konstruktorit ei tehta. Päriluse puhul kutsutakse alamklassi eksemplari loomisel alati välja ülemklassi konstruktor. Vaikimisi võtab kompilaator selleks ülemklassi parameetritega konstruktori. Kui see aga puudub või soovitakse käivitada mõnda muud, siis tuleb sobiva konstruktori väljakutse alamklassi juures ära märkida. Siin märgitakse näiteks Modelli loomise juures, et Modelli isendi loomise juures tehakse kõigepealt valmis baasklassi (inimese) isend, kellele siis Modelli enese konstruktoris vajalikud lisandused juurde pannakse. Ülemklassi konstruktori määramine on kohe Modelli konstruktori juures. Pärast koolonit olev base(vanus) ütleb, et kasutatagu inimese puhul seda konstruktorit, kus tuleb täisarvuline vanus kohe ette öelda. <br />
<br />
public Modell(int vanus, int uymberm66t):base(vanus){<br />
<br />
ymberm66t=uymberm66t;<br />
<br />
}<br />
<br />
Ehkki praegu tegelikult muud võimalust polnudki, tuleb see ikkagi arvutile ette öelda.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
<source lang="csharp"><br />
using System;<br />
<br />
namespace Parilus2{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
class Modell:Inimene {<br />
<br />
protected int ymberm66t;<br />
<br />
public Modell(int vanus, int uymberm66t):base(vanus){<br />
<br />
ymberm66t=uymberm66t;<br />
<br />
}<br />
<br />
public void Esitle(){<br />
<br />
YtleVanus();<br />
<br />
Console.WriteLine("Mu ymberm66duks on "+ymberm66t+" sentimeetrit");<br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
public static void Main(string[] arg){<br />
<br />
Modell m=new Modell(20, 90);<br />
<br />
m.Esitle();<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
</source><br />
/*<br />
<br />
C:\Projects\oma\naited>Parilus2<br />
<br />
Minu vanus on 20 aastat<br />
<br />
Mu ymberm66duks on 90 sentimeetrit<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
<br />
|}<br />
<br />
== Ülekate ==<br />
Mõnikord ei piirduta omaduste lisamisega - tahetakse olemasolevaid võimalusi ka muuta. Tavanäiteks on kujundid või graafikakomponendid, mis igaüks ennast vastavalt oma omadustele joonistavad. Aga sarnaselt üle kaetavad võivad olla voogudesse andmete kirjutamise käsklused või andmestruktuuridesse andmeid lisavad või sealt eemaldavad käsklused nii, et neid käsklusi kasutav programm võib lihtsalt kasutatavat tükki usaldada, et tal on vastava nimega käsklus olemas ning ta selle soovitud ajal sooritab. <br />
<br />
Siin näites on Inimese alamklassiks tehtud Daam, kel kõik muud kirjeldatud omadused hariliku Inimesega sarnased. Kuid vanuse ütlemine käib mõnevõrra teisiti. Et käske saaks rahus üle katta, selleks on Inimese juurde käsu ehk meetodi YtleVanus ette lisatud sõna virtual, Daami vastava meetodi ette aga override. Selliselt on mõlemat tüüpi objektil vanuse ütlemine selge, need lihtsalt käituvad erinevalt.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
using System;<br />
<br />
namespace Parilus3{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public virtual void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
class Daam:Inimene {<br />
<br />
public Daam(int vanus):base(vanus){}<br />
<br />
public override void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+(vanus-5)+" aastat"); <br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Inimene inim1=new Inimene(40);<br />
<br />
Daam inim2=new Daam(40);<br />
<br />
inim1.YtleVanus();<br />
<br />
inim2.YtleVanus();<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
<br />
/*<br />
<br />
C:\Projects\oma\naited>Parilus3<br />
<br />
Minu vanus on 40 aastat<br />
<br />
Minu vanus on 35 aastat<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
<br />
|}<br />
= Liidesed =<br />
(Veebistuudiumi õppematerjalist)<br />
<br />
Nagu eespool kirjeldatud, on C# puhul üks ja kindel objektitüüpide pärinemise puu. Igal klassil on oma ülemklass ning juureks on klass Object nimeruumist System. Samas aga mõnegi tüübi puhul on sellest klassist objekte mugav kasutada tunduvalt rohkemates kohtades, kui otsene päriluspuu ette näeb. Nii nagu Ambla kihelkonna Lehtse valla Läpi küla Troska talu perepoeg Karl oli lisaks nendele ametlikele tiitlitele veel küla sepp, puutöömees ning korralik vanapoiss, nii on hea mõnegi klassi puhul programmi ülesehituse lihtsuse huvides pakkuda sinna rohkem rolle kui otsese päriluse järgi neid kokku tuleks. Näiteks Karlal oli leivateenimise mõttes sepatööst kindlasti rohkem kasu kui teatest, et ta Ambla kirikuraamatus kirjas on. Niisamuti on klassidele võimalik juurde panna liideseid, mis annavad õiguse vastava klassi eksemplare kloonida, järjestada või muid kasulikke omadusi lisada. Liideste arv ühe klassi juures ei ole piiratud. Liidesed mõeldi programmeerimiskeelte juurde välja, kuna selgus, et nõnda kirjeldusi määrates ja kokku leppides õnnestub programmeerimisel vigu vähendada.<br />
<br />
Järgnevas näites loodi liides IViisakas. I on liidesel ees sõnast Interface. Liidese juurde käib enamasti sisuline seletus selle kohta, millised seda liidest realiseerivad objektid on. Ning lisaks võivad olla mõned käsklused, millele vastavat liidest realiseerivad objektid on võimelised reageerima. Liidese IViisakas puhul valiti selliseks käskluseks Tervita, mis saab omale tekstilise parameetri. Ehk siis eeldatakse, et iga viisakas tegelane mõistab tervitusele vastata juhul, kui talle öeldakse, kellega on tegemist. Nagu näha - Lapse ja Koera puhul need tervitused on erinevad. Kuid nii nagu liides nõuab - nad on olemas. Sinnamaani suudab kompilaator kontrollida. Ülejäänu on juba programmeerija hoolitseda, et kindlaksmääratud nimega käskluse juurde ka vastavale klassile sobiv sisu saaks. <br />
<br />
static void TuleSynnipaevale(IViisakas v){<br />
<br />
v.Tervita("vanaema");<br />
<br />
}<br />
<br />
Loodud meetodi juures on näha, et parameetrina võetakse vastu vaid nende klasside eksemplare, kelle puhul liides IViisakas on realiseeritud. Ning igaühel neist palutakse tervitada vanaema. Kuidas keegi sellega hakkama saab, on juba klassi enese sees hoolitsetud.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
using System;<br />
<br />
namespace Liides1{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public virtual void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
interface IViisakas{<br />
<br />
void Tervita(String tuttav);<br />
<br />
}<br />
<br />
class Laps:Inimene, IViisakas {<br />
<br />
public Laps(int vanus):base(vanus){}<br />
<br />
public void Tervita(String tuttav){<br />
<br />
Console.WriteLine("Tere, "+tuttav);<br />
<br />
}<br />
<br />
}<br />
<br />
class Koer: IViisakas{<br />
<br />
public void Tervita(String tuttav){<br />
<br />
Console.WriteLine("Auh!");<br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
static void TuleSynnipaevale(IViisakas v){<br />
<br />
v.Tervita("vanaema");<br />
<br />
}<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Laps juku=new Laps(6);<br />
<br />
juku.YtleVanus();<br />
<br />
Koer muki=new Koer();<br />
<br />
TuleSynnipaevale(juku);<br />
<br />
TuleSynnipaevale(muki);<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
/*<br />
<br />
C:\Projects\oma\naited>Liides1<br />
<br />
Minu vanus on 6 aastat<br />
<br />
Tere, vanaema<br />
<br />
Auh!<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
<br />
|}<br />
Kui mingil põhjusel jäänuks Lapsele või Koerale käsklus Tervita lisamata, siis annaks kompilaator veateate. Sama tekiks ka juhul, kui käskluse tekstis trükiviga tehtaks. Selline kompilaatoripoolne kontroll aitab vead üles<br />
<br />
<br />
Koodinäited<br />
<br />
Klass Kass<br />
<br />
using''' System;'''<br />
<br />
using''' System.Collections.Generic;'''<br />
<br />
using''' System.Linq;'''<br />
<br />
using''' System.Text;'''<br />
<br />
<br />
namespace''' Loeng7'''<br />
<br />
'''{'''<br />
<br />
class''' '''Kass<br />
<br />
'''{'''<br />
<br />
private''' '''string''' nimi;'''<br />
<br />
private''' '''string''' toug;'''<br />
<br />
public''' '''enum''' '''sugu''' { isane, emane, lihtsaltKass };'''<br />
<br />
private''' '''sugu''' kassiSugu;'''<br />
<br />
<br />
public''' Kass() : '''this'''('''"Jossu"''','''"teadmata"''','''sugu.isane)<br />
<br />
'''{}'''<br />
<br />
public''' Kass('''string''' nimi)'''<br />
<br />
'''{'''<br />
<br />
//this.nimi = nimi;<br />
<br />
'''TeeKass(nimi, '''"teadmata"''', '''sugu.isane);<br />
<br />
'''}'''<br />
<br />
public''' '''void''' MuudaNimi('''string''' uusNimi)'''<br />
<br />
'''{'''<br />
<br />
'''nimi = uusNimi;'''<br />
<br />
'''}'''<br />
<br />
public''' Kass('''Kass.sugu''' sugu)'''<br />
<br />
'''{'''<br />
<br />
//this.nimi = nimi;<br />
<br />
'''TeeKass('''"Jossu"''', '''"teadmata"''', sugu);'''<br />
<br />
'''}'''<br />
<br />
public''' Kass('''string''' nimi, '''string''' Toug)'''<br />
<br />
'''{'''<br />
<br />
//this.nimi = nimi;<br />
<br />
'''TeeKass(nimi, Toug, '''sugu.lihtsaltKass);<br />
<br />
'''}'''<br />
<br />
public''' Kass('''string''' nimi, '''string''' toug, '''Kass.sugu''' kassisugu)'''<br />
<br />
'''{'''<br />
<br />
'''TeeKass(nimi, toug, kassisugu);'''<br />
<br />
'''}'''<br />
<br />
<br />
private''' '''void''' TeeKass('''string''' nimi, '''string''' toug, '''Kass.sugu''' kassisugu)'''<br />
<br />
'''{'''<br />
<br />
this.nimi = nimi;<br />
<br />
this.toug = toug;<br />
<br />
this.kassiSugu = kassisugu;<br />
<br />
'''}'''<br />
<br />
<br />
public''' '''override''' '''string''' ToString()'''<br />
<br />
'''{'''<br />
<br />
return''' '''"Tere, mina olen kass, nimi on mul: "''' +'''<br />
<br />
'''nimi + '''", tõug: "''' +toug +'''" ja sugu: "+ kassiSugu;<br />
<br />
'''}'''<br />
<br />
<br />
'''~Kass()'''<br />
<br />
'''{ '''Console.WriteLine("Tapeti kass nimega: "''' + '''this.nimi); }<br />
<br />
<br />
'''}'''<br />
<br />
class''' '''Program<br />
<br />
'''{'''<br />
<br />
static''' '''void''' Main('''string'''<nowiki>[] args)</nowiki>'''<br />
<br />
'''{'''<br />
<br />
<br />
Kass''' kiisu = '''new''' '''Kass'''('''"Peeter"''');'''<br />
<br />
Console.WriteLine(kiisu.ToString());<br />
<br />
Kass''' k6uts = '''new''' '''Kass'''('''"Jasper"''','''"angoora"''', '''Kass.sugu.isane);<br />
<br />
Console.WriteLine(k6uts.ToString());<br />
<br />
<br />
string''' tere = '''new''' '''String'''(''''a'''',10);'''<br />
<br />
Console.WriteLine(tere);<br />
<br />
<br />
'''}'''<br />
<br />
'''}'''<br />
<br />
'''}'''</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=Viitet%C3%BC%C3%BCpi_muutujad_CSharp_programmeerimiskeeles&diff=51026Viitetüüpi muutujad CSharp programmeerimiskeeles2012-10-01T19:05:51Z<p>Ahokkone: /* Alamklass */</p>
<hr />
<div>= Eesmärk =<br />
Antud õpiobjekti eesmärgiks on tutvustada viitetüüpi muutujatüüpide olemust ning kasutamisvõimalusi C# programmeerimiskeeles.<br />
<br />
* Väärtus- ja viitetüüpi muutujate erinevus<br />
* Viitetüüpi muutujate kasutamine C# keeles<br />
* String, kui viitetüüpi muutujatüüp<br />
* Pärilus<br />
* Liidesed<br />
* Koodinäited<br />
* Praktilised ülesanded<br />
<br />
= Väärtus- ja viitetüüpi muutujate erinevus =<br />
Kui väärtustüüpi muutujatüübid on eelkõige mõeldud konkreetsete andmete hoidmiseks konkreetse skoobi piires, siis viitetüüpi muutujad sisaldavad ainult viidet andmetele ning konkreetset skoopi ei saa määratleda. .Net raamistikus säilib viitetüüpi muutuja seni, kuni sellele on säilinud vähemalt üks viide.<br />
<br />
Samas võib viitetüüpi muutuja viidata ka ''null ''väärtusele ehk lihtsustatult: viitetüüpi muutuja võib ka mitte viidata konkreetsele andmehulgale.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; //deklareeritakse uus viitetüüpi muutuja kiisu, mis on Kass tüüpi<br />
<br />
<br />
kiisu = new Kass(); // kiisu hakkab viitama uuele Kass tüüpi objektile<br />
<br />
<br />
kiisu = null; // kiisu ei viita enam sellele objektile, kui sellele Kass tüüpi objektile rohkem viiteid ei <br />
<br />
//ole, siis selle objekti poole enam pöörduda ei saa<br />
<br />
|}<br />
== Erinevused praktikas ==<br />
'''Suurim erinevus väärtustüüpi ja viitetüüpi muutujatüüpide vahel seisnebki selles, et igale väärtustüüpi muutujale vastab konkreetne koht mälus. Samas viitetüüpi muutujale ei pruugi vastata ühtegi kohta mälus (''null ''viide) ning teisalt võib ühele ja samale kohale mälus viidata mitu erinevat viitetüüpi muutujat.'''<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt<br />
<br />
Kass k6uts = kiisu; //k6uts ja kiisu viitavad nüüd ühele ja samale objektile<br />
<br />
k6uts.MuudaNimi(„Miisu“); // muudetakse kassi nime, läbi viite k6uts, muutub ka kiisu nimi.<br />
<br />
|}<br />
Nagu näitest näha, kui kaks viitetüüpi muutujat viitavad ühele ja samale objektile, siis muutes üht muutujat muutub ka teine, sest need viitavad ühele ja samale mäluosale.<br />
<br />
== Erinevused võrdlemisel ==<br />
Kui väärtustüüpi muutujate korral võrreldakse kahe muutuja võrdlemisel nende konkreetseid väärtuseid, siis viitetüüpi muutujate korral võrreldakse vaikimisi hoopis viiteid: kui muutujad viitavad ühele ja samale mäluosale, siis loetakse need võrdseks, muul juhul aga mitte.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt<br />
<br />
kiisu.MuudaNimi(„Jassu“);<br />
<br />
Kass k6uts = new Kass(); // Luuakse Kass tüüpi muutuja k6uts ning luuakse uus Kass tüüpi objekt <br />
<br />
k6uts.MuudaNimi(„Jassu“); // muudetakse kassi nime, kiisu nimi ei muutu.<br />
<br />
If(kiisu == k6uts)<br />
<br />
Console.WriteLine(„On võrdsed!“);<br />
<br />
|}<br />
'''Antud hetkel teadet „On võrdsed!“ ei tuleks, sest tegemist on küll Kassidega, millistel on üks nimi, aga samas ei ole need üks ja sama Kass!'''<br />
<br />
<br />
= Viitetüüpi muutujate kasutamine C# keeles =<br />
Viitetüüpi muutuja kasutamiseks tuleb muutuja deklareerida ning seejärel initsialiseerida.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu<br />
<br />
<br />
<br />
<br />
|}<br />
Kui muutuja deklareerida, kuid jätta initsialiseerimata, siis on tegemist muutujaga, mis ei viita mitte kuhugi (ehk viide on ''null''). Seega ei ole võimalik ka lugeda ega kirjutada muutuja andmeväljadele, sest neid lihtsalt ei ole veel olemas.<br />
<br />
Samuti ei ole võimalik pöörduda selle objekti meetodite poole, põhjus sama: objekti lihtsalt ei eksisteeri, on olemas vaid viide objektile.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu<br />
<br />
Kiisu.MuudaNimi(„Miisu“); // tekib viga, sest viite näol on tegemist ''null'' viitega<br />
<br />
<br />
<br />
<br />
|}<br />
Muutuja initsialiseerimiseks tuleb luua uus vastavat tüüpi andmeobjekt mällu ning luua sellele viide. Seejärel on võimalik pöörduda kõigi selle objekti andmeväljade ja meetodite poole.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu<br />
<br />
kiisu = new Kass(); // initsialiseeritakse uus Kass tüüpi andmeobjekt ning muutuja kiisu viitab sellele<br />
<br />
Kiisu.MuudaNimi(„Miisu“); // viga ei teki<br />
<br />
<br />
<br />
<br />
|}<br />
= String, kui viitetüüpi muutujatüüp =<br />
String on C# programmeerimiskeeles realiseeritud kui tähemärkide jada (massiiv), millel on palju erisusi võrreldes tavaliste viitetüüpi muutujatega, seepärast on siinkohal vajalik selle muutujatüübi täpsem käsitlemine.<br />
<br />
String tüüpi muutuja loomiseks on mitmeid võimalusi, lihtsaim neist on see, kui üks string tüüpi väärtus omistatakse teisele.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
String tervitus = „Tere“; // siin deklareeriti muutuja tervitus, mis initsialiseeriti teise stringiga „Tere“<br />
<br />
string<br />
<br />
<br />
<br />
<br />
|}<br />
Siit selgubki, et stringi puhul on realiseeritud omistamine erinevalt tavalistest viitetüüpi muutujatest: kui tavaliselt pannakse viitetüüpi muutujate kasutamisel omistamisel lihtsalt muutuja viitama samale objektile, siis siin on võimalik siiski konkreetne väärtus eraldi konstruktori abil ette anda.<br />
<br />
Samas on stringil olemas ka tavapärane konstruktor, mida saab ka kasutada.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string tere = new String('a',10); //Siinsel juhul luuakse muutuja tere, mis koosneb 10’st ’a’ <br />
<br />
//tähemärgist<br />
<br />
|}<br />
== Stringi meetodid ==<br />
Et leida string muutujatüübi pikkus, võib kasutada omadust Length.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere";<br />
<br />
int lausePikkus = lause.Length; // lausePikkus väärtus on 4<br />
<br />
<br />
<br />
<br />
|}<br />
Kontrollimaks, kas string sisaldab mõnd fraasi, saab kasutada stringi meetodit Contains, tulem antakse tõeväärtusena.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere ise ka";<br />
<br />
bool kasOn = lause.Contains("ise"); // kasOn sisaldab väärust „true“<br />
<br />
<br />
<br />
<br />
|}<br />
Kui on vaja stringist välja lõigata üks osa, kasuta stringi meetodit Substring, esimene argument näitab mitmendast tähest alates ja teine arument näitab mitu tähte<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere, Juku!";<br />
<br />
string lause2 = lause.Substring(6, 4); //Nüüd on lause2 väärtus “Juku”<br />
<br />
<br />
<br />
<br />
|}<br />
Kui soovime teada saada mitmendal kohal asub stringis mõni sümbol, tuleb kasutada stringi IndexOf meetodit.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere, Juku!";<br />
<br />
int mitmesKoma = lause.IndexOf(','); // vastus on 4, sest loendama hakatakse 0’st.<br />
<br />
<br />
<br />
<br />
|}<br />
Stringi stringi lisamiseks on võimalik kasutada meetodit Insert, esimene argument näitab kuhu lisatakse ja teine näitab mida lisatakse.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide:<br />
<br />
<br />
string lause = "Tere, Juku!";<br />
<br />
lause = lause.Insert(6, "kallis ");<br />
<br />
int lausePikkus =lause.Length;<br />
<br />
lause =lause.Insert( lausePikkus-1, ", tore Sind näha");<br />
<br />
// Kokku peaks siis nüüd tulema „Tere, kallis Juku, tore Sind näha!“<br />
<br />
<br />
<br />
<br />
|}<br />
Starts.With – kontrollib, kas string algab kindla sümboliga<br />
<br />
Remove – võimaldab stringist osa eemaldada<br />
<br />
Replace – asendab stringis ühe fraasi teisega<br />
<br />
Trim – võimaldab eemaldada kindlad sümbolid<br />
<br />
PadRight – lisab sümboleid stringi lõppu, kuni string on kindla pikkusega<br />
<br />
Kõik string muutujatüübi meetodid on kirjeldatud: [http://msdn.microsoft.com/en-us/library/system.string_methods.aspx http://msdn.microsoft.com/en-us/library/system.string_methods.aspx]<br />
<br />
<br />
= Pärilus =<br />
(veebistuudiumi õppematerjalist)<br />
<br />
Ajapikku on objektorienteeritud programmeerimiskeelte juurde lisatud mitmesuguseid täiustusi ja võimalusi. Pärilus (inheritance) on mingil moel enamike objektorienteeritud keelte küljes olemas. Nii ka end suhteliselt arenenuks keeleks pidava C# juures.<br />
<br />
Objektidega toimetamisel ning pärilusel sealhulgas on vähemalt kaks eesmärki. Püütakse lihtsustada koodi kohandamist. Samuti võimaldab pärilus vältida sama tööd tegeva koodi kopeerimist, lubades samu käsklusi kasutada mitmel pool.<br />
<br />
Päriluse abil püütakse programmeerimiskeele objektitüüpide omavahelisi suhteid lähendada inimeste igapäevaselt tajutavale. Üheksakümnendate aastate algul ilmunud objektorienteeritud programmeerimist tutvustavas õpikus oli ilus näide: "sebra on nagu hobune, kellel on triibud". Sarnane tuttava kaudu uue tüübi kokkupanek ongi päriluse põhisisu. Midagi lisatakse, midagi muudetakse, vahel harva ka kaotatakse. Ning märkamatult muutubki hobune sebraks või tühi paneel tekstiväljaks. <br />
<br />
Nõnda õnnestub olemasolevate (pool)valmis tükkide abil omale sobiv komplekt kokku panna. Teiselt poolt võidakse objektide päriluspuu ehitada ka oludes, kus kõik programmi osad on enese määrata. Sellisel juhul pole küll eesmärk omale üks ja parim tüüp kokku panna, vaid otsitakse ühisosi, mille puhul on võimalik valminud tüübid gruppidesse jaotada ning nende gruppidega vajadusel koos midagi ette võtta. Tüüpilise näitena pole teatripiletit müües vaja teada inimese sugu ja ametit. Küll aga on balletirolli juures mõlemad andmed tähtsad. Tavaelus tundub loomulikuna, et eriomadusi arvestatakse vaid kohtades, kus need on vajalikud ning muul juhul aetakse vaid üldiste tunnustega läbi. Haruharva tuleb eraldi rõhutada, et "meie teatrisse tohivad vaatajaks tulla inimesed sõltumata usutunnistusest ja nahavärvist". Arvuti juures tuleb aga tasemed selgelt välja tuua. Igal keerukuse astmel tuleb määrata, millised oskused ja omadused sinna juurde kuuluvad ning millise rolli jaoks millisel tasemel oskuste komplekti vaja on. Keerukaks kiskunud seletuste kõrvale selgitused näidete abil.<br />
<br />
== Päriluseta näide ==<br />
Alustame inimese klassiga, kus igasugune pärilus puudub. Üks klass oma muutuja, konstruktori ja meetodiga ning testprogrammis saab tema võimalusi katsetada.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
using System;<br />
<br />
namespace Parilus1{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Inimene inim1=new Inimene(13);<br />
<br />
inim1.YtleVanus(); <br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
/*<br />
<br />
C:\Projects\oma\naited>Parilus1<br />
<br />
Minu vanus on 13 aastat<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
|}<br />
==== Alamklass ====<br />
Edasi juba juures inimese alamklass (subclass) Modell, kel on olemas kõik inimese omadused (ehk siis selle programmi puhul võime oma vanust öelda), kuid juures käsklus enese esitlemiseks. Et esitlemine koosneb vanuse ja ümbermõõdu teatamisest, on see juba esitlemiskäskluse sisse kirjutatud.<br />
<br />
Klass Inimene on Modelli suhtes ülemklassiks (superclass, base class, parent class). C# puhul on igal klassil alati täpselt üks ülemklass. Kui muud pole määratud, siis kasutatakse selleks vaikimisi nimeruumi System klassi Object. Muul juhul aga on ülemklass kirjas klassikirjelduse päriluse osas. Nii tekibki klasside puu, mis algab klassist Object. <br />
<br />
Kui klassil konstruktor puudub, siis loob kompilaator vaikimisi tühja konstruktori, millel pole parameetreid ja mis ka midagi ei tee. Inimese puhul siis näiteks <br />
<br />
public Inimene(){}<br />
<br />
Kui aga vähemalt üks programmeerija loodud konstruktor on olemas, siis seda nähtamatut konstruktorit ei tehta. Päriluse puhul kutsutakse alamklassi eksemplari loomisel alati välja ülemklassi konstruktor. Vaikimisi võtab kompilaator selleks ülemklassi parameetritega konstruktori. Kui see aga puudub või soovitakse käivitada mõnda muud, siis tuleb sobiva konstruktori väljakutse alamklassi juures ära märkida. Siin märgitakse näiteks Modelli loomise juures, et Modelli isendi loomise juures tehakse kõigepealt valmis baasklassi (inimese) isend, kellele siis Modelli enese konstruktoris vajalikud lisandused juurde pannakse. Ülemklassi konstruktori määramine on kohe Modelli konstruktori juures. Pärast koolonit olev base(vanus) ütleb, et kasutatagu inimese puhul seda konstruktorit, kus tuleb täisarvuline vanus kohe ette öelda. <br />
<br />
public Modell(int vanus, int uymberm66t):base(vanus){<br />
<br />
ymberm66t=uymberm66t;<br />
<br />
}<br />
<br />
Ehkki praegu tegelikult muud võimalust polnudki, tuleb see ikkagi arvutile ette öelda.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
<source lang="csharp"><br />
using System;<br />
<br />
namespace Parilus2{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
class Modell:Inimene {<br />
<br />
protected int ymberm66t;<br />
<br />
public Modell(int vanus, int uymberm66t):base(vanus){<br />
<br />
ymberm66t=uymberm66t;<br />
<br />
}<br />
<br />
public void Esitle(){<br />
<br />
YtleVanus();<br />
<br />
Console.WriteLine("Mu ymberm66duks on "+ymberm66t+" sentimeetrit");<br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Modell m=new Modell(20, 90);<br />
<br />
m.Esitle();<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
</source><br />
/*<br />
<br />
C:\Projects\oma\naited>Parilus2<br />
<br />
Minu vanus on 20 aastat<br />
<br />
Mu ymberm66duks on 90 sentimeetrit<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
<br />
|}<br />
<br />
== Ülekate ==<br />
Mõnikord ei piirduta omaduste lisamisega - tahetakse olemasolevaid võimalusi ka muuta. Tavanäiteks on kujundid või graafikakomponendid, mis igaüks ennast vastavalt oma omadustele joonistavad. Aga sarnaselt üle kaetavad võivad olla voogudesse andmete kirjutamise käsklused või andmestruktuuridesse andmeid lisavad või sealt eemaldavad käsklused nii, et neid käsklusi kasutav programm võib lihtsalt kasutatavat tükki usaldada, et tal on vastava nimega käsklus olemas ning ta selle soovitud ajal sooritab. <br />
<br />
Siin näites on Inimese alamklassiks tehtud Daam, kel kõik muud kirjeldatud omadused hariliku Inimesega sarnased. Kuid vanuse ütlemine käib mõnevõrra teisiti. Et käske saaks rahus üle katta, selleks on Inimese juurde käsu ehk meetodi YtleVanus ette lisatud sõna virtual, Daami vastava meetodi ette aga override. Selliselt on mõlemat tüüpi objektil vanuse ütlemine selge, need lihtsalt käituvad erinevalt.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
using System;<br />
<br />
namespace Parilus3{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public virtual void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
class Daam:Inimene {<br />
<br />
public Daam(int vanus):base(vanus){}<br />
<br />
public override void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+(vanus-5)+" aastat"); <br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Inimene inim1=new Inimene(40);<br />
<br />
Daam inim2=new Daam(40);<br />
<br />
inim1.YtleVanus();<br />
<br />
inim2.YtleVanus();<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
<br />
/*<br />
<br />
C:\Projects\oma\naited>Parilus3<br />
<br />
Minu vanus on 40 aastat<br />
<br />
Minu vanus on 35 aastat<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
<br />
|}<br />
= Liidesed =<br />
(Veebistuudiumi õppematerjalist)<br />
<br />
Nagu eespool kirjeldatud, on C# puhul üks ja kindel objektitüüpide pärinemise puu. Igal klassil on oma ülemklass ning juureks on klass Object nimeruumist System. Samas aga mõnegi tüübi puhul on sellest klassist objekte mugav kasutada tunduvalt rohkemates kohtades, kui otsene päriluspuu ette näeb. Nii nagu Ambla kihelkonna Lehtse valla Läpi küla Troska talu perepoeg Karl oli lisaks nendele ametlikele tiitlitele veel küla sepp, puutöömees ning korralik vanapoiss, nii on hea mõnegi klassi puhul programmi ülesehituse lihtsuse huvides pakkuda sinna rohkem rolle kui otsese päriluse järgi neid kokku tuleks. Näiteks Karlal oli leivateenimise mõttes sepatööst kindlasti rohkem kasu kui teatest, et ta Ambla kirikuraamatus kirjas on. Niisamuti on klassidele võimalik juurde panna liideseid, mis annavad õiguse vastava klassi eksemplare kloonida, järjestada või muid kasulikke omadusi lisada. Liideste arv ühe klassi juures ei ole piiratud. Liidesed mõeldi programmeerimiskeelte juurde välja, kuna selgus, et nõnda kirjeldusi määrates ja kokku leppides õnnestub programmeerimisel vigu vähendada.<br />
<br />
Järgnevas näites loodi liides IViisakas. I on liidesel ees sõnast Interface. Liidese juurde käib enamasti sisuline seletus selle kohta, millised seda liidest realiseerivad objektid on. Ning lisaks võivad olla mõned käsklused, millele vastavat liidest realiseerivad objektid on võimelised reageerima. Liidese IViisakas puhul valiti selliseks käskluseks Tervita, mis saab omale tekstilise parameetri. Ehk siis eeldatakse, et iga viisakas tegelane mõistab tervitusele vastata juhul, kui talle öeldakse, kellega on tegemist. Nagu näha - Lapse ja Koera puhul need tervitused on erinevad. Kuid nii nagu liides nõuab - nad on olemas. Sinnamaani suudab kompilaator kontrollida. Ülejäänu on juba programmeerija hoolitseda, et kindlaksmääratud nimega käskluse juurde ka vastavale klassile sobiv sisu saaks. <br />
<br />
static void TuleSynnipaevale(IViisakas v){<br />
<br />
v.Tervita("vanaema");<br />
<br />
}<br />
<br />
Loodud meetodi juures on näha, et parameetrina võetakse vastu vaid nende klasside eksemplare, kelle puhul liides IViisakas on realiseeritud. Ning igaühel neist palutakse tervitada vanaema. Kuidas keegi sellega hakkama saab, on juba klassi enese sees hoolitsetud.<br />
<br />
<br />
{| class="prettytable"<br />
| Näide<br />
<br />
using System;<br />
<br />
namespace Liides1{<br />
<br />
class Inimene{<br />
<br />
protected int vanus;<br />
<br />
public Inimene(int uvanus){<br />
<br />
vanus=uvanus;<br />
<br />
}<br />
<br />
public virtual void YtleVanus(){<br />
<br />
Console.WriteLine("Minu vanus on "+vanus+" aastat");<br />
<br />
}<br />
<br />
}<br />
<br />
interface IViisakas{<br />
<br />
void Tervita(String tuttav);<br />
<br />
}<br />
<br />
class Laps:Inimene, IViisakas {<br />
<br />
public Laps(int vanus):base(vanus){}<br />
<br />
public void Tervita(String tuttav){<br />
<br />
Console.WriteLine("Tere, "+tuttav);<br />
<br />
}<br />
<br />
}<br />
<br />
class Koer: IViisakas{<br />
<br />
public void Tervita(String tuttav){<br />
<br />
Console.WriteLine("Auh!");<br />
<br />
}<br />
<br />
}<br />
<br />
class InimTest{<br />
<br />
static void TuleSynnipaevale(IViisakas v){<br />
<br />
v.Tervita("vanaema");<br />
<br />
}<br />
<br />
<nowiki>public static void Main(string[] arg){</nowiki><br />
<br />
Laps juku=new Laps(6);<br />
<br />
juku.YtleVanus();<br />
<br />
Koer muki=new Koer();<br />
<br />
TuleSynnipaevale(juku);<br />
<br />
TuleSynnipaevale(muki);<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
/*<br />
<br />
C:\Projects\oma\naited>Liides1<br />
<br />
Minu vanus on 6 aastat<br />
<br />
Tere, vanaema<br />
<br />
Auh!<br />
<br />
<nowiki>*/</nowiki><br />
<br />
<br />
<br />
<br />
|}<br />
Kui mingil põhjusel jäänuks Lapsele või Koerale käsklus Tervita lisamata, siis annaks kompilaator veateate. Sama tekiks ka juhul, kui käskluse tekstis trükiviga tehtaks. Selline kompilaatoripoolne kontroll aitab vead üles<br />
<br />
<br />
Koodinäited<br />
<br />
Klass Kass<br />
<br />
using''' System;'''<br />
<br />
using''' System.Collections.Generic;'''<br />
<br />
using''' System.Linq;'''<br />
<br />
using''' System.Text;'''<br />
<br />
<br />
namespace''' Loeng7'''<br />
<br />
'''{'''<br />
<br />
class''' '''Kass<br />
<br />
'''{'''<br />
<br />
private''' '''string''' nimi;'''<br />
<br />
private''' '''string''' toug;'''<br />
<br />
public''' '''enum''' '''sugu''' { isane, emane, lihtsaltKass };'''<br />
<br />
private''' '''sugu''' kassiSugu;'''<br />
<br />
<br />
public''' Kass() : '''this'''('''"Jossu"''','''"teadmata"''','''sugu.isane)<br />
<br />
'''{}'''<br />
<br />
public''' Kass('''string''' nimi)'''<br />
<br />
'''{'''<br />
<br />
//this.nimi = nimi;<br />
<br />
'''TeeKass(nimi, '''"teadmata"''', '''sugu.isane);<br />
<br />
'''}'''<br />
<br />
public''' '''void''' MuudaNimi('''string''' uusNimi)'''<br />
<br />
'''{'''<br />
<br />
'''nimi = uusNimi;'''<br />
<br />
'''}'''<br />
<br />
public''' Kass('''Kass.sugu''' sugu)'''<br />
<br />
'''{'''<br />
<br />
//this.nimi = nimi;<br />
<br />
'''TeeKass('''"Jossu"''', '''"teadmata"''', sugu);'''<br />
<br />
'''}'''<br />
<br />
public''' Kass('''string''' nimi, '''string''' Toug)'''<br />
<br />
'''{'''<br />
<br />
//this.nimi = nimi;<br />
<br />
'''TeeKass(nimi, Toug, '''sugu.lihtsaltKass);<br />
<br />
'''}'''<br />
<br />
public''' Kass('''string''' nimi, '''string''' toug, '''Kass.sugu''' kassisugu)'''<br />
<br />
'''{'''<br />
<br />
'''TeeKass(nimi, toug, kassisugu);'''<br />
<br />
'''}'''<br />
<br />
<br />
private''' '''void''' TeeKass('''string''' nimi, '''string''' toug, '''Kass.sugu''' kassisugu)'''<br />
<br />
'''{'''<br />
<br />
this.nimi = nimi;<br />
<br />
this.toug = toug;<br />
<br />
this.kassiSugu = kassisugu;<br />
<br />
'''}'''<br />
<br />
<br />
public''' '''override''' '''string''' ToString()'''<br />
<br />
'''{'''<br />
<br />
return''' '''"Tere, mina olen kass, nimi on mul: "''' +'''<br />
<br />
'''nimi + '''", tõug: "''' +toug +'''" ja sugu: "+ kassiSugu;<br />
<br />
'''}'''<br />
<br />
<br />
'''~Kass()'''<br />
<br />
'''{ '''Console.WriteLine("Tapeti kass nimega: "''' + '''this.nimi); }<br />
<br />
<br />
'''}'''<br />
<br />
class''' '''Program<br />
<br />
'''{'''<br />
<br />
static''' '''void''' Main('''string'''<nowiki>[] args)</nowiki>'''<br />
<br />
'''{'''<br />
<br />
<br />
Kass''' kiisu = '''new''' '''Kass'''('''"Peeter"''');'''<br />
<br />
Console.WriteLine(kiisu.ToString());<br />
<br />
Kass''' k6uts = '''new''' '''Kass'''('''"Jasper"''','''"angoora"''', '''Kass.sugu.isane);<br />
<br />
Console.WriteLine(k6uts.ToString());<br />
<br />
<br />
string''' tere = '''new''' '''String'''(''''a'''',10);'''<br />
<br />
Console.WriteLine(tere);<br />
<br />
<br />
'''}'''<br />
<br />
'''}'''<br />
<br />
'''}'''</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35813User:Ahokkone2011-10-03T18:44:14Z<p>Ahokkone: /* Erialatutvustuse aine arvestustöö */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev: 03 okt. 2011<br />
<br />
==Essee==<br />
<br />
===Minu Nuti===<br />
<br />
Alustan sellega, et kuidas selle teema valisin. Selle aasta sügiseni oli mul aastaid vana Nokia 1112 (2006. a. mudel), millega sai ainult helistada ja võib-olla SMS-i saata. Juba mitu aastat tagasi ei olnud see telefon teiste silmis IT inimesele kohane. Vahel oli ikka nalja kui arvutivõõral inimesel oli uhkem telefon kui minul, kuigi mina peaksin olema IT teadlik ja väheste funktsioonidega seade ei tohiks minu vajadusi rahuldada. Tegelikult rahuldas väga hästi. Helistada sai ja mittefunktsionaalseid nõuded täitis väga hästi. Kuna viimaste aastatega on kiirelt levima hakanud nn nutitelefonid ja on ennustatud, et aasta lõpuks ületab nutitelefonide arv 50 protsendi piiri mobiiltelefonide kogumüügist, siis on suur tõenäosus saada uueks telefoniks nutitelefon. Ja saingi, Android op. süsteemiga HTC. Üldiselt olen arvestanud, et esimesed nutitelefonid on pigem "toored" ja kui üldse tahan ühte, siis see võiks olla Linux-i tuumaga ja sellel peaksid jooksma. Linux-is tuntud töövahendid. Linux-il põhinev vabavaraline süsteem MeeGo tundus hea valik olevat, aga Soome uhkus Nokia ei suutnud õigeks ajaks välja tulla ühegi seadmega, mille hind oleks sobiv olnud. Tegelikult ei näinud ühtegi MeeGo-t müügis. Pean hetkel leppima Android-iga. Essee eesmärk on kirjeldada kui hästi täidab Android minu vajadusi. Kas sobib kasutamiseks ja kas on mõtet vaeva näha ja täiendada mõnda rakendust.<br />
<br />
Kõigepealt kasutatavusest. Rohkem kui 4a vanal telefonil pidas aku terve nädal - ei helista väga palju kuid äratus käis hommikuti väga kaua. Nutitelefoni tuleb laadida iga päev. Ilmselt mitmeks päevaks merehätta ei tasu jääda isegi täis akuga. Suure voolutarbimise põhjuseks võib nimetada Java-t, kuid see on tänapäeval väidetavalt suuremas osas C keelega sama kiire, vähemalt serverite Java virtuaalmasinates. Nutitelefonides võib olla olukord palju kehvem, kuid rohkem töötavaid protsesse kulutavadki rohkem energiat, sellega tuleb arvestada. Laadimine on standardiseeritud USB kaabli kaudu, vähemalt seegi hea. 3.2 tolli diagonaaliga seadmel väga internetis ei surfa, häda korral sobib küll. Ekraani suurusest sõltub aga palju. Saab osta suurema ekraaniga kuid tarkvara funktsionaalsust see oluliselt ei muuda. Nagu osadel tööjaamade klaveritel ei ole toru (|) märki, mida on Linux-i käsureal palju vaja, ei ole või on väga ära peidetud see ka Android-ide klaveritel. Sama lugu tabulaatoriga, mida kasutatakse käskude nime lõppude automaatseks leidmiseks või noolklahvid eelneva käsu saamiseks käsureale ja tekstides navigeerimiseks. Klahvikombinatsioonidest rääkimata. Esimese hooga jääb ncurses rakendustesse lihtsalt kinni! Häkkeri klaverid on kah olemas aga kõikvõimalike kahe ja kolme klahviga kombinatsioone ei ole suudetud implementeerida. Samas, ega Ctrl+Alt+Del väga vaja ka ei ole, kui ainult VNC puhul. Osades programmides töötavad mõned klahvikombinatsioonid aga mitte igal pool. Üldiselt näib, et ühtset nö. "native" kasutajaliidest ei ole. Mis ühes kohas on saadaval, seda ei tasu mujal loota.<br />
<br />
Suuremad probleemid hakkavad pihta sellest, et HTC on teinud praktiliselt võimatuks telefoni operatsioonisüsteemi vahetuse kasutaja poolt. Kasutaja peab leppima tootja poolt pakutud tarkvarakomplektiga. Juurde saab paigaldada aga mitte igasugust tarkvara ja samuti ära võtta kasutaja enda äranägemise järgi ei ole võimalik. Mis kedagi riivab, see on personaalne küsimus aga minu jaoks on väga vastukarva mõned turvalisust, privaatsust ja kasutatavust puudutavad probleemid. Suurem osa probleemidest on lahendatavad operatsioonisüsteemi vahetusega aga kuna HTC on telefoni teatud funktsioonid lukustanud, siis uut operatsioonisüsteemi ei ole võimalik telefoni laadida. Osadel mudelitel on lukustus ära võetud aga mitte kõigil. Nii peabki leppima sellega, et on mingi hulk eelpaigaldatud HTC ja Google programme, mille eemaldamiseks ei ole füüsilisi õigusi. Selgusetuks jääb, miks peaks olema seadmes kummagi suurettevõtte kalender ja mitu teist programmi. Miks ei saa ühte neist eemaldada? Miks ei ole võimalik nutitelefonist eemaldada Facebook?<br />
<br />
Kui kohe peale telefoniga helistamist uurida võrguühendusi, siis näeb Google Contacts protsessi loodud andmeside ühendusi Google serveritesse. Seadistustest saab välja lülitada kontode sünkroniseerimise aga telefoniraamatule see ei mõju. Teenuse kasutamise vastu ei ole midagi, kuid vastukarva on teenuse mittekasutamise keerukus. Oleks huvitav detailsemalt teada saada, mis andmeid vahetatakse. Selleks sobiks väga hästi mõni programm, mis suudab vaadata võrgus liikuvate pakettide sisse. Tööjaamas sai kasutatud WireShark nimelist programmi. Põhimõtteliselt tcpdump koos graafilise ja mugava kasutajaliidesega. Selleks sai siis nutitelefoni sisse paigaldatud selle analoog nimega Shark for Root. Tööle see muidugi ei hakanud. Vaja root kasutaja õigusi. Ilmselt probleem selles, et võrgukaartide pealtkuulamiseks vaja suuremaid õigusi kui tavakasutajal, mille kontos enamus programme ja Java virtuaalmasinad jooksevad. Sai otsitud, kas on võimalik kuidagi root kasutaja seadmesse saada. Vastus: ei ole võimalik, vaja operatsioonisüsteem välja vahetada. Leidub palju Linux-itel tuntud tarkvara, millest võiks palju abi olla aga suurem osa neist eeldab, et root kasutaja ja "su" käsk on paigaldatud. Enne saab palju head tarkvara ära paigaldada aga need ei tööta, täiesti kasutud kui ainus eesmärk ei ole mälupinda ära kasutada. Niisiis peale igat kõnet kui WiFi, 3G või mõni aeglasem andmeside võrk on olemas, käiakse kontakte Google-ga sünkroniseerimas. Iptables-il põhinevat tulemüüri saab paigaldada aga see samuti ei tööta kuna vajab root kasutajat reeglite sisselaadimiseks. Saaks Google konto eemaldada aga sel juhul ei saaks enam Market nimelisest keskkonnast alla laadida uut tarkvara ja uuendusi paigaldatud tarkvarale. Aga sellest pole suurt kahju kuna Market-i iseärasus on selline, et väga suur hulk tarkvara on kommertstarkvara. Tavaline rakendus maksab paar..10 $, müüakse isegi neid manuaale, mida Linuxi arvutis näeb man käsuga niisamagi. On ka tasuta tarkvara, mille seast on väga raske leida programmikest, milles puudub reklaam. Isegi kui seda ei ole ja programmil on kasutajaliideses väike tühi nurgake, siis mingi aeg ilmubki just sinna reklaamike. Aga ka sellest ei ole midagi, väikese annetusega saab osta koodi, mis reklaami välja lülitab. Kahju on vaadata, et paarkümmend KB suurused programmikesed, mis on justkui väikesed modulaarsed legoklotsikesed, mida saaks kasutada suuremates projektides, on kinnise lähtekoodiga. Market-is olev tarkvara tahab pakkuda kasutajale suuremat elamust ja soovib kasutada mobiili asukoha määramist ja internetiühendust isegi kui tal seda vaja ei ole. Kas kõik tahavad olla mobiili omanikud ja milleks seda vaja on? Need on privaatsuse ja turvalisuse teemad, mis on väga tähtsad IT-s. Mina igal juhul ei sooviks, et minu andmed minu teadmata säutsuvad kusagil interneti avarustes. Võib-olla on see sääsest elevandi tegemine aga kuna lähtekood on suletud, siis ei saa me seda kontrollida, kas on tegu väikese sääsega või mitte.<br />
<br />
Hulga lootustandvam on FOSS põhimõtetel tarkvara pakkuv f-droid.org repositoorium. Isegi nimi repositoorium on hulga lootustandvam kui sõna "market", vaatamata pakutava tarkvara hulka. Fdroid keskkonnas pakutakse tasuta vaba lähtekoodi ja vabavara litsentsiga tarkvara. Tarkvara, mida saab muuta enda soovide järgi ja mida saab usaldada. Võidavad peaaegu kõik. On lihtsustatud tarkvara areng inimkonna ja indiviidi jaoks ning, mis minu õppetööd ja hobi arvestades - on võimalik vastavalt vabale ajale panustada väikese tüki vaeva ja aega. Igaüks ei pea hakkama "jalgratast leiutama" vaid saab kasutada olemasolevat tarkvara ja seda täiustada. Koodi taaskasutus on arenduse efektiivsuse ja kvaliteedi osas oluline. Android platvormil on mahukas Java programmeerimisliides, mis lihtsustab arendusi veelgi. Liidesed on nii raudvarale kui muudele tarkvarakomponentidele. Kokkuvõtteks võib öelda, et tasub arenduses kaasa panustada. Kasulike rakenduste hulk paistab lõputu. Uus telefon on ikka parem kui vana kraabitud ja kulunud välimusega telefon kuid ilmselt oleksin uusi sõpru leidnud ka uue mitte-nutitelefoniga.<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
Uue kaardi saan vastavalt http://www.itcollege.ee/tudengile/oppetoo/turva-ja-isic-kaart/ juhendile http://www.minukool.ee kaardihalduskeskkonnast või SEB pangast.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.<br />
<br />
<br />
<br />
[[Category:Erialatutvustus 2011]]</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35812User:Ahokkone2011-10-03T18:43:46Z<p>Ahokkone: /* Erialatutvustuse aine arvestustöö */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
===Minu Nuti===<br />
<br />
Alustan sellega, et kuidas selle teema valisin. Selle aasta sügiseni oli mul aastaid vana Nokia 1112 (2006. a. mudel), millega sai ainult helistada ja võib-olla SMS-i saata. Juba mitu aastat tagasi ei olnud see telefon teiste silmis IT inimesele kohane. Vahel oli ikka nalja kui arvutivõõral inimesel oli uhkem telefon kui minul, kuigi mina peaksin olema IT teadlik ja väheste funktsioonidega seade ei tohiks minu vajadusi rahuldada. Tegelikult rahuldas väga hästi. Helistada sai ja mittefunktsionaalseid nõuded täitis väga hästi. Kuna viimaste aastatega on kiirelt levima hakanud nn nutitelefonid ja on ennustatud, et aasta lõpuks ületab nutitelefonide arv 50 protsendi piiri mobiiltelefonide kogumüügist, siis on suur tõenäosus saada uueks telefoniks nutitelefon. Ja saingi, Android op. süsteemiga HTC. Üldiselt olen arvestanud, et esimesed nutitelefonid on pigem "toored" ja kui üldse tahan ühte, siis see võiks olla Linux-i tuumaga ja sellel peaksid jooksma. Linux-is tuntud töövahendid. Linux-il põhinev vabavaraline süsteem MeeGo tundus hea valik olevat, aga Soome uhkus Nokia ei suutnud õigeks ajaks välja tulla ühegi seadmega, mille hind oleks sobiv olnud. Tegelikult ei näinud ühtegi MeeGo-t müügis. Pean hetkel leppima Android-iga. Essee eesmärk on kirjeldada kui hästi täidab Android minu vajadusi. Kas sobib kasutamiseks ja kas on mõtet vaeva näha ja täiendada mõnda rakendust.<br />
<br />
Kõigepealt kasutatavusest. Rohkem kui 4a vanal telefonil pidas aku terve nädal - ei helista väga palju kuid äratus käis hommikuti väga kaua. Nutitelefoni tuleb laadida iga päev. Ilmselt mitmeks päevaks merehätta ei tasu jääda isegi täis akuga. Suure voolutarbimise põhjuseks võib nimetada Java-t, kuid see on tänapäeval väidetavalt suuremas osas C keelega sama kiire, vähemalt serverite Java virtuaalmasinates. Nutitelefonides võib olla olukord palju kehvem, kuid rohkem töötavaid protsesse kulutavadki rohkem energiat, sellega tuleb arvestada. Laadimine on standardiseeritud USB kaabli kaudu, vähemalt seegi hea. 3.2 tolli diagonaaliga seadmel väga internetis ei surfa, häda korral sobib küll. Ekraani suurusest sõltub aga palju. Saab osta suurema ekraaniga kuid tarkvara funktsionaalsust see oluliselt ei muuda. Nagu osadel tööjaamade klaveritel ei ole toru (|) märki, mida on Linux-i käsureal palju vaja, ei ole või on väga ära peidetud see ka Android-ide klaveritel. Sama lugu tabulaatoriga, mida kasutatakse käskude nime lõppude automaatseks leidmiseks või noolklahvid eelneva käsu saamiseks käsureale ja tekstides navigeerimiseks. Klahvikombinatsioonidest rääkimata. Esimese hooga jääb ncurses rakendustesse lihtsalt kinni! Häkkeri klaverid on kah olemas aga kõikvõimalike kahe ja kolme klahviga kombinatsioone ei ole suudetud implementeerida. Samas, ega Ctrl+Alt+Del väga vaja ka ei ole, kui ainult VNC puhul. Osades programmides töötavad mõned klahvikombinatsioonid aga mitte igal pool. Üldiselt näib, et ühtset nö. "native" kasutajaliidest ei ole. Mis ühes kohas on saadaval, seda ei tasu mujal loota.<br />
<br />
Suuremad probleemid hakkavad pihta sellest, et HTC on teinud praktiliselt võimatuks telefoni operatsioonisüsteemi vahetuse kasutaja poolt. Kasutaja peab leppima tootja poolt pakutud tarkvarakomplektiga. Juurde saab paigaldada aga mitte igasugust tarkvara ja samuti ära võtta kasutaja enda äranägemise järgi ei ole võimalik. Mis kedagi riivab, see on personaalne küsimus aga minu jaoks on väga vastukarva mõned turvalisust, privaatsust ja kasutatavust puudutavad probleemid. Suurem osa probleemidest on lahendatavad operatsioonisüsteemi vahetusega aga kuna HTC on telefoni teatud funktsioonid lukustanud, siis uut operatsioonisüsteemi ei ole võimalik telefoni laadida. Osadel mudelitel on lukustus ära võetud aga mitte kõigil. Nii peabki leppima sellega, et on mingi hulk eelpaigaldatud HTC ja Google programme, mille eemaldamiseks ei ole füüsilisi õigusi. Selgusetuks jääb, miks peaks olema seadmes kummagi suurettevõtte kalender ja mitu teist programmi. Miks ei saa ühte neist eemaldada? Miks ei ole võimalik nutitelefonist eemaldada Facebook?<br />
<br />
Kui kohe peale telefoniga helistamist uurida võrguühendusi, siis näeb Google Contacts protsessi loodud andmeside ühendusi Google serveritesse. Seadistustest saab välja lülitada kontode sünkroniseerimise aga telefoniraamatule see ei mõju. Teenuse kasutamise vastu ei ole midagi, kuid vastukarva on teenuse mittekasutamise keerukus. Oleks huvitav detailsemalt teada saada, mis andmeid vahetatakse. Selleks sobiks väga hästi mõni programm, mis suudab vaadata võrgus liikuvate pakettide sisse. Tööjaamas sai kasutatud WireShark nimelist programmi. Põhimõtteliselt tcpdump koos graafilise ja mugava kasutajaliidesega. Selleks sai siis nutitelefoni sisse paigaldatud selle analoog nimega Shark for Root. Tööle see muidugi ei hakanud. Vaja root kasutaja õigusi. Ilmselt probleem selles, et võrgukaartide pealtkuulamiseks vaja suuremaid õigusi kui tavakasutajal, mille kontos enamus programme ja Java virtuaalmasinad jooksevad. Sai otsitud, kas on võimalik kuidagi root kasutaja seadmesse saada. Vastus: ei ole võimalik, vaja operatsioonisüsteem välja vahetada. Leidub palju Linux-itel tuntud tarkvara, millest võiks palju abi olla aga suurem osa neist eeldab, et root kasutaja ja "su" käsk on paigaldatud. Enne saab palju head tarkvara ära paigaldada aga need ei tööta, täiesti kasutud kui ainus eesmärk ei ole mälupinda ära kasutada. Niisiis peale igat kõnet kui WiFi, 3G või mõni aeglasem andmeside võrk on olemas, käiakse kontakte Google-ga sünkroniseerimas. Iptables-il põhinevat tulemüüri saab paigaldada aga see samuti ei tööta kuna vajab root kasutajat reeglite sisselaadimiseks. Saaks Google konto eemaldada aga sel juhul ei saaks enam Market nimelisest keskkonnast alla laadida uut tarkvara ja uuendusi paigaldatud tarkvarale. Aga sellest pole suurt kahju kuna Market-i iseärasus on selline, et väga suur hulk tarkvara on kommertstarkvara. Tavaline rakendus maksab paar..10 $, müüakse isegi neid manuaale, mida Linuxi arvutis näeb man käsuga niisamagi. On ka tasuta tarkvara, mille seast on väga raske leida programmikest, milles puudub reklaam. Isegi kui seda ei ole ja programmil on kasutajaliideses väike tühi nurgake, siis mingi aeg ilmubki just sinna reklaamike. Aga ka sellest ei ole midagi, väikese annetusega saab osta koodi, mis reklaami välja lülitab. Kahju on vaadata, et paarkümmend KB suurused programmikesed, mis on justkui väikesed modulaarsed legoklotsikesed, mida saaks kasutada suuremates projektides, on kinnise lähtekoodiga. Market-is olev tarkvara tahab pakkuda kasutajale suuremat elamust ja soovib kasutada mobiili asukoha määramist ja internetiühendust isegi kui tal seda vaja ei ole. Kas kõik tahavad olla mobiili omanikud ja milleks seda vaja on? Need on privaatsuse ja turvalisuse teemad, mis on väga tähtsad IT-s. Mina igal juhul ei sooviks, et minu andmed minu teadmata säutsuvad kusagil interneti avarustes. Võib-olla on see sääsest elevandi tegemine aga kuna lähtekood on suletud, siis ei saa me seda kontrollida, kas on tegu väikese sääsega või mitte.<br />
<br />
Hulga lootustandvam on FOSS põhimõtetel tarkvara pakkuv f-droid.org repositoorium. Isegi nimi repositoorium on hulga lootustandvam kui sõna "market", vaatamata pakutava tarkvara hulka. Fdroid keskkonnas pakutakse tasuta vaba lähtekoodi ja vabavara litsentsiga tarkvara. Tarkvara, mida saab muuta enda soovide järgi ja mida saab usaldada. Võidavad peaaegu kõik. On lihtsustatud tarkvara areng inimkonna ja indiviidi jaoks ning, mis minu õppetööd ja hobi arvestades - on võimalik vastavalt vabale ajale panustada väikese tüki vaeva ja aega. Igaüks ei pea hakkama "jalgratast leiutama" vaid saab kasutada olemasolevat tarkvara ja seda täiustada. Koodi taaskasutus on arenduse efektiivsuse ja kvaliteedi osas oluline. Android platvormil on mahukas Java programmeerimisliides, mis lihtsustab arendusi veelgi. Liidesed on nii raudvarale kui muudele tarkvarakomponentidele. Kokkuvõtteks võib öelda, et tasub arenduses kaasa panustada. Kasulike rakenduste hulk paistab lõputu. Uus telefon on ikka parem kui vana kraabitud ja kulunud välimusega telefon kuid ilmselt oleksin uusi sõpru leidnud ka uue mitte-nutitelefoniga.<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
Uue kaardi saan vastavalt http://www.itcollege.ee/tudengile/oppetoo/turva-ja-isic-kaart/ juhendile http://www.minukool.ee kaardihalduskeskkonnast või SEB pangast.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.<br />
<br />
<br />
<br />
[[Category:Erialatutvustus 2011]]</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35811User:Ahokkone2011-10-03T18:42:48Z<p>Ahokkone: /* Essee */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
===Minu Nuti===<br />
<br />
Alustan sellega, et kuidas selle teema valisin. Selle aasta sügiseni oli mul aastaid vana Nokia 1112 (2006. a. mudel), millega sai ainult helistada ja võib-olla SMS-i saata. Juba mitu aastat tagasi ei olnud see telefon teiste silmis IT inimesele kohane. Vahel oli ikka nalja kui arvutivõõral inimesel oli uhkem telefon kui minul, kuigi mina peaksin olema IT teadlik ja väheste funktsioonidega seade ei tohiks minu vajadusi rahuldada. Tegelikult rahuldas väga hästi. Helistada sai ja mittefunktsionaalseid nõuded täitis väga hästi. Kuna viimaste aastatega on kiirelt levima hakanud nn nutitelefonid ja on ennustatud, et aasta lõpuks ületab nutitelefonide arv 50 protsendi piiri mobiiltelefonide kogumüügist, siis on suur tõenäosus saada uueks telefoniks nutitelefon. Ja saingi, Android op. süsteemiga HTC. Üldiselt olen arvestanud, et esimesed nutitelefonid on pigem "toored" ja kui üldse tahan ühte, siis see võiks olla Linux-i tuumaga ja sellel peaksid jooksma. Linux-is tuntud töövahendid. Linux-il põhinev vabavaraline süsteem MeeGo tundus hea valik olevat, aga Soome uhkus Nokia ei suutnud õigeks ajaks välja tulla ühegi seadmega, mille hind oleks sobiv olnud. Tegelikult ei näinud ühtegi MeeGo-t müügis. Pean hetkel leppima Android-iga. Essee eesmärk on kirjeldada kui hästi täidab Android minu vajadusi. Kas sobib kasutamiseks ja kas on mõtet vaeva näha ja täiendada mõnda rakendust.<br />
<br />
Kõigepealt kasutatavusest. Rohkem kui 4a vanal telefonil pidas aku terve nädal - ei helista väga palju kuid äratus käis hommikuti väga kaua. Nutitelefoni tuleb laadida iga päev. Ilmselt mitmeks päevaks merehätta ei tasu jääda isegi täis akuga. Suure voolutarbimise põhjuseks võib nimetada Java-t, kuid see on tänapäeval väidetavalt suuremas osas C keelega sama kiire, vähemalt serverite Java virtuaalmasinates. Nutitelefonides võib olla olukord palju kehvem, kuid rohkem töötavaid protsesse kulutavadki rohkem energiat, sellega tuleb arvestada. Laadimine on standardiseeritud USB kaabli kaudu, vähemalt seegi hea. 3.2 tolli diagonaaliga seadmel väga internetis ei surfa, häda korral sobib küll. Ekraani suurusest sõltub aga palju. Saab osta suurema ekraaniga kuid tarkvara funktsionaalsust see oluliselt ei muuda. Nagu osadel tööjaamade klaveritel ei ole toru (|) märki, mida on Linux-i käsureal palju vaja, ei ole või on väga ära peidetud see ka Android-ide klaveritel. Sama lugu tabulaatoriga, mida kasutatakse käskude nime lõppude automaatseks leidmiseks või noolklahvid eelneva käsu saamiseks käsureale ja tekstides navigeerimiseks. Klahvikombinatsioonidest rääkimata. Esimese hooga jääb ncurses rakendustesse lihtsalt kinni! Häkkeri klaverid on kah olemas aga kõikvõimalike kahe ja kolme klahviga kombinatsioone ei ole suudetud implementeerida. Samas, ega Ctrl+Alt+Del väga vaja ka ei ole, kui ainult VNC puhul. Osades programmides töötavad mõned klahvikombinatsioonid aga mitte igal pool. Üldiselt näib, et ühtset nö. "native" kasutajaliidest ei ole. Mis ühes kohas on saadaval, seda ei tasu mujal loota.<br />
<br />
Suuremad probleemid hakkavad pihta sellest, et HTC on teinud praktiliselt võimatuks telefoni operatsioonisüsteemi vahetuse kasutaja poolt. Kasutaja peab leppima tootja poolt pakutud tarkvarakomplektiga. Juurde saab paigaldada aga mitte igasugust tarkvara ja samuti ära võtta kasutaja enda äranägemise järgi ei ole võimalik. Mis kedagi riivab, see on personaalne küsimus aga minu jaoks on väga vastukarva mõned turvalisust, privaatsust ja kasutatavust puudutavad probleemid. Suurem osa probleemidest on lahendatavad operatsioonisüsteemi vahetusega aga kuna HTC on telefoni teatud funktsioonid lukustanud, siis uut operatsioonisüsteemi ei ole võimalik telefoni laadida. Osadel mudelitel on lukustus ära võetud aga mitte kõigil. Nii peabki leppima sellega, et on mingi hulk eelpaigaldatud HTC ja Google programme, mille eemaldamiseks ei ole füüsilisi õigusi. Selgusetuks jääb, miks peaks olema seadmes kummagi suurettevõtte kalender ja mitu teist programmi. Miks ei saa ühte neist eemaldada? Miks ei ole võimalik nutitelefonist eemaldada Facebook?<br />
<br />
Kui kohe peale telefoniga helistamist uurida võrguühendusi, siis näeb Google Contacts protsessi loodud andmeside ühendusi Google serveritesse. Seadistustest saab välja lülitada kontode sünkroniseerimise aga telefoniraamatule see ei mõju. Teenuse kasutamise vastu ei ole midagi, kuid vastukarva on teenuse mittekasutamise keerukus. Oleks huvitav detailsemalt teada saada, mis andmeid vahetatakse. Selleks sobiks väga hästi mõni programm, mis suudab vaadata võrgus liikuvate pakettide sisse. Tööjaamas sai kasutatud WireShark nimelist programmi. Põhimõtteliselt tcpdump koos graafilise ja mugava kasutajaliidesega. Selleks sai siis nutitelefoni sisse paigaldatud selle analoog nimega Shark for Root. Tööle see muidugi ei hakanud. Vaja root kasutaja õigusi. Ilmselt probleem selles, et võrgukaartide pealtkuulamiseks vaja suuremaid õigusi kui tavakasutajal, mille kontos enamus programme ja Java virtuaalmasinad jooksevad. Sai otsitud, kas on võimalik kuidagi root kasutaja seadmesse saada. Vastus: ei ole võimalik, vaja operatsioonisüsteem välja vahetada. Leidub palju Linux-itel tuntud tarkvara, millest võiks palju abi olla aga suurem osa neist eeldab, et root kasutaja ja "su" käsk on paigaldatud. Enne saab palju head tarkvara ära paigaldada aga need ei tööta, täiesti kasutud kui ainus eesmärk ei ole mälupinda ära kasutada. Niisiis peale igat kõnet kui WiFi, 3G või mõni aeglasem andmeside võrk on olemas, käiakse kontakte Google-ga sünkroniseerimas. Iptables-il põhinevat tulemüüri saab paigaldada aga see samuti ei tööta kuna vajab root kasutajat reeglite sisselaadimiseks. Saaks Google konto eemaldada aga sel juhul ei saaks enam Market nimelisest keskkonnast alla laadida uut tarkvara ja uuendusi paigaldatud tarkvarale. Aga sellest pole suurt kahju kuna Market-i iseärasus on selline, et väga suur hulk tarkvara on kommertstarkvara. Tavaline rakendus maksab paar..10 $, müüakse isegi neid manuaale, mida Linuxi arvutis näeb man käsuga niisamagi. On ka tasuta tarkvara, mille seast on väga raske leida programmikest, milles puudub reklaam. Isegi kui seda ei ole ja programmil on kasutajaliideses väike tühi nurgake, siis mingi aeg ilmubki just sinna reklaamike. Aga ka sellest ei ole midagi, väikese annetusega saab osta koodi, mis reklaami välja lülitab. Kahju on vaadata, et paarkümmend KB suurused programmikesed, mis on justkui väikesed modulaarsed legoklotsikesed, mida saaks kasutada suuremates projektides, on kinnise lähtekoodiga. Market-is olev tarkvara tahab pakkuda kasutajale suuremat elamust ja soovib kasutada mobiili asukoha määramist ja internetiühendust isegi kui tal seda vaja ei ole. Kas kõik tahavad olla mobiili omanikud ja milleks seda vaja on? Need on privaatsuse ja turvalisuse teemad, mis on väga tähtsad IT-s. Mina igal juhul ei sooviks, et minu andmed minu teadmata säutsuvad kusagil interneti avarustes. Võib-olla on see sääsest elevandi tegemine aga kuna lähtekood on suletud, siis ei saa me seda kontrollida, kas on tegu väikese sääsega või mitte.<br />
<br />
Hulga lootustandvam on FOSS põhimõtetel tarkvara pakkuv f-droid.org repositoorium. Isegi nimi repositoorium on hulga lootustandvam kui sõna "market", vaatamata pakutava tarkvara hulka. Fdroid keskkonnas pakutakse tasuta vaba lähtekoodi ja vabavara litsentsiga tarkvara. Tarkvara, mida saab muuta enda soovide järgi ja mida saab usaldada. Võidavad peaaegu kõik. On lihtsustatud tarkvara areng inimkonna ja indiviidi jaoks ning, mis minu õppetööd ja hobi arvestades - on võimalik vastavalt vabale ajale panustada väikese tüki vaeva ja aega. Igaüks ei pea hakkama "jalgratast leiutama" vaid saab kasutada olemasolevat tarkvara ja seda täiustada. Koodi taaskasutus on arenduse efektiivsuse ja kvaliteedi osas oluline. Android platvormil on mahukas Java programmeerimisliides, mis lihtsustab arendusi veelgi. Liidesed on nii raudvarale kui muudele tarkvarakomponentidele. Kokkuvõtteks võib öelda, et tasub arenduses kaasa panustada. Kasulike rakenduste hulk paistab lõputu. Uus telefon on ikka parem kui vana kraabitud ja kulunud välimusega telefon kuid ilmselt oleksin uusi sõpru leidnud ka uue mitte-nutitelefoniga.<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
Uue kaardi saan vastavalt http://www.itcollege.ee/tudengile/oppetoo/turva-ja-isic-kaart/ juhendile http://www.minukool.ee kaardihalduskeskkonnast või SEB pangast.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35810User:Ahokkone2011-10-03T18:41:57Z<p>Ahokkone: /* Essee */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
Minu Nuti<br />
<br />
Alustan sellega, et kuidas selle teema valisin. Selle aasta sügiseni oli mul aastaid vana Nokia 1112 (2006. a. mudel), millega sai ainult helistada ja võib-olla SMS-i saata. Juba mitu aastat tagasi ei olnud see telefon teiste silmis IT inimesele kohane. Vahel oli ikka nalja kui arvutivõõral inimesel oli uhkem telefon kui minul, kuigi mina peaksin olema IT teadlik ja väheste funktsioonidega seade ei tohiks minu vajadusi rahuldada. Tegelikult rahuldas väga hästi. Helistada sai ja mittefunktsionaalseid nõuded täitis väga hästi. Kuna viimaste aastatega on kiirelt levima hakanud nn nutitelefonid ja on ennustatud, et aasta lõpuks ületab nutitelefonide arv 50 protsendi piiri mobiiltelefonide kogumüügist, siis on suur tõenäosus saada uueks telefoniks nutitelefon. Ja saingi, Android op. süsteemiga HTC. Üldiselt olen arvestanud, et esimesed nutitelefonid on pigem "toored" ja kui üldse tahan ühte, siis see võiks olla Linux-i tuumaga ja sellel peaksid jooksma. Linux-is tuntud töövahendid. Linux-il põhinev vabavaraline süsteem MeeGo tundus hea valik olevat, aga Soome uhkus Nokia ei suutnud õigeks ajaks välja tulla ühegi seadmega, mille hind oleks sobiv olnud. Tegelikult ei näinud ühtegi MeeGo-t müügis. Pean hetkel leppima Android-iga. Essee eesmärk on kirjeldada kui hästi täidab Android minu vajadusi. Kas sobib kasutamiseks ja kas on mõtet vaeva näha ja täiendada mõnda rakendust.<br />
<br />
Kõigepealt kasutatavusest. Rohkem kui 4a vanal telefonil pidas aku terve nädal - ei helista väga palju kuid äratus käis hommikuti väga kaua. Nutitelefoni tuleb laadida iga päev. Ilmselt mitmeks päevaks merehätta ei tasu jääda isegi täis akuga. Suure voolutarbimise põhjuseks võib nimetada Java-t, kuid see on tänapäeval väidetavalt suuremas osas C keelega sama kiire, vähemalt serverite Java virtuaalmasinates. Nutitelefonides võib olla olukord palju kehvem, kuid rohkem töötavaid protsesse kulutavadki rohkem energiat, sellega tuleb arvestada. Laadimine on standardiseeritud USB kaabli kaudu, vähemalt seegi hea. 3.2 tolli diagonaaliga seadmel väga internetis ei surfa, häda korral sobib küll. Ekraani suurusest sõltub aga palju. Saab osta suurema ekraaniga kuid tarkvara funktsionaalsust see oluliselt ei muuda. Nagu osadel tööjaamade klaveritel ei ole toru (|) märki, mida on Linux-i käsureal palju vaja, ei ole või on väga ära peidetud see ka Android-ide klaveritel. Sama lugu tabulaatoriga, mida kasutatakse käskude nime lõppude automaatseks leidmiseks või noolklahvid eelneva käsu saamiseks käsureale ja tekstides navigeerimiseks. Klahvikombinatsioonidest rääkimata. Esimese hooga jääb ncurses rakendustesse lihtsalt kinni! Häkkeri klaverid on kah olemas aga kõikvõimalike kahe ja kolme klahviga kombinatsioone ei ole suudetud implementeerida. Samas, ega Ctrl+Alt+Del väga vaja ka ei ole, kui ainult VNC puhul. Osades programmides töötavad mõned klahvikombinatsioonid aga mitte igal pool. Üldiselt näib, et ühtset nö. "native" kasutajaliidest ei ole. Mis ühes kohas on saadaval, seda ei tasu mujal loota.<br />
<br />
Suuremad probleemid hakkavad pihta sellest, et HTC on teinud praktiliselt võimatuks telefoni operatsioonisüsteemi vahetuse kasutaja poolt. Kasutaja peab leppima tootja poolt pakutud tarkvarakomplektiga. Juurde saab paigaldada aga mitte igasugust tarkvara ja samuti ära võtta kasutaja enda äranägemise järgi ei ole võimalik. Mis kedagi riivab, see on personaalne küsimus aga minu jaoks on väga vastukarva mõned turvalisust, privaatsust ja kasutatavust puudutavad probleemid. Suurem osa probleemidest on lahendatavad operatsioonisüsteemi vahetusega aga kuna HTC on telefoni teatud funktsioonid lukustanud, siis uut operatsioonisüsteemi ei ole võimalik telefoni laadida. Osadel mudelitel on lukustus ära võetud aga mitte kõigil. Nii peabki leppima sellega, et on mingi hulk eelpaigaldatud HTC ja Google programme, mille eemaldamiseks ei ole füüsilisi õigusi. Selgusetuks jääb, miks peaks olema seadmes kummagi suurettevõtte kalender ja mitu teist programmi. Miks ei saa ühte neist eemaldada? Miks ei ole võimalik nutitelefonist eemaldada Facebook?<br />
<br />
Kui kohe peale telefoniga helistamist uurida võrguühendusi, siis näeb Google Contacts protsessi loodud andmeside ühendusi Google serveritesse. Seadistustest saab välja lülitada kontode sünkroniseerimise aga telefoniraamatule see ei mõju. Teenuse kasutamise vastu ei ole midagi, kuid vastukarva on teenuse mittekasutamise keerukus. Oleks huvitav detailsemalt teada saada, mis andmeid vahetatakse. Selleks sobiks väga hästi mõni programm, mis suudab vaadata võrgus liikuvate pakettide sisse. Tööjaamas sai kasutatud WireShark nimelist programmi. Põhimõtteliselt tcpdump koos graafilise ja mugava kasutajaliidesega. Selleks sai siis nutitelefoni sisse paigaldatud selle analoog nimega Shark for Root. Tööle see muidugi ei hakanud. Vaja root kasutaja õigusi. Ilmselt probleem selles, et võrgukaartide pealtkuulamiseks vaja suuremaid õigusi kui tavakasutajal, mille kontos enamus programme ja Java virtuaalmasinad jooksevad. Sai otsitud, kas on võimalik kuidagi root kasutaja seadmesse saada. Vastus: ei ole võimalik, vaja operatsioonisüsteem välja vahetada. Leidub palju Linux-itel tuntud tarkvara, millest võiks palju abi olla aga suurem osa neist eeldab, et root kasutaja ja "su" käsk on paigaldatud. Enne saab palju head tarkvara ära paigaldada aga need ei tööta, täiesti kasutud kui ainus eesmärk ei ole mälupinda ära kasutada. Niisiis peale igat kõnet kui WiFi, 3G või mõni aeglasem andmeside võrk on olemas, käiakse kontakte Google-ga sünkroniseerimas. Iptables-il põhinevat tulemüüri saab paigaldada aga see samuti ei tööta kuna vajab root kasutajat reeglite sisselaadimiseks. Saaks Google konto eemaldada aga sel juhul ei saaks enam Market nimelisest keskkonnast alla laadida uut tarkvara ja uuendusi paigaldatud tarkvarale. Aga sellest pole suurt kahju kuna Market-i iseärasus on selline, et väga suur hulk tarkvara on kommertstarkvara. Tavaline rakendus maksab paar..10 $, müüakse isegi neid manuaale, mida Linuxi arvutis näeb man käsuga niisamagi. On ka tasuta tarkvara, mille seast on väga raske leida programmikest, milles puudub reklaam. Isegi kui seda ei ole ja programmil on kasutajaliideses väike tühi nurgake, siis mingi aeg ilmubki just sinna reklaamike. Aga ka sellest ei ole midagi, väikese annetusega saab osta koodi, mis reklaami välja lülitab. Kahju on vaadata, et paarkümmend KB suurused programmikesed, mis on justkui väikesed modulaarsed legoklotsikesed, mida saaks kasutada suuremates projektides, on kinnise lähtekoodiga. Market-is olev tarkvara tahab pakkuda kasutajale suuremat elamust ja soovib kasutada mobiili asukoha määramist ja internetiühendust isegi kui tal seda vaja ei ole. Kas kõik tahavad olla mobiili omanikud ja milleks seda vaja on? Need on privaatsuse ja turvalisuse teemad, mis on väga tähtsad IT-s. Mina igal juhul ei sooviks, et minu andmed minu teadmata säutsuvad kusagil interneti avarustes. Võib-olla on see sääsest elevandi tegemine aga kuna lähtekood on suletud, siis ei saa me seda kontrollida, kas on tegu väikese sääsega või mitte.<br />
<br />
Hulga lootustandvam on FOSS põhimõtetel tarkvara pakkuv f-droid.org repositoorium. Isegi nimi repositoorium on hulga lootustandvam kui sõna "market", vaatamata pakutava tarkvara hulka. Fdroid keskkonnas pakutakse tasuta vaba lähtekoodi ja vabavara litsentsiga tarkvara. Tarkvara, mida saab muuta enda soovide järgi ja mida saab usaldada. Võidavad peaaegu kõik. On lihtsustatud tarkvara areng inimkonna ja indiviidi jaoks ning, mis minu õppetööd ja hobi arvestades - on võimalik vastavalt vabale ajale panustada väikese tüki vaeva ja aega. Igaüks ei pea hakkama "jalgratast leiutama" vaid saab kasutada olemasolevat tarkvara ja seda täiustada. Koodi taaskasutus on arenduse efektiivsuse ja kvaliteedi osas oluline. Android platvormil on mahukas Java programmeerimisliides, mis lihtsustab arendusi veelgi. Liidesed on nii raudvarale kui muudele tarkvarakomponentidele. Kokkuvõtteks võib öelda, et tasub arenduses kaasa panustada. Kasulike rakenduste hulk paistab lõputu. Uus telefon on ikka parem kui vana kraabitud ja kulunud välimusega telefon kuid ilmselt oleksin uusi sõpru leidnud ka uue mitte-nutitelefoniga.<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
Uue kaardi saan vastavalt http://www.itcollege.ee/tudengile/oppetoo/turva-ja-isic-kaart/ juhendile http://www.minukool.ee kaardihalduskeskkonnast või SEB pangast.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35809User:Ahokkone2011-10-03T18:41:39Z<p>Ahokkone: </p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
Alustan sellega, et kuidas selle teema valisin. Selle aasta sügiseni oli mul aastaid vana Nokia 1112 (2006. a. mudel), millega sai ainult helistada ja võib-olla SMS-i saata. Juba mitu aastat tagasi ei olnud see telefon teiste silmis IT inimesele kohane. Vahel oli ikka nalja kui arvutivõõral inimesel oli uhkem telefon kui minul, kuigi mina peaksin olema IT teadlik ja väheste funktsioonidega seade ei tohiks minu vajadusi rahuldada. Tegelikult rahuldas väga hästi. Helistada sai ja mittefunktsionaalseid nõuded täitis väga hästi. Kuna viimaste aastatega on kiirelt levima hakanud nn nutitelefonid ja on ennustatud, et aasta lõpuks ületab nutitelefonide arv 50 protsendi piiri mobiiltelefonide kogumüügist, siis on suur tõenäosus saada uueks telefoniks nutitelefon. Ja saingi, Android op. süsteemiga HTC. Üldiselt olen arvestanud, et esimesed nutitelefonid on pigem "toored" ja kui üldse tahan ühte, siis see võiks olla Linux-i tuumaga ja sellel peaksid jooksma. Linux-is tuntud töövahendid. Linux-il põhinev vabavaraline süsteem MeeGo tundus hea valik olevat, aga Soome uhkus Nokia ei suutnud õigeks ajaks välja tulla ühegi seadmega, mille hind oleks sobiv olnud. Tegelikult ei näinud ühtegi MeeGo-t müügis. Pean hetkel leppima Android-iga. Essee eesmärk on kirjeldada kui hästi täidab Android minu vajadusi. Kas sobib kasutamiseks ja kas on mõtet vaeva näha ja täiendada mõnda rakendust.<br />
<br />
Kõigepealt kasutatavusest. Rohkem kui 4a vanal telefonil pidas aku terve nädal - ei helista väga palju kuid äratus käis hommikuti väga kaua. Nutitelefoni tuleb laadida iga päev. Ilmselt mitmeks päevaks merehätta ei tasu jääda isegi täis akuga. Suure voolutarbimise põhjuseks võib nimetada Java-t, kuid see on tänapäeval väidetavalt suuremas osas C keelega sama kiire, vähemalt serverite Java virtuaalmasinates. Nutitelefonides võib olla olukord palju kehvem, kuid rohkem töötavaid protsesse kulutavadki rohkem energiat, sellega tuleb arvestada. Laadimine on standardiseeritud USB kaabli kaudu, vähemalt seegi hea. 3.2 tolli diagonaaliga seadmel väga internetis ei surfa, häda korral sobib küll. Ekraani suurusest sõltub aga palju. Saab osta suurema ekraaniga kuid tarkvara funktsionaalsust see oluliselt ei muuda. Nagu osadel tööjaamade klaveritel ei ole toru (|) märki, mida on Linux-i käsureal palju vaja, ei ole või on väga ära peidetud see ka Android-ide klaveritel. Sama lugu tabulaatoriga, mida kasutatakse käskude nime lõppude automaatseks leidmiseks või noolklahvid eelneva käsu saamiseks käsureale ja tekstides navigeerimiseks. Klahvikombinatsioonidest rääkimata. Esimese hooga jääb ncurses rakendustesse lihtsalt kinni! Häkkeri klaverid on kah olemas aga kõikvõimalike kahe ja kolme klahviga kombinatsioone ei ole suudetud implementeerida. Samas, ega Ctrl+Alt+Del väga vaja ka ei ole, kui ainult VNC puhul. Osades programmides töötavad mõned klahvikombinatsioonid aga mitte igal pool. Üldiselt näib, et ühtset nö. "native" kasutajaliidest ei ole. Mis ühes kohas on saadaval, seda ei tasu mujal loota.<br />
<br />
Suuremad probleemid hakkavad pihta sellest, et HTC on teinud praktiliselt võimatuks telefoni operatsioonisüsteemi vahetuse kasutaja poolt. Kasutaja peab leppima tootja poolt pakutud tarkvarakomplektiga. Juurde saab paigaldada aga mitte igasugust tarkvara ja samuti ära võtta kasutaja enda äranägemise järgi ei ole võimalik. Mis kedagi riivab, see on personaalne küsimus aga minu jaoks on väga vastukarva mõned turvalisust, privaatsust ja kasutatavust puudutavad probleemid. Suurem osa probleemidest on lahendatavad operatsioonisüsteemi vahetusega aga kuna HTC on telefoni teatud funktsioonid lukustanud, siis uut operatsioonisüsteemi ei ole võimalik telefoni laadida. Osadel mudelitel on lukustus ära võetud aga mitte kõigil. Nii peabki leppima sellega, et on mingi hulk eelpaigaldatud HTC ja Google programme, mille eemaldamiseks ei ole füüsilisi õigusi. Selgusetuks jääb, miks peaks olema seadmes kummagi suurettevõtte kalender ja mitu teist programmi. Miks ei saa ühte neist eemaldada? Miks ei ole võimalik nutitelefonist eemaldada Facebook?<br />
<br />
Kui kohe peale telefoniga helistamist uurida võrguühendusi, siis näeb Google Contacts protsessi loodud andmeside ühendusi Google serveritesse. Seadistustest saab välja lülitada kontode sünkroniseerimise aga telefoniraamatule see ei mõju. Teenuse kasutamise vastu ei ole midagi, kuid vastukarva on teenuse mittekasutamise keerukus. Oleks huvitav detailsemalt teada saada, mis andmeid vahetatakse. Selleks sobiks väga hästi mõni programm, mis suudab vaadata võrgus liikuvate pakettide sisse. Tööjaamas sai kasutatud WireShark nimelist programmi. Põhimõtteliselt tcpdump koos graafilise ja mugava kasutajaliidesega. Selleks sai siis nutitelefoni sisse paigaldatud selle analoog nimega Shark for Root. Tööle see muidugi ei hakanud. Vaja root kasutaja õigusi. Ilmselt probleem selles, et võrgukaartide pealtkuulamiseks vaja suuremaid õigusi kui tavakasutajal, mille kontos enamus programme ja Java virtuaalmasinad jooksevad. Sai otsitud, kas on võimalik kuidagi root kasutaja seadmesse saada. Vastus: ei ole võimalik, vaja operatsioonisüsteem välja vahetada. Leidub palju Linux-itel tuntud tarkvara, millest võiks palju abi olla aga suurem osa neist eeldab, et root kasutaja ja "su" käsk on paigaldatud. Enne saab palju head tarkvara ära paigaldada aga need ei tööta, täiesti kasutud kui ainus eesmärk ei ole mälupinda ära kasutada. Niisiis peale igat kõnet kui WiFi, 3G või mõni aeglasem andmeside võrk on olemas, käiakse kontakte Google-ga sünkroniseerimas. Iptables-il põhinevat tulemüüri saab paigaldada aga see samuti ei tööta kuna vajab root kasutajat reeglite sisselaadimiseks. Saaks Google konto eemaldada aga sel juhul ei saaks enam Market nimelisest keskkonnast alla laadida uut tarkvara ja uuendusi paigaldatud tarkvarale. Aga sellest pole suurt kahju kuna Market-i iseärasus on selline, et väga suur hulk tarkvara on kommertstarkvara. Tavaline rakendus maksab paar..10 $, müüakse isegi neid manuaale, mida Linuxi arvutis näeb man käsuga niisamagi. On ka tasuta tarkvara, mille seast on väga raske leida programmikest, milles puudub reklaam. Isegi kui seda ei ole ja programmil on kasutajaliideses väike tühi nurgake, siis mingi aeg ilmubki just sinna reklaamike. Aga ka sellest ei ole midagi, väikese annetusega saab osta koodi, mis reklaami välja lülitab. Kahju on vaadata, et paarkümmend KB suurused programmikesed, mis on justkui väikesed modulaarsed legoklotsikesed, mida saaks kasutada suuremates projektides, on kinnise lähtekoodiga. Market-is olev tarkvara tahab pakkuda kasutajale suuremat elamust ja soovib kasutada mobiili asukoha määramist ja internetiühendust isegi kui tal seda vaja ei ole. Kas kõik tahavad olla mobiili omanikud ja milleks seda vaja on? Need on privaatsuse ja turvalisuse teemad, mis on väga tähtsad IT-s. Mina igal juhul ei sooviks, et minu andmed minu teadmata säutsuvad kusagil interneti avarustes. Võib-olla on see sääsest elevandi tegemine aga kuna lähtekood on suletud, siis ei saa me seda kontrollida, kas on tegu väikese sääsega või mitte.<br />
<br />
Hulga lootustandvam on FOSS põhimõtetel tarkvara pakkuv f-droid.org repositoorium. Isegi nimi repositoorium on hulga lootustandvam kui sõna "market", vaatamata pakutava tarkvara hulka. Fdroid keskkonnas pakutakse tasuta vaba lähtekoodi ja vabavara litsentsiga tarkvara. Tarkvara, mida saab muuta enda soovide järgi ja mida saab usaldada. Võidavad peaaegu kõik. On lihtsustatud tarkvara areng inimkonna ja indiviidi jaoks ning, mis minu õppetööd ja hobi arvestades - on võimalik vastavalt vabale ajale panustada väikese tüki vaeva ja aega. Igaüks ei pea hakkama "jalgratast leiutama" vaid saab kasutada olemasolevat tarkvara ja seda täiustada. Koodi taaskasutus on arenduse efektiivsuse ja kvaliteedi osas oluline. Android platvormil on mahukas Java programmeerimisliides, mis lihtsustab arendusi veelgi. Liidesed on nii raudvarale kui muudele tarkvarakomponentidele. Kokkuvõtteks võib öelda, et tasub arenduses kaasa panustada. Kasulike rakenduste hulk paistab lõputu. Uus telefon on ikka parem kui vana kraabitud ja kulunud välimusega telefon kuid ilmselt oleksin uusi sõpru leidnud ka uue mitte-nutitelefoniga.<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
Uue kaardi saan vastavalt http://www.itcollege.ee/tudengile/oppetoo/turva-ja-isic-kaart/ juhendile http://www.minukool.ee kaardihalduskeskkonnast või SEB pangast.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35587User:Ahokkone2011-10-01T18:22:39Z<p>Ahokkone: /* Vastus */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
Uue kaardi saan vastavalt http://www.itcollege.ee/tudengile/oppetoo/turva-ja-isic-kaart/ juhendile http://www.minukool.ee kaardihalduskeskkonnast või SEB pangast.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35584User:Ahokkone2011-10-01T17:16:31Z<p>Ahokkone: /* Vastus */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
Kaardi kaotamisest teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
<br />
Kapivõtme kaotamisel teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35583User:Ahokkone2011-10-01T17:15:41Z<p>Ahokkone: /* Küsimus 2 */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2===<br />
<br />
: Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised? Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?<br />
<br />
===Vastus===<br />
<br />
*'''Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised?'''<br />
<br />
Teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
*'''Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?'''<br />
<br />
Teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35582User:Ahokkone2011-10-01T17:13:59Z<p>Ahokkone: /* Vastus */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2=== <br />
<br />
<br />
===Vastus===<br />
<br />
*'''Juhtusid kaotama uksekaardi. Mis on tegevused ja teatamised?'''<br />
<br />
Teatan õppeosakonda õppetehnikule. Kui see kaart on ISIC ja panga kaudu saadud ISIC+pangakaart ühes, siis kõigepealt teatan panka, et kaart suletaks.<br />
<br />
*'''Juhtusid kaotama kapi võtme. Mis on tegevused ja teatamised?'''<br />
<br />
Teatan õppeosakonda õppetehnikule. Kui kapp on mitmepeale, siis teatan teist kapi kasutajat.</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35581User:Ahokkone2011-10-01T17:10:38Z<p>Ahokkone: /* Küsimus B */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
===Vastus===<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2=== <br />
<br />
<br />
===Vastus===</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35580User:Ahokkone2011-10-01T17:10:29Z<p>Ahokkone: /* Vastus */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Küsimus 2=== <br />
<br />
<br />
===Vastus===</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35579User:Ahokkone2011-10-01T17:10:02Z<p>Ahokkone: /* Erialatutvustuse aine arvestustöö */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Vastus===<br />
<br />
<br />
===Küsimus 2=== <br />
<br />
<br />
===Vastus===</div>Ahokkonehttps://wiki.itcollege.ee/index.php?title=User:Ahokkone&diff=35578User:Ahokkone2011-10-01T17:09:23Z<p>Ahokkone: /* Erialatutvustuse aine arvestustöö */</p>
<hr />
<div>=Erialatutvustuse aine arvestustöö=<br />
Autor: Artur Hokkonen<br><br />
Esitamise kuupäev:<br />
<br />
==Essee==<br />
<br />
<br />
<br />
==Õpingukorralduse küsimused==<br />
===Küsimus B===<br />
<br />
Kukkusid arvestusel läbi. Kuidas edasi? Kaua on võimalik arvestust teha? Kellega kokkuleppida, et arvestust teha? Kuidas toimub järelarvestusele registreerimine? Mis on tähtajad? Palju maksab, kui oled riigieelarvelisel (RE) kohal? Palju maksab, kui oled riigieelarvevälisel (REV) kohal?<br />
<br />
<br />
<br />
*'''Kaua on võimalik arvestust teha?'''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani.''<br />
<br />
<br />
*'''Kellega kokkuleppida, et arvestust teha?'''<br />
<br />
:Õppejõuga kuna õppejõul on õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid.<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
<br />
:Pille Juust on õppetöö peaspetsialist kes tegeleb õppearvestusega. Õppeosakonnas olles ilmselt tasub tema poole pöörduda.<br />
<br />
<br />
*'''Kuidas toimub järelarvestusele registreerimine?'''<br />
<br />
:''5.2.8. Õppeosakonnas eksamile/ arvestusele registreerumine on nõutav:''<br />
::''5.2.8.1. korduseksami, -arvestuse puhul,''<br />
:Kuidas, see ilmselt selgub seal kohapeal.<br />
<br />
<br />
*'''Mis on tähtajad?'''<br />
<br />
:''5.2.9. Õppur peab olema eksamile/arvestusele registreerunud ja kordussoorituse korral tasunud punktis 5.2.7. toodud tasu hiljemalt üleeelmise tööpäeva lõpuks arvestatuna eksami toimumise päevast.''<br />
<br />
:''5.4.4. Õigus kordusarvestusteks kehtib kuni ülejärgmise semestri punase joone päevani, kuid reeglina eeldab kordusarvestus õppuripoolset täiendavat ettevalmistust, mille tagamiseks on õppejõul õigus anda õppurile piiratud mahuga täiendavaid iseseisva töö ülesandeid. Kordusarvestuste tähtajad määrab ainet õpetav õppejõud kooskõlas õppeosakonnas koostatud soovitusliku ajakavaga.''<br />
<br />
:Kordussoorituste ajakava ÕIS->"Minu asjad->Kordussooritused", mis viitab lehele http://willie.itcollege.ee?url=kordussooritused<br />
<br />
:Ajalised piirid on akadeemilises kalendris.<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvelisel (RE) kohal?'''<br />
<br />
:Tasuta. ''5.2.7. Korduseksamid ja -arvestused on tasulised, v.a riigieelarvelisel õppekohalõppivatel üliõpilastel.''<br />
<br />
<br />
*'''Palju maksab, kui oled riigieelarvevälisel (REV) kohal?'''<br />
<br />
:''8. Kordussoorituse tasu (REV tudeng) - 13 €'' (Käskkiri Nr 3A-1/11-94 21.06.2011)<br />
<br />
===Vastus===<br />
<br />
<br />
===Küsimus 2=== <br />
<br />
<br />
===Vastus===<br />
<br />
<br />
[[Category:Erialatutvustus 2011]]</div>Ahokkone