Requirements Traceability in a UML based Development
Download
Report
Transcript Requirements Traceability in a UML based Development
Requirements Traceability
Patricio Letelier
Departamento de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
Summary
I.
Introduction to Requirements Traceability
II.
Related Work
Non-UML Community
UML Community
Commercial Tools: RequisitePro
www.dsic.upv.es/~letelier/pub
Introduction to
Requirements Traceability
Concepts
A model captures a view of a physical system. It is an
abstraction of the physical system, with a certain purpose.
Thus the model completely describes those aspects of the
physical system that are relevant to the purpose of the
model, at the appropriate level of detail.
Diagram: a graphical presentation of a collection of model
elements, most often rendered as a connected graph of arcs
and vertices
OMG UML 1.4 Specification
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
A software development process must offer a set of
models to organize the product construction
according to specific characteristics of the project
At least two models should always be present:
Requirements Model and Code
Each model is complete from its point of view, but
relationships should exist among them
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Modeling with different levels of abstraction
Not only you need to view a system from several
angles, different people might want the same view of
the system but at different levels of abstraction
Basically, there are two ways to model a system at
different levels of abstraction:
by presenting views with different levels of detail
against the same model
by creating models at different levels of abstraction
with traces from one model to another
The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Requirements Engineering
Feasibility Studies
Requirements Elicitation and Analysis
Requirements Validation
Requirements Management
– Includes information capture, storage, dissemination
and management (organization, traceability, analysis
and visualization)
– Is a Key Process Area (KPA) needed to achieve the
level 2 (Repeatable Level) of the CMM
– Its success depends on how good the requirements
traceability is implemented
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Requirements Traceability
“The ability to describe and follow the life of a
requirement, in both a forward and a backward direction,
i.e., from its origins, through its development and
specification, to its subsequent deployment and use, and
through periods of ongoing refinement and iteration in any
of these phases”
[Gotel and Finkelstein, 1994]
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Requirements Traceability benefits
[adapted from Dömges, 98]
1. Traceability links between different kinds of specifications support:
Validation that the system functionality meets the customer
requirements and that no superfluous functionality has been
implemented
Impact analysis upon changing customer requirements. The links
allow to determine which other specifications might be affected
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
... Requirements Traceability benefits
2. Contribution structures (links between stakeholders and
specifications):
Improve communication and cooperation among teams. In case of a
change request, the stakeholders who should be involved and/or informed
can be determined
Assure the contribution of each individual is passed on and filed
3. Rationale associated to specifications (alternatives, decisions,
underlying assumptions, etc.):
Improve the understanding of the system by the customer and thus the
system acceptance
Improve the change management by reducing the changes of neglecting
considerations during change integration, since previously rejected
solutions and the reasons for their rejection are accessible
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Traceability information allows answering:
– What is the impact of changing a requirement?
– Where is a requirement implemented?
– Are all requirements allocated?
– What need is addressed by a requirement?
– Is this requirement necessary?
– What design decisions affect the implementation of a requirement?
– Why is the design implemented this way and what were the other
alternatives?
– Is the implementation compliant with the requirements?
– What acceptance test will be used to verify a requirement?
– Is this design element necessary?
– How do I interpret this requirement?
INCOSE, International Council On Systems Engineering, http://www.incose.org/tools/reqsmgmt.html
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Current Problems in Requirements Traceability
Need for guidelines on what types of information must be
captured and used in what contexts. The interpretation of the
meanings of linkages between system components is left to the
user
Need for abstraction mechanisms to allow variation of
granularity (aggregation) and sophistication (generalization) in
traceability tasks
Need for inference services supporting the semantic of the
different traceability link types
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
... Current Problems in Requirements Traceability
Need for mechanisms that allow project managers and
developers to define and enact a model driven trace process
accompanying the development process
Most of the tool support is document-oriented (dealing only with
textual expressed requirements) working as modules not well
integrated with other development modules in a CASE tool
context
www.dsic.upv.es/~letelier/pub
... Introduction to
Requirements Traceability
Our Approach
Define a Traceability Metamodel. Customizable
framework establishing the traceability information
and
extensible
Establish integration with UML specifications. UML is used as a
common place for specifications, including textual specifications
(requirements, rationale, test)
Establish a traceability process to be included in a requirements
management process which would be part of a software development
process
Provide tool support using current CASE tool extension mechanisms
www.dsic.upv.es/~letelier/pub
Related Work
“Non-UML Community”
NATURE, CREWS
O. Gotel, A. Finkelstein, J. Mylopoulos, R. Dömges,
K. Pohl, B. Ramesh, M. Jarke, ...
“UML Community”
OMG UML Specification, Unified Process
I. Jacobson, J. Rumbaugh, G. Booch, ...
Commercial Tools
www.dsic.upv.es/~letelier/pub
Related Work: Non-UML Community
[B. Ramesh and M. Jarke. Toward Reference Models for Requirements
Traceability. IEEE Transactions on Software Engineering, January 2001]
Traceability users classification:
Low-end users: typical complexity about 1000 requirements, zero
to two years of experience in traceability, traceability is
understood as “document transformation of requirement to
design”
High-end users: typical complexity about 10000 requirements,
five to ten years of experience in traceability, traceability is
defined as “increases the probability of producing a system that
meets all customer requirements and will be easy to maintain”
Two Models: Low-end and High-end Traceability Models
www.dsic.upv.es/~letelier/pub
... Related Work: Non-UML Community
High-end Traceability Model
Objects and Links
• “Current practice shows that the efficiency and effectiveness of
traceability support is largely determined by the system of OBJECT
types and traceability LINKS types offered”
31 entity types, 29 different link types (but 50 different link
types considering the connected entity types)
Four submodels:
•
•
•
•
Requirements Management
Rationale
Design Allocation
Compliance Verification
www.dsic.upv.es/~letelier/pub
... Related Work: Non-UML Community
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
FUNCTIONS ADDRESS REQUIREMENTS
ALTERNATIVES ADDRESS ISSUES_OR_CONFLICTS
DECISIONS AFFECT OBJECT
REQUIREMENTS ALLOCATED_TO SYSTEM_SUBSYSTEM_COMPONENTS
REQUIREMENTS BASED_ON MANDATES
COMPLIANCE_VERIFICATION_PROCEDURES BASED_ON MANDATES
DESIGN BASED_ON MANDATES
OBJECT BASED_ON RATIONALE
DECISIONS BASED_ON RATIONALE
DESIGN CREATE SYSTEM_SUBSYSTEM_COMPONENTS
DESIGN DEFINE SYSTEM_SUBSYSTEM_COMPONENTS
ASSUMPTIONS DEPEND_ON ASSUMPTIONS
REQUIREMENTS DEPEND_ON REQUIREMENTS
ARGUMENTS DEPEND_ON ASSUMPTIONS
DECISIONS DEPEND_ON ASSUMPTIONS
OBJECT DEPEND_ON ASSUMPTIONS
SYSTEM_SUBSYSTEM_COMPONENTS DEPEND_ON SYSTEM_SUBSYSTEM_COMPONENTS
SYSTEM_SUBSYSTEM_COMPONENTS DEPEND_ON EXTERNAL_SYSTEMS
RATIONALE DEPEND_ON ASSUMPTIONS
REQUIREMENTS DERIVE FROM REQUIREMENTS
SCENARIOS DESCRIBE ORGANIZATIONAL_NEEDS
SCENARIOS DESCRIBE SYSTEM_OBJECTIVES
SCENARIOS DESCRIBE REQUIREMENTS
COMPLIANCE_VERIFICATION_PROCEDURES DEVELOPED_FOR REQUIREMENTS
REQUIREMENTS DRIVE DESIGN
www.dsic.upv.es/~letelier/pub
... Related Work: Non-UML Community
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
REQUIREMENTS ELABORATE REQUIREMENTS
DECISIONS EVALUATE ALTERNATIVES
OBJECT GENERATE ISSUE_OR_CONFLICTS
SYSTEM_OBJECTIVES GENERATEs CHANGE_PROPOSALS
SYSTEM_OBJETIVES GENERATES REQUIREMENTS
COMPLIANCE_VERIFICATION_PROCEDURES GENERATE CHANGE_PROPOSALS
ORGANIZATIONAL_NEEDS IDENTIFY CRITICAL_SUCCESS_FACTORS
CRITICAL_SUCCESS_FACTORS INFLUENCE DECISIONS
ORGANIZATIONAL_NEEDS JUSTIFY SYSTEM_OBJECTIVES
REQUIREMENTS MANAGED_BY CRITICAL_SUCCESS_FACTORS
CHANGE_PROPOSALS MODIFY REQUIRIMENTS
CHANGE_PROPOSALS MODIFY DESIGN
ARGUMENTS OPPOSE ALTERNATIVES
REQUIREMENTS PART_ OF REQUIREMENTS
SYSTEM_SUBSYSTEM_COMPONENTS PART_OF SYSTEM_SUBSYSTEM_COMPONENTS
SYSTEM_SUBSYSTEM_COMPONENTS PERFORM FUNCTIONS
DECISIONS RESOLVE ISSUES_OR_CONFLICTS
SYSTEM_SUBSYSTEM_COMPONENTS SATISFY REQUERIMENTS VERIFIED_BY COMPLIANCE_VERIFIC._PROC.
SYSTEM_SUBSYSTEM_COMPONENTS SATISFY COMPLIANCE_VERIFICATION_PROCEDURES
SYSTEM_SUBSYSTEM_COMPONENTS SATISFY REQUERIMENTS VERIFIED_BY COMPLIANCE_VERIFIC._PROC.
DECISIONS SELECT ALTERNATIVES
ARGUMENTS SUPPORT ALTERNATIVES
OBJECT TRACEs_TO OBJECT
RESOURCES USED_BY SYSTEM_SUBSYSTEM_COMPONENTS
RESOURCES USED_BY COMPLIANCE_VERIFICATION_PROCEDURES
www.dsic.upv.es/~letelier/pub
OMG Unified Modeling Language Specification (draft), version 1.4, February 2001.
... Related Work: Non-UML Community
Summary of links
Product related
• SATISFIES. To ensure that the requirements are satisfied by the
system. Relationships between one or more design, implementation
objects and requirements
• DEPEND-ON. Help manage dependencies among objects (typically
at the same stage of development)
Process related
• RATIONALE. Represent the rationale behind objects or document
the reasons for evolutionary steps
• EVOLVE-TO. Document the input-output relationships of actions
leading from existing objects to new or modified objects
www.dsic.upv.es/~letelier/pub
OMG Unified Modeling Language Specification (draft), version 1.4, February 2001.
... Related Work: Non-UML Community
Comments
There is neither definition for OBJECTS nor a precise semantics
for LINKS
Links to/from STAKEHOLDERS and SOURCES are not studied in
detail. This is an important issue when dealing with cooperative
(and distributed) software development
The proposal is independent of a particular notation or
development process, but most of the artifacts are behind the
OBJECT SYSTEM_SUBSYSTEM_COMPONENTS (and only
supporting the links “PART-OF” and “DEPEND-ON”)
There are neither references to a specific notation nor software
process
www.dsic.upv.es/~letelier/pub
Related Work: UML Community
Dependency
A relationship between two modeling elements, in which a
change to one modeling element (the independent element)
will affect the other modeling element (the dependent
element)
Trace
A dependency that indicates a historical or process
relationship between two elements that represent the same
concept without specific rules for deriving one from the other
[OMG UML 1.4 Specification, Glossary]
www.dsic.upv.es/~letelier/pub
... Related Work: UML Community
"become"
"copy"
+sourceFlow Flow
n
Association
Generalizatio
n
Include
n
+targetFlow
Relationship
+target
n
n
ModelElement
name : Name
+source
+supplierDependency
+supplier
1..n
n
Dependency
1..n
n
+client +clientDependency
Binding
[OMG UML 1.4 Specification]
www.dsic.upv.es/~letelier/pub
Abstraction
mapping : MappingExpression
"derive"
"realize"
"refine"
"trace"
Usage
"access"
"friend"
"import"
Permission
"call"
"create"
"instantiate"
"send"
Extend
... Related Work: UML Community
Unified Process => “Use-Case Driven Process”
«trace»
Use Case
«trace»
Use-Case Realization
- Design
Use-Case Realization
- Analysis
«trace»
«trace»
White-box test
Black-box test
X
Test Case
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
www.dsic.upv.es/~letelier/pub
... Related Work: UML Community
Traceability in a RUP-like Process
Business Model
<<trace>>
Requirement Model
Black-Box Test
Specification
<<trace>>
White-Box Test
Specification
Analysis Model
<<trace>>
<<trace>>
<<trace>>
Test Model
Design Model
<<trace>>
<<depend on>>
Implementation Model
[- The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh
- Rational Unified Process (RUP)
OMG UML 1.4 Specification]
-www.dsic.upv.es/~letelier/pub
<<depend on>> Deployment Model
... Related Work: UML Community
Specification Granularity
«trace»
Model/Subsystem/Package
«trace»
Use Case/Use Case Realization
Bussines Use Case
«trace»
Use Case
«trace»
«trace»
Actor/Class/Component
Interface/Node/etc.
Component
«trace»
Component
www.dsic.upv.es/~letelier/pub
«trace»
Design Class
Analysis Class
«trace»
Use-Case Realization
- Design
Use-Case Realization
- Analysis
Interface
Design
Node
Interface
Implementation
... Related Work: UML Community
Comments
«trace» specifies a trace relationship between model elements
or sets of model elements that represent the same concept in
different models
“Traces are mainly used for tracking requirements and changes
across models. Since model changes can occur in both
directions, the directionality of the dependency can often be
ignored”
Apart from Use-Case model element, UML does not include
other kinds of requirements (those that are textual)
Not much difference respect to «realize» and «refine»
stereotypes
www.dsic.upv.es/~letelier/pub
Commercial Tools
Requirements Management Products
Tool Name
Vendor
Vendor URL
DOORS
Telelogic
http://www.telelogic.com/
RequisitePro
Rational Software
http://www.rational.com/
RTM
Integrated Chipware
http://www.chipware.com
Caliber-RM
Starbase Corporation
http://www.starbase.com/
CRADLE
3SL
http://www.3sl.co.uk/
CORE
Vitech Corporation
http://www.vtcorp.com/
RDD
Ascent Logic Corporation
http://www.alc.com/
RDT
Igatech
http://www.igatech.com/
XTie-RT
Teledyne Brown Engineering
http://www.tbe.com/
SLATE
EDS
http://www.tdtech.com/
TOFS
Tool for Systems
http://www.toolforsystems.com
Vital Link
Compliance Automation Inc.
http://www.complianceautomation.com/
www.dsic.upv.es/~letelier/pub
... Commercial Tools
Startbase
(Caliber-RM )
7%
Integrated
Chipware
(RTM)
20%
Rational
(RequisitePro)
Others
17%
Telelogic
(DOORS)
30%
26%
Source: Standish Group 1999
www.dsic.upv.es/~letelier/pub
Commercial Tools: RequisitePro
“Document management tool”. A project is a set of
documents (of different types – templates) containing
marked pieces of text corresponding to some
“requirement type”
www.dsic.upv.es/~letelier/pub
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
Customization
• Document Type
• Requirement Type
• Requirement Attributes
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
Traceability
• A tab page in the Requirement Properties (for each
requirement)
• The established link is “trace” (“from” or “to”). Changes in
the linked requirements (text) makes the link be marked as
“suspect”
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
• Visualizing the traceability information
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
• Traceability Matrix, trace-to, trace-from, suspect links,
indirect links between to types of requirements (text)
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
• Traceability Tree (Traced out of ...), showing trace-to
relationships from other requirements (including all
requirements types)
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
• Traceability Tree (Traced into ...), showing trace-to
relationships from other requirements (including all
requirements types)
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
• Attribute Matrix, showing the attributes of requirements of
certain types
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
Rational Rose + RequisitePro
RequisitePro is installed as an Add-in in Rational Rose
The rose model is associated to a RequisitePro
project
Use cases can be specified using a RequisitePro type
of document and types of “requirements” (marked
text)
www.dsic.upv.es/~letelier/pub
... Commercial Tools: RequisitePro
Comments
A requirement in RequisitePro is a piece of text. The name
of the requirement is the text itself
The only supported link is “trace”. Establishing a traceability
matrix for pairs of requirements could simulate different
specific links
There are interesting security capabilities in order to control
the access to documents for different stakeholders
The only UML artifact integrated from rose models is the
Use Case
www.dsic.upv.es/~letelier/pub