Software Engineering Tutorial

Introduction SDLC

SDLC Models

Agile Model Big-bang Model Incremental Model Iterative Model Prototype Model RAD Model Spiral Model V-Model Waterfall Model

Software Management

Project Management Project Management Activities Project Management Tools

Software Metrics

Software Quality Metrics Halstead's Software Metrics Object Oriented Metrices Data Structure Metrics Overall Equipment Effectiveness Some Important Quality Metrics

Project Planning

Software project planning Cost Estimation Model

Software Configuration

Software Configuration Management Project Monitoring and Control

System Design

Strategies for System Design Caching in System Design Load Balancer – System Design Dropbox - System Design Netflix - System Design Twitter - System Design

Misc

Routing Requests through Load Balancers Object Oriented Analysis and Design in Software Engineering Online Library Management System ER Diagram in Software Engineering Umbrella Activities in Software Engineering Call and Return Architecture in Software Engineering What is Adaptive Maintenance Architectural Genres in Software Engineering Formal Methods in Software Engineering Software Re-Engineering Types of Software Engineering Non-Functional Requirements in Software Engineering Principal Software Engineer Reverse Engineering in Software Engineering Role of Software Engineer Software Engineering Projects Maintenance in Software Engineering CMM Stands for in Software Engineering What is a Software Crisis? What is Staffing in Software Engineering Linear Sequential Model in Software Engineering

Iterative Model in Software Engineering

This model consists of the same phases as the waterfall model, but with fewer restrictions. Generally, the phases occur in the same order as in the waterfall model, but these may be conducted in several cycles. A reusable product is released at the end of the cycle, with each release providing additional functionality.

Iterative  Model in Software Engineering

The various phases of Iterative Model

Requirement and analysis phase

In this phase, requirements are collected from customers and examined by an analyst to see if the requirements will be met. Analysts examine what should or should not be achieved within the budget. After all this, the software team proceeds to the next stage.

Design

In the design phase, the team designs the software with different diagrams such as data flow diagram, activity diagram, class diagram, state transition diagram, etc.

Implementation

In the implementation phase, coding is done, and it is converted to complete software.

Testing

After completing the coding phase, software testing starts using various testing methods. There are various testing methods, but the most common is white box testing, black-box testing, and gray box testing methods.

Deployment

After completing all the steps, the software is deployed in its work environment. In this phase, after product deployment, the review phase is carried out to check the behavior and validity of the developed product.

Review

In this phase, after product deployment, the review phase is carried out to check the behavior and validity of the developed product. And if an error is found, the process begins to review again.

Maintenance

In the maintenance phase, there may be some bugs after the deployment of the software in the work environment; some errors or new updates are required. Maintenance includes debugging and new additional options.

Advantages of Iterative Model

  1. Many features can be developed quickly in the life cycle.
  2. Results are received quickly and periodically.
  3. Testing and debugging is easy during short iterations.
  4. Less expensive to change scope / requirements.
  5. Suitable for large projects.

Disadvantages of Iterative Model

  1. Requires more management attention.
  2. Risk analysis requires highly efficient resources.
  3. The project completion date has not been confirmed due to changing requirements.