SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
CSE 2205 Software Engineering
Md. Shafiuzzaman
Lecture #2
Today
• The Software Process Model
Program vs. Software
Documentation
Operating Procedures
SDLC Life Cycle
Why have a model
• A model recognize that Software Engineering is more than
just programming
• Recognize product life cycles
– Various requirements specification phases
– Design phases
– Coding and testing phases
– Maintenance phase (bug fixes and revisions)
More reasons to have a model
• A model helps recognize and define the division of labor
– Individual responsibilities (program managers, software design
engineers, UI designers, testers, product support,
internationalization, marketing, etc.)
– How big should a team be
– Parallel work efforts
– Does a one person team need a model
• Provide a common means of communication between all
involved parties
• Documentation is vital
– Comments in the code is not sufficient documentation
Goals of a good model
• The obvious “Provide a framework for building a solidly
engineered product”
• A paradigm that adds discipline and order to software
development
• Provides a formal mechanism to clarify, track, and modify
the product requirements throughout the product life cycle
• Provide a guideline for engineers to use in the product life
cycle
• Provide feedback into the development cycle
More goals of a good model
• Compel engineers to want to use it
– Doesn’t get in the way
– Convinces them that they will build a better product
– Be easy to understand and use
• Keep everyone organized
• Many more “common sense” reasons
Typical Student Programming
Process
First a simple model (waterfall)
More on the waterfall model
• What it is
– Each phase is carried out completely (for all requirements) before
proceeding to the next
– The process is strictly sequential - no backing up or repeating
phases
• What it tried to accomplish
– Account for more than programming
– Feedback between phases
– A requirement change can have a major cost downstream
More on the waterfall model
• Benefits
– Simple, easy to understand and follow
– Highly structured, therefore good for beginners
– After specification is complete, low customer involvement
required
• Limitations
– Limited feedback increases risk
– Inflexible - can't adapt to changes in requirements
– A requirement change can have a major cost downstream
Prototyping Model
More on prototyping model
• A variation of the waterfall that adds a new phase,
prototyping
• Prototypes intend to reduce risk by building a quick and
dirty replica or mockup of the intended system.
• Demonstrate technical feasibility when the technical risk is
high.
• Used to better understand and elicit user requirements.
• Goal: reduce risk and limit costs by increasing
understanding of proposed solutions before committing
more resources.
Incremental Development
More on incremental
development
• developing an initial implementation
• exposing this to user feedback
• evolving it through several versions until an
acceptable system has been developed.
Incremental Vs Waterfall Model
• cost of accommodating changing
• customer feedback
• rapid delivery
Boehm’s Spiral model
More on the spiral model
• What it is
– An iterative approach where multiple passes are made through
each phase
– During each iteration the system is explored at greater depth and
more detail is added
• What it tried to accomplish
– Recognize that Software Engineering is a process of iterative
refinement
– Allow for alternate designs and implementations
More on the spiral model
• Benefits
– The iterative natures allows for knowledge gained during early
passes to inform subsequent passes
– Requires low up-front commitment
– Manages uncertainty inherent in exploratory projects
– Strong approval and documentation control
– Additional Functionality can be added at a later date
– Software is produced early in the software life cycle
More on the spiral model
• Limitations
– Difficult to establish stable documents
– Things keep getting modified during each iteration
– Too much dependable on Risk Analysis and requires highly
specific expertise
– Spiral may go on indefinitely
– End of the project may not be known early
– May be hard to define objective, verifiable milestones
– Large numbers of intermediate stages require excessive
documentation
When to use Spiral model
• When costs and risk evaluation is important
• For medium to high-risk projects
• Users are unsure of their needs
• Requirements are complex
• New product line
• Significant changes are expected (research and
exploration)
Real Life Examples of software
using spiral model
• Evolution of Microsoft Windows operating
system
SDLC Models
Assignments
• RAD model (Odd Roll Numbers)
• V-Model (Even Roll Numbers)
• Instructions:
– Explain its distinction with others
– Benefits & Limitations
– Where to use
– Real life examples
Next Class
• Iterative Model
• Agile
Lessons from the models
• Each trying to capture or dictate how a project should be
run
• Even a good properly applied model cannot fix a flawed
design
• Not any model offers the 100% solution
• Often borrowing from one or more model is necessary
• Just as Software Engineering is full of compromises so is
using a Software Engineering model
• So take these models with a grain of salt and use only
those parts that apply to your situation

