SlideShare a Scribd company logo
SOFTWARE MODELS
BY
SUMAYYIAH AKRAM
SOFTWARE
ENGINEERING
SOFTWARE MODELING:
Software models are ways of expressing a
software design. Usually some sort of abstract
language or pictures are used to express the
software design.
For object-oriented software, an object
modeling language such as UML is used to
develop and express the software design.
SOFTWARE MODELS:
• Waterfall model
• V model
• Incremental model
• RAD model
• Agile model
• Iterative model
• Spiral model
• Prototype model
1.WATERFALL MODEL:
• Requirements – defines needed information,
function, behavior, performance and interfaces.
• Design – data structures, software architecture,
interface representations, algorithmic details.
• Implementation – source code, database, user
documentation, testing.
WATERFALL STRENGTHS:
• Easy to understand, easy to use
• Provides structure to inexperienced staff
• Milestones are well understood
• Sets requirements stability
• Good for management control (plan, staff, track)
• Works well when quality is more important than cost or schedule
WATERFALL DEFICIENCIES:
• All requirements must be known upfront
• Deliverables created for each phase are considered frozen
– inhibits flexibility
• Can give a false impression of progress
• Does not reflect problem-solving nature of software
development – iterations of phases
• Integration is one big bang at the end
• Little opportunity for customer to preview the system (until
it may be too late)
WHEN TO USE THE WATERFALL
MODEL
• Requirements are very well known
• Product definition is stable
• Technology is understood
• New version of an existing product
• Porting an existing product to a new platform.
2.V-SHAPED MODEL
• A variant of the Waterfall that emphasizes the
verification and validation of the product.
• Testing of the product is planned in parallel with a
corresponding phase of development
V-SHAPED STEPS
• Project and Requirements Planning – allocate resources
• Product Requirements and Specification Analysis – complete
specification of the software system
• Architecture or High-Level Design – defines how software functions
fulfill the design
• Detailed Design – develop algorithms for each architectural
component
• Production, operation and maintenance – provide for
enhancement and corrections
• System and acceptance testing – check the entire
software system in its environment
• Integration and Testing – check that modules
interconnect correctly
• Unit testing – check that each module acts as expected
• Coding – transform algorithms into software
V-SHAPED STRENGTHS
• Emphasize planning for verification and validation of the product in early stages of
product development
• Each deliverable must be testable
• Project management can track progress by milestones
• Easy to use
V-SHAPED WEAKNESSES
• Does not easily handle concurrent events
• Does not handle iterations or phases
• Does not easily handle dynamic changes in requirements
• Does not contain risk analysis activities
WHEN TO USE THE V-SHAPED
MODEL
• Excellent choice for systems requiring high reliability – hospital patient control
applications
• All requirements are known up-front
• When it can be modified to handle changing requirements beyond analysis phase
• Solution and technology are known
3.INCREMENTAL MODEL
• In incremental model the whole requirement is divided into
various builds.
• Each module (independent units) passes through the
requirements, design, implementation and testing phases.
• The incremental build model is a method of software
development where the product is designed, implemented
and tested incrementally until the product is finished.
Build2build1
build3Whole
requirement
INCREMENTAL MODEL WEAKNESSES
 Requires good planning and design
 Requires early definition of a complete and fully functional
system to allow for the definition of increments
 Well-defined module interfaces are required (some will be
developed long before others)
 Total cost of the complete system is not lower
INCREMENTAL MODEL STRENGTHS
 Develop high-risk or major functions first
 Each release delivers an operational product
 Customer can respond to each build
 Uses “divide and conquer” breakdown of tasks
 Lowers initial delivery cost
 Initial product delivery is faster
 Customers get important functionality early
 Risk of changing requirements is reduced
WHAT IS IT ?
 The Spiral Development ( or Lifecycle) Model is a systems
development method used in information technology.
 It combines the features of the prototyping model and the waterfall
model.
 It is favored for large, expensive, and complicated models.
4.Spiral Model (SDLC)
ADVANTAGES (STRENGTHS)
 Estimates of the budget and schedule become more realistic as work
progresses because of the questions that have been raised
 Easier to cope with the changes inherent to software development
 Software engineers can start working on the project earlier rather than
