Meeskond "Symphony No. 7 in C-sharp minor"

From ICO wiki

Meeskonna liikmed

  • Mikhail Reznichenko
  • 10143193
  • 10090107
  • Alisa Dudinova

XML, XSD ja XSLT

XML koos skeemi ja transformatsioonidega on kättesaadav Google Drive'is.

XML-is käsitletakse kommunaalteenuste arvestite (vesi, elekter, gaas) näitude ajalugu majade ja nendes olevate korterite lõikes. HTML-i väljund kuvab korterite summeeritud tarbimist ja kommentaare arvestite staatuse kohta. Muudetud XML sisaldab ainult kõikide esimesel korrusel asuvate korterite elektri tarbimist, juhul, kui seal on olemas toimiv elektriarvesti.

Teenus ja klientrakendus

Analüüs

Teenuse ja klientrakenduse analüüs on kättesaadav Google Docs'is. Teenus ja klientrakendus põhinevad C# õppeaines tehtud töölaua rakendusel.

Üldkirjeldus

Teenus ja klientrakendus moodustavad koos kassasüsteemi, mida kasutatakse müügikohas puutetundliku ekraaniga tahvelarvutiga. Seda kasutab müügikoha töötaja, näiteks klienditeenindaja, kliendi soovide järgi toimingute tegemiseks, või administraator rakenduse kasutajate, toodete ja soodustuste haldamiseks.

Lõpptoote kasutusprotsess tavaliseks müügiks näeb välja alljärgnev:

  • Klient siseneb müügikohta ja kasutab kaardilugejaga oma RFID- või ID-kaarti. Klienditeenindaja näeb tahvelarvuti ekraanil RFID- või ID-kaardi andmeid ja vajutab uue sessiooni alustamise nupule.
  • Kui klient soovib tarbida teenuseid või osta tooteid, siis läheb ta kassa juurde ja kasutab kaardilugejaga uuesti RFID- või ID-kaarti. Klienditeenindaja näeb tahvelarvuti ekraanil RFID- või ID-kaardi andmeid ja saab kliendi arvele lisada soovitud tooteid või teenuseid.
  • Müügikohast lahkudes kordab klient oma RFID- või ID-kaardiga eelkirjeldatud protseduuri. Seejärel vajutab klienditeenindaja sessiooni lõpetamise nupule, mille järgselt koostatakse kliendile arve.

Struktuur

Lõpptoode koosneb järgnevatest osadest:

  • BL - äriloogika kiht;
  • BL.Test - ühiktestid;
  • Common - kasutatavad mudelid ja liidesed;
  • CardHelper - programm (Windows Forms) RFID või ID-kaartide lugemiseks, mille võib paigaldada eraldi arvutisse, mis on kaardilugejaga ühendatud, või samale puutetundliku ekraaniga tahvelarvutile, millelt kasutatakse veebirakendust;
  • WcfService - WCF teenus, mida klientrakendus kasutab andmebaasi asemel;
  • Web - klientrakendus WCF teenusele, mida kasutatakse müügikohas näiteks puutetundliku ekraaniga tahvelarvutil ja mida kasutavad müügikoha töötajad (klienditeenindajad, administraatorid) toimingute tegemiseks;
  • App - Universal App rakendus.

Kasutusjuhend

Lõpptoote kasutamiseks käivitada WcfService ja Web.

Klientrakendusse sisselogimine

Klientrakendusse sisenemiseks on töötajal võimalik kasutada kasutajanime ja parooli või kaardilugejaga oma ID/RFID-kaarti.

Müük

Müügifunktsionaalsuse kasutamine eeldab klientrakenduse kasutajalt töötaja õigusi. Müügi teostamine sisaldab kolme etappi: sessiooni alustamine, ostmine, sessiooni lõpetamine. Lisaks on võimalik vaadata aktiivsete sessioonide nimekirja.

Sessiooni alustamiseks:

  • Klient kasutab kaardilugejaga oma ID/RFID-kaarti.
  • Klienditeenindaja vajutab klientrakenduse peavaates sessiooni alustamise nupule ("play" ikoon), seejärel kuvatakse ID/RFID-kaardi andmed ning klienditeenindaja vajutab "Start session" nupule.

