Ch 10: Requirements CSCI 4320. Requirements Workflow 1.Acquire basic understanding of the application domain (banking, automobile manufacturing) 2.Identify.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Object-Oriented Analysis and Design LECTURE 3: REQUIREMENTS DISCIPLINE.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Slide 1 Systems Analysis and Design with UML Version 2.0 Alan Dennis, Barbara Wixom, and David Tegarden Chapter 5: Requirements Determination John Wiley.
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,
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Slide 4.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Introduction to Software Engineering
Object Oriented Analysis Process
Notion of a Project Notes from OOSE Slides - modified.
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
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.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
SYSTEM ANALYSIS AND DESIGN
Lecture Outline 11 The Development of Information Systems Chapter 8 page 390+
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?
Investigating System Requirements
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Problem Identification
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
ACCOUNTING INFORMATION SYSTEMS
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Software Requirements Engineering: What, Why, Who, When, and How
Approaching a Problem Where do we start? How do we proceed?
Chapter 6 Determining System Requirements. 2 2 What are Requirements? “Requirements are … a specification of what should be implemented. They are descriptions.
CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik Adapted from Schach (2004) Chapter.
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 Life Cycle A2 Module Heathcote Ch.38.
UML-1 8. Capturing Requirements and Use Case Model.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Chapter 4 Analyzing End-to-End Business Processes.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
IAD 2263: System Analysis and Design Chapter 3: Investigating System Requirements.
Human Computer Interaction
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
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.
Creating & Building the Web Site Week 8. Objectives Planning web site development Initiation of the project Analysis for web site development Designing.
Prof. Hany H. Ammar, CSEE, WVU, and
CS223: Software Engineering Lecture 8: Requirement Engineering.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
Investigating System Requirements
Business System Development
CMPE 280 Web UI Design and Development August 29 Class Meeting
Week 10: Object Modeling (1)Use Case Model
Systems Analysis and Design
By Dr. Abdulrahman H. Altalhi
The Development of Information Systems Chapter 8 page 348+
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.
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
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
Requirements Analysis Techniques
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

Ch 10: Requirements CSCI 4320

Requirements Workflow 1.Acquire basic understanding of the application domain (banking, automobile manufacturing) 2.Identify Customer Impact 3.Identify Constraints (deadlines, costs, existing hardware, software) Written in Language of Client Problem: Sometimes the client does not know what is going on in his organization. GOAL: Assist client in gaining understanding of system

Requirements Workflow 1.Gain an understanding of the application domain (or domain, for short) –The specific environment in which the target product is to operate 2.Build a business model –Model the client’s business processes –UML Diagrams (use cases) 3.Use the business model to determine the client’s requirements Iterate the above steps

Understanding the Domain Maintain a glossary of technical words used in the domain, together with their meaning

Building a Business Model Business Model – Description of business processes of an organization –Banking ( accepting deposits, loaning money, making investments)

Gathering Information Interviewing is the Primary Technique –Open-ended Questions Encourage person to speak out Why is your current software unsatisfactory? –Closed-ended Questions requires specific answer How many employees? –Structured Interview Preplanned questions, (frequently closed-ended) –Unstructured Interview Questions are posted in response to answers received

Gathering Information Interviewing is not easy –Interview must be familiar with application domain –Interviewer must not have already made up his mind regarding client needs –Listen carefully, suppress preconceived notions After interview prepare a written report outlining the results of the interview Let interviewee see the report

Gathering Information Questionnaire –Many individuals can participate Examine Forms In Use –Various fields shed light of importance of information in use Direct Observations –Modern Version :Videotape camera Long time to analyze tapes –Employees may see it as an invasion of privacy

Building A Model Model –Set of UML diagrams that represent system functions Use Cases –Model interaction between the software product and the users of the software (actors) –Show interaction between software product and the environment –Stick Figures

Use Cases Example: Figure 10.1

Identifying Actors An actor is a member of the world outside the software product –User –Initiator Someone who plays a critical part in the user case

Identifying Actors (cont) Actors are not necessarily Human. They can be software products. When building an E-Commerce Information System you should allow purchasers to pay with credit cards Your system interacts with the credit card company information system. Thus, the credit card company information system is an actor

Identifying Actors (cont) Potential Problem –Overlapping Actors –Too Specific Example: Don’t prepare different use cases for Physicians and Nurses when one use case for Medical Staff is appropriate.

10.5 Initial Requirements The initial requirements are based on the initial business model 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

Initial Requirements (contd) 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

Initial Requirements (contd) Functional requirements are handled as part of the requirements and analysis workflows 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

Rapid Prototype Hastily built software Exhibits key functionality of the target product Omits hidden aspects such as file updating Effective when developing user interface Clients can experiment and give feedback to developers Must be built for change

Human Factors If screens are confusing or product is difficult to use software product will not be used. Human Computer Interface (HCI) User Friendliness –Ease for humans to communicate with software –Menus –Graphical User Interface (windows, icons, pull-down menu)

Human Factors (cont) Size of letters CAPITALIZATION Color Line length Number of lines on screen

Human Factors (cont) Limit # of Preceding Menus –Lengthy sequence of menus to reach goal makes users angry Design for different skill levels –Short cuts for advanced –As users become more familiar with product, streamline screens Uniformity of appearance reduces learning time

Reusing the Rapid Prototype Discard the prototype – don’t fall into code-and-fix model Resulting code of hurriedly put together prototype can be confusing and is difficult to maintain Use a different language from that of product

Reusing the Rapid Prototype When is it permissible to reuse portions of the rapid prototype? –When CASE tools such as screen generators and report generators have been used. (Ex. Software Through Pictures Section 5.5, pg 123) Management decides BEFORE the rapid prototype is built to reuse portions High quality code passes design and code inspections

CASE Tools for the Requirements Workflow Drawing tools to draw diagrams Documentation can be kept up-to-date Weakness –Sometimes CASE Tools are not user friendly –Spend time tweaking layouts ArgoUML –Open Source CASE tool for drawing UML diagrams

Metrics for The Requirements Workflow The goal is to rapidly determine client’s needs How frequently do the requirements change? –During requirements workflow –During the rest of the software development process Who initiated the change? (client, developer) –Client: moving target possibility –Developer: need for revising requirements elicitation

Challenges of the Requirements Workflow Wholehearted cooperation of potential users –job security –misleading information Negotiation –Persuade client to accept less that what he wants (compute cost and benefits) –Compromise among managers regarding functionality Time for in-depth discussions Flexibility and Objectivity –Interviewer should not make assumptions about requirements