Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
PRATICAL: 1
AIM: Describe various software development models with appropriate diagram.
1. WATERFALL MODEL
Waterfall model is a famous and good version of SDLC(System Development Life
Cycle) for software engineering. The waterfall model is a linear and sequential
model, which means that a development phase cannot begin until the previous
phase is completed. We cannot overlap phases in waterfall model.
Requirement phase:- Requirement phase is the first phase of the waterfall
model. In this phase the requirements of the system are collected and
documented. This phase is very crucial because the next phases are based on this
phase.
Design phase:- Design phase is based on the fact how the software will be built.
The main objective of the design phase is to prepare the blueprint of the
software system so that no problems are faced in the coming phases and
solutions to all the requirements in the requirement phase are found.
Implementation phase:- In this phase, hardware, software and application
programs are installed and the database design is implemented. Before the
Introduction to Software Engineering (4340702)Page 1
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
database design can be implemented, the software has to go through a testing,
coding, and debugging process. This is the longest lasting phase in waterfall.
Verification phase:- In this phase the software is verified and it is evaluated that
we have created the right product. In this phase, various types of testing are
done and every area of the software is checked. It is believed that if we do not
verify the software properly and there is any defect in it then no one will use it,
hence verification is very important. One advantage of verification is that it
reduces the risk of software failure.
Maintenance phase:- This is the last phase of waterfall. When the system is
ready and users start using it, then the problems that arise have to be solved
time-to-time. Taking care of the finished software and maintaining it as per time
is called maintenance.
Advantages of Waterfall Model:-
This model is simple and easy to understand.
This is very useful for small projects.
This model is easy to manage.
The end goal is determined early.
Each phase of this model is well explained.
It provides a structured way to do things.
This is a base model, all the SDLC models that came after this were created
keeping this in mind, although they worked to remove its shortcomings.
In this model, we can move to the next phase only after the first phase is
successfully completed so that there is no overlapping between the phases.
Disadvantages of Waterfall Model:-
Introduction to Software Engineering (4340702)Page 2
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
In this model, complete and accurate requirements are expected at the
beginning of the development process.
Working software is not available for very long during the development life cycle.
We cannot go back to the previous phase due to which it is very difficult to
change the requirements.
Risk is not assessed in this, hence there is high risk and uncertainty in this model.
In this the testing period comes very late.
Due to its sequential nature this model is not realistic in today's world.
This is not a good model for large and complex projects.
2. INCREMENTAL MODEL
In Incremental Model, the software development process is divided into several
increments and the same phases are followed in each increment. In simple
language, under this model a complex project is developed in many modules or
builds.
For example, we collect the customer's requirements, now instead of making the
entire software at once, we first take some requirements and based on them
create a module or function of the software and deliver it to the customer. Then
we take some more requirements and based on them add another module to
that software.
Similarly, modules are added to the software in each increment until the
complete system is created. However, the requirements for making a complex
project in multiple iterations/parts should be clear.
If we understand the entire principle of Incremental methodology, then it starts
by developing an initial implementation, then user feedback is taken on it, and it
is developed through several versions until an accepted system is developed.
Important functionalities of the software are developed in the initial iterations.
Introduction to Software Engineering (4340702)Page 3
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
Communication: In the first phase, we talk face to face with the customer and
collect his mandatory requirements. Like what functionalities does the customer
want in his software, etc.
Planning: In this phase the requirements are divided into multiple modules and
planning is done on their basis.
Modeling: In this phase the design of each module is prepared. After the design
is ready, we take a particular module among many modules and save it in DDS
(Design Document Specification). Diagrams like ERDs and DFDs are included in
this document.
Construction: Here we start construction based on the design of that particular
module. That is, the design of the module is implemented in coding. Once the
code is written, it is tested.
Deployment: After the testing of the code is completed, if the module is working
properly then it is given to the customer for use. After this, the next module is
developed through the same phases and is combined with the previous module.
This makes new functionality available to the customer. This will continue until
complete modules are developed.
Advantages of Incremental Model
Introduction to Software Engineering (4340702)Page 4
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
Important modules/functions are developed first and then the rest are added in
chunks.
Working software is prepared quickly and early during the software development
life cycle (SDLC).
This model is flexible and less expensive to change requirements and scope.
The customer can respond to each module and provide feedback if any changes
are needed.
Project progress can be measured.
It is easier to test and debug during a short iteration.
Errors are easy to identify.
Disadvantages of Incremental Model
Management is a continuous activity that must be handled.
Before the project can be dismantled and built incrementally,
The complete requirements of the software should be clear.
This requires good planning and designing.
The total cost of this model is higher.
3. SPIRAL MODEL
Spiral model is a software development process model. This model has
characteristics of both iterative and waterfall models. This model is used in
projects which are large and complex. This model was named spiral because if
we look at its figure, it looks like a spiral, in which a long curved line starts
from the center point and makes many loops around it. The number of loops
in the spiral is not decided in advance but it depends on the size of the project
and the changing requirements of the user. We also call each loop of the
spiral a phase of the software development process.
Introduction to Software Engineering (4340702)Page 5
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
A software project goes through these loops again and again in iterations.
After each iteration a more and more complete version of the software is
developed. The most special thing about this model is that risks are identified
in each phase and they are resolved through prototyping. This feature is also
called Risk Handling.
Those phases are as follows:-
Determining objectives and alternate solutions: In the first phase, whatever
requirements the customer has related to the software are collected. On the
basis of which objectives are identified and analyzed and various alternative
solutions are proposed.
Identifying and resolving risks: In this phase, all the proposed solutions are
assessed and the best solution is selected. Now that solution is analyzed and
the risks related to it are identified. Now the identified risks are resolved
through some best strategy.
Develop and test: Now the development of software is started. In this phase
various features are implemented, that is, their coding is done. Then those
features are verified through testing.
Review and plan for the next phase: In this phase the developed version of
the software is given to the customer and he evaluates it. Gives his feedback
Introduction to Software Engineering (4340702)Page 6
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
and tells new requirements. Finally planning for the next phase (next spiral) is
started.
Advantages of Spiral Model
If we have to add additional functionality or make any changes to the
software, then through this model we can do so in the later stages also.
Spiral model is suitable for large and complex projects.
It is easy to estimate how much the project will cost.
Risk analysis is done in each phase of this model.
The customer can see the look of his software only in the early stages of the
development process.
Since continuous feedback is taken from the customer during the
development process, the chances of customer satisfaction increases.
Disadvantage of Spiral Model
This is the most complex model of SDLC, due to which it is quite difficult to
manage.
This model is not suitable for small projects.
The cost of this model is quite high.
It requires more documentation than other models.
Experienced experts are required to evaluate and review the project from
time to time.
Using this model, the success of the project depends greatly on the risk
analysis phase.
Introduction to Software Engineering (4340702)Page 7
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
PRACTICAL 2
AIM: Write problem statement to define the project title with bounded scope of
the project.
Problem Statement:
Efficient management of bus ticket reservations is essential to ensure seamless
operations, customer satisfaction, and optimized resource utilization in the
transportation industry. However, traditional or outdated reservation systems often
face challenges such as manual errors, overbooking, delayed ticket confirmations,
and poor coordination between passengers and operators. These inefficiencies can
lead to customer dissatisfaction, financial losses, and underutilized fleet resources.
This project aims to analyze the functionality, limitations, and benefits of a Bus
Ticket Reservation System (BTRS) by conducting a case study. The study will
evaluate how such systems streamline essential operations, including ticket booking,
seat allocation, cancellation management, and payment processing. By identifying
key features, implementation strategies, and challenges, this project will provide
actionable insights into improving the efficiency and effectiveness of bus ticket
reservation systems.
Scope of the Project:
1. Core Features Analysis:
o Online and offline ticket booking processes.
o Seat availability and real-time updates.
o Ticket cancellation and refund mechanisms.
o Payment gateway integration.
2. Operational Aspects:
o Integration of the BTRS with fleet management systems.
o Coordination between operators, drivers, and passengers.
o Reporting and analytics for occupancy rates, revenue, and customer
preferences.
3. Case Study Approach:
o Analysis of an existing Bus Ticket Reservation System in a real-world
bus service provider.
o Identification of system strengths, weaknesses, and improvement
opportunities.
o Study of customer satisfaction and operational efficiency metrics.
Introduction to Software Engineering (4340702)Page 8
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
4. Limitations:
o Focus on small to medium-sized bus operators (excluding large-scale or
multinational transportation networks).
o Excludes technical development of the BTRS; focuses on operational
and functional aspects.
5. Deliverables:
o A detailed case study report on the effectiveness of the BTRS.
o Recommendations for optimizing BTRS adoption and operations
Introduction to Software Engineering (4340702)Page 9
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
PRACTICAL 3
AIM: Select relevant process model to define activities and related tasks set
for assigned project
Relevant Process Model: Waterfall Model
The Waterfall Model is a suitable choice for your project, "Case Study on Bus
Ticket Reservation System," due to its structured and linear nature. This model
allows for systematic progression through distinct phases, ensuring clarity and focus
for the research and analysis involved in the case study.
Activities and Related Task Set
1. Requirements Gathering and Understanding
Tasks:
o Define the objectives of the case study.
o Identify stakeholders (e.g., passengers, bus operators, reservation
staff).
o Understand the existing bus ticket reservation processes and their
challenges.
o Collect relevant data such as system documentation, workflows, and
user feedback.
o Establish the scope and boundaries of the case study (e.g., focus on
small/medium operators).
2. System Analysis
Tasks:
o Analyze the current reservation system (manual or automated).
o Identify operational challenges like double bookings, inefficiencies, and
errors.
o Evaluate system features such as booking, cancellation, refund
processing, and seat allocation.
Introduction to Software Engineering (4340702)Page 10
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
o Investigate customer satisfaction metrics and operational KPIs (e.g.,
booking speed, error rates).
3. Workflow Representation and Design (Case Study Scope)
Tasks:
o Create a visual representation of the current ticket reservation process.
o Highlight key pain points and areas for improvement.
o Propose an optimized workflow or design that could resolve these
issues (if applicable).
o Include key modules like:
Online and offline booking.
Seat availability tracking.
Payment integration.
Reporting and analytics.
4. Data Collection and Documentation
Tasks:
o Conduct interviews or surveys with stakeholders (e.g., operators,
customers).
o Gather quantitative data on system performance (e.g., booking times,
error rates).
o Compare existing practices with industry standards or similar systems.
o Document findings with supporting evidence and examples.
5. Case Study Report Development
Tasks:
o Compile a detailed report, including:
Introduction to the case study and objectives.
Analysis of the current reservation system.
Identified challenges and proposed improvements.
Recommendations for optimizing the bus ticket reservation
process.
Introduction to Software Engineering (4340702)Page 11
Enrollment No:236010307006 Batch:CO1
Name:Badat Rizwan Ishak
o Include visual aids (e.g., process flow diagrams, graphs).
o Provide references and data sources.
6. Validation and Review
Tasks:
o Present findings to project stakeholders for feedback.
o Revise the report based on stakeholder input.
o Validate recommendations through feasibility analysis or comparisons
with similar systems.
7. Final Delivery and Presentation
Tasks:
o Prepare the final case study document.
o Develop a presentation summarizing key findings and
recommendations.
o Deliver the final report and presentation to stakeholders.
Introduction to Software Engineering (4340702)Page 12