You are on page 1of 28

Requirements Engineering

Prototypes

Prototype
Stakeholders often find it difficult to express their
real needs.
BIM Engineers often find it difficult to predict how
a final system will affect the working environment.
It is also difficult to know how the final system
will impact other systems during operation.
Requirement models and reviews can help reduce
some uncertainty.
There is a technique to trying out a requirement
before building it called Prototyping.
RED SUN Inc.

Definition
A prototype is an initial version of a BIM
system, which is used to demonstrate concepts,
trying out design options and generally finding
out more about the problem and its possible
solutions.
A prototype typically simulates only a few aspects
of the functions of the proposed system and may
be different from the actual implementation.
The main purpose of a prototype is to allow users
to review the requirements for the system by
actually trying them out, rather than having to
articulate the requirements based on their ideas.
RED SUN Inc.

BIM Prototyping
BIM prototyping supports:
Requirements elicitation: Prototypes allow
users to experiment to see how systems
support their work. They get new ideas for
requirements and can find what is working or
not working in the BIM, then they can rewrite
the requirements.
Requirements validation: Prototypes may
reveal errors and omissions in the
requirements which have been proposed. A
feature seems well defined but when used with
others, stakeholders may find that their view
maybe incorrect or incomplete, leading to
changing the requirements.
RED SUN Inc.

Benefits
Misunderstanding between stakeholders and
BIM Engineers can be identified quickly as
proposed functions are demonstrated.
BIM Engineers may find incomplete or
inconsistent requirements as the prototype is
developed.
A limited working system is available quickly to
demonstrate the feasibility and usefulness of
the proposed system to management personnel.
The prototype may be used as a basis for writing
the specification for the system.

RED SUN Inc.

Other Benefits
A prototype can be used for:
User training before the system is built.
Improving system usability.
Improving design quality.
Improving maintainability.
Reducing development effort.
Accelerating delivery of system.
Improving stakeholders engagement in the
development process.

RED SUN Inc.

Throwaway Prototype
Throwaway (Rapid Prototyping) is the process of
creation of a model that will be discarded after
requirements gathering is accomplished.
Throwaway is a simple working model of the
system to visually show stakeholders what their
requirements may look like when implemented
into a finished system.
Throwaway model is very informal and acts as the
starting point from which users can re-examine
their expectations and clarify their requirements.
For example: A screen display menu option.
A set of buttons, each represents a function.

RED SUN Inc.

Throwaway Prototype
Requirements
Establish
Prototype
Objectives
Define
Prototype
Functionality

Select abstract requirements


Establish prototype functionality
Build prototype (Proof of concept)
User evaluates prototype
User confirms/rejects prototype function
Prototype is discarded
Requirements are rewritten (improved)

Develop
Prototype

Evaluate
Prototype

Improve requirements specification

RED SUN Inc.

Confirm, Clarify
Requirements

Evolutionary Prototype
Evolutionary prototyping is building a very
robust prototype in a structured manner,
constantly refining it.
The evolutionary prototype forms the heart
of the proposed system, and is based on
the improvements and continual
refinement while the real system is built.
BIM Engineers only build based on
requirements that are well understood and
continually verified with stakeholders.
RED SUN Inc.

Evolutionary Prototyping
Develop Abstract
Specification

Build Prototype
System

Use
Prototype System

No

Validate
Requirements
& Build System

Yes

System Adequate?

Write preliminary abstract requirements.


Build the prototype.
User experiences/uses the prototype, determines their needs.
User verifies requirements or specifies new requirements.
Write final requirements.
Develop the real product.
RED SUN Inc.

10

Best Practices - 1
In this prototyping technique, rather than focus
on the entire system, BIM Engineers start
building a unit of the system, then uses the unit
that has been built to inform and serve as a
starting point for other units.
BIM Engineers start the process with
freeform exploration unconstrained by any
specific technology.
By asking questionIs this what users want? Is
this what the business needs? The engineer
continues to refine the idea and allows it to
manifest until they can come up with a set of
concrete realities of the actual system
requirements.
RED SUN Inc.

11

Best Practices - 2
When prototyping using the evolutionary method,
the actual system and prototype become
intertwined. If youre prototyping a new
application or product, the prototype is essentially
a rough draft of the actual application. However,
when updating the design of an existing
application, the production version can serve as
the starting point for the p rototype of the new
solution.
The true power of prototyping really emerges
during iteration when users can interact with the
prototype.
The first static prototype idea always seems
simple and elegant but when users are able to
interact with the prototype, BIM Engineers
often discover a problem that went unnoticed
when they started the prototype.
RED SUN Inc.

12

Best Practices - 3
Once users provide feedback and BIM Engineers
begin work on the next iteration, BIM Engineers
must ask: How fast will our team be able to
iterate? The longer an iteration takes, the less
valuable your prototype.
The best lesson is to have a many small-step
approach and continue to involve users in
evaluation to provide quick feedback.
Do not start a large prototype because the
complexity makes it harder for users to
experience the system and difficult to create
requirements.
RED SUN Inc.

13

Operational Prototype
Operational is a prototype built to demonstrate
that the system can satisfy user needs.
Unlike throwaway that clarifies ambiguous
requirements, operational tests the feasibility of
portions of the system, and allows users to test
quality attributes.
Operational is most often used to minimize risk in
large complex systems.
To demonstrate how a portion of the BIM
system will work once it is operational and
demonstrates whether known requirements will
satisfy users.
RED SUN Inc.

14

Benefits
Operational prototype can be used to:
Assess the feasibility of quality attributes such
as performance, usability and security.
Detect unnecessary functionality, missing
steps, or overly complex user interfaces.
Test complex or risky interfaces to external
systems.
Allow BIM Engineers to and experience design
implementation early in
the project.
Reduce overall risks by revealing missing
erroneous and infeasible requirements.

