0% found this document useful (0 votes)
131 views17 pages

Case Study On Prototyping Model

This document presents a case report on the Prototyping Model as part of the BSc Computer Science and Information Technology program at Tribhuvan University. It discusses the advantages and disadvantages of prototyping, its historical context, applications in software development, and methodologies for effective implementation. The report emphasizes the importance of user involvement, structured management, and clear communication to enhance project success.

Uploaded by

prazu6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
131 views17 pages

Case Study On Prototyping Model

This document presents a case report on the Prototyping Model as part of the BSc Computer Science and Information Technology program at Tribhuvan University. It discusses the advantages and disadvantages of prototyping, its historical context, applications in software development, and methodologies for effective implementation. The report emphasizes the importance of user involvement, structured management, and clear communication to enhance project success.

Uploaded by

prazu6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Tribhuvan University

Institute of Sciences and Technology

A Case Report on

“PROTOTYPING MODEL”

In partial fulfillment of the requirement for the degree of BSc Computer Science
and Information Technology

(BSc CSIT)

Submitted to:

Department of Computer Science and Information Technology Academia International


College

Submitted by:

Prajjwal Rana

Under the Supervision of

Prabin Magar

2081

I
Tribhuvan University

Faculty of Computer Science and Information Technology Academia


International College

LETTER OF APPROVAL

We certify that we have read this project report and, in our opinion, it is satisfactory in the
scope and quality as a project in the partial fulfillment of the requirement of Bachelor’s
Degree in BSc Computer Science and Information Technology.

……………………….. ..………………………

External Examiner Internal Examiner

II
Executive Summary

Prototyping, a technique utilized by organizations like Microsoft, Disney, and Tesla, plays a
crucial role in product innovation, communication, and development. By creating tangible
artifacts, prototypes enable designers, developers, managers, and end-users to visualize and
refine final systems. This iterative process, wherein a prototype is repeatedly tested and
improved based on user feedback, is particularly effective when project requirements are
initially unclear. Historical examples include Tesla's digital prototypes for detecting design
conflicts, Disney's storyboards for film production, and Microsoft's beta versions for software
testing. The approach's main advantages include reduced development time and costs, improved
user involvement, and early issue detection.

However, prototyping also has potential drawbacks, such as insufficient project analysis,
developer attachment to prototypes, excessive development time, and high start-up costs.
Despite these challenges, its applications in requirements gathering, user interface design,
feasibility studies, stakeholder engagement, and training are invaluable. Effective
implementation requires clear communication, structured management, comprehensive
analysis, sufficient resource allocation, and active user engagement. When properly executed,
prototyping enhances communication, ensures better-defined requirements, and significantly
increases the likelihood of project success.

III
Contents
Introduction .................................................................................................................. 1

History of Prototyping.................................................................................................. 2

Positive Aspects of Prototyping Model ....................................................................... 3

Negative Aspects of Prototyping Model ...................................................................... 4

Uses and Applications of Prototyping Model ............................................................. 5

Problems and Solutions in the Use of Prototyping Model ........................................ 6

Methodologies in Using Prototyping Model ............................................................... 7

Findings ......................................................................................................................... 8

Implementations ........................................................................................................... 9

Recommendations ....................................................................................................... 10

Conclusion ................................................................................................................... 11

References .................................................................................................................... 12

IV
Introduction
A prototype is a tangible artifact, not an abstract description that requires interpretation.
Designers, as well as managers, developers, customers and end-user, can use these artifacts to
envision and reflect upon the final system [1]. Tesla builds digital prototypes of its Electrical
vehicles allowing the detection of design conflicts before the parts are manufactured and
assembled. Disney uses storyboards to work through the process of producing feature-length
films. Microsoft sends out thousands of copies of "beta" versions of its software and then uses
its customers as the testers of its "prototype" [2]. It’s a powerful technique, but what place does
it have in systems analysis?

The Prototyping is one of the most popularly used Software Development Life Cycle Models
(SDLC). This model is used when the customers do not know the exact project requirements
beforehand. In this model, a prototype of the end product is first developed, tested and refined
as per customer feedback repeatedly till a final acceptable prototype is achieved which forms
the basis for developing the final product. The purpose of a prototype is to allow users of the
software to evaluate developers' proposals for the design of the eventual product by actually
trying them out, rather than having to interpret and evaluate the design based on descriptions.
Software prototyping provides an understanding of the software's functions and potential
threats or issues. [3]

For the concept of Prototyping Model, The system is partially implemented before or during
the analysis phase thereby allowing the customers and developing the incomplete high level
paper model. This document is used to build the initial prototype supporting only the basic
functionality as desired by the customer. Once the customer figures out the problems, the
prototype is further refined to eliminate them. The process continues until the user approves
the prototype and finds the user approves the prototype and finds the working model to be
satisfactory.

This paper will look at what prototyping is to systems analysis. It will explain some of the
advantages and disadvantages of prototyping and discuss why an organization might or might
not want to consider prototyping. It will discuss who should be involved in prototyping and
how to choose a prototyping approach and a prototyping tool. This is meant to be an overview
of prototyping in systems analysis rather than a step-by-step guide. Links are provided where
more information is available online.

1
History of Prototyping

Early prototyping often involved the creation of an original version of a design that was
improved upon later. This can be seen with the work of aircraft pioneers the Wright Brothers,
who improved their design by working on the real thing rather than a mock-up. This technique
was also used in early software programming, where developers would create new iterations of
an existing product.

The concept of prototyping in software development emerged in the 1970s as a method to


address the limitations of traditional waterfall models. Early prototypes were used to quickly
model user interfaces and system interactions, which could then be refined through user
feedback [4]. Prototyping played a crucial role in the evolution of iterative development
methodologies. The spiral model, introduced in the 1980s, integrated prototyping to allow for
continuous refinement of requirements and design through iterative cycles. [5]

In the late 1980s, Carl Deckard began using layered-based manufacturing which paved the way
for rapid prototyping, whereby tooling and materials are used to create 2D models and software
systems are tested before being rolled onto production [6].

An early example of large-scale software prototyping was the implementation of NYU's


Ada/ED translator for the Ada programing language [7]. It was implemented in SELT with the
intent of producing an executable semantic model for the Ada language, emphasizing clarity
of design and user interface over speed and efficiency. The NYU Ada/ED system was the first
validated Ada implementation, certified on April 11, 1983 [8].

Prototyping has come a long way since its inception and remains an important part of product
development today.

2
Positive Aspects of Prototyping Model

There are many advantages to using prototyping in software development – some tangible,
some abstract.

• Reduced time and costs: Prototyping can improve the quality of requirements and
specifications provided to developers. Because changes cost exponentially more to
implement as they are detected later in development, the early determination of what
the user really wants can result in faster and less expensive software. [9]

• Improved and increased user involvement: Prototyping requires user involvement and
allows them to see and interact with a prototype allowing them to provide better and
more complete feedback and specifications. [10] The presence of the prototype being
examined by the user prevents many misunderstandings and miscommunications that
occur when each side believe the other understands what they said. Since users know
the problem domain better than anyone on the development team does, increased
interaction can result in a final product that has greater tangible and intangible quality.
The final product is more likely to satisfy the user's desire for look, feel and
performance.

3
Negative Aspects of Prototyping Model

Using, or perhaps misusing, prototyping can also have disadvantages.

• Insufficient analysis: The focus on a limited prototype can distract developers from
properly analyzing the complete project. This can lead to overlooking better solutions,
preparation of incomplete specifications or the conversion of limited prototypes into
poorly engineered final projects that are hard to maintain. Further, since a prototype is
limited in functionality it may not scale well if the prototype is used as the basis of a
final deliverable, which may not be noticed if developers are too focused on building a
prototype as a model.

• Developer attachment to prototype: Developers can also become attached to prototypes


they have spent a great deal of effort producing; this can lead to problems, such as
attempting to convert a limited prototype into a final system when it does not have an
appropriate underlying architecture.

• Excessive development time of the prototype: A key property to prototyping is the fact
that it is supposed to be done quickly. If the developers lose sight of this fact, they very
well may try to develop a prototype that is too complex. When the prototype is thrown
away the precisely developed requirements that it provides may not yield a sufficient
increase in productivity to make up for the time spent developing the prototype [11].
Users can become stuck in debates over details of the prototype, holding up the
development team and delaying the final product.

• Expense of implementing prototyping: the start-up costs for building a development


team focused on prototyping may be high. Many companies have development
methodologies in place, and changing them can mean retraining, retooling, or both.
Many companies tend to just begin prototyping without bothering to retrain their
workers as much as they should.

A common problem with adopting prototyping technology is high expectations for


productivity with insufficient effort behind the learning curve. In addition to training
for the use of a prototyping technique, there is an often overlooked need for developing
corporate and project specific underlying structure to support the technology. When this
underlying structure is omitted, lower productivity can often result. [12]

