Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

SAMPLE

EXAM


Semester One 2016
Examination Period

Faculty of Information Technology

EXAM CODES: ENG1003 / MCD4290

TITLE OF PAPER: Engineering Mobile Apps
SAMPLE EXAM

EXAM DURATION: 3 hours writing time

READING TIME: 10 minutes

THIS PAPER IS FOR STUDENTS STUDYING AT: (tick where applicable)

o Berwick þ Clayton þ Malaysia o Off Campus Learning o Open Learning


o Caulfield o Gippsland o Peninsula o Monash Extension o Sth Africa
o Parkville o Other (specify)

During an exam, you must not have in your possession any item/material that has not been authorised for
your exam. This includes books, notes, paper, electronic device/s, mobile phone, smart watch/device,
calculator, pencil case, or writing on any part of your body. Any authorised items are listed
below. Items/materials on your desk, chair, in your clothing or otherwise on your person will be deemed to
be in your possession.

No examination materials are to be removed from the room. This includes retaining, copying, memorising
or noting down content of exam material for personal use or to share with any other person by any means
following your exam.
Failure to comply with the above instructions, or attempting to cheat or cheating in an exam is a discipline
offence under Part 7 of the Monash University (Council) Regulations.


AUTHORISED MATERIALS

OPEN BOOK o YES þ NO

CALCULATORS o YES þ NO

SPECIFICALLY PERMITTED ITEMS o YES þ NO
if yes, items permitted are:



Candidates must complete this section if required to write answers within this paper


STUDENT ID: __ __ __ __ __ __ __ __ DESK NUMBER: __ __ __ __ __

Page 1 of 6
Question 1 [Total Marks: 3 + 2 + 2 + 3 = 10]

Your team has been hired to design and build a system for “NewsMag@Home” (NMH). NMH is
medium sized business which manages magazine and newspaper subscriptions for readers in
Australia and New Zealand. The want to develop an online site where users can add or remove
subscriptions from their account with the touch of a button. Users should provide details such as
their home address and contact details to facilitate delivery of their subscriptions to their home and
an email address for regular correspondence. Users are assigned an ID number automatically on
signing up to uniquely identify them in the system.

Subscriptions can be for either magazines or newspapers; each of these has a title, publisher, cost
and other details. Occasionally, the system should send special offers to users about subscriptions
that are relevant to their interests (based on what they’re already subscribed to); In particular, they
want these to go out to those who seem to be losing interest in their current subscriptions.

a) Your team begin developing user stories for the system; after reviewing these, you realize
that one of the user stories (below) has violated the independent INVEST principle.

As a user, I want to be able to add new subscriptions to my account provided I don’t already
have too many because otherwise I might end up with more than I can read at once.

Provide a new user story based on this which does meet the independent INVEST principle
(3 marks)

b) Your contact point in NHM, Callistus, has worked with programmers before and suggests
that the users be represented in the system with a USER class. Explain two benefits that this
brings.
(2 marks)

c) Your team has decided to create the USER class giving it private attributes such as name,
address, email, ID, as well as levelOfEngagement. Callistus however is concerned that if those
attributes are private, they won’t be able to be accessed or changed later on. Suggest how
private attributes of a class can be accessed and changed.
(2 marks)

d) Later on, once your team has decided upon basic design of the system, Callistus asks you to
produce a diagram of some sort that he can show to their in-house IT to see how easily the
new system can be integrated with what they already have. What kind of UML diagram
would you use here and why?
(3 marks)


Page 2 of 6

Question 2 [Total Marks: 3 + 4 + 2 + 3 + 4 = 16]

Months later, after the successful rollout of their website, NMH (NewsMag@Home) rehires your
team to provide a web app which allows users to view magazines or papers they have subscriptions
for on their mobile devices. Your point of contact for this is Sonja Wessel, whose background is in
marketing. They want the app to be a mobile viewer with a minimalist feel to it. The app should be
able to download any new subscriptions in the background and should be very user-friendly.

a) Sonja has asked that the app appear like a big scroll of text with the user just sliding up and
down along the left side of the screen to move the screen up or down. Discuss this design.
Do you feel it is sufficient by itself or should it be replaced or supplemented with another
method?
(3 marks)

b) Your team produces an initial wireframe of the app and shows it to Sonja. She seems pleased
but isn’t quite sure why you’re showing it to her since you don’t have anything built yet. Why
DID your team produce this? What benefit does wire framing bring to a project?
(4 marks)

