0% found this document useful (0 votes)
18 views8 pages

ADT372SjuneMemo v12

Uploaded by

Aneal Tose
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views8 pages

ADT372SjuneMemo v12

Uploaded by

Aneal Tose
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

DATE

SUBJECT TOTAL MARKS DURATION

APPLICATIONS DEVELOPMENT 22 May 2017 70 2 HOURS


THEORY III (ADT372S)

FACULTY OF INFORMATICS AND DESIGN

COURSE: ND: INFORMATION TECHNOLOGY


OFFERING: FULL TIME and PART TIME

EXAMINER : MRS G KHAN


MODERATOR (INTERNAL) : MRS E ZIETSMAN
MODERATOR (EXTERNAL) : DR M NORMAN

SPECIAL INSTRUCTIONS
 Answer all the questions.
 This is NOT an open book test.
 Diagrams should be done in pencil.

REQUIREMENTS
 Answer books

1
Memorandum

Question 1 (30 marks)

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 marks per explanation


1.2.1  Use-cases are effective for gathering requirements from the [6]
different types of users about how they view their interaction with
the proposed system.
 Actors represent potential types of users and can represent a
particular user group’s viewpoint with respect to how they will
interact with the system
 The analyst will talk to potential users or their representatives about

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

Customer Customer Admin Admin Staff

Order New DVDs

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.

A behavioural model represents the dynamic behavior of a state of a


system by showing its states and the events that cause the system to
change state. Examples include state transition diagrams and data flow
diagrams, and in UML, activity diagrams serve to model the behaviour of
the system.

When discussing requirements with potential customers it is important to


clarify the main functionalities that they require from a system.
Thereafter, a model will show the logical view of the main parts of the
system in terms of its functions, how these are decomposed into simpler
functions, i.e. the overall functional composition of the intended system.
The behavioural models give the users deeper insight into the proposed
working of the system and how it will behave when it is fully developed
and running.

Question 2 (20 marks)

2.1  Software as a Service means access to software is provided to [8]


customers/users via a network, typically the internet,
 by a vendor or service provider who
 hosts the software remotely
 The customers/users usually pay a subscription to have access to
the software as a service on the remote host, so it can be thought of
as a “pay-as-you-go” model of delivering software. It is sometimes
also called “software on demand” as customers/users access the
service on an as-needed basis,
 they do not need to buy, install and manage the software.
 Many business applications are available as SaaS and this means
companies can concentrate on their core business and using only the
software services when they need them.

Sample example of software as a service is a business application such as

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 marks for any suitable example

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.

Some disadvantages are


 loss of control and knowledge of the software
 their requests for changes to the software service may be ignored if
they are too small users of the service and if they are not in line with
the service provider’s development plans
 there is also a risk that data sent to be processed remotely may be
insecurely handled by the service provider.
 The service provider may not provide details of how its software has
been developed or how it is maintained so it may be difficult for
customers to determine its quality before purchasing the service.
 The service provider’s business could fail leaving the small company
without any payroll service.
Any 2 advantages and 2 disadvantages

2.3 The developers of this software service could overcome the disadvantages as [4]
follows:

 In their contracts with users/customers, the provider could make


clear the extent of customization that customers are allowed and
state their policies on maintenance of the software underlying the
5
service.
 Developers could ensure that the underlying software has been
developed to facilitate its future maintenance and enhancement.
 The providers could also provide data concerning the quality,
reliability and security of the service and guarantees of service.

2 marks per any 2 points

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.

As a manager I want to do what if analysis while planning


OR
As the owner/manager I want to be able to create a new staff member when
they join the company

Question 3 (20 marks)

3.1 Answers should: [12]

- 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

- Link the two classes by association (“mobile device” downloads to


“musiclibrary”.

Further, the “realization” of the download()or retrieve() mobile device method


can be located in the Application class, but the relationship of aggregation
remain with the musiclibrary. 3 marks

3.2 SAMPLE answers could be text [4]

--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

post: numberOfFiles() = numberOfFiles()@pre + 1


MusicLibrary.retrieve(fileID) = p

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.

So, some recommendation that outlines the development approach adopted


by an agile method such as XP:
 the lifecycle consist of selecting user stories (requirements) for this
release (or increment);
 break these down to directly implementable tasks;
 the programmers, working in pairs, plan the release by developing test
before writing any code;
 coding, integration, and testing is carried out concurrently;
 software is released to the customer; the system so far is evaluated
for simplicity and efficiency (refactoring), before returning to the
selection of another user story.

Any 2 suitable answers per agile principles

PLUS any 2 REASONS :

- the delivery of systems that meet customer requirements since


the customer is committed early, and is a regular contributor to the
decision-making and direction of the project.
- the emphasis on people through such things as pair programming
means that teams are highly motivated and more adept at spotting
and eliminating defects.

****** END OF MEMORANDUM *******

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy