How good was your time and defect estimate for various phase

Assignment Help JAVA Programming
Reference no: EM133119999

Project - Personal Software Process & Quality

Exception Handling, GUI Development

This compressed folder should contain the following:

1. A folder called core containing:
a. CheckersLogic.java (game logic module)
b. CheckersComputerPlayer.java (logic to play against computer; generate computer moves)

2. A folder called ui containing
a. CheckersTextConsole.java (console-based UI to test the game)
b. CheckersGUI.java (graphical user interface for the game)
3. A folder called docs with Javadoc documentation files (index.html and all other supporting files such as .css and .js files generated by the tool). Submit the entire folder.

4. ProjectDeliverable4.docx (or pdf) with Completed Time Log, Estimation worksheet, Design form, Defect Log, Personal Code Review and Project Summary provided at the end of this assignment description.
a. Make sure to provide responses to the reflection questions listed in ProjectDeliverable4 file (this document).
5. A few screen shots showing test results of your working game.
6. A readme file (optional; submit if you have any special instructions for testing).

Checkers Game:
Checkers is a strategy board game for two players which involve diagonal moves of uniform game pieces and mandatory captures by jumping over opponent pieces. It is played by two opponents, on opposite sides of the 8x8 checkered gameboard. One player has the dark pieces (or ‘x' tokens); the other has the light pieces (or ‘o' tokens). Each player has 12 pieces. Players alternate turns. A player may not move an opponent's piece. A move consists of moving a piece diagonally to an adjacent unoccupied square. If the adjacent square contains an opponent's piece, and

CHECKERS BOARD WHEN GAME STARTS (PUBLIC DOMAIN)

the square immediately beyond it is vacant, the piece may be captured (and removed from the game) by jumping over it.
Only the dark squares of the checkered board are used. A piece may move only diagonally into an unoccupied square. The player without pieces remaining, or who cannot move due to being blocked, loses the game. Pieces move one step diagonally forwards, and capture an opponent's piece by moving two consecutive steps in the same line, jumping over the piece on the first step. Multiple enemy pieces can be captured in a single turn provided this is done by successive jumps made by a single piece; the jumps do not need to be in the same line and may "zigzag" (change diagonal direction). Pieces can move/jump only in forward direction.
Aim of the game: is to capture all the opponent's pieces or render them unable to move.
How the game ends:
- The first player to lose all of his or her pieces loses the game.
- If a player is put in a position where they cannot move, they lose.

Program Requirements:
To the previously developed Java-based Checkers game, add a module to provide a graphical user interface (GUI) using JavaFX. Create a separate class called CheckersGui.java in the ui package that generates the GUI.
• Continue to make use of good Object-Oriented design
• Provide documentation using Javadoc and appropriate comments in your code.
• Generate HTML documentation using Javadoc tool
• Make sure you provide appropriate Exception Handling (using try-catch blocks) throughout the program
• You can decide on the layout of the user interface and game board.
• At the start of the program,
o Ask the user if they would like a GUI or console-based UI. Then show the corresponding UI.
o Next, ask if they want to play against a computer or another player and respond accordingly.

Personal Process:

Follow a good personal process for implementing this game. You will be using PSP2 in this assignment. So, in addition to tracking your effort and defects you will have to estimate the effort and defects for the GUI module-recall that in PSP1 you only estimated the effort, but not the defects. Don't forget to provide exception handling routines and conduct a personal code review.
PSP Forms
• Please use the estimating worksheet contained herein to estimate how much time, and how big your program might be.
• Please include in the design form any materials you create during your design process. It's at the end of this document.
• Please use the code review checklist contained herein to statically analyze your code for common mistakes.
• Please use the time log (provided at the end of this document) to keep track of time spent in each phase of development.
• Please use the defect log (provided at the end of this document) to keep track of defects found and fixed in each phase of development.
• When you are done implementing and testing your program, complete the project summary form to summarize your effort and defects. Also answer the reflection questions.
Phases
Follow these steps in developing the game:
Plan-understand the program specification and get any clarifications needed.

1. Estimate the time you are expecting to spend on the GUI development task.

2. Estimate the defects you are expecting to inject in each phase you go through while developing the GUI

3. Estimate the size of the program (only for new code that you will be adding).

4. Enter this information in the estimation columns of the project summary form. Use your best guess based on your previous programming experience. There is no penalty for having an estimate that is not close to the actual. It takes practice to get better at estimation.

5. Use the provided estimating worksheet.

Design-create a design (for the new modules being added) in the form of flow charts, breakdowns of classes and methods, class diagrams or pseudocode. Provide this design in the PSP design form provided at the end of this document. Keep track of time spent in this phase and log. Also keep track of any defects found and log them.
Code-implement the program. Keep track of time spent in this phase and log. Also keep track of any defects found and log them.
Code Review-use the code review guidelines provided later in the document to conduct a personal review of your code and fix any issues found. Provide comments in the checklist about your findings. There should be a minimum of 4 comments.
Test-test your program thoroughly and fix any bugs found. Keep track of time spent in this phase and log. Also keep track of any defects found and log them.
Postmortem-complete the actual, and to date columns of the project summary form and answer the reflection questions.

Estimating Worksheet
PSP2 Informal Size Estimating Procedure
1. Study the requirements.
2. Sketch out a crude design.
3. Decompose the design into "estimatable" chunks.
4. Make a size estimate for each chunk, using a combination of:
a. visualization.
b. recollection of similar chunks that you've previously written
c. intuition.
5. Add the sizes of the individual chunks to get a total.

Reflection Questions

1. How good was your time and defect estimate for various phases of software development?

2. How good was your program size estimate, i.e., was it close to actual?

3. How many issues did you find in your code during code review?

Attachment:- Personal Software Process and Quality.rar

Reference no: EM133119999

Questions Cloud

Explain the portfolio management process : Identify five financial instruments used during the COVID period and explain the portfolio management process used to determine whether to invest in any of thes
Discuss the assumptions of the theory : Explain whether Markowitz portfolio theory can be used to create a portfolio with five of the following instruments.
Unable to train to become better communicator : What could be the career fallout for someone who is unwilling or unable to train to become a better communicator?
Construct the appropriate network diagram : General Foundry has identified the following eight activities that need to be performed and their sequential relationship.
How good was your time and defect estimate for various phase : How good was your time and defect estimate for various phases of software development and How good was your program size estimate, i.e., was it close to actual
Compute the expected return on facebook : Compute the Expected Return on Facebook (Meta) Stock (Google search "ticker symbol" for your company to get your company's ticker symbol): you can get the stock
Tremendous amount of largely spontaneous creativity : Do you feel that countries and companies need explicit strategies for technology development, given the tremendous amount of largely spontaneous creativity
New divisor for the index : Consider a price-weighted index comprised of three stocks, which were closed at $20, $40 and $120. Then the third stock announced a 2-for-1 stock split.
Find out the incremental irr rule : You are deciding between two mutually exclusive investment opportunities. Both require the same initial investment of $10 million. Investment A will generate $2

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