A uml profile for goal oriented and use case driven representation of nfrs and frs
Download
1 / 14

A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs - PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on

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. Non-Functional Requirements (NFRs) crucial but inadequately addressed.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs' - jean


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
A uml profile for goal oriented and use case driven representation of nfrs and frs

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


Non functional requirements nfrs crucial but inadequately addressed
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


An ideal approach for addressing non functional requirements nfrs
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


Proposing goal oriented and use case driven nfrs modeling
Proposing goal-oriented and use case driven NFRs modeling (NFRs)

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]


What to do with softgoals from the use case model
What to do with softgoals from the use case model? (NFRs)

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]


Questions for analysts and tool makers
Questions for analysts and tool makers (NFRs)

  • 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?


Answers are in the proposed uml profile
Answers are in the proposed UML profile (NFRs)

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)


Answering the question can i model this
Answering the question: Can I model this? (NFRs)

“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}


Answering the question how is the nfr framework integrated with uml
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


Answering the question where else in the use case model i can associate nfrs
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


How do we use the profile to model nfrs with uml
How do we use the profile to model NFRs with UML? can associate NFRs

Customize to display SIG

Standard support via XMI: classes with stereotypes


Reviewing the approach for addressing nfrs
Reviewing the approach for addressing NFRs can associate 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


Conclusions
Conclusions can associate NFRs

  • 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


A uml profile for goal oriented and use case driven representation of nfrs and frs1

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!