Requirements Engineering: A Roadmap



Similar documents
Unit 1 Learning Objectives

Requirements Engineering Process

Requirements Engineering: A Roadmap

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

CSC340: Information Systems Analysis and Design. About the Course

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

POSITIVE TRENDS IN REQUIREMENT ENGINEERING PRACTICES FOR HIGHER SOFTWARE QUALITY

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

To introduce software process models To describe three generic process models and when they may be used

Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Requirements engineering

Story Card Based Agile Software Development

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Goal-Oriented Requirements Engineering: An Overview of the Current Research. by Alexei Lapouchnian

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

11 Tips to make the requirements definition process more effective and results more usable

Teaching Requirements through Interdisciplinary Projects

A Comparison of SOA Methodologies Analysis & Design Phases

JOURNAL OF OBJECT TECHNOLOGY

Requirements Traceability. Mirka Palo

Weaving the Software Development Process Between Requirements and Architectures

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Examination SUBJECT. Version:

Requirements Engineering for Software

Object-Oriented Systems Analysis and Design

IV. Software Lifecycles

SOFT 423: Software Requirements

Architecture Centric Development in Software Product Lines

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

Requirements engineering and quality attributes

Issues and Challenges of Requirement Elicitation in Large Web Projects

Family Evaluation Framework overview & introduction

Requirements Engineering: Elicitation Techniques

School of Advanced Studies Doctor Of Management In Organizational Leadership. DM 004 Requirements

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

What an Architect Needs to Know

Enterprise Content Management (ECM)

Bidirectional Tracing of Requirements in Embedded Software Development

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led

Bottom-Line Management

Q3 IIBA Corporate Member Forum. Will start promptly on the hour

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

Lecture 20: Software Evolution

SOFTWARE REQUIREMENTS

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Processes. Topics covered

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Business Process Models as Design Artefacts in ERP Development

IT3205: Fundamentals of Software Engineering (Compulsory)

Requirements Management

GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Requirements Engineering

Technology management in warship acquisition

School of Advanced Studies Doctor Of Education In Educational Leadership With A Specialization In Educational Technology. EDD/ET 003 Requirements

ISO/IEC Software Product Quality Model

School of Advanced Studies Doctor Of Management In Organizational Leadership/information Systems And Technology. DM/IST 004 Requirements

Software Requirements, Third Edition

Lecture 10 CS5702. Requirements Engineering. Managing change optimising Value - A bit more about Agile RE. Requirements Engineering.

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]

A Business Analysis Perspective on Business Process Management

Job Description. Job Title Branch Business Group Reporting to Location. Purpose. Key Tasks

Contributions To Ontology-Driven Requirements Engineering

CREDENTIALS & CERTIFICATIONS 2015

Service Road Map for ANDS Core Infrastructure and Applications Programs

School of Advanced Studies Doctor Of Health Administration. DHA 003 Requirements

The Role of the Software Architect

Improving Traceability of Requirements Through Qualitative Data Analysis

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM

Software Development Processes. Software Life-Cycle Models

Requirements Definition and Management Processes

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Software Engineering Reference Framework

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

Five best practices for deploying a successful service-oriented architecture

Agile and the role of the business analyst

PHASE 5: DESIGN PHASE

MSc in Construction Management (Cycle 2, level 4)

Semantic Variability Modeling for Multi-staged Service Composition

DSDM DSDM. CONSORTiUM. CONSORTiUM. AgileBA. The Handbook for Business Analysts. Extract The Requirements Lifecycle In An Agile Project.

Modelli di sviluppo software. Enrico Giunchiglia

Develop Project Charter. Develop Project Management Plan

Lecture 9: Requirements Modelling

BAL2-1 Professional Skills for the Business Analyst

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Enterprise Architecture Assessment Guide

Role Description Business Analyst / Consultant - ICT

Transcription:

Requirements Engineering: A Roadmap Bashar Nuseibeh & Steve Easterbrook Department of Computing Imperial College of Science, Technology & Medicine London SW7 2BZ, UK Email: ban@doc.ic.ac.uk http://www-dse.doc.ic.ac.uk/~ban/ 2000 Bashar Nuseibeh, Imperial College, London 1 A RoadmapÕs Roadmap A little motivation È Or, why RE is important A little background È Or, before we begin RE A roadmap È Or, what is RE? ÒYou are hereó È Or, on the RE state-of-the-art A little speculation È Or, some open research issues É 2000 Bashar Nuseibeh, Imperial College, London 2 1

Quality & Requirements Quality software systems meeting stakeholder needs Engineering Argument Primary measure of success È is degree to which a system meets the purpose for which it was intended. Economic Argument Errors cost more to correct, the longer they go undetected 2000 Bashar Nuseibeh, Imperial College, London 3 Requirements Engineering (RE) Requirements are: È È expressions of stakeholder needs of a system to achieve particular goals. expressed in the vocabulary of the problem domain, rather than the system (solution) domain. Requirements Engineering is about: È Discovering stakeholder goals, needs, and expectations È Adjusting stakeholder expectations È Communicating these to system implementers. 2000 Bashar Nuseibeh, Imperial College, London 4 2

