an nfr pattern approach to dealing with non-with non ...supakkul/papers/sam...model elements not...

27
An NFR Pattern Approach to Dealing An NFR Pattern Approach to Dealing An NFR Pattern Approach to Dealing An NFR Pattern Approach to Dealing with Non with Non with Non with Non- - -Functional Requirements Functional Requirements Functional Requirements Functional Requirements Sam Supakkul Tom Hill Lawrence Chung The Univ. of Texas at Dallas Julio CSP Leite PUC-Rio, Brazil Thein Than Tun The Open University, UK Presenter: Sam Supakkul Outline Outline Outline Outline Motivation The Approach NFR Patterns Pattern Organization Pattern Reuse Tool Support Case Study Conclusion Authors: Is it beautiful to you?

Upload: others

Post on 20-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

An NFR Pattern Approach to Dealing An NFR Pattern Approach to Dealing An NFR Pattern Approach to Dealing An NFR Pattern Approach to Dealing with Nonwith Nonwith Nonwith Non----Functional RequirementsFunctional RequirementsFunctional RequirementsFunctional Requirements

Sam SupakkulTom HillLawrence ChungThe Univ. of Texas at Dallas

Julio CSP LeitePUC-Rio, Brazil

Thein Than TunThe Open University, UK

Presenter: Sam Supakkul

OutlineOutlineOutlineOutlineMotivationThe Approach

NFR PatternsPattern OrganizationPattern ReuseTool Support

Case StudyConclusion

Authors:Is it beautiful to you?

Page 2: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Dealing with Dealing with Dealing with Dealing with NFRsNFRsNFRsNFRs involves many concepts and involves many concepts and involves many concepts and involves many concepts and activitiesactivitiesactivitiesactivities

!!Aesthetic++

Cost

[softgoal] [side-effect]

[alternatives]

[selection]Layered shells Dome Pyramid

--

[side-effect]

! Memorable

+++ ++ -

++-++

[criticalityl]

++ Make + Help -- Break - Hurt

Page 3: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Some aspects of Some aspects of Some aspects of Some aspects of NFRsNFRsNFRsNFRs are achieved by are achieved by are achieved by are achieved by mitigating known problemsmitigating known problemsmitigating known problemsmitigating known problems

!! Security of credit card info

Break-in wireless networkMasquerade user loginSteal credit card info

- / --

Cost++/+/-/--Password encryptionBiometric authentication2-factor authentication

- / --!Trustworthiness

++ Make + Help -- Break - Hurt

++/+/-/--

Page 4: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Having insufficient knowledge of Having insufficient knowledge of Having insufficient knowledge of Having insufficient knowledge of Having insufficient knowledge of Having insufficient knowledge of Having insufficient knowledge of Having insufficient knowledge of NFRsNFRsNFRsNFRsNFRsNFRsNFRsNFRs can lead to can lead to can lead to can lead to can lead to can lead to can lead to can lead to dire consequencesdire consequencesdire consequencesdire consequencesdire consequencesdire consequencesdire consequencesdire consequences

(2(2ndnd) Biggest credit card ) Biggest credit card thefttheft45.7M credit cards stolen45.7M credit cards stolen$20M in fraudulent transactions$20M in fraudulent transactions

TJX used security measuresTJX used security measuresID/password authenticationID/password authenticationData encryptionData encryption

1. Break-in wireless network2. Masquerade user login3. Steal credit card info

TJX unable to prevent the hacker But TJX did not know enoughBut TJX did not know enoughPotential security problemsPotential security problemsApplicable mitigationsApplicable mitigationsProper tradeoff among Proper tradeoff among NFRsNFRs

Page 5: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Having sufficient knowledge of Having sufficient knowledge of Having sufficient knowledge of Having sufficient knowledge of Having sufficient knowledge of Having sufficient knowledge of Having sufficient knowledge of Having sufficient knowledge of NFRsNFRsNFRsNFRsNFRsNFRsNFRsNFRs is difficult is difficult is difficult is difficult is difficult is difficult is difficult is difficult because NFR knowledge isbecause NFR knowledge isbecause NFR knowledge isbecause NFR knowledge isbecause NFR knowledge isbecause NFR knowledge isbecause NFR knowledge isbecause NFR knowledge isDifficult to captureDifficult to capture

