[meteor_slideshow slideshow=”adssa” metadata=”height: 126, width: 630″]
1. Prepare a direct interview intended to be exploratory in nature about a typical customer service process.
Now prepare the same inquiry using a questionnaire approach. Find several classmates or colleagues to
play the role of respondent for each method. What differences in the quality or quantity of responses do
2. Try this experiment: See if you can observe a classmate, co-worker, or family member performing a
common task with the person unaware that you are watching. After carefully recording your findings,
approach the person and ask if you can observe him or her performing the same task. Do not let the
person know until after the experiment that you have observed him or her once already. Did the person
do the same things? What were the differences in your findings from the two observations?
3. Suppose you are an analyst who has been tasked with developing a set of user requirements for a redeveloped
University Library system.
a. What might be some suitable methods and sources of information for you to employ, and why?
b. Think of a potential new function that a re-developed Library system might include and develop
two potential survey questions that might appear on a questionnaire of target users of the redeveloped
system about this new function. One of your questions should be faulty in some way
(e.g. unclear, ambiguous, loaded, etc) and the other should be a version that does not suffer
from such faults.
c. Give an example of each of the following (in each case try to think of an answer different from
the examples given in lectures):
i. A function the Library system performs;
ii. A constraint that applies or should apply to the Library system;
iii. A non-functional feature of the Library system;
iv. A requirement you would consider to be mandatory for the Library system;
v. A requirement you would consider to be optional for the Library system;
vi. A requirement you would consider to be a “frill” for the Library system.
4. Construct a table for the various requirements determination techniques like the one shown below and
fill in the vacant cells as appropriate.
Interview Survey Observation Document
JAD GSS Prototyping
Ease of use
Accuracy – How confident can we be that the requirements obtained through this technique are upto-date,
reliable and accurately reflect the needs of the target user community? [“High” = high
accuracy, “Medium” = moderate accuracy or “Low” = low accuracy]
Richness – How good is the technique at unearthing detail, nuances and subtleties in the
requirements determination process? [“High” = high richness, “Medium” = moderate richness or
“Low” = low richness]
Completeness – How confident can we be that all relevant requirements have been gathered
through use of this technique? [“High” = high completeness, “Medium” = moderate completeness or
“Low” = low completeness]
Efficiency – How well does this technique use resources (effort, expense, time) in the requirements
gathering process? [“High” = highly efficient, “Medium” = moderately efficient or “Low” = inefficient]
Ease of use – How easy is it to use the technique without specialized skills, professional assistance
or computerized tools? [“High” = easy to use, “Medium” = moderately easy to use or “Low” = difficult
Flexibility – How good is the technique at dealing with unexpected, unforseen or initially unknown
requirements? [“High” = very flexible, “Medium” = moderately flexible or “Low” = inflexible]
5. The following questions will require you to find multiple examples of CASE tools (not one of those
mentioned in lectures: “Software through Pictures”, “Rational Rose”, “Case/4/0”, “Modelio”):
a. Find one example each for Upper and Lower CASE tools (so two examples in total), together with
your reasons for your choice of classification.
b. Identify which of the typical CASE tool capabilities mentioned in lectures and listed below are
supported by the tools you have found.
1. Graphical system modelling tools (e.g. process, data, function, object, state, interaction … etc)
2. Data dictionary/Repository
3. Model consistency & correctness checking
4. Screen painter (i.e. support for mock-up prototyping)
5. Version control
6. Code generation
7. Automatic documentation generation
[meteor_slideshow slideshow=”best” metadata=”height: 126, width: 630″]