Sie sind auf Seite 1von 76

Rail Connect

COORDINATED BY

Mrs. Rachna Sethi


(CS Department –Sggscc(Du))

DEVELOPED BY

Sudhanshu Kumar
&
Gursimran Singh
(Student –Sggscc(Du))

Rail Connect
1

CONTENTS

Acknowledgment
Certificate
Executive Summary
Objective
Problem Statement
Scope of Software
Project Management
Introduction
Process Model
Risk Management
Project Plan
Functional Point Analysis
Effort Estimation

Rail Connect
2

Requirements Gathering and Analysis


Introduction
Data Flow Diagram
ERD
Data Dictionary
Design
Introduction
Data Design
Architecture Design
Interface Design
Backend Code Overview
Software Testing
Introduction
Flow Graph
Cyclomatic Complexity
Independent Paths
Rail Connect
3

ACKNOWLEDGEMNET

It is with a sense of gratitude, we acknowledge the efforts of


entire hosts of well-wishers who have in some way or other
contributed in their own special ways to the success and
completion of this semester IV project
First of all, we express our sage sense of gratitude and
indebtedness to our College Prof. Mrs. Rachna Sethi - Computer
Science department Sggscc, from the bottom of my heart for
her immense support and guidance for this project which laid
the foundation for this project.
We would also like to thank different Professors at our
Computer Science department of Sggscc for their persistent
efforts and advice at the development.
Namely Mrs.Ushveen Kaur for helping us understand different
Software Engineering concepts, Mrs. Megha Ummat for her
help in Front-end development of our project by making us
understand how to use Php and Html and Mrs. Neha Aggarwal
for her deep understandings in Database Concepts without
which it wouldn’t have been possible.
We are highly indebted by advice, perceptive guidance and
constant encouragement offered at every point of time by all
the teachers and people at server room at Sggscc.
4

CERTIFICATE

This is to certify that Sudhanshu Kumar & Gursimran Singh ,


students of B.Sc. Computer Science Semester IV have
submitted the
project entitled “Rail Connect” for the partial fulfilment of the
requirements of Software Engineering project.
It embodies the work done by them during semester IV of their
course
under the due supervision of Mrs. Rachna Sethi.

25 April ,2018 Mrs. Rachna Sethi

Rail Connect
5

Executive Summary

Rail Connect
6

OBJECTIVE

This report shows the case study of Railway Reservation


System. This System is basically concerned with the reservation
of railway tickets and Live Enquiries for the Passenger.
In this we are discussing that how the reservation is done and
What are the rules and regulations and procedure for
reservation.
This project aims to provide a mechanism for the railway
management to deal with number of tasks efficiently using this
system.
The database should be stored in computer rather than in
register/manually.

Features:
 Searching of data is easy
 Passenger don’t have to wait for a long time
 Information is accurate
 It is a fast process
 Data efficiency is more
 Immediate Response for Enquiries
 Complaints can be submitted

Cont.
7

To keep pace with time, to bring about the best result without
malfunctioning and greater efficiency so as to replace the
unending heaps of flies with a much sophisticated hard disk of
the computer. One has to use the data management software.
The need of this system arose because as is the known fact that
India has the largest railway network in the whole of the world
and to handle it manually is quite a tough job.
By computerizing it, we will be able to overcome many of its
limitations and will be able to make it more efficient. The
handling of data and records for such a vast system is a very
complex task if done manually but it can be made much easier
if the system is computerized.
To be more specific, our system is limited in such a way that a
train starting from a particular source will have a single
destination. The basic functions being performed by our system
are reservation and cancellation and different sets of Enquiries
including feedback and complaints are just for demo purposes.
Although some of the functions like Live train status, cancelled
trains and PNR are connected to official Indian Railway
database directly or indirectly.

Rail Connect
8

PROBLEM STATEMENT

Today one cannot afford to rely on the fallible human beings


