0% found this document useful (0 votes)
12 views8 pages

Exp No 2 SE

Software Engineering Lab exp 2

Uploaded by

Jagruti Chavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views8 pages

Exp No 2 SE

Software Engineering Lab exp 2

Uploaded by

Jagruti Chavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Vidyavardhini’s College of Engineering & Technology

Department of Computer Engineering

Experiment No. 2
Apply Waterfall or Spiral Process Models to a Case Study
Date of Performance: 22/07/25
Date of Submission: 15/08/25
Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

Aim: Apply Waterfall or Spiral Process Models to a Case Study.

Objective: To prepare Waterfall Model or Spiral Model for the given case study.

Theory:

Software Process Model

A software process model is an abstraction of the software development process. The models
specify the stages and order of a process. So, think of this as a representation of the order of
activities of the process and the sequence in which they are performed.

A model will define the following:

●​ The tasks to be performed


●​ The input and output of each task
●​ The pre and post conditions for each task
●​ The flow and sequence of each task
The goal of a software process model is to provide guidance for controlling and coordinating the
tasks to achieve the end product and objectives as effectively as possible.

Waterfall Model:
The waterfall model is a sequential, plan driven-process where you must plan and schedule all
your activities before starting the project. Each activity in the waterfall model is represented as a
separate phase arranged in linear order.

It has the following phases:

●​ Requirements
●​ Design
●​ Implementation
●​ Testing
●​ Deployment
●​ Maintenance

Each of these phases produces one or more documents that need to be approved before the next
phase begins. However, in practice, these phases are very likely to overlap and may feed
information to one another.
Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

The software process isn’t linear, so the documents produced may need to be modified to reflect
changes.

The waterfall model is easy to understand and follow. It doesn’t require a lot of customer
involvement after the specification is done. Since it’s inflexible, it can’t adapt to changes. There
is no way to see or try the software until the last phase.

The waterfall model has a rigid structure, so it should be used in cases where the requirements are understood
completely and unlikely to radically change.

Application

Every software developed is different and requires a suitable SDLC approach to be followed
based on internal and external factors. Some situations where the use of Waterfall model is most
appropriate are −
●​ Requirements are very well documented, clear and fixed.
●​ Product definition is stable.
●​ Technology is understood and is not dynamic.
●​ There are no ambiguous requirements.
●​ Ample resources with required expertise are available to support the product.
●​ The project is short.
Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

Spiral Software Process Model

A software process model is an abstraction of the software development process. The models
specify the stages and order of a process. So, think of this as a representation of the order of
activities of the process and the sequence in which they are performed.

A model will define the following:

●​ The tasks to be performed


●​ The input and output of each task
●​ The pre and post conditions for each task
●​ The flow and sequence of each task
The goal of a software process model is to provide guidance for controlling and coordinating the
tasks to achieve the end product and objectives as effectively as possible.

Spiral Model:

The spiral model is a risk driven iterative software process model. The spiral model delivers
projects in loops. Unlike other process models, its steps aren’t activities but phases for
addressing whatever problem have the greatest risk of causing a failure.

It was designed to include the best features from the waterfall and introduces risk-assessment.
You have the following phases for each cycle:

1.​ Address the highest-risk problem and determine the objective and alternate solutions
2.​ Evaluate the alternatives and identify the risks involved and possible solutions
3.​ Develop a solution and verify if it’s acceptable
4.​ Plan for the next cycle

You develop the concept in the first few cycles, and then it evolves into an implementation.
Though this model is great for managing uncertainty, it can be difficult to have stable
documentation. The spiral model can be used for projects with unclear needs or projects still in
research and development.
Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

Application

The Spiral Model is widely used in the software industry as it is in sync with the natural
development process of any product, i.e., learning with maturity which involves minimum risk
for the customer as well as the development firms.
The following pointers explain the typical uses of a Spiral Model −
●​ When there is a budget constraint and risk evaluation is important.
●​ For medium to high-risk projects.
●​ Long-term project commitment because of potential changes to economic priorities as
the requirements change with time.
●​ Customer is not sure of their requirements which is usually the case.
●​ Requirements are complex and need evaluation to get clarity.
●​ New product line which should be released in phases to get enough customer feedback.
●​ Significant changes are expected in the product during the development cycle.
Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

Solution:
Comparative Analysis of Spiral and Waterfall Models for Hotel Management System

Spiral Model:​
The Spiral Model works in an iterative manner where the project is developed in small cycles, and
each cycle includes planning, risk analysis, development, and evaluation. It allows changes at any
stage and focuses on reducing risks by building prototypes and taking feedback in every iteration. In
the context of our Hotel Management System, the Spiral Model would help in developing and testing
functionalities like login, booking, payments, and admin dashboard in stages, with feedback after
each cycle. This model is more suitable when requirements are not fully clear or may change during
development.

Waterfall Model:​
The Waterfall Model is a linear and sequential approach where each phase is completed before
moving to the next. It is simple, easy to manage, and works best when the requirements are clearly
defined at the start. In the context of our Hotel Management System, we already have a detailed
Software Requirements Specification (SRS) with both functional and non-functional requirements
defined. This means the development can be done in a structured sequence starting from requirement
gathering, to design, implementation, testing, and deployment.

Selected Model for the Project

Model Name: Waterfall Model

Justification for Choice

We have chosen the Waterfall Model for our Hotel Management System because:

1.​ The SRS document already defines complete functional and non-functional requirements.​

2.​ The project scope is fixed and will not change during development.​

3.​ It is easier to implement and manage in an academic environment.​

4.​ It ensures that all stages are completed systematically, making it more structured and
predictable.
Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

Applying Waterfall Model to Your Project – Stepwise

Step 1 – Requirement Analysis

●​ Gathered requirements from your SRS:​

○​ Functional: Login, Booking, Room Management, Payment, Staff Management, Room


Availability, etc.​

○​ Non-functional: Performance, Security, Usability, Reliability, Maintainability, Compatibility,


Backup.​

●​ Output: Finalized SRS document (the one you already have).​

Step 2 – System Design

●​ High-level design (HLD):​

○​ Database schema (tables: users, roombook, room, payment, staff).​

○​ Module breakdown: Login module, Booking module, Payment module, Admin dashboard.​

●​ Low-level design (LLD):​

○​ UI layouts for Login, Booking Form, Payment Form.​

○​ API endpoints for availability check, booking creation, payment processing.​

Step 3 – Implementation

●​ Develop modules in sequence:​

1.​ Login & Authentication – secure password storage, role-based access.​

2.​ Room Availability – query database to check room availability.​

3.​ Booking – form to select room type, bed type, date range.​

4.​ Payment – calculation of charges, store payment records.​

5.​ Admin Dashboard – room and staff management.​


Vidyavardhini’s College of Engineering & Technology
Department of Computer Engineering

Step 4 – Testing

●​ Unit Testing: Test each module individually.​

●​ Integration Testing: Test module interactions.​

●​ System Testing: Verify full system works as per SRS.​

●​ Acceptance Testing: Check with stakeholders .​

Step 5 – Deployment

●​ Host on local server or university demo server.​

●​ Configure admin and employee accounts.​

Step 6 – Maintenance

●​ Fix bugs reported after deployment.​

●​ Update security.​

●​ Backup database daily.

Conclusion: We have selected suitable process model and designed software process model for our
course project.

You might also like