9.3 Prototyping Tools


Efficiently using prototyping requires that an organization have proper and effective tools and skilled staff that
is trained to use those tools.
Many organizations use multiple prototyping tools.
Some use paper (Pictive) or white-board prototyping in the early stages of the requirements analysis that is
based on user feedback.
Once the requirements have been fully established, other, more advanced prototyping tools such as fourth
generation languages (4th GLs) are used, i.e. Visual Basic.
4GL tools are used for rapid prototyping.
Other sophisticated software prototype tools include CASE Tools.
Designer/developers use the actual tools/languages they use to build systems to create a system as a
prototype.
This prototype could still be either evolutionary or throw-away.
Although advanced prototyping methods such as fourth generation languages and CASE resemble the final
version in a more detailed and sophisticated way, they do have the drawback of being expensive.

9.3 Prototyping Tools


This is why the use of the less advanced methods such as paper, particularly for the early stages is a more
popular way of doing things.
Also, many researchers and software developers believe that this way is a lot more productive as it allows
designers and end-users to interact much frequently, compared to using CASE or 4th GLs.
This is due to the fact that prototypes are made from paper cuttings, which can be created many times a day,
each time there would be end-user feedback received.
Prototyping is an iterative process and the iteration occurs much more when the paper prototypes are used.
In the following sub-sections we present some of these tools.

White-board Prototyping
In white-board prototyping users meet in a room with a big white board and then sketch out what a screen or
report could look like, and then start changing it based on discussion and comments.
White-boards are most useful in getting data requirements quickly.
A white board could show a sample of data fields where users will quickly tell if they have the right data and
tell what data is missing.

9.3 Prototyping Tools


Users can display usually one data entity, and then have a series of displays drawn. Finally, users will end up
with a screen image version of a ER data model.

Fourth Generation Languages
Fourth generation languages such as Visual Basic and ColdFusion are commonly used in prototyping due to
them being rather inexpensive. They are also commonly used as they are regarded as being easy to use and
not too complicated to learn.
They allow software engineers to generate executable code quickly.

Specification-level-Description Language
Specification-level description languages are used to construct a system prototype, which represents part of
the system, including those necessary to meet the needs of users.

Case Tools
CASE tools are used to support requirements analysis.
They are often developed or selected by large organizations.

9.3 Prototyping Tools


Use Cases
A use case is a technique for documenting and understanding the potential requirements of the system being
developed or a change on specific part of it.
Use cases describe the way in which the system should interact with its users to attain a particular goal.
Use cases are used to simplify a certain procedure/task that the user would be carrying out when using the
system.
It shows the behavior of the system as well as the user when interacting with one another. It illustrates all the
possible ways of interaction.

Entity Relationship Diagrams
An Entity-Relationship Diagram (ERD) is a logical and abstract representation of the structured data for a
system.
It is a data oriented model of a system and does not provide any information regarding functionality of data.
An entity-relationship diagram is named as such because it depicts data in terms of the entities and
relationships described in the data.

9.3 Prototyping Tools


Entity-relationship diagram is a relational schema database modeling method, used in software engineering to
produce a type of conceptual data model (or semantic data model) of a system, often a relational database,
and its requirements in a top-down fashion.
ERD has three main components:
Data entities
Data entities relationships
Data entities associated attributes
Data entity is most elementary component of a system about which data is to be maintained.
Every entity has unique identity.
It is represented by rectangular box with the name of entity written inside.
Data entities relationships connect entities to each other.
They indicate how two entities are associated.
They are represented by diamond notation with name of relationship written inside.
Entity types that participate in a relationship is called degree of relationship.

9.3 Prototyping Tools


It can be one to one (or unary), one-to-many or many-to-many.
Figure 2 shows an example of an entity relationship diagram.
The cardinality of a relationship is the number of instances an entity has in regards to another entity.
In Figure 2 the cardinality of the relationship is one to many between the two entities class and student.

Figure 2: an example of an entity relationship diagram

The minimum cardinality of a relationship is the minimum number of instances of second entity with each
instance of first entity.