Lecture 8-9 CapturingRequirements

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

CAPTURING

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

Process for Capturing Requirements


Elaboration
Analyze, model, specify…
Some Analysis Techniques
Data Flow Diagrams (DFD)
Usecase Diagram
Object Models (ER Diagrams, Abstract class diagrams)
Decision Tables
State Diagrams (Statecharts)
Fence Diagrams
Event Tables
Petri Nets
Event Traces (Message Sequence Charts)
Flow-oriented, Scenario-based, Class-based, Behavioral
Data Flow Diagrams (DFDs)
A data-flow diagram (DFD) models functionality and
the flow of data from one function to another
A bubble represents a process (or data transform)
An arrow represents data flow
A data store: a formal repository or database of
information
Rectangles represent Information source/sink: entities
that provide input data or receive the output result
Heritage identifier: to document stepwise refinement
Data Flow Diagrams (DFDs)
Consider a library management system where circulation
services allow the Patron to borrow or return a
book/item/publication without involvement of Librarian.
The Librarian controls which items can be borrowed and
how can the items be shown to the patrons. The system
processes fines also when a borrowed item is returned
after the due date. The librarian is able to reserve an item
if required and a reminder is sent to the patron as a
consequence. The record of reserved items is kept so that
the librarian can view which items have been reserved
already.
A verb in requirements narrative is potentially a process, a noun is either data, or external entity, or data store
Data Flow Diagrams (Contd.)
A Level 1 data-flow diagram for the library problem

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

HR System Employee Information Pay Cheque Secretary

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.

You might also like