Python 2
Python 2
Review literature
Procedures, and
Forms
On-site
observation
Information- Data
Gathering tools Interviews Organization
Questionnaires
Information/ Fact-Gathering Tools
• There are following tools available :
– Review of written documents
– Onsite observations
– Interviews and Questionnaires.
• Review of Written Documents :- When available, all documentation on data carriers (forms,
records, reports, manuals etc.) is organized & evaluated. Included in procedure’s manuals are
requirements of the system, which helps in determining to what extent they are met by the
present system.
• On-site Observation :- Another tool used by the system analyst in onsite observation / directs
observation. The analyst’s role is that of an info seeker. The purpose of onsite observation to
get as close as possible to the real “system being studied”
• Interviews & Questionnaires :- Interviews & Questionnaires method is less effective for
learning about people’s perceptions, feeling & motivation. In either method heavy reliance is
placed on the interview report for information about the job, the present system or
experience. The quality of response is judged in terms of its reliability. So the date gathering
depends on the design of the interview or questions manner, in which each instrument is
administered.
Functional and Non- Functional
Requirements
• Functional requirements
– Statements of services the system should provide,
how the system should react to particular inputs
and how the system should behave in particular
situations.
• Non-functional requirements
– constraints on the services or functions offered by
the system such as timing constraints, constraints
on the development process, standards, etc.
Functional requirements
• The functional requirement is describing the behavior of
the system as it relates to the system's functionality.
• Depend on the type of software, expected users and the
type of system where the software is used.
• Functional user requirements may be high-level statements
of what the system should do but functional system
requirements should describe the system services in detail.
• An example of a functional requirement would be that a
system must send an email whenever a certain condition is
met (e.g. an order is placed, a customer signs up, etc).
Non- Functional requirements
• The non-functional requirement elaborates a performance
characteristic of the system.
• These define system properties and constraints e.g. reliability,
response time and storage requirements. Constraints are I/O
device capability, system representations, etc.
• Non-functional requirements may be more critical than
functional requirements. If these are not met, the system is
useless.
• A non-functional requirement for the system may be that
emails should be sent with a latency of no greater than 12
hours from such an activity.
Non-functional classifications
• Product requirements
– Requirements which specify that the delivered product
must behave in a particular way e.g. execution speed,
reliability, etc.
• Organisational requirements
– Requirements which are a consequence of organisational
policies and procedures e.g. process standards used,
implementation requirements, etc.
• External requirements
– Requirements which arise from factors which are external
to the system and its development process e.g.
interoperability requirements, legislative requirements, etc.
Use Transaction Requirements
To understand the transaction requirements, analyst would
undoubtedly ask questions such as the following:
• What makes up the transaction being processed?
• What initiates the transaction?
• Who actually initiates the order? For what propose?
• How often do orders occur?
• Are there different conditions that can affect how orders are
processed?
• What details are needed to process the transaction?
• What information is generated? What data is stored?
User Decision Requirements
Analysts investigating systems should raise the same questions
about timing and frequency discussed previously. But other
questions should also be posed to determine decision
requirements :
1. What information is used to make the decision?
2. What is the source of the information? Which transaction
systems produce the data used in the decision process?
Which data are required but do not result from processing
transitions? Which data originate from sources outside the
organization?
3. How should data be processed to produce the necessary
information?
4. How should the information be presented?
SRS Template
• Project Name
• Introduction <Purpose of SRS. It is prepared for PM, Team, Sponsor, Client/ User>
• Business Requirement Overview <Describes the requirements that project work will fulfill>
• Assumptions and Constraints <>Describes any functional assumptions / constraints related to
project requirements
• Functional Requirements <Specify the expected behavior of the system being developed>
• Usability Requirements <Specify the ease of learning, task efficiency, ease of remembering, etc.>
• Performance Requirements <Specify the requirements that affect speed, safety, precisions,
capacity, scalability, etc.>
• Supportability Requirements <Specify maintainability, requirements related to training, ramp up
time, documentation , facilities etc.>
• Security Requirements < Specify the requirements that affect security such as security audits,
identification/ authentication, Privacy access etc.>
• Interface Requirements <Requirements include user navigation, presentation of application, and
associated functionality, data display etc.>
• SRS Approval
Date Signature
Name and Designation
Creating Data Flow Diagrams
Steps:
Produce Product
Store Product
INVENTORTY
Order Raw Materials Production Data
Pay for Raw Materials
2.3 Quantity Produced &
Store Location Stored
Pay for Labor Product
Creating Data Flow Diagrams
Example 4. Construct Level 2 (continued)
Create a level 2
decomposing the processes Level 2 DFD
in level 1 and identifying Order Decision
PURCHASE
data stores. 3.1 ORDER
Produce
Purchase
Customer Order Order Quantity On-Hand
Serve Product Quantity
RAW
MATERIALS
Collect Payment Received Received
Goods
3.2
Produce Product Receive
Items
Store Product RECEIVED
ITEMS
Payment Approval
Order Raw Materials
VENDOR
Pay for Raw Materials 3.3
Pay
Vendor
Pay for Labor
Payment
Creating Data Flow Diagrams
Example 4. Construct Level 2 (continued)
Create a level 2
decomposing the processes Level 2 DFD
in level 1 and identifying Time Worked
Payment Approval
Order Raw Materials
4.3
Pay for Raw Materials Pay
Employe
e PAYMENTS
Pay for Labor
Payment
Process Decomposition
1.1 1.2
1.0
Record Receive
Sale
Order Payment
0.0
Lemonade
System
3.1
3.0 3.2 3.3
Produce
Procure- Receive Pay
Purchase
ment Items Vendor
Order
4.1 4.3
4.2
4.0 Record Pay
Calculate
Payroll Time Employe
Payroll
Worked e
• Data elements
• Data structures
Describing Data Elements
• Data names
• Data descriptions
• Aliases
• Length
• Data values
Relation of Components on Data Flow Diagrams
Data of invoice
Vendor
Data element Vendor address
Item details
Notation Used to Show Structural Relationships in Data
Symbols : = is equivalent to
= and
[ ] either/or
{ } iterations of
( ) optional
* Encloses annotation
Sample Data Flow Dictionary Entry
DATA FLOW Invoice package
NAME : Singed billing details from vendor and
DESCRIPTION : internal purchasing authorization – unedited
for correct
FROM 1.3 verify merchandise ordered
PROCESSES: 1.4 receive purchasing authorization