This is a team assignment
Problem Domain Analysis
In this assignment, your team will conduct an analysis of the problem domain of your team project, and build an analysis model of the problem domain.
Step 1: Textual Analysis
Go through the requirements and use cases you wrote in Assignment 5. Identify the important noun and verb phrases which describe entities and concepts in your problem domain. Save these in a document.
Step 2: Build an Analysis Model
Based on your textual analysis, construct a UML class diagram modeling your project’s problem domain.
You will probably want to work with your group using a whiteboard, since problem domain analysis is a process. Your group will undoubtedly make a number of changes to the UML diagram as you explore possible ways of modeling the problem domain.
While your group is creating its UML diagram, create an electronic version of the diagram using a drawing package such as:
[Lucid Chart](https://www.lucidchart.com/)
[Figma](https://www.figma.com/)
[Draw.io online version](https://app.diagrams.net/)
[Draw.io downloadable version)](https://www.drawio.com/)
Use Associations (plain, aggregation, composition) and Generalizations (Is-A / inheritance) to show the relationships between the Classes (noun phrases) in your model. Give each association a name to indicate the roles of the two classes involved in the association. Indicate multiplicity in your associations that are NOT 1-to-1. Add the important methods (verb phrases) to the classes to which they are most likely to belong. If you already know them, specifying the parameters and return types for the methods. Do NOT include your constructors, getters, and setters in your Class diagrams - encapsulation is assumed to exist.
Note: Because you are building an analysis model, avoid modeling any “implementation” classes such as those involved in the user interface, data storage, etc., unless there are important requirements which would not otherwise be addressed by the model.
Step 3: Explain the Model
In the description portion of the document, briefly (1-2 pages) explain your analysis model. Discuss why you felt the classes you modeled are the most important ones. Is there a class or classes that seem to be “central” to the model? How did you determine where to put the important methods?
Examples:
Here are some examples of previous Team Problem Domain Analysis submissions:
- YCP Personalized Commencement
- Card Repository w/Multiplayer & Bots
- VSS: Virtual Stock Sim
- Air Quality Monitor
Submitting
Create an Analysis and Design document for your project in Google Docs that includes your group’s Textual Analysis, UML Model Diagram, and an explanation of your Analysis Model. Name the document assign06-www-xxx-yyy-zzz, substituting the YCP user names of your project team members,in alphabetical order.
Place your Analysis document under your Google shared Group Project folder. Also post your UML Diagam file(s) of your Analysis Model to the Group Project folder.
Also save a PDF version of your Google document using the same naming format and submit it to Marmoset under the Assign06: Team Problem Domain Analysis project.