Problems, solutions, domainProblems, solutions, domainComplete, correctComplete, correctConceptual modeling and reasoningConceptual modeling and reasoning

Difficult to organizeDifficult to organizeCataloging knowledgeCataloging knowledgeRelating similar knowledgeRelating similar knowledge

General General –– SpecificSpecificClass Class –– InstanceInstance

Combining knowledgeCombining knowledgeDifficult to reuseDifficult to reuse

Choosing appropriate knowledgeChoosing appropriate knowledge(Re(Re--)creating visual models)creating visual models

Page 6: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

This talk presents a patternThis talk presents a patternThis talk presents a patternThis talk presents a pattern----based approach to based approach to based approach to based approach to capturing, organizing, and reusing NFR knowledgecapturing, organizing, and reusing NFR knowledgecapturing, organizing, and reusing NFR knowledgecapturing, organizing, and reusing NFR knowledge

Objective patternObjective patternObjective patternObjective pattern Problem patternProblem patternProblem patternProblem pattern

Alternatives patternAlternatives patternAlternatives patternAlternatives pattern

Selection patternSelection patternSelection patternSelection patternCapturing

Organizing

Reusing

classificationinstantiation

generalization

specialization

aggregation

decomposition

Tool support

1234

5 6 7

Capturing

Organizing

ReusingCapturing

Organizing

Tool support

ReusingCapturing

Organizing

Page 7: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

4 kinds of NFR patterns for capturing different kinds 4 kinds of NFR patterns for capturing different kinds 4 kinds of NFR patterns for capturing different kinds 4 kinds of NFR patterns for capturing different kinds of NFR knowledgeof NFR knowledgeof NFR knowledgeof NFR knowledge

Objective patternObjective patternObjective patternObjective pattern Problem patternProblem patternProblem patternProblem pattern

Alternatives patternAlternatives patternAlternatives patternAlternatives pattern

Selection patternSelection patternSelection patternSelection pattern 1234

5 6 7

Capturing

Page 8: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

An objective pattern captures a definition of an An objective pattern captures a definition of an An objective pattern captures a definition of an An objective pattern captures a definition of an NFR as a NFR as a NFR as a NFR as a softgoalsoftgoalsoftgoalsoftgoal (and sub(and sub(and sub(and sub----goals) to be achievedgoals) to be achievedgoals) to be achievedgoals) to be achieved

An objective pattern

Name: Name: Name: Name: Name: Name: Name: Name: FISMA Security ObjectivesFISMA Security Objectives

CredentialCredentialCredentialCredentialCredentialCredentialCredentialCredentialSources:Sources: US FISMA Act of 2002US FISMA Act of 2002Authors:Authors: Sam SupakkulSam SupakkulEndorsements:Endorsements:Known uses:Known uses: US government agenciesUS government agencies

Applicability Applicability Applicability Applicability Applicability Applicability Applicability Applicability (5W2H questions)(5W2H questions)Domain Domain (Who)(Who):: GovernmentGovernmentTopic Topic (What)(What):: Information, dataInformation, dataType Type (Why)(Why):: SecuritySecurityPhase Phase (When)(When):: RequirementsRequirementsArtifact Artifact (Where)(Where):: World World [per the WRSPM ref. model][per the WRSPM ref. model]Application Application (How)(How):: AutomatedAutomatedImplication Implication (How much)(How much):: RegulationRegulation

KnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledge

Page 9: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Demo video: Demo video: Demo video: Demo video: applying an objective patternapplying an objective patternapplying an objective patternapplying an objective pattern

Tools usedThe NFR Pattern Assistant (utdallas.edu/~supakkul/tools/NFRPassist)The RE-Tools (utdallas.edu/~supakkul/tools/RE-Tools)

In the catalog

During the requirements engineering of a project

Page 10: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

A problem pattern captures softA problem pattern captures softA problem pattern captures softA problem pattern captures soft----problems or problems or problems or problems or obstacles to achieving an NFR obstacles to achieving an NFR obstacles to achieving an NFR obstacles to achieving an NFR softgoalsoftgoalsoftgoalsoftgoal

