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

Similar documents
version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

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

Requirements Engineering

Software Development Life Cycle (SDLC) Tata Consultancy Services ltd. 12 October

VANCOUVER Chapter Study Group. BABOK Chapter 6 Requirements Analysis

REQUIREMENTS ENGINEERING

Introduction to Software Engineering

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

Requirements Engineering

Requirements Engineering. Andreas Zeller Saarland University

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

Requirements Verification and Validation

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team

Requirements Engineering

Business Analysis for Practitioners - Introduction

Engineering. CMMI for Development V.1.2 Module 3. M03/Engineering/v1.2

Verification and Validation

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

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

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

NDIA Test and Evaluation Conference

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

Syllabus. REQB Certified Professional for Requirements Engineering. Advanced Level Requirements Manager

Critical Skills for Writing Better Requirements (Virtual Classroom Edition)

CHAPTER 2 LITERATURE SURVEY

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

The pink lines detail the updating made. Dim 1 Dimension 2 Dimension 3

Global Journal of Engineering Science and Research Management

Questions on Business Analysis Planning and Monitoring. analysis plan is compatible with the project plan?

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

Comp435 Object-Oriented Design. Requirements and Use Cases. Requirements Analysis. Outline. Requirements Analysis. Requirements change

It will also enable you to manage the expectations of your clients or management, as they will know exactly what to expect.

CSE 435 Software Engineering. Sept 14, 2015

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

CS 351 Requirements Engineering

Software Development Life Cycle:

Chapter 1. Contents. 1.1 What is Software Engineering! Solving Problems. Objectives. What is Software Engineering

Requirements Elicitation. Software Requirements & Project Management CITS3220

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

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

7. Project Management

Oi Requirements Communication in New Product Development

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

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

BABOK v2.0 Snapshots

Software Development

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

Organising Requirements

Requirements engineering

SYLLABUS. What is Agility, What is an Agile Process, Agile Process Models.

Requirements Elicitation. Software Requirements and Design CITS 4401 Lecture 17

Test Workflow. Michael Fourman Cs2 Software Engineering

SE curriculum in CC2001 made by IEEE and ACM: What is Software Engineering?

Requirements Elicitation

Functional requirements and acceptance testing

BABOK v3 Task to Technique Mapping

When Does Requirements Volatility Stop All Forward Progress?

Motivations. Case Study. Reference documents for the presentation

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

Who Am I? Project Basics. Project. Why Project? Alternative (names) Poloya s Method. Computer Science program ISD Datasystem AB (6 years)

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

Requirements Engineering and SCRUM. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 13, 2007

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs.

The Systems Development Lifecycle

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

Suitability of the Requirements Abstraction Model (RAM) Requirements for High Level System Testing

Core Design Requirements At the start of a project, it is important to specify those parameters and properties that:

Systems Analysis for Business Analysts (3 Day)

Basics of Software Engineering. Carmen Navarrete

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

Requirements Validation and Negotiation

L2 The requirement study. Requirement Engineering. Fang Chen

Comparison Matrix ISO 9001:2015 vs ISO 9001:2008

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

Defining Requirements

Unit: Information Systems Analysis Assignment title: Popular Portables June Marking Scheme

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

The software lifecycle and its documents

Software Engineering QUESTION BANK

REQB Foundation Level Sample Exam paper

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Chapter 26. Quality Management

Requirement Error Taxonomy

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220

Research on software systems dependability at the OECD Halden Reactor Project

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

Software Processes 1

Requirements Engineering with Use Cases

Requirements Engineering

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

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

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Chapter 8 Understanding Requirements

Management of Projects

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

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

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

CCU 2010 / Identifying User Needs and Establishing Requirements. Lesson 7. (Part1 Requirements & Data Collection)

Architecture. By Glib Kutepov Fraunhofer IESE

Transcription:

COMP3110/6311, Software Analysis and Design Why do we Develop Software? To solve problems To take up new opportunities The value of Requirements "#$"%&'(%)#*+"%#)&),'$&+)& '()#-&)'$./,0.&+%/&.%1"*(%2.%# In order to select and use appropriate methods for Requirements Analysis, we must first understand the value of requirements SE Projects - The value of requirements and design Shayne R Flint Slide 1 SE Projects - The value of requirements and design Shayne R Flint Slide 2 What do people value in software? Its ability to " Solve problems " Help users to take advantage of new opportunities Cost and Schedule Quality factors " Reliability, maintainability, portability, efficiency " Human/Computer interaction, testability " Marketability, profitability How do we capture stakeholders values? Requirements - descriptions of " Behavior " Data " Constraints (eg. cost and schedule) " Properties (eg. Reliability, portability, maintainability) " Interfaces (to hardware and other software) To be of value to stakeholders, software needs to satisfy stakeholder requirements SE Projects - The value of requirements and design Shayne R Flint Slide 3 SE Projects - The value of requirements and design Shayne R Flint Slide 4

