SlideShare una empresa de 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

Más contenido relacionado

La actualidad más candente

Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems EngineeringBernardo A. Delicado
 
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 Saqib Raza
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering ProfessionSaqib Raza
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineeringSHREEHARI WADAWADAGI
 
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 SystemDio Pratama
 
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 AcademyMohamed Shahpoup
 
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 systemsIvica Crnkovic
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial Ahmed Elshal
 
L1 overview of software engineering
L1  overview of software engineeringL1  overview of software engineering
L1 overview of software engineeringRushdi Shams
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringAnwarrChaudary
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challengessommerville-videos
 
resume_13_current_GEO
resume_13_current_GEOresume_13_current_GEO
resume_13_current_GEORobert Stine
 

La actualidad más candente (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
 

Similar a IT1204- Software Engineering - L2

Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.pptSasiR18
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Lecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxLecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxYaseenNazir3
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsAOmaAli
 
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 - SPMMubashir Ali
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycleHoangThiHien1
 
IT Software Development Life Cycle
IT Software Development Life CycleIT Software Development Life Cycle
IT Software Development Life CyclePreshita Chaurasiya
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleAashima Wadhwa
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdfBinNguynVn3
 
W_01_SDLC.pptx
W_01_SDLC.pptxW_01_SDLC.pptx
W_01_SDLC.pptxadeel8937
 
04. Project Management
04. Project Management04. Project Management
04. Project ManagementBhuWan Khadka
 

Similar 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
 

Más de BakerTilly US

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- L10BakerTilly US
 
IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10IT1204 - Software Engineering - L10
IT1204 - Software Engineering - L10BakerTilly US
 
IT1204 - Software Engineering - L9
IT1204 - Software Engineering - L9IT1204 - Software Engineering - L9
IT1204 - Software Engineering - L9BakerTilly US
 
IT1204 - Software engineering - L5
IT1204 - Software engineering - L5IT1204 - Software engineering - L5
IT1204 - Software engineering - L5BakerTilly US
 
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-L8BakerTilly US
 
IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8IT1204 - Software Engineering -L8
IT1204 - Software Engineering -L8BakerTilly US
 
IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7IT1204 - Software Engineering - L7
IT1204 - Software Engineering - L7BakerTilly US
 
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-L6BakerTilly US
 
IT1204 – Software Engineering L6
IT1204 – Software Engineering L6                                           IT1204 – Software Engineering L6
IT1204 – Software Engineering L6 BakerTilly US
 
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-L5BakerTilly US
 
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-L4BakerTilly US
 
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- L3BakerTilly US
 
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-L1BakerTilly US
 
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 BakerTilly US
 

Más 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

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 

Último (20)

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 

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 del editor

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