SlideShare a Scribd company logo
SOFTWARE ENGINEERING
Contents
• Software Engineering
• Software Process
• Waterfall Model
• Agile Process
• Extreme Programming(XP)
Software Engineering
What is Software Engineering?
Software engineering is the field of computer science that focuses on designing, developing, testing, and
maintaining software systems in a structured, efficient, and reliable way. It applies engineering principles to
software creation, aiming to produce high-quality software that meets user needs, is maintainable, and
performs well.
Key Aspects of Software Engineering
Requirements Analysis – Understanding what the users and stakeholders need from the software.
Design – Planning the architecture and components of the software before building it.
Implementation (Coding) – Writing the actual code using programming languages.
Testing – Checking for bugs, errors, and ensuring the software behaves as expected.
Deployment – Releasing the software to users.
Software Process
Software Process
• Requirement Gathering & Analysis
Understand what the client needs.
• System Design
Plan how the software will work (architecture, components, database, etc.).
• Implementation (Coding)
Developers write code based on the design.
• Testing
Validate and verify the software to find bugs and ensure it meets requirements.
Types: Unit testing, integration testing, system testing, user acceptance testing (UAT).
• Deployment
Make the software available to users (production release).
Could be released all at once or incrementally.
• Maintenance
Fix bugs, update software, add features as user needs change.
This is often the longest phase in a software product’s life.
Waterfall Model
Importance of Waterfall Model:
Clarity and Simplicity: The linear form of the Waterfall Model offers a simple and unambiguous
foundation for project development.
Clearly Defined Phases: The Waterfall Model phases each have unique inputs and outputs,
guaranteeing a planned development with obvious checkpoints.
Documentation: A focus on thorough documentation helps with software comprehension, maintenance,
and future growth.
Stability in Requirements: Suitable for projects when the requirements are clear and stable, reducing
modifications as the project progresses.
Resource Optimization: It encourages effective task-focused work without continuously changing
contexts by allocating resources according to project phases.
Relevance for Small Projects: Economical for modest projects with simple specifications and minimal
complexity.
Example of Waterfall Model
Here we can take a Real world example of the Waterfall Model.
Agile Model
What is Agile Model?
The Agile Model was primarily designed to help a project adapt quickly to change requests. So, the main aim of the
Agile model is to facilitate quick project completion. To accomplish this task, it's important that agility is required.
Agility is achieved by fitting the process to the project and removing activities that may not be essential for a specific
project.
Also, anything that is a waste of time and effort is avoided. The Agile Model refers to a group of development
processes. These processes share some basic characteristics but do have certain subtle differences among themselves.
Steps in Agile Model
1. Requirement Gathering
2. Design the Requirements
3. Construction / Iteration
4. Testing / Quality Assurance
5. Deployment
6. Feedback
Agile Process
Agile Principles
Customer satisfaction through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development.
Deliver working software frequently, from a couple of weeks to a couple of months.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
Face-to-face conversation is the most effective way of conveying information.
Working software is the primary measure of progress.
Agile processes promote sustainable development – teams should be able to maintain
a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity—the art of maximizing the amount of work not done—is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
Regularly reflect on how to become more effective, then adjust behavior accordingly
ADVANTAGES OF AGILE MODEL
Fast delivery
Flexibility
Collaboration
Empowered teams
Continuous improvement
Extreme Programming(XP)
• An agile development methodology XP is a lightweight methodology for small to medium-sized
teams developing software in the face of vague or rapidly changing requirements
• Deliver software to the customer in short (2 week) iterations
• Eliminate defects early, thus reducing costs
• Extreme Programming uses an object-oriented approach as its preferred development paradigm and
encompasses a set of rules and practices that occur within the context of four framework activities:
planning, design, coding, and testing
Software EngineeringPPT____________.pptx
Extreme Programming Pratices
Small Releases :
 Small in terms of functionality
 releases happen more frequently
Advantages
 Frequent feedback
 Tracking
