integrating frs and nfrs: a use case and goal driven approach

14
Integrating FRs and NFRs: Integrating FRs and NFRs: A Use Case and Goal Driven A Use Case and Goal Driven Approach Approach Presented by Chin-Yi Tsai Presented by Chin-Yi Tsai

Upload: kura

Post on 01-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Integrating FRs and NFRs: A Use Case and Goal Driven Approach. Presented by Chin-Yi Tsai. Outline. Introduction A Review of UML Use Cases and the NFR Framework The Goal – Oriented Analysis and Design Framework The NFR Integration Process Conclusion. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

Integrating FRs and NFRs: Integrating FRs and NFRs: A Use Case and Goal Driven A Use Case and Goal Driven

ApproachApproach

Presented by Chin-Yi TsaiPresented by Chin-Yi Tsai

Page 2: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

2

OutlineOutline

IntroductionIntroduction

A Review of UML Use Cases and the NFR A Review of UML Use Cases and the NFR FrameworkFramework

The Goal –Oriented Analysis and Design The Goal –Oriented Analysis and Design FrameworkFramework

The NFR Integration ProcessThe NFR Integration Process

ConclusionConclusion

Page 3: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

3

IntroductionIntroduction

Function requirements using UML use cases as the Function requirements using UML use cases as the main tool for requirement elicitation and modeling.main tool for requirement elicitation and modeling.

Propose a framework for integrating NFRs with FRs Propose a framework for integrating NFRs with FRs in the use cases model.in the use cases model. NFR framework (NFRs)NFR framework (NFRs) Use case (FRs)Use case (FRs)

Association pointAssociation point Actor, use case, actor-use case, and system boundaryActor, use case, actor-use case, and system boundary

NFR scope propagation rulesNFR scope propagation rules Define the scope of the NFR in the use caseDefine the scope of the NFR in the use case

Integration ProcessIntegration Process

Page 4: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

4

A Review of UML Use Cases and the NFR A Review of UML Use Cases and the NFR FrameworkFramework

UML use casesUML use cases

The NFR frameworkThe NFR framework Goal-oriented approach for addressing NFRsGoal-oriented approach for addressing NFRs NFRs are represented as “softgoal” to be NFRs are represented as “softgoal” to be

satisficed”. satisficed”. Softgoal Interdependency Graph (SIG)Softgoal Interdependency Graph (SIG)

Page 5: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

++

On-linehelp

+

[Input/OutputFormat]

User Friendliness[User - Perform On-lineFunction AU-A]

[Help]

Tech support

[Date/time] [Language]

Actuallocalization

User definedlocalization

- - - - + +

Maintaininglocale info

Appl infostored withlocale

Displaying infoin user locale

UsingService Itemcomponent

Using UserProfilecomponent

X

Requires client-sidescripting andpermission, which canbe disabled by theuser.

Design/architecture ofCreate Service Item,Approve PriceProposal, SubmitPrice Proposal usecases

Maintain UserProfile UC

UsingPricingcomponent

[Service Item Planner -Create Service ItemAU-A]

[Procurement Manager- Approve PriceProposal AU-A]

[Supplier - Submit PriceProposal AU-A]

+ + +

+

Adopting the NFR FrameworkAdopting the NFR Framework

NFR SoftgoalName = Type[Topic]

Goal Decomposition

Operationalizaing Softgoal (design decision, strategy)

Positive Contribution

Negative Contribution

Claim

Architecture/design details

UF of performing on-line transaction = UF of performing create service item, Approve price, submit price proposals

Providing tech support greatly helps achieve user friendliness

Implementing actual localization greatly hurts user friendliness.Why?

Client-side scripting may be turned off, disabling localization feature.

Page 6: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

6

The Goal –Oriented Analysis and Design The Goal –Oriented Analysis and Design FrameworkFramework

To provide precise context for NFRsTo provide precise context for NFRs Propose that NFRs be integrated at certain Propose that NFRs be integrated at certain

points in the use case diagram call points in the use case diagram call NFR NFR Association PointsAssociation Points..

