Requirements Engineering A Roadmap

Slides:



Advertisements
Similar presentations
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,
Advertisements

Introduction To System Analysis and Design
Chapter 6: Design of Expert Systems
درس مهندسي نيازمندي ها استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت Requirement Engineering :A Roadmap.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Requirements Management.
Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong.
Shiva Vafadar 1 آزمايشکاه سيستم های هوشمند ( Requirements Engineering : A Roadmap Effectiveness of.
Requirements Engineering: A Roadmap Vahid Jalali Fall 2007 Amirkabir university of technology, Department of computer engineering and information technology,
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Requirement Engineering – A Roadmap
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Requirements Engineering Process – 1
Requirement engineering for an online bookstore system
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
The Software Development Life Cycle: An Overview
S/W Project Management
CSI315 Web Applications and Technology Overview of Systems Development (342)
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
IT Requirements Management Balancing Needs and Expectations.
Software Requirements Engineering: What, Why, Who, When, and How
Lecture 7: Requirements Engineering
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.
IS Analysis and Design. SDLC Systems Development Life Cycle Break problems into management review stages Control cost and time Works best with well understood.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Formal Methods.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Requirement Elicitation Nisa’ul Hafidhoh Teknik Informatika
Advanced Software Engineering Dr. Cheng
CompSci 280 S Introduction to Software Development
Information Systems Development
Fundamentals of Information Systems, Sixth Edition
Project life span.
Requirements Analysis Scenes
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 1- Introduction
Topic for Presentaion-2
The Systems Engineering Context
Chapter 6: Design of Expert Systems
Concepts used for Analysis and Design
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.
Software Engineering (CSI 321)
Introduction To System Analysis and Design PART 2
FOUNDATIONAL CONCEPTS
Requirements Analysis
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
HCI in the software process
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
HCI in the software process
Department of Computer Science Abdul Wali Khan University Mardan
Requirements Engineering Process – 1
Lecture # 7 System Requirements
Requirements Document
Introduction to Requirements Engineering
Human Computer Interaction Lecture 14 HCI in Software Process
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
INTRODUCTION OF REQUIREMENT ENGINEERING Chapter- one.
Presentation transcript:

Requirements Engineering A Roadmap Jichuan Chang cjc@cs.cmu.edu Based on “RE roadmap” by Nuseibeh & Easterbrook RE course materials by Steve Easterbrook http://www.cs.toronto.edu/~sme/CSC2106S/index.html 9/16/2018

Outline Foundations Basic Requirements Engineering activities What is RE? Why important? Inter-disciplinary aspects of RE Basic Requirements Engineering activities Directions and Discussion 9/16/2018

Discussion About requirements: About RE: Future directions: What and How? Environment and Machine Is there always a bridge from the real-world to the “machine”? Is formal specification suitable for all requirements? About RE: Is RE really important? Who can benefic from RE? What is really used in practice? Why so many methods/techniques? How to evaluate and choose? What’s the process that integrates methods and activities? RE tools? Traceability? Future directions: What’s the impact of imperfect requirements? inconsistency? incomplete? evolving? What’s the impact to other development activities? What’s the impact of architectural decision to NFRs? What’s the impact of requirement reuse? 9/16/2018

What is RE? What’s Requirement? [IEEE Std] What is RE? [Zave94] A condition or capability needed by a user to solve a problem or achieve an objective. The set of all requirements forms the basis for subsequent development of the system or system component. What is RE? [Zave94] Requirements Engineering is the branch of systems engineering concerned with real-world goals for, services provided by, and constraints on software systems. Requirements Engineering is also concerned with the relationship of these factors to precise specifications of system behavior and to their evolution over time and across system families. 9/16/2018

Importance of Requirements Engineering Argument A good solution can only be developed if the engineer has a solid understanding of the problem. Economic Argument Defects are cheaper to remove if are found earlier. Empirical Argument Failure to understand and manage requirements is the biggest single cause of cost and schedule over-runs. Safety Argument Safety-related software errors arise most often from inadequate or misunderstood requirements … … 9/16/2018

Research on RE Early research: One epigram summarized all of RE. Reqts. say what the system will do and not how it will do it. A time-consuming, bureaucratic & contractual process? 1990’s: A field of study of it own right Two series of international meetings: RE and ICRE International journal by Springer. Late 1990’s: Grown up enough Many additional smaller meetings and workshops Emphasize the use of contextualized enquiry techniques Model indicative & optative properties of the environment Handle inconsistent and evolving specification Future: increasingly recognized as a critical activity 9/16/2018

RE Basics Dimensions of RE What vs. How What does a web browser do? ‘What’ refers to a system’s purpose external to the system A property of the application domain ‘How’ refers to a system’s structure & behavior internal to the system A property of the machine domain Foundations of RE – Multi-discipline Systems Theory, Systems Engineering, Math & Logic, Computer Science, Social Sciences, Cognitive Sciences, Philosophy, AI 9/16/2018

RE process RE in software lifecycle Essential RE process RE groundwork Initial phase may also span the entire life cycle Essential RE process Understand the problem elicitation Formally describe the problem specification, modeling Attain agreement on the nature of problem validation, conflict resolution, negotiation requirements management - maintain the agreement! Sequential or iterative/incremental RE groundwork Feasibility, risk, concept of operations Decide the RE process, methods and techniques 9/16/2018

Outline Foundations Basic Requirements Engineering activities Eliciting Requirements Modeling and Analyzing Requirements Communicating Requirements Agreeing Requirements Evolving Requirements RE Tool Directions and Discussion 9/16/2018

Eliciting Requirements Source of Requirements: Customer-driven, Market-driven, Hybrid Affect the role of Requirements Things to elicit System boundaries Stakeholders & User Classes Viewpoints Goals and tasks Scenarios/Use cases Elicitation techniques Interviews, questionnaires, surveys, meetings Prototyping Ethnographic techniques Knowledge elicitation techniques Conversation Analysis Text Analysis Elicitation process: Inquiry cycle Use case analysis 9/16/2018 Ethnographic: a branch of sociology dealing with nonspecialists' commonsense understanding of the structure and organization of society

Modeling Requirements Why Modeling? Modeling can guide elicitation it help you ask the right questions? Modeling can provide a measure of progress: if we’ve filled in all the pieces of the model, are we done? Modeling can help to uncover problems Does inconsistency in the model reveal interesting things…? conflicting or infeasible requirements; confusion over terminology, scope, etc; reveal disagreements between stakeholders Modeling can help us check our understanding Can we test that the model has the properties we expect? Can we reason over the model to understand its consequences? Can we animate the model to help us visualize/validate the requirements? 9/16/2018

Modeling Techniques Information modeling: Modeling Enterprises ERD Organization modeling: i*, SSM, ISAC Goal modeling: KAOS, CREWS Modeling Enterprises Goals & objectives Organizational structure Processes and products Agents and work roles Modeling Functional Requirements Structural views Behavioral views Timing requirements Modeling Non-functional Requirements Product requirements Process requirements External requirements Structured Analysis: SADT, SSADM, JSD Object Oriented Analysis: OOA, OOSE, OMT, UML Formal Methods: SCR, RSML, Z, Larch, VDM Quality tradeoffs: QFD, win-win Specific NFRs: Performance:Timed Petri nets Usability: Task models Reliability: Probabilistic MTTF 9/16/2018

Communicating Reqts - SRS How do we communicate the Requirements to others? It is common practice to capture them in an SRS Purpose Communicates an understanding of the requirements Contractual Baseline for evaluating subsequent products testing, V&V Baseline for change control Audience Users, Purchasers Requirements Analysts Developers, Programmers Testers Project Managers 9/16/2018

SRS for Procurement An ‘SRS’ may be written by: the procurer (a call for proposals) Must be general enough to yield a good selection of bids … and specific enough to exclude unreasonable bids the bidders (a proposal to meet the CfP) must be specific enough to demonstrate feasibility and competence … and general enough to avoid over-commitment the selected developer reflects the developer’s understanding of the customers needs forms the basis for evaluation of contractual performance or an independent RE contractor Choice over what point to compete the contract Early (conceptual stage) Late (detailed specification stage) IEEE Standard recommends SRS jointly developed by procurer and developer 9/16/2018

Reqts Traceability Importance: Difficulties: Current Practice Verification & Validation Maintenance Assessing change requests Tracing design rationale Document access Process visibility Management change management risk management control of the development process Difficulties: Cost Delayed gratification Size and diversity Current Practice Focuses on baselined requirements Coverage links from requirements forward to designs, code, test cases, links back from designs, code, test cases to requirements links between requirements at different levels Tools (manual, syntactic) ?? Approaches: UID, hypertext linking Ability: Follow links Find missing links Measure overall traceability 9/16/2018

Agreeing Requirements Two key problems: validation & negotiation Validation - What is “truth” and what is “knowable”? Approaches (Based on philosophical assumptions): assumes there is an objective problem that exists in the world design your requirements models to be refutable validation is always subjective and contextualised Method in practice: Inspections, Reviews and Walkthroughs Prototyping: Throwaway or Evolve? Negotiation - How to reconcile conflicting goals? Requirements Negotiation Competition Third Party Resolution Bidding and Bargaining 9/16/2018

Evolving Requirements Software evolves because requirements evolve … How to manage incremental change to reqts models? How can multiple models (specifications) be compared? How to capture the rationale for each change? Traditional change management Add, modify, remove requirements during development Baselines, Change Requests, Review Boards Software Families The product line approach Viewpoints Requirements model is a collection of viewpoints as a framework for understanding requirements evolution Viewpoints are instantiated from viewpoint templates Viewpoints contain consistency rules (no central control) Internal rule, External rule, Work plan 9/16/2018

RE Tool examples Requisite Pro DOORS Cradle http://www.rational.com/ products/reqpro/ Support Unified Process Support use-case based, declarative, and mixed representation (document templates) Support Requirements Traceability Integrated with change mgmt, modeling, testing, metrics and project mgmt tools. DOORS http://www.telelogic.com/doors/ Inter-project linking, Multiple Views Integration with MS Office and external communication tools Cradle http://www.threesl.com/ 9/16/2018

Outline Foundations Basic Requirements Engineering activities Directions and Discussion 9/16/2018

Future Research Directions Trends in the 1990’s Emphasize the use of contextualized enquiry techniques Model indicative & optative properties of the environment Handle inconsistent and evolving specification Future Directions: Modeling and analysis of problem domain, as opposed to the behavior of software. Models for non-functional requirements (NFR). Bridging the gap between contextual enquiry and formal specification techniques. Impact of architectural choices on the prioritization and evolution of requirements. Reuse of requirements models to facilitate the development of system families and COTS selection. Multi-disciplinary training for requirements practitioners. 9/16/2018

Discussion About requirements: About RE: Future directions: What and How? Environment and Machine Is there always a bridge from the real-world to the “machine”? Is formal specification suitable for all requirements? About RE: Is RE really important? Who can benefic from RE? What is really used in practice? Why so many methods/techniques? How to evaluate and choose? What’s the process that integrates methods and activities? RE tools? Traceability? Future directions: What’s the impact of imperfect requirements? inconsistency? incomplete? evolving? What’s the impact to other development activities? What’s the impact of architectural decision to NFRs? What’s the impact of requirement reuse? 9/16/2018