Lecture 07: Techniques for Gathering Requirements

Slides:



Advertisements
Similar presentations
Project Analysis Course ( ) Final Project Report Overview.
Advertisements

Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
1 Lecture 1: Processes, Requirements, and Use Cases.
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
Project Analysis Course ( ) Final Project Report Overview Prepared by: Sijali Petro Korojelo (Course Assistant)
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Instructor: Peter Clarke
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
 CS 5380 Software Engineering Chapter 8 Testing.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Requirements Engineering Requirements Elicitation Process Lecture-9.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
CSCE 240 – Intro to Software Engineering Lecture 2.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Prof. Hany H. Ammar, CSEE, WVU, and
Software Engineering Lecture 10: System Engineering.
05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “The goal of requirements engineering is to develop.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
Object-Orientated Analysis, Design and Programming
Practical information
Chapter 4 – Requirements Engineering
User-centred system design process
Group Y Presenters: (indicate roles)
Information Systems Today: Managing in the Digital World
The Software Development Cycle
Lecture 11: Scheduling, Estimation, and Prioritization
Prototype Model Lecture-4.
Requirements Elicitation – 1
Systems Analysis and Design in a Changing World, 6th Edition
SOFTWARE ENGINEERING PRESENTATION
Software Engineering (CSI 321)
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Section 01: Life Cycle Objectives Review
Lecture 02: Software Lifecycle Models
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Chapter 2 – Software Processes
Team Members: Member1, … Spring 2013
Lecture 03: Software Lifecycle Models
Lecture 09: Software Architecture (Part I)
Analysis models and design models
Software Engineering Furqan Rustam.
Cambridge TECHNICALS- LEVEL 3
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Use Case Document Example
Software Engineering Lecture #3
Lecture # 7 System Requirements
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Questions First On class? On project? On material we’ve discussed?
Section 01: Life Cycle Objectives Review
The Software Development Cycle
CSCI 360: Software Architecture & Design
Presentation transcript:

Lecture 07: Techniques for Gathering Requirements Valentin Razmov 07 Jul 2005 CSE403, Summer'05, Lecture 07

Outline Techniques: Risks from Inadequate Requirements Processes Use Cases / Usage Scenarios Commonality and Variability Analysis Frequent Customer Feedback Throwaway Prototyping Risks from Inadequate Requirements Processes Discussion Questions Note: The list of techniques is necessarily incomplete. 07 Jul 2005 CSE403, Summer'05, Lecture 07

Resources “Software Requirements”, by Karl Wiegers “Use Cases and The Ever Unfolding Story”, seminar by Dan Rawsthorne 07 Jul 2005 CSE403, Summer'05, Lecture 07

Requirements Engineering “The goal of requirements engineering is to develop high quality – not perfect – requirements that allow you to proceed with construction at an acceptable level of risk.” -- from “Software Requirements”, Karl Wiegers 07 Jul 2005 CSE403, Summer'05, Lecture 07

Use Cases Describe the typical paths for a user to interact with a system Increasing level of detail depending on the complexity of the interaction “The ever unfolding story” (Dan Rawsthorne) Questions to consider (in that order): 1. Who are the actors? 2. What are they (normally) doing? 3. What can go wrong with that? 4. How do we handle this situation? 07 Jul 2005 CSE403, Summer'05, Lecture 07

Use Cases Example: Reading your web-based mail (e.g., @ hotmail, yahoo, gmail, etc.) 07 Jul 2005 CSE403, Summer'05, Lecture 07

Commonality and Variability Analysis Commonalities are the enduring concepts of the domain you’re modeling. They would give stability to your designs. Variabilities are only defined in the context of existing commonalities. 07 Jul 2005 CSE403, Summer'05, Lecture 07

Commonality and Variability Analysis Example: Computing the price for a purchase at an e-commerce site Factors that play a role – sales tax, shipping and handling. Maybe weight limit, size, and additional restrictions and tariffs for other countries. Factors are the rows (commonalities), while countries are the columns (variabilities). Then, it’s all about filling in the table and discovering what cells might be missing from the original idea. 07 Jul 2005 CSE403, Summer'05, Lecture 07

Frequent Customer Feedback Are requirements going to change? When are they final? Are they ever exact and clear? Frequent communication with customers => no need to make dangerous assumptions about the finality and completeness of requirements 07 Jul 2005 CSE403, Summer'05, Lecture 07

Throwaway Prototyping Using a rough sketch / diagram to show your understanding and to evoke customer response Example: Caution: Do not overdo it! It must look and remain throwaway. © Busta’ Sandwich Co. 07 Jul 2005 CSE403, Summer'05, Lecture 07

Risks from Inadequate Requirements Processes Insufficient user involvement => ? Creeping user requirements => ? Ambiguous requirements => ? Gold-plating by developers and users => ? Minimal specifications => ? Overlooking the needs of certain user classes => ? Incompletely defined requirements => ? 07 Jul 2005 CSE403, Summer'05, Lecture 07

Risks from Inadequate Requirements Processes Insufficient user involvement => unacceptable products Creeping user requirements => overruns and degraded product quality Ambiguous requirements => ill-spent time and rework Gold-plating by developers and users => unnecessary features Minimal specifications => missing key requirements Overlooking the needs of certain user classes => dissatisfied customers Incompletely defined requirements => accurate project planning and tracking impossible 07 Jul 2005 CSE403, Summer'05, Lecture 07

Questions for Discussion Is there a way to test requirements? If so, how? If not, how does one know that they’ve been fulfilled at delivery time? How does one evaluate the presence and level of fulfillment of non-functional requirements? E.g.: reliability, robustness, efficiency, security, safety, maintainability, availability, … 07 Jul 2005 CSE403, Summer'05, Lecture 07

The V-Model and Testing throughout the Lifecycle User requirements; Acceptance test planning Acceptance testing Functional requirements; System test planning System testing Architecture design; Integration test planning Integration testing Detailed design; Unit test planning Unit testing Coding 07 Jul 2005 CSE403, Summer'05, Lecture 07

Your Questions on Gathering Requirements 07 Jul 2005 CSE403, Summer'05, Lecture 07