Assignment 3 answers

Question 1:

WebPresentation.addSlidePage adds an HTML page to the WebPresentation.

[1 point]

Inputs:

pos -- Position in the web presentation (Integer 1 to last page)

sld -- the Monotony slide

{Also need other information -- e.g. ‘presentationLength’ so we can make a navigation link to the final slide, or ‘gifFileName’ so that we can generate it and link to it correctly. However these are probably best provided by services in WebPresentation}

[2 points]

Outputs: SlidePage.

{or none if done by side-effect}

[2 points]

{Side-}effects:

The SlidePage is the pos’th page in the WebPresentation.

[2 points]

The SlidePage contains a NavigationLink to each of the following:

A GIF file containing the GIF image of sld

The pos’th-1 slide (or ContentsPage if pos = 1)

The pos’th+1 slide (or ContentsPage if pos is last)

The first slide

The WebPresentation’s ContentsPage

{plus possible other links to home page, etc.

-- cf. Powerpoint}

[2 points]

Exceptions:

GIFNotGenerated: It was not possible to generate a GIF image from sld

{Or any sensible other exceptions}

[1 point]

 

2. (a) Normal-case scenario

 

[4 points]

(b) Exceptional case scenario (the calendar is wrong, because Person2 forgot to enter an appointment), starting where Person2 interacts with the DialogMgr to tell the system that he or she cannot attend the meeting that has been scheduled.

 

[4 points]

(c) Matter of judgment, but maybe TimeChooser should just choose times? Finding available times might be job for CalendarMgr or an additional module. Should composing a msg. be done by Notifier or a Msg module that it uses? etc.

[2 points]

3. [See newsgroup and midterm Q4a]