A problem pattern

Page 11: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

An alternatives pattern captures alternative means An alternatives pattern captures alternative means An alternatives pattern captures alternative means An alternatives pattern captures alternative means or alternative solutions with sideor alternative solutions with sideor alternative solutions with sideor alternative solutions with side----effect informationeffect informationeffect informationeffect information

An alternative-solutions pattern

Page 12: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

+++

Trustworthiness [Security]

Retina authentication

Fingerprint authentication

!w(!)=0.5

w(+)=0.5 w(++)=1.0

+++

Trustworthiness [Security]

Retina authentication

Fingerprint authentication

!r(++!)=6r(+!)=7

w=0.25+... w=0.5+...

r=7+... r=6+...

Weight-based quantitative selection

RankRankRankRank----basedbasedbasedbased qualitative selection12

345 6 7

WeightWeightWeightWeight----basedbasedbasedbasedSelectionSelectionSelectionSelection ==== HighestHighestHighestHighest cumulative weightweightweightweight

weight(Fingerprint) = w(!Trust.) x w(+) + …= 0.25 + …

Widely used, but subjective

Rank-basedSelection = Bestestestest cumulative rankingrankingrankingranking

rank(Fingerprint) = r(+!Trust.) + …= 7 + …

Less subjective, but need a ranking scale

alternatives

A selection pattern captures A selection pattern captures A selection pattern captures A selection pattern captures an application independent selection schemean application independent selection schemean application independent selection schemean application independent selection scheme

Page 13: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Demo video: Demo video: Demo video: Demo video: applying a weightapplying a weightapplying a weightapplying a weight----based selection patternbased selection patternbased selection patternbased selection pattern

+W+W

Tools usedThe NFR Pattern Assistant (utdallas.edu/~supakkul/tools/NFRPassist)The RE-Tools (utdallas.edu/~supakkul/tools/RE-Tools)

Before

After

Page 14: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Patterns may be organized along the Patterns may be organized along the Patterns may be organized along the Patterns may be organized along the generalization, aggregation, and classification dim. generalization, aggregation, and classification dim. generalization, aggregation, and classification dim. generalization, aggregation, and classification dim.

Objective patternObjective patternObjective patternObjective pattern Problem patternProblem patternProblem patternProblem pattern

Alternatives patternAlternatives patternAlternatives patternAlternatives pattern

Selection patternSelection patternSelection patternSelection patternCapturing

Organizing

Reusing

classificationinstantiation

generalization

specialization

aggregation

decomposition

Tool support

1234

5 6 7

Capturing

Organizing

ReusingCapturing

Organizing

Tool support

ReusingCapturing

Organizing

Page 15: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

A specialized pattern captures more specific A specialized pattern captures more specific A specialized pattern captures more specific A specialized pattern captures more specific knowledge than that of the generalized patternknowledge than that of the generalized patternknowledge than that of the generalized patternknowledge than that of the generalized pattern

R1

R2

R3

R4

P2

super-pattern sub-pattern

R1'

R2'

R5

P1

P1 specializes P2

Generalization

Aggregation

Classification

[Payment Card Industry][US FISMA Law]

Page 16: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

The specialized pattern is more specific The specialized pattern is more specific The specialized pattern is more specific The specialized pattern is more specific in breadth or in depthin breadth or in depthin breadth or in depthin breadth or in depth

Payment Card Industry (PCI):Payment Card Industry (PCI):Security = ConfidentialitySecurity = Confidentiality

US Law:US Law:Security = Confidentiality, Integrity, Avail.Security = Confidentiality, Integrity, Avail.

PCI concerned withPCI concerned withAccountability beyond PrivacyAccountability beyond Privacy

R2'

R5

R1

R2

R3

R4

P2

super-pattern sub-pattern

R1'

R2'

R5

P1

More specific in breadthMore specific in breadthMore specific in breadthMore specific in breadthMore specific in breadthMore specific in breadthMore specific in breadthMore specific in breadth More specific in depthMore specific in depthMore specific in depthMore specific in depthMore specific in depthMore specific in depthMore specific in depthMore specific in depth

