Objective:
This assignment has been designed for students to apply advance programming techniques in developing and testing mobile application.
Requirements:
Mobile Client & Web System
Using Android Mobile Client and web technology, develop a mobile system having both mobile as well as Web based data exchange mechanism using REST service framework. You are required to get approval of your system idea from the module lecturer before you proceed for the development work. A sample of project management theme is given below but this is just for guidance. You do not need to stick rigidly to this idea:
Mobile system for enhancing the productivity of field staff team
Team management is difficult even when staff share the same office. It gets further complicated to keep everything in order when team members are deployed in different locations. Companies spend hours coordinating jobs, making multiple phone calls to customers and team just to get a job done. It becomes paramount for team managers to know field staff’s current and previous locations as they move in real time. You are required to develop an Android based mobile system to facilitate real-time task allocation and location visibility of team members without interruptive phone calls. The mobile system should accommodate below functionality areas.
- Job Assignment and Scheduling – Assign job & schedule to field staff using mobile or web app. Team member will be able to accept and update job status using mobile app.
- Geofence – Get instant notification when employee enter and exit a predetermined location or customer office
- Automated Navigation to Job Location – Integrate to popular route navigation apps like Waze and Google Maps to ensure timely arrival for customer appointment
- Job Status and Reports – Get real-time job status, notes and images from the job location
The objective of your system should be to provide a mechanism to store and retrieve data from a backend database for both mobile specific user and web based admin interfaces. The information or data will be managed through server based Web APIs running on Web server for further processing and/or display purposes through mobile and Web application interfaces. The overall system will basically consist of following technical components:
- An Android native mobile application to act as both data consumer & data provider
- A Web application to act as both data consumer and data provider
- A REST based Web API facilitating access to backend data
- A mobile based REST client library (such as Retrofit & Picasso etc.) facilitating mobile network access and data parsing for both textual and image based binary data
- Google Fused Location Provider API for integrating with location services
The Android mobile application involves designing and building the application that will run on the mobile device to manage scenario specific data. A suitable user interface should be designed, implement and tested. It is important when designing this part to consider how it will work as part of the overall system. Careful consideration should be given to the way in which data is held and persisted.
The Web application involves completing the application by developing the Web components of the system and the communications between the mobile device and the Web application through shared data source.
The system must be supported with a suitable design, typically using UML type notation and appropriate accompanying documentation. The design should be succinct but in sufficient detail to explain how the system works.
You are required to include a critical evaluation section in your documentation on your overall system.
Marking Criteria:
This individual practical assignment contributes 70% of the total mark for the module incourse.
This assignment consists of 1 section, and the criteria used to evaluate the assignment is as follows:
Mobile Client and Web System (70%)
This system consists of TWO components:
- A mobile client application to act as both data consumer and provider
- A web application to act as both data consumer and provider
The criteria used to evaluate this system are as follows:
- On the mobile client application
- Appropriateness of the User Interface
- Program functionalities
- Appropriateness of the backend data implementation using REST
- On the web application
- Appropriateness of the User Interface
- Program functionalities
- Appropriateness of the backend data implementation using REST
- Execution of program without errors and in accordance to the design.
- Presentation of the system.
- Documentation to include:
- Overall system design with appropriate modelling diagrams
- Test Report
- Critical Appraisal
Performance Criteria:
A+ : 80%+ | Work of distinguished quality, demonstrating authoritative grasp of mobile software development technologies, and the candidate has the ability to effectively create excellent features for mobile applications, and design proper documentation for the implemented applications.
|
A : 75-79%
|
Demonstration of very high understanding of mobile software development technologies and candidate was able to achieve number of very good features for mobile application and design mostly accurate documentation for the implemented applications.
|
B+ : 70-74% | The implemented applications demonstrate good understanding of mobile software development technologies and candidate was able to develop good features that are relevant to each mobile application and design mostly good documentation for implemented applications. |
B : 65%-69% | Demonstration of above average understanding of mobile software development technologies. Candidate was able to show that she/he had the ability to develop good features that are relevant to each mobile application. However, the documentation may be lacking in an in-depth discussion of the developed applications.
|
C+ : 60%-64% | The implemented applications demonstrate an understanding of mobile software development technologies. There is structure in the documentation and there are no serious omissions or irrelevancies. Amount of features within the implemented applications was limited.
System design documentation is basic but does not document any in-depth details of the implemented program applications.
|
C : 55%-59% | Average program implementation. Applications have working features but may be flawed by omissions and/or irrelevancies. System design documentation is basic and may contain minor omissions/mistakes.
|
C- : 50%-54% | Weak program implementation. Applications have limited working features and contain significant flaws by omissions and/or irrelevancies. System design documentation is available but contains significant omissions/mistakes.
|
D : 40%-49% | Poor program implementation. Applications have only a few working features as required and unable to complete the system flow. System design documentation is available but has very little resemblance to actual implementation.
|
F+ : 30-39% | Very poor program implementation. Applications have very limited working feature and do not meet most of expected requirements of the problem scenario in the assignment. System design documentation is mostly irrelevant.
|
F : 20-29% | Irrelevant program implementation provided. Applications have no working features and do not meet any expected requirements of the problem scenario in the assignment. System design documentation is irrelevant.
|
F- : 0-19% | No program implementation provided. Applications have no working features and do not meet the expected requirements of the problem scenario in the assignment. System design documentation is not available. |
MARKING SCHEME
Criteria
|
|||||
Excellent
|
Good
|
Average
|
Poor
|
Very Poor
|
|
1.Mobile application (50 Marks) | 40 – 50 | 33 – 39 | 25 – 32 | 18 – 24 | 0 – 17 |
– Appropriateness of the UI | |||||
– Application functionalities | |||||
– Appropriateness of backend service implementation. | |||||
2. Web application (15 Marks) | 12 – 15 | 10 – 11 | 8 – 9 | 6 – 7 | 0 – 5 |
– Appropriateness of the UI | |||||
– Application functionalities | |||||
– Appropriateness of backend service implementation. | |||||
3. Execution of program without errors and in accordance to the design (10 marks) | 8 – 10 | 7 | 5 – 6 | 4 | 0 – 3 |
4. Presentation (10 Marks) | 8 – 10 | 7 | 5 – 6 | 4 | 0 – 3 |
5. Documentation (15 Marks) | 12 – 15 | 10 – 11 | 8 – 9 | 6 – 7 | 0 – 5 |
– Overall system design with appropriate modelling diagram | |||||
– Test Report | |||||
– Critical Appraisal | |||||
Sub Total | |||||
|
Total Marks = (Sub Total) * 0.7 = _______________
Performance Criteria – Individual Sections
- Mobile Application (50%)
40 – 50 Marks: User interface is user friendly and capable to capture/present all the essential information required by the application functions. All the UI components are strategically designed to accommodate device screen constraint. The functions implemented are highly relevant and complete to demonstrate the logical process flow. Backend data is well structured and highly logical based on the product scenario.
33 – 39 Marks: User interface is appropriate. However, the small display device UI design concept is not fully applied. Screens navigation is generally acceptable. Most of the relevant functions are implemented. Backend data is appropriately designed to capture most of the essential data for the intended application scenario.
25 – 32 Marks: User interface is generally acceptable. No obvious effort in applying UI design concept for small screen device. Most of the essential functions related to the application scenario are implemented. Backend data related to the application is not sufficiently designed to capture all the necessary data.
18 – 24 Marks: User interface is lacking in accommodating all the necessary data required for application scenario. No obvious effort in applying UI design concept for small screen device. Most of the essential functions related to the application scenario are not implemented. Backend data related to the application is not sufficiently designed to capture all the necessary data.
0 – 17 Marks: User interface is significantly lacking to accommodate the application functionalities. Only one or two functions related to the application scenario are implemented. Backend data is not appropriately designed and not sufficient to capture application data.
- Web Application (15%)
12 – 15 Marks: User interface is user friendly and capable to capture/present all the essential information required by the application functions. All the UI components are strategically designed to accommodate the application scenario. The functions implemented are highly relevant and complete to demonstrate the logical process flow. Backend data is well structure and highly logical based on the product scenario.
10 – 11 Marks: User interface is appropriately designed to accommodate application functionalities. Screens navigation is generally acceptable. Most of the relevant functions are implemented. Backend data is appropriately designed to capture most of the essential data for the intended application scenario.
8 – 9 Marks: User interface is generally acceptable. Minor issues detected in areas such as screen navigation, data validation and formatting. Most of the essential functions related to the application scenario are implemented. Backend data related to the application is not sufficiently designed to capture all the necessary data.
6 – 7 Marks: User interface is lacking in accommodating all the necessary data required for application scenario. Most of the essential functions related to the application scenario are not implemented. Backend data related to the application is not sufficiently designed to capture all the necessary data.
0 – 5 Marks: User interface is significantly lacking to accommodate the application functionalities. Only one or two functions related to the application scenario are implemented. Backend data is not appropriately designed and not sufficient to capture application data.
- Program execution (10%)
8 – 10 Marks: Program executed with no errors or bugs detected. Both web application and device application are perfectly integrated. No data integrity issue presented during the execution.
7 Marks: Program executed with minor errors or bugs detected. Both web application and device application are integrated. Minor data integrity issues detected during the execution. A test report is presented in the documentation and the errors or bugs are clearly indicated in the test report.
5 – 6 Marks: Program executed with easily detectable errors or bugs. Integration between web and device are appropriately done. The test report failed to provide complete test scenario.
4 Marks: Program executed with major errors or bugs detected. Integration between web and device application are not sufficiently done. Execution severely affected by such errors. A test report presented but lacking in most of the essential test scenarios OR a test report is not presented.
0 – 3 Marks: Program not able to execute due to errors and bugs presented in the coding.
- Documentation (15%)
12 – 15 Marks: Accurate and detailed system modelling, incorporate applications integration and architecture diagram. The test report is extensive and detailed, covering various aspects of the system. A highly relevant critical appraisal is provided.
10 – 11 Marks: Appropriate system modelling for both web and device application are provided. System integration diagram is not provided or is presented but lacking in good accuracy. Test report is provided with sufficient details to cover most of the system functions. The system is generally appraised.
8 – 9 Marks: A system modelling diagram is provided but lacking in good details and accuracy. System integration diagram is not provided or is presented but lacking in good accuracy. The test report is provided, covering some essential system functions. The system is generally appraised.
6 – 7 Marks: A system modelling diagram is provided but errors can be easily detected. The test report is presented in the document but not sufficient to cover some of the system functions. An appraisal is provided but lacking in accuracy and good details.
0 –5 Marks: None of the required components are presented in the documentation OR the components presented failed to describe implementation related details.
- Presentation (10%)
8 – 10 Marks: Implementation presented with good clarity. Capable to answer all questions asked during the presentation and proven technical knowledge in data synchronization using Web API concept.
7 Marks: Implementation presented with appropriate clarity. The student’s capability in answering queries related to the implementation is slightly lacking due to his/her knowledge in various aspects of Backend data synchronization.
5 – 6 Marks: Overall presentation on the implementation is acceptable. Some of the questions related to of Backend data synchronization cannot be answer fully.
4 Marks: The student capable to present the system but the explanation generally suffered from clarity. Relatively weak in answering queries due to the student’s proficiency in various technical aspects, specifically related to Backend data synchronization
0 – 3 Marks: Student not able to present OR the presentation has severe logical flaws.