SDLC Software Prototype Model - Software Development Lifecycle (SDLC)

What is SDLC Software Prototype Model?

The Software Prototyping mentions to building software application examples which shows the functionality of the product under development, but may not really hold the exact logic of the unique software.

Software prototyping is suitable very widely held as a software development model, as it allows realizing customer necessities at an initial stage of development. It helps get appreciated feedback from the customer and helps software designers and developers recognize about what precisely is predictable from the product under development.

What is Software Prototyping?

Prototype is a working model of software with certain incomplete functionality. The prototype does not continuously hold the precise logic used in the actual software application and is an additional effort to be measured under effort approximation.

Prototyping is used to let the users assess developer suggestions and try them out before application. It also helps comprehend the necessities which are user precise and may not have been measured by the developer during product design.

Resulting is a stepwise method clarified to design a software prototype.

Basic Requirement Identification

This step includes accepting the very fundamentals product necessities especially in terms of user interface. The more intricate details of the internal design and external aspects like performance and security can be ignored at this stage.

Developing the initial Prototype

The initial Prototype is established in this stage, where the very basic necessities are showcased and user interfaces are delivered. These features may not precisely work in the same manner inside in the actual software developed. While, the workarounds are used to give the same look and feel to the customer in the prototype developed.

Review of the Prototype

The prototype developed is then accessible to the customer and the other important stakeholders in the project. The response is collected in an planned manner and used for further improvements in the product under growth.

Revise and Enhance the Prototype

The response and the review explanations are debated during this stage and some discussions happen with the customer established on factors like – time and budget constraints and technical possibility of the actual implementation. The changes established are again united in the new Prototype established and the cycle repeats until the customer expectations are met.

Prototypes can have horizontal or vertical dimensions. A Horizontal prototype shows the user interface for the product and gives a broader view of the entire system, without intent on internal functions. A Vertical prototype on the other side is a detailed elaboration of a precise function or a sub system in the product.

The purpose of both horizontal and vertical prototype is unlike. Horizontal prototypes are used to get more info on the user crossing point level and the business requirements. It can even be obtainable in the sales demos to get business in the market. Vertical prototypes are technical in nature and are used to get details of the exact functioning of the sub systems. For example, database requirements, interaction and data processing loads in a given sub system.

Software Prototyping - Types

There are dissimilar types of software samples used in the industry. Resulting are the main software prototyping types used widely −

Throwaway/Rapid Prototyping

Throwaway prototyping is also called as fast or near ended prototyping. This type of prototyping customs very little efforts with least possible requirement analysis to build a prototype. When the actual requirements are understood, the prototype is rejected and the actual system is developed with a much clear understanding of user requirements.

Evolutionary Prototyping

Evolutionary prototyping similarly called as breadboard prototyping is based on building actual functional prototypes with least functionality in the beginning. The prototype established forms the heart of the future prototypes on top of which the entire system is built. By using evolutionary prototyping, the well-understood necessities are incorporated in the prototype and the necessities are added as and when they are understood.

Incremental Prototyping

Incremental prototyping mentions to building multiple functional prototypes of the numerous sub-systems and then mixing all the available prototypes to form a complete system.

Extreme Prototyping

Extreme prototyping is used in the web growth domain. It contains of three consecutive phases. Main, a basic prototype with all the current pages is obtainable in the HTML format. Then the data handling is replicated using a prototype services layer. Lastly, the facilities are carry out and integrated to the final prototype. This process is called Extreme Prototyping used to draw attention to the second phase of the process, where a fully functional UI is developed with very little regard to the actual services.

Software Prototyping - Application

Software Prototyping is greatest useful in growth of systems having high level of user connections such as online systems. Systems which need users to fill out forms or go through many screens before data is treated can use prototyping very successfully to give the precise look and feel even before the actual software is developed.

Software that includes too much of data dispensation and most of the functionality is internal with very little user interface does not typically benefit from prototyping. Prototype development could be an extra overhead in such projects and may need lot of extra efforts.

Software Prototyping - Pros and Cons

Software prototyping is used in typical circumstances and the choice should be taken very sensibly so that the efforts spent in building the prototype add substantial value to the final software developed. The model has its own pros and cons discussed as follows.
The benefits of the Prototyping Model are as follows −

  • Improved user participation in the product even before its implementation.
  • Meanwhile a working model of the system is showed; the users get a better sympathetic of the system being developed.
  • Decreases time and cost as the flaws can be noticed much earlier.
  • Quicker user feedback is available leading to better solutions.
  • Missing functionality can be recognized easily.
  • Confusing or difficult functions can be identified.

The Difficulties of the Prototyping Model are as follows −

  • Risk of inadequate necessity study owing to too much reliance on the prototype.
  • Users may get chaotic in the prototypes and actual systems.
  • Almost, this methodology may increase the difficulty of the system as scope of the system may expand beyond original plans.
  • Designers may try to recycle the existing prototypes to build the actual system, even when it is not technically feasible.
  • The work capitalized in building prototypes may be too much if it is not monitored properly.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

Software Development Lifecycle (SDLC) Topics