who really want to stand against today’s merciless competition
where it is not too wise saying “to error is human” ,no longer
valid, it’s outdated to rationalize your mistake. So, to keep pace
with time, to bring about the best result without
malfunctioning and greater efficiency so to replace the
unending heaps of flies with a much sophisticated hard disk of
the computer. One has to use the data management software.
Software has been an ascent in atomization various
organizations. Many software products working are now in
markets, which have helped in making the organizations work
easier and efficiently. Data management initially had to
maintain a lot of ledgers and a lot of paper work has to be done
but now software product on this organization has made their
work faster and easier. Now only this software has to be loaded
on the computer and work can be done. This prevents a lot of
time and money. The work becomes fully automated and any
information regarding the organization can be obtained by
clicking the button. Moreover, now it’s an age of computers of
and automating such an organization gives the better look.

Rail Connect
9

SCOPE OF SOFTWARE

 All the manual work should be converted in to


computerized, so the load of employees should decrease.
 The database should be stored in computer rather than in
register/manually.
 Easy to store information rather and fast accessing of
information.
 Centralized management reporting and decision support.
 Accurate and timely control program.
 To make it easy for fast processing and modification of
different databases
 List of accounts of all customers is available and easy
manipulation
 Easy retrieval of accounts.
 To make the railway system interactive and has a modern
graphical responsive UI
 Quick feedback and complaint form including reviews
 Reduces the possibility for any mistakes

Rail Connect
10

PROJECT MANAGEMENT

Rail Connect
11
\1

INTRODUCTION
Basics
Project management uses a systematic and disciplined
approach to develop software. It consists of all the umbrella
activities, which span throughout the software process.
It includes the following activities:
 Estimation
 Project Scheduling
 Risk Management
 Quality Management
 Change Management
Project management involves the planning, monitoring and
control of the people, process and events that occur as
software evolves from a preliminary concept to an operational
implementation. Effective software project management
focuses on the four principles: people, product, process and
project.

The People
Software engineering institute has developed a people
management capability

Rail Connect
12

maturity model (PM-CMM). The people management maturity


model defines the key practice areas for software people like:
recruiting, selection, performance management, training,
compensation, carrier development, organization and work
design and team/culture development.

The Product
Before a project can be planned, product objectives and scope
should be established, alternative solutions should be
considered and technical and management constraints should
be identified. Scope identifies the primary data, functions and
behaviors that characterize the product.

The Process
A software process provides the framework from which a
comprehensive plan for software development can be
established. Framework activities are populated with tasks,
milestones, work products and quality assurance points. These
activities characterize the software product and the project
team.
Umbrella activities i.e. software quality assurance, software
configuration management and measurement overlay the
process model.

Rail Connect
13
3

LIFE CYCLE MODELS

Software Development Life Cycle Models and Methodologies

Software development life cycle (SDLC) is a series of phases that


provide a common understanding of the software building
process. How the software will be realized and developed from
the business understanding and requirements elicitation phase
to convert these business ideas and requirements into functions
and features until its usage and operation to achieve the
business needs. The good software engineer should have

Rail Connect
14

enough knowledge on how to choose the SDLC model based on


the project context and the business requirements.

Therefore, it may be required to choose the right SDLC model


according to the specific concerns and requirements of the
project to ensure its success.

Types of Software developing life cycles (SDLC)


 Wat
 V-Shaped Model
 Evolutionary Prototyping Model
 Spiral Method (SDM)
 Iterative and Incremental Method
 Agile development

Model used in our application: Waterfall Model


The Waterfall Model was first Process Model to be introduced.
It is also referred to as a linear-sequential life cycle model. It is
very simple to understand and use.
In a waterfall model, each phase must be completed fully
before the next phase can begin. This type of software
development model is basically used for the for the project
which is small and there are no uncertain requirements. At the
end of each phase, a review takes place to determine if the
project is on the right path and whether or not to continue or

Rail Connect
15

discard the project. In this model software testing starts only


after the development is complete. In waterfall model phases
do not overlap.

