Professional Documents
Culture Documents
Online MetroCard Recharge - TutorialsDuniya
Online MetroCard Recharge - TutorialsDuniya
COM
Online MetroCard
Recharge
Software Engineering Project
om
Software Engineering Project Report
.c
i ya
SUBMITTED BY: SUPERVISOR:
un
Akanksha Verma(140662700000) TutorialsDuniya.Com
Deepti Sharma(140662700000)
D
Devashi Singh(140662700000)
ls
ia
t or
Women
(University of Delhi)
Table of Content
om
Process Model .................................................................. 5
1. Software Requirement Specification ........................... 8
.c
1.1 Overall Description ............................................................................................. 8
ya
1.1.1 Product Functions ......................................................................................... 8
i
un
1.1.4 Assumptions and Dependencies ................................................................... 9
1.3.1 FR 1............................................................................................................... 12
or
1.3.2 FR 2............................................................................................................... 13
1.3.3 FR n .............................................................................................................. 13
t
2.Estimations .................................................................. 21
3.Scheduling ................................................................... 24
4.Risk Management ....................................................... 25
om
5.Design .......................................................................... 26
5.1 System Design .............................................................................................................................. 26
.c
5.2 Data Design ................................................................................................................................... 27
6.Coding ......................................................................... 28
ya
7.Testing ......................................................................... 29
i
un
8.References ................................................................... 32
D
ls
ia
t or
Tu
Problem Statement
om
Smart Cards for multiple journeys and Smart tokens for single journeys.
The Smart card can be recharged at customer care centres of any metro
station and is valid for one year from the day of last recharge.
.c
But then again, it is noticed that even though metro is a great
ya
service for all daily commuters, many problems are faced by them. One
of them being, the long waiting queues of metro card recharge.
i
Thus we have taken an initiative to solve the problem by providing
un
an online portal to smart card users, so that they can recharge their metro
cards online sitting at their homes and can avoid the long waiting
D
queues.
ls
user to register with the DMRC as well as on the application. The user
or
can recharge the card using three methods: online net banking,
credit/debit card and paytm service. Users recharging can avail different
t
Process Model
A (software/system) process model is a description of the sequence
of activities carried out in an SE project, and the relative order of these
om
activities. There are hundreds of different process models to choose
from, e.g.:
•Waterfall
.c
•Spiral
ya
•Rapid prototyping
•Agile methods,
i
un
But most are minor variations on a small number of basic models.
D
• Product quality
ia
• Project visibility
or
• Administrative overhead
t
• Risk exposure
Tu
om
The three main phases:
• design,
.c
• build,
ya
We have opted for the Waterfall Model
i
un
D
ls
ia
t or
Tu
om
• In some respect, waterfall is the”common sense” approach.
• Since the product we are working on is a simple web application
which does need to be delivered incrementally. We opted out for the
.c
most easy process model for developing the product. We can simply go
from one stage to another after a document was signed by the client.
i ya
un
D
ls
ia
or
Advantages
t
om
The application is specially developed to able the user to recharge
their metro card sitting at their home/office using any device which can
connect to the web. Besides recharge facility , the product allows the
.c
user to create a login of his own, through which he/she can access
ya
various other options as well , like navigate , fare calculator and settings.
Using the navigate option the user can enter his position (or simply
i
un
switch on his GPS on mobile) to know the nearest metro station in
vicinity.
Using the fare calculator option we can know the distance, time,
D
Using the settings option, the user can enable his device to indicate
ia
The user who will be working on this application may or may not
have much prior knowledge of computer or any other technology. It is
simply developed to help them recharge their metro card using simple
om
interfaces and buttons allowing easy operation.
.c
training of the users who want to use this application.
ya
1.1.3 General Constraints
i
On general basis the application is constrained to allow only Smart
un
card users to log in to the system and avail the other facility as well for
e.g. navigate, fare calculator.
D
The users who may wish to gain knowledge through these extra
ls
facilities cannot because they do not have a valid metro card number
ia
card number and phone number is already once registered at the metro
station in the User info database by the metro card issuer using the
admin login.
om
to simply punch and transfer the balance into the card.
.c
1.2 External Interface Requirements
1.2.1 User Interfaces
ya
1. Login and Signup Interfaces:
i
un
D
ls
ia
t or
Tu
om
.c
i ya
un
D
ls
om
Also we need a small file known as “Metro details” which contain
the data about the metro stations and the line code on which it is located
.c
and the fare table as well.
ya
1.3 Functional Requirements
i
un
1.3.1 FR 1: Signup
D
The function simply calls a module acquire ( ) which gets all the
or
input required to sign up and register with the application. The data
passed is validated further by simply calling validate ( ) module
t
which can connect to the database and match that whether the
Tu
entered metro card has been sold or not and feeds the data into the
database if the user is validated.
1.3.2 FR 2: Login
Output: No output
om
The function simply acquire the data and calls the module validate
() which matches the details of the user and validates whether the
user is authenticated or not.
.c
ya
1.3.3 FR 3: Online payment
i
un
Option, Amount, Rebate option
balance and adds the amount transferred into the balance and sets a
t
1.3.4 FR 4: Enquiry
Input: Option(=navigate/=fare/=setting/=logout)
om
The Enquiry module has various sub modules according to the
option selected by the user and accordingly other processing
modules to process the requested output.
.c
ya
1.3.5 FR 5: (Enquiry) Fare Calculator
i
un
Output: Metro station distance, Route, Fare, Time
The function calls an input ( ) module to acquire the data and then
D
The function calls an input ( ) module to acquire the data and then
calls a process ( ) function which will produce the output required
and sends it further to display ( ) module.
Output: Confirmation
om
The function calls an input ( ) module to acquire the data and then
calls a process ( ) function which will produce the output required
and sends a confirmation further to display ( ) module.
.c
ya
1.4 Performance Requirement
Static:
i
un
The application has no limit on the current users, as many
users can log on to their system and do online payment.
D
Dynamic:
om
In case of an enquiry, response is 5ms.
.c
3 /ms.
ya
1.5 Design Constraints
i
un
Standard Compliance:
application itself
ia
or
Hardware limitations:
t
om
1.6 Data Flow Diagram
CONTEXT LEVEL DFD:
.c
i ya
un
D
ls
ia
t or
Tu
om
.c
i ya
un
D
ls
ia
t or
Tu
DATA DESCRIPTION
USER INFO (DATABASE FILE)
om
1.Name: Varchar(50)
2. Mobile Number Number(10)
3. DOB Date
.c
4.Email ID Varchar(50)
5. Metro Card Number Number(10)
ya
6.Payment Number(4,2)
7.Flag Boolean
8.Offer Number Varchar(6)
i
un
INPUTS:
1.Mobile Number Number(10)
D
2. Metro Card Number Number(10)
3. Online recharge Button,
ls
net banking,
credit/debit card,
paytm
t
Tu
5.Offer Button;
A code of alphanumeric form is
generated and stored in database to
indicate the type of the offer
availed(eg :AB2016)
6.Option(Enquiry)=Navigate Button,
Allows user to search nearest metro
station
7.Place Name Varchar(30)
8.Station Name Varchar(30)
om
9.Option(Enquiry)=Fare Button,
Allows user to know the exact
amount of the fare
.c
10.Option(Enquiry)=Settings Button,
Allows user to set the application
ya
according to his requirement
i
un
D
ls
ia
t or
Tu
2. Estimations
2.1 Function Points
FACTOR VALUE
om
BACKUP AND RECOVERY 4
DATA COMMUNICATION 0
.c
CRITICAL PERFORMANCE 0
ya
PERFORMANCE IN EXISTING AND HEAVILY UTILISED
5
ENVIRONMENT
i
un
ONLINE DATA ENTRY 5
REUSABLE CODE 3
or
MULTIPLE INSTALLATIONS 5
t
TOTAL=50
EXTERNAL
36 28X3 8X4 0X6 116
INPUT
EXTERNAL
om
14 2X4 5X5 7X7 82
OUTPUT
EXTERNAL
3 0X7 0X10 3X15 45
.c
ENQUIRY
EXTERNAL
ya
INTERFACE 3 0X5 2X7 1X10 24
FILES
INTERNAL
i
un
LOGICAL 3 3X3 0X4 0X6 9
FILES
D
ls
=276*[0.65+0.01*50]
or
=317.4
t
Tu
2.2 Efforts
Using COCOMO II Model;
om
Object type Simple Average Difficult Total
Screens 0X1 0X2 13X3 39
Reports 0X2 8X5 0X8 40
.c
3GL - - 23X10 230
Components
ya
OP=309
%REUSE=39%
i
un
PRODUCTIVITY=13(NOMINAL)
D
NOP=OP*[100-%REUSE/100]
ls
= 309[100-0.39]
ia
=188.491
or
EFFORT=NOP/PROD
t
=188.491/13
Tu
=14.49=15(APPROX) pm
3. Scheduling
We had developed a timeline chart to deliver our project on time,
WEEK
WORK TABLE: WEEK1 WEEK 2 WEEK 3 WEEK 4 5
om
IDENTIFY REQUIREMENTS
DEVELOP TIMELINE CHART
DETERMINE BOUNDS
DETRMINE BENEFITS
CREATE USE CASES
.c
ESTABLISH ABSTRACT
MILESTONE: ABSTRACT, TIMELINE
CHART,
ya
CONTEXT LEVEL DFD
LEVEL 1 DFD
LEVEL 2 DFD
DEVELOP FP COUNT
i
un
DATA DICTIONARY
ESTIMATE EFFORT
MILESTONE: FP COUNT , DFD, DATA DICTIONARY
,EFFORT ESTIMATE
COMPLETE FACTORISATION
D
:LEVEL 1
LEVEL 2 FACTORISATION
ls
ER DESIGN
MILESTONE: DATA DESIGN, SYSTEM
DESIGN
ia
DEVELOP PSEUDOCODE
CODING
DETERMINE COMPLEXITY
or
4. Risk Management
RISKS CATEGORY PROBABILITY IMPACT
CUSTOMER WILL CHANGE PS 80 2
REQUIREMENT
om
END USERS RESIST USE BU 70 2
FUND LOST BU 60 2
SIZE ESTIMATE MAY BE PS 60 2
INCORRECT
NEW COMPETENT BU 50 2
.c
SOFTWARE
CANNOT CONNECT TO TD 50 1
ya
BANK
SRS NOT DEFINED PD 40 2
PROPERLY
LESS REUSE THAN PS 40 3
PLANNED
i
un
IMPROPER WORKING DE 40 3
CONDITON
LACK OF MUTUAL ST 40 4
UNDERSTANDING
D
STAKEHOLDER REFUSES SC 30 1
TO INVEST
ls
LACK OF TRAINING DE 30 2
INEXPERIENCED STAFF ST 30 2
ia
MEETING EXPECTATION
RECESSION TIME SC 20 2
RELOCATION OF WORK DE 10 3
t
PLACE
Tu
5. Design
5.1 System Design
om
acquire
signup
.c
validate
ya
login acquire
i acquire
un
connect
online payment process payment
D
record payment
ls
acquire
fare
ia
process
acquire
or
navigator
enquiry process
t
Tu
acquire
setting
process
display
om
Users actually contain the data of all the metro card
numbers which have been issued and registered user contains
.c
the subclass of all the users who have signed up using this
application.
ya
METRO CARD
i
un
NUMBER
USER
D
OFFER
METRO CARD
ls
NUMBER REGISTERED
FLAG
USER
ia
NAME PAYMENT
or
DOB EMAIL
ID
t
Tu
6. Coding
Pseudocode of Process Payment:
Input: payment_amount
om
Variable: exist_amount, flag
Begin:
.c
1. Read payment into exist_amount , flag into flag from
database(USER INFO)
ya
2. If(payment_amount>0 &&payment_amount<1001)
a. Flag=1
i
un
b. Record in database
c. Exist_amount=payment_amount+exist_amount
D
d. Record in database
ls
3. Else if (payement_amount==0)
ia
a. Flag=0
or
b. Record in database
4. Else //payment_amount<0
t
Tu
5. Return
7. Testing
Now we will first find out the complexity of the module to determine the possible
independent paths and hence develop test cases.
om
Pseudocode of Process Payment:
Input: payment_amount
.c
Variable: exist_amount, flag
1
Begin:
ya
6. Read payment into exist_amount , flag into flag from database(USER INFO)
7. If ( payment_amount>0 &&payment_amount<1001)
a. Flag=1 2
i 3
un
b. Record in database
4
c. Exist_amount=payment_amount+exist_amount
D
d. Record in database
ls
8. Else if (payement_amount==0) 5
a. Flag=0
ia
6
b. Record in database
9. Else //payment_amount<0
or
10. Return 8
Tu
Cyclomatic Complexity:
om
2
.c
5 3
ya
6 7 4
i
un
8
Regions=4
D
Edges-Vertices+2=10-8+2=4
ia
Independent Paths:
or
Test Cases:
On the basis of the basis path testing , we can develop the test cases
keeping in mind black box testing as well :
om
1. Enter payment =0
2. Enter payment=-99
.c
Output: Prompts to enter again
ya
3. Enter payment>0 and <1001
i
un
4. Enter Payment =1005
8. References
1. R.W. Royce, Managing the Development of Large Software
Systems: Concepts and Techniques, Proc. IEEE Westcon, IEEE
Press, 1970.
om
2. https://www.tutorialsduniya.com
.c
Pressman.
ya
4. An Integrated Approach to Software Engineering by Pankaj Jalote.
5. https://www.tutorialsduniya.com
i
un
D
ls
ia
t or
Tu