CS 230 Southern New Hampshire University Project Software Design Paper

Question Description

Competency

In this project, you will demonstrate your mastery of the following competency:

  • Utilize software design templates and patterns to efficiently solve a problem

Scenario

You work for Creative Technology Solutions (CTS) as a Technology Consultant. CTS has recently taken on a new client, The Gaming Room. The Gaming Room wants to develop a web-based game that serves multiple platforms based on their current game, Draw It or Lose It, which is currently available in an Android app only.

Logo for Creative Technology Solutions

Draw It or Lose It is loosely similar to the 1980s television game Win, Lose or Draw, where teams compete to guess what is being drawn. Rather than a player drawing images on an easel to help team members guess the puzzle (a phrase, title, or thing), the application will render images from a large library of stock drawings as clues. A game consists of four rounds of play lasting one minute each. Drawings are rendered at a steady rate and are fully complete at the 30-second mark. If the team does not guess the puzzle before time expires, the remaining teams have an opportunity to offer one guess each to solve the puzzle with a 15-second time limit.

The staff at The Gaming Room does not know how to set up the environment. To facilitate the development of the web-based version of the gaming app, they will need your help in streamlining the development. You have been asked to prepare a software design document and begin developing the game application, addressing their software requirements. Keep in mind that the hardware requirements will come later as a result of the software application decisions. Your technical manager will want to review your progress with this client.

Specifically, the client has requested that the following software requirements be met for the game application:

  • A game will have the ability to have one or more teams involved.
  • Each team will have multiple players assigned to it.
  • Game and team names must be unique to allow users to check whether a name is in use when choosing a team name.
  • Only one instance of the game can exist in memory at any given time. This can be accomplished by creating unique identifiers for each instance of a game, team, or player.

Directions

You have been asked to prepare a software design document and begin developing the game application, addressing their software requirements.

Part I. Software Design Document: Use the template provided in the Supporting Materials section below to create a software design document for your client. Keep in mind your audience and be sure to communicate clearly and concisely in the template. You have been asked to complete the following sections of the template:

  • Executive Summary: Write a summary to introduce the software design problem and present a solution. Be sure to provide the client with any critical information they must know in order to proceed with the process you are proposing.
  • Design Constraints: Identify the design constraints for developing the game application in a web-based distributed environment and explain the implications of the design constraints on application development.

The UML for the application has been previously created. Refer to the Supporting Materials section below to review what has been done, and continue to build upon the code to meet your client’s software requirements.

  • Domain Model: Review the UML diagram for the game application that represents the Domain Model within the software design template. Consider what information you have at this point regarding the game application and how it is represented in the model. Note: The Entity class is a base class introduced to hold common attributes and behaviors. Describe the UML class diagram and explain how the classes relate to each other. Be sure to identify any object-oriented programming principles that are demonstrated in the diagram and how they are used to fulfill the software requirements efficiently.

Part II. Java Application: Use the code you submitted in the Project One Milestone to continue developing the game application in this project. Be sure to correct errors and incorporate feedback before submitting Project One.

Please note: The starter code for this project was provided in the Project One Milestone. If you have not completed the Project One Milestone, you will not be penalized in this assignment, but you will have additional steps to complete to ensure you meet all the components of Project One.

Review the class files provided and complete the following tasks to create a functional game application that meets your client’s requirements. You will submit the completed game application code for review.