Advantages of waterfall model


 This model is simple and easy to understand and use
 It is easy to manage due to the rigidity of the model –
each phase has specific deliverables and a review process.
 In this model phases are processed and completed one at
a time. Phases do not overlap.
 Waterfall model works well for smaller projects where
requirements are very well understood.

Disadvantages of waterfall model

Rail Connect
16

 Once an application is in the testing stage, it is very


difficult to go back and change something that was not
well-thought out in the concept stage.
 No working software is produced until late during the life
cycle. High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented
projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a
moderate to high risk of changing.

Why did we use the waterfall model?


 We have used this model because the requirements are
very well known, clear and fixed.
 Product definition is stable.
 Technology is understood.
 There are no ambiguous requirements
 Ample resources with required expertise are available
freely
 The project is short (wasn’t that short anyway)

Rail Connect
17

RISK MANAGEMENT

Risk Analysis and Management are a series of steps that help a


software team to understand and manage uncertainty. Many
problems can plague a software project.
A risk is a potential problem- it might happen or it might not.
But regardless of the outcome, it’s a really good idea to identify
it, assess its probability of occurrence, estimate its impact, and
establish a contingency plan should the problem actually occur.

Rail Connect
18

Software is a difficult undertaking. Lots of things can go wrong,


and frankly many often do. It’s for this reason that being
prepared- understanding the risks and taking proactive
measures to avoid or manage them- is a key element of good
software project management.
Recognizing what can go wrong is the first step, called “Risk
Identification”. Next, each risk is analyzed to determine the
likelihood that it will occur and the damage that it will do if it
does occur. Once this information is established, risks are
ranked, by probability and impact. Finally, a plan is developed
to manage those risks with high probability and high impact.
The work product is “Risk Mitigation, Monitoring and
Management (RMMM) Plan” or a set of risk information sheets
is produced.

Risks I. P. Result RMMM


The team may lose all Mitigation Plan:
the project artifacts any Create backups
time during the project 4% Catastrophic of Project on regular
and thus will be unable intervals to cloud and
to deliver the make sure every
application to the documentation is
customer. Such an up to date.
unlikely event may be Contingency Plan: Talk
caused by a hard disk to customer for
being wiped out by a project extension and
virus, hard if he agrees then tart

Rail Connect
19

disk failure, etc. the coding part again


on the basis of
documentation
created earlier
Customer requirements 20 Mitigation Plan:
might change, since our create SRS properly
software and system is % Critical during
made in a linear fashion, communication
changing of phase
requirements can be a Contingency Plan: Try
big problem. to convince him to
accept ongoing
project else ask for
project extension
You may not have 50 Mitigation Plan: Select
enough human resource Critical the talented and
to finish the project at % experienced member
the deadline to join the Project
Team
Contingency Plan: Talk
to client for project
extension and
apologize to him
This website may lack 10 Mitigation Plan:
security features Medium You can request the
% development team to
check and add these
functions to the
website
Contingency Plan :
Negotiate with the
client

Rail Connect
20

PROJECT PLAN
Basics
Software project scheduling is an activity that distributes
estimated effort across the planned project by allocating the
effort to a specific software engineering tasks.
When you develop a schedule, compartmentalize the work,
represent the task interdependencies, allocate effort and time
to each task, define responsibilities for the work to be done,
and define outcomes and milestones.
In order to build a complex system, many software engineering
tasks occur in parallel and result of work performed during one
task may have a profound effect on work to be conducted in
another task.
These interdependencies are very difficult to understand
without a schedule. It’s also virtually impossible to progress on
a moderate or large software project without a detailed
schedule.

Assumptions
 A ticket can only be booked for whole journey of train
from start station to destination station
 No concessions or any discount available while booking
the ticket

Rail Connect
21

 There can be at most 3 admins for the management of


system
 Passengers are authentic users and no bots, agent
accompany as the interface for booking tickets
 Maximum of 5 tickets allowed per month per passenger
 No special Quotas provided, General exists by default
All these assumptions were either important or limited by our
project development skills. We have not allowed more than 5
tickets per passenger to avoid the abuse of system and
passengers can conveniently and efficiently book tickets on the
go.
3 Admins only since our system is small for current launched
version and to avoid confusions since different admins can
change different entities of system without being in sync which
can cause potential problems which maybe critical and can
cause system failure
Bots are everywhere, agents can use bots to abuse the system
for black marketing of tickets booked which can cause
inconvenience to fellow passengers. Ticket booking for whole
journey and no captcha was limited by our skills

Project Team
The type of project team we have perfectly fits to the sub-
category called Self-Managed Teams.

Rail Connect
22

Typically, members of self-managed teams are employees of


the same organization who work together, and even though
they have a wide array of objectives, their aim is to reach a
common goal. There is no manager nor authority figure, so it is
up to members to determine rules and expectations, to solve a
problem when they it arises, and to bare shared responsibility
for the results.

Timeline Chart
When creating a software project schedule, the planner begins
with a set of tasks. If automated tools are used, the work
breakdown is input as a task network or task outline. Effort,
duration and start date are then input for each task outline. In

Rail Connect
23

addition, tasks may be assigned to specific individuals.


As a consequence of this input a Timeline Chart also called a
Gantt chart is generated.

Rail Connect Timeline

Rail Connect
24

Management

Rail Connect
25

INPUT

Input Name Fields Tables Complexity


User SignUp 2 1 Low
Train Add 12 1 Medium
Station Add 3 1 Low
Complaint S 4 1 Low
Cancelled A 2 1 Low
Ticket Add 7 2 Low
Fare Add 2 1 Low

Rail Connect
26

Output
Output Name Fields Tables Complexity
Registered 2 1 Low
Profile
Fetch ticket 12 1 Medium
Fetch PNR 3 1 Low
Trains Table 4 1 Low
Stations 2 1 Low

Queries
Output Name Fields Tables Complexity
Registered 2 1 Low
Profile
Fetch ticket 12 1 Medium
Fetch PNR 3 1 Low

Rail Connect
27

Tables
C
Name Fields Complexity
Users 2 Low
Admins 2 Low
Trains 12 Medium
Stations 3 Low
Complaints 4 Low
Tickets 5 Low
Passengers 3 Low
Cancelled 3 Low

Rail Connect
28

FUNCTIONS POINTS
Function Points Calculation

Type Complexity of Components

Type Low Avg. High Total

Ext Inputs 6*3=18 1*4=4 0*6=0 22


Ext Output 4*4=16 1*5=5 0*6=0 21

Ext Enquiry 2*3=6 1*4=4 0*6=0 10

Tables 8*7=56 1*10=10 0*3=0 66

Total UAFP 22 30 32 109

Rail Connect
29

FUNCTION POINT ANALYSIS


FPA is a standard metric for the relative size and complexity of
a software system, originally developed by Alan Albrecht of IBM
in the late 1970s.
Function points (FPs) can be used to estimate the relative size
and complexity of software in the early stages of development -
analysis and design.
The size is determined by identifying the components of the
system as seen by the end-user: the inputs, outputs, inquiries,
interfaces to other systems, and logical internal files.
The components are classified as simple, average, or complex.
All of these values are then scored and the total is expressed in
Unadjusted FPs (UFPs).
Complexity factors described by 14 general systems
characteristics, such as reusability, performance, and
complexity of processing can be used to weight the UFP.
Factors are also weighed on a scale of 0 - not present, 1 - minor
influence, to 5 – strong influence.
The result of these computations is a number that correlates to
system size.
Although the FP metric doesn't correspond to any actual
physical attribute of a software system (such as lines of code or
the number of subroutines)

Rail Connect
30

TDI -VAFs
Questions VAFs

Does the system require reliable backup and 1


