Professional Documents
Culture Documents
NOTES - CIT 214 - Software Engineering
NOTES - CIT 214 - Software Engineering
1. Waterfall Model
● V - model ● A sequential and linear approach to
- The major drawback of the software development.
waterfall model is we move ● The progress flows steadily (like a
to the next stage only when waterfall) through several distinct
the previous one is finished phases.
and there is no chance to go ● Each stage must be completed
back if something is found before moving to the next.
wrong in later stages.
Phases of the Waterfall Model (RDITDM) Types of System This Model Can Be
1. Requirements Applied
2. Design ● Software Development
3. Implementation ● Product Development
4. Testing ● Web Development
5. Deployment ● Mobile App Development
6. Maintenance ● Game Development
● Engineering Systems
When To Use Waterfall Model ● Biomedical Systems
● fixed requirements are employed ● Data Science and Machine Learning
● definition of a product is constant
● People understand technology 3. Spiral Model
● no unclear prerequisites ● Also known as Boehm’s spiral
● many resources with the necessary model, the spiral development
knowledge model, the risk-driven model, the
● brief project cyclic model, and the incremental,
iterative model.
Types of System This Model Can Be ● It is a combination of Waterfall Model
Applied and Iterative Model.
● Large-scale Software Development ● best suited for complex embedded
Projects product development.
● Safety-Critical Systems ● Phase - Each loop of the spiral.
● Government and Defense Projects
● Projects with well-defined History of Spiral Model
requirements ● Defined by Barry Boehm in his 1988
● Projects with stable requirements article.
● was the first model to explain why
2. Iterative Model the iteration matters.
● refers to an approach where the
development process is divided into Phases of the Spiral Model (PREE)
multiple cycles or iterations. 1. Planning - focuses on defining the
● Each iteration involves a subset of spiral’s objectives, identifying the
the overall development tasks requirements and defining the
(PRAITED): scope.
○ Planning 2. Risk Analysis - identifies all of the
○ Requirements gathering potential risks and then establishes
○ Analysis and design strategies to mitigate those risks.
○ Implementation 3. Evaluation - evaluate the success
○ Testing of the output of the spiral using the
○ Evaluation defined metrics.
○ Deployment 4. Engineering & Development - the
engineers take what was
When To Use Iterative Model documented in the requirements and
● Uncertain or evolving requirements translate it into a functional product.
● Projects with long development
cycles When To Use Spiral Model
● Customer-driven projects ● costs and risk evaluation is
● Highly innovative projects important.
● For medium to high-risk projects.
● Users are unsure of their needs.
● Requirements are complex.
● Significant changes are expected. requirements from the
customer's perspective.
Types of System This Model Can Be ● System Design - detailing
Applied the hardware and
● Microsoft used it to develop early communication setup for the
versions of Windows product.
● Gantt chart software ● Architectural Design -
● NASA’s space shuttle program in the designed with multiple
1970s technical approaches,
considering technical and
Four Fold Procedure financial feasibility.
1. Evaluating the first prototype in ● Module Design - detailed
terms of its strengths, weaknesses, internal designs for system
and risks. modules, known as Low
2. Defining the requirements of the Level Design (LLD), are
second prototype specified.
3. Planning and designing the second ● Coding - system modules
prototype are developed using chosen
4. Constructing and testing the second programming languages and
Prototype guidelines.
9. DevOps
● combines development and
operations to increase the efficiency,
speed, and security of software
development and delivery compared
to traditional processes.