Disadvantages
 Not easy for all projects
 Not needed for all projects
Simple Design:
 Keep it simple
 Do as little as needed, nothing more
Advantages
 Easier to understand what is going on
 Refactoring and collective ownership is made possible
 Helps keeps programmers on track
Disadvantages
 Simple is not always best
Testing :
 Unit testing
 All automated
Advantages
 Unit testing promote testing completeness
 Test-first gives developers a goal
 Automation gives a suite of regression test
Disadvantages
 Automated unit testing isn’t for everything
 Reliance on unit testing isn’t a good idea
Refactoring :
 Changing how the system does something but not what is done
 Improves the quality of the system in some way
Advantages
 Prompts developers to proactively improve the product as a whole
 Increases developer knowledge of the system
Disadvantages
 Not everyone is capable of refactoring
 Refactoring may not always be appropriate
Pair Programming:
 Two Developers, One monitor, One Keyboard
 One “drives” and the other thinks
 Switch roles as needed
Advantages
 Two heads are better than one
 Focus
Disadvantages
 Many tasks really don’t require two programmers
 A hard sell to the customers
Collective Ownership :
 The idea that all developers own all of the code
 Enables refactoring
Advantages
 Helps mitigate the loss of a team member leaving
 Promotes developers to take responsibility for the system as awhole rather then parts of the system
Disadvantages
 Loss of accountability
 Limitation to how much of a large system that an individual canpractically “own”
Continuous Integration:
 New features and changes are worked into the system immediately
 Code is not worked on without being integrated for more than a day
Advantages
 Reduces to lengthy process
 Enables the Small Releases practice
Disadvantages
 The one day limit is not always practical
 Reduces the importance of a well-thought-out architecture
On-Site Customer :
 Acts to “steer” the project
 Gives quick and continuous feedback to the development team
Advantages
 Can give quick and knowledgeable answers to real development questions
 Makes sure that what is developed is what is needed
 Functionality is prioritized correctly
Disadvantages
 Difficult to get an On-Site Customer
 The On-Site customer that is given may not be fully knowledgeable about what the company


More Related Content

PPTX
agile modeling in project management.pptx
RahatUllah55
 
PDF
What is agile model?Working of agile model
zoomers
 
PPT
Introduction to Software Engineering
Sibel Kuzgun AKIN
 
PPT
Soft lifecycle
sathyakamsundher30
 
PPTX
Soft.Engg. UNIT 1.pptx
Kalpna Saharan
 
PPTX
Introduction to Software Engineering
Saqib Raza
 
PDF
Lect7
Sulman Ahmed
 
PDF
Lect7
Sulman Ahmed
 
agile modeling in project management.pptx
RahatUllah55
 
What is agile model?Working of agile model
zoomers
 
Introduction to Software Engineering
Sibel Kuzgun AKIN
 
Soft lifecycle
sathyakamsundher30
 
Soft.Engg. UNIT 1.pptx
Kalpna Saharan
 
Introduction to Software Engineering
Saqib Raza
 

Similar to Software EngineeringPPT____________.pptx (20)

PPTX
Chapter 5
TehreemSaleem5
 
PDF
Chapter 2
KaiEnTee1
 
PPTX
Object Oriented Software engineering.pptx
SowmiyaN23
 
PPT
Agile Software Development in Bachelor of Computer Applications.ppt
JASVEERSINGHVU21CSCI
 
PPT
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
PPT
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
PPTX
module I.pptx
NitinManne
 
PDF
Chapter 2 of advanced Software Process.pdf
MohamedAhmed686097
 
PPTX
Software Development Process Models (SCRUM Methodology)
Muhammad Ahmed
 
PPTX
An agile privacy preservation solution for iot based smart City t
dudekulamuntaz18
 
PDF
Chapter 1 Introduction to Software Engineering and Process Models.pdf
MeghaGupta952452
 
PPTX
Unit 1 Software Engineering and Development Models .pptx
reallifeidiota
 
