SunUML is similar to StarUML in that it allows users to create UML models. However, SunUML only allows developers to create three types of models: requirements, analysis, and design. Furthermore, the structures of these models is closely prescribed.
SunUML allows developers to edit all three models:
There are two types of requirements: use cases (functional requirements) and non-functional requirements (URPS+).
Every use case has an elaboration that specifies the name, risk, and priority of the use case as well as one or more scenarios.
Every use case has one or more associated actors (i.e., associations to actors).
SunUML allows developers to edit the requirements model:
Here is a sample use case elaboration:
UC1.5: add/edit/remove association
description: add, edit, or remove an association between an actor and a use
case
priority: high
risk: low
scenarios:
developer: selects "add
association" from the "edit requirements" menu
sun uml: prompts developer for an actor
developer: selects an actor
sun uml: prompts developer for use case
developer: selects a use case
sun uml: creates an association from
the selected actor to the selected use case
developer: selects "edit
association" from the "edit requirements" menu
sun uml: prompts developer for an
association
developer: selects an association
sun uml: prompts user for end point of
the selected association
developer: selects end point
sun uml: displays property sheet for
end point
developer: updates property sheet
fields, then clicks OK
sun uml: updates endpoint attributes
developer: selects "delete
association" from the "edit requirements" menu
sun uml: prompts developer for an
association
developer: selects an association
sun uml:deletes selected association
from the requirements model
A SunUML analysis model consists of three types of classes: entities, boundaries, and controls.
Every boundary is associated with one or more actors from the requirements model.
Every control is associated with a use case from the requirements model.
Every control is associated with an interaction (i.e., a sequence diagram).
Every interaction is associated with one or more scenarios.
SunUML allows developers to edit analysis models:
Note: actors are imported from the requirements model.
Note: analysis model associations connect classes, while requirements model associations connect actors to use cases.
A SunUML design model consists of components and the interfaces that they implement and/or depend upon.
Every component is implemented by a collaboration (of classes). A collaboration includes one or more interactions.
SunUML allows developers to edit design models:
Complete the SunUML analysis model:
What boundaries are needed and what are the associated actors?
What controls are needed and what are the associated use cases (or use case packages)?
Most importantly, what entities are needed?
Show interactions (i.e., sequence diagrams) for the controller responsible for executing the "add/edit/remove association" use case in the "edit requirements model" package.
Draw a component diagram for SunUML. Assume you will follow the Model-View-Controller architecture. Show some detail on your interfaces.
Here's that start of a StarUML model for SunUML. You can complete this model if you want or start from scratch: