Requirements Engineering - From System Goals toUML Models to Software Specifications
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Requirements Engineering - From System Goals toUML Models to Software Specifications

English

Essential comprehensive coverage of the fundamentals of requirements engineering

Requirements engineering (RE) deals with the variety of prerequisites that must be met by a software system within an organization in order for that system to produce stellar results. With that explanation in mind, this must-have book presents a disciplined approach to the engineering of high-quality requirements. Serving as a helpful introduction to the fundamental concepts and principles of requirements engineering, this guide offers a comprehensive review of the aim, scope, and role of requirements engineering as well as best practices and flaws to avoid.

  • Shares state-of-the-art techniques for domain analysis, requirements elicitation, risk analysis, conflict management, and more
  • Features in-depth treatment of system modeling in the specific context of engineering requirements
  • Presents various forms of reasoning about models for requirements quality assurance
  • Discusses the transitions from requirements to software specifications to software architecture

In addition, case studies are included that complement the many examples provided in the book in order to show you how the described method and techniques are applied in practical situations.

English

Axel van Lamsweerde is Professor in the Department of Computing Science at the Université catholique de Louvain (UCL), Belgium. He recently received the ACM SIGSOFT Outstanding Research Award for "deep and lasting contributions to the theory and practice of requirements engineering".

English

Foreword.

Preface.

Part I: Fundamentals of Requirements Engineering.

1. Setting the Scene.

1.1 What is requirements engineering?

1.2 Why engineer requirements?

1.3 Obstacles to good requirements engineering practice.

1.4 Agile development processes and requirements engineering.

Summary.

Notes and Further Reading.

Exercises.

2. Domain Analysis and Requirements Elicitation.

2.1 Identifying stakeholders and interacting with them.

2.2 Artefact-driven elicitation techniques.

2.3 Stakeholder-driven elicitation techniques.

2.4 Conclusion.

Summary.

Notes and Further Reading.

Exercises.

3. Requirements Evaluation.

3.1 Inconsistency management.

3.2 Risk analysis.

3.3 Evaluating alternative options for decision making.

3.4 Requirements prioritization.

3.5 Conclusion.

Summary.

Notes and Further Reading.

Exercises.

4. Requirements Specification and Documentation.

4.1 Free documentation in unrestricted natural language.

4.2 Disciplined documentation in structured natural language.

4.3 Use of diagrammatic notations.

4.4 Formal specification.

4.5 Conclusion.

Summary.

Notes and Further Reading.

Exercises.

5. Requirements Quality Assurance.

5.1 Requirements inspections and reviews.

5.2 Queries on a requirement database.

5.3 Requirements validation by specification animation.

5.4 Requirements verification through formal checks.

5.5 Conclusion.

Summary.

Notes and Further Reading.

Exercises.

6. Requirements Evolution.

6.1 The time-space dimensions of evolution: Revisions and variants.

6.2 Change anticipation.

6.3 Traceability management for evolution support.

6.4 Change control.

6.5 Runtime monitoring of requirements and assumptions for dynamic change.

6.6 Conclusion.

Summary.

Notes and Further Reading.

Exercises.

7. Goal-Orientation in Requirements Engineering.

7.1 What are goals?

7.2 The granularity of goals and their relationship to requirements and assumptions.

7.3 Goal types and categories.

7.4 The central role of goals in the requirements engineering process.

7.5 Where are goals coming from?

7.6 The relationship of goals to other requirements-related products and processes.

Summary.

Notes and Further Reading.

Exercises.

Part II: Building System Models for Requirements Engineering.

8. Moddeling System Objectives with Goal Diagrams.

8.1 Goal features as model annotations.

8.2 Goal refinement.

8.3 Representing conflicts among goals.

8.4 Connecting the goal model with other system views.

8.5 Modelling alternative options.

8.6 Goal diagrams as AND/OR graphs.

8.7 Documenting goal refinements and assignments with annotations.

8.8 Building goal models: Heuristic rules and reusable patterns.

Summary.

Notes and Further Reading.

Exercises.

9. Anticipating What Could Go Wrong: Risk Analysis on Goal Models.

9.1 Goal obstruction by obstacles.

9.2 Modelling obstacles.

9.3 Obstacle analysis for a more robust goal model.

Summary.

Notes and Further Reading.

Exercises.

10. Moddeling Conceptual Objects with Class Diagrams.

10.1 Representing domain concepts by conceptual objects.

10.2 Entities.

10.3 Associations.

10.4 Attributes.

10.5 Built-in associations for structuring object models.

10.6 More on class diagrams.

10.7 Heuristic rules for building object models.

Summary.

Notes and Further Reading.

Exercises.

11. Moddeling System Agents and Responsibilities.

11.1 What are agents?

11.2 Characterizing system agents.

11.3 Representing agent models.

11.4 Refinement of abstract agents.

11.5 Building agent models.

Summary..

Notes and Further Reading.

Exercises.

12. Moddeling System Operations.

12.1 What are operations?

12.2 Characterizing system operations.

12.3 Goal operationalization.

12.4 Goals, agents, objects and operations: The Sematic picture.

12.5 Representing operation models.

12.6 Building operation models.

Summary.

Notes and Further Reading.

Exercises.

13. Moddeling System Behaviors.

13.1 Modelling instance behaviours.

13.2 Modelling class behaviours.

13.3 Building behaviour models.

Summary.

Notes and Further Reading.

Exercises.

14. Integrating Multiple System Views.

14.1 A meta-model for view integration.

14.2 Inter-view consistency rules.

14.3 Grouping related view fragments into packages.

Summary.

Notes and Further Reading.

Exercises.

15. A Goal-Oriented Model Building Method in Action.

15.1 Modelling the system-as-is.

15.2 Modelling the system-to-be.

15.3 Handling model variants for product lines.

Summary.

Notes and Further Reading.

Exercises.

Part III: Reasoning About System Models.

16. Semi-Formal Reasoning for Model Analysis and Exploitation.

16.1 Query-based analysis of the model database.

16.2 Semi-formal analysis of goal-oriented models.

16.3 Reasoning about alternative options.

16.4 Model-driven generation of the requirements document.

16.5 Beyond RE: From goal-oriented requirements to software architecture.

Summary.

Notes and Further Reading.

Exercises.

17. Formal Specification of System Models.

17.1 A real-time temporal logic for specifying model annotations.

17.2 Specifying goals in the goal model.

17.3 Specifying descriptive properties in the object model.

17.4 Specifying operationalizations in the operation model.

17.5 Back to the system’s semantic picture.

Summary.

Notes and Further reading.

Exercises.

18. Formal Reasoning for Specification Construction and Analysis.

18.1 Checking goal refinements.

18.2 Deriving goal operationalizations.

18.3 Generating obstacles for risk analysis.

18.4 Generating anti-goals for security analysis.

18.5 Formal conflict analysis.

18.6 Synthesizing behaviour models for animation and model checking.

Summary.

Notes and Further Reading.

Exercise.

Bibliography.

Index..

Bibliography.

Requirements Document Generated from a Goal-Oriented Model.

Index.

loading