SlideShare a Scribd company logo
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
Ad

Recommended

Software Engineering - Lecture 01
Software Engineering - Lecture 01
Asifuzzaman Hridoy
 
Ch03-Software Engineering Model
Ch03-Software Engineering Model
Bala Ganesh
 
The Software Development Process
The Software Development Process
Cesar Augusto Nogueira
 
process models- software engineering
process models- software engineering
Arun Nair
 
Software life cycle comparison
Software life cycle comparison
Suvek Shakya
 
Lecture 3 software process model
Lecture 3 software process model
IIUI
 
Software development process models
Software development process models
Muhammed Afsal Villan
 
Ch02 process a generic view
Ch02 process a generic view
Dr. C.V. Suresh Babu
 
Software Process Models
Software Process Models
Hassan A-j
 
Sdlc model
Sdlc model
aligarhking
 
SDLC Models
SDLC Models
akash250690
 
Slides chapter 2
Slides chapter 2
Priyanka Shetty
 
3. ch 2-process model
3. ch 2-process model
Delowar hossain
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
Fadhil Ismail
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Software engineering model
Software engineering model
Manish Chaurasia
 
Software Development Methodologies
Software Development Methodologies
Nicholas Davis
 
Evolutionary process models se.ppt
Evolutionary process models se.ppt
bhadjaashvini1
 
Lecture 5 software process model (3)
Lecture 5 software process model (3)
IIUI
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 
1.sdlc
1.sdlc
Deepak Sharma
 
Chapter 01
Chapter 01
ans ali raza
 
SDLC
SDLC
Pooja Chaddha
 
System Development Life Cycle
System Development Life Cycle
International Islamic University
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
PaYal Umraliya
 
Software Devlopment Life Cycle
Software Devlopment Life Cycle
Vivek Gupta
 
Software development methodologies
Software development methodologies
Ankita Lachhwani
 
Software Process Model
Software Process Model
Dyanara Pritz Menia
 
Rpl 2- sw process model
Rpl 2- sw process model
f' yagami
 
An introduction to agile and beyond
An introduction to agile and beyond
Sander Hoogendoorn
 

More Related Content

What's hot (20)

Software Process Models
Software Process Models
Hassan A-j
 
Sdlc model
Sdlc model
aligarhking
 
SDLC Models
SDLC Models
akash250690
 
Slides chapter 2
Slides chapter 2
Priyanka Shetty
 
3. ch 2-process model
3. ch 2-process model
Delowar hossain
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
Fadhil Ismail
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Software engineering model
Software engineering model
Manish Chaurasia
 
Software Development Methodologies
Software Development Methodologies
Nicholas Davis
 
Evolutionary process models se.ppt
Evolutionary process models se.ppt
bhadjaashvini1
 
Lecture 5 software process model (3)
Lecture 5 software process model (3)
IIUI
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 
1.sdlc
1.sdlc
Deepak Sharma
 
Chapter 01
Chapter 01
ans ali raza
 
SDLC
SDLC
Pooja Chaddha
 
System Development Life Cycle
System Development Life Cycle
International Islamic University
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
PaYal Umraliya
 
Software Devlopment Life Cycle
Software Devlopment Life Cycle
Vivek Gupta
 
Software development methodologies
Software development methodologies
Ankita Lachhwani
 
Software Process Model
Software Process Model
Dyanara Pritz Menia
 
Software Process Models
Software Process Models
Hassan A-j
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
Fadhil Ismail
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Software engineering model
Software engineering model
Manish Chaurasia
 
Software Development Methodologies
Software Development Methodologies
Nicholas Davis
 
Evolutionary process models se.ppt
Evolutionary process models se.ppt
bhadjaashvini1
 
Lecture 5 software process model (3)
Lecture 5 software process model (3)
IIUI
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
PaYal Umraliya
 
Software Devlopment Life Cycle
Software Devlopment Life Cycle
Vivek Gupta
 
Software development methodologies
Software development methodologies
Ankita Lachhwani
 

Viewers also liked (20)