PPTX
Agile Development unleashed
livgeni
 
PPTX
Agile software development
pradeeppatelpmp
 
PPTX
Hardware Firewall with all the detail of
AssadLeo1
 
PPTX
Agile Software Development Methodologies
Pradeep Patel, PMP®
 
PPT
Unit -1.ppt
SolankiSahil3
 
PPTX
Agile with process 3 best for all types of
AssadLeo1
 
PPTX
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
PDF
L5555555555555555555555 Agile Scrum Framework.pdf
rahulprasad894389
 
Chapter 5
TehreemSaleem5
 
Chapter 2
KaiEnTee1
 
Object Oriented Software engineering.pptx
SowmiyaN23
 
Agile Software Development in Bachelor of Computer Applications.ppt
JASVEERSINGHVU21CSCI
 
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
20IT402 - SOFTWARE ENGINEERING ALL UNITS PPT
GeethaRRaj
 
module I.pptx
NitinManne
 
Chapter 2 of advanced Software Process.pdf
MohamedAhmed686097
 
Software Development Process Models (SCRUM Methodology)
Muhammad Ahmed
 
An agile privacy preservation solution for iot based smart City t
dudekulamuntaz18
 
Chapter 1 Introduction to Software Engineering and Process Models.pdf
MeghaGupta952452
 
Unit 1 Software Engineering and Development Models .pptx
reallifeidiota
 
Agile Development unleashed
livgeni
 
Agile software development
pradeeppatelpmp
 
Hardware Firewall with all the detail of
AssadLeo1
 
Agile Software Development Methodologies
Pradeep Patel, PMP®
 
Unit -1.ppt
SolankiSahil3
 
Agile with process 3 best for all types of
AssadLeo1
 
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
L5555555555555555555555 Agile Scrum Framework.pdf
rahulprasad894389
 
Ad

Recently uploaded (20)

PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PDF
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PPTX
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
PPTX
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
PPTX
Care of patients with elImination deviation.pptx
AneetaSharma15
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
Software Engineering BSC DS UNIT 1 .pptx
Dr. Pallawi Bulakh
 
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
Care of patients with elImination deviation.pptx
AneetaSharma15
 
Ad