Generalization

Aggregation

Classification

P2 P1 P2 P1

Page 17: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

A composite pattern assembles smaller patterns to A composite pattern assembles smaller patterns to A composite pattern assembles smaller patterns to A composite pattern assembles smaller patterns to capture a larger chunk of related knowledgecapture a larger chunk of related knowledgecapture a larger chunk of related knowledgecapture a larger chunk of related knowledge

P1

P4

P3P2

P1 combines P2,P3,P4where P2 succeeds P3 and P3 succeeds P4

Generalization

Aggregation

Classification

Page 18: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

A pattern can be used as a template to A pattern can be used as a template to A pattern can be used as a template to A pattern can be used as a template to instantiate occurrence patternsinstantiate occurrence patternsinstantiate occurrence patternsinstantiate occurrence patterns

B1 is a binding specificationO1 is a specialization of M1 or O1 is sub-goal of M1w.r.t. reference model R1

Generalization

Aggregation

Classification

Page 19: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Dealing with NFR knowledge is defined by 5 Dealing with NFR knowledge is defined by 5 Dealing with NFR knowledge is defined by 5 Dealing with NFR knowledge is defined by 5 operationsoperationsoperationsoperations

Objective patternObjective patternObjective patternObjective pattern Problem patternProblem patternProblem patternProblem pattern

Alternatives patternAlternatives patternAlternatives patternAlternatives pattern

Selection patternSelection patternSelection patternSelection patternCapturing

Organizing

Reusing

classificationinstantiation

generalization

specialization

aggregation

decomposition

Tool support

1234

5 6 7

Capturing

Organizing

ReusingCapturing

Organizing

Tool support

ReusingCapturing

Organizing

Page 20: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

An actionAn actionAn actionAn action----oriented perspectiveoriented perspectiveoriented perspectiveoriented perspective

CredentialsAuthorsSourcesEndorsementsKnown UsesApplicabilityWhoWhatWhyWhenWhereHowHow much

Source Model Target Modelpatternize apply

compose

RefinementRules

PatternPatternPatternPatternoperationsoperationsoperationsoperations

ExampleExampleExampleExample

Page 21: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

We define 25 refinement rules for tool supportWe define 25 refinement rules for tool supportWe define 25 refinement rules for tool supportWe define 25 refinement rules for tool support2 for Objective, 8 for Problem, 10 for Alternatives, 5 for Selec2 for Objective, 8 for Problem, 10 for Alternatives, 5 for Selec2 for Objective, 8 for Problem, 10 for Alternatives, 5 for Selec2 for Objective, 8 for Problem, 10 for Alternatives, 5 for Selectiontiontiontion

Objective patternObjective patternObjective patternObjective pattern Problem patternProblem patternProblem patternProblem pattern

Alternatives patternAlternatives patternAlternatives patternAlternatives pattern

Selection patternSelection patternSelection patternSelection patternCapturing

Organizing

Reusing

classificationinstantiation

generalization

specialization

aggregation

decomposition

Tool support

1234

5 6 7

Capturing

Organizing

ReusingCapturing

Organizing

Tool support

ReusingCapturing

Organizing

Page 22: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Refinement rules are extracted by Refinement rules are extracted by Refinement rules are extracted by Refinement rules are extracted by “patternizepatternizepatternizepatternize”and used for model transformation by and used for model transformation by and used for model transformation by and used for model transformation by “applyapplyapplyapply”

Security

Security

Confidentiality

Integrity

Availability

Privacy

ProprietaryAuthenticity Non-repudiation

Timeliness

Reliability

Transform

Before After

succeedsucceed succeed

SecuritySecurity

Confidentiality

Integrity

Availability

Confidentiality

Privacy

Proprietary

ConfidentialityIntegrity

Authenticity Non-repudiation

IntegrityAvailability

TimelinessReliability

Availability

Before After

Before After Before After Before After

NFRDecompositionRefinement rule

Extractedrule graph

Target M

Target M’

Page 23: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

The The The The The The The The NFR Pattern AssistantNFR Pattern AssistantNFR Pattern AssistantNFR Pattern AssistantNFR Pattern AssistantNFR Pattern AssistantNFR Pattern AssistantNFR Pattern Assistant for pattern supportfor pattern supportfor pattern supportfor pattern supportfor pattern supportfor pattern supportfor pattern supportfor pattern supportThe The The The The The The The RERERERERERERERE--------ToolsToolsToolsToolsToolsToolsToolsTools for knowledge modelingfor knowledge modelingfor knowledge modelingfor knowledge modelingfor knowledge modelingfor knowledge modelingfor knowledge modelingfor knowledge modeling

capturing

organizing

reusing

StarUML

extension

framework

The NFR Pattern

Assistant

The RE-Tools

utdallas.edu/~supakkul/tools/RE-Tools

utdallas.edu/~supakkul/tools/NFRPassist

…(TBD)The i* FrameworkThe i* FrameworkThe i* FrameworkThe i* Framework KAOSKAOSKAOSKAOS Problem FramesProblem FramesProblem FramesProblem FramesThe NFR FrameworkThe NFR FrameworkThe NFR FrameworkThe NFR Framework UMLUMLUMLUML

Page 24: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

The approach and the tools have been applied The approach and the tools have been applied The approach and the tools have been applied The approach and the tools have been applied The approach and the tools have been applied The approach and the tools have been applied The approach and the tools have been applied The approach and the tools have been applied to the TJX caseto the TJX caseto the TJX caseto the TJX caseto the TJX caseto the TJX caseto the TJX caseto the TJX case

Build for reuse

1 composite, 5 primitive

Build with reuse

Sample results Break-in wireless networkMasquerading user loginSteal credit card info

for

capture reuse

reuse knowledge from TJXin a different project

Page 25: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Limitations (future work)Limitations (future work)Limitations (future work)Limitations (future work)

Tool/usability relatedModel elements not captured with the original positionPattern search and selection are currently manualSome knowledge not captured (need 2 more rules)Need to support more FRs and NFRs integrated knowledgeLimited concurrently pattern sharing across groups

Approach relatedCostly and time-consuming to learn the notation and the toolNeed more case studiesNeed to support dealing with NFRs during architecture/design

Page 26: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Summary: The difficulty of capturing, organizing, reusing of Summary: The difficulty of capturing, organizing, reusing of Summary: The difficulty of capturing, organizing, reusing of Summary: The difficulty of capturing, organizing, reusing of NFR knowledge can be alleviated by the approachNFR knowledge can be alleviated by the approachNFR knowledge can be alleviated by the approachNFR knowledge can be alleviated by the approach

Difficult to captureDifficult to captureProblems, solutions, domainProblems, solutions, domainComplete, correctComplete, correctConceptual modeling and reasoningConceptual modeling and reasoning

Difficult to organizeDifficult to organizeCataloging knowledgeCataloging knowledgeRelating similar knowledgeRelating similar knowledge

General General –– SpecificSpecificClass Class –– InstanceInstance

Combining knowledgeCombining knowledgeDifficult to reuseDifficult to reuse

Choosing appropriate knowledgeChoosing appropriate knowledgeReRe--creating visual modelscreating visual models

Objective, problem, alternatives, selection patternsCredentialsCaptured softgoal graphs

By name, type, applicability

Specialization, composition, instantiation

Applicability infoRefinement rules, tool support

Features in the approachFeatures in the approachFeatures in the approachFeatures in the approach

Page 27: An NFR Pattern Approach to Dealing with Non-with Non ...supakkul/papers/Sam...Model elements not captured with the original position Pattern search and selection are currently manual

Thank you… Questions & Comments?

Objective patternObjective patternObjective patternObjective pattern Problem patternProblem patternProblem patternProblem pattern

Alternatives patternAlternatives patternAlternatives patternAlternatives pattern

Selection patternSelection patternSelection patternSelection patternCapturing

Organizing

Reusing

classificationinstantiation

generalization

specialization

aggregation

decomposition

Tool support

1234

5 6 7

Capturing

Organizing

ReusingCapturing

Organizing

Tool support

ReusingCapturing

Organizing