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

  Development of a graphical user interface

Understand actual communication with an SMTP server can be achieved using TCP Sockets and understand the development of a graphical user interface (GUI) and use of event handling.

  Write a program that reads in a text file and then computes

Write a program that reads in a text file and then computes and prints a table of letter frequencies. For example, if the file is the text of "A Tale of Two Cities", found in the file at data/tales.txt , the program will print

  Write a java program to simulate a calculator

Write a JAVA program to simulate a calculator. Your program should take two numbers and an operator (+,-,*,or/), from the user in the following format: number1 operator number2 (For example 5.6 + 7.2) and print the result.

  Explain how to handle exceptions within a program

Continuing our discussion of exceptions we will work to understand various debugging and exception handling techniques. Please respond to all of the following prompts: -- Explain how to handle exceptions within a program, and provide an example using..

  Write a program that will process the data file

Write a program that will process the data file to read the file and calculate the number of assistants and the average salary and the number of associates and the average salary

  Describe one way in which one could apply java graphics

Describe one way in which one could apply Java graphics in education. Provide one example of such use to support your response. Analyze at least three commands that you would use in order to draw a bar chart.

  Write the definitions of the methods to implement operations

Calculate and return the day by adding certain days to the current day. For example, if the current day is Monday and we add four days, the day to be returned is Friday. Similarly, if today is Tuesday and we add 13 days, the day to be returned i..

  What attributes would your class have

What attributes would your class have? What methods would your class have - In the HelloWorld program, what is "public" that appears on the line that defines the main method?

  Assignment on java programming

The listing of Tree.java is supplied below as a starting point for this lab. A picture of Tree.java output is also shown. Either cut/paste the code or type it in. Run the program to verify that it works. Study the listing until you understand comp..

  Collaboration and social media

While planning for a new project, a young developer mentions that she used Facebook as a collaborative group space for developing her senior project. She tells you that it was the ideal solution since it was free and all of her group members were ..

  How to add a static data member

Create one project for each problem; add comments to your code -  write a program which Add a static data member to count the number of objects will be created.

  Create four classes that must all interact

You will create four classes that must all interact in some meaningful way. In order to start you will create a class diagram to determine which classes depend on other classes and what those classes are

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