Software EngineeringPPT____________.pptx

  • 2. Contents • Software Engineering • Software Process • Waterfall Model • Agile Process • Extreme Programming(XP)
  • 3. Software Engineering What is Software Engineering? Software engineering is the field of computer science that focuses on designing, developing, testing, and maintaining software systems in a structured, efficient, and reliable way. It applies engineering principles to software creation, aiming to produce high-quality software that meets user needs, is maintainable, and performs well. Key Aspects of Software Engineering Requirements Analysis – Understanding what the users and stakeholders need from the software. Design – Planning the architecture and components of the software before building it. Implementation (Coding) – Writing the actual code using programming languages. Testing – Checking for bugs, errors, and ensuring the software behaves as expected. Deployment – Releasing the software to users.
  • 5. Software Process • Requirement Gathering & Analysis Understand what the client needs. • System Design Plan how the software will work (architecture, components, database, etc.). • Implementation (Coding) Developers write code based on the design. • Testing Validate and verify the software to find bugs and ensure it meets requirements. Types: Unit testing, integration testing, system testing, user acceptance testing (UAT). • Deployment Make the software available to users (production release). Could be released all at once or incrementally. • Maintenance Fix bugs, update software, add features as user needs change. This is often the longest phase in a software product’s life.
  • 7. Importance of Waterfall Model: Clarity and Simplicity: The linear form of the Waterfall Model offers a simple and unambiguous foundation for project development. Clearly Defined Phases: The Waterfall Model phases each have unique inputs and outputs, guaranteeing a planned development with obvious checkpoints. Documentation: A focus on thorough documentation helps with software comprehension, maintenance, and future growth. Stability in Requirements: Suitable for projects when the requirements are clear and stable, reducing modifications as the project progresses. Resource Optimization: It encourages effective task-focused work without continuously changing contexts by allocating resources according to project phases. Relevance for Small Projects: Economical for modest projects with simple specifications and minimal complexity. Example of Waterfall Model Here we can take a Real world example of the Waterfall Model.
  • 8. Agile Model What is Agile Model? The Agile Model was primarily designed to help a project adapt quickly to change requests. So, the main aim of the Agile model is to facilitate quick project completion. To accomplish this task, it's important that agility is required. Agility is achieved by fitting the process to the project and removing activities that may not be essential for a specific project. Also, anything that is a waste of time and effort is avoided. The Agile Model refers to a group of development processes. These processes share some basic characteristics but do have certain subtle differences among themselves. Steps in Agile Model 1. Requirement Gathering 2. Design the Requirements 3. Construction / Iteration 4. Testing / Quality Assurance 5. Deployment 6. Feedback
  • 10. Agile Principles Customer satisfaction through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Deliver working software frequently, from a couple of weeks to a couple of months. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. Face-to-face conversation is the most effective way of conveying information. Working software is the primary measure of progress. Agile processes promote sustainable development – teams should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity—the art of maximizing the amount of work not done—is essential. The best architectures, requirements, and designs emerge from self-organizing teams. Regularly reflect on how to become more effective, then adjust behavior accordingly
  • 11. ADVANTAGES OF AGILE MODEL Fast delivery Flexibility Collaboration Empowered teams Continuous improvement
  • 12. Extreme Programming(XP) • An agile development methodology XP is a lightweight methodology for small to medium-sized teams developing software in the face of vague or rapidly changing requirements • Deliver software to the customer in short (2 week) iterations • Eliminate defects early, thus reducing costs • Extreme Programming uses an object-oriented approach as its preferred development paradigm and encompasses a set of rules and practices that occur within the context of four framework activities: planning, design, coding, and testing
  • 14. Extreme Programming Pratices Small Releases :  Small in terms of functionality  releases happen more frequently Advantages  Frequent feedback  Tracking Disadvantages  Not easy for all projects  Not needed for all projects Simple Design:  Keep it simple  Do as little as needed, nothing more Advantages  Easier to understand what is going on  Refactoring and collective ownership is made possible  Helps keeps programmers on track Disadvantages  Simple is not always best
  • 15. Testing :  Unit testing  All automated Advantages  Unit testing promote testing completeness  Test-first gives developers a goal  Automation gives a suite of regression test Disadvantages  Automated unit testing isn’t for everything  Reliance on unit testing isn’t a good idea Refactoring :  Changing how the system does something but not what is done  Improves the quality of the system in some way Advantages  Prompts developers to proactively improve the product as a whole  Increases developer knowledge of the system Disadvantages  Not everyone is capable of refactoring  Refactoring may not always be appropriate
  • 16. Pair Programming:  Two Developers, One monitor, One Keyboard  One “drives” and the other thinks  Switch roles as needed Advantages  Two heads are better than one  Focus Disadvantages  Many tasks really don’t require two programmers  A hard sell to the customers Collective Ownership :  The idea that all developers own all of the code  Enables refactoring Advantages  Helps mitigate the loss of a team member leaving  Promotes developers to take responsibility for the system as awhole rather then parts of the system Disadvantages  Loss of accountability  Limitation to how much of a large system that an individual canpractically “own”
  • 17. Continuous Integration:  New features and changes are worked into the system immediately  Code is not worked on without being integrated for more than a day Advantages  Reduces to lengthy process  Enables the Small Releases practice Disadvantages  The one day limit is not always practical  Reduces the importance of a well-thought-out architecture On-Site Customer :  Acts to “steer” the project  Gives quick and continuous feedback to the development team Advantages  Can give quick and knowledgeable answers to real development questions  Makes sure that what is developed is what is needed  Functionality is prioritized correctly Disadvantages  Difficult to get an On-Site Customer  The On-Site customer that is given may not be fully knowledgeable about what the company 