recovery?
Is performance critical? 4
Does the application have extensive logical or 2
mathematical processing?
How difficult is conversion and installation? 2
How effective and/or automated are start-up, back 1
up, and recovery procedures?
Was the application specifically designed, 4
developed, and supported to facilitate change?
How many ILF’s are updated by On-Line 4
transaction?
Was the application designed for end-user 2
efficiency?
What percentage of the information is entered On- 4
Line?
How frequently are transactions executed daily, 5
weekly, monthly, etc.?

Total Degree of Influence 29

Rail Connect
31

FPA Calculation
C PROJECT
FP = [.65 + (.01 x TDI)] *UAFP
FP= [.65 + (.01 x 29)] * 109
FP = 102.46

Effort Estimation
C PROJECT
In PHP it takes 11 hrs. to complete 1 FP by 1 person. Let’s say a
person works for 5-6 hrs. per day and 29 days a month. Then in
1 month one person will be able to complete 15 FP. Then in
almost 6 months one person will be able to complete 102.46 FP
Therefore, Efforts = 7 PM
To complete project in 3.5 months we need 2 persons. Let’s say
we pay 50,000 Rs per person per month.
Cost to be paid to
2 persons for 3 months = 2 * 3.5 * 50000=3,50,000 Rs
Therefore, Project costing = 3,50,000 Rs

Rail Connect
32

REQUIREMENT
GATHERING AND ANALYSIS

Rail Connect
33

INTRODUCTION
Requirements Process is the sequence of activities that need to
be performed in the requirements phase and it culminates in
producing a high quality document containing the software
requirements specification (SRS).
The requirement process consists of three basic tasks:
 Problem or Requirements Analysis
 Requirements Specifications
 Requirements Validation

Rail Connect
34

Problem Analysis starts with a high-level problem statement.


During analysis the problem domain and the environment are
modeled in an effort to understand the system behavior,
constraints on the system, its inputs and outputs etc. The basic
purpose of this activity is to obtain a thorough understanding of
what the software needs to provide. The understanding
obtained by problem analysis forms the basis for requirements
specification.
Requirements Specification focuses on clearly specifying the
requirements in a document. Issues such as representation,
specification languages and tools are addressed during this
activity. As analysis produces large amounts of information and
knowledge with possible redundancies, properly organizing and
describing the requirements is an important goal of this
activity.
Requirements Validation focuses on ensuring that what has
been specified in the SRS are indeed all the requirements of the
software and making sure that the SRS is of good quality. The
requirements process terminates with the production of the
validated SRS

Rail Connect
35

DATA FLOW DIAGRAMS


A Data Flow Diagram (DFD) is a graphical representation of the
"flow" of data through an information system, modelling its
process aspects. A DFD is often used as a preliminary step to
create an overview of the system, which can later be elaborate

LEVEL 0 DFD/CONTEXT

Rail Connect
36

LVL1 DFD
6

Rail Connect
37
7
LVL 2 DFD Admin
C PROJECT

Rail Connect
38

LVL 2 DFD User


C PROJECT

Rail Connect
39

Data Dictionary

The data dictionary provides an organized approach for


representing the characteristics of each data object and control
item. It has been proposed for describing the content of objects
defined during structured analysis. A Data Dictionary is very
important in the software development process because of the
following reasons:
 A Data Dictionary lists standard terminology for use by an
engineer working on a project.
 The Dictionary provides the analyst with means to
determine the definition of different data structures in
terms of their component elements.

The format of Data Dictionary includes the following


information
 Name-the primary name of the data or control item, the
data store or an external entity.
 Alias-other names used for first entity.
 Description-a notion for representing content
 Type-type of the data.

Rail Connect
40

INPUT

Field Name Type Description

Username Char(50) User Login Email


