Describes how the program will operate

Assignment Help Software Engineering
Reference no: EM131218386

Overview

This is an individual assignment that requires you to design, develop and test a small Java program using object-oriented approaches.

Learning Outcomes Assessed

The following course learning outcomes are assessed by completing this assessment:
- Identify and use the correct syntax of a common programming language
- Recall and use typical programming constructs to design and implement simple software solutions
- Reproduce and adapt commonly used basic algorithms
- Utilise pseudocode and/or algorithms as a major program design technique
- Write and implement a solution algorithm using basic programming constructs
- Demonstrate debugging and testing skills whilst writing code
- Develop self-reliance and judgement in adapting algorithms to diverse contexts
- Design and write program solutions to identified problems using accepted design constructs

Assessment Details

The Federation University Australia Olympic Games are about to commence! Your ticketing system has been developed and now it's time to consider how the results of the competition will be recorded and reported.

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

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.

Requirements:

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.

Test Case

The user opts to check for event records

A report is displayed that, for each event, either states that there is no new record, or provides the name and result of the competitor who obtained the new record.

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 results of events in the Federation University Olympic Games, 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 welcome message, and then automatically initialises the program. This initialisation includes creating the events, creating the participants and registering the participants in events. When initialisation is complete, a menu appears providing the user with options to enter results, view reports, view program credits or exit the program.

2. When the user selects the Enter results option, a second menu appears from which the user can individually select any of the events, or return to the previous menu.

a. Upon selecting any of the events, the user is prompted to enter the results for each user registered in that event.
b. When all results have been entered for the event, a message "Results entry complete" appears and the Enter Results menu is shown again so users may either select another event to score or return to the previous menu.

3. When the user chooses the View reports option, display a menu showing all the available reports option. This includes a report of the results for each individual event as well as a report that displays if any Olympic records have been set for any of the events. An additional option is provided to allow the user to return to the main menu.

a. The report showing the results for each of the events lists the result for each competitor, providing first the result, then the competitor's name. After this list, the event medallists are shown. For some events, this requires finding the highest three scores; for other events, the lowest three scores are required. The View Reports menu is then redisplayed.

b. The report showing the Olympic records (if any) checks each of the events to see if there is a new record. If there is a new record, a message advises that there is a new record for that event, which competitor obtained it, and the new record result. If there is no record, then a message advises that no records have been set. The View Reports menu is then redisplayed.

4. 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.

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

2. Create a new University for each of the participating universities. These are:
a. Federation University Australia
b. Deakin University
c. Latrobe University
d. Monash University
Each university has a name only that must be set when the university is created.

3. Create new Participants to compete in the events. Each participant has an attribute that stores their university. You may choose the names for your own participants but one participant MUST have your own name and you may not use the name of any other student enrolled in ITECH1000.
a. Make sure you have enough participants to compete in each event. Each competitor may only compete once in any event, but may participate in multiple events.

4. Register the Participants to compete in the events. Registration occurs by creating new Results, which comprise a Participant and a result (score), and storing these Results in the results array. Each event should be full when registration is complete.
a. You will need to make sure that each participant is only registered once in any event.
b. There is a limit on the number of participants from a single university in each event. Make sure that this limit is not exceeded.
c. When all places in the event have been filled, no further registrations may be accepted.
The user should be advised with a message if any of these issues occur. Your event initialisation code must include attempted registrations that result in each of these issues.

5. Advise the user that initialisation is complete,

Running the Program:

1. Entering Results

a. Results for each event should be stored in the results array.

b. The user is to be prompted to enter the result for each competitor. This result is to be read as a double and stored in the results array by updating the Result instance for that participant.

c. You may assume that the user's results entry is the correct data type (that is, a double). You do not need to check to make sure that the user does not enter non- numerical characters.

d. If the user tries to enter results for an event that has already had results entered, the new results will overwrite the old results.

2. Viewing Reports
a. Results reports require reading information from the results array and presenting this information together in a readable format.

i. Displaying the medallist reports requires using a linear search to find the three best results. For some events, this is the three lowest results; for others it will be the three highest. Your code must cater for both situations.

ii. If results have not yet been entered for an event, the medallist report should not be displayed, Instead, a message should appear advising that the results are pending.

iii. If two or more competitors obtain the same result, then medallist placings will be granted based on the order competitors' results were entered.

b. The report of all records requires using a linear search on the results array in each event to compare the best result with the current record. If the best result is better than the current record, the competitor with this result needs to be retrieved from the competitors array, and a message generated to advise there is a new record.

i. For events where competitors are aiming for the lowest possible score, you will need to ensure that records are not mistakenly reported for events that have not had any results entered. You may either assume that a best score of 0 for the event means that no results have been entered, or add a boolean attribute to the Event to record whether the results have been entered.
ii. The record will only be checked against the best scoring competitor for an event, even if the record is also broken by other competitors. If two or more competitors achieve the same score, then only the first of these competitors to have had results entered will be reported as the record breaker.

3. Viewing Program Credits
a. No special processing is required for this section. A simple display of the credit information is all that is needed.
4. Exit Program
a. The program should exit by reaching the end of the main() method. System.exit(int) should not be used.

Stage 3: Testing

Using a copy of the test cases developed in Stage 1: Design, test the program you have developed in Stage 2: Program Development. Document your results, including both failed and successful tests.

