[go: up one dir, main page]

0% found this document useful (0 votes)
25 views18 pages

7 - PBL - Adv Programming

Program

Uploaded by

Google
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views18 pages

7 - PBL - Adv Programming

Program

Uploaded by

Google
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Story

SlNo Feature Description (Card)


number

As a system
administrator of the
Managing Customer Registration Train Ticket Booking
1 US001
(Collection) system, I want to
efficiently manage
customer registrations.

As a user of the Train


Ticket Booking
application, I want the
Exception Handling for Invalid
2 US002 system to handle and
Inputs (Customer Registration)
provide meaningful
feedback for invalid
inputs
As a user of the Train
Ticket Booking
application, I want to
3 Managing Train Information US003
able to browse various
trains according to Train
Categories

As a system
administrator of the
Train Ticket Booking
Searching for Trains using Regular
4 US004 application, I want to
Expression and Collection
search for Trains whose
name starts with a
specific alphabet.
As a customer, I want to
be able to view and
File Handling for Ticket Booking download my booking
5 US005
History history, So that I can
keep track of my
previous bookings.
Acceptance Criteria (Confirmation)

As an Admin User, I want to facilitate customer registration within the system using collections.

Requirements:

1) Implement a class with properties such as CustomerId, CustomerName, Email, Address, Contact
Number.

2) Create a Dictionary as an in-memory storage for customer information.

3) Create a collection to store instances of the class to represent the registered customers.

3) Implement methods to add new customers, update customer details and remove customers.

4) Ensure that the collection maintains the integrity of unique Email and handles any duplicate entries.

5) Implement a method to display the current list of registered customers.

This feature will help user to correct any mistakes and proceed with the registration task smoothly.

Requirements:

1) Implement proper exception handling to handle input validation errors, such as invalid email, address,
password and contact number.

2) Display informative error messages to the user for each specific type of exception.

3) Ensure that the eception handling is comprehensive, covering different scenarios where invalid inputs
can occur.

4) Provide suggestions or guidance to the user on how to correct the invalid inputs and proceed with the
task.
categories, such as express trains or local trains

Requirements:

1) Train Base Class:

1.1] Create a common class nammed 'Train' with common attributes like Train Number, Departure
Station, Arrival Station, Departure Time and Arrival Time.

1.2] The base class "Train" should contain comman behaviours shared by all types of Trains.

1.3] Create derived classes which represent specific types of products with their respective attributes
and behaviours.

1.4] Impement a method nammed 'displayTrainDetails' which will display general train information.

2) Express Train:

2.1] Create a class nammed 'ExpressTrain' that inherits from the base 'Train' class.

2.2] Add a specific attributes for express trains, such as train name, speed, TimeDuration, number of
stops, fare, premium services (snacks, lunch/dinner).

2.3] Implement a method 'displayTrainDetails' which will display train details, you need to achieve this
by using polymorphism, that will handle 'express' category of trains within the system, ensuring accurate
information of each express train.

3) Local Train:

3.1] Create a class nammed 'LocalTrain' that inherits from the base 'Train' class.

3.2] Add a specific attributes for express trains, such as train name, speed, TimeDuration, number of
stops, fare.

3.3] Implement a method 'displayTrainDetails' which will display train details, you need to achieve this
by using polymorphism, that will handle 'local' category of trains within the system, ensuring accurate
information of each local train.

Requirements:

Implement a method:-
- That will take an input from admin as a character, say 'r'.
- That must search all the trains whose names starts with character 'r'.
- This data must be saved in the form of a key:value pair, key being the trainID and value being
train's details (only for those trains whose name starts with character 'r'.).
- The method must display the output in the form <trainID : trainDetails> (only for the trains
whose name starts with character 'r').
Requirements:

1) Implement a Function to retrieve the booking History for a specific customer from a file. (e.g. CSV)

2) The file should store order details such as BookingId, TrainName, TravelDate, DepartureStation,
ArrivalStation, NumberOfPassengers, BookingAmount, TravelStatus (Travelled / Cancelled)

3) Handle file related exceptions and error cases.


Initial
Size Business Sprint
Estimate Priority Number
(SP)
Story
SlNo Feature Description (Card)
number

1 Managing Pa
US001 As a system administrator of the Train Ticket System platform, I

2 Exception HUS002 As a user of the Train Ticket System application, I want the sys
3 Ticket Ma US003 As a passenger of the Train Ticket System platform, I want to get a
4 Searching fUS004 As a system administrator of the Train ticket System platform, I
5 Achieve ThUS005 As a developer of Train Ticket System Application, I want to writ
Acceptance Criteria (Confirmation)

"* This feature will help administrator to maintain a database of registered passenger for seamless ticket processing.
Requirements:

1) Implement a class Passenger with properties such as PassengerId, PassengerName, Email, Age, Contact
Number,gender.

2) Create a collection to store instances of the class to represent the registered Passenger.

3) Implement methods to add new passenger, update passenger details and remove passenger.

4) Ensure that the collection maintains the integrity of unique Email, handles any duplicate entries and can remove the
account.

5) Implement a method to display the current list of registered passenger."

Note :- All the methods that mentions above should be in the form of Menu.

"This feature will help user to correct any mistakes and proceed with the registration task smoothly.

Requirements:

1) Implement proper exception handling to handle input validation errors, such as invalid name,email, contact number,
Starting point(From), Destination(To),StatusOfseat,.
(eg:- 1) Cannot have invalid name like cannot use special character in name, etc.
2) Starting point or destination cannot be empty, Starting point or destination cannot be same
3) If Passenger tries to booked that is reserved/unavailabe, throw exception with message )

2) Display informative error messages to the user for each specific type of exception.

3) Ensure that the eception handling is comprehensive, covering different scenarios where invalid inputs can occur.

4) Provide suggestions or guidance to the user on how to correct the invalid inputs and proceed with the task."
1) Ticket Inheritance Hierarchy:

1.1] Implement an Inheritance hierarchy for the Passenger class and derived classe representing ticket class with
following attributes like ticketId,tarin_name,Start_location(from),Destination(To), Status,
Departure time, Arrival time,seatno. and price.

1.2] The base class "Passenger" should contain common behaviours shared by all types of "Managing Passenger
Registration".

1.3] Create derived classes which represent specificification of the ticket with their respective attributes.

2) ticket Searching or Filtering:

2.1] Enable Passenger to search for Ticket detail on the Train ticket System platform.

2.2] Implement a function that supports search or filtering based on TicketId.


"Requirements: Create a method which takes input as train_name and in return provide the list of passengers.

Implement a method:-
- That will take an input from admin as train_name.
- That must search all the Passenger who are boarding the same train.
- This data must be saved in the form of a key:value pair, key being the PassengerID and value being train_name.
- The method must display the output in the form <PassengerID : train_name>.
"Requirements:
* This feature will help developers to compile the code with minimum memory usage.
All the user stories (US001,US002,US003,US004) must be written as part of a thread.

Additionally, multithreading must be achieved while creating the below feature:


=> Create a ticket summary feature as part of thread.
- Provide an option for Passenger to view the ticket summary on the console once order processing is complete.
- Display Tickets details including name, plateform no., starting_location(From), destination(To), departure time and any
other relevant information.
- Implement the multithreading Concept to print 10 tickets at same time using the PassengerID.

* All these threads would work simultaneously once ticket processing feature is activated.
* Since there could a possibility of concurrency while implementing multithreading , synchronization or asynchronization
of threads as required."
Initial
Size Business Sprint
Estimate Priority Number
(SP)

You might also like