You are on page 1of 2

Introduction to Software Development

Number of sources: 3

Writing Style: Oxford

Type of document: Coursework

Category: Computer Science

Language Style: English (U.K.)

Order Instructions:

You are required to develop an application to present a series of randomly generated


mathematics questions to users of different ages.

Along with the application code itself, you should also submit your UML diagrams and any
information to describe your design and testing decisions. UML diagrams should include use
case, activity and class diagrams (if you have decided to take an object-oriented approach).

The application should capture the users first and last name together with their date of
birth. The date of birth will be used to determine the users age in order to present questions
at a suitable level.

Questions should be grouped into a test. Users complete a test which is made up of
questions which can be either addition, subtraction, multiplication or division. There should
be an equal number of each question type in a test (so, in a test containing 12 questions
there should be 3 addition, 3 subtraction, 3 multiplication and 3 division).
The numbers used for the calculations should be randomly generated integers within the
ranges specified above. Care should be taken to ensure that none of the questions will
result in a negative answer.

At any time during the test, the user should be able to enter ‘-1’ to cancel the test. Should
the user enter ‘-1’ they should be advised that incomplete tests will not be recorded and
asked if they are sure they want to end the test early. If they say ‘yes’ then the test attempt
will be aborted. If they say ‘no’ then the test should continue as normal.

When a user completes a test, the results are written to a file. You can either create a file for
each user or have one file for all users. Note that a user can take multiple tests and results
for all completed tests should be recorded.

The following information should be stored within the file:

1. The time and date of the test.


2. The forename and surname of the user.
3. The date of birth of the user.
4. The total number of questions in the test.
5. The number of correct addition questions.
6. The number of correct subtraction questions.
7. The number of correct multiplication questions.
8. The number of correct division questions.

Only fully completed tests should be stored in the file. Partially completed tests do not
count and should not be recorded.

When starting the application, the user should be presented with a menu with the following
options:

1. Start a test – the user should then be asked how many questions they want in their test.
This number should be divisible by four to ensure that the same number of each question
type are presented.
2. View previous test attempts – show all the test results for this user. For each test the user
should be given the time and date of the test, the total number of questions in the test, the
number of correct questions of each type together with the percentage of total correct
answers.
3. Delete all test results – if the user selects this option then they should be reminded that
deletion is irrecoverable and should be asked if they want to proceed. If they continue, then
all test results for this user should be deleted.
4. Exit the application.

You might also like