Download presentation
Presentation is loading. Please wait.
Published byAngelica Nowland Modified over 9 years ago
1
A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC ssupakkul@ieee.org Lawrence Chung The University of Texas at Dallas chung@utdallas.edu
2
Non-Functional Requirements (NFRs) crucial but inadequately addressed NFRs clarify/constrain FRs: Part of EMS that collects alarms (FR) must also handle alarm flood (scalability NFR) and provide fault tolerant (high availability NFR) But NFRs often ignored or casually addressed FRsNFRs specified casually: 1.System shall handle alarm flood up to 5,000 alarms/sec. 2.System shall be available 24x7 Problem: No traceability from NFRs to design and code
3
An ideal approach for addressing Non-Functional Requirements (NFRs) 1. Model NFRs in relation to FRs 2. Map integrated reqs. to analysis/design 3. Map design to code Modeling NFRs in relation to FRs Need modeling constructs for NFRs Need framework for integrating NFRs and FRs
4
Proposing goal-oriented and use case driven NFRs modeling [Supakkul and Chung, SERA 04, LNCS 05] NFR softgoals associated with use case elements for context Availability affects the entire system Scalability affects only parts related to this communication
5
What to do with softgoals from the use case model? Apply the NFR Framework in an SIG (Softgoal Interdependency Graph ) [Mylopoulos and Chung 92, Chung et. al 2000] NFR Softgoal Operationalization Claim AND Decomposition Satisficing Contribution We now have some confidence of meeting the NFRs! 1. Refine NFR softgoals 2. Explore design alternatives (operationalizations) 4. Make trade-offs analysis and finalize design decisions 3. Record arguments to justify decisions Naming convention = Type [Topic] Type = Availability, Topic = EMS
6
Questions for analysts and tool makers Where else in the use case model I can associate NFRs? How do I support this integration in my UML tool ? Can I model this? How is the NFR Framework integrated with UML?
7
Answers are in the proposed UML profile What is UML profile? Standard UML extension mechanism For specializing UML for different purposes By defining metamodel for a specific purpose (e.g. J2EE, NFRs ) well-formedness rules to enforce semantics extension points in the UML metamodel Advantages of UML profile? Precise description of concepts (via metamodel) More friendly than formalization Automatically supported by UML tools (via XMI)
8
An example of UML profile M2 ModelM1 Model M0 Model instantiate OMG 4-layer metamodel M0 model = runtime instances of M1 M1 model = model implemented by system M2 model = modeling language concepts M3 model = facilities for modeling M2
9
Answering the question: Can I model this? {or} “OR” DecompositionCT (Contribution) well-formedness rule in OCL (Object Control Language) NFRSoftgoal (Proposition) OperationalizinSG “AND” DecompositionCT (Contibution) {complete, disjoint} means that Contribution cannot be both DecompositionCT and SatisficingCT means that the type of parent and offspring must be the same for a decomposition means that NFR1 can be parent of at most one Decomposition Confusing! This “OR” DecompositionCT is also 2 SatisficingCT’s at the same time Metamodel representing concepts in the NFR Framework Ambiguous NFR1 or (NFRs and NFR 4) ? (NFR2 or NFR3) and NFR4 ? Operationalization is a means to achieve NFR not a refined NFR
10
Answering the question: How is the NFR Framework integrated with UML? 1.Define metamodel for the NFR Framework 2.Define well-formedness rules in OCL 3.Define extension points in the UML metamodel √ √ → Topic extends Element Softgoal extends Class Type extends Class Contribution extends AssociationClass SIG extends Artifact Proposition extends Element
11
Answering the question: where else in the use case model I can associate NFRs NFRs can be associated with Actor Use case Actor-Use case-Communication Subject (system boundary) Context UsecaseTopic inv: self.base.classifier.isKindOf(Usecase) or self.base.classifier.isKindOf(Actor) or self.base.classifier.isKindOf(Classifier) or self.base.classifier.isKindOf(ActorUsecaseCommunication) enforced by OCL
12
How do we use the profile to model NFRs with UML? Standard support via XMI: classes with stereotypes Customize to display SIG
13
Reviewing the approach for addressing NFRs Problem: NFRs crucial but ignored or casually addressed Approach: 1. Model NFRs in relation to FRs Use the NFR Framework to model NFRs Integrate NFRs with FRs in the use case model 2. Map integrated reqs. to analysis/design 3. Map design to code √
14
Conclusions Contributions: A UML profile that uses metamodel to semi-formally describe the NFR Framework integrates the NFR Framework with UML helps prevent modeling errors Future work: Map the UML profile to XMI Evaluate with actual UML tools Framework for mapping the integrated requirements to design and code
15
A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC ssupakkul@ieee.org Lawrence Chung The University of Texas at Dallas chung@utdallas.edu Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.