RED SUN Inc.

15

Usability Test
Usability tests can be created by recording,
observing, and analyzing what happens when
users try to accomplish tasks with operational
prototypes.
Usability tests assess user experience when
interacting with the BIM system in a controlled
environment, where data about the interactions is
collected for further analysis (i.e., number of
menu items selected, number of errors or
restarts, number of key strokes or clicks needed
to complete the task, etc.)
BIM Engineers can interview users after each use
to adjust the prototypes and understand their
opinions on the proposed system.
RED SUN Inc.

16

Usability
One of the best ways to test the usability of a
BIM system is to develop a prototype or build
a mock-up of the system, which simulates the
look and feel of the interface and brings many of
the complex interaction problems out in the open.
BIM Engineers can show the prototype to
users to determine if it was really what they had
in mind. If the prototype does not meet their
expectations, it is early enough in the BIM
development cycle to rework the requirements.
A prototype allows BIM Engineers to learn
how they need to change the requirements, if
necessary, before the requirements are fully
developed. Prototypes can help the BIM
Engineer better understand the requirements.
RED SUN Inc.

17

User Interface Prototype


A user interacts with a BIM system mostly
through the user interface, making it helpful to
spend a significant amount of time during
requirements to ensure that the user interface
makes sense, that all functionality is included,
and that the most commonly used functionality is
easily accessible. The easiest way of doing this is
using a screen prototype.
A working prototype can lead users to believe
that the system is nearly complete and that
development should not take very long. This may
lead users to believe that changes to the
prototype are costly, therefore reluctant to make
necessary suggestions to improve the program.
RED SUN Inc.

18

Prototype Tools
Efficiently using prototyping requires that
organizations have proper tools and a staff
trained to use those tools.
Tools used in prototyping can vary from individual
tools, like 4th generation programming languages
used for rapid prototyping, to complex integrated
CASE tools.
4th generation programming languages like Visual
Basic and ColdFusion are frequently used since
they are cheap, well known and relatively easy
and fast to use.
Model Generators are tools that allow you to model
the domain model, then drag and drop the User
Interfaces. They allow engineers to run the
prototype and use basic database functionality.
RED SUN Inc.

19

User Interface Prototype


Graphical user interface effort is a major part of
BIM development costs.
The dynamic nature of user interfaces do not
work well with textual descriptions and diagrams,
therefore it is recommended that BIM Engineers
use evolutionary prototyping with end user
involvement to develop graphical user interfaces
for the proposed BIM system.
Interface generators are graphical screen design
tools where interface components such as menus,
fields, icons, and buttons can be selected from a
menu and positioned on an interface for users to
select and use.
RED SUN Inc.

20

User Interface Prototype


Because the widespread availability of web
browsers and the power of hypertext markup
language (HTML), more and more user interfaces
are being built as web-based interfaces.
Web-based user interfaces can be prototyped by
using a website editor which is really a user
interface builder.
Screen design applications allows engineers to
draw the screens and model interactions between
screens. Using prototyping tools allows engineers
to enter sample data and allows users to move
between screens by pressing buttons so they can
easily understand the interfa ce and its
functionality.
Most prototyping tools produce the final output in
an HTML format so they can be easily shared.
RED SUN Inc.

21

Graphical User Interface Checklist


Same screen appears each time application is launched.
Consistent and logical navigation flows with standard GUI
features (pull-down menus, dialog boxes, toolbar buttons).
Application windows have consistent look and feel with
colors responding correctly to users color change settings.
Data formats are consistent throughout the application.
Menu options can be accessed via keyboard commands
and/or arrow keys. Mouse-only access to options should be
avoided.
Controls on page must respond properly to Tab order and
hot-keys (alt-keys).
Interface recovers gracefully from anticipated user errors
(e.g., invalid input).
Information and error messages are useful, accurate, and
correctly spelled.
Consistent interface across family of BIM applications.

RED SUN Inc.

22

Example of Scenario Question


Question:
How did you identify user requirements and needs when
using a prototype?
Answer:
I started by looking at the prototype system.
I observed a few users with the prototype to get specific
directions, I watched them while they interacted with the
system and noticed that < add your observation here>.
After they were done using the prototype, I interviewed
them separately and they answered the predefined
questions <add feedback>.
Question:
How did you record your findings?

RED SUN Inc.

23

Example Of Scenario Question


Answer:
All my data collection was done by taking notes while
watching users interact with the prototype.
I noted important features, and problems such as <add
your notes>.
After the experiment they answered the questionnaires
and I also wrote down all the interesting issues we
discussed such as <Add more notes>.
Question:
What are the needs of each user?
Answer:
The user needs are:
<Add each users needs>

RED SUN Inc.

24

Example Of Scenario Question


Question:
How do you identify requirements based on users needs?

Answer:
I identify the requirements for each user by listing as
many requirements as necessary. Most requirements will
be functional and use a template to write them down:
Requirement Identification: <REQ # 1.1>
Requirement Type: <Functional>
Description: The system allows user to enter
password

Rational: In order for the system to identify user


Source: User name ( Scott, Laura, etc.)
Dependencies: None
Conflict: None

RED SUN Inc.

25

Summary
Prototypes are used to gather requirements, and
are especially useful in visualizing the look and
feel of an application and the process flow.
Prototypes are built early in the development
lifecycle to provide insight into the system.
A prototype represents the shell of an actual
proposed system.
The useful life of a prototype will vary according
to the project lifecycle model. Some prototypes
can be thrown away and some components can
be reused later in the project.
Evolutionary prototypes can be used as the basis
for developing the final system.
RED SUN Inc.

26

Questions & Answers

RED SUN Inc.

27

You might also like