Rpl 2- sw process model
Rpl 2- sw process model
f' yagami
 
An introduction to agile and beyond
An introduction to agile and beyond
Sander Hoogendoorn
 
Software ee1
Software ee1
Aman Adhikari
 
Lecture 19 design concepts
Lecture 19 design concepts
IIUI
 
Lecture 05 Software Quality Management
Lecture 05 Software Quality Management
Achmad Solichin
 
Process model in Software engeneering
Process model in Software engeneering
International Center for Chemical & Biological Sciences
 
02 software process_models
02 software process_models
University of Computer Science and Technology
 
SDLC and Software Process Models
SDLC and Software Process Models
Nana Sarpong
 
Software engineering mca
Software engineering mca
Aman Adhikari
 
Software process model
Software process model
Muhammad Yousuf Abdul Qadir
 
Lecture 02 Software Process Model
Lecture 02 Software Process Model
Achmad Solichin
 
Project based learning methodologies for Embedded Systems and Intelligent Sys...
Project based learning methodologies for Embedded Systems and Intelligent Sys...
Lakshmi Narain College of Technology & Science Bhopal
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
Piyush Gogia
 
Architecture design of a virtual embedded system ppt
Architecture design of a virtual embedded system ppt
Rajeev Mohanty
 
Software Architecture Design for Begginers
Software Architecture Design for Begginers
Chinh Ngo Nguyen
 
Sdlc models
Sdlc models
SivaprasanthRentala1975
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
rajesh199155
 
Chapter 5 software design
Chapter 5 software design
Piyush Gogia
 
Software design methodologies
Software design methodologies
Dr. C.V. Suresh Babu
 
Software engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Rpl 2- sw process model
Rpl 2- sw process model
f' yagami
 
An introduction to agile and beyond
An introduction to agile and beyond
Sander Hoogendoorn
 
Lecture 19 design concepts
Lecture 19 design concepts
IIUI
 
Lecture 05 Software Quality Management
Lecture 05 Software Quality Management
Achmad Solichin
 
SDLC and Software Process Models
SDLC and Software Process Models
Nana Sarpong
 
Software engineering mca
Software engineering mca
Aman Adhikari
 
Lecture 02 Software Process Model
Lecture 02 Software Process Model
Achmad Solichin
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
Piyush Gogia
 
Architecture design of a virtual embedded system ppt
Architecture design of a virtual embedded system ppt
Rajeev Mohanty
 
Software Architecture Design for Begginers
Software Architecture Design for Begginers
Chinh Ngo Nguyen
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
rajesh199155
 
Chapter 5 software design
Chapter 5 software design
Piyush Gogia
 
Software engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Ad

Similar to Software Engineering - Lecture 02 (20)

04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
MarwondoMarwondo
 
Ch4
Ch4
Saad Gabr
 
Soft Eng - Software Process
Soft Eng - Software Process
Jomel Penalba
 
Ch4
Ch4
phanleson
 
Software Process Models
Software Process Models
Jesse Manalansan
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
koolkampus
 
Software development life cycle
Software development life cycle
Nishant Srivastava
 
what is software Engineering for students
what is software Engineering for students
AssadLeo1
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
01lifecycles
01lifecycles
Abdihakim Dalmar
 
Lecture - 11-15.pptx
Lecture - 11-15.pptx
FarHana74914
 
01lifecycles(system development life cycle).ppt
01lifecycles(system development life cycle).ppt
krishnakrishkrish100
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
VikasRai405977
 
Ch2.Part2.Modified.ppt
Ch2.Part2.Modified.ppt
Melisa521270
 
software Processes
software Processes
Seif Shaame
 
Chapter 2.pptx
Chapter 2.pptx
AmnaAhsaan1
 
Software process life cycles
Software process life cycles
sathish sak
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models 1
Badar Waseer
 
Ch17
Ch17
phanleson
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
MarwondoMarwondo
 
Soft Eng - Software Process
Soft Eng - Software Process
Jomel Penalba
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
koolkampus
 
Software development life cycle
Software development life cycle
Nishant Srivastava
 
