Software Prototype Used In Software Development

Introduction

Software Process Model Articles Series,

  1. What is Software Development Life Cycle
  2. Waterfall Model Used In Software Development
  3. Iterative Model Used In Software Development
  4. Spiral Model Used In Software Development
  5. V-Model Used In Software Development
  6. Big-Bang Model Used In Software Development
  7. Agile Model Used In Software Development
  8. RAD Model Used In Software Development

Software Prototype is the process of building the working model of software under development. But the prototype may hold the exact functionality of the real software product. Software prototyping is most of the most popular techniques in software development. It enables the development team to understand the customer's requirements. It helps us get valuable feedback from customers and helps the development team's product designers about the actual scope of the product and what we are going to develop.

What is Software Prototyping?

Prototyping is the working model of the software with limited functionality. The prototype of the software product always does not hold the exact logic of the software. It helps us develop the initial product that is described in the proposal.

Some of the important steps are given below.

Basic Requirement Identification

This phase includes the identification of system requirements by continuously communicating with customers and developers, and Business Analysts (BA). This phase begins with the gathering of business requirements of the system. This is the most important activity and needs to be managed well. Most of the customer is not sure about what exactly they need. The system test plan is based on the system design.

Developing the initial prototype

After defining the basic requirements of the system, design the showcase of the requirement into the initial user interface of the system.

Review the prototype

After defining the initial interface, present it to the customer and other all stakeholders and collect feedback from the customer. Then, review the prototype and then redesign the prototype and then use feedback for the product under development.

Revise and enhance the prototype

The feedback of customers and comments are discussed during the Review of the prototype stage. Some negotiations happen with the customer on some factors. Time and budget constraints, feasibility constraints, and technical feasibility constraints of the actual product implementation. So, the prototype cycle is changed again and again until the customer's expectation is met.

Software Prototypes Types

We discuss the following types of software prototypes.

Through Away/ Rapid Prototyping

Trough away prototyping is rapid prototyping or close-ended prototyping. This type of prototype uses little effort and minimum requirement analysis. Once the actual requirements are understood, then a prototype is discarded, and the actual product is developed based on clear and understood requirements.

Evolutionary Prototyping

Evolutionary development is called breadboard prototyping, which means building a functional prototype with minimal functionality at the beginning of the software development process. By using evolutionary prototypes, we use the prototype in later stages, and in this type of prototype, the requirements are well-understood and are included in the prototype, and other requirements are added when they are well-understood.

Incremental Prototyping

Incremental prototyping refers to incrementally building multiple fully functional prototypes integrating all the prototypes at the end of the system development.

Extreme Prototyping

The extreme prototype is used when in the website development domain. It consists of three sequential phases. First, the prototype is made with all existing resources and presented on HTML pages then data is simulated using prototypes. In the final phase, the services are implemented with final prototypes.

Applications of prototyping

Prototyping has great importance in software development. It increases user involvement in the system, so the quality and user expectations are met very efficiently. Software prototype provides an initial preview of the system, so that is why it is widely used in the modern software development industry.

Advantages of Software Prototyping

  • It increases user interaction with software development teams before and in the middle of the system development.
  • It helps the user to understand the system well before it is developed the system.
  • Reduce development time and cost because the defects can be detected much earlier.
  • Encourage customer feedback.
  • Missing functionality can be identified early.
  • A quick review of the initial software product
  • Confused and hidden functions can be identified.

Disadvantages of Software Prototyping

  • Risk is insufficient requirement analysis on the dependency of the prototype.
  • Users may get confused about the prototype and the actual system.
  • Developers may use the existing prototype, but technically it is not feasible.


Similar Articles