Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory,

Slides:



Advertisements
Similar presentations
Centralize or Decentralize? A Requirements Engineering Perspective on Internet-Scale Architectures Eric Yu University of Toronto July 2000.
Advertisements

A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC Lawrence Chung The.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
ICS 417: The ethics of ICT 4.2 The Ethics of Information and Communication Technologies (ICT) in Business by Simon Rogerson IMIS Journal May 1998.
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Basics of Knowledge Management ICOM5047 – Design Project in Computer Engineering ECE Department J. Fernando Vega Riveros, Ph.D.
Security Controls – What Works
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Vahid Jalali Amirkabir university of technology, Department of computer.
IS112 – Chapter 1 Notes Computer Organization and Programming Professor Catherine Dwyer 2003.
درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت Dealing with NFR : Three Experimental Studies of a Process-Oriented Approach.
Requirements Engineering: A Roadmap Vahid Jalali Fall 2007 Amirkabir university of technology, Department of computer engineering and information technology,
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Dealing.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت.
The meaning of requirements Vahid Jalali October 2007 Amirkabir university of technology, Department of computer engineering and information technology,
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Dealing with Non-Functional.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Goal.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Towards.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering.
project management office(PMO)
Requirements Engineering Process – 1
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Requirement engineering for an online bookstore system
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Chapter 11 Management Decision Making
The phases of research Dimitra Hartas. The phases of research Identify a research topic Formulate the research questions (rationale) Review relevant studies.
INTRODUCTION Performance management is a relatively new concept to the field of management.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung.
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Copyright 2002 Prentice-Hall, Inc. Lecture 5 Identifying and Selecting Systems Development Projects 5.1 COSC4406: Software Engineering.
ITEC224 Database Programming
CriteriaExemplary (4 - 5) Good (2 – 3) Needs Improvement (0 – 1) Identifying Problem and Main Objective Initial QuestionsQuestions are probing and help.
Electronic Health Records Dimitar Hristovski, Ph.D. Institute of Biomedical Informatics.
CSCI 3140 Module 2 – Conceptual Database Design Theodore Chiasson Dalhousie University.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
BUSINESS INFORMATICS descriptors presentation Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST) Linkoping.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
1 Introduction to Software Engineering Lecture 1.
Designing software architectures to achieve quality attribute requirements F. Bachmann, L. Bass, M. Klein and C. Shelton IEE Proceedings Software Tzu-Chin.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
System Context and Domain Analysis Abbas Rasoolzadegan.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
Systems Engineering Simulation Modeling Maintenance Analysis Availability Research Repair Testing Training Copyright © 2009, David Emery & D&S Consultants,
Formal Methods.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Human Computer Interaction
Security Environment Assessment. Outline  Overview  Key Sources and Participants  General Findings  Policy / Procedures  Host Systems  Network Components.
Smart Home Technologies
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Presented by Chin-Yi Tsai.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Sam Supakkul Network Surveillance Systems MCI Lawrence Chung Dept. of.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
ON “SOFTWARE ENGINEERING” SUBJECT TOPIC “RISK ANALYSIS AND MANAGEMENT” MASTER OF COMPUTER APPLICATION (5th Semester) Presented by: ANOOP GANGWAR SRMSCET,
VA Internal Use Only 1 Product Architecture Recommendation Briefing Template.
Master thesis: Automatic Extraction of Design Decision Relationships from a Task Management System Kick-Off Matthias Ruppel, 8th of May 2017, Munich.
Chapter 4 – Requirements Engineering
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Similarities between Grid-enabled Medical and Engineering Applications
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
HCI in the software process
HCI in the software process
Department of Computer Science Abdul Wali Khan University Mardan
Requirements Engineering Process – 1
Human Computer Interaction Lecture 14 HCI in Software Process
Presentation transcript:

Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, Requirement engineering course, Fall 2007

Three studies Credit Card Health Insurance Taxation Accuracy PerformanceSecurity User- friendliness Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, 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, 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, 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, Requirement engineering course, Fall 2007

Goal Graph Structure for Secure Document U U U U U U U S S U U U U S U Security Accuracy Confidentiality Availability External Confidentiality Internal ConfidentialityIdentification IntConf (Small Accounts) IntConf (large Accounts) Access Authorization Authentication Biometric Password Card Key IntConf Vital Few Trivial Many U User Friendliness Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, Requirement engineering course, Fall 2007

Sort Hierarchy NFR Sort User Friendliness Performance Security Cost Time Response Time Throughput Space Main Memory Secondary Storage Confidentiality Integrity Availability Accuracy Internal Consistency External Consistency Completeness Operating Cost Development Cost Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, Requirement engineering course, Fall 2007

Thanks for your attention Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory, Requirement engineering course, Fall 2007