1 / 14

UML Profile for NFRs and FRs Representation

Proposing a goal-oriented approach to model Non-Functional Requirements (NFRs) in relation to Functional Requirements (FRs) for traceability in design and code. Explore the NFR Framework for integration in UML.

grayjames
Download Presentation

UML Profile for NFRs and FRs Representation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 FRs • NFRs specified casually: • System shall handle alarm flood up to 5,000 alarms/sec. • System shall be available 24x7 Problem: No traceability from NFRs to design and code

  3. An ideal approach for addressing Non-Functional Requirements (NFRs) • Model NFRs in relation to FRs • Map integrated reqs. to analysis/design • 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 NFR softgoals associated with use case elements for context Availability affects the entire system Scalability affects only parts related to this communication [Supakkul and Chung, SERA 04, LNCS 05]

  5. What to do with softgoals from the use case model? Apply the NFR Framework in an SIG (Softgoal Interdependency Graph) 1. Refine NFR softgoals 2. Explore design alternatives (operationalizations) 3. Record arguments to justify decisions 4. Make trade-offs analysis and finalize design decisions We now have some confidence of meeting the NFRs! NFR Softgoal Naming convention = Type [Topic] Type = Availability, Topic = EMS AND Decomposition Claim Operationalization Satisficing Contribution [Mylopoulos and Chung 92, Chung et. al 2000]

  6. Questions for analysts and tool makers • Can I model this? • Where else in the use case model I can associate NFRs? • How do I support this integration in my UML tool ? • 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. Answering the question: Can I model this? “OR” DecompositionCT (Contribution) NFRSoftgoal (Proposition) well-formedness rule in OCL (Object Control Language) “AND” DecompositionCT (Contibution) Ambiguous NFR1 or (NFRs and NFR 4) ? (NFR2 or NFR3) and NFR4 ? means that the type of parent and offspring must be the same for a decomposition Operationalization is a means to achieve NFR not a refined NFR means that NFR1 can be parent of at most one Decomposition {complete, disjoint} means that Contribution cannot be both DecompositionCT and SatisficingCT Metamodel representing concepts in the NFR Framework OperationalizinSG Confusing! This “OR” DecompositionCT is also 2 SatisficingCT’s at the same time {or}

  9. Answering the question: How is the NFR Framework integrated with UML? √ • Define metamodel for the NFR Framework • Define well-formedness rules in OCL • Define extension points in the UML metamodel √ → SIG extends Artifact Proposition extends Element Softgoal extends Class Type extends Class Contribution extends AssociationClass Topic extends Element

  10. 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

  11. How do we use the profile to model NFRs with UML? Customize to display SIG Standard support via XMI: classes with stereotypes

  12. Reviewing the approach for addressing NFRs Problem: NFRs crucial but ignored or casually addressed Approach: • Model NFRs in relation to FRs • Use the NFR Framework to model NFRs • Integrate NFRs with FRs in the use case model • Map integrated reqs. to analysis/design • Map design to code √

  13. 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

  14. 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!

More Related