What groups of people have requirements? Anyone or any organisation that influences requirements " Users, maintainers, supporters, trainers " Analysts, designers, programmers, testers, managers " Regulators, unions, professional bodies Stakeholders Why bother with requirements? They tell us what stakeholders value A basis for agreement between stakeholders " What to build (scope) " Schedule and Cost " Acceptance criteria Failure to reach and maintain such agreement is a major cause of project failure Good requirements lead to improved agreement between stakeholders and increased likelihood that software will please the stakeholders SE Projects - The value of requirements and design Shayne R Flint Slide 5 SE Projects - The value of requirements and design Shayne R Flint Slide 6 What do we value in requirements? Characteristics of good requirements " Complete, consistent, unambiguous " Relevant, necessary " Testable, traceable " Measurable " Feasible How can we best ensure that our requirements have these characteristics? " Requirements Engineering What is Requirements Engineering? A systematic and repeatable approach to the creation and maintenance of requirements Requirements Engineering is not about light weight vs heavy weight processes. " It is not about XP vs Agile vs 'traditional' SE Projects - The value of requirements and design Shayne R Flint Slide 7 SE Projects - The value of requirements and design Shayne R Flint Slide 8

What activities do we need to think about? What do we value in each RE Activity? Elicitation Elicitation Analysis and Negotiation Documentation There is nothing here about life-cycle models or how these activities are conducted They all need to be done in some way irrespective of life-cycle Ability to identify purpose and constraints Ability to identify all stakeholders Ability to collect and organise all stakeholder needs Ability to abstract and deal with aspects/viewpoints Analysis and Negotiation Ability to reduce conflicts Ability to ensure completeness Ability to ensure compatibility Validation SE Projects - The value of requirements and design Shayne R Flint Slide 9 SE Projects - The value of requirements and design Shayne R Flint Slide 10 What do we value in each RE Activity? Documentation Ability to present requirements in an understandable, complete, and unambiguous way Ability to deliver an appropriate level of detail for all stakeholders (users, designers, testers, maintainers, trainers, managers etc.) Validation Ability to detect requirements problems (consistency, correctness and completeness) Ability to impart confidence in the requirements How do we conduct each activity? We need to select methods that best deliver the value expected by stakeholders " Based on evidence and understanding of characteristics (if we have any) Stakeholder values are often shaped by " Criticality of the software " Requirement volatility " Quality requirements " Stakeholder cultures and politics (supplier, client etc.) " Schedule and budget One size does not fit all SE Projects - The value of requirements and design Shayne R Flint Slide 11 SE Projects - The value of requirements and design Shayne R Flint Slide 12

Some methods Elicitation " Interviews " Scenarios " Soft Systems Methodologies " Observation and Social Analysis Analysis and Negotiation " Structured Analysis Data Flow, Entity Relationship and State Diagrams " Object-Oriented Analysis Class, State, Collaboration, and Sequence diagrams " Prototypes Many of the approaches listed on this slide apply to elicitation, analysis and negotiation COMP3110/6311 Some methods Documentation " Natural language and diagrams " IEEE and MIL standards " Supported and formalised by Models Tools Verification " Inspection and Reviews " Prototypes " Requirements Testing " Executable specifications (xtuml) SE Projects - The value of requirements and design Shayne R Flint Slide 13 SE Projects - The value of requirements and design Shayne R Flint Slide 14 So, what are the main challenges? Requirements value Selecting the right methods " There are many to choose from " Little evidence as to how they work in various situations Dealing with diverse groups of people " Conflict and Viewpoints " Culture and Politics Dealing with change " Learning (wrong and incomplete requirements) " Environment (the world changes) " Technology (we may be able to do new things) Understanding this chain of stakeholder values provides a basis for choosing appropriate methods Developing a 'toolbox' of methods is the easy bit. Choosing the right methods for each project is the hard bit Problem or Opportunity Software Software Development Requirements Requirements Engineering RE Activities RE Methods Design etc....... SE Projects - The value of requirements and design Shayne R Flint Slide 15 SE Projects - The value of requirements and design Shayne R Flint Slide 16

Recap - What do people value in software? Its ability to " Solve problems " Help users to take advantage of new opportunities Cost and Schedule Quality factors The value of Software Design " Reliability, maintainability, portability, efficiency " Human/Computer interaction, testability " Marketability, profitability SE Projects - The value of requirements and design Shayne R Flint Slide 17 SE Projects - The value of requirements and design Shayne R Flint Slide 18 Who might be interested in design? End users don't care? " They may, in the sense that if they believe a design is 'good', they may gain increased confidence that the software will satisfy their needs Designs are mainly used by development and maintenance stakeholders What do we value in a design? Completeness " Implementation of all requirements " Traceability Uniformity Reuse Readability, understandability Flexibility SE Projects - The value of requirements and design Shayne R Flint Slide 19 SE Projects - The value of requirements and design Shayne R Flint Slide 20

What design concepts do we know about? How do we deliver stakeholder value? Abstraction " Structural, Procedural, Data, Control Refinement Modularity Software Architecture Information Hiding Cohesion Coupling Engineering - A systematic and repeatable approach to the creation and maintenance of software designs that provide value to their stakeholders " And, again, it is not about light weight vs heavy weight processes. SE Projects - The value of requirements and design Shayne R Flint Slide 21 SE Projects - The value of requirements and design Shayne R Flint Slide 22