SlideShare uma empresa Scribd logo
1 de 29
Software
Engineering
Sameera
Gunathilaka
Lead Software
Engineer
ERP Technical
Consultant
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
1
SDLC
Models(Process
Models)
Big Bang
Model
Waterfall
Model
V-Model
Iterative
Model
Prototyping
Model
Spiral
Model
Agile
Model
RAD Model
SDLC - Big Bang Model
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 3
Big Bang Model does not
follow a process/procedure
and there is a very little or
no planning required
Even the customer is not
sure about what exactly he
wants
Development teams are
very small(academic or
practice projects)
Requirements are not well
understood and the final
release date is not given
SDLC -
Waterfall
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 4
SDLC - Waterfall
Model
• Referred to as a linear-
sequential life cycle model
• Each phase must be
completed before the next
phase can begin
• No overlapping in the phases
• The outcome of one phase
acts as the input for the next
phase
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 5
Waterfall
Model –
When to use
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 6
Requirements are very well documented, clear and
fixed.
Product definition is stable.
Technology is understood and is not dynamic.
There are no ambiguous requirements.
Ample resources with required expertise are available
to support the product.
The project is short.
Waterfall
Model –
Advantages
• Simple and easy to understand and use
• Easy to manage due to the rigidity of the
model. Each phase has specific deliverables
and a review process.
• Phases are processed and completed one
at a time.
• Works well for smaller projects where
requirements are very well understood.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.
Waterfall
Model –
Disadvantages
• No working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a
moderate to high risk of changing. So, risk and uncertainty is
high with this process model.
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
• Integration is done as a "big-bang. at the very end, which
doesn't allow identifying any technological or business
bottleneck or challenges early.
SDLC – V
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 9
V Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
• Also known as Verification
and Validation model
• Extension of the waterfall
model
• Association of a testing phase
for each corresponding
development stage
• Requirements have to be very
clear before the project starts
• Expensive to go back and
make changes
• Used in the medical
development field, as it is
strictly a disciplined domain
10
V Model –
When to use
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 11
Requirements are well defined, clearly documented
and fixed.
Product definition is stable.
Technology is not dynamic and is well understood by
the project team.
There are no ambiguous or undefined requirements.
The project is short.
V Model -
Advantages
• This is a highly-disciplined model and Phases
are completed one at a time.
• Works well for smaller projects where
requirements are very well understood.
• Simple and easy to understand and use.
• Easy to manage due to the rigidity of the model.
Each phase has specific deliverables and a
review process.
V Model -
Disadvantages
• High risk and uncertainty.
• Not a good model for complex and object-
oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where
requirements are at a moderate to high risk of
changing.
• Once an application is in the testing stage, it is
difficult to go back and change a functionality.
• No working software is produced until late
during the life cycle.
SDLC -
Iterative
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 14
SDLC - Iterative
Model
• Whole requirement is divided
into various builds
• Develop a system through
repeated cycles
• Smaller portions at a time
(incremental)
• Combination of both iterative
design or iterative method and
incremental build model
• Described as an "evolutionary
acquisition" or "incremental
build" approach
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 15
Iterative
Model –
When to use
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 16
Requirements of the complete system are clearly defined and
understood.
Major requirements must be defined; however, some functionalities
or requested enhancements may evolve with time.
There is a time to the market constraint.
A new technology is being used and is being learnt by the
development team while working on the project.
Resources with needed skill sets are not available and are planned to
be used on contract basis for specific iterations.
There are some high-risk features and goals which may change in the
future.
Iterative
Model -
Advantages
• Some working functionality can be developed quickly and early
in the life cycle.
• Results are obtained early and periodically.
• Parallel development can be planned.
• Progress can be measured.
• Less costly to change the scope/requirements.
• Testing and debugging during smaller iteration is easy.
• Risks are identified and resolved during iteration; and each
iteration is an easily managed milestone.
• Easier to manage risk - High risk part is done first.
• With every increment, operational product is delivered.
• Issues, challenges and risks identified from each increment can
be utilized/applied to the next increment.
• Risk analysis is better.
• It supports changing requirements.
Iterative
Model -
Disadvantages
• More resources may be required.
• Although cost of change is lesser, but it is not very suitable for
changing requirements.
• More management attention is required.
• System architecture or design issues may arise because not
all requirements are gathered in the beginning of the entire
life cycle.
• Defining increments may require definition of the complete
system.
• Not suitable for smaller projects.
• Management complexity is more.
• End of project may not be known which is a risk.
• Highly skilled resources are required for risk analysis.
• Projects progress is highly dependent upon the risk analysis
phase.
SDLC -
Prototyping
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 19
Software
Prototyping -
Types
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 20
• Also called as rapid or close ended prototyping
• Minimum requirement analysis to build a prototype
• Prototype is discarded and the actual system is developed
Throwaway/Rapid Prototyping
• Also called as breadboard prototyping
• Actual functional prototypes
• System is continually refined and rebuilt
Evolutionary Prototyping
• Multiple prototypes
• Separate prototypes are merged in an overall design
Incremental Prototyping
• Especially for developing web applications( Three stages)
• static prototype: pages in HTML> Fully Functional
Prototype>Service are implemented
Extreme Prototyping
Prototyping
Model –
When to use
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 21
Systems having high level of user
interactions such as online systems
Systems which need users to fill out forms
or go through various screens before data
is processed
Software that involves too much of data
processing
Not suitable for systems with lots of
internal processing
Prototyping
Model -
Advantages
• Increased user involvement in the product even
before its implementation.
• Since a working model of the system is
displayed, the users get a better understanding
of the system being developed.
• Reduces time and cost as the defects can be
detected much earlier.
• Quicker user feedback is available leading to
better solutions.
• Missing functionality can be identified easily.
• Confusing or difficult functions can be
identified.
Prototyping
Model -
Disadvantages
• Risk of insufficient requirement analysis owing
to too much dependency on the prototype.
• Users may get confused in the prototypes and
actual systems.
• Practically, this methodology may increase the
complexity of the system as scope of the system
may expand beyond original plans.
• Developers may try to reuse the existing
prototypes to build the actual system, even
when it is not technically feasible.
• The effort invested in building prototypes may
be too much if it is not monitored properly.
SDLC - Spiral
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 24
SDLC - Spiral
Model
• Iterative development +
waterfall model
• Each phase begins with a
design goal and ends with the
client reviewing the progress
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 25
Spiral Model -
When to use
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 26
When there is a budget constraint and risk evaluation is important.
For medium to high-risk projects.
Long-term project commitment because of potential changes to
economic priorities as the requirements change with time.
Customer is not sure of their requirements which is usually the
case.
Requirements are complex and need evaluation to get clarity.
New product line which should be released in phases to get
enough customer feedback.
Significant changes are expected in the product during the
development cycle.
Spiral Model –
Advantages
• Changing requirements can be
accommodated.
• Allows extensive use of prototypes.
• Requirements can be captured more
accurately.
• Users see the system early.
• Development can be divided into
smaller parts and the risky parts can be
developed earlier which helps in better
risk management.
Spiral Model –
Disadvantages
• Management is more complex.
• End of the project may not be known
early.
• Not suitable for small or low risk
projects and could be expensive for
small projects.
• Process is complex
• Spiral may go on indefinitely.
• Large number of intermediate stages
requires excessive documentation.
Thank you
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
29

