TeravC: Difference between revisions
Line 141: | Line 141: | ||
Võiks kaaluda WPF Ribbon ja Avalondock teekide kasutamist.<br/> | Võiks kaaluda WPF Ribbon ja Avalondock teekide kasutamist.<br/> | ||
[[File:wpf_rippon_and_dock.png]] | [[File:wpf_rippon_and_dock.png]] | ||
<br/> | |||
* Lae alla rakenduse installikas: [[Media:RibbonAndDock_2011-10-31.zip]] | |||
* Lae alla rakenduse lähtekood (VS Projekt): [[Media:RibbonAndDock_VS_Solution_2011-10-31.zip]] | |||
== Ressursid == | == Ressursid == |
Revision as of 21:57, 31 October 2011
Ülevaade
Üldine eesmärk. Luua programm, millega saaks mugavalt hallata autovaruosade müüki. Selle valdkonna valis välja Tarmo, kes samal elualal töötab. Teistel meeskonnaliikmetel olid samuti ärirakenduste ja laoprogrammide loomise ideed, aga valitud teema tundus kõige konkreetsem. Projekti juhiks määratigi Tarmo. Funktsionaalsused ise ei ole originaalsed, aga eesmärgiks on kirjutaja enda kasutuskogemusele tuginedes erinevate samalaadsete programmide parimate külgede kokku koondamine ja loomuilikut praktilise kogemuse saamine sellise rakenduse loomisel. Põhilised funktsioonid ja komponendid millele võiks tähelepanu pöörata oleks seotud selliste märksõnadega.
Klientide tellimused
- kliendi tellimuse seisu näitamine (täidetud, järeltellimuses, täitmisel)
Arved
- Kliendile arve koostamine ja saatmine.
- Arvete koostamine vastavalt kliendile. Enda artiklite kõrval trükitakse arvel ka kliendi artiklinumbreid.
- Hinnapakkumiste koostamine.
- Hinna ja allahindlusprotsendi näitamine vastavalt kliendi id-le.
- Võlgnevuse puhul näidatakse kliendi tellimuse sisestamisel hoiatust.
Artiklite andmebaas
- Artikli otsimine numbri, osalise numbri, nimetuse või muude kriteeriumide järgi.
- võrdlusnumbrite lisamine andmebaasi.
- Pildi lisamine artiklile.
- Tootja tehnilise info lingi lisamine artiklile
- Artikli puhul saab vaadata nimekirja, millistele automudelitele ta sobib.
Tarnijatega seotu
- Tarnija kontaktide lisamine ja kustutamine
- Tarnijatele esitatud tellimuste oleku näitamine.
- Lao täiendamisvajaduse üle arve pidamine.
- Tarnijatelt tellitud osade nimekiri koos infoga, millal telliti, kellelt ja hinnatav saabumisaeg.
- Laomiinimumide lisamine, muutmine ja kustutamine.
Võimalusi rakenduse täiustamiseks on, nagu näha, päris palju. Suure tõenäosusega ei jõua me neid kõiki realiseerida. Peamine oleks teha need osad, mida jõuame, nii, et hiljem oleks võimalus soovitavaid täiendusi lisada.
Analüüs
Põhiprotsessi kirjeldused
Allolev kirjeldus toob välja tegevused, mida loodav C# rakendus peaks toetama. Selle eesmärk on ühtlustada arusaama, millise funktsionaalsusega rakendus on ning mis eesmärki loodud funktsioonid täidavad.
Müügi protsess
- Klient helistab või saadab emaili teel Müüjale tellimuse.
- Müüja avab uue Arve, valib Kliendi ja sisestab tellitud Artiklid koos kogustega
- Müüja valib tööriista-ribalt "Uus Arve", mille järel avaneb Arve sisestus-vorm koos Arve päise ning detailidega.
- "Arve Number" ja "Kuupäev" teksti kastid Arve päises täituvad automaatselt.
- Arve päises Müüja sisestab või valib "Kliendikood" combobox'ist või "Kliendinimi" combobox'ist vastava Kliendi.
- Peale Kliendi valimist muutub aktiivseks Arve detailide sektsiooni (Datagrid) esimese rea esimene väli: "Artikli Nr"
- Peale Artikli koodi sisestamist täitub automaatselt vastava rea "Nimetus" lahter, kogus üks, hind ja summa. Muutub aktiivseks "Kogus" lahter.
- Peale koguse uuendamist ja Enter klahvi vajutust, tekitatakse uus Artikli rida ...
- Müüja saab Artikli kohta andmbebaasist võrdlusnumbrite, nimetuse või muude kriteeriumide järgi infot otsida.
- sisestades Ctrl + Enter, hetkel mil kursor asub "Artikli Nr" väljal, avab Artikli Otsimise Akna.
- Artikli Otsimise Akna päises asub tekstikast ning kõrval luubi ikooniga "Otsing" nupp.
- Sisestades tekstikasti sõna või koodi ning vajutades "Otsing" nuppu või Enter klahvi, kuvatakse all Otsingutulemuste sektsioonis (Listbox) otsingutulemusi.
- Tehes topeltklõpsu vastava Listbox rea peal, või valides nooltega ning Enter vajutusega, kaob ära Artikli Otsimise Aken ning täidetakse ära automaatselt "Artikli Nr" väli.
- Müüja trükib välja pakkumise juhul kui reaalset müüki veel ei toimu.
- Müüja vajutab "Trüki Pakkumine" nuppu, misjärel vastav pakkumine saadetakse printimstööna eelseadistatud printerisse.
- Müüja vajutab "Saada Pakkumine" nuppu, misjärel avaneb MS Outlook aken koos Eeltäidetud e-mail tekstiga ning manuses oleva pakkumisega. Siht-aadress võetakse vastava Kliendi andmetest.
- Müüja suleb arve ja trükib välja. (Laoseisust arvatakse arvele kantud artiklid maha.)
- Müüja vajutab "Sulge Arve" nuppu
- "Sulge Arve" nupu vajutuse järel muutuvad kõik sisestamise väljad mitte-aktiivseks (disabled).
- Arve staatus muutub olekust "Avatud" olekusse "Suletud"
- Müüja vajutab "Trüki Arve" nuppu, misjärel Arve trükkimise käsk saadetakse eelseadistatud printerile.
Lao täiendamise protsess
- Ostujuht kontrollib iga päev lao täiendamise vajadust.
- Ostujuht valib Artiklid -> Täendamine, misjärel avaneb Lao Täiendamise aken.
- Lao Täiendamise Datagrid on järgneva struktuuriga: "Artikli Nr"; "Artikli nimetus"; "Miinimum kogus"; "Laoseis"; "Tellitav kogus"; "Tarnija"; "Tellitud kuupäeval"
- Näha on ainult neid artikleid, mille laoseis on väiksem kui määratud miinimumkogus.
- Igale täiendamisvajaduse nimekirjas olevale Artiklile valib ta Tarnija ja tellitava koguse
- "Tellitav kogus" tekstikast, kuhu Ostujuht sisestab tellitava koguse
- "Tarnija" combobox, kuskohast Ostujuht valib Tarnija
- Lao Täiendamise akna päisest valib Ostujuht Tarnija, kellele tellimus teha ning vajutab nuppu "Loo tellimus".
- Ostujuht valib raja, kuhu salvestada vastava tellimuse ekspordifail
- Täiendamise tabelis vastavate Artiklite "Tellitud kuupäeval" lahtritesse ilmub käesolev kuupäev
- Kauba lattu sissetulekul sisestab Ostujuht arvele võetud koguse ja hinna.
- Tarnija poolt saabub kaup
- Saabunud kaup (Artiklid) kontrollitakse saatelehe abil üle
- Ostujuht avab Artiklite Nimekirja
- Ostujuht lisab iga lattu tulnud Artikli koguse vastava Rea "Laoseis" väärtusele
- Peale laoseisu uuendamist rakendus kontrollib, kui uus laoseis > miinimumkogus, siis teeb tühjaks vastava Artikli "Tellitav kogus", "Tarnija" ja "Tellitud kuupäeval" lahtrid.
Funktsionaalsus
Hea ülevaate funktsionaalsusest annab plaanitav menüü struktuur: https://docs.google.com/drawings/d/1SaQAW99FBppKlZ5sTWAh8q-b-AMCoBtpIhLBYCS8K0c/edit?hl=en_US
Artiklid
Must have
- Artikli lisamine artiklite andmebaasi
- artikli hinna ja lattu sisse tulnud koguse sisestamine.
- artikli kustutamine
- artikli nimetuse muutmine
- artiklile miinimumkoguse määramine
- artikli laokoguse vaatamine.
- artiklile miinimumkoguse määramine laos.
- võimalus alla miinimumkoguse vähenenud artiklite nimekirja esitamiseks ehk täiendamisvajaduse näitamine.
Nice to have
- Artiklite hinna arvestamin keskmise, FIFO, või LIFO meetodil.
- Artiklile peaks saama lisada võrdlusnumbreid ja neid ka ära kustutada. Näiteks:
meie laoartikli nr on 123456, sellele vastavad Volvo nr23434; Scania nr 45454, Boschi nr 0454533345 jne
- artikli otsimine: nimetuse, võrdlusnumbri, laonumbri järgi
Artiklite täiendamisvajaduse nimekiri
Must have
- Nimekirjas näidatakse, ühes tulbas artikli laoseisu ja teises temale omistatud miinimumkogust, mis peaks laos olema.
- Artikli koguse suurenemisel üle miinimumkoguse (tuli lattu uuesti juurde), kaob antud artikkel täiendamisvajaduse nimekirjast
- Artiklile saab juurde kirjutada tarnija nime ja siis tarnijate järgi nimekirja näitek tekstifaili eksportida, et tarnijale tellimus esitada.
- Need artiklid, mis on tarnijalt tellitud, saab märkida tellituks.
- Tellitud artiklile saab nimekirja juurde lisada tarnija nime, tellitud koguse, eeldatava saabumisaja
Nice to have
- Veel tellimata artiklile võiks vaikimisi pakkuda tarnijaks seda, kelle käest viimati teda osteti.
- Kui artikkel ei ole näiteks aasta jooksul või muu pikema perioodi sees enne viimast mahakandmist liikunud, võiks näidata hoiatust, et võibolla ei ole seda enam vaja peale tellida.
Arved
Must have
- vastava kliendi allahindluse arvestamine lisatavatele artiklitele
- iseenesest mõistetavalt koguste järgi summade arvutamine
- laoseisust arvutatakse maha arvele pandud kogus
Nice to have
- kliendinumbri järgi kliendiandmetest arve koostamine (kliendi, nimi, aadress, talle antud maksetähtaeg jne)
- kui meie artiklite andmebaasis on olemas valitud artiklitele vastavad kliendi enda artiklinumbrid, siis koos meie numbritega kanda arvele ka kliendi numbrid. Nii on kliendil mugavam meie kaupa arvele võtta.
- kui arvele sisestatud artikli laoseis on väiksem sisestatud kogusest, ilmub selle kohta teade või muu märguanne, näiteks rida värvitakse punaseks ja pannakse reale ainult saadaolev kogus vms.
- Kui kliendil on võlgnevusi, siis ilmub kliendi numbri sisestamisel arve koostamisel hoiatus.
- kliendile saadetakse e-mailile tellimuse kinnitus
- teksitfaili kujul saadud kliendi tellimuse importimine ja arvele kandmine. Näiteks klient saadab tekstifaili sisuga
- kliendi artiklinr 1, kogus
- klielndi artiklinr 2, kogus
Kontaktid
Must have
- Tarnija või kliendi lisamine ja kustutamine nimekirja
Milliste osade realiseerimine võib osutuda problemaatiliseks
Üritasime hetketeadmistest lähtuvalt võimalikult objektiivselt analüüsida eri komponentide teostamise raskusastet. Leidsime, et kõik mis võib olla seotud arvete reporteerimise, e-mailile saatmise või dokumendi pdf kujule viimisega, samuti võimalusega trükkida välja arve kliendi artiklinumbritega võib osutuda mõnevõrra keerulisemaks. Sellest tulenevalt ka põhjus, miks antud komponendid on nice to have listis kuid võimaluse korral soovime nimetatud funtsionaalsuse kindlasti realiseerida.
Andmemudel
Vaata ka andmebaasi dokumentatsiooni: File:Teravc andmebaas.pdf
Prototüüp
31.10.2011 - Faas 1: Sobivate kasutajaliidese teekide valik
Võiks kaaluda WPF Ribbon ja Avalondock teekide kasutamist.
- Lae alla rakenduse installikas: Media:RibbonAndDock_2011-10-31.zip
- Lae alla rakenduse lähtekood (VS Projekt): Media:RibbonAndDock_VS_Solution_2011-10-31.zip
Ressursid
GUI
- WPF Ribbon 2010 download http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11877
- Võimaldab ilusat Office 2010 stiilis menüüriba
- Avalodock http://avalondock.codeplex.com/
- Võimaldab dokumendi aknaid hallata sarnaselt Visual Studioga kenade tab-idena
Andmebaas
- SQL Management Studio Express 2008 http://www.microsoft.com/download/en/details.aspx?id=7593
- TechWriter ® 2009 for Databases http://www.adivo.com/techwriter-for-databases.aspx