SlideShare a Scribd company logo
1 of 43
Course Code: 331
Lecture 02
Software Life Cycle

 “What happens in the „life‟ of software”
The software process


 A structured set of activities required to develop a
software system.
 Many different software processes but all involve:

 Specification – defining what the system should do;
 Design and implementation – defining the organization of
the system and implementing the system;
 Validation – checking that it does what the customer wants;
 Evolution – changing the system in response to changing
customer needs.

 A software process model is an abstract representation of
a process. It presents a description of a process from some
particular perspective.
Software process models

 The waterfall model
 Plan-driven model. Separate and distinct phases of
specification and development.

 Incremental development

 Specification, development and validation are interleaved.
May be plan-driven or agile.

 Reuse-oriented software engineering

 The system is assembled from existing components. May be
plan-driven or agile.

 In practice, most large systems are developed using a
process that incorporates elements from all of these
models.
 There are no right or wrong software processes.
Code and Fix (1950–)

Code and Fix: Issues

 No process steps – no specs, docs, tests…
 No separation of concerns – no teamwork
 No way to deal with complexity
Waterfall Model (1968)

Communication





Characteristics

The classic life cycle - oldest and most widely
used paradigm
Known as “Linear sequential model”
Activities „flow‟ from one phase to another
If there are corrections, return to a previous
phase and „flow‟ from there again
Major advantages: Good for planning and
well-defined/repeated projects
Drawbacks

Real projects rarely follow a sequential flow
Hard to state all requirements explicitly
No maintenance or evolution involved
Customer must have patience
Any blunder can be disastrous
Leads to “blocking states”
Boehm‟s first law

Problem Cost

Incremental Model

Incremental Model

 Each linear sequence produces a particular
“increment” to the software
 First increment typically core product; more features
added by later increments
 Allows flexible allocation of resources
Characteristics

 Software separated into different “increments” complete working portions
 Focus on delivery of operational product with each
increment - can be evaluated
 Useful when insufficient staff and can be planned to
manage technical risks, e.g. waiting for new
hardware
Benefits

 The cost of accommodating changing customer
requirements is reduced.
 It is easier to get customer feedback on the
development work that has been done.
 More rapid delivery and deployment of useful
software to the customer is possible.
Drawbacks

 The process is not visible.
 Managers need regular deliverables to measure
progress. If systems are developed quickly, it is not
cost-effective to produce documents that reflect every
version of the system.

 System structure tends to degrade as new increments
are added.
 Unless time and money is spent on refactoring to
improve the software, regular change tends to corrupt
its structure. Incorporating further software changes
becomes increasingly difficult and costly.
Prototyping

Prototypes

Horizontal Prototype

Vertical Prototype

Prototypes

 A horizontal prototype tests a particular layer
(typically the GUI) of the system
 A vertical prototype tests a particular functionality
across all layers
Characteristics

 Developer and customer determine objectives and
draft requirements
 Prototype quickly produced and evaluated by
customer
 Prototype then refined, and re-evaluated
 Process iterated, before final product development
 Advantages: Customer participation and better
requirements
Drawbacks

 Customer may see prototype as working model and
expects fast results
 Developer compromised when producing prototype
quickly, e.g. different operating system or
programming language
Spiral Model (1988)

Spiral Model

 System is developed in series of evolutionary
releases
 Milestones for each iteration of the spiral
 Process does not end with delivery
 Reflects iterative nature of development
Characteristics

 Originally proposed by Boehm, couples iterative
nature of prototyping and the systematic aspects of
waterfall model
 Software is developed in series of incremental
releases
 Each iteration produces a more complete product
 Better management through risk analysis(Modeling)
Drawbacks

 May be difficult to convince customers that
evolution is controllable
 Demands risk assessment expertise - major risk will
cause problems if not identified
 Relatively new and not widely used - cannot
determine performance
Unified Process (1999)







Unified Process

 Draws on best features of conventional process
models
 Emphasizes software architecture and design
 Integrates with UML modeling techniques (more on
this later)
Fourth Generation
Techniques (4GT)
Requirem ents
gathering



"Design"
Strategy
Implementation
using 4GL
Testing
4GT Characteristics

 Use of software tools that allow software engineer to
specify s/w characteristics at higher level
 The tools generate codes based on specification
 More time in design and testing - increase
productivity
 Tools may not be easy to use, codes generated may
not be efficient
Key points


 Software processes are the activities involved in producing a software
system. Software process models are abstract representations of
these processes.
 General process models describe the organization of software
processes. Examples of these general models include the „waterfall‟
model, incremental development, and reuse-oriented development.
 Requirements engineering is the process of developing a software
specification.
 Design and implementation processes are concerned with
transforming a requirements specification into an executable software
system.
 Software validation is the process of checking that the system
conforms to its specification and that it meets the real needs of the
users of the system.
 Software evolution takes place when you change existing software
systems to meet new requirements. The software must evolve to
remain useful.


End

More Related Content

What's hot

Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 

What's hot (20)

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Software engineering model
Software engineering modelSoftware engineering model
Software engineering model
 
Software Development Methodologies
Software Development MethodologiesSoftware Development Methodologies
Software Development Methodologies
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Lecture 5 software process model (3)
Lecture 5   software process model (3)Lecture 5   software process model (3)
Lecture 5 software process model (3)
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
 
1.sdlc
1.sdlc1.sdlc
1.sdlc
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
SDLC
SDLCSDLC
SDLC
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 

Viewers also liked

Rpl 2- sw process model
Rpl 2- sw process modelRpl 2- sw process model
Rpl 2- sw process model
f' yagami
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
Aman Adhikari
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
Piyush Gogia
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
rajesh199155
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
Piyush Gogia
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 

Viewers also liked (20)

Rpl 2- sw process model
Rpl 2- sw process modelRpl 2- sw process model
Rpl 2- sw process model
 
An introduction to agile and beyond
An introduction to agile and beyondAn introduction to agile and beyond
An introduction to agile and beyond
 
Software ee1
Software ee1Software ee1
Software ee1
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
 
Lecture 05 Software Quality Management
Lecture 05 Software Quality ManagementLecture 05 Software Quality Management
Lecture 05 Software Quality Management
 
Process model in Software engeneering
Process model in Software engeneering Process model in Software engeneering
Process model in Software engeneering
 
02 software process_models
02 software process_models02 software process_models
02 software process_models
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
Software process model
Software process modelSoftware process model
Software process model
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process Model
 
Project based learning methodologies for Embedded Systems and Intelligent Sys...
Project based learning methodologies for Embedded Systems and Intelligent Sys...Project based learning methodologies for Embedded Systems and Intelligent Sys...
Project based learning methodologies for Embedded Systems and Intelligent Sys...
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
 
Architecture design of a virtual embedded system ppt
Architecture design of a virtual embedded system pptArchitecture design of a virtual embedded system ppt
Architecture design of a virtual embedded system ppt
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 

Similar to Software Engineering - Lecture 02

Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
Jomel Penalba
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
koolkampus
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
VikasRai405977
 

Similar to Software Engineering - Lecture 02 (20)

04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
 
Ch4
Ch4Ch4
Ch4
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
Ch4
Ch4Ch4
Ch4
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
01lifecycles
01lifecycles01lifecycles
01lifecycles
 
Lecture - 11-15.pptx
Lecture - 11-15.pptxLecture - 11-15.pptx
Lecture - 11-15.pptx
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
 
Ch2.Part2.Modified.ppt
Ch2.Part2.Modified.pptCh2.Part2.Modified.ppt
Ch2.Part2.Modified.ppt
 
software Processes
software Processessoftware Processes
software Processes
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Ch17
Ch17Ch17
Ch17
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Tatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf artsTatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf arts
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