4
Uses and Applications of Prototyping Model

• Requirements Gathering: Prototyping is particularly useful for gathering and refining


requirements in projects with uncertain or evolving needs. By creating a tangible
representation of the system, developers can engage users in meaningful discussions
and gather detailed feedback on their requirements and expectations.
• User Interface Design: Prototypes can be used to design and test user interfaces,
ensuring they are user-friendly and meet user expectations. This is especially important
for applications with complex or interactive interfaces, as early testing and feedback
can help identify usability issues and improve the overall user experience [1].
• Feasibility Studies: Prototypes can help assess the feasibility of new technologies or
design approaches before committing to full-scale development. By creating a proofof-
concept or pilot version of the system, developers can evaluate its technical feasibility,
performance, and scalability, and make informed decisions about the project's direction.
• Stakeholder Buy-In: Prototypes can be used to demonstrate the system's potential to
stakeholders and secure their buy-in and support. By providing a visual and functional
representation of the system, developers can effectively communicate the project's
value and benefits, and build confidence and trust among stakeholders [7].
• Training and Education: Prototypes can be used for training and education purposes,
allowing users to familiarize themselves with the system's features and functionalities
before it is fully developed. This can help reduce the learning curve and improve user
adoption and satisfaction.

5
Problems and Solutions in the Use of Prototyping Model

• Balancing Flexibility and Structure: Implement a structured approach to manage


changes and iterations effectively without losing sight of the overall project goals. This
can include establishing clear guidelines and processes for incorporating user feedback,
prioritizing changes, and maintaining documentation and traceability [5].
• Ensuring Comprehensive Analysis: Combine prototyping with other analysis
techniques to ensure a thorough understanding of system requirements and constraints.
This can include conducting formal requirements analysis, creating detailed
documentation, and involving subject matter experts and stakeholders in the analysis
process [4].
• Resource Management: Allocate sufficient resources for prototyping activities,
including time, budget, and personnel. It is important to plan and prioritize prototyping
tasks and ensure that they are aligned with the overall project schedule and objectives.
• User Engagement: Actively engage users in the prototyping process and encourage their
participation and feedback. This can include conducting regular review sessions,
providing training and support, and creating a collaborative and inclusive environment
for user input and feedback.
• Managing Expectations: Clearly communicate the purpose and scope of the prototype
to users to prevent unrealistic expectations about the final product. It is important to
emphasize that the prototype is a work in progress and subject to change, and to set
clear boundaries and timelines for its development and refinement.

6
Methodologies in Using Prototyping Model

• Incremental Prototyping: Develop the system in small increments, each building on the
previous one, to gradually refine the prototype based on user feedback. This approach
allows for continuous improvement and adaptation, and helps ensure that the final
system meets user needs and expectations.
• Evolutionary Prototyping: Start with a simple prototype and continuously refine and
expand it until it evolves into the final system. This approach is particularly useful for
projects with complex or uncertain requirements, as it allows for ongoing refinement
and validation of the system's design and functionality [12].
• Throwaway Prototyping: Create a prototype solely for the purpose of gathering
requirements and feedback, then discard it and develop the final system from scratch
based on the insights gained. This approach can be useful for projects with well-defined
requirements and a clear vision for the final system, as it allows for rapid prototyping
and iteration without the constraints of maintaining and evolving the prototype.
• Hybrid Prototyping: Combine elements of incremental, evolutionary, and throwaway
prototyping to create a tailored approach that meets the specific needs of the project.
This can include using throwaway prototyping for initial requirements gathering,
followed by incremental or evolutionary prototyping for ongoing development and
refinement [13].

7
Findings

• Effectiveness of User Involvement: The involvement of users in the prototyping process


was crucial to the success of the project. Their feedback helped identify and address
issues early, and ensured that the final system met their needs and expectations.
• Flexibility and Adaptability: The iterative nature of the Prototyping Model allowed for
continuous improvement and adaptation, resulting in a more flexible and user-centric
system.
• Early Detection of Issues: Developing an early prototype helped identify and resolve
potential issues before they became major problems, reducing the risk of costly changes
later in the development process.
• Improved Communication: The prototype served as a visual and functional
representation of the system, facilitating better communication between developers and
stakeholders and ensuring a clear understanding of the project's goals and progress [1].

8
Implementations
To successfully implement the Prototyping Model, organizations should follow a structured
approach:

