Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Semester Two 2017

Examination Period

ENG1003 / MCD4290

Engineering Mobile Apps

SAMPLE EXAM 1

Question 1                                                [Total Marks: 4 + 4 + 4 + 4 + 4 = 20]

Your team has been hired to design and build a web app for “NewsMag@Home” (NMH). NMH is a company which  manages  magazine  and  newspaper  subscriptions for  readers  in  Australia. They recently deployed a website update letting their customers manage their subscriptions and personal details online.

NMH want their web app to allow 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. NMH want the app to be a user-friendly mobile viewer with a minimalist feel.

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 scroll the screen up or down. Explain why this design is not ideal for navigating the app.  Describe how the design could be improved. (4 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. Explain what a wireframe is, and describe why it is useful to produce and critique wireframes at this stage of the 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 devices. Describe the technology necessary to sync data between a mobile web app running on multiple devices. Explain how this technology can be used from JavaScript. (4 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. Explain how a web app can store data locally, and discuss the limitations of this technology. (4 marks)

e)   Later  on, your final  product  is trialled  by a small group of  users but some of them have difficulties.  In fact, one  user ends  up with thirteen subscriptions to the same  magazine, saying “I just kept pressing the button but nothing happened! The app is broken!” Describe the key interface design principle that has not been met by the app. Explain how the user interface could be updated to correct this issue. (4 marks)

Question 2                                  [Total Marks: 4 + 4 + 2 + 6 + 4 = 20]

Your grandparents are getting their first computer. They want to have the Internet in order to be able to send email, read the news, and do online banking. They ask you to help them sign up for some accounts.

a)   A sales person has told them that they need to have a “solid-state drive” in their computer instead  of  a  “hard  drive” .  Describe  two  differences  between  a  solid-state  drive  and  a traditional spinning hard disk. (4 marks)

b)   When signing them up for an email account, your grandparents want to use the password “mittens” (their pet cat). Explain one kind of attack this password is vulnerable to. Then describe one characteristic of strong passwords that is designed to  mitigate this kind of attack. (4 marks)

c)   Having worked out a strong password for them, you start signing your grandparents up for other services. 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 the danger of using the same username and password for multiple sites. (2 marks)

d)   Your  grandparents  recently  read  an  article  on  cyber  security  that  mentioned  the  term “ hashing”. They ask if hashing allows them to safely reuse the same password. Explain what a hashis, and describe how it can be used for website authentication. Then explain whether or not hashes make password reuse safe. (6 marks)

e)   While they are setting up online banking, the bank website tells them they will need two- factor  authentication   but  they   are   uncertain  what  this   is.   Explain   what   two-factor authentication is and describe what would be required for your grandparents to be able to use it. (4 marks)

Question 3                                                [Total Marks: 4 + 4 + 4 + 3 + 4 = 19]

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 this information 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, you realise that most of it seems to be broken. In fact, the only part that is working are the new online leave forms. Thanks a lot Bruce!

a)   One of your colleagues thinks that you can use Gitto help manage this problem. What is Git, and how could it be used in this situation? (4 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 related to the enterLeaveHours function. This function is supposed to receive a number of hours (numHrs) and the staff member’s ID number (staffId) as parameters and update that staff member’s record 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 (i.e., it isn’t doing any error checking). 

c)   Assuming this function is called with two Numbers as arguments, explain two bugs that could potentially occur in this code given there is no error checking. (4 marks)

d)   An alternate algorithm has been considered for the enterLeaveHours function which isO(N) where the original was O(logN). Assuming the two algorithms produce the same results, state which is preferable and explain why. (3 marks)

e)   Explain why the enterLeaveHours function should include function header documentation.   Suggest two things you would expect to find in the header documentation for this function. (4 marks)

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

Your team has been hired by a large courier company that works for online shopping sites    such as eBay and Amazon. This courier company wishes to develop an online service where users can track the progress of their packages, see where they are and get an estimated delivery date.

You spoke with representatives from the courier company earlier, and while they have some   ideas not all of them are consistent with each other and there was disagreement between the representatives about exactly what the system should do and what it should look like. While    they were happy to discuss the project with you at the time, when asked about their availability they told you that they will not have much availability while the software is being developed.

a)   This project is not likely to work well if run using a standard Waterfall software development methodology.  Briefly describe the Waterfall software development methodology, and explain one reason why it may not work well for this project. (4 marks)

b)   This project is also likely to have issues if run using the Agile software development methodology.  Briefly describe the Agile software development methodology, and   explain one reason why it may not work well for this project. (4 marks)

c)   Independent of the software development methodology used, explain the link between the Requirements phase and Verification phase. (2 marks)

d)   Writeup a user story from the perspective of a user of this service.  Then explain how it meets the Negotiable criterion of the INVEST mnemonic. (5 marks)

Generally, in software projects like these, teams develop a Project Management Plan.

e)   Explain the intended audience and purpose of a Project Management Plan. (2 marks)

f)    Give examples of two types of information a Project Management Plan would be expected to contain. (4 marks)