Software Engineering - Lecture 02

  • 2. Software Life Cycle   “What happens in the „life‟ of software”
  • 3. The software process   A structured set of activities required to develop a software system.  Many different software processes but all involve:  Specification – defining what the system should do;  Design and implementation – defining the organization of the system and implementing the system;  Validation – checking that it does what the customer wants;  Evolution – changing the system in response to changing customer needs.  A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
  • 4. Software process models   The waterfall model  Plan-driven model. Separate and distinct phases of specification and development.  Incremental development  Specification, development and validation are interleaved. May be plan-driven or agile.  Reuse-oriented software engineering  The system is assembled from existing components. May be plan-driven or agile.  In practice, most large systems are developed using a process that incorporates elements from all of these models.  There are no right or wrong software processes.
  • 5. Code and Fix (1950–) 
  • 6. Code and Fix: Issues   No process steps – no specs, docs, tests…  No separation of concerns – no teamwork  No way to deal with complexity
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Characteristics  The classic life cycle - oldest and most widely used paradigm Known as “Linear sequential model” Activities „flow‟ from one phase to another If there are corrections, return to a previous phase and „flow‟ from there again Major advantages: Good for planning and well-defined/repeated projects
  • 14. Drawbacks  Real projects rarely follow a sequential flow Hard to state all requirements explicitly No maintenance or evolution involved Customer must have patience Any blunder can be disastrous Leads to “blocking states”
  • 18. Incremental Model   Each linear sequence produces a particular “increment” to the software  First increment typically core product; more features added by later increments  Allows flexible allocation of resources
  • 19. Characteristics   Software separated into different “increments” complete working portions  Focus on delivery of operational product with each increment - can be evaluated  Useful when insufficient staff and can be planned to manage technical risks, e.g. waiting for new hardware
  • 20. Benefits   The cost of accommodating changing customer requirements is reduced.  It is easier to get customer feedback on the development work that has been done.  More rapid delivery and deployment of useful software to the customer is possible.
  • 21. Drawbacks   The process is not visible.  Managers need regular deliverables to measure progress. If systems are developed quickly, it is not cost-effective to produce documents that reflect every version of the system.  System structure tends to degrade as new increments are added.  Unless time and money is spent on refactoring to improve the software, regular change tends to corrupt its structure. Incorporating further software changes becomes increasingly difficult and costly.
  • 26. Prototypes   A horizontal prototype tests a particular layer (typically the GUI) of the system  A vertical prototype tests a particular functionality across all layers
  • 27. Characteristics   Developer and customer determine objectives and draft requirements  Prototype quickly produced and evaluated by customer  Prototype then refined, and re-evaluated  Process iterated, before final product development  Advantages: Customer participation and better requirements
  • 28. Drawbacks   Customer may see prototype as working model and expects fast results  Developer compromised when producing prototype quickly, e.g. different operating system or programming language
  • 30. Spiral Model   System is developed in series of evolutionary releases  Milestones for each iteration of the spiral  Process does not end with delivery  Reflects iterative nature of development
  • 31. Characteristics   Originally proposed by Boehm, couples iterative nature of prototyping and the systematic aspects of waterfall model  Software is developed in series of incremental releases  Each iteration produces a more complete product  Better management through risk analysis(Modeling)
  • 32. Drawbacks   May be difficult to convince customers that evolution is controllable  Demands risk assessment expertise - major risk will cause problems if not identified  Relatively new and not widely used - cannot determine performance
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Unified Process   Draws on best features of conventional process models  Emphasizes software architecture and design  Integrates with UML modeling techniques (more on this later)
  • 41. Fourth Generation Techniques (4GT) Requirem ents gathering  "Design" Strategy Implementation using 4GL Testing
  • 42. 4GT Characteristics   Use of software tools that allow software engineer to specify s/w characteristics at higher level  The tools generate codes based on specification  More time in design and testing - increase productivity  Tools may not be easy to use, codes generated may not be efficient
  • 43. Key points   Software processes are the activities involved in producing a software system. Software process models are abstract representations of these processes.  General process models describe the organization of software processes. Examples of these general models include the „waterfall‟ model, incremental development, and reuse-oriented development.  Requirements engineering is the process of developing a software specification.  Design and implementation processes are concerned with transforming a requirements specification into an executable software system.  Software validation is the process of checking that the system conforms to its specification and that it meets the real needs of the users of the system.  Software evolution takes place when you change existing software systems to meet new requirements. The software must evolve to remain useful.  End