Ch 7: requirements Flashcards
What is the definition of requirement?
“The requirement specification describes the system’s environment, function,
performance, logistics and cost of each module.”
What are the steps for requirement engineering?
inception, elicitation, elaboration, negotiations, specification, validation and the management
Describe each step in requirement engineering
Inception: Software projects begin with a business need or market discovery, requiring a basic understanding of the problem and effective collaboration between stakeholders and the software team.
Elicitation: Involves understanding business goals and capturing stakeholder ideas, establishing a prioritization mechanism, and encouraging iterative development to manage emerging requirements.
Elaboration: Focuses on refining the requirements model through user scenarios, analysis classes, and establishing a firm base for design while avoiding excessive detailing.
Negotiation: Resolves conflicts and reconciles differing requirements through prioritization, assessment of cost and risk, and iterative negotiation to ensure mutual satisfaction.
Specification: Involves creating a detailed document or models, using flexible formats for different software sizes, and maintaining consistency and understandability through standardized templates.
Validation: Ensures consistency and quality of work products by reviewing specifications for errors, ambiguities, and inconsistencies while conforming to established standards.
Requirements Management: A set of activities aiding in identifying, controlling, and tracking requirements and changes throughout the project’s lifecycle, resembling techniques used in software configuration management.
What are the requirement types?
Based on priority:
▶ Those that should be absolutely
met
▶ Those that are highly desirable
but not necessary
▶ Those that are possible but could
be eliminated
Based on functionality:
▶ Functional
▶ Define factors such as:, I/O format, storage structure, computational capabilities,
timing, synchronization
▶ Non-functional
▶ Define properties and qualities
such as: usability, efficiency, performance, reliability, portability
What is the iron triangle?
You can have two: good, fast, or cheap
What are the most important characteristics of a SRS in the IEEE standard (830-1998)?
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
2. Overall description
2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
3. Specific requirements (See 5.3.1 through 5.3.8 for explanations of possible
specific requirements. See also Annex A for several different ways of organizing
this section of the SRS.)
Appendixes
Index