CN2003 Software Analysis and Design
  Examination Advice
  CN2003 Home - Examination Advice - Question 3 - Answer 3

Quick Links

Frequently-asked questions »

Question »

Questions

OO class modelling 1 »

OO class modelling 2 »

Data/ Attribute Normalisation »

Fact Gathering »

DFDs and STDs 1 »

DFDs and STDs 2 »

Text in bold is suggested wording and text is italics is commentary on the answer.

First, it is important to remember to answer each part of the question.  Make it clear which part of the question you are answering by using the question parts indicated (a, b, c and d). It is useful to start each part of your answer on a new page, allowing you to add extra detail after your initial answer. 


Part a

It is important to remember to give both a definition of each concept and an example.  In the main, the definitions are standard textbook definitions, but you can maximise your marks by making sure you give a full explanation of the concept, as well as the straight-forward definition.

1. Stakeholder

Start with a basic definition.

A stakeholder is somebody or some organisation which has an interest in the proposed system.

Amplify your basic definition with some additional information.

A stakeholder might therefore be a user of the proposed system, such as a travel agent using a holiday booking system.  A travel agency customer might also be a stakeholder, because although they might not be directly using the proposed system, they have an interest in what the system will tell the travel agent.  Similarly, a holiday company whose holidays are sold through the proposed system would also be a stakeholder.

Now give an example from the case study.

'Warden' would be a stakeholder in the proposed administration system.  They might be both a user of the system and a recipient of the information produced by the system.

2. Object

Start with a basic definition.

An object is something of interest, tangible or intangible, which can be described and about which we wish to hold some information for subsequent processing. 

Amplify your basic definition with some additional information.

An object might therefore be something such as a 'book', where, in a book shop system, we would want to know the author, selling price, number of copies in stock and so on.  An object can also be something which is intangible such as an 'order for a book'.  The concept of 'order' does not result from something physical which you can touch, feel and measure, but rather from a desire for a customer to have something.  Therefore the object in this case is the 'desire' or order.   Of course, sometimes we want create a record of an order, written on a piece of paper.

Now give an example from the case study.

There are many examples of objects: accommodation unit (tangible, physical object); room offer (intangible).

3. Process

Start with a basic definition.

A process is defined as a related sequence of actions which impact upon one or more objects.

Amplify your basic definition with some additional information.

A process will last for a period of time, usually started or triggered by an event.  It does not make sense to consider part-processes since by definition the actions within a process are related by a common goal.

Now give an example from the case study.

4. Event

Start with a basic definition.

An event is an instantaneous point in time when something of interest happens. 

Amplify your basic definition with some additional information.

An event can be classified as external or internal.  An external event is something which happens outside the system boundary to which the system must respond.  An internal event is something which happens within the system to which the system must then make some additional response.

Now give an example from the case study.

'Confirm offer' is an event in which a prospective student confirms that he or she wants to accept a room offer.

Part b

In this part of the question, make sure you explain the relationship between the concepts.

1. Event and Process

An event can be used to start one or more processes.  In addition, an event may also be used to stop a process.

Now give an example.

In the case study, the event 'student accepts offer'  is followed by a description of what a student does.  What the student does is in effect the process which needs to be executed to record the fact that the student has accepted their offer.

Do not be confused by the fact that the narrative describes what the student does.  The case study describes how the system operates now (the physical description).  You are interested in what is happening (the conceptual description).

Therefore the event will trigger a process which might be named 'record student acceptance' in which a series of actions record that the student has accepted the offer and records details of the deposit paid.

2. Process and Object

When a process starts to execute, it may modify one or more objects.

Now give an example.

Following on from the example in part b(1), when a student accepts an offer, a process of 'record student acceptance' will start.  This process will first find the details of the offer (an object) and change its state from 'offer' to 'confirmed offer'.  The reason the process might do this is prevent another process cancelling offers which have lapsed (i.e. not accepted within a certain time period).  The process might also change some of the data it holds about students.

The process will also need to create an instance of an object called 'payment' to record the fact that the student will have paid a deposit as part of the offer acceptance.

You can further explain the relationship between process and objects by discussing an entity-activity or CRUD matrix.

You can see from these examples that in fact, a process can modify a whole series of objects: creating new instances, reading details or updating details of existing object instances or by deleting instances of objects.  These can be represented in a CRUD matrix.

A simple CRUD matrix for this case study might be:

Process/Object  Offer Student Payment Charge
Accept offer  U R C  
Arrive    U   C
Cancel offer       

3. Event and Object

Through processes, you can link events to objects to show which events will impact which objects.

The important point you are making here is that if you have events and processes and processes and objects, then you have implied events and objects.

You can identify all the events (internal or external) which will cause something to happen to an object as a result of the processes they trigger.

Now give an example.

The event 'student arrives' causes a series of things to happen, including the billing of a student's rent charge.  Therefore the event 'student arrives' has a direct impact on the student's account balance (the amount the student currently owes).

You can further explain how the relationship between events and objects can be formalised through an object life history. 

When you have collected all the events together which impact one object, you can create an object life history.  An object life history shows all the events which impact an object and the ordering in which they can occur.  It is possible to show repeated events and events which are optional or represent possible alternatives.

For example, the object life history below shows that a student can receive an offer.  Afterwards they make a decision either to reject or accept the offer.

Note that the box named 'Decision' is not an event, just a box to allow the grouping of events.

If the student accepts the offer, there is a series of events called accept offer, arrive and then a repetition of 'pay rent' events.

Part c

This part of the question is concerned with development teams.

Part 1

You can choose stakeholders by sampling, either randomly or systematically.  In systematic sampling, you would identify the different categories of stakeholders and may sure you take a sample from each category.

Part 2

A number of techniques might be used to run a stakeholders meeting.  Brainstorming would be a common technique to get a meeting started, where you set a question and ask those present to create as many responses as possible.  The responses are not evaluated at this stage, but are collated and used to encourage more and more answers.  Then the meeting would start to groups the answers (since some might be repeated or related) and then the different categories of answer evaluated.

An alternative approach to running a meeting would be to develop a cause-effect 'fishbone' diagram.

Part 3 

A number of techniques can be used to reconcile different views, including:

  • nominal group ranking
  • weighted group ranking
  • pairwise comparison.

Quick Tips

Hide comments »


Details correct as on 28th July 2005
(c) P.J. Layzell, C. Tjortjis 2001-2005

Home | Contact Us| Legal