Weitere ähnliche Inhalte

Was ist angesagt?

An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software Development
Geoffrey Weglarz
 
Prototype model and process
Prototype model  and processPrototype model  and process
Prototype model and process
Danish Musthafa
 
Requirements Tool
Requirements ToolRequirements Tool
Requirements Tool
gilashikwa
 

Was ist angesagt? (20)

Agile Requirements Engineering Practices: An Empirical Study
Agile Requirements Engineering Practices: An Empirical StudyAgile Requirements Engineering Practices: An Empirical Study
Agile Requirements Engineering Practices: An Empirical Study
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software Development
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Iterative model
Iterative modelIterative model
Iterative model
 
Prototype model and process
Prototype model  and processPrototype model  and process
Prototype model and process
 
Introduction to SDLC
Introduction to SDLC Introduction to SDLC
Introduction to SDLC
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Evolutionary Software Process Module in Easy Terminology by Taha Shahid
Evolutionary Software Process Module in Easy Terminology by Taha ShahidEvolutionary Software Process Module in Easy Terminology by Taha Shahid
Evolutionary Software Process Module in Easy Terminology by Taha Shahid
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Agile Requirements Engineering by Abdulkerim Corbo
Agile Requirements Engineering by Abdulkerim CorboAgile Requirements Engineering by Abdulkerim Corbo
Agile Requirements Engineering by Abdulkerim Corbo
 
Sdlc
SdlcSdlc
Sdlc
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processes
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
Requirements Tool
Requirements ToolRequirements Tool
Requirements Tool
 
SDLC Waterfall Model
SDLC Waterfall ModelSDLC Waterfall Model
SDLC Waterfall Model
 
Incremental model
Incremental modelIncremental model
Incremental model
 

Ähnlich wie Software Process Model

4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
loloka1
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
NyamburaKinyua
 

Ähnlich wie Software Process Model (20)

2-SE Process Models.pptx
2-SE Process Models.pptx2-SE Process Models.pptx
2-SE Process Models.pptx
 
Software process models
Software process modelsSoftware process models
Software process models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
Process models
Process modelsProcess models
Process models
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Sdlc
SdlcSdlc
Sdlc
 
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.ppt
 

Mehr von Md. Shafiuzzaman Hira

Mehr von Md. Shafiuzzaman Hira (20)

Introduction to Web development
Introduction to Web developmentIntroduction to Web development
Introduction to Web development
 
Software measurement and estimation
Software measurement and estimationSoftware measurement and estimation
Software measurement and estimation
 
Why do we test software?
Why do we test software?Why do we test software?
Why do we test software?
 
Software architectural patterns
Software architectural patternsSoftware architectural patterns
Software architectural patterns
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
 
Class diagram
Class diagramClass diagram
Class diagram
 
State diagram
State diagramState diagram
State diagram
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
 
User stories
User storiesUser stories
User stories
 
C files
C filesC files
C files
 
C pointers
C pointersC pointers
C pointers
 
C structures
C structuresC structures
C structures
 
How to Create Python scripts
How to Create Python scriptsHow to Create Python scripts
How to Create Python scripts
 
Regular expressions using Python
Regular expressions using PythonRegular expressions using Python
Regular expressions using Python
 
Password locker project
Password locker project Password locker project
Password locker project
 
Dictionaries in Python
Dictionaries in PythonDictionaries in Python
Dictionaries in Python
 
Lists in Python
Lists in PythonLists in Python
Lists in Python
 
Manipulating string with Python
Manipulating string with PythonManipulating string with Python
Manipulating string with Python
 
Introducing ict
Introducing ictIntroducing ict
Introducing ict
 
