SunUML

Introduction

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.

Requirements Model for SunUML

SunUML allows developers to edit all three models:

Editing the Requirements Model

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

Editing the Analysis 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.

Editing the Deign Model

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:

The SunUML Analysis Model

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.

Analysis Model Entities (a start)

The SunUML Design Model

Draw a component diagram for SunUML. Assume you will follow the Model-View-Controller architecture. Show some detail on your interfaces.

References

Here's that start of a StarUML model for SunUML. You can complete this model if you want or start from scratch:

SunUML.uml