Demo Wachtlijst applicatie
Transcript of Demo Wachtlijst applicatie
Wachtlijst applicatie
Demonstratie context en doel van de applicatie ontwerp en eindresultaat implementatie
Auteur: Maarten ZuurDatum: 6 Oktober 2015
Introductie
Deze Wachtlijst applicatie is een vereenvoudigde versie van een bestaande applicatie. Het programma opent of sluit de wachtlijst voor een vlucht. Dit gebeurt op basis van een plafond (ingesteld door analisten) en het actuele aantal wachtlijst boekingen op de vlucht.
Plafond voor de lengte van de wachtlijst
Lange wachtlijst betekent meer kosten en kleinere kans op confirmatie
Overzicht
De Wachtlijst applicatie is verbonden met een UserInterface en het InventorySysteem
Actuele gegevens inlezen (lengte van de wachtlijst en ceilings)De WL applicatie bekijkt de vluchten en zet de closure updates klaarDe closure updates worden aan het InventorySysteem doorgegeven
(UserInterface en InventorySysteem zijn geen onderdeel van dit project)
Class diagram
De applicatie is opgebouwd uit deze klassen:– VluchtenProvider levert een lijst met Vluchten– ClosureCheck bekijkt elke Vlucht en bepaalt of de closure moet worden geupdate– VluchtUpdate zet de closure updates klaar.
Alle invoer en uitvoer zijn flatfile Bestanden (grijze kader).
Sequence diagramProgramma flow voor use case ‘UpdateVluchten’
Data interfaces
De invoer en uitvoer zijn allemaal flatfiles.Flatfiles staan in 1 folder (bestandenMap) voor overzicht en gemak tijdens testen.
Invoer
Schema.txtInventory.txt
Beschrijving
Flatfile met alle vluchtenInventory gegevens van elke vlucht, zoals de ceiling
Uitvoer
Update.txtUitzondering.txtLog.txt
Beschrijving
Flatfile met closure updatesVluchten of invoer gegevens die niet kunnen worden verwerktLogbestand van de applicatie
Actuele gegevensIn Schema.txt staan alle vluchten met id, vluchtnummer, vertrekdatum, route:
id,ceiling,reservering,closure1,20,3,02,20,21,03,20,1,057,20,0,158,20,0,159,20,37,0
id,label,route1,ML11/15apr12,AMS-MIL2,ML11/16apr12,AMS-MIL3,ML11/17apr12,AMS-MIL57,ML12/15apr12,MIL-AMS58,ML12/16apr12,MIL-AMS59,ML12/17apr12,MIL-AMS
In Inventory.txt staat van elke vlucht (id) de ceiling, actuele wachtlijst lengte en huidige closure:
LogIn Log.txt staan de voortgang en aantal afgehandelde vluchten:
Applicatie gestart 2015/07/01 12:38:02Start verzamel vluchtenVluchtenProvider heeft 22 vluchten gelezenEinde verzamel vluchtenStart toon vluchtLijstVlucht : 1 ML11/15apr12 AMS-MIL CT: 20 3 HBN: false false falseVlucht : 2 ML11/16apr12 AMS-MIL CT: 20 21 HBN: false false falseVlucht : 3 ML11/17apr12 AMS-MIL CT: 20 1 HBN: false false falseVlucht : 57 ML12/15apr12 MIL-AMS CT: 20 0 HBN: true false falseVlucht : 58 ML12/16apr12 MIL-AMS CT: 20 0 HBN: true false falseVlucht : 59 ML12/17apr12 MIL-AMS CT: 20 37 HBN: false false falseEinde toon vluchtLijstStart ClosureCheckClosureCheck heeft 22 vluchten bekekenEinde ClosureCheckStart VluchtUpdateVluchtUpdate heeft 11 vluchten geschrevenEinde VluchtUpdateApplicatie succesvol gesloten 2015/07/01 12:38:02
Applicatie output
Inventory : Geen gegevens gevonden Vlucht : 263 ML591/10oct12 AMS-JNB CT: 0 0 nullInventory : Geen gegevens gevonden Vlucht : 264 ML592/10oct12 JNB-AMS CT: 0 0 null
ML12/16apr12 MIL-AMS falseML12/17apr12 MIL-AMS trueML61/21jan12 AMS-BRU trueML537/7jun12 AMS-JNB false
In Update.txt staat de vlucht en nieuwe waarde voor closure,dit bestand kan door het InventorySysteem worden ingelezen:
In Uitzondering.txt de exceptions die de applicatie (zelf) opgooit, de beheerder kan dit bestand raadplegen:
Java klassenKorte beschrijving van de belangrijkste klassen
model
VluchtSchemaClosure
beschrijving
Unieke vlucht (met id, wachtlijst lengte, ceiling)Schema gegevensClosure gegevens (huidig, benodigd, nieuw, update)
control
VluchtenProviderVluchtenProviderFlatfileClosureCheckVluchtUpdateControl
beschrijving
Java interface die een lijst met Vluchten levertEen implementatie van VluchtenProvider interfaceKlasse die een Vlucht bekijktKlasse die de update van een Vlucht aanmaaktAlgemene klasse die de programma flow coördineert
boundary
BestandInvoerBestandUitvoerBestand
beschrijving
Parent klasse voor een flatfileKlasse voor het lezen van een flatfileKlasse voor het schrijven naar een flatfile
TechniekDe applicatie is gebouwd met:
Java, NetBeans, eenvoudige Maven structuurFlatfile invoer en uitvoerExceptions voor invoer uitzonderingen en ‘vreemde’ waardenTestcases met JUnit (voor klassen van model, control, UitvoerBestand en Exceptions)
Design goals tijdens bouw:flexibel voor invoer en uitvoereenvoudiguitbreidbaar (web interface voor ceilings, extra logica voor closures)minder prio voor data dimensies (cabines, multileg)
SamenvattingDe Wachtlijst applicatie is gebaseerd op een bestaande applicatie.
Bekijkt de vluchten en vergelijkt de ceilings met het aantal wachtlijst boekingenBepaalt welke vluchten een closure update moeten krijgenInvoer en uitvoer in flatfile formaatFlexibel en uitbreidbaar
Maarten Zuur
www.linkedin.com/in/maartenzuur