Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.

Slides:



Advertisements
Similar presentations
Slide 1 Systems Analysis and Design with UML Version 2.0 Alan Dennis, Barbara Wixom, and David Tegarden Chapter 5: Requirements Determination John Wiley.
Advertisements

Use Cases  A use case depicts an interaction between the software program and the user (actors)  Example: Withdraw Money Customer Teller.
Slide 10.1 CHAPTER 10 REQUIREMENTS PHASE. Slide 10.2 Overview l Requirements elicitation l Requirements analysis l Rapid prototyping l Human factors l.
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Slide 11.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Slide 4.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 6B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 8B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Object Oriented Analysis Process
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 5A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Systems Analysis and Design in a Changing World, Fourth Edition
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 7A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 6A.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Chapter 4: Beginning the Analysis: Investigating System Requirements
Slide 7E.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Specification Report CSCI Requirements of Specification Report  Must be clear and intelligible to client  Must be complete and detailed to result.
Slide 12C.50 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Case Study: Class Extraction.
Slide 10C.52 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Slide 12E.121 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Software Engineering Case Study Slide 1 Introductory case study.
Chapter 4: Beginning the Analysis: Investigating System Requirements
Objects What are Objects Observations
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
1 Analysis Extracting from Use Cases to Create Diagrams.
Approaching a Problem Where do we start? How do we proceed?
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik Adapted from Schach (2004) Chapter.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Slide 1 Requirements Determination Chapter 5. Slide 2 Objectives ■ Understand how to create a requirements definition. ■ Become familiar with requirements.
UML-1 3. Capturing Requirements and Use Case Model.
Systems Analysis and Design in a Changing World, Thursday, Feb 1.
UML-1 8. Capturing Requirements and Use Case Model.
Ch 10: Requirements CSCI Requirements Workflow 1.Acquire basic understanding of the application domain (banking, automobile manufacturing) 2.Identify.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Requirements Collection By Dr. Gabriel. Requirements A requirement is any function, constraint, or property that the system must provide, meet, or satisfy.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 12D.88 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Slide 12F.135 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Fundamentals of Information Systems, Third Edition2 An Overview of Systems Development: Participants in Systems Development Development team –Responsible.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
Chapter 29 Conducting Market Research. Objectives  Explain the steps in designing and conducting market research  Compare primary and secondary data.
Slide 13A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Fundamentals of Information Systems, Sixth Edition
We act as though comfort and luxury were the chief requirements of life, when all that we need to make us really happy is something to be enthusiastic.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process McGraw-Hill, 2004 Stephen R. Schach
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Engineering Quality Software
ELICITATION & ANALYSIS
Presentation transcript:

Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005

Slide 10A.2 © The McGraw-Hill Companies, 2005 CHAPTER 10 — Unit A REQUIREMENTS

Slide 10A.3 © The McGraw-Hill Companies, 2005 REQUIREMENTS- Overview l Determining what the client needs l Overview of the requirements workflow l Understanding the domain l The business model l Initial requirements l Initial understanding of the domain: The Osbert Oglesby case study l Initial business model: The Osbert Oglesby case study l Initial requirements: The Osbert Oglesby case study

Slide 10A.4 © The McGraw-Hill Companies, 2005 Overview (contd) l Continuing the requirements workflow: The Osbert Oglesby case study l The test workflow: The Osbert Oglesby case study l The classical requirements phase l Rapid prototyping l Human factors l Reusing the rapid prototype l CASE tools for the requirements workflow l Metrics for the requirements workflow l Challenges of the requirements workflow

Slide 10A.5 © The McGraw-Hill Companies, 2005 The Aim of the Requirements Workflow l To answer the question: l What must the product be able to do?

Slide 10A.6 © The McGraw-Hill Companies, Determining What the Client Needs l Misconception  We must determine what the client wants l “I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!” l We must determine what the client needs