what is software Engineering for students
what is software Engineering for students
AssadLeo1
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
Lecture - 11-15.pptx
Lecture - 11-15.pptx
FarHana74914
 
01lifecycles(system development life cycle).ppt
01lifecycles(system development life cycle).ppt
krishnakrishkrish100
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
VikasRai405977
 
Ch2.Part2.Modified.ppt
Ch2.Part2.Modified.ppt
Melisa521270
 
software Processes
software Processes
Seif Shaame
 
Software process life cycles
Software process life cycles
sathish sak
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models 1
Badar Waseer
 
Ad

Recently uploaded (20)

VCE Literature Section A Exam Response Guide
VCE Literature Section A Exam Response Guide
jpinnuck
 
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
mprpgcwa2024
 
This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Birnagar High School Platinum Jubilee Quiz.pptx
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
How to Manage Different Customer Addresses in Odoo 18 Accounting
How to Manage Different Customer Addresses in Odoo 18 Accounting
Celine George
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Filipino 9 Maikling Kwento Ang Ama Panitikang Asiyano
Filipino 9 Maikling Kwento Ang Ama Panitikang Asiyano
sumadsadjelly121997
 
HistoPathology Ppt. Arshita Gupta for Diploma
HistoPathology Ppt. Arshita Gupta for Diploma
arshitagupta674
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
Code Profiling in Odoo 18 - Odoo 18 Slides
Code Profiling in Odoo 18 - Odoo 18 Slides
Celine George
 
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
Ronisha Das
 
NSUMD_M1 Library Orientation_June 11, 2025.pptx
NSUMD_M1 Library Orientation_June 11, 2025.pptx
Julie Sarpy
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
English 3 Quarter 1_LEwithLAS_Week 1.pdf
English 3 Quarter 1_LEwithLAS_Week 1.pdf
DeAsisAlyanajaneH
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
Vitamin and Nutritional Deficiencies.pptx
Vitamin and Nutritional Deficiencies.pptx
Vishal Chanalia
 
How to use search fetch method in Odoo 18
How to use search fetch method in Odoo 18
Celine George
 
INDUCTIVE EFFECT slide for first prof pharamacy students
INDUCTIVE EFFECT slide for first prof pharamacy students
SHABNAM FAIZ
 
VCE Literature Section A Exam Response Guide
VCE Literature Section A Exam Response Guide
jpinnuck
 
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
F-BLOCK ELEMENTS POWER POINT PRESENTATIONS
mprpgcwa2024
 
This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Birnagar High School Platinum Jubilee Quiz.pptx
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
How to Manage Different Customer Addresses in Odoo 18 Accounting
How to Manage Different Customer Addresses in Odoo 18 Accounting
Celine George
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Filipino 9 Maikling Kwento Ang Ama Panitikang Asiyano
Filipino 9 Maikling Kwento Ang Ama Panitikang Asiyano
sumadsadjelly121997
 
HistoPathology Ppt. Arshita Gupta for Diploma
HistoPathology Ppt. Arshita Gupta for Diploma
arshitagupta674
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
Code Profiling in Odoo 18 - Odoo 18 Slides
Code Profiling in Odoo 18 - Odoo 18 Slides
Celine George
 
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
Ronisha Das
 
NSUMD_M1 Library Orientation_June 11, 2025.pptx
NSUMD_M1 Library Orientation_June 11, 2025.pptx
Julie Sarpy
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
English 3 Quarter 1_LEwithLAS_Week 1.pdf
English 3 Quarter 1_LEwithLAS_Week 1.pdf
DeAsisAlyanajaneH
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
Vitamin and Nutritional Deficiencies.pptx
Vitamin and Nutritional Deficiencies.pptx
Vishal Chanalia
 
How to use search fetch method in Odoo 18
How to use search fetch method in Odoo 18
Celine George
 
INDUCTIVE EFFECT slide for first prof pharamacy students
INDUCTIVE EFFECT slide for first prof pharamacy students
SHABNAM FAIZ
 

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