• Select Appropriate Tools: Evaluate and choose prototyping tools that align with the
project requirements and team capabilities. Examples include Balsamic, Sketch, Axure,
and In Vision.
• Training and Skill Development: Provide training and support to the development team
to ensure they have the necessary skills to create effective prototypes.
• Define Clear Objectives: Establish clear objectives for each prototyping iteration,
including specific features to be developed and tested.
• Stakeholder Involvement: Involve stakeholders throughout the prototyping process to
gather feedback and ensure their requirements are met.
• Iterative Development: Implement an iterative development process, allowing for
continuous feedback and refinement of prototypes.
• Integration with Development Process: Integrate prototyping into the overall
development process, ensuring that prototypes are used to guide design, development,
and testing.
• Regular Reviews and Adjustments: Conduct regular reviews of prototypes and make
necessary adjustments based on stakeholder feedback and testing results [11].

9
Recommendations

• Clear Communication: Clearly communicate the purpose and scope of the prototype to
all stakeholders to manage expectations. Emphasize that the prototype is a work in
progress and subject to change, and set clear boundaries and timelines for its
development and refinement.
• Structured Approach: Implement a structured approach to manage changes and
iterations effectively. Establish clear guidelines and processes for incorporating user
feedback, prioritizing changes, and maintaining documentation and traceability.
• Comprehensive Analysis: Combine prototyping with other analysis techniques to
ensure a thorough understanding of system requirements. Conduct formal requirements
analysis, create detailed documentation, and involve subject matter experts and
stakeholders in the analysis process.
• Resource Management: Allocate sufficient resources for prototyping activities,
including time, budget, and personnel. Plan and prioritize prototyping tasks and ensure
that they are aligned with the overall project schedule and objectives.
• User Training and Support: Provide training and support to users to ensure they can
effectively contribute to the prototyping process. Create a collaborative and inclusive
environment for user input and feedback.

10
Conclusion

Prototyping can be a powerful technique in systems analysis. Before deciding to prototype


developers must look at the system under development and consider whether prototyping is
appropriate. They must weigh the potential benefits against the potential risks. They must
consider the people involved in the project, whether they are experienced prototypes or
unenthusiastic users. They must consider the prototyping approach, whether illustrative,
simulated, functional, evolutionary, or throwaway, vertical, or horizontal, low-fidelity, or high
fidelity, global or local. They must consider the tools available to them.

Appropriately used in systems analysis, prototyping can lead to improved communication


between developers and users. It can provide a process for defining the requirements. It can
allow productive work to proceed even while uncertainties remain. It can provide a living
specification for the final system. Appropriately used, prototyping can be the difference
between success and failure

11
References

[1] Michel Bedouin-Lafon, Wendy E. Mackay, "Prototype," Prototyping Tools and


Techniques, 2024.

[2] C. Melissa McClendon, Larry Rigot, Gerri Akers, " University of Missouri-St. Louis,"
18 July 2024. [Online]. Available:
https://www.umsl.edu/~sauterv/analysis/prototyping/intro.html.

[3] "Software Prototyping," INGSOFTWARE, 27 06 2018. [Online]. Available:


ingsoftware.com.

[4] C. Floyd, "A Systematic Look at Prototyping. In Approaches to Prototyping," 1984.

[5] Boehm, B. W., & Hansen, W. J., "A Spiral Model of Software Development and
Enhancement," Crosstalk: The Journal of Defense Software Engineering, pp. 4-11, 2001.

[6] Twi-global, [Online]. Available: https://www.twi-


global.com/technicalknowledge/faqs/what-is-prototyping. [Accessed 2024].

[7] Dewar, Robert B. K.; Fisher Jr., Gerald A.; Schonberg, Edmond; Froehlich, Robert;
Bryant, Stephen; Goss, Clinton F.; Burke, Michael, “The NYU Ada translator and
interpreter,” Proceeding of the ACM-SIGPLAN symposium on Ada programming
language, vol. 15, pp. 194-201, November 1980.

[8] "Ada Compiler Validation Summary," vol. 001, 11 04 1983.

[9] S. P. Overmyer, "Evolutionary Rapid Prototyping".

[10] J. Crinnion, "Evolutionary Systems Development," p. 18, 1991.

[11] Pressman, R.S., Software Engineering: A Practitioner’s Approach, McGraw-Hill


Education, 2014.

[12] J. E. Urban, "software Prototyping and Requirements Engineering".

[13] Somerville, I., Software Engineering, 10th ed., Pearson, 2016.

12
13

You might also like