![]() |
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. |
![]() |
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. |
![]() |
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. |
![]() |
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 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 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 are used to support requirements analysis. |
![]() |
They are often developed or selected by large organizations. |
![]() |
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. |
![]() |
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. |
![]() |
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. |
![]() |
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. |

![]() |
The minimum cardinality of a relationship is the minimum number of instances of second entity with each |
| instance of first entity. |