dealing with nfrs vahid jalali amirkabir university of technology, department of computer...
Post on 22-Dec-2015
218 views
TRANSCRIPT
Dealing with NFRs
Vahid Jalali
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Three studies
Credit CardHealth
InsuranceTaxation
Accuracy
Performance
Security
User-friendlines
s
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Process 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
NFR 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Goal Graph Structure Used for record and structure
NFRs Design alternatives Decisions rationale
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Goal Graph Structure for Secure 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Sort HierarchyNFR Sort
User FriendlinessPerformance Security
Cost
Time
ResponseTime
Throughput
Space
MainMemory
SecondaryStorage
Confidentiality
Integrity
Availability
Accuracy
Internal ConsistencyExternal Consistency
Completeness
Operating CostDevelopment Cost
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Where Specific NFRs come from? 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Methodology for Using NFR Framework 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Linking NFR-related Concepts Refining, clarifying and relating goals Identification of critical NFR goals Providing design rationale Assessing goal achievement
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Refining, clarifying and relating goals Relating development techniques to NFR
goals Identifying conflict and synergy Clarifying the meaning of goals
Individually Associatively
Identifying factors underlying correlations
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Identification of critical NFR goals Identifying what development techniques
were repeatedly emphasized Identifying critical goals and critical dominant
parts of the work load
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Providing 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Internal 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Negative Findings Need for new decomposition methods Design rationale Qualitative approach Scalability of goal graph
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Experts 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Framework Findings Goal graph structures understandability Framework emphases Formality Process oriented approach Tradeoffs Determining main requirements
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Application Domain Findings Domain knowledge and proportionality
Lack of contact with domain people Usage of framework
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Conclusion 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
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Reference 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)
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007
Thanks for your attention
Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, http://ceit.aut.ac.ir/islab, Requirement engineering course, Fall 2007