Requirements engineering for software and systems

"This textbook provides a comprehensive treatment of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for software systems. New chapters examine nonfunctional requirements and requirements of systems using disruptive techno...

Descripción completa

Detalles Bibliográficos
Otros Autores: Laplante, Phillip A., author (author), Kassab, Mohamad, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Boca Raton, Florida ; Abingdon, Oxon : CRC Press [2022]
Edición:Fourth edition
Colección:Applied software engineering series.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009757939406719
Tabla de Contenidos:
  • Cover
  • Half Title
  • Title Page
  • Copyright Page
  • Table of Contents
  • Preface
  • Acknowledgments
  • Authors
  • 1 Introduction to Requirements Engineering
  • Motivation
  • What Is Requirements Engineering?
  • You Probably Don't Do Enough Requirements Engineering
  • What Are Requirements?
  • Requirements vs. Features vs. Goals
  • Requirements Classifications
  • Requirements Level Classification
  • Requirements Specifications Types
  • Functional Requirements
  • Nonfunctional Requirements
  • Domain Requirements
  • Domain Vocabulary Understanding
  • Requirements Engineering Activities
  • Requirements Elicitation/Discovery
  • Requirements Analysis and Agreement
  • Requirements Representation
  • Requirements Validation
  • Requirements Management
  • Bodies of Knowledge
  • The Requirements Engineer
  • Requirements Engineer Roles
  • Requirements Engineer as Software or Systems Engineer
  • Requirements Engineer as Subject Matter Expert
  • Requirements Engineer as Architect
  • Requirements Engineer as Business Process Expert
  • Ignorance as Virtue
  • Role of the Customer
  • Problems with Traditional Requirements Engineering
  • Complexity
  • Gold-Plating and Ridiculous Requirements
  • Obsolete Requirements
  • Four Dark Corners
  • Difficulties in Enveloping System Behavior
  • The Danger of "All" in Specifications
  • Exercises
  • References
  • 2 Preparing for Requirements Elicitation
  • Product Business Goals and Mission Statements
  • Encounter with a Customer
  • Identifying the System Boundaries
  • Context Diagrams
  • Stakeholders
  • Negative Stakeholders
  • Stakeholder Identification
  • Stakeholder Identification Questions
  • Rich Pictures
  • Stakeholder/User Classes
  • Stakeholders vs. Use Case Actors
  • User Characteristics
  • Customer Wants and Needs
  • What Do Customers Want?
  • What Don't Customers Want?
  • Why Do Customers Change Their Minds?.
  • Stakeholder Prioritization
  • Communicating with Customers and Other Stakeholders
  • Managing Expectations
  • Stakeholder Negotiations
  • Uncovering Stakeholder Goals
  • Exercises
  • Note
  • References
  • 3 Requirements Elicitation
  • Introduction
  • Requirements Elicitation - First Step
  • Elicitation Techniques Survey
  • Brainstorming
  • Card Sorting
  • Crowdsourcing
  • Designer as Apprentice
  • Domain Analysis
  • Ethnographic Observation
  • Goal-Based Approaches
  • Group Work
  • Interviews
  • Introspection
  • Joint Application Design
  • Laddering
  • Protocol Analysis
  • Prototyping
  • Quality Function Deployment
  • Questionnaires/Surveys
  • Repertory Grids
  • Reverse Engineering
  • Scenarios
  • Task Analysis
  • Use Cases
  • User Stories
  • Viewpoints
  • Workshops
  • Eliciting Nonfunctional Requirements
  • Elicitation Summary
  • Which Combination of Requirements Elicitation Techniques Should Be Used?
  • Prevalence of Requirements Elicitation Techniques
  • Eliciting Hazards
  • Misuse Cases
  • Antimodels
  • Formal Methods
  • Exercises
  • Note
  • References
  • 4 Writing the Requirements Document
  • Requirements Agreement and Analysis
  • Requirements Representation
  • Approaches to Requirements Representation
  • ISO/IEC/IEEE Standard 29148
  • Recommendations on Representing Nonfunctional Requirements
  • Recommendations on Representing Functional Requirements
  • Operating System
  • Command Validation
  • UML/SysML
  • The Requirements Document
  • Users of a Requirements Document
  • Requirements Document Requirements
  • Preferred Writing Style
  • Text Structure Analysis
  • Requirement Format
  • Use of Imperatives
  • Shall or Shall Not?
  • Avoiding Imprecision in Requirements
  • Requirements Document Size
  • Behavioral Specifications
  • Best Practices and Recommendations
  • Exercises
  • References
  • 5 On Nonfunctional Requirements.
  • Motivation to Consider NFRs Earlier in Development
  • What Is an NFR?
  • What Are the Different Types of NFRs?
  • Quality Requirements in Practice
  • Specifying with Quality Attribute Scenarios
  • Specifying with Planguage
  • Popular Quality Requirements
  • Security
  • Modifiability
  • Interoperability
  • Performance
  • Testability
  • Usability
  • Other Approaches to Handle NFRs in RE
  • NFR Framework
  • Incorporating NFRs with UML Models
  • Exercises
  • References
  • 6 Requirements Validations and Verifications
  • What Is Requirements Risk Management?
  • Validation and Verification
  • Techniques for Requirements V&amp
  • V
  • Walkthroughs
  • Inspections
  • Goal-Based Requirements Analysis
  • Requirements Understanding
  • Validating Requirements Use Cases
  • Prototyping
  • Tools for V&amp
  • V
  • Requirements V&amp
  • V Matrices
  • Standards for V&amp
  • V
  • ISO/IECIEEE Standard 29148
  • Singularity
  • Feasibility
  • Ambiguity
  • Completeness
  • Consistency
  • Verifiability
  • Traceability
  • Ranking
  • Example Validation of Requirements
  • Singular
  • Feasible
  • Unambiguous
  • Complete
  • Consistent
  • Verifiable
  • Traceable
  • Ranked
  • The Importance of Measurement in Requirements V&amp
  • V
  • Goal/Question/Metric Analysis
  • NASA Requirements Testing
  • NASA ARM Tool
  • Imperatives
  • Continuances
  • Directives
  • Options
  • Weak Phrases
  • Incomplete
  • Subjects
  • Specification Depth
  • Readability Statistics
  • Summary of NASA Metrics
  • Exercises
  • Note
  • References
  • 7 Formal Methods
  • Motivation
  • What Are Formal Methods?
  • Formal Methods Classification
  • A Little History
  • Using Formal Methods
  • Examples
  • Formalization of Train Station in B
  • Formalization of Space Shuttle Flight Software Using MurΦ
  • Formalization of an Energy Management System Using Category Theory
  • Example: An Energy Management System.
  • Other Notable Formal Methods for Requirements Engineering
  • Requirements Validation
  • Consistency Checking Using Truth Tables
  • Consistency Checking by Inspection
  • Consistency Checking Limitations
  • Theorem Proving
  • Program Correctness
  • Hoare Logic
  • Model Checking
  • Integrated Tools
  • Which Formal Approach to Use?
  • Objections, Myths, and Limitations
  • Objections and Myths
  • Limitations of Formal Methods
  • Combining Formal and Informal Methods
  • Bowen and Hinchey's Advice
  • Exercises
  • Notes
  • References
  • 8 Requirements Specification and Agile Methodologies
  • Introduction to Agile Methodologies
  • Principles Behind the Agile Manifesto
  • Benefits of Agile Software Development
  • Extreme Programming
  • Scrum
  • Kanban
  • Lean Development
  • Requirements Engineering for Agile Methodologies
  • Technical Debt
  • Example Application of Agile Software Development
  • When Is Agile Recommended?
  • Requirements Engineering in XP
  • Requirements Engineering in Scrum
  • Gathering User Stories
  • Writing User Stories
  • Estimating User Stories
  • Prioritizing User Stories
  • User Stories vs. Use Cases
  • Agile Requirements Engineering vs. Requirements Engineering in Agile
  • Story-Test-Driven Development
  • State of Practice for Requirements Engineering in Agile Methodologies
  • Challenges for Requirements Engineering in Agile Methodologies
  • Exercises
  • Notes
  • References
  • 9 Tool Support for Requirements Engineering
  • Introduction
  • Traceability Support
  • Requirements Linkage Traceability Matrix
  • Requirements Source Traceability Matrix
  • Requirements Stakeholder Traceability Matrix
  • Requirements Management Tools
  • Tool Evaluation
  • Open-Source Requirements Engineering Tools
  • FreeMind
  • FitNesse
  • Requirements Engineering Tool Best Practices
  • Elicitation Support Technologies.
  • Using Wikis for Requirements Elicitation
  • Mobile Technologies
  • Virtual Environments
  • Content Analysis
  • Artificial Intelligence
  • Requirements Metrics
  • Exercises
  • References
  • 10 Requirements Management
  • Introduction
  • Requirements Management Process
  • Configuration Management and Control
  • Reconciling Differences
  • Managing Divergent Agendas
  • Consensus Building
  • Analytical Hierarchical Process (AHP)
  • Wideband Delphi Technique
  • Expectation Revisited: Pascal's Wager
  • Global Requirements Management
  • Antipatterns in Requirements Management
  • Environmental Antipatterns
  • Divergent Goals
  • Process Clash
  • Management Antipatterns
  • Metric Abuse
  • Mushroom Management
  • Other Paradigms for Requirements Management
  • Requirements Management and Improvisational Comedy
  • Requirements Management as Scriptwriting
  • Standards for Requirements Management
  • Capability Maturity Model Integration
  • ISO 9001
  • ISO/IEEE 12207
  • Six Sigma
  • Exercises
  • Notes
  • References
  • 11 Value Engineering of Requirements
  • What, Why, When, and How of Value Engineering
  • What Is Value Engineering?
  • When Does Value Engineering Occur?
  • Challenges to Simple Cost vs. Risk Analysis
  • Estimating Software Effort
  • The Aspect of Software Size
  • Software Length
  • Software Complexity
  • Functional Size
  • Estimating Using Function Points
  • Function Point Cost Drivers
  • Estimating Using COSMIC
  • The Relationship between Functional Size and Effort
  • Estimating Using COCOMO and Its Derivatives
  • COCOMO
  • WEBMO
  • COSYSMO
  • Feature Points
  • Use Case Points
  • Considerations for Nonfunctional Requirements in Size Measurements
  • Software Effort Estimation in Practice
  • Requirements Feature Cost Justification
  • Return on Investment
  • Net Present Value
  • Internal Rate of Return
  • Profitability Index
  • Payback Period.
  • Discounted Payback.