Password Char(25) User Login Password
From_station_name Text Train start station
To_station_name Text Train Destination Station
To_station_code Text Train Start Station Code
From_station_code Text Destination Station Code
Train_name Text Train Name
Train_number Int(12) Train Number
Train_zone Text Train Zone
Arrival Time Train start station arr time
Departure Time departure time of train
Duration Int(12) Active Travel Duration
Distance Int(12) Total distance covered
Train_type Text Type of train (Pass,Exp)
Station_name Text Name of the station
Station_code Text Code name of the station
Station_state Text State in which station is
Email Text Email of the complaint user
Pnr_no Int(12) Pnr Number of ticket
Subject Text The complaint data
Rail Connect
41

Travel_Date Date Travel date on ticket


Passengers Int(5) Total passengers on ticket
Train_Number Int(12) Train Number on ticket
Ticket_Number Text Ticket Number
Pnr_Number Text Ticket Pnr Number
Passenger_name Text Name of passengers
Age Int(3) Age of passengers
Sex Char(1) Sex (M/F/T)
Admin_Email Text Email of the Admin -login
Admin_Password Text Admin Password for login
Train_name_cancel Text Cancelled Train Name
Train_number Int(12) Cancelled Train Number
Cancel_date Date Date on which cancelled

Rail Connect
42

Design

Rail Connect
43

INTRODCUTION
The design activity begins when the requirements document
for the software to be developed is available and the
architecture has been designed. During design we further refine
the architecture.
Software design is a process of problem solving and planning
for a software solution. After the purpose and specifications of
software are determined, software developers will design or
employ designers to develop a plan for a solution. It includes
low-level component and algorithm implementation issues as
well as the architectural view. The design of a system is a
blueprint or a plan for a solution for the system. Here we
consider a system to be a set of modules with clearly defined
behavior, which interact with each other in a defined manner
to produce some behavior or services for its environment.
A design should clearly be verifiable, complete (implements all
the specifications), and traceable (all design elements can be
traced to some requirements). However, the two most
important properties that concern designers are efficiency and
simplicity. Efficiency of any system is concerned with proper
use of scarce resources by the system. Simplicity is perhaps the
most important quality criteria for software systems.
Maintenance of the software is quite expensive. The simpler
the software, the more easily it can be maintained.

Rail Connect
44

The design activity mainly focuses on the following major areas


of concern
 COMPONENT LEVEL DESIGN: It establishes the algorithmic
detail required manipulating the data structures, effect
communication between software components via their
interfaces, and implement the processing algorithms
allocated to each component i.e. it transforms structural
elements of software architecture into a procedural
description of software components.
 INTERFACE DESIGN: It deals with the process of developing
a method for two or more modules in a system to connect
and communicate. It describes how the software
communicates with itself, with systems that interoperate
with it, and with the users who use it.
 ARCHITECTURAL DESIGN: It defines the relationship among
the major structural elements. Here the main objective is
to develop a modular structure and represent the control
relationship between the modules
 DATA DESIGN: It is the first and most important Design
activity. It transforms the information domain model
created during analysis into the data structures that will be
required to implement the software. Hence, Data Design
focuses on the definition of data structures

Rail Connect
45

DATA DESIGN

User

Field Type Null Key Default


Username Char(50) NO Pri NULL
Password Char(25) NO NULL

Primary Key: UserName

Admin
Field Type Null Key Default
Admin_Email Char(50) NO Pri NULL
Admin_Password Char(25) NO NULL

Primary Key: Admin_Email

Rail Connect
46

Trains
Field Type Null Key Default
From_station_name Text NULL
To_station_name Text NULL
From_station_code Text NULL
To_station_code Text NULL
Train name Text NULL
Train number Int(12) No Pri NULL
Train zone Text NULL
Arrival Time NULL
Departure Time NULL
Duration Int(12) NULL
Distance Int(12) NULL
Train type Char(3) NULL

Primary Key: Train_number

Rail Connect
47

Stations

Field Type Null Key Default


Station_Name Text NO Pri NULL
Station_code Char(3) NULL
Station_state Text NULL

Primary Key: Station_name

Complaints

Field Type Null Key Default


Name Text NO NULL
Email Text NO NULL
Pnr Number NO Pri NULL
Subject Text NULL

Primary Key: Pnr(Number)

Rail Connect
48

Cancelled

Field Type Null Key Default


Cancel_train_name Text NO NULL
Train_number Int(12) NO Pri NULL
Cancel_date Date NO NULL
Cancel_reason Text NULL

Primary Key: Train_number

Ticket

Field Type Null Key Default


Ticket_number Text NO Pri NULL
Train_number Text NO NULL
Pnr_number Text NO NULL
Passengers Int(12) NO NULL
Travel_date Date NO NULL

Primary Key: Ticket Number

Rail Connect
49
1

Passengers

Field Type Null Key Default


Passenger_name Text NO NULL
Passenger_age Int(12) NO NULL
Pnr_number Text NO Pri NULL

Primary Key: Pnr Number

Rail Connect
50

ARCHITECTURAL DESIGN
51

USER INTERFACE

Rail Connect
52

Home Page

Rail Connect
User Login
53
54

SIGN UP

Rail Connect
55

ABOUT US

Rail Connect
56

COMPLAINT FORM

Rail Connect
57

LIVE STATUS

Rail Connect
Rail Connect
58

CANCELLED TRAINS
59

TRAIN ENQUIRY

Rail Connect
Rail Connect
60

ADD TRAIN/DELETE
TRAIN
61

VIEW ALL USERS

Rail Connect
62

BOOK TICKET

Rail Connect
63

VIEW TICKETS

Rail Connect
64

Backend Code Overview

Login

Rail Connect
65

Book_Ticket.php

Rail Connect
66

Cancelled_Trains.php

Rail Connect
67

Live_train_status.php

Rail Connect
68

Pnr_Status.php

Rail Connect
69

Complaint_review.php
70

SOFTWARE TESTING

Rail Connect
71

INTRODUCTION
A strategy for software testing provides a road map that
describes the steps to be conducted as part of testing, when
these steps are planned and then undertaken, and how much
effort, time, and resources will be required. Therefore, any
testing strategy must incorporate test planning, test case
design, test execution, and resultant data collection and
evaluation. At the same time, it must be rigid enough to
encourage reasonable planning and management tracking as
the project progresses.
Testing is a set of activities that can be planned in advance and
conducted systematically. For this reason, a template for
software testing—a set of steps into which you can place
specific test case design techniques and testing methods—
should be defined for the software process.
A strategy for software testing must accommodate low-level
tests that are necessary to verify that a small source code
segment has been correctly implemented as well as high-level
tests that validate major system functions against customer
requirements. A strategy should provide guidance for the
practitioner and a set of milestones for the manager. Because
the steps of the test strategy occur at a time when deadline
pressure begins to rise, progress must be measurable and
problems should surface as early as possible.

Rail Connect
72

CONTROL FLOW GRAPH

Rail Connect
73

CYCLOMATIC COMPLEXITY

NUMBER OF EDGES:-27
NUMBER OF NODES:-23
R=e-v+2
R=28-23+2=7
NUMBER OF DECISIONS POINTS/NODES=6.
R=6+1=7
NUMBER OF REGIONS=7
CYCLOMATIC COMPLEXITY=7

INDEPENDENT PATHS

PATH 1: 1,2,3,4,5,6,22,23
PATH 2: 1,2,3,4,5,6,7,22,23
PATH 3: 1,2,3,4,5,6,7,8,9.
PATH 4: 1,2,3,4,5,6,7,8,10,11.
PATH 5: 1,2,3,4,5,6,7,8,10,12,13,20,21,22,23.
PATH 6: 1,2,3,4,5,6,7,8,10,12,13,14,15,16,17,18,16.
PATH 7: 1,2,3,4,5,22,23.
73
75
76
77
78
74

DESIGNED BY –

SUDHANSHU
KUMAR(164089)

& GURSIMRAN
SINGH(164045)

Rail Connect

Das könnte Ihnen auch gefallen