Software requirement elicitation

Post on 13-Apr-2017

379 views 0 download

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