integrating frs and nfrs: a use case and goal driven approach
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 PresentationTRANSCRIPT
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
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
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
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)
++
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.
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.
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
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
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
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
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
12
FRs and NFRs Integration ProcessFRs and NFRs Integration Process
Illustration using the Pricing SystemIllustration using the Pricing SystemIdentify Use Case Elements and Associated NFRsIdentify Use Case Elements and Associated NFRs
Refine and Satisfice NFR and Operationalizing Refine and Satisfice NFR and Operationalizing SoftgoalsSoftgoals