IDNLearn.com provides a reliable platform for finding accurate and timely answers. Our experts are ready to provide prompt and detailed answers to any questions you may have.
National railway company wants to make a simple application to keep track of trips and passengers.
it is required to help the company implement the required application. Requirements: After a quick meeting with the employee in charge, you got the following information: • It is required to store the whole data in one collection • Each trip has a number, a driver and a specific date. In addition, passengers could be added or removed within a given limit for the maximum number of passengers who could be in the same trip. Furthermore, there are other attributes (add at least 3 attributes from your choice). Of course, trip number is unique within the same date. • Each driver has a unique ID, a name and other attributes (add at least 2 attributes from your choice). • Each passenger has a unique Civil ID (National ID), a name and other attributes (add at least 2 attributes from your choice but one of them should be common with drivers). Moreover, you have been informed that the following operations happen frequently: • Offering a new trip • Adding a passenger to a specific trip • Removing a passenger from a specific trip • Retrieving the average number of passengers per trip of a specified date • Displaying all available trips in a format similar to the following: date1: tripNo1 tripNo2 tripNo3 … date2: tripNo1 tripNo2 tripNo3 … … where dates and trips are sorted in ascending order • Saving all the data into a text file Analysis: Q1: There are common attributes and methods between passengers and drivers. What is the best choice for designing and writing the codes of these two classes? Explain your answer. Q2: Draw a simple class diagram showing only relationships between the classes. Implementation: After analysing the given requirements, implement the required application: • with Object Oriented Programming style • following the rules of good programming style (e.g. adding comments, etc.) • using only the material covered in M251 (and its prerequisites) 3 Hints: • For each class, it is required to implement constructors, setters, getters, toString() method, and any other necessary method • If the user tries to do an operation that could violate the state of objects, the operation should be ignored and the application should display an error message (e.g. adding a passenger to the same trip twice, etc.) • Checking equality of any 2 objects should be done via the equals() method • There is a class that will do the main job of as follows: o It has one collection to store the whole data (all trips) o It has static methods, one for each operation happens frequently o For each adding or removing operation, a message should be displayed to the user to explain the status of the operation (i.e. if it was successful or not)
Sagot :
Your engagement is important to us. Keep sharing your knowledge and experiences. Let's create a learning environment that is both enjoyable and beneficial. IDNLearn.com is your reliable source for accurate answers. Thank you for visiting, and we hope to assist you again.