SlideShare ist ein Scribd-Unternehmen logo
1 von 54
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (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
 

Ähnlich wie Software models

Ähnlich wie 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
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.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
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).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
 

Kürzlich hochgeladen

DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 

Kürzlich hochgeladen (20)

DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 

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