2. GATHERING REQUIREMENTS Object-Oriented Analysis and Design NTPCUG.

Slides:



Advertisements
Similar presentations
CVs & Telephone Skills Top Tips to remember …
Advertisements

Beauty in a NutShell Business Management Software for Spa Consultants.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Ch 3 System Development Environment
Attentiveness vs. Distraction
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Making Career Decisions
Substitute FAQs SubFinder Overview. FAQs Do I have to have touch-tone service to use SubFinder? No, but you do need a telephone that can be switched from.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
2.4. Use Case Modeling In O-O based IT projects, we can begin the requirements analysis phase with a Use Case Analysis A use case is a common or representative.
8 September Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams.
Introduction To System Analysis and Design
Fundamentals of Information Systems, Second Edition
ETrack User Manual Penchant Software Inc. This manual was written using an Iphone 4s Version One of the keys to successful freight management,
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Adding the Detail Filling in Use Case Templates. Use Case Template The use case diagram is important for visualizing a system and as a communication tool.
Spanish Verbs  Welcome to Spanish 1010! I hope you enjoy your time in class.  This introductory presentation will review two key concepts: conjugation.
Software Engineering Case Study Slide 1 Introductory case study.
SOME IMPORTANT PHRASES FOR BASIC ENGLISH USERS
© Telephone Doctor, Inc. | Business Friendly Customer Service.
Classroom Tips and Tricks
Increasing Parent Involvement
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Learn Management the Easy Way with the Help of Downloadable Power-point Presentations - Learn at Your Own Pace. The Presentation contains Animation. To.
Use Case What is it?. Basic Definition Of who can do what within a system? TemplateDiagramModelDescription.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
Use Cases College of Alameda Copyright © 2007 Patrick McDermott.
Listen to Me!?! Marcus Ashlock Dept. of Communications Kansas State University.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
By Edward Lim 8.7.  What?  Today we started the Cornerstone Piece and we were given a few tasks to complete. The tasks were to watch the Kurt Fearnly.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Review Superman/kryptonite Islands of Calm. Chapter 2. Communication It’s more than just talk!
Slides for User interface design A software engineering perspective Soren Lauesen 12. User documentation and support August 2006 © 2005, Pearson Education.
© 2005 course technology1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard Podeswa.
Chapter 4 Initial Configuration Tasks. Understanding the Initial Configuration Tasks window Microsoft now provides a new feature, the Initial Configuration.
HFOOAD Chapter 2 Requirements. We create software for a reason. We create software fro people. We need to know what the people want in the software we.
Object Oriented Analysis and Design Chapter 4: Analysis.
Parenting for Success Class #7 Preventive Teaching.
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.
© Mark E. Damon - All Rights Reserved Another Presentation © All rights Reserved
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
The Simple Past Tense.
Object-Oriented Analysis and Design Fall 2009.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
How to Market Yourself In a Difficult Job Market. Background (“Market Analysis”) The Job Tree Analyzing Your “Customer” Organizing Your “Selling Points”
1 Chapter 4 Analyzing End-to-End Business Processes.
Requirements Change! Chapter 3 Object-Oriented Analysis and Design Tom Perkins.
HFOOAD Chapter 3 Change: the constant in software development.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Dr. Bea Bourne 1. 2 If you have any troubles in seminar, please do call Tech Support at: They can assist if you get “bumped” from the seminar.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
1 CS161 Introduction to Computer Science Topic #9.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Software Engineering Project.  Why User involvement?  Requirements Gathering statistics.  Ways of Gathering user requirements.  One-on-One Interviews.
CS 151: Object-Oriented Design August 29 Class Meeting Department of Computer Science San Jose State University Spring 2012 Instructor: Ron Mak
January 24, 2009 Agile Product Management Making Things Happen Walter Bodwell Planigle.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Evaluating Requirements
Yeah but.. What do I do? Software Leadership Dan Fleck 2007.
Evaluation Question 7 Looking back at your preliminary task, what do you feel that you have learnt in the progression from it to the full product? Emily.
Dr. Bea Bourne 1. 2 If you have any troubles in seminar, please do call Tech Support at: They can assist if you get “bumped” from the seminar.
Session 3 June Key Features of a Solution Oriented Conversation Session 3.
BIM Gatherıng Requırements Give Them What They Want
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Do you think you got Skittles?
HFOOAD Chapter 5 Interlude
Presentation transcript:

2. GATHERING REQUIREMENTS Object-Oriented Analysis and Design NTPCUG

OOAD2 Welcome! 10 (+) week book study Tom Perkins Books available at Nerdbooks.com /STUDYGROUPSIG/ OOADhttp:// /STUDYGROUPSIG/ OOAD

3 Review (Chapter 1) 3 Steps to Good Software 1.Make sure the software does what the customer wants it to do 2.Apply basic OO principles to add flexibility 3.Strive for a maintainable, reusable design

OOAD4 Today’s Topic: Requirements How to figure out what the customer wants How to understand the problem Constraints: –Customers may not able to express what they want –Customers may not know what they want ??

OOAD5 Learning Objectives Identify the characteristics of a good software requirement Understand the need for the developer to understand the problem Describe a Use Case Create a Use Case Identify the purpose of an Alternate Path Define a scenario Be aware of Extreme Programming methodology

