Software requirement elicitation

49
Software Requirement Elicitation - Aime -

Transcript of Software requirement elicitation

Page 1: Software requirement elicitation

Software Requirement Elicitation

- Aime -

Page 2: Software requirement elicitation

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

Page 3: Software requirement elicitation

WHAT

Page 4: Software requirement elicitation

IS

Page 5: Software requirement elicitation

“Requirement Elicitation”

Page 6: Software requirement elicitation

“Requirement Analysis”

Page 7: Software requirement elicitation

Requirements vs Constraints

describe what we want to happen

describe real-world limits or boundaries around what we want to happen

Page 8: Software requirement elicitation

SRSSoftware Requirement Specification

Page 9: Software requirement elicitation

Introduction

Overall Description

Specific Requirement

Functional Requirement

Non-Functional Requirement

User Interface

Glossary

Content of SRS

Page 10: Software requirement elicitation

WHY

Page 11: Software requirement elicitation

Important of Software Requirement Elicitation

Page 12: 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

Page 13: 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

Page 14: Software requirement elicitation

TYPEof Requirement

Page 15: Software requirement elicitation

MUST, SHALL, WILL

Page 16: Software requirement elicitation

FunctionalRequirement

Non-FunctionalRequirement

Page 17: Software requirement elicitation

FunctionalRequirement

Non-FunctionalRequirement

Performance Requirement

Quality Requirement

Safety Requirement

Security Requirement

Interface Requirement

ETC.

Page 18: Software requirement elicitation

Non-Functional Requirement - Performance

“rental service must responses the request to user within 0.5 milliseconds”

Page 19: Software requirement elicitation

Non-Functional Requirement - Quality

“The service must be available to response 99% of time”

Page 20: Software requirement elicitation

Non-Functional Requirement - Safety

“The system must save the transaction and can recover history transaction if it fails”

Page 21: Software requirement elicitation

Non-Functional Requirement - Security

“The system must encrypt all data that transmit over the internet”

Page 22: Software requirement elicitation

Non-Functional Requirement - Interface

“Rent button must be red and lighter when cursor is hovering on it”

Page 23: Software requirement elicitation

5 STEPsfor Software Requirement Elicitation

Page 24: Software requirement elicitation

1. Collecting Information

2. Constructing model

3. Deriving requirement & constraint

4. ConductingFeasibility Study

5. Review

Page 25: Software requirement elicitation

1. Collecting Information

2. Constructing model

3. Deriving requirement & constraint

4. ConductingFeasibility Study

5. Review1. Collecting Information

Page 26: Software requirement elicitation

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

Page 27: Software requirement elicitation

Step 1 : Collecting Information - Cont.

Information-Collection Activity should aim to acquire :

● Information about application● Business Process● Application Domain

Page 28: Software requirement elicitation

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

Page 29: Software requirement elicitation

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”

Page 30: Software requirement elicitation

1. Collecting Information

2. Constructing model

3. Deriving requirement & constraint

4. ConductingFeasibility Study

5. Review

2. Constructing model

Page 31: Software requirement elicitation

Step 2 : Constructing Model

“REAL WORLD APPLICATION ARE

COMPLEX”

Page 32: Software requirement elicitation

Step 2 : Constructing Model

CLASS DIAGRAM

Page 33: Software requirement elicitation

Step 2 : Constructing Model

USE CASE DIAGRAM

Page 34: Software requirement elicitation

Step 2 : Constructing Model

SEQUENCE DIAGRAM

Page 35: Software requirement elicitation

Step 2 : Constructing Model

STATE DIAGRAM

Page 36: Software requirement elicitation

Step 2 : Constructing Model

ACTIVITY DIAGRAM

Page 37: Software requirement elicitation

1. Collecting Information

2. Constructing model

3. Deriving requirement & constraint

4. ConductingFeasibility Study

5. Review

3. Deriving requirement & constraint

Page 38: Software requirement elicitation

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

Page 39: Software requirement elicitation

1. Collecting Information

2. Constructing model

3. Deriving requirement & constraint

4. ConductingFeasibility Study

5. Review

4. ConductingFeasibility Study

Page 40: Software requirement elicitation

Step 4 : Conducting Feasibility Study

Team Ability Budget Schedule

Page 41: Software requirement elicitation

1. Collecting Information

2. Constructing model

3. Deriving requirement & constraint

4. ConductingFeasibility Study

5. Review5. Review

Page 42: Software requirement elicitation

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

Page 43: Software requirement elicitation

AGILEApplying with

Page 44: Software requirement elicitation

AGILEWHY?

Page 45: Software requirement elicitation

AGILE REDUCE ...

COST TIME

Page 46: Software requirement elicitation

BECAUSE ...

Customer Collaboration Change Handling Modeling

Page 47: Software requirement elicitation

Requirements

&MANAGEMENTTOOLS

Page 48: Software requirement elicitation
Page 49: Software requirement elicitation

Q&A