SlideShare ist ein Scribd-Unternehmen logo
1 von 25
By : G.S. Rahul Nagda MLSU
The ‘Waterfall’ Model
The waterfall model - the linear sequential model, also called
the “classic life cycle”
---> a systematic, sequential approach to software development that begins at
the system level and progress through analysis, design, coding, testing,
and maintenance.
By : G.S. Rahul Nagda MLSU
Software requirements analysis. Requirements for both the system and the
software are documented and reviewed with the customer.
Design. focuses on four distinct attributes of a program: data structure, software
architecture, interface representations ,and procedural detail.
The design process translates requirements into a representation of the
software that can be assessed for quality before coding begins.
Code generation. The design must be translated into a machine-readable form.
Testing. The testing process focuses on the logical internals of the software, ensuring
that all statements have been tested
Conduct tests to uncover errors and ensure that defined input will produce
actual results that agree with required results.
Support (maintenance) . Software will undoubtedly undergo change after it is delivered
to the customer software must be adapted to accommodate changes in its
external environment or because the customer requires functional or
performance enhancements.
Steps of waterfall Model
By : G.S. Rahul Nagda MLSU
The Waterfall Model
The waterfall model is the oldest and most widely used paradigm for software
engineering.
Advantages: Simple, step-by-step, focused, and easy to follow..
Problems:
- Inflexible because real projects rarely follow the sequential flow that the
model proposes.
- It is often difficult for the customers to state all requirements explicitly.
- The customer must have patience to wait to validate the software product in
the late phases. (until programs are implemented)
-unnecessary delays, “blocking states”
- Difficult to respond to changing customer requirements
By : G.S. Rahul Nagda MLSU
Prototype
Listen to
customer
Customer
test-drives
Prototype
Build/revise
Prototype
By : G.S. Rahul Nagda MLSU
By : G.S. Rahul Nagda MLSU
Steps of Prototype
• Identify basic requirements
– Determine basic requirements including the input and output
information desired.
• Develop Initial Prototype
– The initial prototype is developed that includes only user
interfaces.
• Review
– The customers, including end-users, examine the prototype and
provide feedback on additions or changes.
• Revise and Enhance the Prototype
– Using the feedback both the specifications and the prototype can
be improved. Negotiation about what is within the scope of the
contract/product may be necessary.
By : G.S. Rahul Nagda MLSU
Types of prototyping
• Throwaway prototyping :- Also called close ended prototyping or Rapid
Prototyping .
Throwaway refers to the creation of a model that will eventually be discarded rather
than becoming part of the final delivered software.
After preliminary requirements gathering is accomplished, a simple working model
of the system is constructed to visually show the users what their requirements may
look like when they are implemented into a finished system.
The method used in building it is usually quite informal, the most important factor
being the speed with which the model is provided.
The most obvious reason for using Throwaway Prototyping is that it can be done
quickly
By : G.S. Rahul Nagda MLSU
• Evolutionary prototyping :- builds a very robust prototype in a
structured manner and is constantly refined .
• The Evolutionary prototype, when built, forms the heart of the new
system, and the improvements and further requirements will be built.
• When developing a system using Evolutionary Prototyping, the
system is continually refined and rebuilt.
• Evolutionary Prototypes have an advantage over Throwaway
Prototypes in that they are functional systems. Although they may
not have all the features the users have planned, they may be used
until the final system is delivered.
By : G.S. Rahul Nagda MLSU
• Incremental prototyping :- The final
product is built as separate prototypes. At
the end the separate prototypes are
merged in an overall design.
By : G.S. Rahul Nagda MLSU
Advantages
• Reduced time and costs: Prototyping can improve the quality of
requirements and specifications provided to developers. Because
changes cost exponentially more to implement as they are detected later
in development, the early determination of what the user really wants can
result in faster and less expensive software
• Customers can validate the prototype at the earlier stage and provide
their inputs and feedback
• Improved and increased user involvement: Prototyping requires user
involvement and allows them to see and interact with a prototype allowing
them to provide better and more complete feedback and specifications
By : G.S. Rahul Nagda MLSU
• Good to deal with the following cases:
– Customer can not provide the detailed
requirements
– Very complicated system-user interactions
– Use new technologies, hardware and algorithm
– Develop new domain application systems
By : G.S. Rahul Nagda MLSU
Drawbacks
• Insufficient analysis: The focus on a limited
prototype can distract developers from properly
analyzing the complete project.
• User confusion of prototype and finished system:
Users can begin to think that a prototype, intended to
be thrown away, is actually a final system that merely
needs to be finished or polished
By : G.S. Rahul Nagda MLSU
• Developer attachment to prototype: Developers can
also become attached to prototypes they have spent a
great deal of effort producing it.
• Excessive development time of the prototype: A
key property to prototyping is the fact that it is
supposed to be done quickly. If the developers lose
sight of this fact, they very well may try to develop a
prototype that is too complex. When the prototype is
thrown away the time spent is wasted
By : G.S. Rahul Nagda MLSU
The RAD Model
Rapid Application Development (RAD) is an incremental software
development process model that emphasize on extremely short
development cycle.
- A “high-speed” adaptation of linear sequential model
- Rapid development is achieved by using Component-based construction
-Effective when requirements are well understood and project scope is
constrained.
-If requirements are well understood and project scope is constrained,
the RAD process enables a development team to create a “fully functional
system” within very short time periods (e.g., 60 to 90 days)
By : G.S. Rahul Nagda MLSU
Phases Of The RAD Model
Business
Modeling
Data
Modeling
Process
Modeling
Application
Generation
Testing &
Turnover
60-90 days
Team # i
Modeling information
flow among functions
Modeling information
flow in terms of business
data and objects
Defining functional
processes by mapping the
two previous results
Use fourth generation
techniques or automatic
tools to construct software
Testing new components
perform integration tests
By : G.S. Rahul Nagda MLSU
If a business application can be modularized in a way
that enables each major function to be completed in
less than three months (using the approach described
previously), it is a candidate for RAD.
Each major function can be addressed by a separate
RAD team and then integrated to form a whole.
By : G.S. Rahul Nagda MLSU
By : G.S. Rahul Nagda MLSU
Business modeling. What information drives the business process?
What information is generated?
Who generates it?
Where does the information go?
Who processes it?
Data modeling. The information flow defined as part of the business modeling phase
is refined into a set of data objects that are needed to support the
business.
The characteristics (called attributes) of each object are identified
and the relationships between these objects defined.
Process modeling. The data objects defined in the data modeling phase are
transformed to achieve the information flow necessary to implement
business function.
Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
By : G.S. Rahul Nagda MLSU
Application generation. - RAD assumes the use of fourth generation techniques.
- RAD process works to reuse existing program components
or create reusable components.
- Automated tools are used to facilitate construction of the
software.
Testing and turnover. Since the RAD process emphasizes reuse, many of the
program components have already been tested. This
reduces overall testing time.
However, new components must be tested and all interfaces
must be fully exercised.
By : G.S. Rahul Nagda MLSU
The RAD Model
Advantages:
- Short development time
- Cost reduction due to software reuse and component-based
construction
Problems:
- For large, but scalable projects, RAD requires sufficient resources
(human).
- RAD requires developers and customers who are committed to the
schedule. If commitment is lacking from either constituency, RAD
projects will fail.
- Not all types of applications are appropriate for RAD. If a system
cannot be properly modularized, building the components necessary for
RAD will be problematic.
- Not appropriate for projects with high technical risk and new
technologies.
By : G.S. Rahul Nagda MLSU
Evolutionary Software Process Models
Classic process models are not designed to deliver a production system
due to their assumptions on:
- A complete system will be delivered after the linear sequence
is completed.
- Customer knows what they want at the early stage.
The realty in a software production process -->
- A lot of requirements changes during the production course
- A lot of iterative activities and work occurs because of the
evolutionary nature of software production
To cope with the product evolution, several evolution process models
are proposed:
- the incremental model
- the spiral model
- the component assembly model
- the concurrent development model
By : G.S. Rahul Nagda MLSU
The Incremental Model
• The Incremental Model combines elements of the linear sequential model
with the iterative philosophy of prototyping.
• The first increment is a core product.
• Each linear sequence produces a deliverable “increment” of the software
• Example: - word-processing software
• User requirements are prioritised and the highest priority requirements are
included in early increments
• Once the development of an increment is started, the requirements are frozen ,
though requirements for later increments can continue to evolve.
• The incremental process model:
- Iterative in nature, like prototyping.
- Focus on the delivery of a operational product with each increment.
- Particularly useful when staffing is unavailable for a complete
implementation by the business deadline.
By : G.S. Rahul Nagda MLSU
The Incremental Model
Increment 2
analysis design code test
analysis design code test
analysis design code test
analysis design code test
delivery of 1st
increment
Increment 3
Increment 4
System/Information engineering
By : G.S. Rahul Nagda MLSU
The incremental process model, like prototyping is iterative in nature.
But unlike prototyping, the incremental model focuses on the delivery of an
operational product with each increment.
Early increments are stripped down versions of the final product, but they
do provide capability that serves the user and also provide a platform for
evaluation by the user.
Incremental development is particularly useful when staffing is unavailable
for a complete implementation by the business deadline that has been
established for the project.
Early increments can be implemented with fewer people. If the core product
is well received, then additional staff (if required) can be added to implement the
next increment.
In addition, increments can be planned to manage technical risks.
For example, a major system might require the availability of new hardware that
is under development and whose delivery date is uncertain. It might be possible
to plan early increments in a way that avoids the use of this hardware, thereby
enabling partial functionality to be delivered to end-users without inordinate
delay.
By : G.S. Rahul Nagda MLSU
Incremental development
advantages
• Customer value can be delivered with each increment so
system functionality is available earlier
• Early increments act as a prototype to help elicit
requirements for later increments
• Lower risk of overall project failure
• The highest priority system services tend to receive the
most testing

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Software process model
Software process modelSoftware process model
Software process model
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
 
Software life cycle comparison
Software life cycle comparisonSoftware life cycle comparison
Software life cycle comparison
 
Veeru sdlc ppt
Veeru sdlc pptVeeru sdlc ppt
Veeru sdlc ppt
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING
 
Software development life cycle (sdlc) overview
Software development life cycle (sdlc) overviewSoftware development life cycle (sdlc) overview
Software development life cycle (sdlc) overview
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
Ch03-Software Engineering Model
Ch03-Software Engineering ModelCh03-Software Engineering Model
Ch03-Software Engineering Model
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 

Ähnlich wie Types of models

Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Lecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxLecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxSeniorUsama
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Jauhari Ismail
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle ModelJ.T.A.JONES
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
software process model
software process modelsoftware process model
software process modeljuhi kumari
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life CycleVivek Gupta
 

Ähnlich wie Types of models (20)

Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Lecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxLecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptx
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software models
Software modelsSoftware models
Software models
 
I
II
I
 
software engineering
software engineering software engineering
software engineering
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Sdlc
SdlcSdlc
Sdlc
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?
 
System Development
System  DevelopmentSystem  Development
System Development
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Sdlc
SdlcSdlc
Sdlc
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
software process model
software process modelsoftware process model
software process model
 
PROCESS MODELS.ppt
PROCESS MODELS.pptPROCESS MODELS.ppt
PROCESS MODELS.ppt
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 

Kürzlich hochgeladen

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Types of models

  • 1. By : G.S. Rahul Nagda MLSU The ‘Waterfall’ Model The waterfall model - the linear sequential model, also called the “classic life cycle” ---> a systematic, sequential approach to software development that begins at the system level and progress through analysis, design, coding, testing, and maintenance.
  • 2. By : G.S. Rahul Nagda MLSU Software requirements analysis. Requirements for both the system and the software are documented and reviewed with the customer. Design. focuses on four distinct attributes of a program: data structure, software architecture, interface representations ,and procedural detail. The design process translates requirements into a representation of the software that can be assessed for quality before coding begins. Code generation. The design must be translated into a machine-readable form. Testing. The testing process focuses on the logical internals of the software, ensuring that all statements have been tested Conduct tests to uncover errors and ensure that defined input will produce actual results that agree with required results. Support (maintenance) . Software will undoubtedly undergo change after it is delivered to the customer software must be adapted to accommodate changes in its external environment or because the customer requires functional or performance enhancements. Steps of waterfall Model
  • 3. By : G.S. Rahul Nagda MLSU The Waterfall Model The waterfall model is the oldest and most widely used paradigm for software engineering. Advantages: Simple, step-by-step, focused, and easy to follow.. Problems: - Inflexible because real projects rarely follow the sequential flow that the model proposes. - It is often difficult for the customers to state all requirements explicitly. - The customer must have patience to wait to validate the software product in the late phases. (until programs are implemented) -unnecessary delays, “blocking states” - Difficult to respond to changing customer requirements
  • 4. By : G.S. Rahul Nagda MLSU Prototype Listen to customer Customer test-drives Prototype Build/revise Prototype
  • 5. By : G.S. Rahul Nagda MLSU
  • 6. By : G.S. Rahul Nagda MLSU Steps of Prototype • Identify basic requirements – Determine basic requirements including the input and output information desired. • Develop Initial Prototype – The initial prototype is developed that includes only user interfaces. • Review – The customers, including end-users, examine the prototype and provide feedback on additions or changes. • Revise and Enhance the Prototype – Using the feedback both the specifications and the prototype can be improved. Negotiation about what is within the scope of the contract/product may be necessary.
  • 7. By : G.S. Rahul Nagda MLSU Types of prototyping • Throwaway prototyping :- Also called close ended prototyping or Rapid Prototyping . Throwaway refers to the creation of a model that will eventually be discarded rather than becoming part of the final delivered software. After preliminary requirements gathering is accomplished, a simple working model of the system is constructed to visually show the users what their requirements may look like when they are implemented into a finished system. The method used in building it is usually quite informal, the most important factor being the speed with which the model is provided. The most obvious reason for using Throwaway Prototyping is that it can be done quickly
  • 8. By : G.S. Rahul Nagda MLSU • Evolutionary prototyping :- builds a very robust prototype in a structured manner and is constantly refined . • The Evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will be built. • When developing a system using Evolutionary Prototyping, the system is continually refined and rebuilt. • Evolutionary Prototypes have an advantage over Throwaway Prototypes in that they are functional systems. Although they may not have all the features the users have planned, they may be used until the final system is delivered.
  • 9. By : G.S. Rahul Nagda MLSU • Incremental prototyping :- The final product is built as separate prototypes. At the end the separate prototypes are merged in an overall design.
  • 10. By : G.S. Rahul Nagda MLSU Advantages • Reduced time and costs: Prototyping can improve the quality of requirements and specifications provided to developers. Because changes cost exponentially more to implement as they are detected later in development, the early determination of what the user really wants can result in faster and less expensive software • Customers can validate the prototype at the earlier stage and provide their inputs and feedback • Improved and increased user involvement: Prototyping requires user involvement and allows them to see and interact with a prototype allowing them to provide better and more complete feedback and specifications
  • 11. By : G.S. Rahul Nagda MLSU • Good to deal with the following cases: – Customer can not provide the detailed requirements – Very complicated system-user interactions – Use new technologies, hardware and algorithm – Develop new domain application systems
  • 12. By : G.S. Rahul Nagda MLSU Drawbacks • Insufficient analysis: The focus on a limited prototype can distract developers from properly analyzing the complete project. • User confusion of prototype and finished system: Users can begin to think that a prototype, intended to be thrown away, is actually a final system that merely needs to be finished or polished
  • 13. By : G.S. Rahul Nagda MLSU • Developer attachment to prototype: Developers can also become attached to prototypes they have spent a great deal of effort producing it. • Excessive development time of the prototype: A key property to prototyping is the fact that it is supposed to be done quickly. If the developers lose sight of this fact, they very well may try to develop a prototype that is too complex. When the prototype is thrown away the time spent is wasted
  • 14. By : G.S. Rahul Nagda MLSU The RAD Model Rapid Application Development (RAD) is an incremental software development process model that emphasize on extremely short development cycle. - A “high-speed” adaptation of linear sequential model - Rapid development is achieved by using Component-based construction -Effective when requirements are well understood and project scope is constrained. -If requirements are well understood and project scope is constrained, the RAD process enables a development team to create a “fully functional system” within very short time periods (e.g., 60 to 90 days)
  • 15. By : G.S. Rahul Nagda MLSU Phases Of The RAD Model Business Modeling Data Modeling Process Modeling Application Generation Testing & Turnover 60-90 days Team # i Modeling information flow among functions Modeling information flow in terms of business data and objects Defining functional processes by mapping the two previous results Use fourth generation techniques or automatic tools to construct software Testing new components perform integration tests
  • 16. By : G.S. Rahul Nagda MLSU If a business application can be modularized in a way that enables each major function to be completed in less than three months (using the approach described previously), it is a candidate for RAD. Each major function can be addressed by a separate RAD team and then integrated to form a whole.
  • 17. By : G.S. Rahul Nagda MLSU
  • 18. By : G.S. Rahul Nagda MLSU Business modeling. What information drives the business process? What information is generated? Who generates it? Where does the information go? Who processes it? Data modeling. The information flow defined as part of the business modeling phase is refined into a set of data objects that are needed to support the business. The characteristics (called attributes) of each object are identified and the relationships between these objects defined. Process modeling. The data objects defined in the data modeling phase are transformed to achieve the information flow necessary to implement business function. Processing descriptions are created for adding, modifying, deleting, or retrieving a data object.
  • 19. By : G.S. Rahul Nagda MLSU Application generation. - RAD assumes the use of fourth generation techniques. - RAD process works to reuse existing program components or create reusable components. - Automated tools are used to facilitate construction of the software. Testing and turnover. Since the RAD process emphasizes reuse, many of the program components have already been tested. This reduces overall testing time. However, new components must be tested and all interfaces must be fully exercised.
  • 20. By : G.S. Rahul Nagda MLSU The RAD Model Advantages: - Short development time - Cost reduction due to software reuse and component-based construction Problems: - For large, but scalable projects, RAD requires sufficient resources (human). - RAD requires developers and customers who are committed to the schedule. If commitment is lacking from either constituency, RAD projects will fail. - Not all types of applications are appropriate for RAD. If a system cannot be properly modularized, building the components necessary for RAD will be problematic. - Not appropriate for projects with high technical risk and new technologies.
  • 21. By : G.S. Rahul Nagda MLSU Evolutionary Software Process Models Classic process models are not designed to deliver a production system due to their assumptions on: - A complete system will be delivered after the linear sequence is completed. - Customer knows what they want at the early stage. The realty in a software production process --> - A lot of requirements changes during the production course - A lot of iterative activities and work occurs because of the evolutionary nature of software production To cope with the product evolution, several evolution process models are proposed: - the incremental model - the spiral model - the component assembly model - the concurrent development model
  • 22. By : G.S. Rahul Nagda MLSU The Incremental Model • The Incremental Model combines elements of the linear sequential model with the iterative philosophy of prototyping. • The first increment is a core product. • Each linear sequence produces a deliverable “increment” of the software • Example: - word-processing software • User requirements are prioritised and the highest priority requirements are included in early increments • Once the development of an increment is started, the requirements are frozen , though requirements for later increments can continue to evolve. • The incremental process model: - Iterative in nature, like prototyping. - Focus on the delivery of a operational product with each increment. - Particularly useful when staffing is unavailable for a complete implementation by the business deadline.
  • 23. By : G.S. Rahul Nagda MLSU The Incremental Model Increment 2 analysis design code test analysis design code test analysis design code test analysis design code test delivery of 1st increment Increment 3 Increment 4 System/Information engineering
  • 24. By : G.S. Rahul Nagda MLSU The incremental process model, like prototyping is iterative in nature. But unlike prototyping, the incremental model focuses on the delivery of an operational product with each increment. Early increments are stripped down versions of the final product, but they do provide capability that serves the user and also provide a platform for evaluation by the user. Incremental development is particularly useful when staffing is unavailable for a complete implementation by the business deadline that has been established for the project. Early increments can be implemented with fewer people. If the core product is well received, then additional staff (if required) can be added to implement the next increment. In addition, increments can be planned to manage technical risks. For example, a major system might require the availability of new hardware that is under development and whose delivery date is uncertain. It might be possible to plan early increments in a way that avoids the use of this hardware, thereby enabling partial functionality to be delivered to end-users without inordinate delay.
  • 25. By : G.S. Rahul Nagda MLSU Incremental development advantages • Customer value can be delivered with each increment so system functionality is available earlier • Early increments act as a prototype to help elicit requirements for later increments • Lower risk of overall project failure • The highest priority system services tend to receive the most testing