306x Filetype PDF File size 0.25 MB Source: bulletin.feccupit.ro
85
RAPID PROTOTYPING FOR SOFTWARE PROJECTS WITH USER
INTERFACES
1 2
1 Ali Tizkar SADABADI , Naser M. TABATABAEI
State Engineering University of Armenia (SEUA), Department of Computer Systems and
Informatics 2 Seraj Higher Education Institute, Iran
al_tz2@yahoo.com, n.m.tabatabaei@gmail.com
Key words: rapid prototyping, software, development process,
Abstract: Rapid prototyping is a process for creating a realistic model of a product’s user
interface. A rapid prototyped user interface is easy to change and gets customers involved early in
the design of the product. To prototype successfully, you should pick a rapid prototyping tool that
meets your needs, form a small prototyping team, get lots of customer feedback, and iterate until
customers are delighted with your user interface. A prototype typically implements only a small
subset of the features of the eventual program, and the implementation may be completely different
from that of the eventual product. Prototyping has several benefits: The software designer and
implementer can obtain feedback from the users early in the project. The client and the contractor
can compare if the software made matches the software specification, according to which the
software program is built. It also allows the software engineer some insight into the accuracy of
initial project estimates and whether the deadlines and milestones proposed can be successfully
met. The degree of completeness and the techniques used in the prototyping have been in
development and debate since its proposal in the early 1970's.
1. INTRODUCTION 2. ELEMENTS OF SUCCESSFUL
RAPID PROTOTYPING
The process of prototyping involves the
following steps: Successful rapid prototyping is performed:
1.Identify basic requirements: Determine •Quickly – The first pass must be done
basic requirements including the input and quickly, and subsequent improvements should
output information desired. Details, such as be incorporated immediately. While the
security, can typically be ignored. prototype needs to give customers a realistic feel
2.Develop Initial Prototype: The initial for the product, it does not need to include
prototype is developed that includes only user special graphics or computational algorithms
interfaces. that require a lot of time and effort to create.
3.Review: The customers, including end- •Iteratively – The prototyped user interface is
users, examine the prototype and provide reviewed, commented upon, improved, and
feedback on additions or changes. reviewed again in a repeating cycle. No one
4.Revise and Enhancing the Prototype: Using creates a perfect design the first time. This
the feedback both the specifications and the iterative cycle allows you to gradually improve
prototype can be improved. Negotiation about the user interface. These cycles can be
what is within the scope of the contract/product completed more quickly if the prototype is easily
may be necessary. If changes are introduced then changed.
a repeat of steps #3 ands #4 may be needed. •Using domain experts – Ideally, the
prototype should be built by a domain expert.
ISSN – 1453 – 1119
86 UNIVERSITY OF PITESTI – ELECTRONICS AND COMPUTERS SCIENCE, SCIENTIFIC BULLETIN, No. 9, Vol.2, 2009
Domain experts are familiar with the user – his requirements. In rapid prototyping, customers
or her job, expectations, requirements, jargon, are involved directly throughout the
and priorities. These people may have done the development process. Also, the traditional
user’s job in the past. Domain experts can do the process goes from requirements, to design, to
best job of incorporating user requirements into development in a fixed series of steps. In rapid
the prototype. If your prototyping tool is too prototyping, the process is iterative. This makes
difficult for the domain expert to use, make sure it easier to change or add requirements that will
that the domain expert works closely with the make the product more popular with customers.
programmer. There are two obvious differences between
the traditional product development process and
3. TRADITIONAL DEVELOPMENT the rapid prototyping process shown in Figure 1.
PROCESS VERSUS RAPID These differences are customer involvement and
PROTOTYPING PROCESS iterative design. Customers are involved only
indirectly at the beginning of the traditional
The traditional process used to develop a process, when marketing and planning specify
product follows the general steps shown in requirements. In rapid prototyping, customers
are involved directly throughout the
Figure 1. During Step 1, “Analyze Proposed development process. Also, the traditional
System,” marketing and planning identify a process goes from requirements, to design, to
customer need and determine whether the development in a fixed series of steps. In rapid
company can develop a product that will prototyping, the process is iterative. This makes
profitably meet that need. In Step 2, “Specify it easier to change or add requirements that will
Requirements,” marketing and planning draft make the product more popular with customers.
general requirements for the proposed product.
In Step 3, “Design System,” development writes 3.1. Types of prototyping: Throwaway
detailed specifications for the proposed product. prototyping
In Step 4, “Develop System,” development
creates the product. In Step 5, “Release Throwaway or Rapid Prototyping refers to
Product,” the company releases the product. the creation of a model that will eventually be
There are two obvious differences between discarded rather than becoming part of the
the traditional product development process and finally delivered software. After preliminary
the rapid prototyping process shown in Figure 1. requirements gathering is accomplished, a
These differences are customer involvement and simple working model of the system is
iterative design. Customers are involved only constructed to visually show the users what their
indirectly at the beginning of the traditional requirements may look like when they are
process, when marketing and planning specify implemented into a finished system.
requirements. In rapid prototyping, customers Rapid Prototyping involved creating a
are involved directly throughout the working model of various parts of the system at
development process. Also, the traditional a very early stage, after a relatively short
process goes from requirements, to design, to investigation. The method used in building it is
development in a fixed series of steps. In rapid usually quite informal, the most important factor
prototyping, the process is iterative. This makes being the speed with which the model is
it easier to change or add requirements that will provided. The model then becomes the starting
make the product more popular with customers. point from which users can re-examine their
There are two obvious differences between expectations and clarify their requirements.
the traditional product development process and When this has been achieved, the prototype
the rapid prototyping process shown in Figure 1. model is 'thrown away', and the system is
These differences are customer involvement and formally developed based on the identified
iterative design. Customers are involved only requirements.
indirectly at the beginning of the traditional
process, when marketing and planning specify
ISSN – 1453 – 1119
ALI TIZKAR SADABADI, NASER M. TABATABAEI
Rapid Prototyping For Software Projects With User Interfaces 87
Figure 1. Traditional and Rapid Prototyping Product Development Processes
The most obvious reason for using Making changes early in the development
Throwaway Prototyping is that it can be done lifecycle is extremely cost effective since there is
quickly. If the users can get quick feedback on nothing at that point to redo. If a project is
their requirements, they may be able to refine changed after a considerable work has been done
them early in the development of the software. then small changes could require large efforts to
ISSN – 1453 – 1119
88 UNIVERSITY OF PITESTI – ELECTRONICS AND COMPUTERS SCIENCE, SCIENTIFIC BULLETIN, No. 9, Vol.2, 2009
implement since software systems have many
dependencies. Speed is crucial in implementing 3.2.Types of prototyping: Evolutionary
a throwaway prototype, since with a limited prototyping
budget of time and money little can be expended
on a prototype that will be discarded. Evolutionary Prototyping (also known as
Another strength of throwaway prototyping is breadboard prototyping) is quite different from
its ability to construct interfaces that the users Throwaway Prototyping. The main goal when
can test. The user interface is what the user sees using Evolutionary Prototyping is to build a very
as the system, and by seeing it in front of them, robust prototype in a structured manner and
it is much easier to grasp how the system will constantly refine it. "The reason for this is that
work. the Evolutionary prototype, when built, forms
It is asserted that revolutionary rapid the heart of the new system, and the
prototyping is a more effective manner in which improvements and further requirements will be
to deal with user requirements-related issues, built.
and therefore a greater enhancement to software When developing a system using
productivity overall. Requirements can be Evolutionary Prototyping, the system is
identified, simulated, and tested far more quickly continually refined and rebuilt.
and cheaply when issues of evolvability, "…evolutionary prototyping acknowledges
maintainability, and software structure are that we do not understand all the requirements
ignored. This, in turn, leads to the accurate and builds only those that are well understood."
specification of requirements and the subsequent This technique allows the development team
construction of a valid and usable system from to add features, or make changes that couldn't be
the user's perspective via conventional software conceived during the requirements and design
development models. phase.
Prototypes can be classified according to the For a system to be useful, it must evolve
fidelity with which they resemble the actual through use in its intended operational
product in terms of appearance, interaction and environment. A product is never "done;" it is
timing. One method of creating a low fidelity always maturing as the usage environment
Throwaway Prototype is Paper Prototyping. The changes…we often try to define a system using
prototype is implemented using paper and our most familiar frame of reference---where we
pencil, and thus mimics the function of the are now. We make assumptions about the way
actual product, but does not look at all like it. business will be conducted and the technology
Another method to easily build high fidelity base on which the business will be implemented.
Throwaway Prototypes is to use a GUI Builder A plan is enacted to develop the capability, and,
and create a click dummy, a prototype that looks sooner or later, something resembling the
like the goal system, but does not provide any envisioned system is delivered.
functionality. Evolutionary Prototyping have an advantage
Not exactly the same as Throwaway over Throwaway Prototyping in that they are
Prototyping, but certainly in the same family, is functional systems. Although they may not have
the usage of storyboards, animatics or drawings. all the features the users have planned, they may
These are non-functional implementations but be used on an interim basis until the final system
show how the system will look. is delivered.
In summary, this approach to protyping is "It is not unusual within a prototyping
constructed with idea that it would be discarded environment for the user to put an initial
and financial system would be built from the prototype to practical use while waiting for a
scratch.The steps in this approach are: more developed version…The user may decide
1. Write prelim requirements that a 'flawed' system is better than no system at
2. Design the prototype all."
3. User experiences/uses the prototype, In Evolutionary Prototyping, developers can
specifies new requirements. focus themselves to develop parts of the system
4. Writing final requirements that they understand instead of working on
5. Developing the real product developing a whole system.
ISSN – 1453 – 1119
no reviews yet
Please Login to review.