Escolar Documentos
Profissional Documentos
Cultura Documentos
Software Requirements
2019-I
©
Software Requirements
Introduction
Definition
(i)
Requirements are the features that a software system
must provide.
(ii)
A software requirement is a property that must be
exhibited by something in order to solve some problem in
the real world.
Properties
S—Should
These are important features that should be included if possible
C—Could
These are desirable features that can be omitted if they won’t fit in the schedule.
W—Won’t
These are completely optional features that the customers have agreed will not be
included in the current release.
Requirement Categories
Business User
Functionality Usability
Requirements Requirements
Functional Nonfunctional
Reliability Performance
Requirements Requirements
Implementation
Supportability
Requirements
FURPS+
Design Implementation
Constraints Requirements
Interface Physical
Requirements Requirements
What?
How?
Requirements Process
Requirements Process
Process Models
Process Actors
• Users
• Customers
• Market Analysts
• Regulators
• Software Engineers
Requirements Elicitation
Requirements Elicitation
• Goals
• Domain Knowledge
• Stakeholders
Requirements Sources • Business Rules
• Operational Environment
• Organizational Environment
• Interviews
• Scenarios
• Prototypes
Elicitation Techniques • Facilitated Meetings
• Observation
• User Stories
Requirements Analysis
Requirements Analysis
Requirements Classification
Conceptual Modeling
Formal
Analysis
Architectural Design
Requirements Negotiation
Requirements Specification
Requirements Specification
Requirements Validation
Requirements Validation
Requirements Reviews
Prototyping
Model Validation
Acceptance Tests
Bibliography
• [BOURQUE] P. Bourque and R. E. Fairley, SWEBOK V3.0: Guide to the Software
Engineering Body of Knowledge. 2014.
• [STEPHENS] R. Stephens, Beginning Software Engineering. 2015.