联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2018-11-25 09:17

Coursework: Java program Implementation and Design Report

Module title: Object Oriented Programming in Java and UML (COMP41620)

Name of the assignment setter: Dr. Sardar Jaf

Submission deadline: 14:00; 26/11/2018.

Method of submission: DUO.

Total weight: 55%.

Outline

The assignment for this module is to implement a train ticket system in Java. You are asked to build a

system to allow users to create various objects to contain information about different parts of the system.

The objects should interact with each other to achieve the correct functionality of the system. There are

several Java classes to be written for this assignment.The system should include the Java classes for Customer,

CustomerList, journey, Booking, BookingList, etc. Customer class should be used to create Customer objects.

The CustomerList class should hold a set of Customer objects. The Journey class should be used for creating

journey objects with specific information about journeys (see Tasks section for details). Users should be able

to create a booking via the Booking class. The booking object should have appropriate collection type to map

journey(s) to customer(s). The BookingList class should include several methods to retrieve information about

bookings. Users should be able to retrieve information about bookings, customers, journey details etc. from

the BookingList. See the Tasks section below for specific details about each class.

Tasks

Customer: Define a Java class to do the following: (4%)

1. A method to register a customer with the following details: (1%)

– firstname, surname, username (e.g., email address) and password.

2. Different methods to return a customer’s firstname, surname, username and password. (1%)

3. Different methods to change a customer’s firstname, surname, username and password. (1%)

4. The class should include error checking (e.g., email validation) and well documented by comments.

(1%)

CustomerList: Define a Java class to do the following: (6%)

1. A method to add customer objects that are created from the Customer class to a collection. (1%)

2. A method to remove a customer from the collection by giving the customer’s surname. This operation

must inform program users if there are two or more customers with the same surname (2%)

3. A method to count the number of customers in the system. (1%)

4. A method to return a customer’s detail by using the customer’s username. (1%)

5. The class should include error checking and well documented by comments. (1%)

Journey: Define a Java class to do the following: (4%)

1. This class should allow users to create a journey with the following details: (1%)

– Randomly generated journey ID by using appropriate Java methods

– The user should provide number of available seats, journey price, journey duration, journey date,

journey from and journey to.

2. Different methods to set the following journey details: (1%)

– Number of available seats, journey price, journey duration, journey date, journey from and

journey to.

3. Different methods to return the following journey details: (1%)

1

– number of available seats, journey price, journey duration, journey date, journey from and journey

to.

4. The class should include error checking and well documented by comments. (1%)

? Booking: Define a Java class to do the following: (5%)

1. A Method to create a booking object to contain journey and customer objects. (1%)

2. A method to record the current date a journey is booked (i.e., the date and time of the booking.

(1%)

3. This class should automatically update the number of available seats in the Journey class once a

journey is booked. (2%)

4. The class should include error checking and well documented by comments. (1%)

? BookingList: Define a Java class to do the following: (10%)

1. A method to utilise a Java collection to store several booking objects. (1%)

2. A method to search through the collection and return a journey by journey to, journey from, journey

date or price. (1%)

3. A method to remove a booking from the collection. (1%)

4. A method to count and return the total number of bookings a user currently has by utilising the

information stored in the collection. (1%)

5. A method to return a list of bookings that are placed by three or fewer people. (3%)

6. A method to return the firstname and surname of a customer for a booking specified by the booking

date. This method should make use of the appropriate methods in the Customer class. (2%)

7. The class should include error checking and well documented by comments. (1%)

Extras: Extend your program to include the following features: (16%)

– Allow details of customers and journeys to be saved to a file or MySQL database so that a customer

may edit and use the records over many sessions. (4%)

– Create a graphical user interface window for customers to use the program. Customers must be

authenticated before they can use the system. For this task, you can manually create a few customer

accounts (with firstname, surname and password etc.) and store their details in a file or database.

(3%)

– Allow customers to update the details of the following via a graphical user interface:

Booking: Modify a booking journey to and from. (3%)

Customers: Assuming you have created a few customers with authentication details for the

previous task. All authenticated customers to modify their firstname, surname, and password.

(3%)

– Java API usage: You should use Java Exception, Collection and other appropriate Java libraries for

your system. (3%)

Submission mode

Project Implementation: you will electronically submit your working implementation plus instructions for

running it. A full documentation of program, with relevant links to a javadoc description of the classes,

should be submitted in HTML format.(45%)

Project Report: you will electronically submit a commentary on your implementation, written in Microsoft

word. Relevant UML diagrams should be included. Any discussion of the performance of your code

should be included here. The report length should be approximately 1000 words. The report and the

implementation should be submitted by 14.00 on Friday 26th November 2018. (10%)

2

Bench Test: a short written test of basic Java skills and API material will be set at 11.00am on Monday

12th November. It will be a closed-book test which will last two hours. Short structured answers will be

required. (45%)

The Java files (source code and compiled files) with the documentation should be in a zip file. The report

should be in Microsoft word.

Assessment weightings

Assessing Implementation Report Bench Test Total

Java programming implementation 45% 45% 90%

Design Report 10% 10%

Total 45% 10% 45% 100%


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp