MSc-IT Study Material
June 2010 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |

Entity Relationship (ER) Analysis

Entity-relationship analysis is normally associated with systems analysis (notably database design) and, more recently, object-oriented programming, so if you have studied these topics, much of this section might seem familiar to you. Be warned, however: the task analysis we are considering here should have a much broader scope than ‘traditional’ ER modeling, being concerned with the entire work domain and not just the entities that will eventually be represented within the computer system.

Like KB analysis, ER analysis starts with the objects and actions involved in the domain. However, as well as the objects, we are concerned with their properties (and the distinction between objects and their properties, or attributes, is clearer in ER analysis than in KB analysis). Also, we are not concerned with the similarity (or otherwise) between objects, but with how they are related – for example, which actor in the domain performs particular actions on the objects.

Example

Yet again, we will start with the simple example introduced earlier: writing a letter and preparing it for posting. Since Linden's activity involves only one actor, we will only consider the more interesting case of Remi's activity using a word processor. We do something which might at first sight appear strange, namely to include some of the machines as actors, when they behave in a way that is partially autonomous:

Description of taskObjectsActors
… Remi settles down in front of his computer and opens his word processing package, using a document template that already includes his own address and today’s date. He opens his electronic address book, finds the appropriate address, and uses his mouse to copy and paste the address from the address book into his document. He starts on the body of the text: “Dear …”. When he has finished composing the letter on the screen, he selects the ‘print’ option and waits until a message appears on his screen to say “Your document Letter to KME has been printed on Laser 6”.
Word processor

Template

Address

Date

Document

Address book

Body text
Remi.

Printer

Computer
He gets up and walks out to the shared printer area, heads for the printer in the far corner, and flicks through the pages that have accumulated there until he finds his letter. He picks it up, walks back to his desk, reads it through and signs it.
Printer

Page

Letter
Remi
The printer does not print on envelopes, so he finds a sheet of mailing labels that will fit through the printer. He has a document template that is set up to print in the format appropriate for mailing labels, so he opens that and copies the information from his electronic address book to this new file. He selects the print option, remembering to select the option for ‘manual feed’ (so that he can place the blank mailing label sheet in the manual feed tray of the printer). He then walks out to the printer and inserts the mailing labels in the manual feed tray then hurries back to his office to click on the “OK” button that has now appeared next to the message “Manual feed: click OK when ready to print”.
Envelope

Label

Template

Address book

Manual feed tray

OK button

Message
Printer

Remi

Computer
He walks back to the printer again to collect the printed label, then goes to find an envelope. He folds the letter and slips it into the envelope, sticks the mailing label on the envelope, then seals it. Task completed.
Printer

Remi

Computer
Remi

The list of objects and actors presented so far may well be incomplete. In one respect this does not matter: task analysis is concerned with helping to get a good understanding of the task domain, and not necessarily with laying things out consistently and completely enough to support implementation. In another respect this is just a starting point: as the analysis proceeds, it becomes gradually more obvious what things matter and what don’t, and we may want to expand detail in some places, while ignoring other issues.

There are already some obvious relationships – for example, that a printed page belongs to someone, that the computer displays a message to a person, that an envelope has a label (maybe), etc.. The process of KB task analysis involves identifying many more such relationships.

If we move on to consider actions, we note that actions are performed by an actor, who may use some instrument (or tool ), and they change the state of some object. So, towards the end of the first stage of activity (as presented here), the printer is an actor that prints (action) the letter (object), whereas later the printer is an object into which Remi (actor) places the manual feed tray (object) containing mailing labels.

Exercise 4 ER analysis for the word-processor version of the letter writing task

Develop the ER description of the word-processing task using the ideas as presented in section7.5 of Dix et al. Are there important design points that come out of this? How does this description compare to the KB analysis you conducted earlier?

Answer at the end of the chapter.

Activity 3 entity - relationship assessment of e-commerce sites

Use the same three e-commerce sites as you used for Activity 2. This time, probe them to identify the underlying entities and relationships. Does this raise any new design issues that did not emerge during activity 2?

A Discussion on this activity can be found at the end of the chapter.

Review Question 8

What are the different kinds of entities that are generally listed in an ER analysis?

Answer at the end of the chapter.

Review Question 9

What is the most important difference between ER analysis as a form of task analysis and ER analysis for database design?

Answer at the end of the chapter.

Review Question 10

List some of the important relationships in ER analysis.

Answer at the end of the chapter.