Meeskond Margus Tonis: Difference between revisions
(40 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Loodav tarkvara realiseerib lihtsat laoarvestuse funktsionaalsust. Kuigi lahendus luuakse näidisprojektina, võib tarkvara olla kasutatav väiksema ettevõtte laoarvestustarkvarana. | Loodav tarkvara realiseerib lihtsat laoarvestuse funktsionaalsust. Kuigi lahendus luuakse näidisprojektina, võib tarkvara olla kasutatav väiksema ettevõtte laoarvestustarkvarana. | ||
Projekt annab ülevaate meeskonna oskustest CSharp keeles MSSQL, klasside ja VPF kasutamisest. | |||
=Tööjaotus= | =Tööjaotus= | ||
* Margus Roo | * Margus Roo (margus@roo.ee) - projektijuht | ||
* Tõnis Luik | * Tõnis Luik | ||
=Analüüs= | =Analüüs= | ||
[[Talk:Meeskond_Duo| Retsensioon meie analüüsi kohta]] | |||
* Arendusvahendiks on MS Visual Studio 2012 | * Arendusvahendiks on MS Visual Studio 2012 | ||
Line 14: | Line 19: | ||
* Andmebaasimootoriks on MS SQL | * Andmebaasimootoriks on MS SQL | ||
* Graafiline kasutajaliides luuakse VPF tehnoloogiat kasutades, XAML keeles | * Graafiline kasutajaliides luuakse VPF tehnoloogiat kasutades, XAML keeles | ||
Versioonihaldus asub https://margusja.visualstudio.com/ | |||
'''andmebaasistruktuur''' | '''andmebaasistruktuur''' | ||
Line 24: | Line 31: | ||
** Currency - Valuta objekt | ** Currency - Valuta objekt | ||
** Items - Tooteartikli objekt | ** Items - Tooteartikli objekt | ||
** ItemNamed - Tooteartikli objekt, kus abitabelitest võetakse tooteartiklile nimelised seosed. | |||
** ItemType - Tooteartikli tüübi objekt | |||
** Supplier - Tarnija objekt | |||
* Utils | * Utils | ||
** CurrencyUtils - Valuutatabeliga seonduvad toimingud | ** CurrencyUtils - Valuutatabeliga seonduvad toimingud | ||
** ItemUtils - Tooteartikli tabeliga seonduvad tegevused | ** ItemUtils - Tooteartikli tabeliga seonduvad tegevused | ||
** SupplierUtils - Tarnijate tabeliga seonduvad tegevused | |||
** TypeUtils - Tooteartikli tüüpid tabeliga seonduvad tegevused | |||
* WPF | * WPF | ||
Line 66: | Line 78: | ||
* Kasutajal on võimalik seadistada iga tooteartikli kohta kriitiline level, mida kontrollitakse ja informeeritakse kasutajat teatega, et vastavat tooteartiklit on laos vähem kui määratud. | * Kasutajal on võimalik seadistada iga tooteartikli kohta kriitiline level, mida kontrollitakse ja informeeritakse kasutajat teatega, et vastavat tooteartiklit on laos vähem kui määratud. | ||
* Tooteartiklit saab siduda mitme tarnijaga, kuna laos olev toode võib sisaldada mitme tarnija komponente. | * Tooteartiklit saab siduda mitme tarnijaga, kuna laos olev toode võib sisaldada mitme tarnija komponente. | ||
=Prototüüp= | =Prototüüp= | ||
* Realiseeritud tooteartikli ja valuuta libraries | * Projektikood asub aadressil [http://enos.itcollege.ee/~mroo/Database_design_v1.rar Prototüüp] | ||
Pakkides rar faili lahti on kataloogis Database_design_v1 antud projekti Visual Studio's arendatud kood. Avades VisualStudio projektifaili Home_work, siis avaneb projekt. TFS ühenduda ei ole vaja. Vajutades CTRL + F5 avaneb rakendus. | |||
Võib avada ka valmis kompileeritud binary WpfLadu/bin/Debug/WpfLadu. | |||
==Funktsionaalsus, mis peaks toimima== | |||
* Saab sisestada andmeridu. (Sisestamiseks viimasele reale hakata lisama informatsiooni ja tab klahviga liikudes väljade vahel. Viimaselt väljalt minema liikudes viiakse uus kirje andmebaasi, mille edukast tulemusest ka kasutajat vastavasisulise popup'ga teavitatakse) | |||
* Andmeridu saab kustutada ühe või mitmekaupa. Aktiviseerides rea/read ja vajutades klahvi Delete. | |||
* Andmeridu saab muuta. (Muutmiseks aktiveerida vajalik väli ja peale muutmist sealt lahkumist viiakse vastav muudatus andmebaasi, edukast muudatusest annab teada ka vastavasisuline popup) | |||
* Andmeridu saab sorteerida | |||
==Funktsionaalsis, mis ei toimi== | |||
* Abitabelite (types, currency, supplier) administreerimine GUI kaudu puudub. Samuti ei teisenda GUI hetkel abitabelite ID'd nimedeks, seega GUI näitab Type, Supplier ja Currency ridades vastavaid ID'd | |||
[[File:Proto_6.png]] | |||
=Lõpptoode= | |||
* Tooteid saab lisada, muuta (vastava välja peal tehes muudatuse ja sealt lahkudes) ja kustutada | |||
* Tooteid saab siduda abitabelites olevate kirjetega | |||
* Abitabeleid (Supplier, Currency, Types) saab lisada, muuta (vastava välja peal tehes muudatuse ja sealt lahkudes), kustutada | |||
* Sisendandmete kontroll | |||
[http://enos.itcollege.ee/~mroo/Database_design_v3.rar lõpptoode] | |||
Lahendus tuleb alla laadida, lahti pakkida ja minna kataloogi Database_design_v1/WpfLadu/bin/Release/, avada application WpfLadu | |||
=Logi= | |||
* 12.11.2013 - Realiseeritud tooteartikli ja valuuta libraries | |||
* Prototüübil on näha, et valuuta asendatakse valuuta nimega | * Prototüübil on näha, et valuuta asendatakse valuuta nimega | ||
* 13.11.2013 - Salvestamise prototüüp. | |||
* 14.11.2013 - Realiseeritud kõikide elementide vajalikud klassid. Lisaks meetodid, mis lubavad tooteartikli numbrilisi väärtusi nimelisteks muuta. | |||
* 21.11.2013 - Projekt versioonihaldusesse https://margusja.visualstudio.com ja meeskonnale ning Mait Poska'le ligiääs loodud | |||
* 27.11.2013 - Lisamise real saab valida abitabelites olevaid tekstiväärtusi. [https://margusja.visualstudio.com/DefaultCollection/ITK_homework/_versionControl/changeset/10 changeset10] | |||
* 28.11.2013 - ComboBox tekstiväärtused läbi vastava [object]Utils'i. Loodame, et ajutine lahendus. Väga halb lahendus. Kui aega, teeme ümber. [https://margusja.visualstudio.com/DefaultCollection/ITK_homework/_versionControl/changeset/11 changeset11] | |||
* 01.12.2013 - Lisatud kirjed ilmuvad kohe vaatesse [https://margusja.visualstudio.com/DefaultCollection/ITK_homework/_versionControl/changeset/12 changeset12] | |||
* 02.12.2013 - Parem dropdown'de lahendus [https://margusja.visualstudio.com/DefaultCollection/ITK_homework/_versionControl/changeset/13 changeset 13] | |||
* 12.12.2013 - Kogu lahendus DataGrid peale. | |||
* 13.12.2013 - Prototüüp hindamiseks (Antke armu :) ) | |||
* 14.12.2013 - Meeskonna koosolekul, mis toimus 14.12.2013 ITK sööklas, otsustasime lõpptootes tagasi pöörduda mitte DataGrid kasutavasse GUI lahendusse. | |||
=Lingid= | |||
* [[Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(Kaug%C3%B5pe2013)| 2013 Meeskonnad]] | |||
[[Category:Programmeerimine CSharp keeles]] |
Latest revision as of 21:01, 5 January 2014
Kirjeldus
Loodav tarkvara realiseerib lihtsat laoarvestuse funktsionaalsust. Kuigi lahendus luuakse näidisprojektina, võib tarkvara olla kasutatav väiksema ettevõtte laoarvestustarkvarana. Projekt annab ülevaate meeskonna oskustest CSharp keeles MSSQL, klasside ja VPF kasutamisest.
Tööjaotus
- Margus Roo (margus@roo.ee) - projektijuht
- Tõnis Luik
Analüüs
Retsensioon meie analüüsi kohta
- Arendusvahendiks on MS Visual Studio 2012
- Programmeerimiskeel on MS CSharp
- Andmebaasimootoriks on MS SQL
- Graafiline kasutajaliides luuakse VPF tehnoloogiat kasutades, XAML keeles
Versioonihaldus asub https://margusja.visualstudio.com/
andmebaasistruktuur
Klasside struktuur
- Libraries
- Currency - Valuta objekt
- Items - Tooteartikli objekt
- ItemNamed - Tooteartikli objekt, kus abitabelitest võetakse tooteartiklile nimelised seosed.
- ItemType - Tooteartikli tüübi objekt
- Supplier - Tarnija objekt
- Utils
- CurrencyUtils - Valuutatabeliga seonduvad toimingud
- ItemUtils - Tooteartikli tabeliga seonduvad tegevused
- SupplierUtils - Tarnijate tabeliga seonduvad tegevused
- TypeUtils - Tooteartikli tüüpid tabeliga seonduvad tegevused
- WPF
- ViewModels -> MainVindowVM, kus kasutades vastava Utils library, teostatakse WPF rakenduse funktsionaalsust (load, update, insert, delete)
Must have
Kasutajal on võimalus graafilise kasutajaliidese kaudu sisestada, muuta ja kustutada allolevaid kirjeid, mida hiljem saab tooteartikliga siduda:
- currency (ID, nimi)
- type(tk kast, tünn jne) (ID, nimi)
- supplier(ID, nimi, aadress, e-mail, telefon)
- customer (ID, nimi, aadress, e-mail, telefon) Kuigi andmestruktuur kattub tarnija omaga, siis hoian kliendid selguse huvides eraldi tabelis.
Eelpool toodud subjekte ei saa kustutada juhul kui ta on seotud mõne tooteartikliga.
Kasutaja saab sisestada, tooteartiklit (item), mis koosneb:
- Toote id (SKU) - Unikaalne kood
- Toote nimi
- Kogus
- Seos tooteühikuga
- Seos rahaühikuga
- Seos(ed) tarnijatega
Siduda seda eelpool toodud abikirjetega:
- Tooteartiklit saab siduda ühe tooteühikut kirjeldava kirjega.
- Tooteartiklit saab siduda ühe rahaühikut kirjeldava kirjega.
- Tooteartiklit saab siduda tarnijaga.
- Tooteartiklit saab siduda ühe kliendiga.
Kasutajal on võimalus luua tooteartikli kohta väljamineku kirjeid ehk müügi arhiivi:
- Väljaminekute tabelisse luuakse seos tootega, - kliendiga ja kogus ning väljamineku kuupäev.
- Tooteartikli tabelist arvestatakse väljamineku kogus maha. Juhul kui välja minev kogus on suurem kui tooteartiklit laos, väljastatakse kasutajale vastav teade.
Nice to have
- Kasutajal on võimalik seadistada iga tooteartikli kohta kriitiline level, mida kontrollitakse ja informeeritakse kasutajat teatega, et vastavat tooteartiklit on laos vähem kui määratud.
- Tooteartiklit saab siduda mitme tarnijaga, kuna laos olev toode võib sisaldada mitme tarnija komponente.
Prototüüp
- Projektikood asub aadressil Prototüüp
Pakkides rar faili lahti on kataloogis Database_design_v1 antud projekti Visual Studio's arendatud kood. Avades VisualStudio projektifaili Home_work, siis avaneb projekt. TFS ühenduda ei ole vaja. Vajutades CTRL + F5 avaneb rakendus. Võib avada ka valmis kompileeritud binary WpfLadu/bin/Debug/WpfLadu.
Funktsionaalsus, mis peaks toimima
- Saab sisestada andmeridu. (Sisestamiseks viimasele reale hakata lisama informatsiooni ja tab klahviga liikudes väljade vahel. Viimaselt väljalt minema liikudes viiakse uus kirje andmebaasi, mille edukast tulemusest ka kasutajat vastavasisulise popup'ga teavitatakse)
- Andmeridu saab kustutada ühe või mitmekaupa. Aktiviseerides rea/read ja vajutades klahvi Delete.
- Andmeridu saab muuta. (Muutmiseks aktiveerida vajalik väli ja peale muutmist sealt lahkumist viiakse vastav muudatus andmebaasi, edukast muudatusest annab teada ka vastavasisuline popup)
- Andmeridu saab sorteerida
Funktsionaalsis, mis ei toimi
- Abitabelite (types, currency, supplier) administreerimine GUI kaudu puudub. Samuti ei teisenda GUI hetkel abitabelite ID'd nimedeks, seega GUI näitab Type, Supplier ja Currency ridades vastavaid ID'd
Lõpptoode
- Tooteid saab lisada, muuta (vastava välja peal tehes muudatuse ja sealt lahkudes) ja kustutada
- Tooteid saab siduda abitabelites olevate kirjetega
- Abitabeleid (Supplier, Currency, Types) saab lisada, muuta (vastava välja peal tehes muudatuse ja sealt lahkudes), kustutada
- Sisendandmete kontroll
Lahendus tuleb alla laadida, lahti pakkida ja minna kataloogi Database_design_v1/WpfLadu/bin/Release/, avada application WpfLadu
Logi
- 12.11.2013 - Realiseeritud tooteartikli ja valuuta libraries
- Prototüübil on näha, et valuuta asendatakse valuuta nimega
- 13.11.2013 - Salvestamise prototüüp.
- 14.11.2013 - Realiseeritud kõikide elementide vajalikud klassid. Lisaks meetodid, mis lubavad tooteartikli numbrilisi väärtusi nimelisteks muuta.
- 21.11.2013 - Projekt versioonihaldusesse https://margusja.visualstudio.com ja meeskonnale ning Mait Poska'le ligiääs loodud
- 27.11.2013 - Lisamise real saab valida abitabelites olevaid tekstiväärtusi. changeset10
- 28.11.2013 - ComboBox tekstiväärtused läbi vastava [object]Utils'i. Loodame, et ajutine lahendus. Väga halb lahendus. Kui aega, teeme ümber. changeset11
- 01.12.2013 - Lisatud kirjed ilmuvad kohe vaatesse changeset12
- 02.12.2013 - Parem dropdown'de lahendus changeset 13
- 12.12.2013 - Kogu lahendus DataGrid peale.
- 13.12.2013 - Prototüüp hindamiseks (Antke armu :) )
- 14.12.2013 - Meeskonna koosolekul, mis toimus 14.12.2013 ITK sööklas, otsustasime lõpptootes tagasi pöörduda mitte DataGrid kasutavasse GUI lahendusse.