SlideShare a Scribd company logo
CS 425/625 Software Engineering   Software Processes Based on Chapter 4 of the textbook [SE-8]  Ian Sommerville, Software Engineering, 8 th  Ed., Addison-Wesley, 2006   and on Ch4 PPT presentation from  http://www.software-engin.com/ January 31, 2011 Email id:-ranjeetrdh12@gmail.com
Outline Software Process Models Waterfall model Evolutionary development Component-based software engineering Incremental model Spiral model Software Process Activities Specification Design and implementation Validation Evolution The Rational Unified Process Computer-Aided Software Engineering
Software Process Models Software process  = organized set of activities aimed at building a software system Software process model  = an abstract representation of a software process Fundamental software process activities: Software specification Software design  Software implementation Software validation Software evolution
Software Process Models: Waterfall.. The Waterfall model   [SE-8, Fig 4.1]
Software Process Models: .Waterfall. Main characteristics: Also called  classic software life cycle  or  sequential model Process activities (phases/stages) are clearly separated  After a number of iterations, phases of the life cycle (such as specification and design) are “frozen”
Software Process Models: ..Waterfall Advantages:  Organized approach, provides robust separation of phases Reflects common engineering practice Disadvantages: Doesn’t cope well with changes required by the client  Development teams might wait for each other A working version of the product is available only late Applicability: When requirements are well known and few changes are likely to be needed Can be used also for parts of larger software systems
Software Process Models:  Evolutionary Development… Evolutionary Development model [SE-8, Fig 4.2]
Software Process Models:  .Evolutionary Development.. Main characteristics: The phases of the software construction are interleaved Feedback from the user is used throughout the entire process The software product is refined through many versions   Types of evolutionary development: Exploratory development  Throw-away prototyping
Software Process Models:  ..Evolutionary Development. Advantages: Deals constantly with changes Provides quickly an initial version of the system Involves all development teams Disadvantages: Quick fixes may be involved “ Invisible” process, not well-supported by documentation The system’s structure can be corrupted by continuous change
Software Process Models:  …Evolutionary Development Disadvantages [cont’d]: Special tools and techniques may be necessary The client may have the impression the first version is very close to the final product and thus be less patient Applicability: When requirements are not well understood When the client and the developer agree on a “rapid prototype” that will be thrown away Good for small and medium-sized software systems
Software Process Models:  Component-based Software Engineering… CBSE process model   [SE-8, Fig 4.3]
Software Process Models:  .Component-based Software Engineering.. Main characteristics: Makes intensive use of existing reusable components The focus is on integrating the components rather than on creating them from the scratch
Software Process Models:  ..Component-based Software Engineering. Advantages: Reduces considerably the software to be developed “in-house” Allows faster delivery In principle, more reliable systems, due to using previously tested components
Software Process Models:  …Component-based Software Engineering Disadvantages: Compromises in requirements are needed Less control over the system’s evolution Applicability: When there is a pool of existing components that could satisfy the requirements of the new product  Emerging trend: integration of web services from a range of suppliers
Software Process Models:  Incremental Development… The Incremental model  [SE-8, Fig 4.4]
Software Process Models: .Incremental.. Main characteristics: Hybrid model that combines elements of the waterfall and evolutionary paradigms The specification, design, and  implementation phases are broken in smaller increments
Software Process Models: ..Incremental. Advantages: Provides better support for process iteration Reduces rework in the software construction process Some decisions on requirements may be delayed Allows early delivery of parts of the system Supports easier integration of sub-systems Lower risk of project failure  Delivery priorities can be more easily set
Software Process Models: ...Incremental Disadvantages: Increments need be relatively small Mapping requirements to increments may not be easy Common software facilities may be difficult to identify  Applicability: When it is possible to deliver the system “part-by-part”
Software Process Models: Spiral Model.. Boehm’s Spiral Model   [SE-8, Fig 4.5]
.Software Process Models: Spiral Model. Main characteristics: Also a hybrid model that support process iteration The process is represented as a spiral, each loop in the spiral representing a process phase Four sectors per loop: objective setting, risk assessment and reduction, development and validation, planning Risk is explicitly taken into consideration
Software Process Models: ..Spiral Model Advantages: Risk reduction mechanisms are in place Supports iteration and reflects real-world practices Systematic approach Disadvantages: Requires expertise in risk evaluation and reduction Complex, relatively difficult to follow  strictly  Applicable only to large systems Applicability: Internal development of large systems
Process Activities: Specification Requirements engineering  [SE-8, Fig. 4.6]
Process Activities: Design & Implementation A general model for design [SE-8, Fig 4.7]
Process Activities: Testing.. The debugging process [SE-8, Fig 4.8]
Process Activities: .Testing. The testing process [SE-8, Fig 4.9]
Process Activities: ..Testing Testing phases in the SE process [SE-8, Fig. 4.10]
Process Activities: Evolution System evolution   [SE-8, Fig 4.11]
The Rational Unified Process. RUP phases   [SE-8, Fig 4.12]
. The Rational Unified Process RUP workflows   [SE-8, Fig 4.13]
CASE Classification of CASE technology  [SE-7, Fig 4.14]

