SlideShare a Scribd company logo
1 of 15
Download to read offline
• CSIT142A Software Engineering I
SOFTWARE PROCESS
MODELS
Colegio De San Juan De Letran - Calamba
School of Computer Studies and Technology
Mr. Owen Harvey Balocon
Instructor
BSCS 2-1
1
SOFTWARE DEVELOPMENT LIFE CYCLE
The Software Development Life Cycle alludes to a process utilized by the
Software Development Industry for designing, developing, and testing
software solutions. The objective of this process is to develop high-
quality software solutions that exceed or meet user expectations within
stipulated time frames. SDLC is also known as a software development
process, which is a framework that defines software development tasks
that are formed at every phase of the development process.
The project follows the process which consists of a detailed plan
elaborating on how to develop, maintain, alter, replace, or enhance the
software solutions. A typical software process consists of multiple stages
such as planning and requirement analysis, defining requirements,
designing a software product architecture, developing the software
solution, testing the project, deploying or maintaining the software in the
market.
SOFTWARE DEVELOPMENT LIFE CYCLE
An Introduction To The Software Process Model
Software processes refer to a coherent set of activities and processes required
for specifying, designing, implementing, and testing the software systems. Any
software process model is the abstract representation and ideation of a process
that can highlight the description of a resembling process for a few specific
perspectives.
There are multiple software processes that majorly involve:
• Specification: It defines which systems would perform what job.
• Design And Implementation: It defines the organization of the software
systems and their subsequent implementation.
• Validation: It checks what the customer wants from the required system.
• Evolution: It involves changing the system corresponding to the user
requirements.
1. Waterfall Model
The Waterfall model
represents a breakdown of
software project activities in
a linear sequential phase.
Each phase of this model
relies on the deliverables of
the previous phase, and it
corresponds to the particular
aspects of the tasks. The
Waterfall model is the first
software process model that
was introduced. This model
is extremely easy to
understand by the
developers.
1. Waterfall Model
Each phase of this model is
completed before the next
phase to avoid the overlapping
among the multiple phases.
The Waterfall model illustrates
the software process in a linear
sequential flow, which means
that any face of the whole
process begins only if the
previous phase is completed.
The approach of this model is
typical for most of the areas of
software engineering design.
It goes from requirements >
design > development > testing
> deployment > maintenance.
2. Iterative Mode
An Iterative software
development life cycle model
does not directly attempt to
begin with a full specification of
the prerequisites. Instead, it
starts by focusing on a
simplified and initial set of user
features and activities. These
features are then progressively
developed to gain complexity
and a broad range of functions
until the expected software
system is finished. While
adopting the Iterative software
model approach, the
philosophy of gradual
incremental development is
also used liberally.
2. Iterative Mode
In simple words, an iterative
approach starts by
implementing and specifying
just a part of the software that
can be reviewed or prioritized
for identifying further
requirements. This process is
repeated with several new
versions of the software for
every iteration. In any
lightweight iterative software
project, the project code
represents the actual source of
system documentation, but in a
critical iterative project, formal
software projection is also
required.
3. V Model
The V model for software
process represents a
development methodology
that can be considered as
an extension of the Waterfall
software model. In this
process, instead of moving
down in a unique and linear
manner, the steps of the
process are bent upwards
soon after the coding phase,
to develop a typical V shape.
3. V Model
This model represents the
relationship between each
phase of the software
development life cycle,
along with the associated
phases of software testing.
The horizontal and vertical
axis of this model represents
time/project completeness
and level of abstraction,
respectively.
4. RAD Model
The Rapid Application
Development Model was first
proposed by IBM in the 1980s.
The critical feature of this model is
the use of powerful development
tools and techniques. A software
project can be implemented using
this model if the project can be
broken down into small modules
wherein each module can be
assigned independently to
separate teams. These modules
can finally be combined to form
the final product. Development of
each module involves the various
basic steps as in the waterfall
model i.e analyzing, designing,
coding, and then testing...
5. Spiral Model
The Spiral model refers to a
test-driven software
development model that was
introduced for superimposing
the shortcomings present in a
conventional Waterfall model.
The Spiral model looks exactly
like a spiral having multiple
loops. The exact number of
spiral loops is unknown and
they can differ from project to
project. The Spiral model
facilitates risk handling
management, and the final
software project is delivered in
the form of loops.
5. Spiral Model
Each loop of the Spiral
model is known as the
phase of the whole software
development process. The
initial phase of the Spiral
model in its early
development stages of the
Waterfall life cycle is
required to develop the final
software product. The total
number of faces required to
develop the software can
differ from project managers
and depends on associated
risks.
6. Agile Model
The Agile model refers to an
umbrella term for a specific set
of practices and methods
based on the values expressed
in the same manifesto. Agile
manifesto represents a way of
thinking that allows businesses
and team members to quickly
innovate and respond to the
ever-changing demands of the
industry while eliminating the
risks. Organizations can use
the Agile methodology with the
help of various available
frameworks such as Kanban,
Lean, Scrum, etc.
6. Agile Model
The Agile development
movement also offers
alternatives to conventional
project management
systems. The Agile model is
typically used in the software
development process for
helping the businesses to
respond proactively,
referring to a group of
software process
methodologies.

More Related Content

Similar to Lecture 1. Software Process Models.pdf

Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi Systemdevinta sari
 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 
