|
|
Ariadne - Technical description
Description
5.1. Veronderstellingen en uitgangspunten
1. Ontwikkelomgeving voor Ariadne is MS Access 8 (Office 97). Er is hiervoor
gekozen, omdat dit het platform is waar de meeste mensen wel aan kunnen
komen. Andere platformen ( bijv. Oracle, Object brokers, etc. ) zijn duurder,
moeilijker aan te komen, en vragen specialistischer kennis. Voor de omvang
van het aantal gegevens en het aantal gelijktijdige gebruikers lijkt MS-Access
toereikend. Nadelen zijn dat het niet een open omgeving is waar een ieder
vanuit zijn eigen favoriete ontwikkelomgeving modules aan kan koppelen.
Het is niet porteerbaar (bijv. naar Linux). Als je wilt porteren, dan
kan de database-access via SQL-queries nog vrij gemakkelijk geporteerd
worden. Alle schermen en reports zijn niet porteerbaar, en moeten in de
nieuwe omgeving opnieuw gebouw worden. Te aanzien van record locking en
backtracking (undo van databasetransakties) is MS-Access niet sterk. Bij
het ontwerp moet met deze beperkingen rekening gehouden worden. (Dit houdt
in: geen onafhankelijke mutatiefuncties op een tabel die real-time kritisch
gebonden is)
2. Het database ontwerp van [ref. 2] wordt geimplementeerd. De tabellen
van dit databaseontwerp zijn verdeeld over drie databases: Ariadne-main,
Current-competition en Ariadne-history. De voorwaarde is dat deze drie
databases bij elkaar in één directory staan. Bij het opstarten
van het Ariadne systeem worden de koppelingen tussen de databases ververst.
3. Tabel Startnummers (T050-Starting-number) kan via een directe query
onderhouden worden.
4. Tabel T060-Country-code is handmatig gevuld met de voorkomende landennamen
en bijbehorende ISO-2 landencodes. Voor deze tabel wordt in het prototype
geen onderhoudsfunctie geschreven.
5. De tabel Status type (T020-status-type) is handmatig ingevuld. Er wordt
geen onderhoudsfunctie voor geschreven.
6. De tabel Rol type (T030-Role-type) is handmatig ingevuld. Er wordt
geen onderhoudsfunctie voor geschreven.
7. De tabel CU-type (T031-CU-type) is handmatig ingevuld. Er wordt geen
onderhoudsfunctie voor geschreven.
8. De tabel Gender (T033-Gender) is handmatig ingevuld. Er wordt geen
onderhoudsfunctie voor geschreven.
9. (09-04-01)De tabel T510-Run wordt beperkt dat deze per startnummer/serienummer
0 of 1 record bevat. Dit betekent dat in T510 geen eventhistorie wordt
bijgehouden. Oorspronkelijk was dit wel het uitgangspunt, maar het compliceert
de eventverwerking uit het T600-event-buffer nodeloos. (Met name als het
eventbuffer opnieuw verwerkt moet worden in T510). De eventhistorie van
een startnummer is ook beschikbaar in het T600-event-buffer, en kan daar
eventueel gemakkelijk uitgefilterd worden.
10. De tabel Boat-type (T032-Boat-type) is handmatig ingevuld. Er wordt
geen onderhoudsfunctie voor geschreven.
11. De tabel Age-class (T044-Age-class) is handmatig ingevuld. Er wordt
geen onderhoudsfunctie voor geschreven.
12. De tabel T870-Ranking-scale is onderdeel van de de Ariadne-history
database.
13. De tabel T880-Start-interval is onderdeel van de de Ariadne-history
database.
14. De tabel T081-SI-temp is een tijdelijke tabel voor het berekenen van
het startinterval. Deze tabel wordt na het berekenen niet verwijderd.
(Daar is geen noodzaak toe, en het maakt de individuele startintervallen
zichtbaar).
15. De tabel T520-Archived-result is onderdeel van de de Ariadne-history
database.
16. De tabel T100-Slalom-competition is per 3.30 verhuisd naar Ariadne-history
als T101-Slalomcompetition, en kan nu gegevens van meer wedstijdevenementen
bevatten. In Ariadne komt daarvoor in de plaats T100-Current-competition,
dat de gegevens bevat van het huidige wedstrijdevenement.
17. De tabel T530-Gate-negotiation wordt gedenormaliseerd, zodat er 23
poortjes in één record voorkomen. Dit is handiger in de
verwerking. Het denormaliseren levert hier geen problemen op, omdat de
tabel aan de rand van het model zit, en alle poortjes steeds bij elkaar
behandeld moeten worden.
5.2. Invoeren na-inschrijvingen
Voor het vastleggen van de na-inschrijvingen tijdens de wedstrijdbespreking
wordt de Ariadne database naar een PC (liefst Laptop) bij de wedstrijdbespreking
gekopieerd. De na-inschrijvingen worden al liefst voor de wedstrijdbespreking
ingevoerd. Tijdens de wedstrijdbespreking worden de startnummers toegekend.
Die kunnen on line tijdens de wedstrijdbespreking worden overgenomen.
Het vraagt wat afspraken met de voorzitter van de wedstrijdbespreking,
om on line alle wijzigingen tijdens de wedstrijdbespreking direct in te
kunnen tikken.
5.3. Database performance en record locking
Teneinde de database performance maximaal te hebben, en het probleem van
record locking te minimaliseren, worden MS-Access queries voor reports
en voor picklists in dropboxes als 'snapshot' aangemaakt. Snapshots worden
niet dynamisch gewijzigd, indien de onderliggende database tabellen wijzigen.
Queries waarop mutaties aangebracht kunnen worden, wordenals 'dynaset'
aangemaakt.
5.4. Graphical User Interface (GUI)
Het is gewenst om afsluitfuncties zoveel mogelijk expliciet te maken.
D.w.z. met knoppen 'OK', 'Sluiten', 'Cancel' e.d. Het is niet vanzelfsprekend
dat je een scherm sluit met het X-tje rechtsboven. Bovendien is dan de
sluitstatus niet helder: Wordt wel of niet geupdated ? Als je het gedrag
van MS-Access kent, zijn de huidige schermen weliswaar voldoende, maar
niet iedereen heeft die Access-kennis, en dan is bij het ontbreken van
de betreffende knoppen niet duidelijk hoe het scherm verlaten moet worden.
Change history
| date |
version |
change |
| 01-10-02 |
1.5 |
Ariadne 4.1, text converted to html |
|