Demo Wachtlijst applicatie

12
Wachtlijst applicatie Demonstratie context en doel van de applicatie ontwerp en eindresultaat implementatie Auteur: Maarten Zuur Datum: 6 Oktober 2015

Transcript of Demo Wachtlijst applicatie

Page 1: Demo Wachtlijst applicatie

Wachtlijst applicatie

Demonstratie context en doel van de applicatie ontwerp en eindresultaat implementatie

Auteur: Maarten ZuurDatum: 6 Oktober 2015

Page 2: Demo Wachtlijst applicatie

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

Page 3: Demo Wachtlijst applicatie

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)

Page 4: Demo Wachtlijst applicatie

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).

Page 5: Demo Wachtlijst applicatie

Sequence diagramProgramma flow voor use case ‘UpdateVluchten’

Page 6: Demo Wachtlijst applicatie

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

Page 7: Demo Wachtlijst 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:

Page 8: Demo Wachtlijst applicatie

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

Page 9: Demo Wachtlijst applicatie

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:

Page 10: Demo Wachtlijst applicatie

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

Page 11: Demo Wachtlijst applicatie

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)

Page 12: Demo Wachtlijst applicatie

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