Software requirement elicitation
-
Upload
pankamol-srikaew -
Category
Software
-
view
378 -
download
0
Transcript of Software requirement elicitation
Software Requirement Elicitation
- Aime -
Content
● What is Requirement Elicitation?● Why? - Importance of Requirement
Elicitation● Challenges of Requirement
Elicitation● Types of Requirement● 5 Steps to Extract Requirement● Applying with Agile● Requirement Management and Tool
WHAT
IS
“Requirement Elicitation”
“Requirement Analysis”
Requirements vs Constraints
describe what we want to happen
describe real-world limits or boundaries around what we want to happen
SRSSoftware Requirement Specification
Introduction
Overall Description
Specific Requirement
Functional Requirement
Non-Functional Requirement
User Interface
Glossary
Content of SRS
WHY
Important of Software Requirement Elicitation
Different users have differents requirement
37% of software development failure is on requirement
“Many Project fail because of wrongly identified or inadequately stated requirement”
“The hardest single part of building a software system is deciding precisely what to build”
Importance of Software Requirement Elicitation
Software development in general is a wicked problem
Customer and users do not know what software can do and can not express their needs
Communication barrier between customer/user and development team
Non-functional requirement are not identified or understated
Requirement Change ...
Challenges of Software Requirement Elicitation
TYPEof Requirement
MUST, SHALL, WILL
FunctionalRequirement
Non-FunctionalRequirement
FunctionalRequirement
Non-FunctionalRequirement
Performance Requirement
Quality Requirement
Safety Requirement
Security Requirement
Interface Requirement
ETC.
Non-Functional Requirement - Performance
“rental service must responses the request to user within 0.5 milliseconds”
Non-Functional Requirement - Quality
“The service must be available to response 99% of time”
Non-Functional Requirement - Safety
“The system must save the transaction and can recover history transaction if it fails”
Non-Functional Requirement - Security
“The system must encrypt all data that transmit over the internet”
Non-Functional Requirement - Interface
“Rent button must be red and lighter when cursor is hovering on it”
5 STEPsfor Software Requirement Elicitation
1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. ConductingFeasibility Study
5. Review
1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. ConductingFeasibility Study
5. Review1. Collecting Information
Step 1 : Collecting Information
1. What information needs to be collect?
2. What are the available information-collection method and techniques?
3. What are the guideline for information gathering
Step 1 : Collecting Information - Cont.
Information-Collection Activity should aim to acquire :
● Information about application● Business Process● Application Domain
Step 1 : Collecting Information - Cont.
Information-Collection Techniques
● Customer Presentation● Literature Survey● Study of Existing Business Procedure and Forms● Stakeholders Survey● User Interviewing● Writing User Stories
Step 1 : Collecting Information - Cont.
User Story Form
“As a ______, I want to ________”
User Story Example
“As a manager, I want to assign each part of work to each specific employee”
“As a manager, I want to broadcast weekly schedule too all employee”
“As an employee, I want to contact with manager via personal message”
“As an employee, I want to commute with other employee via Live Chat”
1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. ConductingFeasibility Study
5. Review
2. Constructing model
Step 2 : Constructing Model
“REAL WORLD APPLICATION ARE
COMPLEX”
Step 2 : Constructing Model
CLASS DIAGRAM
Step 2 : Constructing Model
USE CASE DIAGRAM
Step 2 : Constructing Model
SEQUENCE DIAGRAM
Step 2 : Constructing Model
STATE DIAGRAM
Step 2 : Constructing Model
ACTIVITY DIAGRAM
1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. ConductingFeasibility Study
5. Review
3. Deriving requirement & constraint
Step 3 : Deriving Requirements & Constraints
Information have to be analyzed to satisfy the needs.
Identifying Needs from the Wishlists
Identifying Needs to Satisfy Business Goals
Deriving Requirement from Needs
Deriving Requirement from Analysis Model
Numbering Requirements and Constraints
Prioritizing Requirements
1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. ConductingFeasibility Study
5. Review
4. ConductingFeasibility Study
Step 4 : Conducting Feasibility Study
Team Ability Budget Schedule
1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. ConductingFeasibility Study
5. Review5. Review
Step 5 : Reviewing Requirement Specification
Technical Review Expert Review Customer Review
● Incompleteness● Inconsistency● Ambiguity● Redundancy● Intractability● Infeasibility
● Incorrectness● Inaccurate● Inappropriate● Inconsistent● Policy● Standard● Law● Rules● Behavior
● Correctness● Meet the needs● User Interface● All Function● All Non-Function
AGILEApplying with
AGILEWHY?
AGILE REDUCE ...
COST TIME
BECAUSE ...
Customer Collaboration Change Handling Modeling
Requirements
&MANAGEMENTTOOLS
Q&A