SDLC : Prototyping Model

1. What Is the Prototyping Model?

The Prototyping Model is a software development methodology in which developers create an initial version of a system, called a prototype, to understand and clarify user requirements before developing the final software.

A prototype is an early model of a system that demonstrates how the software may look or work. It may include sample screens, forms, buttons, navigation, or selected functional features.

Main purpose: To collect user feedback, identify missing requirements, and improve the system design before completing the actual software.

For example, if a university wants to develop a Student Attendance Management System but teachers are unsure about the required interface and features, developers can first create a prototype for teachers to evaluate.

2. How Does the Prototyping Model Work?

Step 1: Initial Requirements

Identify the basic needs and expectations of the users.
↓

Step 2: Quick Design

Prepare a preliminary interface and workflow.
↓

Step 3: Build Prototype

Develop an initial model of the proposed system.
↓

Step 4: User Evaluation

Users examine the prototype and provide feedback.
↓

Step 5: Refine Prototype

Improve the prototype based on user feedback. Repeat the evaluation cycle when necessary.
↓

Step 6: Develop Final System

Build the complete software with proper architecture, database design, validation, and security.
↓

Step 7: Testing and Deployment

Test the completed system and make it available to users.

Note: If users are not satisfied, developers return to the design or prototype-development stages and make improvements before proceeding.

3. Practical Example: Student Attendance Management System

Suppose a university wants to develop a Student Attendance Management System using JSP, Java, and Oracle Database.

Step 1: Identify the Problem

The university wants teachers to record attendance digitally instead of maintaining paper registers. However, teachers have different opinions about how attendance should be recorded and how reports should be generated.

Step 2: Create the Initial Prototype

Developers prepare a basic interface showing a teacher dashboard, course selection, section selection, and an attendance form.

Student Attendance System
Teacher Dashboard — Prototype
CSE 2201 — System Analysis and Design
Section A

Student Attendance (Sample)

Student ID Student Status
20261001 Student A Present
20261002 Student B Absent
Review Attendance

Illustrative interface only. This is not a working attendance application.

Step 3: Collect User Feedback

Teachers review the prototype and request several changes:

  • Display student IDs beside student names.
  • Add a class date selector.
  • Allow teachers to review attendance before submission.
  • Automatically calculate attendance percentages.
  • Generate reports by course and section.

Step 4: Improve the Prototype

Developers update the interface and workflow according to the teachers' suggestions. Teachers review the revised prototype again. This cycle continues until the requirements are sufficiently clear.

Step 5: Develop the Final System

After confirming the requirements, developers build the actual application using JSP, Java, and Oracle Database. They implement authentication, attendance storage, validation, reporting, and other required features.

The final application is tested before deployment.

What does this example demonstrate?

Without prototyping, developers might build the entire application and later discover that important features are missing. Prototyping allows teachers to identify those requirements early, reducing misunderstandings and potentially avoiding expensive rework.

4. Types of Prototyping

Type Explanation Example
Throwaway Prototyping The prototype is discarded after clarifying the requirements. A temporary attendance interface is created to gather feedback and then replaced with a properly designed application.
Evolutionary Prototyping The prototype is gradually improved until it becomes the final system. An initial attendance application is extended with reporting, validation, and access control.
Incremental Prototyping Separate parts are prototyped and later integrated. Login, attendance entry, and reporting modules are developed separately and combined.

5. Advantages of the Prototyping Model

  1. Clearer requirements: Users can explain their needs by reviewing a working representation.
  2. Early feedback: Missing features and design problems can be identified early.
  3. Better usability: Users can help improve the interface and workflow.
  4. Reduced rework: Early discovery of misunderstandings can prevent expensive changes later.
  5. Greater user involvement: Users participate actively in system development.

6. Disadvantages of the Prototyping Model

  1. Increased development time: Repeated changes may delay the project.
  2. Additional costs: Developing and revising prototypes requires resources.
  3. Uncontrolled scope: Users may continuously request new features.
  4. Poor design decisions: A quick prototype may encourage an unsuitable architecture if reused carelessly.
  5. Unrealistic expectations: Users may assume the prototype is almost complete even when major backend work remains.

7. When Should the Prototyping Model Be Used?

The Prototyping Model is especially useful when:

  • Requirements are unclear or incomplete.
  • Users are unsure about the interface or workflow.
  • A system requires significant user interaction.
  • Different stakeholders have different expectations.
  • Early feedback can prevent major design mistakes.

It is less useful when requirements are already stable and repeated user evaluation would add unnecessary cost.

8. Summary

The Prototyping Model follows a feedback-driven process: developers create an initial model, users evaluate it, and developers refine it before or during final system development.

Remember: A prototype helps clarify what the system should do; it is not necessarily the final software.

Even after a prototype is approved, the complete application still requires proper implementation, testing, security, documentation, and maintenance.

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন