The Sun UML Analysis Model

The Sun UML functional specification can be found here: The SUN UML Functional Specification.

InCase is a similar tool that can be referenced.

The StarUML model can be found here: SunUML.uml

Here's a sketch of the Sun UML analysis model:

The UI class is similar to the StarUML GUI:

One control class has been created for each use case package:

The model classes are elaborated in the next section.

Entities

Requirements Models

Don't confuse the SunUML requirements model (given in the functional spec) with SunUML's internal representation of a requirements model given below. Remember, SunUML allows developers to edit requirements models for the systems they are developing. SunUML represents these models as instances of its RequirementsModel class:

Analysis Models

Don't confuse the SunUML analysis model (given above) with SunUML's internal representation of an analysis model given below. Remember, SunUML allows developers to edit analysis models for the systems they are developing. SunUML represents these models as instances of its AnalysisModel class:

 

The UML MetaModel

I needed to borrow some concepts from the UML MetaModel:

Controls

EditRequirementsControl

This control handles all of the use cases in the editRequirementsModel package:

We are only required to elaborate one: add/edit/remove association. As its name suggests, this is really three mini-use cases rolled into one. Therefore we need at least three interactions:

Add Association Interaction

Edit Association Interaction

Remove Association Interaction