Pillarofautumn: Difference between revisions
Line 77: | Line 77: | ||
==Retsensioonid== | ==Retsensioonid== | ||
Retsensioonid tegime Meeskonna VariousArtist kohta. Seda nii XML kui veebi- ja klientrakenduse kohta.<br> | Retsensioonid tegime Meeskonna VariousArtist kohta. Seda nii XML kui veebi- ja klientrakenduse kohta.<br> | ||
''XML''<br> | '''XML'''<br> | ||
VariousArtist meesokonna poolt loodud XML vastab ettenähtud tingimustele. Tagatud on minimaalse nõude kohane rohkem kui neli dimensiooni ning vähemalt kolmel neist leidub rohkem kui ID attribuut. | VariousArtist meesokonna poolt loodud XML vastab ettenähtud tingimustele. Tagatud on minimaalse nõude kohane rohkem kui neli dimensiooni ning vähemalt kolmel neist leidub rohkem kui ID attribuut. | ||
Täpsemalt siis book, author ja category vastavalt viie, kahe ja kahe atribuudiga. Tagide vaheliste väärtuste kandmiseks on kasutatud CDATA, mis garanteerib, et seal asuvat väärtust ei loeta kui | Täpsemalt siis book, author ja category vastavalt viie, kahe ja kahe atribuudiga. Tagide vaheliste väärtuste kandmiseks on kasutatud CDATA, mis garanteerib, et seal asuvat väärtust ei loeta kui | ||
Line 83: | Line 83: | ||
laiust näitavaks tähiseks. | laiust näitavaks tähiseks. | ||
''XSD'' <br> | '''XSD''' <br> | ||
dokumentloob vajaliku XML-i. Erinevate väljade puhul on määratud kohustuslikus või valikuline (required/optional).Üldoontes näeb viisakas välja, on korralikult tabuleeritud | dokumentloob vajaliku XML-i. Erinevate väljade puhul on määratud kohustuslikus või valikuline (required/optional).Üldoontes näeb viisakas välja, on korralikult tabuleeritud | ||
ning karjuvaid vigu retsenseerija ei leidnud. | ning karjuvaid vigu retsenseerija ei leidnud. | ||
''XSLT'' | '''XSLT''' | ||
==XML== | ==XML== |
Revision as of 16:05, 10 June 2018
Meeskonnaliikmed
- Taavi Põder
- Raido Vell
- Taavi Vesinurm - [RIP]
Team Foundation Version Control: [[1]]
Analüüs
Antud projekti korral on tegemist arsti visiitide registreerimise süsteemiga, mille erinevateks kasutajateks on siis arstid ja nende patsiendid. Süsteem võimaldab patsiendil valida arsti ning registreerida aeg, kui see pole varasemalt juba võetud. Registreerimine on võimalik anonüümselt ilma kontot omamata. Samas on võimalik luua konto, et näha endaga seotud varasemaid arstile pöördumisi, ning konkreetse visiidiga seotud arsti poolseid tähelepanekuid.
Kasutajad
- Arstid
- Kliendid
Funktsionaalsus
Must have:
CRUD:
- Visiidi loomine
- Visiidi vaatamine
- Visiidi muutmine
- Visiidi kustutamine
- Kasutaja loomine
- Kasutaja vaatamine
- Kasutaja muutmine
- Kasutaja kustutamine.
- Protseduuri ...
- Kliiniku ...
- Visiidi tüübi ...
Otsin:
- Kasutaja nime järgi (1)
Statistika:
- Sisselogimiste koguarv
- Kasutaja visiitide koguarv
- Kasutaja aktiivsete visiitide koguarv
Registreermise nõuded:
- Visiidi aeg on 30 minutit.
- Topelt broneeringuid ei ole.
- Visiitide ajad jäävad 10:00-16:00, esmaspäevast reedeni.
- Visiidi aeg ei tohi olla minevikus.
- Arstide valik on drop down menüüs.
Turvalisus:
- Andmebaasi väljade omavad piiranguid.
- Andmebaasi pöördumised on piiratud.
Nice to have:
Teavitused:
- Tervitus sõnum esmase sisselogimise korral.
- Teavitus sõnum korduval sisselogimisel.
- Teavitused tulevasest visiidist.
- Teavitus kustutatud visiidist.
- teavitus uue visiidi loomisest.
- Valik saada teavitusi.
Statistika:
- Ära olnud visiitide arv.
Integratsioon:
- Google kalender sync.
CRUD:
- Kasutaja saab muuta Kasutaja visiidi aegu.(2)
(1) - Kasutaja visiitide otsingud nii arsti kui tavakasutaja nime järgi.
(2) - Arstil on võimekus muuta tavakasutaja aegu.
Andmemudel
Retsensioonid
Retsensioonid tegime Meeskonna VariousArtist kohta. Seda nii XML kui veebi- ja klientrakenduse kohta.
XML
VariousArtist meesokonna poolt loodud XML vastab ettenähtud tingimustele. Tagatud on minimaalse nõude kohane rohkem kui neli dimensiooni ning vähemalt kolmel neist leidub rohkem kui ID attribuut.
Täpsemalt siis book, author ja category vastavalt viie, kahe ja kahe atribuudiga. Tagide vaheliste väärtuste kandmiseks on kasutatud CDATA, mis garanteerib, et seal asuvat väärtust ei loeta kui
XML markup-i isegi kui ta selline välja näeb. Antud faili piires retsenseerija ei leidnud konkreetset väärtust, mida võiks segamini ajada XML-i markupiga. Seega jääb CDATA antud juhul silmaringi
laiust näitavaks tähiseks.
XSD
dokumentloob vajaliku XML-i. Erinevate väljade puhul on määratud kohustuslikus või valikuline (required/optional).Üldoontes näeb viisakas välja, on korralikult tabuleeritud
ning karjuvaid vigu retsenseerija ei leidnud.
XSLT
XML
XML XML näidise lõime 1 visiidi näitel. Illustreerivatel eesmärkidel, ei hakanud duubeldama.
<?xml version="1.0" encoding="utf-8"?>
<Appointments>
<Appointment id="1" app_date="05/01/2018" length="00:30">
<appointment_type id="1">
<name>Esmakordne visiit</name>
<description>Suuõõne ülevaatus ja konsultatsioon.</description>
</appointment_type>
<person1 id="1" citizen_id="32554694115" >
<firstname> James </firstname>
<surname> Bond </surname>
<middlename></middlename>
<Contacts>
<Contact id="1" type="phone" value =""></Contact>
<Contact id="2" type="email" value ="J.Bond@SIS.uk"></Contact>
<Contact id="3" type="address">
<address>
<city>London</city>
<street>Whitehall</street>
<house> 25 </house>
<apartment> 5 </apartment>
</address>
</Contact>
</Contacts>
</person1>
<person2 id="2" citizen_id="36522141652" >
<firstname> Frederick </firstname>
<surname> Aldeman </surname>
<middlename>Ender</middlename>
<Contacts>
<Contact id ="1" type="phone" value=""></Contact>
<Contact id="2" type="email" value="F.E.Aldeman@gmail.com"></Contact>
<Contact id="3" type="Address">
<address>
<city> Wyoming </city>
<street>Elm street</street>
<house> 112 </house>
<apartment> 5 </apartment>
</address>
</Contact>
</Contacts>
</person2>
</Appointment>
</Appointments>
XML Schema
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Appointments">
<xs:complexType>
<xs:sequence>
<xs:element name="Appointment">
<xs:complexType>
<xs:sequence>
<xs:element name="appointment_type">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="description"/>
</xs:sequence>
<xs:attribute type="xs:int" name="id" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="person1">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="firstname"/>
<xs:element type="xs:string" name="surname"/>
<xs:element type="xs:string" name="middlename"/>
<xs:element name="Contacts">
<xs:complexType>
<xs:sequence>
<xs:element name="Contact" maxOccurs="unbounded" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="address" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="city"/>
<xs:element type="xs:string" name="street"/>
<xs:element type="xs:float" name="house"/>
<xs:element type="xs:float" name="apartment"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="id" use="optional"/>
<xs:attribute type="xs:string" name="type" use="optional"/>
<xs:attribute type="xs:string" name="value" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="id" use="required"/>
<xs:attribute type="xs:long" name="citizen_id"/>
</xs:complexType>
</xs:element>
<xs:element name="person2">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="firstname"/>
<xs:element type="xs:string" name="surname"/>
<xs:element type="xs:string" name="middlename"/>
<xs:element name="Contacts">
<xs:complexType>
<xs:sequence>
<xs:element name="Contact" maxOccurs="unbounded" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="address" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="city"/>
<xs:element type="xs:string" name="street"/>
<xs:element type="xs:float" name="house"/>
<xs:element type="xs:float" name="apartment"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="id" use="optional"/>
<xs:attribute type="xs:string" name="type" use="optional"/>
<xs:attribute type="xs:string" name="value" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="id" use="required"/>
<xs:attribute type="xs:long" name="citizen_id"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="id" use="required"/>
<xs:attribute type="xs:string" name="app_date" use="required"/>
<xs:attribute type="xs:string" name="length" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Muudatused
Wiki lehe struktuur 31.03.18 12:00
Analüüsi Must ja nice to have funktsionaalsus 31.03.18 16:00
Funktsionaalsuse täiendus 17.04.18 21:00
XML example 05.06.18 19:00
XSD example 05.06.18 20:00