Create a software artifact by applying the methodologies

Assignment Help JAVA Programming
Reference no: EM131321749

Tennis Score Board

You will write a GUI that can be used to keep track of the score during a lawn tennis match at Wimbledon. You will be using MVC (Model View Controller) so you will submit the Model and then the View and Controller together.

This coursework will assess the following learning outcomes.

• Create a software artifact by applying the methodologies of advanced object- oriented programming to a requirements speciation
• Select and apply a design pattern from one of the major design patterns to solve a given problem
• Consult on-line code libraries to find the classes and methods most appropriate for solving a particular problem
• Create appropriate documentation that clearly communicates the intend behavior of a program

Description of the GUI

133_GUI.jpg

As you can see, the GUI is composed of two buttons, to be pressed each time a player wins a point, plus the scoreboard itself, which is divided into three portions. The central portion records the names of the two players. Each match is played as the best of five sets, so it continues until one player has won three. The left portion, initially blank, shows the results of the previous sets.

Each set is made up of a series of games, and each of these is made up of a series of points. The right portion shows the number of sets won and the state of the current set. You will need to implement both tie-breaks and deuce-advantage play. (https://en.wikipedia.org/wiki/Tennis_score has full details of the scoring system.)

Part 1

Implementing, for the highest marks, all the required functionality with an interface designed to be convenient for the Controller, View and JUnit class to use with no superfluous public methods. It should have no references to those two classes and contain no GUI code. It should be programmed according to the principles of good object-orientation; such as encapsulation, inheritance and polymorphism. It will likely have many classes and therefore it should have an explanatory class diagram.

Specification of Model in JML or Spec# or asserts, including invariants for the class as well as pre and post conditions for each method. This will be marked according to how many of the relevant conditions are included and the correctness of the JML / Spec# / asserts. Partial credit will be available for describing them in English. Some statements may be un-provable due to the limitations of JML / Spec# even when specified correctly.

10% Unit testing of the Model in JUnit. There should be three tests, significantly different from each other. You should explain in comments the particular situation you are testing for. You should use write (and then call) methods for the Model that set it into the state desired for the test. It should be easy to see what state the Model is being set to by reading the code for the unit tests.

Part 2

Controller, which must forward only valid requests to the Model, querying the Model if necessary to and out if the request is valid, and must also enable / disable buttons as appropriate. In particular, when the match has finished, it should disable the buttons and cause the View to change all the yellow writing to grey, except for the winner's name, which will be in red. It must have no GUI code, though it may send messages to the View. It will be marked with respect to these requirements.

View, which will be multiplied by a number between 0 and 1, indicating the code quality/commenting/formatting as described above for the Model. For example, there should be no "magic numbers" i.e. all calculations of (x,y)-coordinates should be based on predefined constants.

Another copy of View, translated to the JavaFX framework, instead of Swing. It will also be scaled in the same way.

Reference no: EM131321749

Questions Cloud

Integral formulation of quantum mechanics : What are quantum paths, and the path integral formulation of quantum mechanics?
Prepare an accounting work sheet : Complete the accounting work sheet at December 31 - Journalize and post the closing entries at December 31. Denote each closing amount as C/o and an account balance as Bal.
Create a synopsis on perspective of community in behavioral : Compare and contrast the differences between the isolation principles of institutional care and the present-day community-based services.Analyze whether community-based services provide better care and treatment for those diagnosed with persisten..
Discuss the role of certificate authentication in e-commerce : Many predict that the future of e-commerce is pegged on the successful implementation of authentication. Discuss.
Create a software artifact by applying the methodologies : Create a software artifact by applying the methodologies of advanced object- oriented programming to a requirements speciation. Select and apply a design pattern from one of the major design patterns to solve a given problem.
Constant velocity after the collision : If they skid for 6.6 seconds before stopping, how far did they skid? Hint: Are the aircraft moving at a constant velocity after the collision or do they experience an acceleration?
Magnitude of the block acceleration : A 3.0 kg block slides on a rough horizontal surface. A force of 8.0 N acting parallel to the surface id applied to the block. The coefficient of kinetic friction between the block and the surface is 0.15. What is the magnitude of the block's accel..
What strikes you as the strengths of your writing : As you reread the paper you wrote for this class, what strikes you as the strengths of your writing? If you had an opportunity to revise the paper, what revisions would you make to strengthen it
What is the maximum voltage : What is the maximum voltage that can be generated by a silicon solar cell?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Create a program that holds a simple address book

Create a class HashTable which implements HashTableInterface with buckets. You can use an array of linked lists(of Person objects).You may add any other methods you think are necessary.

  Break ties by comparing x-comparing x-coordinate values

(Book is Building Java Programs 3rd edition) modify the Point class from chapter 8 so that it defines a natural ordering by implementing the Comparable interface. Compare the Points by y-major order; that is, points with smaller y-coordinate values s..

  Execute complete and thorough unit test

Define, implement, and execute complete and thorough unit test on the given Java class (MyStringUtils.java).

  Write java program which will permit user to make selection

Write the Java Program which will permit the user to make selection. You will present user with two options to perform, then you will perform action selected by user.

  Discuss the use of java as a web-based application tool

Discuss the use of Java as a Web-based application tool and as a cross-platform programming language. Provide some example benefits and a general discussion of how the cross platform technology works.

  Part-1inheritance write code using eclipse and output

part-1inheritance write code using eclipse and output screenimplement a subclass square that extends the rectangle

  Writing a program that parses

The programming project involves writing a program that parses, using recursive descent, a GUI definition language defined in an input file and generates the GUI that it defines.

  Recognize one high severity vulnerability for computer

Recognize one high severity vulnerability for each computer (if there is one). Explain vulnerability and describe control(s) to minimize risk from vulnerability.

  Have an array of integers with user input instead of given

change the current code to have an array of integers with user input intead of given input from the main where it says int[] a=....; And also from a text file but the same numbers as what is given in main.

  Write a java test program

Write a Java test program, all the code should be in a single main method that calculates and outputs the average of the numbers 1, 2, 9, 27, and 54.

  Define an enum type in the librarybook class

Define a class variable, totalTVs, whose purpose is to keep track of the total number of Television objects constructed during execution of a program that uses the Television class - Define an enum type in the LibraryBook class corresponding to the..

  Solve computer science java validation problem

Computer Science, Operating Systems - Year 1Description:java validationProblem: Using NetBeans 7.2

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