More Related Content

PPTX
Notes on agile
PPTX
Software Testing
PDF
Test Life Cycle - Presentation - Important concepts covered
PPTX
Software testing - basics
PPT
Software testing basic concepts
PPTX
Agile Requirements Engineering Practices: An Empirical Study
PPTX
SDLC
PPTX
Session 07 - Estimation Technique
Notes on agile
Software Testing
Test Life Cycle - Presentation - Important concepts covered
Software testing - basics
Software testing basic concepts
Agile Requirements Engineering Practices: An Empirical Study
SDLC
Session 07 - Estimation Technique

What's hot (20)

PPT
03 Modeling Process and Life Cycle
PPTX
Software Process Models
PPTX
Software testing
PPT
Chapter 14
PPTX
(Agile) engineering best practices - What every project manager should know
PPT
Introduction to Software Review
PPTX
Session 03 - SDLC
PPT
want to contact me login to www.stqa.org
PPTX
Eleven step of software testing process
PPT
Testingtechniques And Strategy
PPTX
Basics in software testing
PPTX
Agile testing presentation
PDF
Software Testing Process, Testing Automation and Software Testing Trends
PPSX
Manual testing
PPTX
Rational Quality Manager
PDF
Software Testing Basic Concepts
PPTX
ISTQB - Software development life cycle
PPT
Software validation
PPT
Chapter 15
PPTX
Software testing course - Manual
03 Modeling Process and Life Cycle
Software Process Models
Software testing
Chapter 14
(Agile) engineering best practices - What every project manager should know
Introduction to Software Review
Session 03 - SDLC
want to contact me login to www.stqa.org
Eleven step of software testing process
Testingtechniques And Strategy
Basics in software testing
Agile testing presentation
Software Testing Process, Testing Automation and Software Testing Trends
Manual testing
Rational Quality Manager
Software Testing Basic Concepts
ISTQB - Software development life cycle
Software validation
Chapter 15
Software testing course - Manual
Ad

Similar to UML (20)

PPT
Software Process in Software Engineering SE3
PPT
Soft Eng - Software Process
PPT
PPT
PPT
Software Process Models
PPTX
software Processes
PPTX
Comparison of Software Engineering Models
PPTX
Software Engineering - Lecture 02
PPT
Soft lifecycle
PPTX
what is software Engineering for students
PPT
Se wk3
PDF
Chapter-2 ppt for the MBA 4rh seme6y.pdf
PPTX
Software life cycle models
PPT
Software development life cycle
PPSX
Faisal Incremental Model
PPT
2. Software process
PPT
01lifecycles
PPT
01lifecycles(system development life cycle).ppt
PDF
Softweare Engieering
Software Process in Software Engineering SE3
Soft Eng - Software Process
Software Process Models
software Processes
Comparison of Software Engineering Models
Software Engineering - Lecture 02
Soft lifecycle
what is software Engineering for students
Se wk3
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Software life cycle models
Software development life cycle
Faisal Incremental Model
2. Software process
01lifecycles
01lifecycles(system development life cycle).ppt
Softweare Engieering
Ad

Recently uploaded (20)

PDF
VCE English Exam - Section C Student Revision Booklet
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Business Ethics Teaching Materials for college
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Pharma ospi slides which help in ospi learning
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
VCE English Exam - Section C Student Revision Booklet
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Business Ethics Teaching Materials for college
Final Presentation General Medicine 03-08-2024.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
O5-L3 Freight Transport Ops (International) V1.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
O7-L3 Supply Chain Operations - ICLT Program
Renaissance Architecture: A Journey from Faith to Humanism
Microbial diseases, their pathogenesis and prophylaxis
Pharma ospi slides which help in ospi learning
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Anesthesia in Laparoscopic Surgery in India
Module 4: Burden of Disease Tutorial Slides S2 2025
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
TR - Agricultural Crops Production NC III.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra

UML

  • 1. CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch4 PPT presentation from http://www.software-engin.com/ January 31, 2011 Email id:-ranjeetrdh12@gmail.com
  • 2. Outline Software Process Models Waterfall model Evolutionary development Component-based software engineering Incremental model Spiral model Software Process Activities Specification Design and implementation Validation Evolution The Rational Unified Process Computer-Aided Software Engineering
  • 3. Software Process Models Software process = organized set of activities aimed at building a software system Software process model = an abstract representation of a software process Fundamental software process activities: Software specification Software design Software implementation Software validation Software evolution
  • 4. Software Process Models: Waterfall.. The Waterfall model [SE-8, Fig 4.1]
  • 5. Software Process Models: .Waterfall. Main characteristics: Also called classic software life cycle or sequential model Process activities (phases/stages) are clearly separated After a number of iterations, phases of the life cycle (such as specification and design) are “frozen”
  • 6. Software Process Models: ..Waterfall Advantages: Organized approach, provides robust separation of phases Reflects common engineering practice Disadvantages: Doesn’t cope well with changes required by the client Development teams might wait for each other A working version of the product is available only late Applicability: When requirements are well known and few changes are likely to be needed Can be used also for parts of larger software systems
  • 7. Software Process Models: Evolutionary Development… Evolutionary Development model [SE-8, Fig 4.2]
  • 8. Software Process Models: .Evolutionary Development.. Main characteristics: The phases of the software construction are interleaved Feedback from the user is used throughout the entire process The software product is refined through many versions Types of evolutionary development: Exploratory development Throw-away prototyping
  • 9. Software Process Models: ..Evolutionary Development. Advantages: Deals constantly with changes Provides quickly an initial version of the system Involves all development teams Disadvantages: Quick fixes may be involved “ Invisible” process, not well-supported by documentation The system’s structure can be corrupted by continuous change
  • 10. Software Process Models: …Evolutionary Development Disadvantages [cont’d]: Special tools and techniques may be necessary The client may have the impression the first version is very close to the final product and thus be less patient Applicability: When requirements are not well understood When the client and the developer agree on a “rapid prototype” that will be thrown away Good for small and medium-sized software systems
  • 11. Software Process Models: Component-based Software Engineering… CBSE process model [SE-8, Fig 4.3]
  • 12. Software Process Models: .Component-based Software Engineering.. Main characteristics: Makes intensive use of existing reusable components The focus is on integrating the components rather than on creating them from the scratch
  • 13. Software Process Models: ..Component-based Software Engineering. Advantages: Reduces considerably the software to be developed “in-house” Allows faster delivery In principle, more reliable systems, due to using previously tested components
  • 14. Software Process Models: …Component-based Software Engineering Disadvantages: Compromises in requirements are needed Less control over the system’s evolution Applicability: When there is a pool of existing components that could satisfy the requirements of the new product Emerging trend: integration of web services from a range of suppliers
  • 15. Software Process Models: Incremental Development… The Incremental model [SE-8, Fig 4.4]
  • 16. Software Process Models: .Incremental.. Main characteristics: Hybrid model that combines elements of the waterfall and evolutionary paradigms The specification, design, and implementation phases are broken in smaller increments
  • 17. Software Process Models: ..Incremental. Advantages: Provides better support for process iteration Reduces rework in the software construction process Some decisions on requirements may be delayed Allows early delivery of parts of the system Supports easier integration of sub-systems Lower risk of project failure Delivery priorities can be more easily set
  • 18. Software Process Models: ...Incremental Disadvantages: Increments need be relatively small Mapping requirements to increments may not be easy Common software facilities may be difficult to identify Applicability: When it is possible to deliver the system “part-by-part”
  • 19. Software Process Models: Spiral Model.. Boehm’s Spiral Model [SE-8, Fig 4.5]
  • 20. .Software Process Models: Spiral Model. Main characteristics: Also a hybrid model that support process iteration The process is represented as a spiral, each loop in the spiral representing a process phase Four sectors per loop: objective setting, risk assessment and reduction, development and validation, planning Risk is explicitly taken into consideration
  • 21. Software Process Models: ..Spiral Model Advantages: Risk reduction mechanisms are in place Supports iteration and reflects real-world practices Systematic approach Disadvantages: Requires expertise in risk evaluation and reduction Complex, relatively difficult to follow strictly Applicable only to large systems Applicability: Internal development of large systems
  • 22. Process Activities: Specification Requirements engineering [SE-8, Fig. 4.6]
  • 23. Process Activities: Design & Implementation A general model for design [SE-8, Fig 4.7]
  • 24. Process Activities: Testing.. The debugging process [SE-8, Fig 4.8]
  • 25. Process Activities: .Testing. The testing process [SE-8, Fig 4.9]
  • 26. Process Activities: ..Testing Testing phases in the SE process [SE-8, Fig. 4.10]
  • 27. Process Activities: Evolution System evolution [SE-8, Fig 4.11]
  • 28. The Rational Unified Process. RUP phases [SE-8, Fig 4.12]
  • 29. . The Rational Unified Process RUP workflows [SE-8, Fig 4.13]
  • 30. CASE Classification of CASE technology [SE-7, Fig 4.14]