Model-Based Requirements Engineering with Auto-RAID
-
Upload
wing-terrell -
Category
Documents
-
view
28 -
download
2
description
Transcript of Model-Based Requirements Engineering with Auto-RAID
Model-Based Requirements Engineering with Auto-RAID
Bernhard Schätz
Technische Universität München
Institut für Informatik
08.03.2005 - ReConf 2005
Schätz - AutoRAID 204/19/23
Best Practices
Source: Jones, 2000, Software Assessments, Benchmarks and Best Practices
Best Requirements Practices for System Software:1. Formal Requirements2. Requirements Inspection3. Requirements Tracing 4. Performance Requirements5. Quality/Reliability Requirements6. Requirements Notations7. Requirements Segmentation8. Function Point Measurement9. Defect tracking
Adding Detailed Structure to Requirements
Schätz - AutoRAID 304/19/23
Describing Embedded Systems
Schätz - AutoRAID 404/19/23
Quality Criteria
Quality criteria for system specifications (IEEE 830-1998):
– Changeability
– Traceability
– Comprehensibility
– Consistency
– Completeness
– Unambiguity
Schätz - AutoRAID 504/19/23
Modeling Requirements
Specification
SubRequirements 0..* 0..*
0..*
AssociatedRequirements
SystemConstraints
LegalRequirement
FunctionalRequirement
BusinessRequirement
Weak-Structure Model: “Built-In” Flexibility
+ Facilitates comprehensability, changeability
- Enables ambiguities, inconsistencies
- Restricts completeness, feasibility
Schätz - AutoRAID 604/19/23
Modeling Designs
Component
SubComponents
Channel
ControlState
Transition
Pattern
DataTypeDataElement
Port0..*
0..*
0..*
0..*
0..*
0..2
0..*
2
1
1
0..*0..*
0..*
0..*
0..* 1
10..*
0..1
0..1
Condition
Sequence
Observation
0..*
0..*
1..*
2
2
StateObservation
EventObservation
1
1
0..*
0..*
Structured Model: “Built-In” Preciseness
+ Restricts ambiguities, inconsistencies
+ Supports completeness, feasibility
- Restricts comprehensability, changeability
Schätz - AutoRAID 704/19/23
Structured Information
Flexibility
FlexibilityPrecision
Precision
Analysis Design
Schätz - AutoRAID 804/19/23
Quality Assurance Mechanisms
Modeling
Tracing/Impact Analysis
StructuringImpact Analysis View
Generation
AnalysisReview
Analysis Design
Mechanic Constructive
AnalyticManual
Flexibility Precision
Schätz - AutoRAID 904/19/23
Improving Quality and Efficiency
Modeling
Tracing/
Impact Analysis ViewGeneration
AnalysisReview
Flexibility Precision
Analysis Design
Classification
Refinement
View Construction
Impact Analysis
Structuring
Analysis
Schätz - AutoRAID 1004/19/23
User-Support
Efficient and quality-oriented transition from analysis to design:• Based on activities as performed in a review• Focusing on constructive activities• Supporting each activity by tool-interaction
Requires a deep integration of models for analysis and design
Specification
SubRequirements 0..* 0..*
0..*
AssociatedRequirements
SystemConstraints
LegalRequirement
FunctionalRequirement
BusinessRequirement
Component
SubComponents
Channel
ControlState
Transition
Pattern
DataTypeDataElement
Port0..*
0..*
0..*
0..*
0..*
0..2
0..*
2
1
1
0..*0..*
0..*
0..*
0..* 1
10..*
0..1
0..1
Condition
Sequence
Observation
0..*
0..*
1..*
2
2
StateObservation
EventObservation
1
1
0..*
0..*
Schätz - AutoRAID 1104/19/23
Weak Integration: Unstructured Requirements
Model Elements• Generic Requirements• Domain-Specific Design
Weak Integration:• Hierarchic Requirement Model • View-Based Design Model• Generic Links
Generic Requirement Structure• Description• Title, ID• Rationale• Priority, Status
Schätz - AutoRAID 1204/19/23
Component
SubComponents
Channel
ControlState
Transition
Pattern
DataTypeDataElement
Port0..*
0..*
0..*
0..*
0..*
0..2
0..*
2
1
1
0..*0..*
0..*
0..*
0..* 1
10..*
0..1
0..1
Condition
Sequence
Observation
0..*
0..*
1..*
2
2
StateObservation
EventObservation
1
1
0..*
0..*
Specification
SubRequirements0..*
0..1
0..1
0..*
0..*
AssociatedRequirements
0..*
Weak Integration: Homogeneous Links
Schätz - AutoRAID 1304/19/23
Weak Integration: Identify Requirements
Schätz - AutoRAID 1404/19/23
Weak Integration: Refine Requirements
Schätz - AutoRAID 1504/19/23
Weak Integration: Link Models
Schätz - AutoRAID 1604/19/23
Weak Integration: Support
Support mechanisms:
• Management: Import, Refinement, Linking
• Analysis: Coverage/Completeness (Refinement, Linking)
• Synthesis: Documentation
Schätz - AutoRAID 1704/19/23
Deep Integration: Embedding Specific Requirements
Model Elements
• Domain-specific requirements
• Domain-specific views
Deep Integration:
• View-based requirements
• View-based design model
• Homogeneous requirements/design model
Requirements as an additional view:
• Requirements as structured text
• Requirements as domain-specific structure
• Requirements as collection of model views
Schätz - AutoRAID 1804/19/23
Deep Integration: Structuring Information
3. Specific requirements
3.1 External interfacerequirements3.1.1 User interfaces3.1.2 Hardware interfaces3.1.3 Software interfaces3.1.4 Communications interfaces
3.2 Functional requirements3.2.1 Mode 13.2.1.1 Functional requirement 1.1...3.2.1.n Functional requirement 1.n3.2.2 Mode 2...3.3 Performance requirements3.4 Design constraints3.5 Software system attributes3.6 Other requirements
3. Specific requirements
3.1 External interface requirements3.1.1 User interfaces3.1.2 Hardware interfaces3.1.3 Software interfaces3.1.4 Communications interfaces
3.2 System features3.2.1 System Feature 13.2.1.1 Introduction/Purpose of feature3.2.1.2 Stimulus/Response sequence3.2.1.3 Associated functional requirements3.2.1.3.1 Functional requirement 1...3.2.1.3.n Functional requirement n3.2.2 System feature 2...3.3 Performance requirements3.4 Design constraints3.5 Software system attributes3.6 Other requirements
3. Specific requirements
3.1 External interface requirements3.1.1 User interfaces3.1.2 Hardware interfaces3.1.3 Software interfaces3.1.4 Communications interfaces
3.2 Functional requirements3.2.1 Information flows3.2.1.1 Data flow diagram 13.2.1.1.1 Data entities3.2.1.1.2 Pertinent processes3.2.1.1.3 Topology...3.2.2 Process descriptions3.2.2.1 Process 13.2.2.1.1 Input data entities3.2.2.1.2 Algorithm or formula of process3.2.2.1.3 Affected data entities...
Quelle: IEEE Standard 1998-830
Schätz - AutoRAID 1904/19/23
Component
SubComponents
Channel
ControlState
Transition
Pattern
DataTypeDataElement
Port0..*
0..*
0..*
0..*
0..*
0..2
0..*
2
1
1
0..*0..*
0..*
0..*
0..* 1
10..*
Condition
Sequence
Observation
0..*
0..*
1..*
2
2
StateObservation
EventObservation
1
1
0..*
0..*
Specification
SubRequ iremen ts 0..*0..1
ArchitecturalSpecification
DataSpecification
FunctionalSpecification
ModalSpecification 0..*
ObservationSpecification
0..*
0..1
0..1
0..*
0..*
0..*
0..10..*
AssociatedRequirements
0..*
..*0
Deep Integration: Embedded Requirements
Schätz - AutoRAID 2004/19/23
Deep Integration: Classify Constraint
Schätz - AutoRAID 2104/19/23
Deep Integration: Motivate Models
Schätz - AutoRAID 2204/19/23
Deep Integration: Construct Model Views
Schätz - AutoRAID 2304/19/23
Deep Integration: Support
Support Mechanisms:
• Management: Review-based View Generation, Multiple Views
• Analysis: Consistency/Completeness (Refinement, Motivation)
• Synthesis: View Generation (Motivation, Construction)
Schätz - AutoRAID 2404/19/23
User-Support
Deep Integration of Analysis and Design:• Smooth: Based on activities as already performed, e.g., in a review• Quality-oriented: Focusing on constructive, enabling analytic activities• Efficient: Supporting each activity by convenient tool-interaction
Component
SubComponents
Channel
ControlState
Transition
Pattern
DataTypeDataElement
Port0..*
0..*
0..*
0..*
0..*
0..2
0..*
2
1
1
0..*0..*
0..*
0..*
0..* 1
10..*
Condition
Sequence
Observation
0..*
0..*
1..*
2
2
StateObservation
EventObservation
1
1
0..*
0..*
Specification
SubRequ iremen ts 0..*0..1
ArchitecturalSpecification
DataSpecification
FunctionalSpecification
ModalSpecification 0..*
ObservationSpecification
0..*
0..1
0..1
0..*
0..*
0..*
0..10..*
AssociatedRequirements
0..*
..*0
Schätz - AutoRAID 2504/19/23
AutoRAID: Partners and Contact
Contact: www4.in.tum.de/~autoraid