Mais conteúdo relacionado

Mais procurados

L1 overview of software engineering
L1  overview of software engineeringL1  overview of software engineering
L1 overview of software engineering
Rushdi Shams
 
resume_13_current_GEO
resume_13_current_GEOresume_13_current_GEO
resume_13_current_GEO
Robert Stine
 

Mais procurados (20)

Emertxe Certified Embedded Professional (ECEP): Assessment system
Emertxe Certified Embedded Professional (ECEP): Assessment systemEmertxe Certified Embedded Professional (ECEP): Assessment system
Emertxe Certified Embedded Professional (ECEP): Assessment system
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
0273710133 pp01v2
0273710133 pp01v20273710133 pp01v2
0273710133 pp01v2
 
Project competitions for students
Project competitions for studentsProject competitions for students
Project competitions for students
 
software engineering ethics
software engineering ethicssoftware engineering ethics
software engineering ethics
 
Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems Engineering
 
Software Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional PracticeSoftware Engineering Code Of Ethics And Professional Practice
Software Engineering Code Of Ethics And Professional Practice
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Lean Implementation on IT Infrastructure Monitoring System
Lean Implementation on IT Infrastructure Monitoring SystemLean Implementation on IT Infrastructure Monitoring System
Lean Implementation on IT Infrastructure Monitoring System
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systems
 
