logo

Software Development Life Cycle Methodology for Online Hotel Booking Application

This document provides detailed description of all assessments items in NIT6150.

30 Pages4922 Words103 Views
   

Added on  2022-10-12

About This Document

The report discusses the software development life cycle methodology for developing an online hotel booking application. It compares the waterfall and agile models and selects the most suitable methodology. It also explains the functional requirements such as login, registration, database, room booking, and review. The use cases for login, registration, check hotel, and book room are also described.

Software Development Life Cycle Methodology for Online Hotel Booking Application

This document provides detailed description of all assessments items in NIT6150.

   Added on 2022-10-12

ShareRelated Documents
Introduction:
The software development life cycle methodology is the organized way of completing the
software development project. The SDLC models divide the tasks of project into various smaller
phases that deals with different processes. Waterfall and Agile are the two main types of SDLC
models. The waterfall follows the sequential approach where all the tasks are done in sequential
manner. The agile is a more complex and flexible approach. In agile methodology, the project
phases can be done in iterative manner. The system requirements describes the overall
functionality of the system. The system requirements can be divided into two parts such as
functional and non-functional requirements. The cost and schedule estimation is also a very
important factor in projects. The cost estimation allows the project manager and key stakeholders
to justify the project.
The report is based on development of online hotel booking application. The application
is designed to be providing hotel services in different states. The customers are the main users of
the system. The customers can see the rooms and hotels, however, to book the rooms the
customers have to login to the system. The system is developed mobile devices also. The system
has various risks associated with it, one of the most severe risks is improper security.
System Development Model:
There are two software development approaches such as traditional and agile. The
waterfall model is used for small projects where the project requirements are clear. The agile on
the other hand is followed in complex projects. Primarily, the projects that does not have clear
requirements at the beginning are suitable for agile methods.
Software Development Life Cycle Methodology for Online Hotel Booking Application_1
Waterfall Model: This is the first process model that has been introduced in the domain
of software development. The waterfall model is simpler than other models and it can be easily
used in projects. In waterfall model there is a catch and that is each process must be done
sequentially. If a phase is completed then there is no going back. The next phase can be initiated
only after the previous one is completed. The waterfall model divides separate processes into
groups called phases. The phases consist of only associated processes. The output of one phases
is utilized as the input of next phase and this occurs in the project sequentially. This proves the
statement that next phase can be initiated only after the previous one is completed. The waterfall
model is divided into six different phases such as requirement gathering and analysis, system
design, implementation, testing, deployment and maintenance. The maintenance is the post
implementation phase.
The requirement gathering phase deals with collecting user and business requirements. It
also consist of the processes of evaluating the collected data to generate system requirements.
These generated system requirements serve as the base of the system. The requirements
describes about the input, output and operations that process input to generate output. The system
design is the way of creating visual representation of the system. The system design phase takes
the system requirements as inputs. Each diagram created in the system design phase are
interconnected. Different diagrams provide clear idea about different characteristics of the
system. If the class diagram and ERD provide understanding of static structure of the system
then use case and DFD visualizes dynamic nature of the system. The system architecture,
database and user interface is done in this design phase. The development phase actually deals
with the coding part. In this phase the actual system is developed for the first time. The
development phase is completed dynamically. The database, system core and interface are done
Software Development Life Cycle Methodology for Online Hotel Booking Application_2
simultaneously. The testing phase is for checking the developed application. The black box
testing is done for checking the behaviour of the system without concerning about system core
functions. The white-box testing is done to check how the system core functions. At last, when
all the tests are done, the system is deployed to the cloud or in-house server.
Agile Methodology: The agile software development lifecycle model is considered as
practice which is used for promoting continuous iteration of developing and testing a software
application throughout the implementation phases of the project. The design, development and
testing are done simultaneously. There are four core values in the agile such as interaction
between teams and individuals, fully functioning application rather than extensive
documentation, collaboration with the customer and quick response to project change. Various
agile methodologies are available for applying in the project. One of the most popular and
flexible is scrum methodology. However, most of the agile methods share the same basic
features such as iterative approach.
The agile methodology has six phase such as concept, inception, iteration, release,
production and retirement. In the concept phase, the project is properly analyzed. Moreover, the
viability are prioritized based on the importance. The project team is gathered and employed, the
responsibility is identified, resource allocation is done as well as initial requirements of the
application is collected. The real application starts developing when the project team initiates
working. The development work begins based on the initial requirements collected but as the
development work progresses, additional requirements are collected. The release phase is done
for testing, reviewing the developed application, documentation and many more. The production
phase is used for checking if the developed applications are following the project objectives and
goals. At the final phase, retirement, all the activities are put to an end.
Software Development Life Cycle Methodology for Online Hotel Booking Application_3
Selection of Methodology: The agile methodology follows iterative and incremental
approach where the waterfall method follows sequential approach. Though the iterative approach
makes the methodology flexible, the complexity level increases tremendously. As the proposed
project does not require extremely flexibility, the waterfall model can be suitable. The agile
model divides the project works into small activities which allows various team members work
on different aspects simultaneously. However, in terms of waterfall model, one team works at a
time. This reduces the communication between the team members of the project. The agile can
be a better solution here but the as the number of team members are low, the waterfall model can
be used. The agile methodology can provide actual application from early stages of the project
while in waterfall method application is not developed until project is completed. The
organization does not require any working prototype until project is complete. Therefore, from
the above comparison it can be said that waterfall methodology is most suitable project
management SDLC model.
Functional Requirements:
Login: The login is the way of authenticating the user access to the system. In order to
login to the application, the user needs to provide the login id and password. The combination of
login id and password checked for the login process. The login id is always unique and password
varies. The login processes takes user input from the login form and checks the input
combination with the stored value in the database. If the combination matches with the stored
values then the authentication is successful otherwise login fails.
Register: The registration is the process of storing the customer data into the database.
The registration process can be done various ways. The login id depends on what type of data
organization wants to store in the database. The user defines the password at the time of
Software Development Life Cycle Methodology for Online Hotel Booking Application_4
registration. As the login id is unique, the system does not accept same login id for different
registration. At the time of registration, the system defines the authorization level of user. Based
on the authorization level, the system will check if user is allowed to access the requested
information.
Database: The database is the storage medium of the application. The system stores
every data collected from the user in the database. The database can hold data for a very long
time. Moreover, the database is one of the keys to make an application dynamic. The relational
database has been proposed for the hotel booking system. The relational database is based on
relational mode. The database management system is to be implemented into the system core so
that database can be used for string, retrieving, deleting and manipulating data. The database
management system serves as the communication medium between the database and system core
to manage data. The relational database management system has to be used in the system as the
database itself is relational database. In order to make the most of the database, the relational
database has to be decomposed up to third normal form. The database will have entities such as
user, booking, hotel, review and room.
Software Development Life Cycle Methodology for Online Hotel Booking Application_5
Figure 1: Entity Relationship Diagram
(Source: Created by Author)
The above ER diagram propose that every entity in the database except the review is
strong entity. The review uses the hotel and user entities primary key as the composite primary
key that is why it is a weak entity. The booking has three keys as composite primary key. These
attributes are user id, room id and start date.
Software Development Life Cycle Methodology for Online Hotel Booking Application_6

End of preview

Want to access all the pages? Upload your documents or become a member.

Related Documents
ICT Project Management: Methodologies, SDLC, Waterfall, PLC
|6
|1018
|140

Project Management
|9
|1430
|82

Project Management Methodologies
|9
|1681
|92

System Analysis and Design
|13
|1658
|447

Software Development Methodology for Purchase Module - Desklib
|17
|2887
|276

Project Management Methodologies: A Comparison between Waterfall and Agile Methodology
|6
|1048
|211