CSharp2012 Kontaktid

From EIK wiki

Projekt Kontaktid

Eesmärk on koostada rakendus kontaktide haldamiseks.

EIKi kodutöö ainesProgrammeerimine C# keeles.


Analüüs

Süsteemil on ainult üks kasutaja roll, Kasutaja kes saab programmi käivitada.

Kasutuslood

(User Stories)

Rakenduse avanud Kasutaja soovib:

  1. salvestada infot kontaktide (isikute) kohta;
  2. lisada/salvestada kontakti (isiku) erinevaid, piiramata hulgal kontaktandmeid(skype, mail, jne);
  3. vaadata salvestatud kontaktide (isikute) andmeid;
  4. vaadata salvestatud kontaktide (isikute) kontaktandmeid;
  5. lisada kontaktiliike;
  6. kustutada kontakti (isiku) andmeid;
  7. muuta kontakti (isiku) andmeid;
  8. kustutada kontakti (isiku) olemasolevaid kontaktandmeid;
  9. muuta kontakti (isiku) olemasolevaid kontaktandmeid;
  10. otsida kontakti (isiku) eesnime või perenime järgi;
  11. otsida konkreetse kontaktiliigi järgi. (a'la skype: minamait);

Lisa võimalused (nice to have)

  1. lisada/salvestada kontakti (isiku) asukoht kaardil (koordinaatpunkt);
  2. vaadata kontakti (isiku) asukohta kaardil;
  3. muuta kontakti (isiku) asukohta kaardil;
  4. kustutada kontakti (isiku) asukoht kaardil.


Mittefunktsionaalsed nõuded

Andmebaasist füüsiliselt ühtegi kirjet ei kustutata.

Andmeid hoitakse MS SQL andmebaasis.

Rakendus programeeritakse C# keeles .NET raamistikul.

Kaardiosa realisatsioon Bing maps.


Ajakava

(Planeeritud tähtajad)

9.04.13 Analüüs

10.04.13 Prototüüp

12.04.13 Valmis lahendus

15.04.13 10:00 Lisa funktsionaalsus

Töökäik

Algselt seatud ajakavast täpselt kinni pidada ei õnnestu. 12.04 seisuga valmis põhifunktsionaalsusega prototüüp ning 14.04 jõudis projekt stabiilse tooteni, kuid osa funktsionaalsusest vajaks parandamist.


Prototüüp ja lõpptoode erinevad üksteisest oluliselt. Prototüüp oli tegelikult eraldi projekt, milles testiti erinevaid võimalusi kasutajaliidese paremaks disainiks.


Prototüübi Visual Studio projekti failid leiab siit KontaktidProto . Rakenduse tööks vajaliku andmebaasi loomiseks leiab failid VS projekti kataloogist SQL.


Arenduse käigus kasutati Team Foundation Service'st koodi halduseks, seal on näha ka töö areng. Kahjuks ei võimalda TFS info avalikku esitlust (või ei oska?).


Lõpplahenduse loomisel sai olulist tähelepanu pööratud kasutajaliidese lihtsusele. Eesmärk oli, et rakendust saaks kasutada intuitiivselt, ilma juhenditeta.

Lahenduse väljatöötamise üldine järjekord:


  1. Andmemudeli koostamine andmebaasi loomine;
  2. Kasutajaliidese üldise kontseptsiooni loomine;
  3. Rakenduse loomine, funktsionaalsus loodi kasutuslugudes toodud järiekorras;
  4. Lisafunktsionaalsuse lisamine (nice to have – kaart)
  5. Kasutajaliidese mugavamaks muutmine (kiirkäsud klaviatuurilt jne), veahalduse parandused, testimine.

Tulemus

Lõpplahendus VS projekt Kontaktid

Rakendus Kontaktid, eeldab endiselt, et andmebaas KontaktidDB on olemas ning connectionString failis Kontaktid.exe.config viitab sellele.

Windowsi kasutajal peavad olema lugemis- ja kirjutamisõigus KontaktidDB andmebaasis. Andmebaasi KontaktidDB saab luua SQL failide abil, mis on kaasas failis Kontaktid_Release.zip