1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions
2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance Software Requirements Specification - SRS
3 Who does requirements engineering? requirements engineer customer system designer
4 What are the activities? problem analysis product description “complete” understanding of requirements consistent SRS customer needs
5 Problem Analysis: –understand the problem (space) –expand information –specify constraints: find them analyze them resolve conflicts –specify the solution space Product Description: –describe the problem –compress information –set limits: constraints assumptions –check completeness consistency
6 Levels of Software Requirements Business Needs Business Rules System Requirements Constraints- e.g., standards, architecture Customer Satisfaction User Satisfaction Tester Support Developers Support Vision & Scope Document Business Requirements Quality Attributes Use Case Document Software Requirements Specification User Requirements Functional Requirements Other Extra-functional Requirements User Expectations
7 Components of Requirements Engineering Requirements Engineering Requirements Management Requirements Development Elicitation Analysis Modeling & Specification Verification & Validation Change Control Version Control Tracing Status Tracking
8 Typical Methods & Techniques interviews hands-on experience documentation analysis scenarios (formal) description completeness and consistency checking conflict resolution techniques
9 The Product: SRS Standards: –IEEE / ANSI –DoD 2167A / DI-MCCR-80025A (SRS) –NASA SFW-DID-08 (SRS) –company internal standards?
10 Elements of an SRS user goals context description behavioral/functional requirements non-behavioral/extra-functional requirements constraints assumptions ===> WHAT
11 NOT included in an SRS: project management design information quality assurance plans staffing cost analysis ===> HOW
12 An SRS should be: correct non-ambiguous complete verifiable consistent understandable modifiable traceable annotated ===> formal vs. informal requirements specification
13 IEEE Std Introduction 1.1 Purpose of SRS 1.2 Scope of product 1.3 Definitions, acronyms, abbreviations 1.4 Overview
14 IEEE Std General description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies
15 IEEE Std Specific requirements 3.1 Functional requirements 3.2 External interface requirements 3.3 Performance requirements 3.4 Design constraints 3.5 Attributes 3.6 Other requirements Alternatives!
16 End of Section 2a coming up: Data Flow Diagrams