SOFTWARE ENGINEERING
(Week-3)
USAMA MUSHARAF
MS-CS (Software Engineering)
LECTURER (Department of Computer Science)
FAST-NUCES PESHAWAR
AGENDA OF WEEK # 3
Case Study Discussion
Class Activities
o Discussion on Assignment # 1
o Quiz # 1
Requirement Engineering
Requirement Analysis (Structured Analysis)
BANKING SYSTEM CASE STUDY
A bank has several automated teller machines (ATMs), which are
geographically distributed and connected via a wide area network to a
central server.
Each ATM machine has a card reader, a cash dispenser, a
keyboard/display, and a receipt printer.
By using the ATM machine, a customer can withdraw cash from either
checking or savings account, query the balance of an account, or
transfer funds from one account to another.
BANKING SYSTEM CASE STUDY
A transaction is initiated when a customer inserts an ATM card into the card
reader. Encoded on the magnetic strip on the back of the ATM card is the card
number, the start date, and the expiration date.
Assuming the card is recognized, the system validates the ATM card to determine
that the expiration date has not passed, that the user-entered PIN (personal
identification number) matches the PIN maintained by the system, and that the
card is not lost or stolen.
The customer is allowed three attempts to enter the correct PIN; the card is
confiscated if the third attempt fails. Cards that have been reported lost or stolen
are also confiscated.
BANKING SYSTEM CASE STUDY
If the PIN is validated satisfactorily, the customer is prompted for a withdrawal,
query, or transfer transaction.
Before withdrawal transaction can be approved, the system determines that
sufficient funds exist in the requested account, that the maximum daily limit will
not be exceeded, and that there are sufficient funds available at the local cash
dispenser.
If the transaction is approved, the requested amount of cash is dispensed, a receipt
is printed containing information about the transaction, and the card is ejected.
Customer records, account records, and debit card records are all maintained at the
server.
AGILE DEVELOPMENT USING BANKING CASE STUDY
Assignment no 1:
Create a working plan for banking system case study using agile
process model (Extreme programming). You are required to
Identify functional requirements (FR’s) from the case study and write
User Stories for each FR in order to have detail understanding.
Create Iteration Plans.
Perform Test First Development (Write test descriptions for user story
cards).
WHAT IS REQUIREMENT?
What is requirement?
The descriptions of what the system should do
services that it provides and the constraints on its operation
TYPES OF REQUIREMENTS
Functional requirements:
statement of services
how system reacts to input Domain requirements
how system behaves in particular Inverse requirements
situation Design and implementation
constraints
Non-functional requirements:
constraints on services (timing, quality,
security etc.)
THE REQUIREMENTS PROCESS
(PROCESS FOR CAPTURING REQUIREMENTS)
Performed by the
req. analyst or
system analyst
The final outcome is
a Software
Requirements
Specification (SRS)
document
REQUIREMENTS ELICITATION
STAKEHOLDERS
Clients: pay for the software to be developed
Users: use the system
Domain experts: familiar with the problem that the software
must automate
REQUIREMENTS ELICITATION
MEANS OF ELICITING REQUIREMENTS
Interviewing stakeholders
Reviewing available documentations
Observing the current system (if one exists)
11
ANALYSIS MODELING
ELEMENTS OF THE ANALYSIS MODEL
Object-oriented Analysis Structured Analysis
Scenario-based Flow-oriented
modeling modeling
Use case text
Data structure diagrams
Use case diagrams
Data flow diagrams
Activity diagrams
Class-based Behavioral
modeling modeling
Class diagrams State diagrams
CRC models Sequence diagrams
Collaboration diagrams
FLOW-ORIENTED MODELING
WHAT IS A DATA FLOW DIAGRAM?
A data flow diagram (DFD) is a graphical tool that allows
system analysts (and system users) to depict the flow of
data in an information system.
DATA FLOW DIAGRAM SYMBOLS
Source
STEPS IN BUILDING DFDS
Build the context diagram
Create DFD fragments
Organize DFD fragments into level 0
Decompose level 0 DFDs as needed
CONTEXT DIAGRAM OF FOOD ORDERING SYSTEM
LEVEL-0 DFD OF FOOD ORDERING SYSTEM
LEVEL-1 DIAGRAM SHOWING DECOMPOSITION OF PROCESS 1.0 FROM THE
LEVEL-0 DIAGRAM
LEVEL-1 DIAGRAM SHOWING THE DECOMPOSITION OF PROCESS 4.0 FROM THE
LEVEL-0 DIAGRAM
4/9/21
LEVEL-2 DIAGRAM SHOWING THE DECOMPOSITION OF PROCESS 4.3
FROM THE LEVEL-1 DIAGRAM FOR PROCESS 4.0
DATA FLOW DIAGRAM OF
SAFE HOME SYSTEM
DATA FLOW DIAGRAM
Context-level DFD for SafeHome security function
Level 2 DFD that refines the monitor sensors process
HAVE A GOO DAY!