Requirements Specification with Models

Similar documents
Requirements engineering

REQUIREMENTS ENGINEERING

BABOK v3 Task to Technique Mapping

Essentials of IBM Rational Requirements Composer, v3. Module 4: Creating a use-case model

RE Activities, Bespoke RE, Stakeholders. Lecture 2, DAT230, Requirements Engineering Robert Feldt,

Requirements Engineering

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques.

Organising Requirements

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

End To End Training For Your Business Analyst Career

Requirements Engineering. Massimo Felici Room 1402, JCMB, KB

Business Events as a focal point of analysis

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering

Lecture 5: Requirements Engineering II. COSI 120b, Principles of Software Engineering

The Life of a Program

Functional requirements and acceptance testing

Requirements Engineering. Andreas Zeller Saarland University

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Architecture. By Glib Kutepov Fraunhofer IESE

Requirements Knowledge Model. Business. Event. Business. responding. Business. Use Case 1.. Business tracing * * * * Requirement

Quality Starts with the Definition of Goals

[Name] [ ID] [Contact Number]

Requirements Engineering and Software Architecture Project Description

Requirements Verification and Validation

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

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

Requirements Engineering

The Systems Development Lifecycle

Requirements Engineering: Part I. Software Requirements & Project Management CITS3220

Design approaches the Waterfall Model. COSC345 Software Engineering

Requirement Management, Agile RE. Lecture 8, DAT230, Requirements Engineering Robert Feldt,

INF5120 Modellbasert Systemutvikling Modelbased System development

Domain Understanding and Requirements Elicitation (2)

Requirements elicitation: Finding the Voice of the Customer

Introduction to Software Engineering

Systems Analysis for Business Analysts (3 Day)

Requirements Analysis. Overview

CHAPTER 2 LITERATURE SURVEY

Requirements Engineering Unit 4: Requirements modeling, specification & prioritization

Goal-oriented Analysis of Regulations

Software Engineering Fall 2014

Chapter 4 Requirements Elicitation

Course : Software Engineering and Project Management. Unit 2 Software Requirements Engineering & Analysis

Requirements engineering meets physiotherapy: an experience with motion-based games (draft)

! To solve problems. ! To take up new opportunities. ! Requirements - descriptions of. " Behavior. " Data. " Constraints (eg. cost and schedule)

Requirements Engineering

Affinity Diagram. Decision and Risk Analysis

Change is constant. Obstacle to RE: Why requirement study? Limitation of the designers Different knowledge domains Not expertise Ubiquitous nature

Requirements Elicitation

Software Quality. Unit 6: System Quality Requirements

TDT4250 Modelling of information Systems Autumn Meta-modeling. John Krogstie IDI, NTNU and SINTEF

IE 366 Requirements Development

Requirements Engineering and Software Architecture Project Description

Quizzes for 1 st Study Group Session

What are Requirements? SENG1031 Software Engineering Workshop 1. My Notes. System Overview: The Big Picture

02291: System Integration

COSC 735: Software Engineering Test 1 Sample Solution

Functional and non functional requirements. Requirements elicitation Requirements analysis Requirements validation Requirements management

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Powering Product Success Through User Feedback

Requirements Elicitation

Requirement Engineering. L3 The requirement study. Change is constant. Communication problem? People are hard to understand!

Validation and verification of specification models

Quizzes for 1 st Study Group Session

2m Course Introduction

MSO Analysis & UML 2

2068 I. Attempt any ten questions. (10x6=60)

with KAOS/Objectiver Robert Darimont E mail: it.be JDEV /9/2013

Oi Requirements Communication in New Product Development

SOFTWARE REQUIREMENTS. / / N A ' Practical techniques for gathering and managing requirements throughout the product development cycle.

Service Design Method Cards

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

A Review of Requirements Engineering Tools for Requirements Validation Software Engineering Process

The Enterprise Systems Engineering Center Requirements Management Guide - Analysis

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Types of S/W Requirements. Levels of S/W Requirements

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

SE310 Analysis and Design of Software

L2 The requirement study. Requirement Engineering. Fang Chen

Objective (c.f., p.58)

Development Process Bennett, McRobb and Farmer 1

Why Document the Architecture? EEC 421/521: Software Engineering. Design Process. Thinking About Design. Stakeholder Communication.

THE BCS PROFESSIONAL EXAMINATION Diploma. October EXAMINERS REPORT Systems Analysis and Design

Requirements Engineering

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Use Cases and User Stories for Agile Requirements

Software Development Methodologies. CSC 440: Software Engineering Slide #1

FREQUENTLY ASKED QUESTIONS

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies

IIBA Global Business Analysis Core Standard. A Companion to A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 3

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 1: Introduction!

CSEB233: Fundamentals of Software Engineering. Software Requirements Part 1 Understanding Requirements Engineering

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

