Requirements Engineering From System Goals to UML Models to Software Specifications 1st Edition by Axel Van Lamsweerde – Ebook PDF Instant Download/Delivery: 8126545895, 978-8126545896
Full download Requirements Engineering From System Goals to UML Models to Software Specifications 1st Edition after payment

Product details:
ISBN 10: 8126545895
ISBN 13: 978-8126545896
Author: Axel Van Lamsweerde
The book presents both the current state of the art in requirements engineering and a systematic method for engineering high-quality requirements, broken down into four parts. The first part introduces fundamental concepts and principles including the aim and scope of requirements engineering, the products and processes involved, requirements qualities to aim at and flaws to avoid, and the critical role of requirements engineering in system and software engineering.
The second part of the book is devoted to system modeling in the specific context of engineering requirements. It presents a multi-view modeling framework that integrates complementary techniques for modeling the system-as-is and the system-to-be. The third part of the book reviews goal-based reasoning techniques to support the various steps of the KAOS method. The fourth part of the book goes beyond requirements engineering to discuss the mapping from goal-oriented requirements to software specifications and to software architecture.
Online software will accompany the book and will add value to both classroom and self-study by enabling students to build models and specifications involved in the book’s exercises and case studies, helping them to discover the latest RE technology solutions. Instructor resources such as slides, figures and handouts are available from an accompanying website.
Table of contents:
Part I: Fundamentals of Requirements Engineering
-
Setting the Scene
1.1 What is requirements engineering?
1.1.1 The problem world and the machine solution
1.1.2 Introducing our running case studies
1.1.3 The WHY, WHAT and WHO dimensions of requirements engineering
1.1.4 Types of statements involved in requirements engineering
1.1.5 Categories of requirements
1.1.6 The requirements lifecycle: Processes, actors and products
1.1.7 Target qualities and defects to avoid
1.1.8 Types of software projects
1.1.9 Requirements in the software lifecycle
1.1.10 The relationship of requirements engineering to other disciplines
1.2 Why engineer requirements?
1.2.1 Facts, data and citations about the requirements problem
1.2.2 The role and stakes of requirements engineering
1.3 Obstacles to good requirements engineering practice
1.4 Agile development processes and requirements engineering
Summary
Notes and Further Reading
Exercises -
Domain Understanding and Requirements Elicitation
2.1 Identifying stakeholders and interacting with them
2.2 Artefact-driven elicitation techniques
2.2.1 Background study
2.2.2 Data collection
2.2.3 Questionnaires
2.2.4 Repertory grids and card sorts for concept-driven acquisition
2.2.5 Storyboards and scenarios for problem world exploration
2.2.6 Mock-ups and prototypes for early feedback
2.2.7 Knowledge reuse
2.3 Stakeholder-driven elicitation techniques
2.3.1 Interviews
2.3.2 Observation and ethnographic studies
2.3.3 Group sessions
2.4 Conclusion
Summary
Notes and Further Reading
Exercises -
Requirements Evaluation
3.1 Inconsistency management
3.1.1 Types of inconsistency
3.1.2 Handling inconsistencies
3.1.3 Managing conflicts: A systematic process
3.2 Risk analysis
3.2.1 Types of risk
3.2.2 Risk management
3.2.3 Risk documentation
3.2.4 Integrating risk management in the requirements lifecycle
3.3 Evaluating alternative options for decision making
3.4 Requirements prioritization
3.5 Conclusion
Summary
Notes and Further Reading
Exercises -
Requirements Specification and Documentation
4.1 Free documentation in unrestricted natural language
4.2 Disciplined documentation in structured natural language
4.2.1 Local rules on writing statements
4.2.2 Global rules on organizing the requirements document
4.3 Use of diagrammatic notations
4.3.1 System scope: context, problem and frame diagrams
4.3.2 Conceptual structures: entity–relationship diagrams
4.3.3 Activities and data: SADT diagrams
4.3.4 Information flows: dataflow diagrams
4.3.5 System operations: use case diagrams
4.3.6 Interaction scenarios: event trace diagrams
4.3.7 System behaviours: state machine diagrams
4.3.8 Stimuli and responses: R-net diagrams
4.3.9 Integrating multiple system views and multiview specification in UML
4.3.10 Diagrammatic notations: Strengths and limitations
4.4 Formal specification
4.4.1 Logic as a basis for formalizing statements
4.4.2 History-based specification
4.4.3 State-based specification
4.4.4 Event-based specification
4.4.5 Algebraic specification
4.4.6 Other specification paradigms
4.4.7 Formal specification: strengths and limitations
4.5 Conclusion
Summary
Notes and Further Reading
Exercises -
Requirements Quality Assurance
5.1 Requirements inspections and reviews
5.1.1 The requirements inspection process
5.1.2 Inspection guidelines
5.1.3 Requirements inspection checklists
5.1.4 Conclusion
5.2 Queries on a requirements database
5.3 Requirements validation by specification animation
5.3.1 Extracting an executable model from the specification
5.3.2 Simulating the model
5.3.3 Visualizing the simulation
5.3.4 Conclusion
5.4 Requirements verification through formal checks
5.4.1 Language checks
5.4.2 Dedicated consistency and completeness checks
5.4.3 Model checking
5.4.4 Theorem proving
5.5 Conclusion
Summary
Notes and Further Reading
Exercises -
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.3.1 Traceability links
6.3.2 The traceability management process, its benefits and cost
6.3.3 Traceability management techniques
6.3.4 Determining an adequate cost–benefit trade-off for traceability management
6.4 Change control
6.4.1 Change initiation
6.4.2 Change evaluation and prioritization
6.4.3 Change consolidation
6.5 Runtime monitoring of requirements and assumptions for dynamic change
6.6 Conclusion
Summary
Notes and Further Reading
Exercises -
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.3.1 Types of goal: behavioural goals vs soft goals
7.3.2 Goal categories: Functional vs non-functional goals
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
7.6.1 Goals and scenarios
7.6.2 Intentional and operational specifications
7.6.3 Goals and use cases
7.6.4 Goals and model-checked properties
7.6.5 Goal orientation and agent orientation
7.6.6 Goal orientation and object orientation
7.6.7 Goal orientation and top-down analysis
Summary
Notes and Further Reading
Exercises
Part II. Model-Based Requirements Engineering
-
Modelling System Objectives
8.1 The role of modelling
8.2 Requirements modelling dimensions
8.2.1 The WHY dimension
8.2.2 The WHAT dimension
8.2.3 The WHO dimension
8.2.4 The HOW dimension
8.2.5 The WHEN dimension
8.2.6 The WHERE dimension
8.2.7 The dimension cart
8.3 Viewpoints and multiple views
8.4 Properties of good models
8.5 Conclusion
Summary – Notes and Further Reading – Exercises -
Modelling System Objectives with Goals
9.1 The nature and role of goals in requirements engineering
9.2 Refining goals
9.2.1 Abstraction and refinement links
9.2.2 Refinement patterns
9.2.3 Combining refinement patterns
9.3 Modelling AND/OR refinements by goal graphs
9.4 Resolving goal conflicts
9.5 Operationalizing goals
9.6 Reasoning about goals
9.6.1 Goal satisfaction analysis
9.6.2 Goal obstruction analysis
9.6.3 Goal contribution analysis
9.6.4 Goal coverage analysis
9.7 Conclusion
Summary – Notes and Further Reading – Exercises -
Modelling System Agents and Responsibilities
10.1 Agent concepts
10.2 Modelling agents
10.3 Modelling responsibilities
10.4 Assigning responsibilities to agents
10.5 Modelling goal responsibility assignments
10.6 Refinement and resolution of responsibility assignments
10.7 Conclusion
Summary – Notes and Further Reading – Exercises -
Modelling Objects, Concepts and Relationships
11.1 Object modelling basics
11.2 Conceptual object modelling
11.2.1 Entity–relationship diagrams
11.2.2 Class diagrams
11.3 Object modelling in practice
11.4 Conclusion
Summary – Notes and Further Reading – Exercises -
Modelling Scenarios and Use Cases
12.1 Scenarios in requirements engineering
12.2 Types of scenarios
12.3 Scenario notations
12.4 Scenario-based reasoning
12.5 Use cases
12.5.1 Identifying use cases
12.5.2 Structuring use cases
12.5.3 Use case diagrams
12.5.4 Use case descriptions
12.6 Conclusion
Summary – Notes and Further Reading – Exercises -
Modelling Operations and Behaviour
13.1 Operational models
13.2 Behavioural models
13.2.1 State machines
13.2.2 Event traces
13.2.3 Dataflow diagrams
13.2.4 Activity diagrams
13.3 Combining operational and behavioural models
13.4 Conclusion
Summary – Notes and Further Reading – Exercises
Part III. Advanced Topics in Requirements Engineering
-
Non-Functional Requirements
14.1 Nature and role of non-functional requirements
14.2 Categories of non-functional requirements
14.3 Modelling and analyzing non-functional requirements
14.4 Handling conflicts among non-functional requirements
14.5 Integrating non-functional and functional requirements
14.6 Conclusion
Summary – Notes and Further Reading – Exercises -
Requirements Engineering for Critical Systems
15.1 Characteristics of critical systems
15.2 Requirements for safety-critical systems
15.3 Requirements for security-critical systems
15.4 Requirements for mission-critical systems
15.5 Conclusion
Summary – Notes and Further Reading – Exercises -
Requirements Engineering in a System Context
16.1 Software requirements vs system requirements
16.2 System-of-systems requirements
16.3 Embedded systems requirements
16.4 Socio-technical systems requirements
16.5 Conclusion
Summary – Notes and Further Reading – Exercises -
Requirements Engineering and System Architecture
17.1 The relationship between requirements and architecture
17.2 Architectural drivers from requirements
17.3 Traceability between requirements and architecture
17.4 Co-evolution of requirements and architecture
17.5 Conclusion
Summary – Notes and Further Reading – Exercises -
The Future of Requirements Engineering
18.1 Emerging trends
18.1.1 Agile and lean requirements engineering
18.1.2 Requirements for AI-based systems
18.1.3 Requirements for adaptive systems
18.2 Challenges ahead
18.3 Concluding remarks
Summary – Notes and Further Reading – Exercises
People also search for:
system requirements engineer
systems engineering requirements development
systems engineering requirements decomposition
engineering system requirements
engineering requirements example
Tags: Axel Van Lamsweerde, Requirements Engineering, System Goals, UML Models


