Professional Documents
Culture Documents
1.1 Objectives
1.1 Objectives
1. Introduction
Online bus reservation system is a project which provides a portal for bus ticket reservation. This application allows users
to book bus tickets from anywhere and anytime. The user can easily book their tickets and cancel tickets. The user can
view all the details of the website, bus, and drive. The user can also view the details of the journey and the details of the
journey timings.
Online Bus Booking System cloud based online software. This system would help customers to book a seat for their
journey, book bus. This system would also help the owner to manage the coaches, employees, clients, services etc.
Bus Reservation System will increase the booking process faster, convenient, and comfortable. Customers can book their
desired seats. They cancel heck the availability of posts on a specific date. The customer can check availability, book
ticket, or cancel ticket 24X7. The online system is available to use any time.
User doesn’t require to visit any office. They just need internet and device to use our system. They can check route,
price, class etc.
They can pay fare using a credit card, debit card, internet banking, online wallet like Paytm and cash too. Managing
buses, employees, and salary would be very comfortable using this system.
This is a safe and secure way to expand the business. System decreases the human efforts and increases customer
satisfaction.
1.1 Objectives
The main purpose of this study is to automate the manual procedures of reserving a bus ticket for any journey
made through Imo Transport Company (ITC). This system is said to be an automatic system and customers can
select seats by themselves. Specifically, objectives of this project will consist of:
iii) Easing bus ticket payment by obtaining a bank pin after payments is made to
the various designated banks.
v) Admin user privileges in updating and cancelling payment, route and vehicle
record
associating any particular transaction with a particular context. If any information was to be found it was
required to go through the different registers, documents there would never exist anything like report generation.
There would always be unnecessary consumption of time while entering records and retrieving records. One
more problem was that it was very difficult to find errors while entering the records. Once the records were
entered it was very difficult to update these records.
The reason behind it is that there is lot of information to be maintained and have to be kept in mind while
running the business. For this reason, we have provided features Present system is partially automated
(computerized), actually existing system is quite laborious as one has to enter same information at three
different places.
Analysts working on the preliminary investigation should accomplish the following objectives:
1.6.1 Hardware
1.6.2 Software
You need to keep track of your customers, analyze their behavior, personalize discounts and loyalty program
aspects, save their routes and schedules to provide the best user experience.
Clients often need help or feedback, which means that your customer service and 24/7 support (if any) should
know each user’s history of bookings, payment options, and other personal details to provide.
Once your users are registered or logged in, they most likely want to book a ticket for their trip. It means
that you should provide an easy-to-use and visually-appealing bus reservation system user experience
that will allow customers to choose:
Once users enter the preferred departure/arrival points, date, and number of passengers, you need to show them
the available trips with time, price, and trip details. We recommend showing a list of trips with the following
aspects:
Also, users should be able to see trip details by clicking on the desired journey option. Here you can show a
specific tour flow with all bus stops, transfers, exact timing from station to station, and the overall trip
duration.
Passenger’s information
After choosing the preferred journey that meets customers’ needs, users proceed to filling in the passenger
details:
This stage is crucial to identify passengers and assign specific bus seats to them. This screen shouldn’t include multiple
fields in order to keep your bus reservation system flow as simple and user-oriented as possible.
Once filled in the required information, you can navigate customers to the checkout form where they confirm
booking and purchase tickets.
At this stage, we recommend providing customers with multiple payment options to increase sales and boost
customer’s experience.
Payment options are google pay
A bus ticketing service is about well-thought-out routes and schedules which lead to win-win logistics for
both customers and your company.
It means that you should create a functionality dedicated to the creation and management of routes, pickups,
drop points, schedules, and other bus tour details.
For example, if customers leave their feedback desiring to add a new drop point at a specific bus stop, schedule
and route management features will allow you to add them with one-click ease.
After doing the project Bus Ticket Booking System, study and analyzing all the existing or required
functionalities of the system, the next task is to do the feasibility study for the project. All project are feasible –
given unlimited resources and infinite time.
Feasibility study includes consideration of all the possible ways to provide a solution to the given problem. The
Proposed solution should satisfy all the user requirement and should be flexible enough so that future changes
can be easily done based on the future upcoming requirements.
No doubt the proposed system is fully GUI based that is very user friendly and all inputs to be taken all self-
explanatory even to a layman.
Besides, a proper training has been conducted to let know the essence of the system to the users so they feel
comfortable with new system.
III YEAR/5th Sem 6
Software Engineering and Project Management BTCS504
This included the study of function, performance and constraints that may affect the ability to achieve an
acceptable system. For this feasibility study, we studied complete functionality to be provided in the system, as
described in the System requirement specification(SRS), and checked if everything was possible using
different type of frontend and backend platforms.
This is a very impotant aspect to be considered while developing a project. We decided the technology based on
minimum possible cost factor.
3. System Design
System design is the process of designing the elements of a system such as the architecture, modules and
components, the different interfaces of those components and the data that goes through that system.
System Analysis is the process that decomposes a system into its component pieces for the purpose of
defining how well those components interact to accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed data and information about the
system and its system elements to enable the implementation consistent with architectural entities as defined
in models and views of the system architecture.
Elements of a System
• Architecture - This is the conceptual model that defines the structure, behavior and more views of
a system. We can use flowcharts to represent and illustrate the architecture.
• Modules - This are components that handle one specific tasks in a system. A combination of the
modules makes up the system.
• Components - This provides a particular function or group of related functions. They are made up
of modules.
• Interfaces - This is the shared boundary across which the components of a the system exchange
information and relate.
• Data - This the management of the information and data flow.
A use case diagram is used to represent the dynamic behaviour of a system. It encapsulates the system's
functionality by incorporating use cases, actors, and their relationships. It models the tasks, services, and
functions required by a system/subsystem of an application. It depicts the high-level functionality of a
system and also tells how the user handles a system.
The main purpose of a use case diagram is to portray the dynamic aspect of a system. It accumulates the
system's requirement, which includes both internal as well as external influences. It invokes persons, use cases,
and several things that invoke the actors and elements accountable for the implementation of use case
diagrams. It represents how an entity from the external environment can interact with a part of the system.
3. It recognizes the internal as well as external factors that influence the system.
4. It represents the interaction between the act.
It is essential to analyze the whole system before starting with drawing a use case diagram, and then the
system's functionalities are found. And once every single functionality is identified, they are then transformed
into the use cases to be used in the use case diagram.Elon Musk to become Twitter CEO?
After that, we will enlist the actors that will interact with the system. The actors are the person or a thing that
invokes the functionality of a system. It may be a system or a private entity, such that it requires an entity to
be pertinent to the functionalities of the system to which it is going to interact.
Once both the actors and use cases are enlisted, the relation between the actor and use case/ system is inspected.
It identifies the no of times an actor communicates with the system. Basically, an actor can interact multiple
times with a use case or system at a particular instance of time.
The class diagram depicts a static view of an application. It represents the types of objects residing
in the system and the relationships between them. A class consists of its objects, and also it may
inherit from other classes. A class diagram is used to visualize, describe, document various different
aspects of the system, and also construct executable software code.
It shows the attributes, classes, functions, and relationships to give an overview of the software
system. It constitutes class names, attributes, and functions in a separate compartment that helps in
software development. Since it is a collection of classes, interfaces, associations, collaborations, and
constraints, it is termed as a structural diagram.
Middle Section: The middle section constitutes the attributes, which describe the quality of the class. The attributes
have the following characteristics:
e. The attributes are written along with its visibility factors, which are public (+), private (-),
protected (#), and package (~).
f. The accessibility of an attribute class is illustrated by the visibility factors.
g. A meaningful name should be assigned to the attribute, which will explain its usage inside the
class.
Relationships
o Dependency: A dependency is a semantic relationship between two or more classes where a change
in one class cause changes in another class. It forms a weaker relationship.
o Generalization: A generalization is a relationship between a parent class (superclass) and a child class
(subclass). In this, the child class is inherited from the parent class.
o Multiplicity: It defines a specific range of allowable instances of attributes. In case if a range is not
specified, one is considered as a default multiplicity.
Lifeline
An individual participant in the sequence diagram is represented by a lifeline. It is positioned at the top of the
diagram
Actor
A role played by an entity that interacts with the subject is called as an actor. It is out of the scope of the
system. It represents the role, which involves human users and external hardware or subjects. An actor may or
may not represent a physical entity, but it purely depicts the role of an entity. Several distinct roles can be
played by an actor or vice versa
Activation
It is represented by a thin rectangle on the lifeline. It describes that time period in which an operation is
performed by an element, such that the top and the bottom of the rectangle is associated with the initiation and
the completion time, each respectively.
Messages
The messages depict the interaction between the objects and are represented by arrows. They are in the
sequential order on the lifeline. The core of the sequence diagram is formed by messages.
The collaboration diagram is used to show the relationship between the objects in a system. Both
the sequence and the collaboration diagrams represent the same information but differently. Instead
of showing the flow of messages, it depicts the architecture of the object residing in the system as
it is based on object-oriented programming. An object consists of several features. Multiple objects
present in the system are connected to each other. The collaboration diagram, which is also known
as a communication diagram, is used to portray the object's architecture in the system.
Following are the components of a component diagram that are enlisted below:
1. Objects: The representation of an object is done by an object symbol with its name and class
underlined, separated by a colon.
In the collaboration diagram, objects are utilized in the following ways:
2. Actors: In the collaboration diagram, the actor plays the main role as it invokes the interaction. Each
actor has its respective role and name. In this, one actor initiates the use case.
3. Links: The link is an instance of association, which associates the objects and actors. It portrays a
relationship between the objects through which the messages are sent. It is represented by a solid line.
The link helps an object to connect with or navigate to another object, such that the message flows are
attached to links.
4. Messages: It is a communication between objects which carries information and includes a sequence
number, so that the activity may take place. It is represented by a labeled arrow, which is placed near
a link. The messages are sent from the sender to the receiver, and the direction must be navigable in
that particular direction. The receiver must understand the message.
The activity diagram helps in envisioning the workflow from one activity to another. It put emphasis on the
condition of flow and the order in which it occurs. The flow can be sequential, branched, or concurrent, and
to deal with such kinds of flows, the activity diagram has come up with a fork, join, etc.
Activities: The categorization of behavior into one or more actions is termed as an activity. In other words, it
can be said that an activity is a network of nodes that are connected by edges. The edges depict the flow of
execution. It may contain action nodes, control nodes, or object nodes.
Forks: Forks and join nodes generate the concurrent flow inside the activity. A fork node consists of one
inward edge and several outward edges. It is the same as that of various decision parameters. Whenever a data
is received at an inward edge, it gets copied and split crossways various outward edges. It split a single inward
flow into multiple parallel flows.
Join Nodes: Join nodes are the opposite of fork nodes. A Logical AND operation is performed on all of the
inward edges as it synchronizes the flow of input across one single output (outward) edge.
Pins: It is a small rectangle, which is attached to the action rectangle. It clears out all the messy and
complicated thing to manage the execution flow of activities. It is an object node that precisely represents one
input to or output from the action.
Initial State: It depicts the initial stage or beginning of the set of actions.
Final State: It is the stage where all the control flows and object flows end.
Decision Box: It makes sure that the control flow or object flow will follow only one path.
DFD is the abbreviation for Data Flow Diagram. The flow of data of a system or a process is represented by
DFD. It also gives insight into the inputs and outputs of each entity and the process itself. DFD does not
have control flow and no loops or decision rules are present. Specific operations depending on the type of
data can be explained by a flowchart. Data Flow Diagram can be represented in several ways. The DFD
belongs to structured-analysis modeling tools. Data Flow diagrams are very popular because they help us to
visualize the major steps and data involved in software-system processes.
• Data Flow
Data flow describes the information transferring between different parts of the systems. The
arrow symbol is the symbol of data flow. A relatable name should be given to the flow to
determine the information which is being moved. Data flow also represents material along with
information that is being moved. Material shifts are modeled in systems that are not merely
informative. A given flow should only transfer a single type of information. The direction of
flow is represented by the arrow which can also be bi-directional.
III YEAR/5th Sem 15
Software Engineering and Project Management BTCS504
• Warehouse
The data is stored in the warehouse for later use. Two horizontal lines represent the symbol of
the store. The warehouse is simply not restricted to being a data file rather it can be anything
like a folder with documents, an optical disc, a filing cabinet. The data warehouse can be
viewed independent of its implementation. When the data flow from the warehouse it is
considered as data reading and when data flows to the warehouse it is called data entry or data
updation.
• Terminator
The Terminator is an external entity that stands outside of the system and communicates with
the system. It can be, for example, organizations like banks, groups of people like customers or
different departments of the same organization, which is not a part of the model system and is
an external entity. Modeled systems also communicate with terminator.
0 level DFD
1 level DFD
4 Design
In this phase, a logical system is built which fulfils the given requirements. Design phase of software
development deals with transforming the clients 's requirements into a logically working system. Normally,
design is performed in the following in the following two steps:
In this phase, the system is designed at block level. The blocks are created on the basis of analysis done in
the problem identification phase. Different blocks are created for different functions emphasis is put on
minimizing the information flow between blocks. Thus, all activities which require more interaction are kept
in one block.
The general tasks involved in the design process are the following:
User Interface Design is concerned with the dialogue between a user and the computer. It is concerned with
everything from starting the system or logging into the system to the eventually presentation of desired
inputs and outputs. The overall flow of screens and messages is called a dialogue.
The following steps are various guidelines for User Interface Design:
4.1.1 ER Diagram
o ER model stands for an Entity-Relationship model. It is a high-level data model. This model is used to
define the data elements and relationship for a specified system.
o It develops a conceptual design for the database. It also develops a very simple and easy to design view
of data.
o In ER modelling, the database structure is portrayed as a diagram called an entity-relationship diagram.
Component of ER Diagram
1 Entity: An entity may be any object, class, person or place. In the ER diagram, an entity can be represented
as rectangles.
Consider an organization as an example- manager, product, employee, department etc. can be taken as an
entity.
Weak Entity: An entity that depends on another entity called a weak entity. The weak entity doesn't contain
any key attribute of its own. The weak entity is represented by a double rectangle.
2. Attribute: The attribute is used to describe the property of an entity. Eclipse is used to represent an attribute.
a. Key Attribute: The key attribute is used to represent the main characteristics of an entity. It represents a
primary key. The key attribute is represented by an ellipse with the text underlined.
b. Composite AttributeAn attribute that composed of many other attributes is known as a composite attribute.
The composite attribute is represented by an ellipse, and those ellipses are connected with an ellipse.
c. Multivalued Attribute: An attribute can have more than one value. These attributes are known as a
multivalued attribute. The double oval is used to represent multivalued attribute.
d. Derived Attribute: An attribute that can be derived from other attribute is known as a derived attribute. It
can be represented by a dashed ellipse.
3. Relationship: A relationship is used to describe the relation between entities. Diamond or rhombus is used
to represent the relationship.
a. One-to-One Relationship: When only one instance of an entity is associated with the relationship, then it
is known as one-to-one relationship.
b. One-to-many relationship: When only one instance of the entity on the left, and more than one instance
of an entity on the right associates with the relationship then this is known as a one-to-many relationship.
c. Many-to-one relationship: When more than one instance of the entity on the left, and only one instance of
an entity on the right associates with the relationship then it is known as a many-to-one relationship.
d. Many-to-many relationship: When more than one instance of the entity on the left, and more than one
instance of an entity on the right associates with the relationship then it is known as a many-to-many
relationship.
A system architecture is a representation of a system in which there is a mapping of functionality onto hardware
and software components, a mapping of the software architecture onto the hardware architecture, and human
interaction with these components.
Project Category
Relational Database Management System (RDBMS): This is an RDBMS based project which is currently
using MySQL for all the transaction statements. MySQL is an opensource RDBMS System.
Structure Chart represent hierarchical structure of modules. It breaks down the entire system into lowest
functional modules, describe functions and sub-functions of each module of a system to a greater detail.
Structure Chart partitions the system into black boxes (functionality of the system is known to the users but
inner details are unknown). Inputs are given to the black boxes and appropriate outputs are generated.
Modules at top level called modules at low level. Components are read from top to bottom and left to ri ght.
When a module calls another, it views the called module as black box, passing required parameters and
receiving results.
5 Implementation
Prerequisites
• Install Nodejs
• Install Angular cli
• Install Typescript globally
• Basic understanding of typescript/javascript
• Basic knowledge about Angular
• once you install nodejs and we need to install Angular cli and typescript globally with the following
commands
• npm install -g @angular/clinpm install -g typescript
• Angular cli makes it easy to start the working angular project right out of the box and it follows all the
best practices of the Angular.
• // it will create the working project.ng new todoApp// cd to todoApp
cd todoApp// start the project and app runs on 4200
npm start
main.ts
This is the main file which bootstraps the Angular. AppModule is the first module it invokes at line 11.
app.module.ts
Angular follows the component design pattern in which App is divided into modules and each module is divided into components.
So, This is the starting Module of the App which imports other modules and we need to declare the components that we use in this
module. Since we are using AppComponent
app.component.ts
In Angular, Each component has styleUrl, template, and selector. A template is the html file and styleurl is the
app.component.html
If we look at the above app.component.ts file it uses this html file as the template. This is the html file that we see when app loads in
the browser.
index.html
This is the index.html which loads in the browser first. If we look at line number 12, we are using <app-
root></app-root> selector which is declared in the app.component.ts above.
5.2 Results
• In this popup the passengers confirm ticket and make and see the seat available and the cost of one seat
and make a payment of bus serviceses
6 Testing
Testing is vital for the success of any software. no system design is ever perfect. Testing is also carried in
two phases. first phase is during the software engineering that is during the module creation. second phase is
after the completion of software. this is system testing which verifies that the whole set of programs hanged
together.
The first step in the test planning process is to document the high-level test objectives. The test objectives
provide a prioritized list of verification or validation objectives for the project. We use this list of objectives
to measure testing progress, and verify that testing activity is consistent with project objectives.
• Functional correctness- Validation that the application correctly supports required business processes
and transactions. List all the business processes that the application is required to support. Also list
any standards for which there is required compliance.
• Authorization- Verification that actions and data are available only to those users with correct
authorization. List any key authorization requirements that must be satisfied, including access to
functionality and data.
• Service level- Verification that the system will support the required service levels of the business.
This includes system availability, load, and responsiveness. List any key performance indicators
(KPIs) for service level, and the level of operational effort required to meet KPIs.
• Usability- Validation that the application meets required levels of usability. List the required training
level and user KPIs required.
The testing team, development team, and the business unit agree upon the list of test objectives and their
priority.
A test case covers one or more test objective, and has the specific steps that testers follow to verify or validate
the stated objectives.
The scope of a test defines what areas of a customer's product are supposed to get tested, what
functionalities to focus on, what bug types the customer is interested in, and what areas or features should
not be tested by any means.
If something is in scope, please test it; if something is out of scope, it should not be tested. Understanding
the scope of a test is crucial to be a successful tester on our platform.
Information that makes up the scope of test-
• Test environment
First things first – The URL given in the Access section at the top of the test overview page defines
what website or app should be tested. Any other websites or apps are not under test (unless stated
differently in the test description). For more information, see Testing Environment.
• Features
Each test contains at least one of what we call features. A feature can describe an area of a product,
e.g. a landing page, product overview page or product detail page of a webshop, it can describe a
process like the checkout process of a website or an app, or it can even be a particular functionality
that should be tested.
When a customer sets up a new test, so-called standard features will be added by default. Customers
can use these standard features and modify them if they want or add completely new features.
You can only submit bugs if a corresponding feature exists in the test. For example, if none of the
given features covers the checkout process, you cannot submit bugs related to it.
• Attachments
In rare cases, one or more attachments might be provided. Those are usually Microsoft Excel
spreadsheets or PDF files given by the customer directly.
• Requested devices
You will usually be invited to the cycle to use a specific device of yours. This device is displayed
in the right sidebar on the test overview page. For ideal device coverage, our distribution algorithm
invites testers for different devices. You may only use the requested devices that were assigned to
you. When testing websites, you must not only use the correct device but also one of the available
browsersonthelist.
If the seats for the requested device are taken, you may be able to join the test with a different
device if there are other slots opened. On the 'Submit a Bug' page you can check with which device
you are in the test.
it cannot prove that software is defect-free. Even multiple testing can never ensure that software is
100% bug-free. Testing can reduce the number of defects but not remove all defects.
2. Exhaustive testing is not possible: It is the process of testing the functionality of the software in all
possible inputs (valid or invalid) and pre-conditions is known as exhaustive testing. Exhaustive testing
is impossible means the software can never test at every test case. It can test only some test cases and
assume that the software is correct and it will produce the correct output in every test case. If the
software will test every test case, then it will take more cost, effort, etc., which is impractical.
3. Early Testing: To find the defect in the software, early test activity shall be started. The defect detected
in the early phases of SDLC will be very less expensive. For better performance of software, software
testing will start at the initial phase i.e. testing will perform at the requirement analysis phase.
4. Defect clustering: In a project, a small number of modules can contain most of the defects. Pareto
Principle to software testing state that 80% of software defect comes from 20% of modules.
5. Pesticide paradox: Repeating the same test cases, again and again, will not find new bugs. So, it is
necessary to review the test cases and add or update test cases to find new bugs.
6. Testing is context-dependent: The testing approach depends on the context of the software developed.
Different types of software need to perform different types of testing. For example, the testing of the
e-commerce site is different from the testing of the Android application.
7. Absence of errors fallacy: If a built software is 99% bug-free but it does not follow the user requirement
then it is unusable. It is not only necessary that software is 99% bug-free but it is also mandatory to
fulfill all the customer requirements
testing process. Test Left is a tool that allows advanced testers and developers to shift left with
the fastest test automation tool embedded in any IDE.
• Integration Testing-
After each unit is thoroughly tested, it is integrated with other units to create modules or
components that are designed to perform specific tasks or activities. These are then tested as
group through integration testing to ensure whole segments of an application behave as
expected (i.e, the interactions between units are seamless). These tests are often framed by user
scenarios, such as logging into an application or opening files. Integrated tests can be
conducted by either developers or independent testers and are usually comprised of a
combination of automated functional and manual tests.
• System Testing-
System testing is a black box testing method used to evaluate the completed and integrated
system to ensure it meets specified requirements. The functionality of the software is tested
from end-to-end and is typically conducted by a separate testing team than the development
team before the product is pushed into production.
• Acceptance Testing-
Acceptance testing is the last phase of functional testing and is used to assess whether the final
piece of software is ready for delivery. It involves ensuring that the product is following all of
the original business criteria and that it meets the end user’s needs. This requires the product
be tested both internally and externally, meaning you’ll need to get it into the hands of your
end users for beta testing along with those of your QA team. Beta testing is key to getting real
feedback from potential customers and can address any final usability concerns.
2. Non-Functional Testing-
Non-functional testing methods incorporate all test types focused on the operational aspects of a piece
of software. These include:
• Performance Testing-
Performance testing is a non-functional testing technique used to determine how an application
will behave under various conditions. The goal is to test its responsiveness and stability in real
user situations. Performance testing can be broken down into four types:
➢ Load testing, is the process of putting increasing amounts of simulated demand on your
software, application, or website to verify whether it can handle what it is designed to handle.
➢ Stress testing, takes this a step further and is used to gauge how your software will respond
at or beyond its peak load. The goal of stress testing is to overload the application on purpose
until it breaks by applying both realistic and unrealistic load scenarios. With stress testing,
you’ll be able to find the failure point of your piece of software.
➢ Endurance testing, also known as soak testing, is used to analyze the behavior of an
application under a specific amount of simulated load over longer amounts of time. The goal
is to understand how your system will behave under sustained use, making it a longer process
than load or stress testing (which are designed to end after a few hours). A critical piece of
endurance testing is that it helps uncover memory leaks.
➢ Spike testing, is a type of load test used to determine how your software will respond to
substantially larger bursts of concurrent user or system activity over varying amounts of
time. Ideally, this will help you understand what will happen when the load is suddenly and
drastically increased.
• Security Testing-
With the rise of cloud-based testing platforms and cyber attacks, there is a growing concern
and need for the security of data being used and stored in software. Security testing is a non-
functional software testing technique used to determine if the information and data in a system
is protected. The goal is to purposefully find loopholes and security risks in the system that
could result in unauthorized access to or the loss of information by probing
the application for weaknesses. There are multiple types of this testing method, each of which
aimed at verifying six basic principles of security:
➢ Integrity
➢ Confidentiality
➢ Authentication
➢ Authorization
➢ Availability
➢ Non-repudiation
• Usability Testing-
Usability testing is a testing method that measures an application’s ease-of-use from the end-
user perspective and is often performed during the system or acceptance testing stages. The
goal is to determine whether the visible design and aesthetics of an application meet the
intended workflow for various processes, such as logging into an application. Usability testing
is a great way for teams to review separate functions, or the system, is intuitive to use.
• Compatibility Testing-
Compatibility testing is used to gauge how an application or piece of software will work in
different environments. It is used to check that your product is compatible with multiple
operating systems, platforms, browsers, or resolution configurations. The goal is to ensure that
your software’s functionality is consistently supported across any environment you expect
your end users to be using.
• Verify user is getting ticket on his what's app if he has selected the option of share ticket on what's
app.
• Verify after successful booking of ticket user should be able to see his ticket booking history.
• Verify if user has entered special character in name field during ticket booking process then error
message should be displayed.
• Verify when user clicks on edit passenger details button then Edit Traveller section should get open.
• Verify user is able to delete the passenger detail by clicking on remove button.
• Verify user is able to change his boarding point during ticket booking process.
Validation Testing:
• When we give any special letter or number in input field so it show us error:
=>Required Field!!
7 Limitation
Limitation of Proiect on Bus Ticket Booking System
Although I have put my best efforts to make the software flexible, easy to operate but limitations cannot be
ruled out even by me. Though the software presents a broad range of options to its users some intricate
options could not be covered into it; partly because of logistic and partly due to lack of sophistication.
Paucity of time was also major constraint, thus it was not possible to make the software foolproof and
dynamic. Lack of time also compelled me to ignore some part such as storing old result of the candidate etc.
Considerable efforts have made the software easy to operate even for the people not related to the field of
computers but it is acknowledged that a layman may find it a bit problematic at the first instance. The user is
provided help at each step for his convenience in working with the software.
• Excel export has not been developed for Bus, Ticket due to some criticality
• The transactions are executed in off-line mode, hence on-line data for Booking, Customer capture and
modification is not possible.
• Off-line reports of Bus, Bus Route, Booking cannot be generated due to batch mode execution.
8 Future Scope
Future Scope of the Project:
In a nutshell, it can be summarized that the future scope of the project circles around maintaining
information regarding:
The above mentioned points are the enhancements which can be done to increase the applicability and usage
of this project. Here we can maintain the records of Bus and Ticket. Also, as it can be seen that now-a-days
the players are versatile, i.e. so there is a scope for introducing a method to maintain the Bus Ticket Booking
System. Enhancements can be done to maintain all the Bus, Ticket, Booking, Customer, Bus Route.
We have left all the options open so that if there is any other future requirement in the system by the user for
the enhancement of the system then it is possible to implement them.ln the last we would like to thanks all
the persons involved in the development of the system directly or indirectly. We hope that the project will
serve its purpose for which it is develop there by underlining success of process.
9 Conclusion
Conclusion of the Project Bus Ticket Bookinq System:
Our project is only a humble venture to satisfy the needs to manage their project work. Several user friendly
coding have also adopted. This package shall prove to be a powerful package in satisfying all the
requirements of the school. The objective of software planning is to provide a frame work that enables the
manger to make reasonable estimates made within a limited time frame at the beginning of the software
project and should be updated regularly as the project progresses.
• A description of the background and context of the project and its relation to nark already done in the
area.
• We describe the requirement Specifications of the system and the actions that can be done on these
things.
• We understand the problem domain and produce a model of the system, which