This framework specifies NFR scope This framework specifies NFR scope propagation rules to ensure requirement propagation rules to ensure requirement completeness.completeness.

Page 7: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

7

With systemE.g. Portability,Servicability,Maintainability

NFR Association Points in the Use NFR Association Points in the Use Case ModelCase Model

With actorsE.g. Scalability: Actor system supports up to 10,000 concurrent requests; Actor is expert user.

With use casesEx. Performance,Reliability, Accuracy,Accountability

With actor-use case associationsE.g. Security,Confidentiality,User friendliness,Configurability,Adaptability

ActorUse Case

Characteristics ofexternal entities

Access,communication, or

info exchangerelated NFRs

Service relatedNFRs

System

Global NFRs, orsystem related

NFRs

Page 8: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

8

Propagation Rules: Actor-NFRPropagation Rules: Actor-NFR

A1

A0

A2

N1

U1

L1

A3

Payment System

Credit Card Co.

Performance:support 1,000

trans/sec.

Collect Payment

L1

PayPal

Performance:support 1,000

trans/sec.

Performance:support 1,000

trans/sec.

Rules:An NFR associated with an actor is inherently associated with directly and indirectly specialized actors, in a more strict form

Explicitly associated with A1

N2 (a more strict form of N1) propagated to directly specialized actor A2

N3 (a more strict form of N2) propagated to indirectly specialized actor A3

But not associated with generalized actor (A0)

Example:

N2

N3

Page 9: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

9

Access on-line transaction

Deposit fund

User

Log on-line transaction

includes

Performance: turnaround time <= 8

secs.

turn aroundtime <= 8 secs

Withdraw fund

turn aroundtime <= 8 secs

turn aroundtime <= 8 secs

U1

U4

U2

A1

U6 extends

U5

extends

U3

includes

U7includes

N1

U8U9

includes

Propagation Rules: Use Case-NFRPropagation Rules: Use Case-NFR

Rules:An NFR associated with a use case is inherently associated with directly and indirectly specialized and included use cases, in a more strict form.

Explicitly associated with U1

• N3 (a more strict form of N1) propagated to U3.

N2(a more strict form than N1) propagated to U2.

N8 (a more strict form than N2) propagated to U8

N3

N9

N2

N8

N9 (a more strict form of N3 propagated to U9

Page 10: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

10

Explicitly associated with L1

Propagation Rules: Actor-Use Case Propagation Rules: Actor-Use Case Association NFRAssociation NFR

N2 (a more strict form of N1) propagated to L2

Rules:An NFR associated with an actor-use case association is inherently associated with the association between directly or indirectly specialized actors and use cases, in a more strict form.

Service Item Planner Create Service Item

Procurement ManagerApprove Price Proposal

User Access On-line Function

User Friendly:for world-wide

users

User Friendly:for world-wide

users

User Friendly:for world-wide

users

N3 (a more strict form of N2) propagated to L3

A1

A0

A2

N1

U1

U2

L1

L2

U0

L0

A3 U3

N2

N3

Page 11: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

11

System

A1

A2

N0

U1

U2

L1

L2

Propagation Rules: System - NFRPropagation Rules: System - NFR

System

Network Equipment

Extendability:accomodate new

network equipment typewithin 1 month

Send alarm

Generate trouble ticket

extends

Extendability:accomodate new

network equipment typewithin 1 month

Extendability:accomodate new

network equipment typewithin 1 month

Explicitly associated with system Rules:

An NFR associated with the system inherently associated with all use cases, in a more strict form.

N1 (a more strict form of N0) propagated to U1

N2 (a more strict form of N1) propagated to U2

N1

N2

Page 12: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

12

FRs and NFRs Integration ProcessFRs and NFRs Integration Process

Page 13: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

Illustration using the Pricing SystemIllustration using the Pricing SystemIdentify Use Case Elements and Associated NFRsIdentify Use Case Elements and Associated NFRs

Page 14: Integrating FRs and NFRs: A Use Case and Goal Driven Approach

Refine and Satisfice NFR and Operationalizing Refine and Satisfice NFR and Operationalizing SoftgoalsSoftgoals