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

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

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