Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman...

6
Software Software Specification Specification Assignment 1 Assignment 1 Travel planner Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof

Transcript of Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman...

Page 1: Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof.

Software Software SpecificationSpecificationAssignment 1Assignment 1

Travel plannerTravel planner

Merijn Bellekom

Vassilis Boucharas

Ard Bahlman

Martijn Nijenhof

Page 2: Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof.

IntroductionIntroduction

• InputInput• RestrictionsRestrictions• Problem descriptionProblem description

• QuestionsQuestions

Page 3: Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof.

InputInput

• User input consists solely ofUser input consists solely of– Departure location ADeparture location A– Destination location BDestination location B– Arrival time TArrival time T

• T is the latest time the user wants to T is the latest time the user wants to arrive at Barrive at B

• Database inputDatabase input– Hop schemesHop schemes

Page 4: Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof.

RestrictionsRestrictions

• Standard user input validationStandard user input validation– A != BA != B– Arrival time must be in the futureArrival time must be in the future– A and B must existA and B must exist

• Timestamps should be unambiguousTimestamps should be unambiguous– Time zones, spanning multiple days, DSTTime zones, spanning multiple days, DST

• No double hops or looping routesNo double hops or looping routes– Unique hops within travel planUnique hops within travel plan

• In case of multiple optimal routes, pick firstIn case of multiple optimal routes, pick first• Avoid excessive lag between user input and Avoid excessive lag between user input and

system outputsystem output

Page 5: Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof.

Problem descriptionProblem description• T = arrival time as user inputT = arrival time as user input• Hop = (departure location, arrival location, departure Hop = (departure location, arrival location, departure

time, arrival time)time, arrival time)• Travel plan = list of hops. for which it holds that:Travel plan = list of hops. for which it holds that:

– If there is more than one hop:If there is more than one hop:• every non-first hop’s departure location = previous hop’s arrival every non-first hop’s departure location = previous hop’s arrival

location and is connected to the next hop in the listlocation and is connected to the next hop in the list• every non-first hop’s departure time = previous hop’s arrival time every non-first hop’s departure time = previous hop’s arrival time

and is connected to the next hop in the list (instantaneous)and is connected to the next hop in the list (instantaneous)• A location might at most occur twice in the travel plan and if it A location might at most occur twice in the travel plan and if it

does, it should be one time a departure location and the other does, it should be one time a departure location and the other time a arrival location. (no looping)time a arrival location. (no looping)

• Feasible Travel Plan = Travel plan for which arrival time of Feasible Travel Plan = Travel plan for which arrival time of the last hop is before or on time T .the last hop is before or on time T .

• Optimal Travel Plan = Feasible Travel Plan that has the Optimal Travel Plan = Feasible Travel Plan that has the shortest total travel time and the latest arrival time.shortest total travel time and the latest arrival time.

• Output = List of Feasible Travel Plans ordered ascending Output = List of Feasible Travel Plans ordered ascending by total travel time and secondly on latest arrival time by total travel time and secondly on latest arrival time descending.descending.

Page 6: Software Specification Assignment 1 Travel planner Merijn Bellekom Vassilis Boucharas Ard Bahlman Martijn Nijenhof.

QuestionsQuestions