Lecture 8-9 CapturingRequirements
Lecture 8-9 CapturingRequirements
Lecture 8-9 CapturingRequirements
REQUIREMENTS
Zeeshan Ali Rana
The hardest single part of building a software system is
deciding what to build.
Fred Brooks
Requirements
A requirement is an expression of desired behaviour
Requirements focus on the customer needs, not on
the solution or implementation
designate what behaviour, without saying how that
behaviour will be realized
A Systems Approach towards Scoping
Hardware/Software
People
Interactions
A Systems Approach (Contd.)
Objects
i.e. things
Activities
Actions taken
Input / Outputs
Relationships for example:
Which object performs what activities
Which objects are associated with other objects
System Boundary
Who generates input and who receives output
Which objects/activities are part of the system and which are not
Nested systems, related systems, interrelated systems
A Systems Approach (Contd.)
Example of systems: a human respiratory system
??
A Systems Approach (Contd.)
A computer system must also be clearly described:
System definition of a paycheck production
Exercise
Piccadilly Airtime Sales Statement
Requirements Engineering
Seven tasks:
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Management
(understand
AskIdentify
Write
questions
document
problem,
software
about
Resolve
Identify, people,
function,
containing
objectives,
nature
conflicts.
control, behavior,
requirements
targets,
of solution,
Prioritize
track information.
detailed
models,
effectiveness
requirements
Develop
Requirements!!!
requirements and scenarios
changes
Ensure thatRequirements
allofrequirements
communication).
etc.
Model!!!
etc.
haveAnalysis???
been stated, unambiguously!
Inception
Identify: all stakeholders, measurable benefits of
successful implementation, possible alternatives
Ask questions stepwise, as early as possible, first
meeting/encounter
Possible questions at 1st step (stakeholders, overall
goals and benefits):
Who is behind the request for this work?
Who will use this solution?
What will be the economic benefit of a successful
solution?
Inception
Possible questions at 2nd step (detailed understanding and
customer perception about the solution):
What problems(s) will this solution address?
Can you show me (or describe) the business environment in
which the solution will be used?
How do you characterize the ‘good’ output?
Possible questions at 3rd step (effectiveness of
communication):
Are you the right person to answer these questions?
Are my questions relevant to the problem that you have?
Can anyone else provide additional information?
Requirements Elicitation
Get more detailed requirements
Customers do not always understand what their needs
and problems are
It is important to discuss the requirements with
everyone who has a stake in the system
Come up with agreement on what the requirements are
If we cannot agree on what the requirements are, then the
project is doomed to fail
Requirements Elicitation
Different Stakeholders are:
Clients: pay for the software to be developed
Customers: buy the software after it is developed
Users: use the system
Domain experts: familiar with the problem that the software
must automate
Market Researchers: conduct surveys to determine future
trends and potential customers
Lawyers or auditors: familiar with government, safety, or
legal requirements
Software engineers or other technology experts
Requirements Elicitation
Involves elements from elaboration, negotiation,
specification, problem solving
4
A verb in requirements narrative is potentially a process, a noun is either data, or external entity, or data store
Data Flow Diagrams (Contd.)
Refining DFDs
Lower level DFD inputs and outputs must match those
of the upper level DFD
Processes are broken on the basis of known information,
analysis of requirements
A process is broken until it becomes a primitive process
(for example a single input flow, a single output flow,
easy to be implemented by one person etc.)
It is a good practice to decompose/break one process at
a time
Data Flow Diagrams (Contd.)
Example: A Payroll System
System Inputs:
Employee Records: employee name, address, id, pay history
etc.
Employee Timecards: attendance and weekly/monthly work
hours etc.
System Outputs:
Pay cheques
Accounting Report: for finance department
Payroll System
Payroll
System
Attendance Finance
System Timecard Information Accounting Report Dept.
Payroll System
HR
System
Primitive?
Secretary
Finance
Dept.
Attendance
System
Level 1 Level 2
Data Flow Diagrams (Contd.)
Advantage:
Provides an intuitive model of a proposed system's high-
level functionality and of the data dependencies among
various processes
Disadvantage:
Can be aggravatingly ambiguous to a software developer
who is less familiar with the problem being modeled
Exercise
Draw DFDs for the following and refine them to the
extent you can:
Piccadilly Air Time Sales System
Consider an online telephone directory that is being
developed to replace the phonebook that is provided by
your phone company. The online directory should be
able to provide phone numbers when presented with a
name; it should also list area codes for different parts of
the country and generate emergency telephone numbers
for your area on request.
Exercise
Video-Rental Ltd. (VRL) is a small video rental store. The store lends videos to customers for
a fee, and purchases videos from a local supplier. They need a computerized system that
helps them run their daily business. Description of their daily business is as follows:
Only a registered customer can borrow videos from the store. New customers register by
filling out a form with their personal details and credit card details. The credit card details
are used to pay subscription fee, video borrowing fees, and overdue fines. On successful
payment of subscription fee, the customer is issued a membership card by VRL. The
membership card has a unique membership id which is later used when borrowing videos.
Each new customer's form is also added to the customer file. A customer can request a video
by providing video title, his/her membership id, and payment – payment is always with the
credit card used to open the customer account. If the payment is successful the customer is
handed over the video by VRL. The customer then returns the video to the store after
watching it. If a loaned video is overdue by a day the customer's credit card is charged, and a
reminder letter is sent to the customer. Each day after that a further transaction on card is
made, and each week a reminder letter is sent. This continues until either the customer
returns the video, or the charges are equal to the cost of replacing the video. The local video
supplier sends a list of available titles to VRL, who decides whether to send the supplier an
order and payment. If an order is sent then the supplier sends the requested videos to the
store. For each new video a new stock form is completed and placed in the stock file.