Slide 10A.7 © The McGraw-Hill Companies, 2005 Determining What the Client Needs (contd) l It is hard for a systems analyst to visualize a software product and its functionality  The problem is far worse for the client l A skilled systems analyst is needed to elicit (bring out) the appropriate information from the client l The client is the only source of this information

Slide 10A.8 © The McGraw-Hill Companies, 2005 Determining What the Client Needs (contd) l The solution:  Obtain initial information from the client  Use this initial information as input to the Unified Process  Follow the steps of the Unified Process to determine the client’s real needs

Slide 10A.9 © The McGraw-Hill Companies, Overview of the Requirements Workflow l First, gain an understanding of the application domain (or domain, for short)  The specific environment in which the target product is to operate l Second, build a business model  Model the client’s business processes l Third, use the business model to determine the client’s requirements l Iterate the above steps

Slide 10A.10 © The McGraw-Hill Companies, 2005 Definitions l Discovering the client’s requirements  Requirements elicitation (or requirements capture)  Methods include interviews and surveys l Refining and extending the initial requirements  Requirements analysis

Slide 10A.11 © The McGraw-Hill Companies, Understanding the Domain l Every member of the development team must become fully familiar with the application domain  Correct terminology is essential l Construct a glossary  A list of technical words used in the domain, and their meanings

Slide 10A.12 © The McGraw-Hill Companies, Business Model l A business model is a description of the business processes of an organization l The business model gives an understanding of the client’s business as a whole  This knowledge is essential for advising the client regarding computerization l The systems analyst needs to obtain a detailed understanding of the various business processes  Different techniques are used, primarily interviewing

Slide 10A.13 © The McGraw-Hill Companies, Interviewing l The requirements team meet with the client and users to extract all relevant information

Slide 10A.14 © The McGraw-Hill Companies, 2005 Interviewing (contd) l There are two types of questions  Close-ended questions require a specific answer  Open-ended questions are asked to encourage the person being interviewed to speak out l There are two types of interviews  In a structured interview, specific preplanned questions are asked, frequently close-ended  In an unstructured interview, questions are posed in response to the answers received, frequently open- ended

Slide 10A.15 © The McGraw-Hill Companies, 2005 Interviewing (contd) l Interviewing is not easy  An interview that is too unstructured will not yield much relevant information  The interviewer must be fully familiar with the application domain  The interviewer must remain open-minded at all times l After the interview, the interviewer must prepare a written report  It is strongly advisable to give a copy of the report to the person who was interviewed

Slide 10A.16 © The McGraw-Hill Companies, Other Techniques l Interviewing is the primary technique l A questionnaire is useful when the opinions of hundreds of individuals need to be determined l Examination of business forms shows how the client currently does business

Slide 10A.17 © The McGraw-Hill Companies, 2005 Other Techniques (contd) l Direct observation of the employees while they perform their duties can be useful  Videotape cameras are a modern version of this technique  But, it can take a long time to analyze the tapes  Employees may view the cameras as an unwarranted invasion of privacy

Slide 10A.18 © The McGraw-Hill Companies, Use Cases l +A use case models an interaction (business activity) between the software product itself and the users of that software product (actors) l Example: Figure 10.1

Slide 10A.19 © The McGraw-Hill Companies, 2005 Use Cases (contd) l An actor is a member of the world outside the software product l It is usually easy to identify an actor  An actor is frequently a user of the software product l In general, an actor plays a role with regard to the software product. This role is  As a user; or  As an initiator; or  As someone who plays a critical part in the use case

Slide 10A.20 © The McGraw-Hill Companies, 2005 Use Cases (contd) l A user of the system can play more than one role l Example: A customer of the bank can be  A Borrower or  A Lender

Slide 10A.21 © The McGraw-Hill Companies, 2005 Use Cases (contd) l Conversely, one actor can be a participant in multiple use cases l Example: A Borrower may be an actor in  The Borrow Money use case;  The Pay Interest on Loan use case; and  The Repay Loan Principal use case l Also, the actor Borrower may stand for many thousands of bank customers

