UML Designer User's Guide


Semantic models

UML Designer uses three different semantic models, each representing a different level of abstraction: requirements, analysis, and design. Each model also corresponds roughly to a distinct phase in a traditional software development process, although in reality you will likely move freely between them. Each model has its own set of model elements representing artifacts appropriate to that level of abstraction:

Requirements model

The requirements model provides elements you can use to capture the requirements and boundaries of the system you are designing. The requirements model focuses on the purposes and use cases for the system, and usually also describes some elements that lie outside the bounds of the system.

Requirements and use cases are formulated with the assistance of the system's intended users, and the users must also be able to verify the requirements. Therefore, the analysis in the requirements model is informal, text-based natural language.

Requirements model elements include requirements, use cases, actors, things, and responsibilities.

Analysis model

The analysis model moves forward from requirements by adding more detail and providing a rigorous specification of the system's required behavior.

The analysis centers around protocols, elements that describe behavior in terms of abstract interfaces. Protocols are implementation-independent, but they use a strict type-inheritance model that ensures rigor and internal consistency. Protocols can be generated from things and responsibilities identified during the requirements phase, generated from existing Smalltalk classes, or created manually.

Analysis model elements include protocols, message specifications, parameters, and return values.

Design model

The design model includes elements representing the actual system as implemented in Smalltalk. You can use these elements to annotate the Smalltalk implementation with traceability information to track how the classes conform to the protocols defined in the analysis model.

Design model elements include classes, instances, and method calls.

UML Designer includes transforms that can automatically generate model elements at one level of abstraction based on elements at another. For example, you can generate a protocol and its messages based on a thing and its responsibilities. These transforms also include the ability to generate stub implementation code in either Smalltalk or Java.

You can also create links between model elements at different levels of abstraction to trace how they evolve. These traceability links make it possible to track how your implementation conforms to your design decisions, and how your design satisfies your requirements.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]