Professional Documents
Culture Documents
Chapter 4
Chapter 4
Chapter 4
3 of 103
WHAT IS REQUIREMENTS ANALYSIS?
4 of 103
REQUIREMENTS ANALYSIS PHASE
5 of 103
REQUIREMENTS ANALYSIS PHASE
√ Problem Discovery
− Fishbone diagram (Ishikawa diagram)
√ Requirements Discovery
− Fact-finding techniques
√ Use Case Modeling
− Actors
− Use-cases
− Scenarios
− Model diagram
6 of 103
CLASSIFICATION of REQUIREMENTS
7 of 103
TYPES of REQUIREMENTS
− Nonfunctional Requirement
• Describes the general software characteristics that define a
satisfactory system.
8 of 103
FUNCTIONAL REQUIREMENTS
√ Examples:
− Students shall display his/her weekly schedule.
− Instructors shall display the list of students who are taking
his/her course.
− The mailing service shall send a welcome email when a
site visitor creates an account.
− The customers shall display the list of products in his/her
past orders.
9 of 103
NONFUNCTIONAL REQUIREMENTS
10 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The Airport Radar Application shall experience no more
than two level-one faults per month.
• Reliability – this quality attribute specifies how likely the
system or its element would run without a failure for a given
period of time under predefined conditions.
− The web dashboard must be available to the users 98
percent of the time every month during business hours.
• Availability – this quality attribute describes how likely the
system is accessible for a user at a given point in time.
11 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The average time for a maintenance engineer to repair a
severity-2 defect shall be no greater than 8 person-hours.
• Maintainability – this quality attribute specifies how easy or
difficult it is to modify the software, as a result of fixing a
defect or implementing an enhancement
◊ This nonfunctional requirement defines the time required for a
solution or its component to be fixed, changed to increase
performance or other qualities, or adapted to a changing
environment.
12 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The landing page supporting 5 thousand users per hour
must provide 6 seconds or less response time in a
Chrome desktop browser, including the rendering of text
and images, over an LTE (a standard for wireless
broadband communication) connection.
• Performance – this quality attribute specifies timing
constraints that the application must observe
◊ This nonfunctional requirement defines how fast a software
system or its particular piece responds to certain users’ actions
under certain workload.
13 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The user password in the login procedure of the
application shall contain at least 8 characters including
one upper letter and one digit.
• Security – this quality attribute concerns malicious intent
toward a system.
◊ This nonfunctional requirement assures that all data inside
the system or its part will be protected against malware
attacks or unauthorized access.
14 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The graphics subsystem shall be designed so it can run in
both the Windows and Linux operating systems.
• Portability – this quality attribute establishes how well
actions performed via one platform are run on another.
− The iOS application must support iPhone devices running
on OS versions; 3.6, 3.3, 3.4, 4.3, 2.3
• Compatibility – this quality attribute defines how a system
can co-exist with another system in the same environment.
15 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The error rate of users submitting their payment details at
the checkout page mustn’t exceed 10 percent.
• Usability – this quality attribute addresses a simple
question: How hard is it to use the product?
16 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The student registration system shall calculate the
cumulative GPA within two-digit precision.
• Design constraint
− The student registration system shall be implemented in
Java and developed on the Eclipse platform.
• Software constraint
17 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The student registration system shall be run on a server
with Intel Xeon E5 2600 v4 CPU.
• Hardware constraint
− The student registration system code shall be
documented using company code documentation
guidelines version 5.2.
• Certain standards
18 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The inventory management system shall interface with a
model 1234 bar code reader.
• A nonfunctional requirement including an external hardware
interface feature.
− The inventory management system shall use Apache
HTTP Server version 2.4
• A nonfunctional requirement including an external software
interface feature.
19 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The inventory management system shall communicate
with finance system via the company intranet.
• A nonfunctional requirement including a communication
interface feature.
− The inventory management system shall have at most
four functions in each menu.
• A nonfunctional requirement including a graphical user
interface (GUI) feature.
◊ Windows, menus, icons, colors, etc.
20 of 103
NONFUNCTIONAL REQUIREMENTS
√ Examples:
− The course management system shall restrict the access
to the login page after three unsuccessful login attempts.
• A nonfunctional requirement including an error handling
process.
◊ Defines different ways of dealing with errors.
◊ ignore, warn user, restrict, allow unlimited tries, log and
proceed anyway, restart, shutdown, etc.
21 of 103
PROBLEM DISCOVERY
22 of 103
PROBLEM DISCOVERY
23 of 103
PROBLEM DISCOVERY
24 of 103
PROBLEM DISCOVERY
25 of 103
PROBLEM DISCOVERY
26 of 103
REQUIREMENTS DISCOVERY
27 of 103
REQUIREMENTS DISCOVERY
√ Fact-finding activities:
− Research
− Observation of the work environment
− Prototyping
− Sampling
− Questionnaires
− Interviews
− Meetings
• Joint Requirements Planning (JRP) sessions
28 of 103
REQUIREMENTS DISCOVERY
√ Research
− Computer trade journals, reference books, and websites
of similar projects are a good source of information.
• They can provide information on how others have solved
similar problems.
29 of 103
REQUIREMENTS DISCOVERY
30 of 103
REQUIREMENTS DISCOVERY
√ Prototyping
− The act of building a small-scale, representative, working model of
the requirements in order to ask the users to verify those
requirements.
• Advantages
◊ Can experiment to develop understanding of how system might work
◊ Aids in determining feasibility and usefulness of system before
development
◊ May minimize time spent on fact-finding
• Disadvantages
◊ Users may develop unrealistic expectations
◊ Could extend development schedule
31 of 103
REQUIREMENTS DISCOVERY
√ Sampling
− Process of collecting a representative sample of
documents, forms and records.
• Organization chart
• Memos and other documents that describe the problem
• Standard operating procedures for current system
• Completed forms
• Manual and computerized screens and reports
• Samples of databases
• Flowcharts and other system documentation
32 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Things to be gleaned from documents:
• Symptoms and causes of problems
• Persons in organization who have understanding of
problem
• Business functions that support the present system
• Type of data to be collected and reported by the system
• Questions that need to be covered in interviews
33 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Techniques:
• Random sampling
◊ Each individual is chosen entirely by chance and each
member of the population has an equal chance, or probability,
of being selected.
◊ Advantage: the most straightforward method of sampling.
◊ Disadvantage: you may not select enough individuals with
your characteristic of interest, especially if that characteristic
is uncommon.
34 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Techniques: (cont.)
• Systematic sampling
◊ Individuals are selected at regular intervals from the sampling
frame.
◊ If you need a sample size n from a population of size x, you
should select every x/n-th individual for the sample.
◊ For example, if you want a sample size of 100 from a
population of 1000, select every 1000/100 = 10th member of
the sampling frame.
35 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Techniques: (cont.)
• Systematic sampling (cont.)
◊ Advantage: more convenient than random sampling
◊ Disadvantage: leads to bias; individuals with the same
characteristic may come one after another in the population.
36 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Techniques: (cont.)
• Stratified sampling
◊ The population is first divided into subgroups which all share
a similar characteristic, then either random or systematic
sampling is applied on each subgroup.
◊ It is used when we want to ensure representation from all the
subgroups.
37 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Techniques: (cont.)
• Stratified sampling (cont.)
◊ For example, we may stratify the successfully completed
software development projects by their application type, to
ensure equal representation of projects with different
complexities.
◊ Advantage: improves the representativeness of the results by
reducing sampling bias.
◊ Disadvantage: requires knowledge of the appropriate
characteristics of the sampling frame
38 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Finding an appropriate sample size
39 of 103
REQUIREMENTS DISCOVERY
√ Sampling (cont.)
− Finding an appropriate sample size (cont.)
• Example: Suppose that the analyst wants to be 90% certain
that a sample of invoices will contain no unsampled
variations over 6800 samples.
2
1.645
SampleSize=0.25∗
0.10 ( ) =68
◊ If the required sample size was 68, a program could be
written that prints every 100-th record.
40 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires
− A research instrument consisting of a series of questions
for the purpose of gathering information from
respondents.
− Questionnaires can be thought of as a kind of written
interview.
− They can be carried out face to face, by telephone,
computer or post.
41 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Questionnaire Formats
• Questions in Open Ended Format
◊ Questions give respondents an opportunity to express what
they feel freely.
◊ Questions are not based on pre-determined responses.
◊ Mostly placed at the end of a questionnaire tend to draw
accurate feedback and suggestions from respondents as well.
• Questions in Closed Ended Format
◊ Questions that require selecting an answer from predefined
available responses.
42 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Examples:
• How do you go about booking tickets for a flight?
◊ An open ended question
43 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Examples: (cont.)
• How often do you conduct surveys?
1- Weekly, 2- Monthly, 3- Quarterly, 4- Annually
◊ A multiple choice question
44 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Examples: (cont.)
• The response time of our student registration system to
calculating GPA is no more than five seconds.
1- Strongly agree, 2- Agree, 3- No opinion, 4- Disagree,
5- Strongly Disagree
◊ A rating question
45 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Examples: (cont.)
• Rank the below transactions according to the amount of
time you spend processing
– % new customer orders, – % order cancellations,
– % order modifications, – % payments
◊ A ranking question
46 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Developing a Questionnaire:
• Determine what facts must be collected and from whom you
should get them.
• Based on the facts and opinions sought, determine whether
open or closed ended questions will produce the best
answers.
• Write the questions
• Test the questions on a small sample of respondents.
47 of 103
REQUIREMENTS DISCOVERY
√ Questionnaires (cont.)
− Advantages
• Often can be answered quickly
• People can complete at their convenience
• Relatively inexpensive way to gather data from a large number
• Allow for anonymity
• Responses can be tabulated quickly
− Disadvantages
• Return rate is often low
• No guarantee that an individual will answer all questions
• No opportunity to reword or explain misunderstood questions
• Cannot observe body language
• Difficult to prepare
48 of 103
REQUIREMENTS DISCOVERY
√ Interviews
− A technique to collect information from individuals through
face-to-face interaction.
− Types of interviews:
• Unstructured interview
◊ Conducted with only a general goal or subject in mind and
with few, if any, specific questions.
• Structured interview
◊ Interviewer has a specific set of open and/or closed ended
questions.
49 of 103
REQUIREMENTS DISCOVERY
√ Interviews (cont.)
− Interview question guidelines:
• Use clear and concise language
◊ avoid long or complex questions.
• Types of questions to avoid (Do not include your opinion as
part of your question. )
◊ Do we have to have both of these columns on the report?
◊ You're not going to use this operator code, are you?
◊ How many codes do we need? I think 20 ought to cover it.
50 of 103
REQUIREMENTS DISCOVERY
√ Interviews (cont.)
− Advantages
• Give analyst opportunity to motivate interviewee to respond freely
and openly
• Allow analyst to probe for more feedback
• Permit analyst to adapt or reword questions for each individual
• Can observe nonverbal communication
− Disadvantages
• Time-consuming
• Success highly dependent on analyst's human relations skills
• May be impractical due to location of interviewees
51 of 103
REQUIREMENTS DISCOVERY
52 of 103
REQUIREMENTS DISCOVERY
53 of 103
REQUIREMENTS DISCOVERY
54 of 103
REQUIREMENTS DISCOVERY
55 of 103
USE CASE MODELING
56 of 103
USE CASE MODELING
57 of 103
USE CASE MODELING
58 of 103
USE CASE MODELING
59 of 103
USE CASE MODELING
60 of 103
USE CASE MODELING
√ Types of actors:
− Primary Actor is an actor that interacts with the system
to achieve a specific goal.
• often triggers the use case.
• Examples:
◊ the user clicking the search button on an application's user
interface.
◊ The customer adding products to the shopping cart.
61 of 103
USE CASE MODELING
62 of 103
USE CASE MODELING
63 of 103
USE CASE MODELING
64 of 103
USE CASE MODELING
− An actor can be the primary actor for one use case and
the supporting actor for another.
65 of 103
USE CASE MODELING
66 of 103
USE CASE MODELING
√ Actor Glossary:
− Example:
Actor Description
67 of 103
USE CASE MODELING
Shopper
This use case describes the event of a Bank system
Place Order shopper submitting an order for XXX Authentication system
products. Fulfillment system
Billing system
68 of 103
USE CASE MODELING
69 of 103
USE CASE MODELING
70 of 103
USE CASE MODELING
71 of 103
USE CASE MODELING
72 of 103
USE CASE MODELING
73 of 103
USE CASE MODELING
74 of 103
USE CASE MODELING
75 of 103
USE CASE MODELING
76 of 103
USE CASE MODELING
77 of 103
USE CASE MODELING
78 of 103
USE CASE MODELING
79 of 103
USE CASE MODELING
√ Great User Stories always fit the INVEST set of criteria by Bill Wake:
− Independent – they can be developed in any sequence and changes to
one User Story don’t affect the others.
− Negotiable – it’s up for the team to decide how to implement them; there
is no rigidly fixed workflow.
− Valuable – each User Story delivers a detached unit of value to end
users.
− Estimable – it’s quite easy to guess how much time the development of
a User Story will take.
− Small – it should go through the whole cycle (designing, coding, testing)
during one sprint.
− Testable – there should be clear acceptance criteria to check whether a
User Story is implemented appropriately.
80 of 103
USE CASE MODELING
81 of 103
USE CASE MODELING
82 of 103
USE CASE MODELING
83 of 103
USE CASE MODELING
84 of 103
USE CASE MODELING
85 of 103
USE CASE MODELING
86 of 103
USE CASE MODELING
87 of 103
USE CASE MODELING
√ How to write effective user stories? (cont.)
INITIATIVE EPIC USER STORY ACCEPTANCE CRITERIA
Ensure the bidder is able to:
As a bidder, I want to
select an auction ● Login to the platform
As a bidder, I product so that I can ● Navigate to the auction page
want to access bid on it. ● Select product(s) to bid on
the ordering
DEVELOP platform behind a Ensure the bidder is able to:
AN secure login so
that I can As a bidder, I want to ● Login to the platform
AUCTION
purchase review my previous ● Navigate to a page to review
SYSTEM
products. bids so that I can items previously bid upon
remove expired bids. ● Select one, or multiple, expired
bids
● Remove expired bids
As a ... As a ...
88 of 103
USE CASE MODELING
89 of 103
USE CASE MODELING
− An actor is represented by
Customer
90 of 103
√ Use case diagram example:
91 of 103
USE CASE MODELING
92 of 103
USE CASE MODELING
93 of 103
USE CASE MODELING
94 of 103
USE CASE MODELING
95 of 103
USE CASE MODELING
96 of 103
USE CASE MODELING
97 of 103
USE CASE MODELING
98 of 103
USE CASE MODELING
99 of 103
USE CASE MODELING
100 of 103
USE CASE MODELING
√ Example:
101 of 103
USE CASE MODELING
√ Example:
102 of 103
REFERENCES
√ The below resources are used to prepare some examples and figures given in
these slides:
− https://www2.cs.duke.edu/courses/cps108/spring04/readings/usecaseslarman.pd
f
− Getting Started With Use Case Modeling, An Oracle White Paper, May 2007
− http://tynerblain.com/blog/2007/04/09/sample-use-case-example/
− https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-
use-case-diagram/
− https://creately.com/blog/diagrams/use-case-diagram-relationships/
− https://medium.com/@warren2lynch/use-case-learn-by-examples-5a63b67fa64d
− https://tech.gsa.gov/guides/user_story_example/
− https://www.atlassian.com/agile/project-management/user-stories
103 of 103