Title: The Evaluation of Large, Complex UML Analysis and Design Models by Brian Berenbach 26th Internationa
1The Evaluation of Large, Complex UML Analysis and
Design Modelsby Brian Berenbach26th
International Conference on Software Engineering
(ICSE'04) May 23 - 28, 2004 Edinburgh,
Scotland, United Kingdom
2Basic Background Information
- The paper describes techniques for analyzing
large UML models. It describes heuristic and
processes for creating semantically correct UML
analysis and design. It also describes the
internal DesignAdvisor research tool that was
used to analyze Siemens models. - This paper showed the how to use UML guidelines
and notations effectively to analyze and design
complex models.
3Content of the Paper (cont.)
- The paper shows how UML notations and guidelines
are used to analyze and design complex models. - In the next few slides I will explain how to use
UML notations for creating a verifiable analysis
model.
4Content of the Paper (cont.)
- Model organization is key to performing
programmatic verification and requirements
extraction. - The starting use case diagram should have only a
single entry point in the form of an abstract
use case (figure 1). - Define scopes and identify out-of-scope domains.
- All the actors in the domain should be on a
single diagram along with their relationship to
their high level use cases. - Avoid premature use of packaging.
- Package dependencies should be based on content.
5Content of the Paper (cont.)
- The key to extracting requirements from a UML
model is proper use case organization and
definition. - Every concrete use case must be defined using one
or more sequence, collaboration, activity or
state diagrams. - A use case diagram can include other use cases
and can optionally be extended by other use cases.
6Content of the Paper (cont.)
- Use an activity diagram (figure 3) to show all
possible scenarios associated with a use case. - Using an activity diagram as an overview of the
process makes it easier to identify important
logic threads that need to be defined.
7Content of the Paper (cont.)
- Sequence diagrams (figure 4) force the early
discovery of objects, their associated classes
and business services.
8Content of the Paper (cont.)
- Use case relationships provide part of the
infrastructure for an analysis model. - Extending use case relationships can only exist
between concrete use cases. - A concrete use case cannot include an abstract
use case because it causes ambiguity. - Business object modeling is the process of
describing the behavior of a domain with UML. - Every service in a business object should have
defined per- and post-conditions. - Every actor in the model should communicate with
use cases through interfaces. - Initiate prototyping efforts after there are
sufficient draft sequence diagrams to define
actor/interface interactions. - high-level sequence diagram is a compound object
whereas low-level the object is decomposed into
the objects that contribute to processes.
9Content of the Paper (cont.)
- Every class in the design model should trace back
to a use case in the analysis model. - The DesignAdvisor tool (in the following figure)
was developed specifically to analyze and measure
the goodness of large, complex UML models.
10Content of the Paper (cont.)
- Strengths
- The paper showed how UML can be used to
effectively analyze and design large and complex
model. - The resulting model can be analyzed interactively
by the modeler. - How to create models that are programmatically
verifiable. - Weaknesses
- There is a weak emphasis about the transition
between analysis phase and design phase. - Some of the agile processes do not use UML
notations but are quite effective and successful.
11Questions
- Are sequence diagrams help in early design
decisions? - Do we have to know all actors in a domain to
effectively analyze and design models? - Why activity diagram is important?