Note: Please do not leave out any failed tests. If your testing highlights that your program has not worked correctly, then the failed tests help to demonstrate that you have been testing your program properly.

To show that you have tested your program, include small (but readable) screen captures in your Actual Results as well as any explanatory comments. Microsoft Windows includes a Snipping Tool that is useful for taking captures of the relevant parts of the screen.

Task

Stage 1: Design Documentation
Development of an algorithm describing how the program should function
• All requirements from the Assessment Details section included
• Logical structure
Documented test cases to validate program
• All requirements from the Assessment Details section included
• Data is validated to ensure user entries are appropriate and incorrect user entries are handled smoothly

Stage 2: Program Development
A Java program addressing the requirements outlined in the Assignment Details section, including appropriate use of classes, instances, loops, conditional statements, constants and variables:
Use of coding conventions throughout entire program, including readable and clear layout, following naming conventions and including meaningful and appropriate comments.
Initialisation of the program:
• Creation of Events, Universities and Participants
• Registration of Participants in Events, ensuring each participant is only registered once in an event, and each university is limited to the set number of participants.
Running Program
• Appropriate menus display until user chooses to exit or return to previous menu
• Entering of results for events
• Reports correctly display the results for each event
• Medallist positions are accurately displayed
• New records achieved are correctly reported
• Program Credits included
Coding Standards
• Code modularized, correctly using method calls and passing data between methods
• Object-oriented approaches have been implemented appropriately

Stage 3: Testing
Documented test results clearly showing all the testing that has been conducted and the results of this testing.

Reference no: EM131218386

Questions Cloud

Identify and describe the stages of team development : How might stronger team skills benefit you? How might you use teamwork skills in your job? Provide specific examples. What is it like to participate in a virtual meeting, such as web-based, teleconference, and so forth?
Potential benefits to be had from joint tariff reduction : From the tariff distorted equilibrium explain why there are no incentives for either country to unilaterally reduce its tariff and discuss whether or not there are potential benefits to be had from joint tariff reduction. Use offer curves to illus..
Has your family experienced significant upward mobility : Has your family experienced significant upward or downward mobility over the past three or four generations? How do you think your values and behavior might differ had you experienced the opposite pattern of mobility? How might it have been differ..
An evaluation on how book affected you : An evaluation on how this book affected you, how you will use it in your life now or in the future, how it related to our life now.
Describes how the program will operate : Write an algorithm that describes how the program will operate - Prepare and document test cases that can be used to check that the program works correctly, once it has been coded.
Consumer utility maximizing choices subject : A consumer has a utility function: u(x1, x2) = ax1 + bx2, where a and b are positive numbers. The consumer has an income m = 10 and can buy goods at the prices (p1, p2) = (2,1). What are the consumer's utility maximizing choices subject to the bu..
Identify an invasive species in your ecosystem : Identify an invasive species in your ecosystem. Explain its effects on the ecosystem and efforts to control or eradicate it. Explain some functions/processes of your ecosystem including one nutrient cycle and one food chain.
Find the slepian-wolf rate region for the description : Distributed data compression. Let Z1, Z2, Z3 be independent Bernoulli(p). Find the Slepian-Wolf rate region for the description of (X1, X2, X3), where
Calculate the current yield on maturity : a. Calculate the current yield on maturity. b. Calculate the average capital gain or loss the owner will incur if the bond is held to maturity. c. Calculate the approximate yield to maturity on this bond.

Reviews

Write a Review

 

Software Engineering Questions & Answers

  Draw an erd for the parrot palace information system

Parrot Palace works with TV and movie producers who need birds that can perform special tricks, such as playing dead, reciting poetry, ladder climbs, and various other tricks.

  Draw flowchart to input all mid-term marks

Draw a flowchart to input 10 numbers and then determine the highest and lowest number among them. Draw a flowchart to input all the mid-term marks of computing studies class to determine it average.

  Article on survey of data mining

You have to write critical review ( of about 3 to 4 pages) of the following article : A SURVEY OF DATA MINING AND KNOWLEDGE DISCOVERY SOFTWARE TOOLS

  Gui based program to write data to a sequential data file

Design a GUI Based program with a WriteButton used to write data to a sequential information file. Then make another ReadData button to read information from the file created and display it in a JTable on the GUI.

  Assessment briefworking individually and based on the high

assessment briefworking individually and based on the high house case you are required to produce a report

  Magazines and periodicals were available in printed versions

1. Until fairly recently, magazines and periodicals were available in printed versions only. Publishers are now offering an increasing number of periodicals in either the traditional printed version or in a digital format that can be downloaded ov..

  What would you do in each case what would you want your

what would you do in each case? what would you want your employees to do?a fellow employee is being harassed at work

  Recognized process flow types

Which of the following are recognized process flow types? Organized process flow

  Create a wbs for the scope of the project

Determine the factors that must be considered and observed throughout the WBS development process and explain why.

  Use contemporary case tools in process and data modeling

Use contemporary CASE tools in process and data modeling

  Concepts of software engineering

Explain the software measurement process and state how to implement the software measurement?  List the challenges and difficulties of applying the software metrics?

  What is the difference between text enclosed

When the shell is reading the command line what is the difference between text enclosed between double quotes (") and text enclosed between single quotes (')? Consider two cases.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd