Santoshi Project Report
Santoshi Project Report
Submitted by:
Santoshi Pharswan
Roll No:
1612330041
Submitted to:
Dr. Ashish Mehta
1
ACKNOWLEDGMENT
This project itself is acknowledgment for all those people who have given me their heartfelt
cooperation in making this project successful.
I extend our sincere thanks to Mr. Ashish Mehta Head of Computer Science Department, for
providing the necessary Infrastructure and labs and also permitting to carry out this project.
I express my deep sense of gratitude to our respected and learned guides at BCA department
for providing the necessary Infrastructure and labs and also permitting to carry out this
project.
With extreme jubilance and deepest gratitude, I would like to thank all the faculty of the
Computer Science Department and peers for their valuable pieces of advice at every stage of
this work.
2
SELF CERTIFICATE
This is to certify that the dissertation/project report entitled “Online Hall Booking System”
is done by me is an authentic work carried out for the partial fulfilment of the requirements
for the award of the degree of Bachelor of Computer Applications. The matter embodied in
this project work has not been submitted earlier for the award of any degree or diploma to the
best of my knowledge and belief.
Santoshi Pharswan
Roll No:
1612330041
3
ABSTRACT
A Web base hall booking management system provides the searching facilities based on
various factor. Web base hall booking management systems are going to develop web portal
for searching halls. This web portable is used to check the availability of halls hence we need
not go and visit the place. The user should have wasted his / her time and the money to search
for hall. Information of individual’s hall is stored in database. New admin of hall can insert
his details in web portal. As he becomes a member of web portal he can edit his information
and update date of booking. The main objective of the hall booking management system is to
manage the details, of booking customers and hall. The project is totally built at
administrative end and thus only the administrator is the manual work for managing the
payment, Booking Dates, inventory, booking. It tracks all the details about the Booking
Customers Hall.
4
INDEX
CHAPTER 1 - INTRODUCTION OF PROJECT
1.1.1Introduction
CHAPTER 1 - REQUIREMENTANALYSIS
4.1 Introduction
4.2 DFD
4.4 ER Diagram
5.1 HTML
5.2 CSS
5.3 JavaScript
5
5.4 Bootstrap
5.5 PHP
5.6 Ajax
CHAPTER 7- CODING
CHAPTER 8 - TESTING
CHAPTER 9 - IMPLEMENTATION
CHAPTER 10 - MAINTENANCE
CHAPTER 12 - LIMITATIONS
CHAPTER 13 - CONCLUSION
CHAPTER 14 - BIBLIOGRAPHY
6
Chapter1 Introduction of Project
This web application is the best application for company, this application provide the best
features and facilities to the customer.
Through this customer can easily book the hall which is they want for his function . With the
help of this application admin can manage the booking functionality and can view the
booking details of the user.
And employees can easily see their booking system on their id after login.After completing
the task employee can update their status on their id.
Introduction:
This web application is a service to provide various functionality to the customer &
employee. It is also useful to save the precious time and energy. This application offers
different services like employees management, booking system ,booking details hall details.
2. EFFICIENCY: The basic need of this application is efficiency. The application should be
efficient so that whenever a new user submits his/her details the database is updated
automatically. This record will be useful for other users instantly.
3. CONTROL: The complete control of the project is under the hands of authorized person
who has the password to access this project and illegal access is not supposed to deal with.
All the control is under the administrator and the other members have the rights to just see the
records not to change any transaction or entry.
7
1.1.3-Scope of the proposed Application:
Though there are many application available on system but this can compete with them with
some advancement in its functionality and can be used by any authenticate admin to
maintain their customer’s and employee’s account.
User Registration
Login
Update Profile
View Profile
Logout
1. MENU DRIVEN:
The project uses menu throughout which we can choose required options. Menus are self-
explanatory, as they are very easy to use and user can go to any other web page using the menu
2. USER CONFIRMATION:
Whenever the user tries to delete or edit the data, the system asks for the confirmation. This
issued to avoid the accidental changes to the database.
8
Chapter2 Requirement Analysis
2.1-Functional Requirements:
2.2-Non-functional Requirements:
Those requirements which are not the functionalities of a system but are the characteristics of
a system are called the non-functionalities.
Security access.
24X7 availability.
Better component design to get better performance at peak time.
Flexible service based architecture will be highly desirable for future extensions.
9
2.5 Tools and Environment:
10
Chapter3 Requirement Specification
Document
Applicant: The applicant can register his information and desired information about the hall
and book them in a particular date.
User: user can register his information and can check hall availability on their id.
The searching of record has been made quite simple as all the details of the customer
can be obtained by simply keying in the identification of that customer. Similarly, record
maintenance and update can also be accomplished by using the identification of the customer
with all the details being automatically generated. These details are also being promptly
automatically updated in the master file thus keeping the record absolutely up-to-date.
3.1.1 Characteristics:
A computer based management system is to maintain each customer record.
Separate database is maintained to handle all the details required for all the customers. This
project intends to introduce more user friendliness in the
Various activities such as record updation , maintenance, and searching
11
3.1.2 Constraints:
Some tables have primary key and foreign key. Relationships are created between tables in
the database. All tables are related with each-other.
To view information, user must have valid username and password. Only valid users can
logged successfully and view information available on the database.
Input Data: the software will be keyboard and mouse driven, all input data are from left
mouse clicks on context buttons such as directional buttons or menu options. Incase of filling
information keyboard is required.
RAM: 256 MB
Color: 16 bit
12
Chapter4 Software Design
4.1-Introduction:
The web Application registers the user or the applicant then confirms the user or credentials
like username and password for further work. If the user credentials are validated then allow
the user in website otherwise reject it. All the information related to user credentials is stored
in the database. The entire system can be shown with the help of Data Flow Diagram. A Data
Flow Diagram (DFD) is a diagrammatic representation of the information flows within a
system, showing:
4.2-Scope:
Though there are many application available on market but this can compete with them with
some advancement in its functionality and can be used by any user and college, organization
to maintain their Hall management system and services.
User Registration
Login
Update profile
View booking details
View profile
Logout
13
4.3 -Data Flow Diagram (DFD):
Cancel
Hall details
Login admin
User management
Open booking
14
1-LEVEL DFD:
Admin
User
login /registration info.
Hall information
Admin info.
response
request
Hall booking
Admin
booking details
Open booking
Check
booking
User details
User Information
15
4.4 User Interface Design:
User interface design is the design of application with the focus on user’s experience and
interaction. The goal of user interface design is to make the user's interaction as simple and
efficient as possible the goal of user interface design is to make the user's interaction as
simple and efficient as possible. Web page is used for user interface which is built in Xampp
Apache. It has a server side platform which contains MariaDB , PHP ,Perl contains which is
use for srver side coding , data controls (gridview, detailview, sqldatasource etc).
XAMPP is meant only for development purposes. It has certain configuration settings that
make it easy to develop locally but that are insecure if you want to have your installation
accessible to others. If you want have your XAMPP accessible from the internet, make sure
you understand the implications and you checked the FAQs to learn how to protect your site.
Alternatively you can use WAMP, MAMP or LAMP which are similar packages which are
more suitable for production.
Fig. 4.1
16
Application Design:
Xampp server:
XAMPP is by a free and open-source cross-platform web server solution stack package
developed Apache Friends,consisting mainly of the Apache HTTP
Server, MariaDB database, and interpreters for scripts written in
the PHP and Perl programming languages. Since most actual web server deployments use the
same components as XAMPP, it makes transitioning from a local test server to a live server
possible.
XAMPP deployment means a WAMP or LAMP stack can be installed quickly and simply on
an operating system by a developer. With the advantage a number of common add-in
applications such as Wordpress and Joomla! can also be installed with similar ease
using Bitnami.
Etymology :
The term XAMPP is an apparent acronym. However, there is no official acronym expansion
specified on the Apache Friends website. Their homepage header reads "XAMPP Apache +
MariaDB + PHP + Perl", indicating that this abbreviation is a recursive acronym.
Letter Meaning
M MariaDB
P PHP
P PERL
MySQL was replaced with MariaDB on 2015-10-19 and beginning with XAMPP versions
5.5.30 and 5.6.14effectively altering the meaning of the acronym.
17
Features :
XAMPP is regularly updated to the latest releases of Apache, MariaDB, PHP and Perl. It also
comes with a number of other modules
including OpenSSL, phpMyAdmin, MediaWiki, Joomla, WordPress and more. Self-
contained, multiple instances of XAMPP can exist on a single computer, and any given
instance can be copied from one computer to another. XAMPP is offered in both a full and a
standard version (Smaller version).
Usage:
The most obvious characteristic of XAMPP is the ease at which a WAMP webserver stack
can be deployed and instantiated. Later some common packaged applications that could be
easily installed were provided by Bitnami.
18
4.5 ER-DIAGRAM:
User_name
password
Security que.
Departmt.
Registration
Que.answer
Retype
password
p
User_name Slot_id
B_id
User_name
cc
hall
Booking B_id
management
Status
B_id
B_date hall_id
Hall name
B_id
Hall_id
B_id
Slot_id
date
Slot
19
4.6 USE- CASE DIAGRAM:
REGISTRSTION
USER
LOGIN
BOOKING
BOOKING_DATES
HALL_ID
SLOAT_ID
20
4.6.2 USE- CASE DIAGRAM FOR ADMIN:
LOGIN
ADMIN
MANAGE_BOOKING
User
mangement
MANAGE
HALL_DETAILS
CHECK
BOOKING_DETAIL
S
21
Chapter5 Tools and Languages Used
5.1 HTML:
Cascading Style Sheets, fondly referred to as CSS, is a simple design language intended to
simplify the process of making web pages presentable.
CSS handles the look and feel part of a web page. Using CSS, you can control the color of
the text, the style of fonts, the spacing between paragraphs, how columns are sized and laid
out, what background images or colors are used, layout designs, variations in display for
different devices and screen sizes as well as a variety of other effects.
CSS is easy to learn and understand but it provides powerful control over the presentation of
an HTML document. Most commonly, CSS is combined with the markup languages HTML
or XHTML.
22
5.3 Java Script:
What is JavaScript ?
5.4 Bootstrap:
Bootstrap is the most popular front end framework in the recent time. It is sleek, intuitive,
and powerful mobile first front-end framework for faster and easier web development. It
uses HTML, CSS and JavaScript. This tutorial will teach you the basics of Bootstrap
Framework using which you can create web projects with ease. The tutorial is divided into
sections such as Bootstrap Basic Structure, Bootstrap CSS, Bootstrap Layout Components
The PHP Hypertext Preprocessor (PHP) is a programming language that allows web
developers to create dynamic content that interacts with databases. PHP is basically used for
developing web based software applications. This tutorial helps you to build your base with
PHP.
PHP started out as a small open source project that evolved as more and more people found
out how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994.
23
It is integrated with a number of popular databases, including MySQL, PostgreSQL,
Oracle, Sybase, Informix, and Microsoft SQL Server.
5.6 Ajax:
AJAX is a developer's dream, because you can:
XAMPP stands for Cross-Platform (X), Apache (A), MySQL (M), PHP (P) and Perl (P). It
is a simple, lightweight Apache distribution that makes it extremely easy for developers to
create a local web server for testing purposes. Everything you need to set up a web server –
server application (Apache), database (MySQL), and scripting language (PHP) – is
included in a simple extractable file. XAMPP is also cross-platform, which means it works
equally well on Linux, Mac and Windows. Since most actual web server deployments use
the same components as XAMPP, it makes transitioning from a local test server to a live
server is extremely easy as well.
1.Apache: Apache is the actual web server application that processes and delivers web
content to a computer. Apache is the most popular web server online, powering nearly 54%
of all websites.
3. PHP: PHP stands for Hypertext Preprocessor. It is a server-side scripting language that
powers some of the most popular websites in the world, including WordPress and
Facebook. It is open source, relatively easy to learn, and works perfectly with MySQL,
making it a popular choice for web developers.
24
4. Perl: Perl is a high-level, dynamic programming language used extensively in network
programming, system admin, etc. Although less popular for web development purposes,
Perl has a lot of niche applications.
25
Chapter6 Database Design
In our data flow diagram, we give names to data flows, processes and data stores. Although
the names are descriptive of data, they do not give details .So following DFD, our interest is
to build some details of the contents of data flows, processes and data store. A data dictionary
is a structured repository of data about data .It is a set of rigorous definitions of all DFD data
elements and data structures .The data dictionary for the current system has been given as
under
26
6.1.2 Hall details Table: This table maintains details of Halls.
27
6.1.3 Booking dates table: This table show the booking details.
28
6.1.4 Booking Table:
29
Chapter7 Coding
The coding step of the development phase translates the software design into a programming
language that can be executed by a computer.
Top- down and bottom-up approach are strategies of information processing and knowledge
ordering.
A top-down approach is essentially breaking down a system to gain insight into its
compositional sub-systems. In a top-down approach an overview of the system is first
formulated, specifying but not detailing any first-level subsystems. Each subsystem is then
refined in yet greater detail, sometimes in many additional subsystem levels, until the entire
specification is reduced to base elements.
A bottom-up approach is essentially piecing together systems to give rise to grander systems,
thus making the original systems sub-systems of the emergent system. In a bottom-up
approach the individual base elements of the system are first specified in great detail. These
elements are then linked together to form larger subsystems, which then in turn are linked,
sometimes in many levels, until a complete top-level system is formed.
30
On hall booking system web application has used top-down approach. In this system,
firstly understand the problem. The major step in the development process is to realize
exactly what the problem to be solved is really about. These first thoughts give us valuable
information about the purpose of the application. Another valuable source of information is
the end users that are going to use the application. It is always a good idea to involve the end
users at an early stage of the development process to make sure that your application solves
the correct problem.Create a database. In this database, create tables for all subsystems
Specifying each and every field of all these tables in detail. Specify the primary key and
foreign keys of each table in the database. Now specify the relationships between these tables
in the database. Specify which field of which table is related with which field of another table
and how. In this way, link each table of the database with each-other. Thus, the development
of Management System follows top-down approach.
By identifying how the application is going to be used and which routines the users will
perform with the system, we get a good idea of the data our application is going to handle.
Designing the tables will often be the most difficult part of the entire application development
process. Getting our table design right is crucial as the rest of the application is built on top of
the tables.
It is also important that we identify the forms and reports that are needed. This is the only
way we can design the underlying system to provide the information necessary in them.
The most important results of this step are a clear picture of...
When you have completed this step, test your results with the users/customers. Create a
requirements specification together with your customer. The requirements specification can
be made as a description of criteria which must be fulfilled.
31
Our tables and the relations between them make up the foundation of our application. A bad
table design affects the whole application. This is why it is important to analyze our data and
break it into tables before you create any other application objects
Defining relations between our tables are very important. You should make sure that our
tables adhere to the first three normal forms. This brings many benefits, such as an increase in
consistency and maintainability, a reduction in data redundancy and better search
performance from smaller tables (with narrower rows).
To the users of our application the forms are the application, as it makes up most of the
application’s user interface. Forms are the most important way for our users to interact with
the application. By interacting with forms, the users control the flow of our application. Start
by creating a form that is used to enter data in our application. Add a few sample records of
sample data to our tables. This makes it easier to see whether our (forms and reports) display
the data you want.
For each form, determine what data you want on it, and then create a data source that
contains the data. This is also a test of our tables because you will be able to see if you can
get the data you want from the tables.
Create reports to extract information and present surveys Reports are used to get printed
overview of information extracted from our application’s Data. Typically you produce
applicant list, time period list etc. If you want to check that which Employee has done work
for which client and how much then you can take its report.
Create menus and menu items for accessing the functionality in our application
Creating menus and menu items is the final step before our application development process
is finished. The end users access the functionality in our application through menus. Menus in
hall booking system is very flexible compared to other systems. This application normally
has several menus that are customized specifically to certain uses of the systems.
The Menu items serve as a layer between the end users and the application objects. The menu
items are also used to limit access to the application, based on the privileges defined for the
user.
32
7.2 Modules & Explanation:
Modules:
Login
Registration
User’s profile
Hall details
Check booking details
Booking date management
7.2.1Module description:
1. Login/Sign-in Form:
33
2.Registration form:
3. Admin panel:
34
4. Hall Booking details:
5. Hall details:
35
6. Manage user details:
36
7.1 Based on user id:
37
7.3 Based on hall id:
38
Chapter8 Testing
Testing plays a critical role in quality assurance for software .Due to the limitation of the
verification method for the previous phases, design and requirement fault also appear in the
code. Testing is used to detect these errors, in edition to the error introduced during coding
phase.
Testing is a dynamic method for verification and validation, where the system is to be tested
is executed and behavior of the system is observed. Due to this testing the failure of the
system can be observed, from which the presence of fault can be deduced. However, separate
activities have to be performed to identify the faults.
There are two method of testing: functional and structural. In functional testing, the internal
logic of the system under testing is not considered and the test cases are decided from the
specification or the requirements. It is often called “Black Box Testing”. Equivalence class
partitioning, boundary analysis, and cause effect graphing are examples of methods for
selecting test cases for functional testing. In structural testing, the test cases are decided
entirely on the internal logic of the program or module being tested.
As the goal of testing is to detect any errors in the programs different flavor of testing are
often used. Unit testing are used to test a module or a small collection of modules and the
focus is on detecting coding errors in modules. During integration testing modules are
combined into sub-system, which are then tested. The goal here is to test the system design.
In system testing and acceptance testing, the entire System is tested.
39
The goal here is to test the requirement themselves. Structural testing can be used for unit
testing while at higher level mostly functional testing is used.
System testing is a critical phase in systems implementation. Testing of a system involves
hardware device testing and debugging of computer programs and testing information
processing procedures. Testing can be done with test data, which attempts to simulate all
possible conditions that may arise during processing. The plane for testing are prepared and
then implemented.
40
8.2 Levels of Testing:
In order to uncover the errors present in different phases, we have the concept of
levels of testing. The basic levels of testing are
Client Needs Acceptance
Testing
Unit testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module.
Using the detailed design and the process specifications, testing is done to uncover
errors within the boundary of the module. All modules must be successful in the unit
test before the start of the integration testing begins.
In this project each service can be thought of a module. There are so many modules
like Login, HR Department, Interviewer Section, etc. Each module has been tested by
giving different sets of inputs. When developing the module as well as finishing the
development, the module works without any error. The inputs are validated when
accepting them from the user.
Integration Testing
After unit testing, we have to perform integration testing. The goal here is to see if
modules can be integrated properly, the emphasis being on testing interfaces between
modules. This testing activity can be considered as testing the design and hence the
41
emphasis on testing module interactions.
In this project the main system is formed by integrating all the modules. When
integrating all the modules I have checked whether the integration effects working of
any of the services by giving different combinations of inputs with which the two
services run perfectly before Integration.
System Testing
Here the entire software system is tested. The reference document for this process is
the requirements document, and the goal is to see if software meets its requirements.
Here entire ‘HRRP’ has been tested against requirements of project and it is checked
whether all requirements of project have been satisfied or not
Acceptance Testing
Acceptance Testing is performed with realistic data of the client to demonstrate that
the software is working satisfactorily. Testing here is focused on external behavior of
the system; the internal logic of program is not emphasized.
Test cases should be selected so that the largest number of attributes of an equivalence
class is exercised at once. The testing phase is an important part of software
development. It is the process of finding errors and missing operations and also a
complete verification to determine whether the objectives are met and the user
requirements are satisfied.
A strategy for software testing may also be viewed in the context of the spiral. Unit testing
begins at the vortex of the spiral and, concentrates on each unit, component of the software as
implemented in source code. Testing progresses moving outward along the spiral to
integration testing, where the focus is on designed the construction of the software
42
architecture. Taking another turn outward on spiral, we encounter validation testing, where
requirements established as part of software requirements analysis are validated against the
software that has been constructed. Finally, we arrive at system testing, where the software
and other system elements are tested as a whole. To test computer software, we spiral out
along stream lines that broaden the scope of testing with each turn.
Considering the process from a procedural point of view, testing within the context of
software engineering is actually a series of four steps that are implemented sequentially. The
steps are shown in Figure. Initially, tests focus on each component individually, ensuring that
it functions properly as unit. Hence, the name unit testing. Unit testing makes heavy use of
white-box testing techniques, exercising specific paths in module’s control structure to ensure
complete coverage and maximum error detection.
System Testing
Validation Testing
Integration Testing
Validation testing
Code
Design
43
8.4 Test Cases:
44
(Fig. Test Case for Check-In Form)
There are basically two types of security associated with this system:-
1. Physical security:-
Damage due to natural causes like earth tremor, flooding, water logging, fire hazards,
atmospheric or environmental conditions etc. For overcoming these difficulties the replica of
45
the data are automatically stored at various networks and for environmental conditions Air
conditioning environment is created.
2. Data security:-
1. Data not being available to the authorized person at the time of need.
2. Data becoming available to the unauthorized person.
To overcome these difficulties the following access facilities has been provided:-
i) Identification:-
ii) Authentication:-
System checks the password under the particular user identification. The computer permits
the various resources to the authorized person.
iii) Authorization:-
46
Chapter9 Implementation
System implementation is the stage when the user has thoroughly tested the system and
approves all the features provided by the system. The various tests are performed and the
system is approved only after all the requirements are met and the user is satisfied.
The new system may be totally new; replacing an existing manual or automated system, or it
may a major modification to an existing system. In the either case, proper implementation is
essential to provide a reliable system to meet organization requirements .successful
implementation may not guarantee improvement in the organization using the new system
Implementation is the process of having systems personal check out and put new equipment
to use, train users, install the new application and construct any files of data needed to use it.
This phase is less creative than system design. Depending on the size of the organization that
will be involve in using the application and the risk involved in its use, system developer may
choose to test the operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to compare the results. In
steel other situations, system developers stop using the old systems one day and start using
the new one the next.
A number of popular software packages are designed to produce easily readable site traffic
reports, complete with data graphics and charts to aid in data analysis. As a service to
customers, site hosting companies often offer reports from popular site analysis programs like
Web Trends, often free of charge. Before contracting with an Internet Service Provider (ISP)
for site hosting services, always ask about site analysis services. If you’re ISP or corporate
Web site does not offer a good site traffic analysis package, ask whether the Webmaster can
give you access to a monthly server log of your account. Basic versions of traffic analysis
programs like Web Trends cost about three hundred dollars, and you can run them on a
personal computer if you can gain access to the raw Web server log from your ISP or
corporate webmaster.
47
Top-down implementation:
Top down implementation begins with the user invoked module and works toward the
modules that do not call any other modules. The implementation may proceed depth-first or
breadth-first.
Bottom- Up implementation:
Implementation begins with modules that do not call any other modules and work toward the
main program. Test harness are used to test individual modules. The main module constitutes
Stubs:
supports incremental program development by allowing for error and improvement. A stub
of the algorithm or fulfill all the job requirements. However, it does contain rough versions of
all subprograms and their parameter lists. Furthermore, it can be compiled and run. Extensive
use of procedures and parameter are the difference between stub programs and prototypes.
Quick and dirty prototypes should be improved and rewritten. A stub program helps
demonstrates that a program's structure is plausible. Its procedures and functions are
unsophisticated versions of their final forms, but they allow limited use of the entire program.
In particular, it may work for a limited data set. Often the high-level procedures are ready to
call lower-level code, even if the more detailed subprograms haven't even been written.
48
Chapter10 Maintenance
The maintenance starts after the final software product is delivered to the client. The
maintenance phase identifies and implements the change associated with the correction of
errors that may arise after the customer has started using the developed software. This also
maintains the change associated with changes in the software environment and customer
requirements. Once the system is a live one, Maintenance phase is important. Service after
sale is a must and users/ clients must be helped after the system is implemented. If he/she
faces any problem in using the system, one or two trained persons from developer’s side can
be deputed at the client’s site, so as to avoid any problem and if any problem occurs
Even though the definition of equivalence partitioning states that testing one value from a
class is equivalent to testing any other value from that class, we need to look at the
boundaries of equivalent classes more closely. This is so since boundaries are more error
prone.
To design two valid cases at both the ends test cases using boundary value analysis, for a
range of values,
49
10.1 Cause Effect Analysis:
The main drawback of the previous two techniques is that they do not explore the
combination of input conditions.
Cause effect analysis is an approach for studying the specifications carefully and
identifying the combinations of input conditions (causes) and their effect in the
form of a table and designing test cases
It is suitable for applications in which combinations of input conditions are few and
readily visible.
This is a rigorous approach, recommended for complex systems only. In such systems the
number of inputs and number of equivalent classes for each input could be many and hence
the number of input combinations usually is astronomical. Hence we need a systematic
approach to select a subset of these input conditions.
Software maintenance is widely accepted part of SDLC now a days. It stands for all the
modifications and updations done after the delivery of software product. There are number
of reasons, why modifications are required, some of them are briefly mentioned below:
Market Conditions - Policies, which changes over the time, such as taxation and
newly introduced constraints like, how to maintain bookkeeping, may trigger need
for modification.
Client Requirements - Over the time, customer may ask for new features or
functions in the software.
Organization Changes - If there is any business level change at client end, such as
reduction of organization strength, acquiring another company, organization
venturing into new business, need to modify in the original software may arise.
50
Types of maintenance:
In a software lifetime, type of maintenance may vary based on its nature. It may be just a
routine maintenance tasks as some bug discovered by some user or it may be a large event in
itself based on maintenance size or nature. Following are some types of maintenance based
on their characteristics:
51
Cost of Maintenance:
Reports suggest that the cost of maintenance is high. A study on estimating software
maintenance found that the cost of maintenance is as high as 67% of the cost of entire
software process cycle.
On an average, the cost of software maintenance is more than 50% of all SDLC phases.
There are various factors, which trigger maintenance cost go high, such as:
52
Dependence on external environment
Staff reliability and availability
Maintenance Activities
IEEE provides a framework for sequential maintenance process activities. It can be used in
iterative manner and can be extended so that customized items and processes can be
included.
Analysis - The modification is analyzed for its impact on the system including safety
and security implications. If probable impact is severe, alternative solution is looked
for. A set of required modifications is then materialized into requirement
specifications. The cost of modification/maintenance is analyzed and estimation is
concluded.
53
Design - New modules, which need to be replaced or modified, are designed against
requirement specifications set in the previous stage. Test cases are created for
validation and verification.
Implementation - The new modules are coded with the help of structured design
created in the design step.Every programmer is expected to do unit testing in parallel.
Acceptance Testing - After testing the system internally, it is tested for acceptance
with the help of users. If at this state, user complaints some issues they are addressed
or noted to address in next iteration.
Delivery - After acceptance test, the system is deployed all over the organization
either by small update package or fresh installation of the system. The final testing
takes place at client end after the software is delivered.
Training facility is provided if required, in addition to the hard copy of user manual.
Software Re-engineering
When we need to update the software to keep it to the current market, without impacting its
functionality, it is called software re-engineering. It is a thorough process where the design
of software is changed and programs are re-written.
Legacy software cannot keep tuning with the latest technology available in the market. As
the hardware become obsolete, updating of software becomes a headache. Even if software
grows old with time, its functionality does not.
For example, initially Unix was developed in assembly language. When language C came
into existence, Unix was re-engineered in C, because working in assembly language was
difficult.
Other than this, sometimes programmers notice that few parts of software need more
maintenance than others and they also need re-engineering.
54
Re-Engineering Process
Reverse Engineering
It is a process to achieve system specification by thoroughly analyzing, understanding the
existing system. This process can be seen as reverse SDLC model, i.e. we try to get higher
abstraction level by analyzing lower abstraction levels.
55
Program Restructuring
It is a process to re-structure and re-construct the existing software. It is all about re-
arranging the source code, either in same programming language or from one programming
language to a different one. Restructuring can have either source code-restructuring and
data-restructuring or both.
Re-structuring does not impact the functionality of the software but enhance reliability and
maintainability. Program components, which cause errors very frequently can be changed,
or updated with re-structuring.
The dependability of software on obsolete hardware platform can be removed via re-
structuring.
Forward Engineering
Forward engineering is same as software engineering process with only one difference – it is
carried out always after reverse engineering.
56
Component reusability
A component is a part of software program code, which executes an independent task in the
system. It can be a small module or sub-system itself.
Example
The login procedures used on the web can be considered as components, printing system in
software can be seen as a component of the software.
Components have high cohesion of functionality and lower rate of coupling, i.e. they work
independently and can perform tasks without depending on other modules.
In OOP, the objects are designed are very specific to their concern and have fewer chances
to be used in some other software.
In modular programming, the modules are coded to perform specific tasks which can be
used across number of other software programs.
There is a whole new vertical, which is based on re-use of software component, and is
known as Component Based Software Engineering (CBSE).
57
Reuse Process:
Two kinds of method can be adopted: either by keeping requirements same and adjusting
components or by keeping components same and modifying requirements.
Design - This is also a standard SDLC process step, where requirements are defined
in terms of software parlance. Basic architecture of system as a whole and its sub-
systems are created.
Specify Components - By studying the software design, the designers segregate the
entire system into smaller components or sub-systems. One complete software
design turns into a collection of a huge set of components working together.
58
Chapter11 Scope of the Project
The Online Hotel Management System can help the different organization in
reducing the overhead of engaging too many customer in the manually booking
procedure and the consumed time and money. This system can also help in the
Government sector as well as private for making conferences. They can easily
book halls for their meetings, and it will surely save their time also.
Though there are many online systems available on internet but this can
compete with them with some advancement in its functionality and can be used
by any hotel organization to maintain their customer’s record and online
booking process.
59
Chapter12 Limitations
Since, every system has some limitations so our proposed system is also not
untouchable in this regard. Although it includes every kind of features but it
can’t be used with a huge data where number of users are very large, because
the data base used in this system is an average one.
Data base may be the problem in future days when the applicants will be
increases. That might be a problem. That is another limitation of the project. If
the applicants will increase then it will be tuff to store the whole data in the data
base and it will also tuff to gathering the information
60
Chapter13 Conclusion
This project was successfully completed within the time span allotted. The
project hall booking system has been developed in apache Xampp server. All
the modules are tested separately and put together to form the main system.
Finally the system is tested with real data and everything worked successfully.
Thus the system has fulfilled the entire objective identified.
The system had been developed in an attractive dialogs fashion. So user with
minimum knowledge about computers can also operate the system easily. It will
make easy interactions between users and store. The speed and accuracy are
maintained in proper way.
Overall the Online System procedure the online features and the customer to
save the time, effort, and money.
Chapter14 Bibliography
REFERENCES :
Lee Purcell, Mary Jane Mara, “The ABCs of JavaScript”, Third Edition, 1996.
61
Roger Pressman , “Software Engineering”, Fourth Edition, published by Tata Mc
Graw Hill, Fifth Edition, 2001.
Steven Holzener , “HTML Black Book” , by Coriolis Group Books , Second Edition,
2000
WEBSITES:
http:/www.javatpoint.com
www.w3schools.com
62