wading through a lengthy early design process.
SPIRAL QUADRANT
DETERMINE OBJECTIVES,
ALTERNATIVES AND CONSTRAINTS
 Objectives: functionality, performance,
hardware/software interface, critical success
factors, etc.
 Alternatives: build, reuse, buy, sub-contract,
etc.
 Constraints: cost, schedule, interface, etc.
SPIRAL MODEL STRENGTHS
 Provides early indication of insurmountable
risks, without much cost
 Users see the system early because of rapid
prototyping tools
 Critical high-risk functions are developed first
 The design does not have to be perfect
 Users can be closely tied to all lifecycle steps
 Early and frequent feedback from users
 Cumulative costs assessed frequently
DISADVANTAGES
(WEAKNESSES)
 Time spent for evaluating risks too large for small or low-risk projects.
 Time spent planning, resetting objectives, doing risk analysis and prototyping
may be excessive.
 The model is complex.
 Risk assessment expertise is required.
WHEN TO USE SPIRAL
MODEL
 Long-term project commitment unwise because of potential changes to
economic priorities.
 Users are unsure of their needs.
 Requirements are complex.
 New product line .
 Significant changes are expected (research and exploration).
5.RAD MODEL
RAPID APPLICATION DEVELOPMENT MODEL
DEFINITION
Rapid application development (RAD) is a software development
methodology that uses minimal planning in favor of rapid
prototyping . A prototype is a working model that is functionally
equivalent to a component of the product.
The phases in the rapid application development (RAD) model are:
Business modeling: The information flow is identified between various business
functions.
Data modeling: Information gathered from business modeling is used to define
data objects that are needed for the business.
Process modeling: Data objects defined in data modeling are converted to achieve
the business information flow to achieve some specific business
objective. Description are identified and created for CRUD of
data objects.
Application generation: Automated tools are used to convert process models into
code and the actual
Testing and turnover: Test new components and all the interfaces.
Advantages of the RAD model:
• Reduced development time.
• Increases reusability of components
• Quick initial reviews occur
• Encourages customer feedback
• Iteration time can be short with use of powerful RAD tools.
Disadvantages of RAD model:
• Depends on strong team and individual performances for
business requirements.
• Only system that can be modularized can be built using RAD
• Requires highly skilled developers/designers.
• High dependency on modeling skills
• Inapplicable to cheaper projects as cost of modeling and automated
code generation is very high.
When to use RAD model:
• RAD should be used when there is a need to create a system that
can be modularized in 2-3 months of time.
• It should be used if there’s high availability of designers for
modeling and the budget is high enough to afford their cost along
with the cost of automated code generating tools.
• RAD SLDC model should be chosen only if resources with high
business knowledge are available and there is a need to produce
system in a short span of time (2-3 months).
6.WHAT IS PROTOTYPE?
Prototyping is the process of quickly putting together a working
model (a prototype) in order to test various aspects of a design,
illustrate ideas or features and gather early user feedback.-
Kendall & KendallCopyright © 2002 by Prentice Hall, Inc. 8-39
PROTOTYPING
• Prototyping is an information-gathering technique
• Prototypes are useful in seeking user reactions, suggestions, innovations, and revision
plans
• Prototyping may be used as an alternative to the systems development life cycle
PROTOTYPING OBJECTIVES
• The objective of evolutionary prototyping is to deliver a working system to end-users
• The development starts with those requirements which are best
understood.
• The objective of throw-away prototyping is to validate or derive the system requirements
• The prototyping process starts with those requirements which are
poorly understood
THE PROTOTYPING PROCESS
ADVANTAGES OF PROTOTYPING
Reduces development time.
Reduces development costs.
Requires user involvement.
Developers receive quantifiable user feedback.
Facilitates system implementation since users know what to expect.
Results in higher user satisfaction.
Exposes developers to potential future system enhancements.
DISADVANTAGES
• This method can be used to avoid documenting the requirements of the system.
• Management is required
• Long term maintenance can be expensive
• Uncertain design idea’s
• Information can be lost through so many improvement changes
ITERATIVE MODEL DESIGN
CONTENTS
SDLC
Iterative models
Iterative Model design
Iterative Model Application
Iterative models
 It starts with implementation of a
small set of the software
requirements
 Development begins by specifying
and implementing just part of the
software
 Produces a new version of the
software at the end of each iteration
of the model.
Iterative Model design
Requirements
Design &
Development
Testing Implementation
Testing
Testing
Design &
Development
Design &
Development
Build 1
Build 2
Build 3
Implementation
Implementation
AGILE MODELING
What is
Agile Modeling?
WHAT IS AGILE MODELING?
Agile Modeling (AM) - is a
flexible methodology for
modeling & documenting
software systems based on
best practices.
Why choose
Agile Modeling?
WHY CHOOSE AGILE MODELING?
Customer satisfaction by rapid,
continuous delivery of useful
software.
Frequent interaction between
clients, developers & testers
Working software is delivered
frequently
Face-to-face conversation is the
best form of communication.
Continuous attention to technical
excellence & good design.
Regular adaptation to changing
circumstances.
When to use
Agile Modeling?
WHEN TO USE AGILE MODELING?
Management’s support
is available
The Product Owners
has been trained?
The team has been
provided with proper
training
Good preparation
of Support Teama
Face-to-face
communication,
including informal
discussion is
essential
Environment for teamwork
& team communication
Supports from
middle & top
managers are
needed
… in courses like Certified
Scrum Master, Certified
Scrum Product Owner, &
group self-study
They must be able to
work with clients, dev
team, maximize ROI,
& bring big wins
Include database
& system admin,
or configuration
manager
Software models

More Related Content

What's hot

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
Mubashir Ali
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
Janu Jahnavi
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
RIKSOF
 
Software development life cycle (sdlc)
Software development life cycle (sdlc)Software development life cycle (sdlc)
Software development life cycle (sdlc)
NavneetKumar383
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
SUBRAHMANYAM SINGH presentation designing
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
Nana Sarpong
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
SADEED AMEEN
 
Sdlc models
Sdlc modelsSdlc models
Sdlc modelsNickyWCT
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
Golda Margret Sheeba J
 
Software Development Life Cycle
Software Development Life Cycle Software Development Life Cycle
Software Development Life Cycle
Dr. Ranjan Kumar Mishra
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle models
themobiforest
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
Aashima Wadhwa
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
karthik venkatesh
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
Rajandeep Gill
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Rody Middelkoop
 

What's hot (20)

Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Sdlc
SdlcSdlc
Sdlc
 
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
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Software development life cycle (sdlc)
Software development life cycle (sdlc)Software development life cycle (sdlc)
Software development life cycle (sdlc)
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
Software Development Life Cycle
Software Development Life Cycle Software Development Life Cycle
Software Development Life Cycle
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle models
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 
SDLC
SDLCSDLC
SDLC
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Similar to Software models

Sdlc models
Sdlc modelsSdlc models
SDLC
SDLCSDLC
SDLC
chkjha
 
Iscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development CompanyIscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development Company
Iscope Digital
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal
 
Employee Management Process (Engineering Model)
Employee Management Process (Engineering Model)Employee Management Process (Engineering Model)
Employee Management Process (Engineering Model)
Dhyey Patel
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
ElieNGOMSEU
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
AbdugafforAbduganiye
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
SravyaPreethi1
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
Mehuk1
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
AqeelAbbas94
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
EveryThing68
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
SnehaBarua5
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleGurban Daniel
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
NyamburaKinyua
 
Sdlc
SdlcSdlc
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.ppt
chandrasekarnatraj
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
KOMAL DAHERIYA
 

Similar to Software models (20)

Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
SDLC
SDLCSDLC
SDLC
 
Iscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development CompanyIscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development Company
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Employee Management Process (Engineering Model)
Employee Management Process (Engineering Model)Employee Management Process (Engineering Model)
Employee Management Process (Engineering Model)
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Sdlc
SdlcSdlc
Sdlc
 
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.ppt
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 

Recently uploaded

Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 

Recently uploaded (20)

Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 

Software models

  • 2. SOFTWARE MODELING: Software models are ways of expressing a software design. Usually some sort of abstract language or pictures are used to express the software design. For object-oriented software, an object modeling language such as UML is used to develop and express the software design.
  • 3.
  • 4. SOFTWARE MODELS: • Waterfall model • V model • Incremental model • RAD model • Agile model • Iterative model • Spiral model • Prototype model
  • 6. • Requirements – defines needed information, function, behavior, performance and interfaces. • Design – data structures, software architecture, interface representations, algorithmic details. • Implementation – source code, database, user documentation, testing.
  • 7. WATERFALL STRENGTHS: • Easy to understand, easy to use • Provides structure to inexperienced staff • Milestones are well understood • Sets requirements stability • Good for management control (plan, staff, track) • Works well when quality is more important than cost or schedule
  • 8. WATERFALL DEFICIENCIES: • All requirements must be known upfront • Deliverables created for each phase are considered frozen – inhibits flexibility • Can give a false impression of progress • Does not reflect problem-solving nature of software development – iterations of phases • Integration is one big bang at the end • Little opportunity for customer to preview the system (until it may be too late)
  • 9. WHEN TO USE THE WATERFALL MODEL • Requirements are very well known • Product definition is stable • Technology is understood • New version of an existing product • Porting an existing product to a new platform.
  • 10. 2.V-SHAPED MODEL • A variant of the Waterfall that emphasizes the verification and validation of the product. • Testing of the product is planned in parallel with a corresponding phase of development
  • 11.
  • 12. V-SHAPED STEPS • Project and Requirements Planning – allocate resources • Product Requirements and Specification Analysis – complete specification of the software system • Architecture or High-Level Design – defines how software functions fulfill the design • Detailed Design – develop algorithms for each architectural component
  • 13. • Production, operation and maintenance – provide for enhancement and corrections • System and acceptance testing – check the entire software system in its environment • Integration and Testing – check that modules interconnect correctly • Unit testing – check that each module acts as expected • Coding – transform algorithms into software
  • 14. V-SHAPED STRENGTHS • Emphasize planning for verification and validation of the product in early stages of product development • Each deliverable must be testable • Project management can track progress by milestones • Easy to use
  • 15. V-SHAPED WEAKNESSES • Does not easily handle concurrent events • Does not handle iterations or phases • Does not easily handle dynamic changes in requirements • Does not contain risk analysis activities
  • 16. WHEN TO USE THE V-SHAPED MODEL • Excellent choice for systems requiring high reliability – hospital patient control applications • All requirements are known up-front • When it can be modified to handle changing requirements beyond analysis phase • Solution and technology are known
  • 17. 3.INCREMENTAL MODEL • In incremental model the whole requirement is divided into various builds. • Each module (independent units) passes through the requirements, design, implementation and testing phases. • The incremental build model is a method of software development where the product is designed, implemented and tested incrementally until the product is finished.
  • 19.
  • 20.
  • 21.
  • 22. INCREMENTAL MODEL WEAKNESSES  Requires good planning and design  Requires early definition of a complete and fully functional system to allow for the definition of increments  Well-defined module interfaces are required (some will be developed long before others)  Total cost of the complete system is not lower
  • 23. INCREMENTAL MODEL STRENGTHS  Develop high-risk or major functions first  Each release delivers an operational product  Customer can respond to each build  Uses “divide and conquer” breakdown of tasks  Lowers initial delivery cost  Initial product delivery is faster  Customers get important functionality early  Risk of changing requirements is reduced
  • 24. WHAT IS IT ?  The Spiral Development ( or Lifecycle) Model is a systems development method used in information technology.  It combines the features of the prototyping model and the waterfall model.  It is favored for large, expensive, and complicated models. 4.Spiral Model (SDLC)
  • 25.
  • 26. ADVANTAGES (STRENGTHS)  Estimates of the budget and schedule become more realistic as work progresses because of the questions that have been raised  Easier to cope with the changes inherent to software development  Software engineers can start working on the project earlier rather than wading through a lengthy early design process.
  • 27. SPIRAL QUADRANT DETERMINE OBJECTIVES, ALTERNATIVES AND CONSTRAINTS  Objectives: functionality, performance, hardware/software interface, critical success factors, etc.  Alternatives: build, reuse, buy, sub-contract, etc.  Constraints: cost, schedule, interface, etc.
  • 28. SPIRAL MODEL STRENGTHS  Provides early indication of insurmountable risks, without much cost  Users see the system early because of rapid prototyping tools  Critical high-risk functions are developed first  The design does not have to be perfect  Users can be closely tied to all lifecycle steps  Early and frequent feedback from users  Cumulative costs assessed frequently
  • 29. DISADVANTAGES (WEAKNESSES)  Time spent for evaluating risks too large for small or low-risk projects.  Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive.  The model is complex.  Risk assessment expertise is required.
  • 30. WHEN TO USE SPIRAL MODEL  Long-term project commitment unwise because of potential changes to economic priorities.  Users are unsure of their needs.  Requirements are complex.  New product line .  Significant changes are expected (research and exploration).
  • 31. 5.RAD MODEL RAPID APPLICATION DEVELOPMENT MODEL
  • 32. DEFINITION Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping . A prototype is a working model that is functionally equivalent to a component of the product.
  • 33. The phases in the rapid application development (RAD) model are: Business modeling: The information flow is identified between various business functions. Data modeling: Information gathered from business modeling is used to define data objects that are needed for the business. Process modeling: Data objects defined in data modeling are converted to achieve the business information flow to achieve some specific business objective. Description are identified and created for CRUD of data objects. Application generation: Automated tools are used to convert process models into code and the actual Testing and turnover: Test new components and all the interfaces.
  • 34.
  • 35. Advantages of the RAD model: • Reduced development time. • Increases reusability of components • Quick initial reviews occur • Encourages customer feedback • Iteration time can be short with use of powerful RAD tools.
  • 36. Disadvantages of RAD model: • Depends on strong team and individual performances for business requirements. • Only system that can be modularized can be built using RAD • Requires highly skilled developers/designers. • High dependency on modeling skills • Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.
  • 37. When to use RAD model: • RAD should be used when there is a need to create a system that can be modularized in 2-3 months of time. • It should be used if there’s high availability of designers for modeling and the budget is high enough to afford their cost along with the cost of automated code generating tools. • RAD SLDC model should be chosen only if resources with high business knowledge are available and there is a need to produce system in a short span of time (2-3 months).
  • 38. 6.WHAT IS PROTOTYPE? Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback.-
  • 39. Kendall & KendallCopyright © 2002 by Prentice Hall, Inc. 8-39 PROTOTYPING • Prototyping is an information-gathering technique • Prototypes are useful in seeking user reactions, suggestions, innovations, and revision plans • Prototyping may be used as an alternative to the systems development life cycle
  • 40. PROTOTYPING OBJECTIVES • The objective of evolutionary prototyping is to deliver a working system to end-users • The development starts with those requirements which are best understood. • The objective of throw-away prototyping is to validate or derive the system requirements • The prototyping process starts with those requirements which are poorly understood
  • 42. ADVANTAGES OF PROTOTYPING Reduces development time. Reduces development costs. Requires user involvement. Developers receive quantifiable user feedback. Facilitates system implementation since users know what to expect. Results in higher user satisfaction. Exposes developers to potential future system enhancements.
  • 43. DISADVANTAGES • This method can be used to avoid documenting the requirements of the system. • Management is required • Long term maintenance can be expensive • Uncertain design idea’s • Information can be lost through so many improvement changes
  • 45. CONTENTS SDLC Iterative models Iterative Model design Iterative Model Application
  • 46. Iterative models  It starts with implementation of a small set of the software requirements  Development begins by specifying and implementing just part of the software  Produces a new version of the software at the end of each iteration of the model.
  • 47. Iterative Model design Requirements Design & Development Testing Implementation Testing Testing Design & Development Design & Development Build 1 Build 2 Build 3 Implementation Implementation
  • 49. WHAT IS AGILE MODELING? Agile Modeling (AM) - is a flexible methodology for modeling & documenting software systems based on best practices.
  • 51. WHY CHOOSE AGILE MODELING? Customer satisfaction by rapid, continuous delivery of useful software. Frequent interaction between clients, developers & testers Working software is delivered frequently Face-to-face conversation is the best form of communication. Continuous attention to technical excellence & good design. Regular adaptation to changing circumstances.
  • 52. When to use Agile Modeling?
  • 53. WHEN TO USE AGILE MODELING? Management’s support is available The Product Owners has been trained? The team has been provided with proper training Good preparation of Support Teama Face-to-face communication, including informal discussion is essential Environment for teamwork & team communication Supports from middle & top managers are needed … in courses like Certified Scrum Master, Certified Scrum Product Owner, & group self-study They must be able to work with clients, dev team, maximize ROI, & bring big wins Include database & system admin, or configuration manager