Model-Based Requirements Engineering with Auto-RAID

25
Model-Based Requirements Engineering with Auto- RAID Bernhard Schätz Technische Universität München Institut für Informatik 08.03.2005 - ReConf 2005

description

Model-Based Requirements Engineering with Auto-RAID. Bernhard Schätz Technische Universität München Institut für Informatik 08.03.2005 - ReConf 2005. Best Practices. Best Requirements Practices for System Software: Formal Requirements Requirements Inspection Requirements Tracing - PowerPoint PPT Presentation

Transcript of Model-Based Requirements Engineering with Auto-RAID

Page 1: 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

Page 2: Model-Based Requirements Engineering with Auto-RAID

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

Page 3: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 304/19/23

Describing Embedded Systems

Page 4: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 404/19/23

Quality Criteria

Quality criteria for system specifications (IEEE 830-1998):

– Changeability

– Traceability

– Comprehensibility

– Consistency

– Completeness

– Unambiguity

Page 5: Model-Based Requirements Engineering with Auto-RAID

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

Page 6: Model-Based Requirements Engineering with Auto-RAID

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

Page 7: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 704/19/23

Structured Information

Flexibility

FlexibilityPrecision

Precision

Analysis Design

Page 8: Model-Based Requirements Engineering with Auto-RAID

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

Page 9: Model-Based Requirements Engineering with Auto-RAID

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

Page 10: Model-Based Requirements Engineering with Auto-RAID

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..*

Page 11: Model-Based Requirements Engineering with Auto-RAID

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

Page 12: Model-Based Requirements Engineering with Auto-RAID

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

Page 13: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 1304/19/23

Weak Integration: Identify Requirements

Page 14: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 1404/19/23

Weak Integration: Refine Requirements

Page 15: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 1504/19/23

Weak Integration: Link Models

Page 16: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 1604/19/23

Weak Integration: Support

Support mechanisms:

• Management: Import, Refinement, Linking

• Analysis: Coverage/Completeness (Refinement, Linking)

• Synthesis: Documentation

Page 17: Model-Based Requirements Engineering with Auto-RAID

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

Page 18: Model-Based Requirements Engineering with Auto-RAID

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

Page 19: Model-Based Requirements Engineering with Auto-RAID

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

Page 20: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 2004/19/23

Deep Integration: Classify Constraint

Page 21: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 2104/19/23

Deep Integration: Motivate Models

Page 22: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 2204/19/23

Deep Integration: Construct Model Views

Page 23: Model-Based Requirements Engineering with Auto-RAID

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)

Page 24: Model-Based Requirements Engineering with Auto-RAID

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

Page 25: Model-Based Requirements Engineering with Auto-RAID

Schätz - AutoRAID 2504/19/23

AutoRAID: Partners and Contact

Contact: www4.in.tum.de/~autoraid