Assessment Task:
The London underground is a rapid transport system serving Greater London. Different charges apply depending upon the time of day (peak and off peak), on the day of the week (e.g. weekends and bank holidays are off peak) and the number of zones travelled. Tickets are issued which allow travel within1,2,3,4,5 or 6 zones. The number of zones travelled depends on the start and end destination. All charging rates are subject to review and the ticket machines must regularly download their ‘rate schedule’ from a central server. Each ticket machine is identified by an ID number and will download its rate schedule based upon its ID. Customers (i.e. passengers) must purchase a ticket for the journey before they depart. They can only use credit cards with ‘touch and go’ for payment (i.e. no pin required). Credit cards transactions are validated against a bank service andif approved, a ticket for the duration and destination should be issued. Customers can use their ticket to enter and exit the system using ticket gates. You are required to create a ticketing system consisting of a Controller, Ticket
A-Plus Writing Help For University Students
Get expert assistance in any academic field. All courses and programs covered.
Get Help Now!Machines and Gates which allow:
Station managers to use the controller to add new ticket machines and gates to the system at given stations. Station managers to use the controller to create time schedules which set the charging scheme for ticket machines in the system. Ideally, they would use a GUI to modify these schedules. Users to select their origin and destination stations and calculate the charge based upon the day of the week, time of day and number of zones travelled. The machine should issue a ticket with a validity time, allowed zones and price and a validation code which checks the ticket is valid. Users to validate their ticket at gates on gated entry and exit using the validation code (to simulate the ticket reader). If the validation code, time and zone do not match the ticket should be rejected.
Consider the following features in the development of the system:
(a) Central Controller Service:
Use a java ReST technology (e.g. JAX-RS/Jersey) to implement a simple central schedule server. Ticket machines should request the schedule for their location based upon their ID. As a minimum, the manager should be able to provide an xml file with the stations, zones and schedule for the system. However for more credit you may implement a web UI to modify the central schedules.
b) Ticket machine:
Use a Java Web Technology (e.g.JSP/Tomcat) to implement the ticket machine.
The ticket should on a regular cycle use a ReST service to request an updated charging schedule. This information should be persisted locally.
The ticket machine should show the destination stations and allow the
user to select a destination. The ticket machine should show the total price for the journey selected and allow the user to present a credit card. (You may enter the number in your demo. There is no need to simulate the bank transaction.) All transactions and tickets issued should be logged in a separate transaction log Each ticket should have a unique id, date of issue number of zones and duration and should be displayed for the user.
(c) Gate Service:
The gate service simulates a gate card reader. Use a single JSP to allow entry of a ticket validation code and details. If ticket is valid, in the valid time period and for the correct zone, the gate should open. Design Process Requirements
(a) Use Cases and Test plan:
You should document use cases for each actor in your system. These use cases should also be reflected in any integration and unit tests you create for your design. You should create a simple test plan (which can be manually performed) which illustrates the correct functioning of your use case. You will be asked to perform a selection of these tests as part of your presentation of your system.
(b) Model:
You should construct a model for your system documenting the core data types and interfaces you will need to implement for each component. Ideally you should use this model to generate the key interfaces and data elements but even if this is not possible, your programmatic elements should correspond closely to the model you have created.
(c) Data Flow diagrams
You should draw data flow diagrams to document how data is passed between the entities in your system including external entities such as the bank.
(d) Implementation:
You may use the skeleton multi module maven project introduced in class to give your project structure.
You should provide unit tests for each layer/module in your design
You should use a logging framework to help with debugging
You should document all your classes with Javadoc
(e) Packaging and Handing:
Submit your code and your report in a zip file on SOL BEFORE the submission date All of your submitted code must be maintained in a project on Github. You MUST TAG your code using Git on Github as a submitted releaseand you must submit the tagged version on SOL. You should apply an appropriate open source licence and copyright to all of your code You should include instructions for a user to build and run and use your submission. You should include documentation describing the key features of your solution
(f) Report:
Your analysis, design, testing and code artefacts must be accompanied by a report. This should include discussion of the following (half a page to a page for each – I am not looking for reams and reams of text!): Decisions you made when drawing up your domain model and usecase texts Any decisions made when drawing up your diagrams Detail on places where your code did not match your design, and why.
Rationale for your test strategy and test plan Critical evaluation of your code and/or design.
(g) Demonstration:
A demonstration of your software will follow submission on an agreed date with the tutor Please note the demo represents 20% of the overall grade for this assessment and you will only be graded based on tutor’s understanding of your software and report if absent for a demo.
This QHO543-IT Computer Science Assignment has been solved by our Teaching Expert at TV Assignment Help. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing Style. Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turn tin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
Welcome to our Online Essay Writing Agency. Securing higher grades costing your pocket? Order your assignment online at the lowest price now! Our online essay writers are able to provide high-quality assignment help within your deadline. With our homework writing company, you can order essays, term papers, research papers, capstone projects, movie review, presentation, annotated bibliography, reaction paper, research proposal, discussion, or another assignment without having to worry about its originality – we offer 100% original content written completely from scratch
We write papers within your selected deadline. Just share the instructions