220 likes | 290 Views
درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت Dealing with NFR : Three Experimental Studies of a Process-Oriented Approach. Introduction.
E N D
درس مهندسی نیازمندی هااستاد دکتر عبداله زادهدانشجو خیرالنسا مرچانتDealing with NFR :Three Experimental Studies of a Process-Oriented Approach
Introduction • 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.
Three studies Credit Card Health Insurance Taxation User-friendliness Accuracy Performance Security
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
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
Goal Graph Structure • Used for record and structure • NFRs • Design alternatives • Decisions • rationale
Goal Graph Structure for Secure Document Security User Friendliness U U Availability Accuracy Confidentiality U U U External Confidentiality Identification Internal Confidentiality U U S Authentication IntConf (Small Accounts) U Access Authorization U IntConf (large Accounts) U U Vital Few Trivial Many S U S U Biometric Password IntConf Card Key
Sort Hierarchy NFR Sort User Friendliness Cost Security Performance Operating Cost Development Cost Time Availability Confidentiality Space Integrity Throughput Accuracy Completeness Response Time Secondary Storage Main Memory Internal Consistency External Consistency
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
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
Linking NFR-related Concepts Refining, clarifying and relating goals Identification of critical NFR goals Providing design rationale Assessing goal achievement
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
Identification of critical NFR goals Identifying what development techniques were repeatedly emphasized Identifying critical goals and critical dominant parts of the work load
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
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
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
Negative Findings Need for new decomposition methods Design rationale Qualitative approach Scalability of goal graph
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
Framework Findings Goal graph structures understandability Framework emphases Formality Process oriented approach Tradeoffs Determining main requirements
Application Domain Findings • Domain knowledge and proportionality • Lack of contact with domain people • Usage of framework
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
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)