A Definition of RE ÒRequirements engineering is the branch of systems engineering concerned with the real-world goals for, services provided by, and constraints on a large and complex software-intensive system. It is also concerned with the relationship of these factors to precise specifications of system behaviour, and to their evolution over time and across system families.ó [adapted from Zave 1997] 2000 Bashar Nuseibeh, Imperial College, London 5 Orientation Foundations Context and Groundwork Eliciting Requirements Modelling and Analysing Requirements Communicating Requirements Agreeing Requirements Evolving Requirements Integrated Requirements Engineering 2000 Bashar Nuseibeh, Imperial College, London 6 3

Foundations of RE Computer Science Logic Linguistics Systems Theory Cognitive Psychology Anthropology Sociology Philosophy É epistomology É phenomenology É ontology É 2000 Bashar Nuseibeh, Imperial College, London 7 Context and Groundwork Context È Process improvement and maturity È Contract and procurement procedures È Organisational setting È Personnel and staffing Groundwork È Feasibility È Risk [from Finkelstein 1993] 2000 Bashar Nuseibeh, Imperial College, London 8 4

Eliciting Requirements Ð what & where Requirements elicitation is partly a process of discovering stakeholder expectations, and adjusting these expectations. Things to elicit È Boundaries È Stakeholders È Goals È Tasks É use cases É scenarios È Feasibility È Risk Where to elicit requirements from È Stakeholders È Application domain È Existing documentation 2000 Bashar Nuseibeh, Imperial College, London 9 Eliciting Requirements - how Traditional techniques È Questionnaires, surveys, interviews, analysis of existing documentation, etc. Group elicitation techniques È Brainstorming, focus groups, RAD/JAD workshops, etc. Prototyping È For early feedback from stakeholders Model-driven techniques È Goal-based, scenario-based, etc. Cognitive techniques È Protocol analysis, card sorting, laddering, etc. Contextual techniques È Ethnography, conversation analysis, etc. 2000 Bashar Nuseibeh, Imperial College, London 10 5

Modelling and Analysing Requirements Enterprise modelling Data modelling Behavioural modelling Domain modelling Modelling non-functional requirements (NFRs) Analysing Requirements Models È Animation È Automated reasoning È Consistency checking È É 2000 Bashar Nuseibeh, Imperial College, London 11 Communicating Requirements RE facilitates communication among stakeholders Requirements documentation È is often the focus of such communication È affects choice of specification language È sometimes makes use of documentation standards Requirements traceability Requirements management 2000 Bashar Nuseibeh, Imperial College, London 12 6

Agreeing Requirements To design and implement a system, the requirements have to be agreed To get agreement requirements have to be È Validated È Negotiated, and conflicts resolved È Prioritised Living with Inconsistency 2000 Bashar Nuseibeh, Imperial College, London 13 Evolving Requirements Successful systems will evolve È When the environment in which they operate changes Managing change is a fundamental RE activity È Adding new requirements & requirements scrubbing È Fixing errors & managing inconsistency È Impact analysis & configuration management Requirements for product families È Need to identify core requirements È Reuse of requirements È COTS 2000 Bashar Nuseibeh, Imperial College, London 14 È Software architectures 7

Integrated Requirements Engineering Method engineering È Integrating notations and techniques Problem Frames È Identifying well-understood problems, offers the possibility of selecting corresponding, appropriate, well-understood solutions Tools È DOORS, Requisite Pro, Cradle, RTM, etc. 2000 Bashar Nuseibeh, Imperial College, London 15 Modelling in context You Are Here! Describing indicative and optative properties of the environment Inconsistency happens, live with it! The RE Community: È REJ, ISRE, ICRE, REFSQ, REP, É 2000 Bashar Nuseibeh, Imperial College, London 16 8

Journey Planner Ð a research wish list Richer models for capturing and analysing nonfunctional requirements. Techniques for modelling and analysing properties of the environment È to deal with incomplete, inconsistent & evolving models Reuse of requirements models. È to adapt products into product families Bridging the gap between elicitation approaches based on contextual enquiry and more formal specification and analysis approaches. 2000 Bashar Nuseibeh, Imperial College, London 17 Requirements and Design System Requirements Design Subsystem Requirements Design Unit Requirements Design É 2000 Bashar Nuseibeh, Imperial College, London 18 9

A finer grain process? Independent General Implementation Dependence Specification Dependent Level of Detail Requirements Design Detailed [adapted from Moffett 1999] 2000 Bashar Nuseibeh, Imperial College, London 19 Some difficult questions What is a requirements engineer? È A software architect? È A systems engineer È É? The end of RE, as we know it? È Refinement Ð not realistic? È Documentation Ð not necessary? È Time scales Ð too long? 2000 Bashar Nuseibeh, Imperial College, London 20 10