05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “The goal of requirements engineering is to develop.

Slides:



Advertisements
Similar presentations
7.1 A Bridge to Design & Construction
Advertisements

Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
12 Aug 2005CSE403, Summer'05, Lecture 15 Updated Schedule of Remaining Class-Related Deliverables Fri, Aug 10pm: hw#4 responses due Sun, Aug
Part 2d: Requirements Chapter 2: How to Gather Requirements: Some Techniques to Use Chapter 3: Finding Out about the Users and the Domain Chapter 4: Finding.
Evaluating Requirements
WEEK 4 Material Lecture 4a (Wed.). Use Cases/Actors o What is a use case ? l A sequence of actions performed by a system that yields an observable result.
24-January-2003cse SystemRequirements © 2003 University of Washington1 System Requirements CSE 403, Winter 2003 Software Engineering
10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
From Scenarios to Paper Prototypes Chapter 6 of About Face Defining requirements Defining the interaction framework.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
13 Jul 2006CSE403, Summer'06, Lecture10 Lifecycle Architecture Review: Preliminary Feedback Valentin Razmov.
English Comprehension and Composition – Lecture 25 Objectives: What is an ? Basics of an Tips for Writing Effective s.
CS499 Use Cases References From Alistair Cockburn Writing Effective Use Cases (Book) - Use Case.
Requirements Engineering
Requirements Analysis
Software engineering lec4 Requirements. Developing requirements Start thinking about particular problem Understand the problem  Domain analysis Gather.
ITEC 370 Lecture 8 Requirements. Review Requirements –What are some of the characteristics of a good requirement? –What are use cases?
Cloud Computing.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
SCIM Use Cases Phil Hunt, Bhumip Khasnabish, Anthony.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Chapter 11 Analysis Concepts and Principles
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
UML – Unified Modeling Language Use-Case Diagrams.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
1 Use Case Modeling Reference: RUP Doc. Use Case Example 2.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
IS3320 Developing and Using Management Information Systems Lecture 9: Use Cases and Scenarios Rob Gleasure
 Relate Use Cases to  MVC and Application Architecture  CRC  Recap distinctions : Language, Process, Tool  Detail a Use Case  Elements of a Use Case.
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.
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
05 Jul 2006CSE403, Summer'06, Lecture07 Administrivia Informal feedback meetings with LCO groups FantasySportsLeague: still to come today Individual assignment.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
11 Jul 2005CSE403, Summer'05, Lecture 08 Lecture 08: Best Practices for Software Design (Part I) Valentin Razmov.
CMSC 345 Use Cases. u Describes the system’s behavior under various conditions as the system responds to a request from one of the stakeholders, called.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Part IV: On Use Cases Using the use case technique for exploring user requirements Chapter 9: Use Cases and Scenarios and Stories, Oh My! Chapter 10: Actors.
Requirements Engineering Determining and Defining the Requirements for the Project.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
A Seminar On. What is Cloud Computing? Distributed computing on internet Or delivery of computing service over the internet. Eg: Yahoo!, GMail, Hotmail-
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:
Software Requirements and the Requirements Engineering Process
Systems Analysis and Design in a Changing World, 6th Edition
Use Cases and Scenarios
Group Y Presenters: (indicate roles)
Rob Gleasure IS3320 Developing and Using Management Information Systems Lecture 8: Use Cases and Scenarios Rob Gleasure.
Lecture 11: Scheduling, Estimation, and Prioritization
Systems Analysis and Design in a Changing World, 6th Edition
Lecture 07: Techniques for Gathering Requirements
Lecture 03: Software Lifecycle Models
Lecture 09: Software Architecture (Part I)
Use Case Document Example
Use Case Modeling.
Use Case Modeling Part of the unified modeling language (U M L)
Questions First On class? On project? On material we’ve discussed?
THE PROCESS OF INTERACTION DESIGN
Section 01: Life Cycle Objectives Review
Lecture 07: Team Environment Issues (Part I)
Presentation transcript:

05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “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

05 Jul 2006CSE403, Summer'06, Lecture08 Outline Techniques: 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. Valentin Razmov

05 Jul 2006CSE403, Summer'06, Lecture08 Resources “Software Requirements”, by Karl Wiegers “Use Cases and The Ever Unfolding Story”, seminar by Dan Rawsthorne “Rapid Development”, by Steve McConnell Ch. 10, 14.1 “The Pragmatic Programmer”, by Andrew Hunt and David Thomas Ch. 7 – all of it is relevant Valentin Razmov

05 Jul 2006CSE403, Summer'06, Lecture08 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? (a.k.a. Main success scenario, MSS) 3. What can go wrong with that? 4. How do we then handle this situation? Valentin Razmov

05 Jul 2006CSE403, Summer'06, Lecture08 Use Cases: Suggested Template Valentin Razmov Goal Primary Actor Precondition Successful Postcondition Unsuccessful Postcondition Trigger Main Success Scenario Failure Scenario

05 Jul 2006CSE403, Summer'06, Lecture08 Use Case Example using the Suggested Template Valentin Razmov Goal Reading one’s web-based Primary Actor account owner Precondition User has account with a site; user knows site’s address Successful Postcondition s retrieved Unsuccessful Postcondition s not retrieved Trigger User’s incoming read request via the site’s web Main Success Scenario … Failure Scenario …

05 Jul 2006CSE403, Summer'06, Lecture08 Use Case Example: Main Success Scenario Example: Reading your web-based mail hotmail, yahoo, gmail, etc.) Valentin Razmov

05 Jul 2006CSE403, Summer'06, Lecture08 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. Valentin Razmov

05 Jul 2006CSE403, Summer'06, Lecture08 Commonality and Variability Analysis Example: Computing the price for a purchase at an e-commerce site Valentin Razmov