4/3/2010. Objectives Overview. What is System Development? Objectives Overview. What is System Development? What is System Development?

CSE 435 Software Engineering. Sept 14, 2015

Transcription:

Requirements Specification with Models Lectures 4, DAT230, Requirements Engineering Robert Feldt, 2011-09-12

Recap Elicitation to find/gather/create/refine/specify reqs & understand stakeholder needs Many different elicitation techniques Interviews, Group sessions, Observation are key Always: care, be human, listen, focus on them, glossary Other sources: Docs, Strategies, Problem domain, History, Competitors, Environment Different abstraction levels Structured interview more powerful than open-ended

A continuum /Modeling & Specification

What is Req Specification?

What is Req Specification? The deliberate documentation of requirements to a degree that makes the associated risks tolerable

What is Req Specification? The deliberate documentation of requirements to a degree that makes the associated risks tolerable i.e. writing requirements down in a form so that we avoid later problems

What is Req Modeling?

What is Req Modeling? The construction of abstract descriptions of reqs/goals/systems/behavior

What is Req Modeling? The construction of abstract descriptions of reqs/goals/systems/behavior Used in several RE activities: elicitation, analysis, specification

What are risks without doc? Reqs still ambiguous & open-ended after elicitation => Developers make decisions/assumptions later => User <-> Dev difference: User not satisfied Dev <-> Dev difference: Inconsistent system Overall: Costs high! BUT: Goal is ideal PRODUCT not ideal Req Doc! Thus: Just enough Req Spec to reduce Risks!

Cost-effectiveness Common sense Customers/Users SRS Doc Developers

Cost-effectiveness Common sense Customers/Users SRS Doc Developers

Cost-effectiveness Common sense Customers/Users SRS Doc Developers

Cost-effectiveness Common sense Customers/Users SRS Doc Developers

Roles of Req Doc Communication device between all parties Customers, Marketing, Sales, Finance, Management, Devs, Testers Drives design and choices Drives testing Drives project management Basis for evolution / releases

Specification Techniques Word doc Excel doc DB / Req tool Text Decision tables Decision trees Decision-based CSP Z VDM Property-based Formal Scenario Storyboard Use case Stimulus-response sequence Interaction- / Sequence-based PLanguage Volere Probabilistic Quality Patterns Quality Requirements State transition diagram UML state diagram State-based UI standards Prototype Look n feel samples User Text Sketches Interfaces

Selecting techniques Stakeholders must understand => Natural Language Models where NatLang has risks: Complex interactions/sequences/states/decisions Interfaces BUT not One model to rule them all! Quality requirements: Quantify Capture in structured english or PLanguage

Industrial survey: Methods for ReqEng? Uses... Yes Reviews of requirements 63.8% Model-based development 25.0% Prototype-based development 24.3% Prioritization of reqs 23.7% Personas for req elicitation 20.4% UML 17.8% Modeling/formalisms for reqs 11.8% Software Product Lines 5.9% 152 answers from Swedish industry, Spring 2009

Tool for Req Eng work? Svarade Andel Office (Word, Excel, Visio) 23.8% None 15.3% Requisite Pro 10.2% Quality Center 9.6% Don t know 5.1% Focal Point / DOORS 4.0% Caliber 3.4% Customer-specific 3.4% RSA 3.4% Clear Case 3.4% Req Test 3.4% Rest / Other (max 2 mentions per tool) 18.6% 177 tools mentioned in total

Goal-driven Req Specification [Kavakli2003]

I* http://www.cs.toronto.edu/km/istar/ Models Agents and their Intentions Early Req Specification together with Customers 1. Strategic Dependency Model Actors and Dependencies Certain Actions performed by certain Actors Ex: User depends on system to open door to meet goal to enter building 2. Strategic Rationale Model Looks inside actors, what drives them

I* example

KAOS Goal modeling and refinement [Betrand1998]

KAOS Goal modeling and refinement [Betrand1998]

KAOS Goal modeling and refinement [Betrand1998]

Data modeling: E-R Diagrams [Wikipedia2012]

Data modeling: E-R Diagrams [Wikipedia2012]

Formal languages: Z Mathematical language for describing computing system Model-based, models abstract data type (ADT) ADT = system state and operations on it State = state variables and their values Operation = can change state Good match to imperative programming languages Also extension for OO languages; form of inheritance Very mature, used since 1970 s

State Transition Diagram (Z example) From J. Jacky, The way of Z, chapter 6

State Transition Table (Z example)

And now in Z

References [Kavakli2003] Kavakli, E. and Loucopoulos, P., Goal driven requirements engineering: evaluation of current methods, Proceedings of the 8th CAiSE/ IFIP8, pp. 16-27, 2003. [Bertrand1998] Darimont, R. and Delor, E. and Massonet, P. and Van Lamsweerde, A., GRAIL/KAOS: an environment for goal-driven requirements engineering, ICSE conference, pp. 612-620, 1997.