Software development models
Software development modelsSoftware development models
Software development modelsAzlan Nawawi
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleKanav Sood
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleAmelia Septia Roza
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)ghayour abbas
 
TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMPutri nadya Fazri
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computingProfessor Thor
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software ModelsReddhi Basu
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process modelsKanchanPatil34
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endangendang setianingsih
 

Similar to Lecture 1. Software Process Models.pdf (20)

Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi System
 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Software development models
Software development modelsSoftware development models
Software development models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Process models
Process modelsProcess models
Process models
 
SDLC
SDLCSDLC
SDLC
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEM
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computing
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development Models
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process models
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endang
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Lecture 1. Software Process Models.pdf

  • 1. • CSIT142A Software Engineering I SOFTWARE PROCESS MODELS Colegio De San Juan De Letran - Calamba School of Computer Studies and Technology Mr. Owen Harvey Balocon Instructor BSCS 2-1 1
  • 2. SOFTWARE DEVELOPMENT LIFE CYCLE The Software Development Life Cycle alludes to a process utilized by the Software Development Industry for designing, developing, and testing software solutions. The objective of this process is to develop high- quality software solutions that exceed or meet user expectations within stipulated time frames. SDLC is also known as a software development process, which is a framework that defines software development tasks that are formed at every phase of the development process. The project follows the process which consists of a detailed plan elaborating on how to develop, maintain, alter, replace, or enhance the software solutions. A typical software process consists of multiple stages such as planning and requirement analysis, defining requirements, designing a software product architecture, developing the software solution, testing the project, deploying or maintaining the software in the market.
  • 4. An Introduction To The Software Process Model Software processes refer to a coherent set of activities and processes required for specifying, designing, implementing, and testing the software systems. Any software process model is the abstract representation and ideation of a process that can highlight the description of a resembling process for a few specific perspectives. There are multiple software processes that majorly involve: • Specification: It defines which systems would perform what job. • Design And Implementation: It defines the organization of the software systems and their subsequent implementation. • Validation: It checks what the customer wants from the required system. • Evolution: It involves changing the system corresponding to the user requirements.
  • 5. 1. Waterfall Model The Waterfall model represents a breakdown of software project activities in a linear sequential phase. Each phase of this model relies on the deliverables of the previous phase, and it corresponds to the particular aspects of the tasks. The Waterfall model is the first software process model that was introduced. This model is extremely easy to understand by the developers.
  • 6. 1. Waterfall Model Each phase of this model is completed before the next phase to avoid the overlapping among the multiple phases. The Waterfall model illustrates the software process in a linear sequential flow, which means that any face of the whole process begins only if the previous phase is completed. The approach of this model is typical for most of the areas of software engineering design. It goes from requirements > design > development > testing > deployment > maintenance.
  • 7. 2. Iterative Mode An Iterative software development life cycle model does not directly attempt to begin with a full specification of the prerequisites. Instead, it starts by focusing on a simplified and initial set of user features and activities. These features are then progressively developed to gain complexity and a broad range of functions until the expected software system is finished. While adopting the Iterative software model approach, the philosophy of gradual incremental development is also used liberally.
  • 8. 2. Iterative Mode In simple words, an iterative approach starts by implementing and specifying just a part of the software that can be reviewed or prioritized for identifying further requirements. This process is repeated with several new versions of the software for every iteration. In any lightweight iterative software project, the project code represents the actual source of system documentation, but in a critical iterative project, formal software projection is also required.
  • 9. 3. V Model The V model for software process represents a development methodology that can be considered as an extension of the Waterfall software model. In this process, instead of moving down in a unique and linear manner, the steps of the process are bent upwards soon after the coding phase, to develop a typical V shape.
  • 10. 3. V Model This model represents the relationship between each phase of the software development life cycle, along with the associated phases of software testing. The horizontal and vertical axis of this model represents time/project completeness and level of abstraction, respectively.
  • 11. 4. RAD Model The Rapid Application Development Model was first proposed by IBM in the 1980s. The critical feature of this model is the use of powerful development tools and techniques. A software project can be implemented using this model if the project can be broken down into small modules wherein each module can be assigned independently to separate teams. These modules can finally be combined to form the final product. Development of each module involves the various basic steps as in the waterfall model i.e analyzing, designing, coding, and then testing...
  • 12. 5. Spiral Model The Spiral model refers to a test-driven software development model that was introduced for superimposing the shortcomings present in a conventional Waterfall model. The Spiral model looks exactly like a spiral having multiple loops. The exact number of spiral loops is unknown and they can differ from project to project. The Spiral model facilitates risk handling management, and the final software project is delivered in the form of loops.
  • 13. 5. Spiral Model Each loop of the Spiral model is known as the phase of the whole software development process. The initial phase of the Spiral model in its early development stages of the Waterfall life cycle is required to develop the final software product. The total number of faces required to develop the software can differ from project managers and depends on associated risks.
  • 14. 6. Agile Model The Agile model refers to an umbrella term for a specific set of practices and methods based on the values expressed in the same manifesto. Agile manifesto represents a way of thinking that allows businesses and team members to quickly innovate and respond to the ever-changing demands of the industry while eliminating the risks. Organizations can use the Agile methodology with the help of various available frameworks such as Kanban, Lean, Scrum, etc.
  • 15. 6. Agile Model The Agile development movement also offers alternatives to conventional project management systems. The Agile model is typically used in the software development process for helping the businesses to respond proactively, referring to a group of software process methodologies.