c) Excited to be involved in the design experience, Sonja asks whether it would be possible for
the app to sync content and reading position with her other. What would be the most
appropriate communication method to facilitate this (ex. Bluetooth, Wi-Fi, Cellular, GPS,
etc.) and why?
(2 marks)

d) After trying out your prototype of the app, Sonja notices that on closing the app and
reopening it, she has to re-download her entire subscription library. What suggestion can
you make for handling this and what are its limitations?
(3 marks)

e) Later on, your final product is trialed by a small group of users but some of them had trouble.
In fact, one user ended up with thirteen subscriptions to the same magazine, saying “I just
kept pressing the button but nothing happened! The app is broken!” Which key design
principle has not been met by your app? How should the interface be updated to correct this
issue?
(4 marks)







Page 3 of 6


Question 3 [Total Marks: 2 + 2 + 3 = 7]

Your grandparents have just gotten their first computer and want to get onto the internet, sending
email, reading the news, doing online banking and ask you to help them sign up for some accounts.

a) When signing them up for an email account, they want to use the password “mittens” (their
pet cat). Suggest one kind of attack this password is vulnerable to and one way to improve
it.
(2 marks)

b) Now that you’ve worked out a strong password for them, you start signing them up for other
services but they are keen to use the same username and password combination for each
site. “It’s such a good password, why should we try to make any more?” Explain why it’s
dangerous to use the same username and password for multiple sites.
(2 marks)

c) When it comes to online banking, the website tells them they will need two-factor
authentication but they are uncertain what this is. Explain two-factor authentication and
describe what would be required for your grandparents to be able to use it.
(3 marks)

Page 4 of 6


Question 4 [Total Marks: 2 + 2 + 1 + 2 = 7]

A model train company “Toys On Tracks” has recently opened up an ordering system where users
can custom design trains to order. Customers would build train orders from a selection of small
modular carriages—for different sorts of freight or passengers, etc. These carriages can easily be
swapped out between each train and each train can be made as long as the user wants.

a) The company has chosen to store their train designs in a linked list format where each
carriage is a different node. Provide one justification in favor of this decision.
(2 marks)

b) Provide one argument against this decision.
(2 marks)

“Toys on Tracks” decides to introduce a new kind of carriage which can each display historical data
about famous trains using the web API www.allTrainsForever.com/trainInfo/

c) On one such carriage they want to display information about the OrientExpress of 1883
and make this URL request:
www.allTrainsForever.com/trainInfo/?trainName:OrientExpress,year:1883

But it doesn’t seem to work; what’s wrong with it?
(1 marks)

d) After fixing the URL as you suggested, they realize that the train should in fact have been
“the Orient Express”. Why is it now necessary for them to use the “encodeURIComponent”
function?
(2 marks)

Page 5 of 6


Question 5 [Total Marks: 2 + 4 + 2 + 2 = 10]


You are currently managing your organization’s HR and remuneration system in conjunction with
one of your colleagues, Bruce. The JavaScript-based system holds a list of a hundred staff members
as well as the hours they have worked, the pay they should receive and the leave they have accrued.
Currently if staff want to apply for leave, the forms need to be submitted as hard copies that have
to be entered manually. Bruce has started working on improving this so that they can be filled in
online by the staff member and updated automatically by the system. Once he thinks he’s done,
Bruce applies for a week’s leave for himself and heads off after a job well done… Or so he believes.
When you check the system next you realize that most of the system seems to be broken and it’s
up to you to fix it. In fact, the only part that IS working are the new online leave forms! Thanks a lot
Bruce…

a) Explain how a version control system like Git could help in this situation.
(2 marks)

b) What is a regression test? Explain how regression testing could have helped to avoid this
problem entirely.
(4 marks)

You now think that you’ve figured out that the problem is around the enterLeaveHours() function.
This function is supposed to take in a number in hours (numHrs) as well as the staff member’s ID
number (staffId) as inputs and update that staff member so that their remaining hours of leave are
reduced by numHrs. The logic of this function looks correct at first glance, but doesn’t look robust
(it isn’t doing any error checking).

c) Suggest two errors that could potentially occur if this function was passed two numbers as
arguments.
(2 marks)

d) Explain two other sets of argument values for which the function could be expected to fail.
(2 marks)




End of Examination

Page 6 of 6

You might also like