Date | November 2019 | Marks available | 2 | Reference code | 19N.3.HL.TZ0.1 |
Level | HL | Paper | 3 | Time zone | no time zone |
Command term | Identify | Question number | 1 | Adapted from | N/A |
Question
Refer to the Paper 3 Case study: a new computer aided dispatch system for Bangbai, available under the "Your tests" tab > supplemental materials.
Identify two smartphone resources that might limit the user experience of the Bangbai app.
Outline why an application programming interface (API) would be useful when developing a smartphone app which uses the CAD system.
Markscheme
Award [2 max].
Award [1] for each smartphone resource identified up to [2 max].
Screen size;
Memory;
Processor speed;
Available primary or secondary storage;
Battery life;
GPS Receiver;
Do not accept any resources that are obviously on the server side
Do not accept software as a resource.
Award [2 max].
Award [1] for identifying why an API may be useful and [1] for a brief elaboration up to [2 max].
An API ensures abstraction;
as the user only how the service is requested, how the service is implemented;
An API acts as a “contract” or definition of the services of the CAD system;
which makes it clearer to client application developers and back-end developers;
The API would ensure arguments (parameters) are passed to the system;
in the correct order and type);
An API would make sure that the app is expecting a specific data type;
which will be returned from a CAD request/service;
An API provides a consistent method/protocol/interface for building a resource;
and thus, reduces the amount of programming required/provides structure.
An API would allow the smartphone app and the CAD system to be “compatible”;
can be easily updated if the situation changes;
An API ensures authentication/authorisation/security checks are carried out;
before allowing operations to be done;
Using an API would allow server to be more secure;
as unused ports and binary/executables/programs/scripts could be hidden from users. (i.e. Only the API handler would be accessible, not the program modules);
Using an API would allow changes to be coordinated between all users;
and backward compatibility when the app is upgraded;
An API standardises the operations available across different clients/devices;
and the level of service would not be as device dependent;
An API would allow the server to track usage of individuals (through keys);
To identify when certain users were overusing services;