a uml profile for goal-oriented and use case-driven representation of nfrs and frs

14
A UML Profile for Goal- Oriented and Use Case- Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC [email protected] Lawrence Chung The University of Texas at Dallas [email protected]

Upload: jean

Post on 01-Feb-2016

17 views

Category:

Documents


0 download

DESCRIPTION

A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs. Sam Supakkul Titat Software LLC [email protected]. Lawrence Chung The University of Texas at Dallas [email protected]. Non-Functional Requirements (NFRs) crucial but inadequately addressed. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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 SupakkulTitat Software [email protected]

Lawrence ChungThe University of Texas at

[email protected]

Page 2: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

Non-Functional Requirements (NFRs) crucial but inadequately addressed

f i b e r c u t

N e t w o r k E l e m e n t

E l e m e n t M a n a g e m e n t

S y s t e m ( E M S )

N e t w o r k E l e m e n t

N e t w o r k E l e m e n t

A l a r m F l o o d t o

E M S

Networt Element

Element Management System (EMS)

Send alarm* *

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: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

Page 3: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

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

Page 4: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

Proposing goal-oriented and use case driven NFRs modeling

Network Element Send alarm

Element Management System

Availability:24x7

[Supakkul and Chung, SERA 04, LNCS 05]

Scalability: handlealarm flood up to5,000 alarm/sec.

NFR softgoals associated with use case elements for context Availability

affects the entire system

Scalability affects only parts related to this communication

Page 5: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

What to do with softgoals from the use case model?

High speedconnection

some+

Large servercapacity

some+

Higher volume[NE-Send alarm.alarm]

Sustained timeperformance[NE-Send alarm.alarm]

Buffer alarms beforeprocessing

some+

some+

Multiple smallerservers

Single largeserver

some+

some- some+

X

Scalability[NE-Send alarm.alarm]

Availability[EMS]

Apply the NFR Framework in an SIG (Softgoal Interdependency Graph)

Informal["No backupwhen the singleserver failsl"]

some+

[Mylopoulos and Chung 92, Chung et. al 2000]

NFR Softgoal

OperationalizationClaim

AND Decomposition

Satisficing Contribution

We now have some confidence of meeting the NFRs!

1. Refine NFR softgoals2. Explore design alternatives (operationalizations)

4. Make trade-offs analysis and finalize design decisions3. Record arguments to justify decisions

Naming convention = Type [Topic]Type = Availability, Topic = EMS

Page 6: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

Questions for analysts and tool makers

Network Element Send alarm

Scalability: handlealarm flood up to5,000 alarm/sec.

Element Management System

Availability:24x7

Where else in the use case model I can associate NFRs?

How do I support this integration in my UML tool ?

Scalability[NE-Send alarm.alarm]

High speedconnection

X

some+

some+

Higher volume[NE-Send alarm.alarm]

Sustained timeperformance[NE-Send alarm.alarm]

Large servercapacity

Availability[EMS]

Multiple smallerservers

Single largeserver

some+

some- some+ some+

Buffer alarms beforeprocessing

some+

Informal["No backupwhen the singleserver failsl"]

some+

Can I model this?NFR1

NFR2 NFR3 NFR4

Operationalization1

Operationalization2

Operationalization3

Operationalization4

- +

How is the NFR Framework integrated with UML?

Page 7: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

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)

Page 8: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

Answering the question: Can I model this?

NFR1

NFR2 NFR3 NFR4

Operationalization1

Operationalization2

Operationalization3

Operationalization4

- +

{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

AmbiguousNFR1 or (NFRs and NFR 4) ?(NFR2 or NFR3) and NFR4 ?

Operationalization is a means to achieve NFR not a refined NFR

Page 9: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

Answering the question: How is the NFR Framework integrated with UML?1. Define metamodel for the NFR Framework2. Define well-formedness rules in OCL3. Define extension points in the UML metamodel

{or}

Softgoal::SIG Profile

√√

Topic extends Element

Softgoal extends Class

Type extends Class

Contribution extends AssociationClass

SIG extends Artifact

Proposition extends Element

Page 10: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

Answering the question: where else in the use case model I can associate NFRs

Active Actor Use Case

characteristics of orconstraint placed by the

active actor

user interface,access,

communicationrelated NFRs function related

NFRs

Subject

global NFRs, orsystem related

NFRs

Passive Actor

characteristics of orconstraint placed on the

passive actor

NFRs can be associated with• Actor• Use case• Actor-Use case-Communication• Subject (system boundary)

Context UsecaseTopic inv:self.base.classifier.isKindOf(Usecase) orself.base.classifier.isKindOf(Actor) orself.base.classifier.isKindOf(Classifier) orself.base.classifier.isKindOf(ActorUsecaseCommunication) enforced by OCL

Availability[EMS]

Page 11: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

How do we use the profile to model NFRs with UML?

Timeliness[AmbulanceDispatch]

Timeliness[AmbulanceDispatch,IncidentPrioritization]

Timeliness[AmbulanceDispatch,AmbAsgnmnt]

Standard support via XMI: classes with stereotypes

Customize to display SIG

Page 12: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

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

Page 13: A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs

ConclusionsContributions: 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

Page 14: 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 SupakkulTitat Software [email protected]

Lawrence ChungThe University of Texas at

[email protected]

Thank you!