Download presentation
Presentation is loading. Please wait.
Published byWhitney Austin Modified over 9 years ago
1
Ch 10: Requirements CSCI 4320
2
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
3
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
4
Understanding the Domain Maintain a glossary of technical words used in the domain, together with their meaning
5
Building a Business Model Business Model – Description of business processes of an organization –Banking ( accepting deposits, loaning money, making investments)
6
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
7
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
8
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
9
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
10
10.4.3 Use Cases Example: Figure 10.1
11
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
12
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
13
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.
14
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
15
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
16
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
17
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
18
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)
19
Human Factors (cont) Size of letters CAPITALIZATION Color Line length Number of lines on screen
20
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
21
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
22
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
23
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
24
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
25
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.