Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.

Slides:



Advertisements
Similar presentations
ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
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.
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 6C.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 1.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 11C.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 7D.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
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 7B.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.
Slide 7C.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Slide 5D.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
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.
Slide 11B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 17.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 5B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 7E.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 10C.52 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
UHD-CMS-Chp91 Requirements Phase Chapter 9. UHD-CMS-Chp92 Requirements Phase What must the new product be able to do? What the client needs?
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Slide 12.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
Business Analysis and Essential Competencies
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
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.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
1 Analysis Extracting from Use Cases to Create Diagrams.
Slide 10.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
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.
UML-1 3. Capturing Requirements and Use Case Model.
THE DESIGN WORKFLOW  Object-oriented design  The design workflow  The test workflow: Design  CASE tools for design  Challenges of the design workflow.
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.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
THE ANALYSIS WORKFLOW  The specification document  Informal specifications  The analysis workflow  Extracting the entity classes  Functional modeling:
Slide © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Slide 12F.135 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
CS223: Software Engineering Lecture 8: Requirement Engineering.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
10-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Software Design and Development Development Methodoligies Computing Science.
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Fundamentals of Information Systems, Sixth Edition
Systems Analysis and Design
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 Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Requirements Analysis Techniques
ELICITATION & ANALYSIS
Presentation transcript:

Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach

Slide 10.2 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 10 THE REQUIREMENTS WORKFLOW

Slide 10.3 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 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 MSG Foundation case study l Initial business model: The MSG Foundation case study

Slide 10.4 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Overview (contd) l Initial requirements: The MSG Foundation case study l Continuing the requirements workflow: The MSG Foundation case study l Revising the requirements: The MSG Foundation case study l The test workflow: The MSG Foundation case study l What are object-oriented requirements? l Rapid prototyping

Slide 10.5 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Overview (contd) 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 10.6 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. The Aim of the Requirements Workflow l To answer the question: – What must the product be able to do? 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 10.7 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Determining What the Client Needs 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 the appropriate information from the client 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 10.8 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved 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 10.9 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Interviewing l The requirements team meet with the client and users to extract all relevant information l There are two types of questions – Close-ended questions require a specific answer – Open-ended questions are posed 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Other Techniques 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 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Use Cases l A use case models an interaction between the software product itself and the users of that software product (actors) l Example: Figure 10.1

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Use Cases (contd) l Alternatively: – Actor Medical Staff with two specializations: Physician and Nurse Figure 10.2

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Initial Requirements l The initial requirements are based on the initial business model; then they are refined The requirements are dynamic — there are frequent changes l There are two categories of requirements – A functional requirement specifies an action that the software product must be able to perform » Often expressed in terms of inputs and outputs – A nonfunctional requirement specifies properties of the software product itself, such as » Platform constraints » Response times » Reliability

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 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 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved What are Object-Oriented Requirements? l There is no such thing as “object-oriented requirements” – The requirements workflow has nothing to do with how the product is to be built l However, the approach presented in this chapter is – Model oriented, and therefore – Object oriented

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Rapid Prototyping l Hastily built (“rapid”) – Imperfections can be ignored l Exhibits only key functionality l Emphasis on only what the client sees – Error checking, file updating can be ignored l Aim: – To provide the client with an understanding of the product l A rapid prototype is built for change

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Human Factors l The client and intended users must interact with the user interface l Human-computer interface (HCI) – Menu, not command line – “Point and click” – Windows, icons, pull-down menus

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Human Factors (contd) l Human factors must be taken into account – Avoid a lengthy sequence of menus – Allow the expertise level of an interface to be modified – Uniformity of appearance is important – Advanced psychology vs. common sense? l Rapid prototype of the HCI of every product is obligatory

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Reusing the Rapid Prototype l Reusing a rapid prototype is essentially code-and- fix l Changes are made to a working product – Expensive l Maintenance is hard without specification and design documents l Real-time constraints are hard to meet

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Reusing the Rapid Prototype (contd) l One way to ensure that the rapid prototype is discarded – Implement it in a different language from that of the target product l Generated code can be reused l We can safely retain (parts of) a rapid prototype if – This is prearranged – Those parts pass SQA inspections – However, this is not “classical” rapid prototyping

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved CASE Tools for the Requirements Workflow l We need graphical tools for UML diagrams – To make it easy to change UML diagrams – The documentation is stored in the tool and therefore is always available l Such tools are sometimes hard to use l The diagrams may need considerable “tweaking” l Overall, the strengths outweigh the weaknesses

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. CASE Tools for the Requirements Workflow (contd) l Graphical CASE environments extended to support UML include – System Architect – Software through Pictures l Object-oriented CASE environments include – IBM Rational Rose – Together – ArgoUML (open source)

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Metrics for the Requirements Workflow l Volatility and speed of convergence are measures of how rapidly the client’s needs are determined l The number of changes made during subsequent phases l Changes initiated by the developers – Too many changes can mean the process is flawed l Changes initiated by the client – Moving target problem

Slide Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved Challenges of the Requirements Phase l Employees of the client organization often feel threatened by computerization l The requirements team members must be able to negotiate – The client’s needs may have to be scaled down l Key employees of the client organization may not have the time for essential in-depth discussions l Flexibility and objectivity are essential