Ostmiseks:

  • Klient kasutab kaardilugejaga oma ID/RFID-kaarti ja ütleb klienditeenindajale soovitud toote.
  • Klienditeenindaja vajutab klientrakenduse peavaates "Shopping" nupule, seejärel kuvatakse kõik saadaolevad tooted ja teenused ning kliendi ID/RFID-kaardi andmed. Toodete arvele lisamiseks tuleb klienditeenindajal sellele vajutada. Arvelt eemaldamiseks tuleb allpool toodud nimekirjas uuesti toote nimele vajutada. Lisatud toodete kinnitamiseks tuleb vajutada "Proceed order" nupule.

Sessiooni lõpetamiseks:

  • Klient kasutab kaardilugejaga oma ID/RFID-kaarti.
  • Klienditeenindaja vajutab klientrakenduse peavaates sessiooni lõpetamise nupule ("stop" ikoon), seejärel kuvatakse kliendi tarbitud toodete ja teenuste nimekiri ning arve summa. Klienditeenindaja võtab kliendilt raha või teostab elektroonilise makse (ei ole implementeeeritud) ning vajutab nupule "Client paid", mis lõpetab sessiooni.

Aktiivsete sessioonide vaatamiseks:

  • Klienditeenindaja vajutab klientrakenduse peavaates nupule "Clients", misjärel kuvatakse kõigi aktiivsete klientide kaardiandmed.

Administreerimine

Administreerimisfunktsiooni kasutamine eeldab klientrakenduse kasutajalt administraatori õigusi.

Administraatoril on võimalik kasutajaid, tooteid ja soodustusi vaadata, lisada, muuta ja kustutada.

Toodete vaatamine, lisamine, muutmine ja kustutamine:

  • Administraator vajutab klientrakenduse peavaates "Products" nupule. Seejärel kuvatakse kõik saadaolevad tooted ja teenused.
  • Toote lisamiseks on nupp "Add product".
  • Toote muutmiseks on nupp "Edit product", mis eeldab, et enne tehakse toodete nimekirjas toode aktiivseks.
  • Toote kustutamiseks on nupp "Delete", mis eeldab, et enne tehakse toodete nimekirjas toode aktiivseks.

Soodustuste vaatamine, lisamine, muutmine ja kustutamine:

  • Administraator vajutab klientrakenduse peavaates "Discounts" nupule. Seejärel kuvatakse kõik olemasolevad soodustused koos vastavate toodetega, millele need rakenduvad.
  • Soodustuse lisamiseks tootele on nupp "Add discount".
  • Soodustuste muutmiseks on nupp "Edit discount", mis eeldab, et enne tehakse soodustuste nimekirjas soodustus aktiivseks.
  • Soodustuste kustutamiseks on nupp "Delete", mis eeldab, et enne tehakse soodustuste nimekirjas soodustus aktiivseks.

Kasutajate vaatamine, lisamine ja muutmine:

  • Administraator vajutab klientrakenduse peavaates nupule "Users". Seejärel kuvatakse kasutajate otsingu vaade.
  • Kõigi kasutajate kuvamiseks jätta kõik otsinguväljad tühjaks ja vajutada nupule "Find user".
  • Kasutaja andmete muutmiseks valida otsitud kasutajate nimekirjast üks kasutaja, mille peale avaneb muutmise vaade.
  • Kasutajate andmete lisamiseks vajutada nupule "Add".

Tehnoloogiad

Versioonikontroll

Lähtekood

Teenuse ja klientrakenduse lähtekood ZIP formaadis failina on Google Drive'is.

Meeskonna poolt koostatud retsensioonid

XML-i, XSD ja XSLT retsensioonid:

Veebiteenuse retsensioonid:

Klientrakenduse retsensioonid:

Logi

  • 06.03 - XML tooriku kirjutamine.
  • 19.03 - Meeskonna kohtumine, transformatsioonide ja skeemi kirjutamine.
  • 20.03 - XML ülesande failide lingi lisamine Wikisse.
  • 22.03 - XML ülesande retsensioonide kirjutamine.
  • 17.04 - Teenuse ja klientrakenduse analüüsi kirjutamine.
  • 29.05 - Teenuse ja klientrakenduse lähtekoodi ja kirjelduse lisamine Wikisse.
  • 08.06 - Teenuse ja klientrakenduse retsensioonide kirjutamine.