Begin by reviewing the base Entity class. It contains the attributes ‘id’ and ‘name’, implying that all entities in the application will have an identifier and name.

  • Software Design Patterns: Review the GameService class. Notice the static variables holding the next identifier to be assigned for game id, team id, and player id.
    • Referring back to the Project One Milestone, be sure that you use the singleton pattern to adapt an ordinary class, so only one instance of the GameService class can exist in memory at any given time. This can be accomplished by creating unique identifiers for each instance of a game, team, or player.
    • Your client has requested that the game and team names be unique to allow users to check whether a name is in use when choosing a team name. Referring back to the Project One Milestone, be sure that you use the iterator pattern to complete the addGame() and getGame() methods.
    • Create a base class called Entity. The Entity class must hold the common attributes and behaviors (as shown in the UML diagram provided in the Supporting Materials section below).
    • Refactor the Game class to inherit from this new Entity class.
    • Complete the code for the Player and Team classes. Each class must derive from the Entity class, as demonstrated in the UML diagram.
    • Every team and player must have a unique name by searching for the supplied name prior to adding the new instance. Use the iterator pattern in the addTeam() and addPlayer() methods.
  • Functionality and Best Practices
    • Once you are finished coding, use the main() method provided in the ProgramDriver class to run and test the game application to ensure it is functioning properly.
    • Be sure your code demonstrates industry standard best practices to enhance the readability of your code, including appropriate naming conventions and in-line comments that describe the functionality.

What to Submit

To complete this project, you must submit the following:

Part I. Software Design Template
Complete the software design document using the template provided. The document must address each section outlined in the directions provided above.

Part II. Java Application
Submit the completed game application code. This will be the first prototype showcasing how The Gaming Room can offer their game, Draw It or Lose It, in a web-based format and serve multiple platforms. Be sure to download and save the project as CS 230 Project One Game App. Compress your Eclipse project directory into a single ZIP file to be submitted.

Get 20% Discount on This Paper
Pages (550 words)
Approximate price: -

Try it now!

Get 20% Discount on This Paper

We'll send you the first draft for approval by at
Total price:
$0.00

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Our Services

Ace Writing Center has stood as the world’s leading custom essay writing services providers. Once you enter all the details in the order form under the place order button, the rest is up to us.

Essays

Essay Writing Services

At Ace Writing Center, Nowadays, students normally have extremely busy schedules. You will note that some of them have to take on some evening or weekend jobs in order to get some income that can help them to sustain in college or in the university. This can deny them a chance to write all the essays given. Others usually get bombarded with a lot of work by their lecturers. This can still delay such students from working on all their essays. However, some of them usually try to work on all these essays but end up delivering their work late. This can prevent them from graduating since most lecturers are strict on deadlines. If you want to write a business essay, the wise way is to hire an outstanding essay writing service like us, so that you can get the best results. If you are keen, you will note that many companies usually overcharge their customers. Some of them are there only to make money. And in reality, they really don’t care to build a long term commitment with students. You should not choose such companies. You should take your time and choose a reliable company to work with. Ace Writing Center is the ultimate solution for you. We have been offering our writing service for more than 7 years. This is a clear indication that you will get quality essay writing service. We have a wide range of writers who can work on any business essay that you might have. We believe in doing extensive research so that we can provide quality work to all our clients. .

Admissions

Admission and Business Papers

Have you ever had to write an admission essay for college? The majority of students face the same issues when applying to a university or college and many in such situations decide they need professional help to cope with this matter. They get in a situation when the deadline keeps coming closer but lack motivation to start because they are just not sure if their writing skills are strong enough. We have a solution for you! Ace Writing Center is the best admission essay writing service with a large professional team and years of experience in providing high-quality papers to students of all levels and faculties. The mission of our team is to help students make their dreams of entering a good college come true and that’s what we offer!.

Editing

Editing and Proofreading

Sometimes all the words for your paper just flow out of your mind and into your fingers. You type quickly at your keyboard and there they are, your beautiful words right there on the screen. But you have no idea how to polish it up. You may be wishing there was a paper writing service that offered this type of writing service. Look no more! Here at Ace Writing Center, we offer you an editing and proofreading option that you can't find anywhere else..

Coursework

College Essay Writing

In case you are familiar Ace Writing Center, you know the way to distinguish a better company from a cheap one exactly. First of all, poor service website does not have a sufficient support. We think support team is an essential part of success; it has to answer all clients’ questions and be a connecting link between clients and their writers. On our web-service you will get answers about anything you need and your writer will receive all your instructions, assignments and requirements exactly and swiftly. A writing service that we run has got a flexible pricing system that will save you from senseless wastes and many bonus systems that let you sparing money for something important for you.