system level requirements gathering and analysis
system level requirements gathering and analysissystem level requirements gathering and analysis
system level requirements gathering and analysis
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
 
L1 overview of software engineering
L1  overview of software engineeringL1  overview of software engineering
L1 overview of software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Ch12
Ch12Ch12
Ch12
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challenges
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
 
resume_13_current_GEO
resume_13_current_GEOresume_13_current_GEO
resume_13_current_GEO
 

Semelhante a IT1204- Software Engineering - L2

0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
BinNguynVn3
 

Semelhante a IT1204- Software Engineering - L2 (20)

System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
2-SE Process Models.pptx
2-SE Process Models.pptx2-SE Process Models.pptx
2-SE Process Models.pptx
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Lecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxLecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptx
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
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
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
IT Software Development Life Cycle
IT Software Development Life CycleIT Software Development Life Cycle
IT Software Development Life Cycle
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
Process models
Process modelsProcess models
Process models
 
W_01_SDLC.pptx
W_01_SDLC.pptxW_01_SDLC.pptx
W_01_SDLC.pptx
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
 

Mais de BakerTilly US

Mais de BakerTilly US (14)

IT1206- Object Oriented Analysis and Design- L10
IT1206- Object Oriented Analysis and Design- L10IT1206- Object Oriented Analysis and Design- L10
IT1206- Object Oriented Analysis and Design- L10
 
IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10
 
IT1204 - Software Engineering - L9
IT1204 - Software Engineering - L9IT1204 - Software Engineering - L9
IT1204 - Software Engineering - L9
 
IT1204 - Software engineering - L5
IT1204 - Software engineering - L5IT1204 - Software engineering - L5
IT1204 - Software engineering - L5
 
IT1206 Object Oriented Analysis and Design-L8
IT1206   Object Oriented Analysis and Design-L8IT1206   Object Oriented Analysis and Design-L8
IT1206 Object Oriented Analysis and Design-L8
 
IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8
 
IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7
 
IT1206 Object Oriented Analysis And Design-L6
IT1206   Object Oriented Analysis And Design-L6IT1206   Object Oriented Analysis And Design-L6
IT1206 Object Oriented Analysis And Design-L6
 
IT1204 – Software Engineering L6
IT1204 – Software Engineering L6                                           IT1204 – Software Engineering L6
IT1204 – Software Engineering L6
 
IT1206 Object Oriented Analysis and Design-L5
IT1206   Object Oriented Analysis and Design-L5IT1206   Object Oriented Analysis and Design-L5
IT1206 Object Oriented Analysis and Design-L5
 
IT1206 Object Oriented Analysis and Design-L4
IT1206   Object Oriented Analysis and Design-L4IT1206   Object Oriented Analysis and Design-L4
IT1206 Object Oriented Analysis and Design-L4
 
IT1206 Object Oriented Analysis and Design- L3
IT1206   Object Oriented Analysis and Design- L3IT1206   Object Oriented Analysis and Design- L3
IT1206 Object Oriented Analysis and Design- L3
 
IT1206- Object Oriented Analysis And Design-L1
IT1206- Object Oriented Analysis And Design-L1IT1206- Object Oriented Analysis And Design-L1
IT1206- Object Oriented Analysis And Design-L1
 
Analysis of Service Gaps - Customer service management
Analysis of Service Gaps - Customer service management Analysis of Service Gaps - Customer service management
Analysis of Service Gaps - Customer service management
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

IT1204- Software Engineering - L2

  • 1. Software Engineering Sameera Gunathilaka Lead Software Engineer ERP Technical Consultant IT1204 – Software Engineering Institute of Technology, University of Moratuwa 1
  • 3. SDLC - Big Bang Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 3 Big Bang Model does not follow a process/procedure and there is a very little or no planning required Even the customer is not sure about what exactly he wants Development teams are very small(academic or practice projects) Requirements are not well understood and the final release date is not given
  • 4. SDLC - Waterfall Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 4
  • 5. SDLC - Waterfall Model • Referred to as a linear- sequential life cycle model • Each phase must be completed before the next phase can begin • No overlapping in the phases • The outcome of one phase acts as the input for the next phase IT1204 – Software Engineering Institute of Technology, University of Moratuwa 5
  • 6. Waterfall Model – When to use IT1204 – Software Engineering Institute of Technology, University of Moratuwa 6 Requirements are very well documented, clear and fixed. Product definition is stable. Technology is understood and is not dynamic. There are no ambiguous requirements. Ample resources with required expertise are available to support the product. The project is short.
  • 7. Waterfall Model – Advantages • Simple and easy to understand and use • Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process. • Phases are processed and completed one at a time. • Works well for smaller projects where requirements are very well understood. • Clearly defined stages. • Well understood milestones. • Easy to arrange tasks. • Process and results are well documented.
  • 8. Waterfall Model – Disadvantages • No working software is produced until late during the life cycle. • High amounts of risk and uncertainty. • Not a good model for complex and object-oriented projects. • Poor model for long and ongoing projects. • Not suitable for the projects where requirements are at a moderate to high risk of changing. So, risk and uncertainty is high with this process model. • It is difficult to measure progress within stages. • Cannot accommodate changing requirements. • Adjusting scope during the life cycle can end a project. • Integration is done as a "big-bang. at the very end, which doesn't allow identifying any technological or business bottleneck or challenges early.
  • 9. SDLC – V Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 9
  • 10. V Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa • Also known as Verification and Validation model • Extension of the waterfall model • Association of a testing phase for each corresponding development stage • Requirements have to be very clear before the project starts • Expensive to go back and make changes • Used in the medical development field, as it is strictly a disciplined domain 10
  • 11. V Model – When to use IT1204 – Software Engineering Institute of Technology, University of Moratuwa 11 Requirements are well defined, clearly documented and fixed. Product definition is stable. Technology is not dynamic and is well understood by the project team. There are no ambiguous or undefined requirements. The project is short.
  • 12. V Model - Advantages • This is a highly-disciplined model and Phases are completed one at a time. • Works well for smaller projects where requirements are very well understood. • Simple and easy to understand and use. • Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process.
  • 13. V Model - Disadvantages • High risk and uncertainty. • Not a good model for complex and object- oriented projects. • Poor model for long and ongoing projects. • Not suitable for the projects where requirements are at a moderate to high risk of changing. • Once an application is in the testing stage, it is difficult to go back and change a functionality. • No working software is produced until late during the life cycle.
  • 14. SDLC - Iterative Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 14
  • 15. SDLC - Iterative Model • Whole requirement is divided into various builds • Develop a system through repeated cycles • Smaller portions at a time (incremental) • Combination of both iterative design or iterative method and incremental build model • Described as an "evolutionary acquisition" or "incremental build" approach IT1204 – Software Engineering Institute of Technology, University of Moratuwa 15
  • 16. Iterative Model – When to use IT1204 – Software Engineering Institute of Technology, University of Moratuwa 16 Requirements of the complete system are clearly defined and understood. Major requirements must be defined; however, some functionalities or requested enhancements may evolve with time. There is a time to the market constraint. A new technology is being used and is being learnt by the development team while working on the project. Resources with needed skill sets are not available and are planned to be used on contract basis for specific iterations. There are some high-risk features and goals which may change in the future.
  • 17. Iterative Model - Advantages • Some working functionality can be developed quickly and early in the life cycle. • Results are obtained early and periodically. • Parallel development can be planned. • Progress can be measured. • Less costly to change the scope/requirements. • Testing and debugging during smaller iteration is easy. • Risks are identified and resolved during iteration; and each iteration is an easily managed milestone. • Easier to manage risk - High risk part is done first. • With every increment, operational product is delivered. • Issues, challenges and risks identified from each increment can be utilized/applied to the next increment. • Risk analysis is better. • It supports changing requirements.
  • 18. Iterative Model - Disadvantages • More resources may be required. • Although cost of change is lesser, but it is not very suitable for changing requirements. • More management attention is required. • System architecture or design issues may arise because not all requirements are gathered in the beginning of the entire life cycle. • Defining increments may require definition of the complete system. • Not suitable for smaller projects. • Management complexity is more. • End of project may not be known which is a risk. • Highly skilled resources are required for risk analysis. • Projects progress is highly dependent upon the risk analysis phase.
  • 19. SDLC - Prototyping Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 19
  • 20. Software Prototyping - Types IT1204 – Software Engineering Institute of Technology, University of Moratuwa 20 • Also called as rapid or close ended prototyping • Minimum requirement analysis to build a prototype • Prototype is discarded and the actual system is developed Throwaway/Rapid Prototyping • Also called as breadboard prototyping • Actual functional prototypes • System is continually refined and rebuilt Evolutionary Prototyping • Multiple prototypes • Separate prototypes are merged in an overall design Incremental Prototyping • Especially for developing web applications( Three stages) • static prototype: pages in HTML> Fully Functional Prototype>Service are implemented Extreme Prototyping
  • 21. Prototyping Model – When to use IT1204 – Software Engineering Institute of Technology, University of Moratuwa 21 Systems having high level of user interactions such as online systems Systems which need users to fill out forms or go through various screens before data is processed Software that involves too much of data processing Not suitable for systems with lots of internal processing
  • 22. Prototyping Model - Advantages • Increased user involvement in the product even before its implementation. • Since a working model of the system is displayed, the users get a better understanding of the system being developed. • Reduces time and cost as the defects can be detected much earlier. • Quicker user feedback is available leading to better solutions. • Missing functionality can be identified easily. • Confusing or difficult functions can be identified.
  • 23. Prototyping Model - Disadvantages • Risk of insufficient requirement analysis owing to too much dependency on the prototype. • Users may get confused in the prototypes and actual systems. • Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. • Developers may try to reuse the existing prototypes to build the actual system, even when it is not technically feasible. • The effort invested in building prototypes may be too much if it is not monitored properly.
  • 24. SDLC - Spiral Model IT1204 – Software Engineering Institute of Technology, University of Moratuwa 24
  • 25. SDLC - Spiral Model • Iterative development + waterfall model • Each phase begins with a design goal and ends with the client reviewing the progress IT1204 – Software Engineering Institute of Technology, University of Moratuwa 25
  • 26. Spiral Model - When to use IT1204 – Software Engineering Institute of Technology, University of Moratuwa 26 When there is a budget constraint and risk evaluation is important. For medium to high-risk projects. Long-term project commitment because of potential changes to economic priorities as the requirements change with time. Customer is not sure of their requirements which is usually the case. Requirements are complex and need evaluation to get clarity. New product line which should be released in phases to get enough customer feedback. Significant changes are expected in the product during the development cycle.
  • 27. Spiral Model – Advantages • Changing requirements can be accommodated. • Allows extensive use of prototypes. • Requirements can be captured more accurately. • Users see the system early. • Development can be divided into smaller parts and the risky parts can be developed earlier which helps in better risk management.
  • 28. Spiral Model – Disadvantages • Management is more complex. • End of the project may not be known early. • Not suitable for small or low risk projects and could be expensive for small projects. • Process is complex • Spiral may go on indefinitely. • Large number of intermediate stages requires excessive documentation.
  • 29. Thank you IT1204 – Software Engineering Institute of Technology, University of Moratuwa 29

Notas do Editor

  1. The 5 Key Principles Of User Experience Design Hierarchy Consistency Confirmation User Control Accessibility