OOAD6 Your new programming job: Doug’s Dog Doors (High tech, automated dog doors) Todd Gina Fido Your first Customers What they want: An automated, remote- controlled Dog Door barks !!! want to push button to open door No Problem !!!

OOAD7 So, you whip out some code … (DEMO)

OOAD8 So, the dog door is installed … Todd and Gina are excited … The first night … Fido barks, button pressed … Fido goes out … Great But, the next morning, who is in the kitchen but …! Todd and Gina didn’t expect to CLOSE the door – Pressed button only once!

OOAD9 Remember Rule #1… 1.Make sure your software does what the customer wants it to do. New approach … 1. Gather requirements by talking with Todd and Gina. 2. Figure out what it really should do. 3. Get additional info from Todd and Gina. 4. Build the door software right!

OOAD10 So, what is a requirement? A requirement is a specific thing your system has to do to work correctly! Formal defn (systems engineering or software engineering): A requirement is a singular need detailing what a particular product or service should be or do.

OOAD11 The best way to establish requirements: TALK TO THE CUSTOMER!!! Focus on WHAT, not HOW … Todd and Gina: “Single button” “door to close automatically after a few seconds” “at least 12” tall for Fido” Todd Gina

OOAD12 Todd and Gina’s Dog Door, Version 2.0 Requirements List 1. The door opening should be at least 12” tall. 2. A button on the remote control opens the dog door if the door is closed, and closes the dog door if the door is open. 3. Once the door has opened, it should close automatically if the door isn’t already closed. But … Customers don’t always know what they need. You’ve got to think beyond what the customer says Understand the problem! Break the problem into a series of steps, tasks, or events …

OOAD13 Todd and Gina’s Dog Door, Version 2.0 What the Dog Door Does 1. Fido barks to be let out. 2. Todd or Gina hears Fido barking. 3. Todd or Gina presses the button on the remote control. 4. The dog door opens. 5. Fido goes outside. 6. Fido does his business. 7. Fido goes back inside. 8. The door shuts automatically.

OOAD14 Todd and Gina’s Dog Door, Version 2.0 What the Dog Door Does (“What can go wrong?” Analysis) 1. Fido barks to be let out. Doesn’t bark? Scratches? 2. Todd or Gina hears Fido barking. Not home? Excited 3. Todd or Gina presses the button on the remote control. Door jam? Hardware problem? 4. The dog door opens. 5. Fido goes outside. Stays inside? 6. Fido does his business. 7. Fido goes back inside. What if door has closed? Can Todd and Gina hear him bark to press button again?” 8. The door shuts automatically.

OOAD15 Todd and Gina’s Dog Door, Version 2.0 What the Dog Door Does 1. Fido barks to be let out. 2. Todd or Gina hears Fido barking. 3. Todd or Gina presses the button on the remote control. 4. The dog door opens. 5. Fido goes outside. 6. Fido does his business The door shuts automatically. 6.2 Fido barks to be let in. 6.3 Todd or Gina hears Fido barking (again). 6.4 Todd or Gina presses button on remote control. 6.5 The dog door opens (again). 7. Fido goes back inside. 8. The door shuts automatically. Todd and Gina didn’t think of this! extra steps are called an Alternate Path

OOAD16 We’ve developed a Use Case. A Use Case describes what your system does to accomplish a singular goal. Focuses on “what”, not “how” Single goal: different goal, different use case Users outside the system: Gina, Todd, Fido Dog door and remote inside the system Formal Use Case: A technique for capturing the potential requirements of a new system or a software change. It provides one or more scenarios that convey how the system should interact with the end user or another system to achieve a specific goal. Scenario: a path through the use case that will result in the goal.

OOAD17 Todd and Gina’s Dog Door, Version 2.0 Requirements List 1.The door opening should be at least 12” tall. 2.A button on the remote control opens the dog door if the door is closed, and closes the dog door if the door is open. 3.Once the door has opened, it should close automatically if the door isn’t already closed.

OOAD18 Todd and Gina’s Dog Door, Version 2.0 Dog Door Use Case 1. Fido barks to be let out. 2. Todd or Gina hears Fido barking. 3. Todd or Gina presses the button on the remote control. 4. The dog door opens. 5. Fido goes outside. 6. Fido does his business The door shuts automatically. 6.2 Fido barks to be let in. 6.3 Todd or Gina hears Fido barking (again). 6.4 Todd or Gina presses button on remote control. 6.5 The dog door opens (again). 7. Fido goes back inside. 8. The door shuts automatically.

OOAD19 DEMO 2 – Happy path demo DEMO 3 – Check out the Alternate Path

OOAD20 REQUIREMENTS AND USE CASES KEY POINTS Requirements: things your system must do correctly. Initial requirements  customer Create Use Cases to help you understand the problem. Use Cases state what your system should do. A use case has single goal, but may have multiple paths. A good use case has a starting point, a stopping condition, an external initiator, and a clear value to the user. A good use case tells the story of how your system works. Each goal in your system has its own use case. A requirements list should make all use cases possible. Most of your effort will come in handling alternate paths, rather than the happy path. Alternate paths handle situations where things go wrong! Always ask, “What can go wrong?”

OOAD21 For an introduction to Extreme Programming, see: – A Gentle Introduction