Function in Python
Function in PythonFunction in Python
Function in Python
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Software Process Model

  • 1. CSE 2205 Software Engineering Md. Shafiuzzaman Lecture #2
  • 2. Today • The Software Process Model
  • 7. Why have a model • A model recognize that Software Engineering is more than just programming • Recognize product life cycles – Various requirements specification phases – Design phases – Coding and testing phases – Maintenance phase (bug fixes and revisions)
  • 8. More reasons to have a model • A model helps recognize and define the division of labor – Individual responsibilities (program managers, software design engineers, UI designers, testers, product support, internationalization, marketing, etc.) – How big should a team be – Parallel work efforts – Does a one person team need a model • Provide a common means of communication between all involved parties • Documentation is vital – Comments in the code is not sufficient documentation
  • 9. Goals of a good model • The obvious “Provide a framework for building a solidly engineered product” • A paradigm that adds discipline and order to software development • Provides a formal mechanism to clarify, track, and modify the product requirements throughout the product life cycle • Provide a guideline for engineers to use in the product life cycle • Provide feedback into the development cycle
  • 10. More goals of a good model • Compel engineers to want to use it – Doesn’t get in the way – Convinces them that they will build a better product – Be easy to understand and use • Keep everyone organized • Many more “common sense” reasons
  • 12. First a simple model (waterfall)
  • 13. More on the waterfall model • What it is – Each phase is carried out completely (for all requirements) before proceeding to the next – The process is strictly sequential - no backing up or repeating phases • What it tried to accomplish – Account for more than programming – Feedback between phases – A requirement change can have a major cost downstream
  • 14. More on the waterfall model • Benefits – Simple, easy to understand and follow – Highly structured, therefore good for beginners – After specification is complete, low customer involvement required • Limitations – Limited feedback increases risk – Inflexible - can't adapt to changes in requirements – A requirement change can have a major cost downstream
  • 16. More on prototyping model • A variation of the waterfall that adds a new phase, prototyping • Prototypes intend to reduce risk by building a quick and dirty replica or mockup of the intended system. • Demonstrate technical feasibility when the technical risk is high. • Used to better understand and elicit user requirements. • Goal: reduce risk and limit costs by increasing understanding of proposed solutions before committing more resources.
  • 18. More on incremental development • developing an initial implementation • exposing this to user feedback • evolving it through several versions until an acceptable system has been developed.
  • 19. Incremental Vs Waterfall Model • cost of accommodating changing • customer feedback • rapid delivery
  • 21. More on the spiral model • What it is – An iterative approach where multiple passes are made through each phase – During each iteration the system is explored at greater depth and more detail is added • What it tried to accomplish – Recognize that Software Engineering is a process of iterative refinement – Allow for alternate designs and implementations
  • 22. More on the spiral model • Benefits – The iterative natures allows for knowledge gained during early passes to inform subsequent passes – Requires low up-front commitment – Manages uncertainty inherent in exploratory projects – Strong approval and documentation control – Additional Functionality can be added at a later date – Software is produced early in the software life cycle
  • 23. More on the spiral model • Limitations – Difficult to establish stable documents – Things keep getting modified during each iteration – Too much dependable on Risk Analysis and requires highly specific expertise – Spiral may go on indefinitely – End of the project may not be known early – May be hard to define objective, verifiable milestones – Large numbers of intermediate stages require excessive documentation
  • 24. When to use Spiral model • When costs and risk evaluation is important • For medium to high-risk projects • Users are unsure of their needs • Requirements are complex • New product line • Significant changes are expected (research and exploration)
  • 25. Real Life Examples of software using spiral model • Evolution of Microsoft Windows operating system
  • 27. Assignments • RAD model (Odd Roll Numbers) • V-Model (Even Roll Numbers) • Instructions: – Explain its distinction with others – Benefits & Limitations – Where to use – Real life examples
  • 28. Next Class • Iterative Model • Agile
  • 29. Lessons from the models • Each trying to capture or dictate how a project should be run • Even a good properly applied model cannot fix a flawed design • Not any model offers the 100% solution • Often borrowing from one or more model is necessary • Just as Software Engineering is full of compromises so is using a Software Engineering model • So take these models with a grain of salt and use only those parts that apply to your situation