School of Computing and Mathematics
CSC-20038
project
project
Farm Animal Logging App
This is the project specification for CSC-20038. Please note that this is the only component of assessment for this module and therefore it will contribute 100% towards your module mark.
The scenario is inspired by a real-world application.
Introduction
Farmer Simon raises calf (young cows) on contract. What this means is that he gets new stock (animals) from farmers who employ his services and raises the calf until they are ready to be returned back to their original source (when they are ready to start producing milk for example).
Simon needs to regularly monitor all of his stock’s health (weight gain, condition etc.) and also to administer any medication/vaccinations necessary throughout the beginning of each animal’s life.
He needs a portable logging system that will allow him to record his (and his employees’) stock management activities. At the end of each day he needs to be able to put all the activity in a spread sheet for further analysis.
Requirements
You are required to build a mobile application that will allow the recording of stock management activities by the staff on Simon’s farm.
The app should record data in an SQLite database on the host device. It should also facilitate the following:
0 The viewing of all the existing records in the database as a list. All fields of each record should be visible in the list.
0 The editing of individual records.
0 The deleting of individual records.
0 The sending of the database information (as a CSV attached file) via email to a chosen email address via a host email client on the mobile device.
0 The clearing of the database (i.e. the deleting of all records).
For each management activity the data that Simon needs to record are:
0 the date of the management activity,
0 the time of the management activity,
0 the staff member undertaking the activity,
0 the identifier of the animal involved (a numeric ID),
0 the type of management activity and
0 the detail related to the activity
School of Computing and Mathematics
CSC-20038
project
Here are some examples of potential records:
Date
Time
Staff
Animal
Activity
Detail
1/8/2016
0910
Simon
321654987654
Weight
520Kg
4/9/2016
1300
Peter
621785412369
Weight
610Kg
4/9/2016
1310
Peter
621785412369
Antibiotic
10cc
6/9/2016
1600
Andy
759632178214
Wound treatment
Disinfected wound and
isolated animal
10/9/2016
1540
Simon
591914436287
Antibiotic
10cc
16/9/2016
1305
Laura
774158254963
Assessment of
Good
general condition
16/9/2016
1310
Laura
875496341258
Assessment of
Poor
general condition
20/10/2016
0830
Simon
658746932145
Wound treatment
Disinfected
21/10/2016
1000
Anne
987545236588
Assessment of
Poor
general condition
21/10/2016
1003
Anne
987545236588
Wound treatment
Disinfected
21/10/2016
1018
Anne
987545236588
Pain relief
35cc
medication (opiate)
Notice the following:
0 An animal may have several records with the same date (and even time) assigned to it depending on the number of management activities related to it.
0 The animal ID is a number and it is always 12 digits long.
0 The activity and detail fields may contain substantial text descriptions (i.e. more than just one word).
The app should make the data entry as convenient and as quick as possible (i.e. with minimum number of button presses, selections, navigation between screens, unnecessary scrolling etc.) whilst minimising the potential for error on the user’s side. Here are some things to consider:
0 Most of the data are entered as soon as a management activity is completed, therefore the current date and time can be requested from the host device rather than be expected from the user each time. The app should however allow the user to change the pre-set values in case they want to enter the data at a later time.
0 It is likely that the same staff member will be entering more than one record with each use of the app (for example when processing a group of animals). In other words, the staff member executing a management activity is unlikely to be changing frequently so the value should be more persistent (than other fields) between record entries.
0 The animal ID is sometimes likely to be the same as in the previous record.
0 The activity description and detail are unlikely to be the same between different entries.
0 Some fields can and should be validated to minimise the chance of recording errors.
You should assume that no field has a closed set of values. For example do not make the “staff” field take a value from a closed set of names. Simon employs temporary staff too…
School of Computing and Mathematics
CSC-20038
project
Finally, keep your user informed (using appropriate messaging) of any actions your app has successfully performed or if there are errors, invalid input data etc.
Some pointers…
You are not expected to go far beyond what you have been explicitly introduced to in this module in order to achieve what is asked of you here. For example you may realise that you need to use a method of a specific View class (GUI component) that you weren’t explicitly told about but you will not need to use a completely new View class unless you want to.
Also, do not go overboard with fine details at the expense of missing out on the essential requirements of the app. You will earn no marks for increasing the functionality of or number of features in the app beyond what is asked.
Model screenshots
Below are some screenshots of a model solution that will also be demonstrated in class. Do not be overly concerned with the finer details illustrated by the screenshots below, for example the exact placement of components or their particular style. What is important is to include the same number/type of components as the ones illustrated.
For example note that all of the database contents (including the id) are displayed in the list of the main activity. The fact that some of the attributes are stylised in a particular way (boldface font for example) is a detail that aids readability and you may choose to achieve that with a different style of presentation than the one shown below.
School of Computing and Mathematics
CSC-20038
project
Marking scheme
Description
Mark
Implementation and use of an SQLite database related to the app
15
Implementation of the code for adding a new record to the database (layout design
15
and functionality, input efficiency and user convenience)
Implementation of the code for editing a record in the database
Android application英文题目:Assignment Farm Anima
2018-12-28