UML辅导 | Software Design Assignment 5


Assignment 5: Software Design

In this assignment you will design a simple word game that may be used by a single player to practice for Scrabble. The detailed requirements for the application are provided below.

To create your design, you should follow the same approach that we present in the P3L2 lesson. That is, analyze the requirements to identify and refine (1) classes, (2) attributes, (3) operations, and (4) relationships in your design. Just to be completely clear, your task is to design the system, not to implement it. The requirements for the application are listed below, in the “Requirements” section. Please note that not every requirement will be fully and directly represented in your design. For instance, at this level of detail, you do not have to show any purely GUI specific classes, if they are only doing user display and input and not performing any significant business logic. Similarly, any database support layer may be left out, if it is purely doing persistence tasks on data fully represented in the diagrammed layer.

Your design should be expressed using a UML class diagram, and the level of detail of the design should be analogous to the level of detail we used throughout the whole P3L2 lesson (i.e., do not limit your design to only the elements focused on in the final video, but consider the entire process). Specifically, you must provide enough details for the design to be self contained and for us to be able to assess whether the design suitably realizes all system requirements.

To help with this, you must also provide a “design information” document, in which you concisely describe, for each of the requirements listed below, how that requirement is either realized in your design, or why it does not directly affect the design and is not shown. Copy the list of requirements, and add your explanation for each one of them.  For example, using some partial requirements for a cash register application:

To realize this requirement, I added a ‘currentCashier’ to the register class to track the signed in cashier, and a float ‘till’ to represent the money in the till.  These values are entered by the startup() method, after prompts are handled within the GUI.

…<additional requirements reflected in example UML diagram>…

This is not represented in my design, as it will be handled entirely within the GUI implementation.

This explanation should be clear enough to allow us to follow the rationale behind your design and how it will fulfill each specified requirement, including any that are not directly depicted in your class diagram.  You can also provide in the document additional information about your design, such as assumptions or rationale for some design decisions.  Use the document to review your design and ensure you have included everything necessary for your application to fill the list of requirements.

You can use any UML tool you prefer, but do not hand draw your design.  If you are not familiar with any specific tool, we recommend that you ask on Piazza for suggestions. There are usually some student discussions and recommendations for that on Piazza.


The player may select any of the game scores to view the settings for that game’s maximum number of turns, letter distribution, and letter points.

Submission Instructions

To submit your assignment, you should do the following: