introduction

22
دی ها ن م از ن ن ی س د ن ه م دزس دی ها ن م از ن ن ی س د ن ه م دزس اده ه ز ل دا ن ع ر کت اد د ن س ا اده ه ز ل دا ن ع ر کت اد د ن س ا ت ن ا رچ م سا ن ل را ت خ و ج) ش ن دا ت ن ا رچ م سا ن ل را ت خ و ج) ش ن داDealing with NFR : Dealing with NFR : Three Experimental Studies of a Three Experimental Studies of a Process-Oriented Approach Process-Oriented Approach

Upload: lyn

Post on 14-Jan-2016

20 views

Category:

Documents


0 download

DESCRIPTION

درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت Dealing with NFR : Three Experimental Studies of a Process-Oriented Approach. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction

مهندسی مهندسی درس درسها ها نیازمندی نیازمندی

عبداله دکتر عبداله استاد دکتر استادزادهزاده

خیرالنسا خیرالنسا دانشجو دانشجومرچانتمرچانت

Dealing with NFR :Dealing with NFR : Three Experimental Studies of a Three Experimental Studies of a

Process-Oriented ApproachProcess-Oriented Approach

Page 2: Introduction

IntroductionIntroduction•In past, relatively little attention has been paid to the

process of systematically dealing with NFR and developers have relied mostly on their own intuition in an ad-hoc way.

•To remedy the problems inherent in ad-hoc development, a framework has been developed to deal with non-functional

requirements.•The purpose of this paper is to give an initial evaluation of a

recently proposed framework for dealing with non-functional requirements, by way of three studies of small portions of three information systems such as accuracy,

security and performance.•This paper attempts to evaluate the extent to which the

frameworks’ objectives are met, namely representing NFR-specific requirements, considering design trade-off, relating

design decisions to NFRs, justifying the decisions and assisting defects detection.

Page 3: Introduction

Three studiesThree studies

Credit CardHealth

InsuranceTaxation

Accuracy

Performance

Security

User-friendlines

s

Page 4: Introduction

Process Vs. ProductProcess Vs. Product• Quality of a product depends largely on

the quality of the process that leads form high level NFRs to the product

• Complementary to the traditional product approach whose emphasis lies in product evaluation , usually involving metrics

Page 5: Introduction

NFR FrameworkNFR Framework• Allows treating NFRs as potentially

conflicting or synergic goals to achieve• Considering development alternatives

which could meet the stated NFRs• Examining design tradeoffs• Relating design decision to NFRs• Justifying the decisions in relation to the

needs of the intended application domain

• Assisting defect detection

Page 6: Introduction

Goal Graph StructureGoal Graph Structure•Used for record and structure

–NFRs–Design alternatives–Decisions–rationale

Page 7: Introduction

Goal Graph Structure for Goal Graph Structure for Secure DocumentSecure Document

U

UU

U

UU

U

SS

U

UU

U

S

U

Security

AccuracyConfidentiality

Availability

External Confidentiality

Internal ConfidentialityIdentification

IntConf(Small Accounts)

IntConf(large Accounts)

Access AuthorizationAuthentication

BiometricPassword

Card KeyIntConf

Vital Few Trivial Many

U User Friendliness

Page 8: Introduction

Sort HierarchySort HierarchyNFR Sort

User FriendlinessPerformance Security

Cost

Time

ResponseTime

Throughput

Space

MainMemory

SecondaryStorage

Confidentiality

Integrity

Availability

Accuracy

Internal ConsistencyExternal Consistency

Completeness

Operating CostDevelopment Cost

Page 9: Introduction

Where Specific NFRs come Where Specific NFRs come fromfrom??

• Development knowledge about specific NFRs are to be taken from the literature and industrial experience and captured as methods, which are then presented for reuse to help the developers generate new goals and links

Page 10: Introduction

Methodology for Using NFR Methodology for Using NFR FrameworkFramework

• Knowledge acquisition– Acquisition of knowledge specific to NFRs

• Academic• industrial

– Acquisition of domain knowledge• organization

• Application of the NFR-Framework– Identification of NFR-related concepts

• Identification of important NFR goals• Identification of development techniques• Identification of design rationale

– Linking NFR-related concepts

Page 11: Introduction

Linking NFR-related ConceptsLinking NFR-related Concepts

• Refining, clarifying and relating goals• Identification of critical NFR goals• Providing design rationale• Assessing goal achievement

Page 12: Introduction

Refining, clarifying and relating Refining, clarifying and relating goalsgoals

• Relating development techniques to NFR goals

• Identifying conflict and synergy• Clarifying the meaning of goals

– Individually– Associatively

• Identifying factors underlying correlations

Page 13: Introduction

Identification of critical NFR Identification of critical NFR goalsgoals

• Identifying what development techniques were repeatedly emphasized

• Identifying critical goals and critical dominant parts of the work load

Page 14: Introduction

Providing design rationaleProviding design rationale• Locating applicable design rationale

from either the source document or workload description

• Providing some design rationale from the basis of development tradeoffs present in goal graph structure under construction

Page 15: Introduction

Internal EvaluationInternal Evaluation• When developers made aware of quality

concerns, that by itself helps improve the overall software quality

• When conflicts and synergy among NFR goals were explicitly described, it is possible to consider design tradeoffs in selecting among alternatives

• When competitive alternatives exist, expressing critical goals and the effect of each design decision helps resolving conflicts and record design rationale

• Relating design rationale back to source NFRs which could improve traceability

Page 16: Introduction

Internal Evaluation (Cont.)Internal Evaluation (Cont.)• Detecting faults

– Ambiguity of goals– Distinguishing goals into three types for

detecting omissions– Antagonistic correlation rules help

detecting conflicts– Detection of redundancies– Synergic correlation helps in detecting

opportunities

Page 17: Introduction

Negative FindingsNegative Findings• Need for new decomposition methods• Design rationale• Qualitative approach• Scalability of goal graph

Page 18: Introduction

Experts EvaluationExperts Evaluation• Framework would be helpful for

developers• Improvements in naming and

presentation are needed to increase understandability

• Lack of consultation with domain people during the study left gaps in domain knowledge

• Applicability to broader domains• Training costs and payoffs

Page 19: Introduction

Framework FindingsFramework Findings• Goal graph structures understandability• Framework emphases• Formality• Process oriented approach• Tradeoffs• Determining main requirements

Page 20: Introduction

Application Domain FindingsApplication Domain Findings• Domain knowledge and proportionality

– Lack of contact with domain people

• Usage of framework

Page 21: Introduction

ConclusionConclusion• NFR framework helps in presenting and

using large numbers of NFRs• NFR representation helps in considering

design alternatives and their tradeoffs• It is not clear that significantly larger

studies could be handled by NFR-assistant tool

• It is important to find a cost effective way for training users work with framework

Page 22: Introduction

ReferenceReference•Chung, L., Nixon, B.: Dealing with

Non-Functional Requirements :Three Experimental Studies of a Process-

Oriented Approach. In: Proc. of ICSE’95, pp. 25–37. ACM Press (1995)