Slide 10A.22 © The McGraw-Hill Companies, 2005 Use Cases (contd) l An actor need not be a human being l Example: An e-commerce information system has to interact with the credit card company information system  The credit card company information system is an actor from the viewpoint of the e-commerce information system  The e-commerce information system is an actor from the viewpoint of the credit card company information system

Slide 10A.23 © The McGraw-Hill Companies, 2005 Use Cases (contd) l A potential problem when identifying actors  Overlapping actors l Example: Hospital software product  One use case has actor Nurse  A different use case has actor Medical Staff  Better: Actors: Physician and Nurse

Slide 10A.24 © The McGraw-Hill Companies, 2005 Use Cases (contd) l Alternatively:  Actor Medical Staff with two specializations: Physician and Nurse Figure 10.2

Slide 10A.25 © The McGraw-Hill Companies, Initial Requirements l The initial requirements are based on the initial business model l Then they are refined The requirements are dynamic — there are frequent changes  Maintain a list of likely requirements, together with use cases of requirements approved by the client

Slide 10A.26 © The McGraw-Hill Companies, 2005 Initial Requirements (contd) l There are two categories of requirements l A functional requirement specifies an action that the software product must be able to perform  Often expressed in terms of inputs and outputs l A nonfunctional requirement specifies properties of the software product itself, such as  Platform constraints  Response times  Reliability

Slide 10A.27 © The McGraw-Hill Companies, 2005 Initial Requirements (contd) l Functional requirements are handled as part of the requirements and analysis workflows l Some nonfunctional requirements have to wait until the design workflow  The detailed information for some nonfunctional requirements is not available until the requirements and analysis workflows have been completed

Slide 10A.28 © The McGraw-Hill Companies, Initial Understanding of the Domain: The Osbert Oglesby Case Study l Osbert Oglesby, Art Dealer, needs a software product to assist him in buying and selling paintings l Obtaining domain knowledge is the first step l Osbert is interviewed to obtain the relevant information l This information is put into a glossary (see next slide)

Slide 10A.29 © The McGraw-Hill Companies, 2005 Glossary: The Osbert Oglesby Case Study Figure 10.3

Slide 10A.30 © The McGraw-Hill Companies, Initial Business Model: The Osbert Oglesby Case Study l Osbert wants an software product, running on his laptop computer, that will  Determine the maximum price he should pay for a painting  Detect new trends in the art market as soon as possible l To do this, the software product needs to keep a record of all purchases and all sales

Slide 10A.31 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) l Currently, Osbert produces reports of annual sales and purchases by hand  At only a small additional cost, the software product can also print these two reports on demand l It is vital to determine the client’s needs up front, and not after the software product has been delivered

Slide 10A.32 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) l Osbert has three business activities:  He buys paintings  He sells paintings  He produces reports

Slide 10A.33 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) Buy a Painting use case Figure 10.4

Slide 10A.34 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) Sell a Painting use case Figure 10.5

Slide 10A.35 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) Produce a Report use case Figure 10.6

Slide 10A.36 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) l For conciseness, all three use cases are combined into a use-case diagram Figure 10.7

Slide 10A.37 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) l The only person who uses the current (manual) software product is Osbert  Osbert is therefore an actor in all three use cases The customer may initiate the Buy a Painting or the Sell a Painting use case l The customer plays a critical part in both use cases by providing data entered into the software product by Osbert  The customer is therefore an actor in both these use cases

Slide 10A.38 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) l Next, the use cases have to be annotated l Here are the initial use-case descriptions

Slide 10A.39 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) Buy a Painting use case Figure 10.8

Slide 10A.40 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) Sell a Painting use case Figure 10.9

Slide 10A.41 © The McGraw-Hill Companies, 2005 Initial Business Model: The Osbert Oglesby Case Study (contd) Produce a Report use case Figure 10.10

Slide 10A.42 © The McGraw-Hill Companies, 2005 Continued in Unit 10B