Due: See Assignment Schedule

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 model as you explore possible ways of modeling the problem domain.

Once your group is satisfied with your model, create an electronic version of the model using Violet UML. Note that you can download the Violet UML jar file from the course Resources page.

Note: If you would like to use a different UML modeling tool, please see me.

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. Add the important methods (verb phrases) to the classes to which they are most likely to belong. Don’t worry about specifying parameters and return types for the methods.

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 a text document of 1 page, briefly 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?

Example:

Here is an example submission for this assignment from the Distributed Whiteboard Project completed in 2016 by Cara Sperbeck, Alex Smith, and Aaron Walsh.

Submitting

Create an Analysis document for your project in Google Docs that includes your group’s Textual Analysis, Violet UML Model, and an explanation of your Analysis Model. Name the Analysis document assign06-www-xxx-yyy-zzz, substituting the YCP user names of your project team members.

Place your Analysis document under your shared Google Drive Group Project folder. Also post your Violet UML (.class.violet) file of your Analysis Model to the Group Project folder.

Important: Your submission must be a Google Doc, shared via your Group Project folder. Do not submit a document in any other format.