Assessment Details

Maths Whiz! is a competition for local school children to compete against each other to find out who is the ultimate Maths Whiz Champion for the region. Two students from each school are selected to compete in the Championship Round.

Your task is to design, develop and test a small application for managing the Championship results.

Stage 1: Design

This stage requires you to prepare documentation that describes the function of the program and how it is to be tested. There is no coding or code testing involved in this stage. A document template has been provided for your use.


1) Read through Stage 2: Program Development to obtain details of the requirements of this program.

2) Write an algorithm that describes how the program will operate. a. All program requirements must be included, even if you do not end up including all these requirements in your program code.

b. The algorithm must be structured logically so that the program would function correctly.

3) Prepare and document test cases that can be used to check that the program works correctly, once it has been coded. You do NOT need to actually run the test cases in this stage; this will occur in Stage 3: Testing. a. All program requirements must be included, even if you do not end up including all these requirements in your program code.

b. Make sure the test cases include checking of data entered by the user to make sure that only valid data is accepted. If the user enters invalid data, the user should be informed of this and given another chance to enter the data. NB: As we have not covered exception handling, you may assume that the user will always enter the expected data type.

c. Test cases should be documented using a template like the one below. You may include extra information if you wish. At this stage, the Actual Result column will be left blank.

Stage 2: Program Development

Using the Design Documentation to assist you, develop a Java program that uses object-oriented coding approaches to record and report upon the Maths Whiz! Championship round, implementing the requirements outlined in this section.

You must follow coding conventions, such as proper layout of code, using naming conventions and writing meaningful comments throughout your program.

Overview of the Program:

This section provides an overview of how the program works from the user’s perspective. You may change the appearance of the program provided you implement the same functionality.

1. When the program starts, it provides a short message for initializing the contest administration system and prompts the user to enter the number of questions in the competition. The user must enter a whole number greater than or equal to 1, otherwise the system keeps prompting for the required number of questions until a valid entry is made.

2. Once the number of questions required is obtained, the program automatically initialises. This initialisation includes creating the contest, creating the schools, creating the students and registering the students in the contest.

CRICOS Provider No. 00103D 1717 Assignment 2 specification.docx Page 4 of 13

3. When initialisation is complete, a menu appears providing the user with options to Enter Results, Display Results, View Program Credits or Exit Program.

CRICOS Provider No. 00103D 1717 Assignment 2 specification.docx Page 5 of 13

4. When the user selects the Enter Results option, the user is prompted to enter the scores each student obtains on each question in the contest.

a. When all results have been entered for the contest, a message “Score entry complete” appears and the menu is shown again.

5. When the user chooses the Display Results option, the results of the championship are displayed by student. Students are listed in order of their total scores across all questions, from highest to lowest. This list is followed by the placings for the event, with those students who achieve the highest three scores shown in first, second and third place, with the school they represent also identified. The menu is then redisplayed.

6. When the user selects the option to View Program Credits, a message is displayed providing authorship information for this program. The main menu is then redisplayed.

7. When the user selects the option to Exit program, a message thanks the user for using the system, and the program terminates.

CRICOS Provider No. 00103D 1717 Assignment 2 specification.docx Page 8 of 13

Technical Information:

This section provides technical implementation details required by the programmer to create the program. You must address these requirements as specified.

Development of this program requires four classes: Contest, Student, School and Entry as well as a Driver class to control the flow of the program.

Driver Class: Name this file ID3XXXXXXX, where the Xs are replaced by your student ID. This class will contain a main() method to manage the flow of the program, and other methods as necessary to ensure the code is modularized and functions correctly.

Contest Class: This represents a Contest, in this case the Maths Whiz! Championship round. Use the class diagram below as the basis for designing your class. Contest

– name: String

– MAX_ENTRANTS: int {readOnly}

– NUMBER_OF_QUESTIONS: int {readOnly}

– MAX_SCHOOL_ENTRANTS: int {readOnly}

– entries: Entry[]

~ Contest(String, int, int, int)

+ getContestName(): String

+ getEntrantLimit(): int

+ getNumberOfQuestions(): int

+ registerEntrant(Student)

– capacityReached(): boolean

– schoolLimitReached(School): boolean

+ enterScores()

+ viewContestScores()

– sortResults()

Related posts: