Models - Software Engineering

  • Image Not Loaded
  • Classical Waterfall Model
    • Steps
      • Feasibility Study
        • Technically & Financially
      • Requirement Analysis and Specifications
        • Team, Time
        • SRS
      • Design
      • Coding and Unit testing
        • Testing each unit
      • System testing and Integration
        • Acceptance
      • Maintenance
        • 60% Effort
        • Fixing Bugs
    • Advantages
      • Base model
      • Simple and Easy
      • Small Projects
    • Disadvantages
      • No Feedback
        • Rigid -=> Can't make changes once it starts
      • No Experiment
      • No Parallelism
        • Multiple teams can't work at once
      • High Risk
  • Iterative Waterfall Model
    • Steps
      • Feasibility Study
        • No Feedback in this
      • Requirement Analysis and Specifications
      • Design
      • Coding and Unit Testing
      • System Testing and Integration
      • Maintenance
    • Advantages
      • Base model
      • Simple and Easy
      • Small Projects
      • Feedbacks
        • Can give feedback to previous steps
    • Disadvantages
      • No phase overlapping
      • No Intermediate delivery
        • Product is delivered at the end, No Prototype
      • Rigid -=> No Changes on requirements
      • Less Customer Interaction
        • Interacts at the end
  • V Shaped Model
    • Basic
      • Also known as Verification & Validation Model
      • Extension of Waterfall model
      • Testing is associated with every phase of life cycle
    • Verification Phase (Step by Step)
      • Requirement analysis
      • System design
        • Example = Design of Building
      • Architecture design
        • Example = Design of Floor
      • Module design
        • Example = Design of Room
    • Validation Phase (In the End)
      • Unit testing
        • Example = Testing of Room
      • Integration
        • Example = Testing of Floor
      • System
        • Example = Testing of Building
      • Acceptance Testing
        • Client accepts
    • Steps
      • Image Not Loaded
      • Concepts of Operation
      • Requirement and Architecture
      • Detailed Design
      • Integration, Test and Verification
      • System Verification and Validation
      • Operation and Maintenance
    • Advantages
      • Time Saving
      • Good understanding of project in the beginning
      • Every component must be testable
      • Process can be tracked easily
      • Proactive defeat tracking
    • Disadvantages
      • no feedback so less scope of changes
      • Risk analysis not done
      • Not good for big projects or Object-oriented projects
  • Prototyping Model
    • Basic
      • Throwaway model
      • Customer not clear with idea
    • Steps
      • Image Not Loaded
    • Advantages
      • Good for technical and requirements risk
    • Disadvantage
      • Increase in cost of development
  • Incremental Model
    • Basic
      • Module by Module Working
      • Good for Large projects
    • Steps
      • Image Not Loaded
    • Advantages
      • Customer Interaction Maximum
      • Early Release Product Demand
      • Flexible to changes
  • Evolutionary Model
    • Basic
      • Combination of Iterative & Incremental model
      • It first implements a few basic features and deliver to customer, then build next part and deliver it again, and so on until the desired system is fully realized
      • No long terms plans are made
      • Also known as "Design a little, Build a little, Test a little, Deploy a little"
    • Steps
      • Image Not Loaded
    • Advantages
      • Feedback in every phase
      • Initial operating time is less
      • It supports changing environment
      • Risk analysis is better
      • Better suited for large mission-critical projects
    • Disadvantage
      • Not suitable for smaller projects
      • Highly skilled resources are required
  • RAD Model
    • Time and Cost Constraints
    • User at all levels
    • Reusability
  • Spiral Model
    • Basic
      • Risk Handling
      • Radius of spiral = Cost
      • Angular Dimensions = Progress
      • Also known as Meta model
    • Steps
      • Image Not Loaded
    • Advantages
      • Risk Handling
      • Large projects
      • Flexible
      • Customer satisfaction
    • Disadvantage
      • Complex
      • Expensive
      • Too much risk analysis
      • Time
  • Agile Model
    • Basic
      • Move Quickly
    • Steps
      • Image Not Loaded
    • Advantages
      • Frequent delivery
      • Face to face communication with client
      • Changes
      • Time
    • Disadvantage
      • Less documentation
      • Maintenance problem
  • SCURM Model
    • Basic
      • It is one of the most popular agile methodology
      • Scrum is a lightweight, iterative and incremental framework
      • Scrum breaks down the development phases into stages or cycles called "sprints"
      • The development time for each sprint is maximized and dedicated, thereby managing only one sprint at a time
      • Scrum Team has scrum master and product owner with constant communications on the daily basis
    • Advantages
      • Freedom & Adoption
      • High quality, Low risk product
      • Reduce development time up to 40%
      • Scrum customer satisfaction is very important
      • Reviewing the current sprint before moving to next one
    • Disadvantage
      • More efficient for small team size
      • No changes in the sprint
Share: