140 likes | 279 Views
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.
E N D
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 • Function requirements using UML use cases as the main tool for requirement elicitation and modeling. • Propose a framework for integrating NFRs with FRs in the use cases model. • NFR framework (NFRs) • Use case (FRs) • Association point • Actor, use case, actor-use case, and system boundary • NFR scope propagation rules • Define the scope of the NFR in the use case • Integration Process
A Review of UML Use Cases and the NFR Framework • UML use cases • The NFR framework • Goal-oriented approach for addressing NFRs • NFRs are represented as “softgoal” to be satisficed”. • Softgoal Interdependency Graph (SIG)
Adopting the NFR Framework UF of performing on-line transaction = UF of performing create service item, Approve price, submit price proposals Goal Decomposition NFR Softgoal Name = Type[Topic] Positive Contribution Providing tech support greatly helps achieve user friendliness Claim Client-side scripting may be turned off, disabling localization feature. Operationalizaing Softgoal (design decision, strategy) Negative Contribution Implementing actual localization greatly hurts user friendliness. Why? Architecture/design details
The Goal –Oriented Analysis and Design Framework • To provide precise context for NFRs • Propose that NFRs be integrated at certain points in the use case diagram call NFR Association Points. • This framework specifies NFR scope propagation rules to ensure requirement completeness.
NFR Association Points in the Use Case Model With system E.g. Portability, Servicability, Maintainability With actor-use case associations E.g. Security, Confidentiality, User friendliness, Configurability, Adaptability With use cases Ex. Performance, Reliability, Accuracy, Accountability With actors E.g. Scalability: Actor system supports up to 10,000 concurrent requests; Actor is expert user.
Propagation Rules: Actor-NFR But not associated with generalized actor (A0) 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 Example: 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
Propagation 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) propagatedto U3. N9 (a more strict form of N3 propagated to U9 N2(a more strict form than N1) propagated to U2. N8 (a more strict form than N2) propagated to U8
Propagation Rules: Actor-Use Case Association NFR 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. Explicitly associated with L1 N2 (a more strict form of N1) propagatedto L2 N3 (a more strict form of N2) propagatedto L3
Propagation Rules: System - NFR 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
Illustration using the Pricing SystemIdentify Use Case Elements and Associated NFRs