ADT372SjuneMemo v12
ADT372SjuneMemo v12
SPECIAL INSTRUCTIONS
Answer all the questions.
This is NOT an open book test.
Diagrams should be done in pencil.
REQUIREMENTS
Answer books
1
Memorandum
1.1.1 Software prototyping involves building a model of a software system for [1]
customer and developer assessment.
1.1.2 It can be a working model but may not be a fully working model [3]
as it may be built only to demonstrate particular features of the
proposed system to user.
The prototype can be evolved into the production system, or
it can be thrown away after it has served its purpose as a
demonstrator of the feasibility of some required functionality
during requirements analysis.
1.1.3 Dynamic Visual Displays or Novel User Interfaces are often [6]
prototyped to give the users an understanding of the intended
“look and feel” of the proposed system.
Vague or poorly expressed requirements or uncertain requirements
are sometimes prototyped so that the developers can get a better
idea of what the customers need.
The customer may not understand what is technically possible and
the prototype can demonstrate a potential functionality. The
prototype can allow users to experiment with potential functionality
and gain a better understanding.
2
how they need to interact with the system and with other users of
the system to form a picture of the actors needed and the classes
of interactions.
The analyst will then develop specific use-cases for each type
of users and discuss these with users getting their feedback,
possibly revising the use-cases.
All the use-case diagrams can be combined to give an overall
picture of the system.
When these diagrams are shown to users, they can confirm that
their requirements have been understood and met, and if that is
not the case, the analyst will need to determine what the problem is
and revise the diagrams accordingly.
1.2.2 [5]
DVD System
Search DVD
Buy/Sell DVD
Mark allocation
Any suitable use-case diagram showing at least two actors with 3
associated interactions correctly linked
1.3 [8]
A functional model illustrates its main functionalities of a system. It is
typically a hierarchical decomposition showing the main functional sub-
systems, modules or classes with their associated methods. It provides a
3
static view of the system.
4
customer relationship management (CRM), offered centrally as a service, via
web access, to a number of businesses that can use the CRM as needed.
2.2 [4]
There are many advantages that a small company can obtain from using an
externally sourced payroll system provided as software as a service.
They do not have to invest in developing their own payroll software or
purchasing and maintaining the payroll software.
They will not have the cost of extra hardware and staff to run the
payroll software internally.
They can concentrate on their core business functions and simply
make use of the payroll software on an as-needed basis.
The service provider is responsible for maintaining the software.
2.3 The developers of this software service could overcome the disadvantages as [4]
follows:
2.4 Suitable answers need to articulate the following important questions:- [5]
Who are we building it for, who the user is? — As a <type of user>
What are we building, what is the intention? — I want <some goal or
objective >
Why are we building it, what value it brings for the user? — So that
<benefit, value>
Mark allocation
Appropriate User = 2; intention =1; appropriate benefit = 2
e.g.
- Identify two basic classes: the mobile device and the Soundlibrary;
- A third class, known as the “Application” can be introduced and
represented as an aggregation of the mobile device and musiclibrary classes
- Specify public attributes. These may include getters and setters as well as
6
- Library public methods such as add(), delete(), retrieve(), and
mobile device method “download()”. 9 marks
--The precondition states that the number of files is less than 1000 and the
file to be added is not already present in the library (indicated by the return
of a “null” value).
--The post-condition states that the number of files in the library is one
greater than its precondition value. Further, the file to be added is now
present in the library.
or code
contextaddAudioFile
pre: MusicLibrary.numberOfFiles() < 1000
MusicLibrary.retrieve(fileID) = Null
3.3 [4]
customer involvement
– consider and seek commitment of the customer as a member of the
development team;
incremental delivery
– early and regular delivery to the customer of increments that perform useful
7
work;
embracing change
– the design process is one that expects and accommodates change;
maintaining simplicity
– developers are continually engaged in ensuring that the system structures
remain simple;
placing emphasis on people not process
– team member skills are recognized, and are allowed to operate with a high
degree of autonomy.