Specs - AxeWorks/SchedulerStudio GitHub Wiki
Harjoitustyön käyttötarkoitus
Harjoitustyön on määrä toimia kampaajilla varausjärjestelmänä asiakkaiden tietojen ja varausten hallinnointiin.
Toiminnot
Järjestelmän on tarkoitus voida muokata ja katselmoida asiakkaiden, työntekijöiden ja ajanvarausten tietoja.
Feature Lista
1: pakollinen core-ominaisuus arvostelua varten, täytyy olla valmiina. 2-6: valmiiseen tuotteeseen tulevat ominaisuudet tärkeysjärjestyksessä. Arvostelun kannalta "jos jää aikaa".
| Prioriteetti | Ominaisuus |
|---|---|
| 1 | Pääikkunan pohja |
| 1 | Työntekijäikkuna |
| 1 | Työntekijän lisäys, muokkaus ja poisto |
| 1 | Dynaamisesti luodut työntekijänäkymät tabeina |
| 1 | Tabeissa varauksen lisäys, muokkaus ja poisto |
| 1 | Datan tallennus SQLite tietokantaan |
| 2 | Sisään- ja uloskirjaus |
| 2 | Kaikki varaukset-näkymä |
| 3 | Muistio-ikkuna |
| 4 | Help-button toggle ja help tooltipit |
| 5 | Back upin luonti ja tallennusdialogi |
| 6 | Kielenvaihto |
Mockup hahmotelma
Teknologiat
Ohjelmiston ulkoasu suunnitellaan WPF:ää käyttäen. Kaikki toiminnallisuus tehdään C# kieltä käyttäen ja tietovarastointi tehdään SQLiteä käyttäen. SQLite on siis ainoa käyttöympäristöön ulkoa tuotu teknologia. WPF:n ja C#:n ollessa itsestäänselviä, SQLite oli harkittu valinta ohjelmiston käyttöluonteen vuoksi. Projektista rajattiin pois verkon yli tapahtuvat tietokantayhteydet, resurssien puutteen takia. Jos ohjelmalla haluaisi joskus olevan kaupallista käyttöä, oli ohjelma sunniteltava resurssit huomioon ottaen. Koska meillä ei olisi retail versiota varten luotettavasti MySQL serveriä, eikä suurien tietokantamoottorien asentaminen tuntunut luontevalta ratkaisulta, päädyimme helppokäyttöiseen SQLiteen, jonka käyttö ei edellytä asennuksia ja joka voidaa kuljettaa projektin asennuksen mukana helposti.
Projektissa pyrimme toteuttamaan normaalia 3-kerros arkkitehtuuria.
C#:n tekniikoista käytämme ainakin tietokantayhteydelle ominaisia funktioita ja datatyyppejä, databindingeja, DataGridejä, try catch-rakennetta, using-rakennetta, olio-rakenteita ja-tai staattisia luokkia, partial-classeja.
Tietokanta
Tiedot tallennetaan SQLite-kantaan kolmeen tauluun, jotka sisältävät oleellisen datan varauksista, työntekijöistä ja asiakkaista.
Kirjastot
Jotta SQLitea voidaan käyttää WPF:ssä, tarvitaan erillinen kirjasto.