1 | Assignment 1 (30%)Due Date
Friday (26-Apr-2019) 11:00 PM AESTReturn Date
Friday (10-May-2019)Conditions
No ConditionsTask Description
You are assigned the task of creating a data logger to capture
package location data in a mobile application that stores the
data in a local database. The app has fields to record data for
each of five species of cattle. If a cow type is selected, a page is
shown to record data values for that type. A cow entry consists
of a date and log data. When the Save Log Entry button is
pressed this data is saved locally in the application in a
SQLDatabase. When the Show Log Entries button is pressed a
related page (fragment) is shown that list all the date/time and
log entries made for that cow.
More details of these pages will be given in the moodle course
website. You should also consult the weekly lecture/tutorials on
the Moodle website for help and more information on
completing the assignment. The tutorials contain step-by-step
procedures for working through the assignment as well as some
tips and extra help. So make sure you read the lecture/tutorials
on the Moodle website.
Assessment Criteria
MainActivity file
- The onBackPressed() method displays the Save dialog -
Pressing "OK" in the onBackPressed() method saves the SQLite
database and exits - The ArrayList values are set from the
SQLite database entries on entry (2 marks)
4
Fragment files
- The home, next and previous buttons work as required (2
marks) -The cow time/date buttons work as required (2 marks) -
The cow logentries are saved by the Save Log Entry button -
Errors are caught and appropriate messages displayed - The
profile page checks that the passwords match, no items are null
and returns to the home fragment - Show Log Entries button
works and shows all entries for that cow breed and returns to
the correct page (3 marks)
11
res/layout/xml and other files
- Items on fragments are in the correct positions w.r.t. each
other -EditText items have the correct hints - Navigation
buttons are in a line and of equal width - Labels are all as given
in the specifications - The cow class exists and is correct
5
Menu options
- The Profile menu is present and works as specified - The Save
entries menu saves the correct values to the database (2 marks) -
The Send entries menu option clears the SQLite database and all
the cow breed ArrayLists
4
SQLite database
- The DBAdapter class is present and works correctly
2
Hardware/Software & commentary
Hardware / Software requirements
1
Application commentary
2
General
- Feedback given as required - Use appropriate naming
conventions -Adequate commenting - Correct grammar -
Citation of references, copyright use
1
Referencing Style
· Harvard (author-date)
Submission
Online
Learning Outcomes Assessed
· Design and implement native mobile applications
· Use an integrated IDE to build, debug and test native mobile
applications
Graduate Attributes
· Knowledge
· Cognitive, technical and creative skills
· Self-management
The specification of this app will be further refined in
Assignment 2. 2 | Assignment 2 (30%)Due Date
Friday (24-May-2019) 11:00 PM AESTReturn Date
Friday (07-Jun-2019)Conditions
No ConditionsTask Description
This assignment builds on practical assessment 1. Data captured
for each cow also is to include location information. The
information contained in the app database is to be incorporated
into an email message and sent to the user asynchronously when
the send option is used. Consideration is also be documented on
app testing, ethical issues and how you might develop a
financial case and market the app.
More details will be given in the Moodle unit website. You
should also consult the weekly lecture/tutorials on the Moodle
website for help and more information on completing the
assignment. The tutorials contain step-by-step procedure for
working through the assignment as well as some tips and extra
help. Make sure you read the lecture/tutorials on the Moodle
website.
Assessment Criteria
App development
- TrackGPS class implemented correctly - Cow_fragment uses
TrackGPS to obtain and display the latitude and longitude -
Cowlogger data copied to email - Message sent asynchronously
using AsyncTask class - email received
15
Testing Strategy
- Discuss the selection of mobile models and Android versions
for your testing process - Discussion of whether testing is
required on actual devices and what part emulators/simulators
play your testing plan - Documentation of test plan
3
Sending App data
- Discussion of using SMS messaging and
advantages/disadvantages of SMS vs. eMail
1
Financial Case & Commentary
- Discussion of the economic/financial case for the proposed
app -Identification of potential costs - Estimation of technical
development costs in hours - Discussion of how you would
promote and market your app - Discussion of ethical issues
10
General
- Feedback given as required - Use appropriate naming
conventions -Adequate commenting - Correct grammar -
Citation of references, copyright use
1
Referencing Style
· Harvard (author-date)
Submission
Online
Learning Outcomes Assessed
· Design and implement native mobile applications
· Use an integrated IDE to build, debug and test native mobile
applications
· Determine the business impact of a given mobile solution and
critically assess the implementation of an app and its likely
marketability and profitability
Graduate Attributes
· Knowledge
· Cognitive, technical and creative skills
· Self-management
3 | Portfolio (20%)Due Date
Friday (07-Jun-2019) 11:00 PM AESTReturn Date
Friday (14-Jun-2019)Conditions
No ConditionsTask Description
You are to submit a weekly portfolio submission using Mahara
as per the instructions on the unit Moodle site. This weekly
portfolio will describe your understanding of the topic for the
week, with relevant references and resources providing evidence
of your understanding.
Assessment Criteria
Criteria
Marks/week
Summary of weekly topic
1
Resource descriptions
0.5
Number and justification/quality of resources
0.5
Penalties
Total
2
Referencing Style
· Harvard (author-date)
Submission
No submission method provided.
Learning Outcomes Assessed
· Describe and be able to develop critical parts of a native
mobile system programming interface
· Determine
4 | Critique (20%)Due Date
Friday (14-Jun-2019) 11:00 PM AESTReturn Date
Friday (21-Jun-2019)Conditions
No ConditionsTask Description
You are to write a scholarly essay that critically evaluates
findings from at least two journal publications in one of the
following research areas;
The impact of the cloud on mobile applications
Mobile application security
Social implications of mobile applications
You are not to write an essay on one of these topics. You are to
critically reflect on the papers and then explain whether the
papers did an adequate job of explaining what the purpose of
the work was, collected sufficient evidence, and reached the
right conclusions based on the evidence. See the moodle course
website for more information.
Assessment Criteria
This assignment will be assessed against the following criteria:
Description
Mark
Presentation - Structure, grammar, spelling, referencing
2
Introductory arguments - Well defined introduction to what
critique is about
3
Critique body - For the 2 journal papers: Research questions
identified. Methodology described. Analysis of conclusion
discussed. Reflections on paper given. Synthesis of works into a
critique of research area.
10
Conclusion - Summary well presented. Logical conclusions
derived Interpretation of scholarly works correct. Argument
presented within length guideline.
5
Referencing Style
· Harvard (author-date)
Submission
Online
Learning Outcomes Assessed
· Describe and be able to develop critical parts of a native
mobile system programming interface
· Critically analyse a research issue in mobile computing.
Graduate Attributes
· Knowledge
· Communication
· Cognitive, technical and creative skills
· Research
· Self-management
Note: This example is not complete and not perfect. This
document is designed to save you time as
you prepare your submission but a careful review of the
requirements is important if a good score is
desired.
Example PRJ3
Risks and Controls
The XYZ Company’s accounts payable department uses an
information system to make the payments
to our vendors. Our department is in charge of receiving vendor
invoices and processing them through
our system in order to ensure a timely payment to our vendors.
This process requires careful review of
all invoices as well as methods to reduce the risk associated
with them. Maintaining the security and
service is important to ensuring positive relations with our
vendors. Some of our main risk factors are
human errors and potential frauds or dishonest behavior from
employees. Additionally
…………………………………………………………
Control Table:
Control Name Control Zone Type of Control Implementation
Password Policy IT General Control Preventive Automated
Referential Integrity Application Preventive Automated
Off-Site Data Backups IT General Control Corrective
Automated
Multiple Signatures Application Preventive/Detective Manual
Table 1 - The table provides an overview of different controls
that affect the accounts payable (AP)
process. Some controls are not specific to AP, but they do affect
the processes of the accounting
department.
Control Narratives:
Password Policy:
The password policy is a standard that helps ensure that
passwords are changed
routinely. Implementing a password policy can help mitigate
risks associated
with …………… . The control is implemented by
………………………………….
Referential Integrity:
The referential integrity check is an automated control that
makes sure that the
…………………………………………………………………………
………………………….
Data Backup:
Data Backup:
In the event of a disaster or a hard disk crash where the main
data is suddenly
lost or tampered with, off-site data backups are useful. These
backups can be
used for restoring the system to its state before the incident.
The backup
process involves
…………………………………………………………………
Multiple Signatures:
Before we make a payment, we have two people review the
transaction. This
helps mitigate fraud and errors. Having two sets of eyes look at
a document can
make sure that more errors are caught, and it can help ensure
that people are
not writing fraudulent checks. Specifically, a supervisor and a
manager must
review and sign before any check is approved for payment.
…………………………………………………………………………
…………………………………………………
……………………………………….
Zone Classifications:
Our internal controls are divided into three zones: Application,
IT General, and Entity level controls.
Application controls:
Application controls deal with just a very particular function in
a corporation.
The controls we have for the application zone are referential
integrity, multiple signatures,
……………………………….
These are application controls as they are focused on ensuring
the smooth functioning of the AP
system.
Referential integrity between Vendors and Invoices ensures that
we have invoices only from
approved vendors stored in the system. As this control is
directly associated with the AP process, it
is an application level control.
…………………………………………………………………………
…………………………………………………………………………
……..
IT General Controls:
IT general controls generally deal with the IT systems that are
used in multiple processes across
many different departments.
One of the controls that we have for the IT general control zone
is the password policy. It is an IT
general control because it deals with all the users of computer
systems for the organization.
…………………………………………………………………………
………………………
Entity Level Controls:
Entity-level controls deal with how IT related matters for the
whole organization are managed.
………………………………………………………..
Control Types:
The three control types are preventive, detective and
corrective.
Preventive:
Preventive controls try to stop problems from happening by
being proactive.
The password policy is implemented to stop hacking from
happening by
making the passwords harder to crack.
……………..…………………………………………………………
…….
Detective:
Detective controls are there to identify problems after they
have occurred.
The multiple signatures review is partly detective in nature
because it can
help in detecting an incorrect payment or a potential fraud.
Corrective:
Corrective controls are to fix problems and restart operations.
The off-site data backup is a corrective control because if
something were to
happen to our system, we still have a copy of the data in an off-
site place.
…………………………………………………………………………
……………………………..
Control Implementation:
In our business process, we have a mix of Automated, Manual
and hybrid
controls.
Manual:
Manual controls are those that are in place and will be
implemented by
people.
The multiple signatures review involves two persons manually
going over the
checks to make sure that they are correct.
…………………………………………………………………………
……………………………
Automated:
Automated controls are those that are automatically
implemented in the
system.
Referential integrity is an automated …
…………………………………………………………………………
…..
Hybrid:
Hybrid controls have both automated and manual features. In
our process,
we have …………………………………………….
Control Metrics:
Metrics are used to measure a control’s effectiveness in
accomplishing its intended purpose.
Lagging: Lag metrics measure the actual results achieved by
implementing internal
controls and focus on numbers before and after the
implementation of
controls.
A lag metric to assess the effectiveness of the referential
integrity control
would be to use a set of carefully chosen test data to check if
the system
allows entry of fraudulent invoices. If the system allows even a
single
fraudulent invoice entry, we need to take corrective action
immediately.
Leading: Lead metrics measure the effort applied to implement
controls and focus on
executing best practices/processes and strict implementation of
policies.
Our organization follows a strict policy about not storing
passwords on any
kind of paper document. . A lead metric that could be used to
ensure the
optimal execution of the password policy would be having a
member of
management randomly check employee work stations to confirm
that no one
has any passwords written down on sticky notes
………………………………………………………………….
Compensating Control:
These are controls that are there to make-up for a control that
we would like to use but can’t because
it is too costly or too difficult to implement. Ideally, we would
like
…………………………………………………………………………
…………………………
PRJ3: Risk/Control Analysis
This deliverable is mainly about systematically identifying
some risks and internal controls related to a
specific business process (application controls) in your
organization. The requirement is to include at
least four application controls. You will also include at least
two each of Entity level and IT general
controls.
The purpose is for you to demonstrate a thorough understanding
of the various controls that could be
applied. Specifically, you will look at risk and control activities
from several perspectives - control zones,
control types, their implementation and an assessment of their
success.
- Write an introductory paragraph highlighting the key IT
related risks for the organization and the
process being modeled. This paragraph should provide context
for the controls to be discussed in
the rest of the document.
- Create a control table listing controls in your organization in
this format:
Control Name Control Zone
Entity-level IT control
Application control
IT general control
Type of Control
Preventive
Detective
Corrective
Implementation
Manual
Automated
Hybrid
Database Backup IT general control
Corrective Manual
(Don’t forget to add an explanatory caption for the table)
Each control zone, type of control, and implementation should
be represented by at least one
listed control.
- A detailed narrative for each control from the table:
o State the business risk being mitigated/reduced using the
control
o Specify the details of the control - who does what, when how,
etc.
- A classification section:
o Zone paragraphs: define each control zone (entity-level,
application, IT general control),
classify each control and explain why each control is classified
in a particular zone
o Type paragraphs: define each control type (preventive,
detective, corrective), classify each
control and explain why each control is classified as a particular
type
o Implementation paragraphs: define each control
implementation category (manual,
automated, hybrid), classify each control and explain why each
control is classified in a
particular category
o Metric paragraphs: define lag and lead metrics (indicators),
describe and explain a metric
for each control and explain why they are either lead or lag
- A compensating control paragraph. Define a compensating
control. Describe and explain a
compensating control you have in place and what risk is being
addressed by this control.
Organizational Overview:
Smart Tech Computer Co. is a large personal and office
computer manufacturing company that distributes to well known
tech focused retailers like Best Buy, Amazon, Walmart, and
Target. We are based out of Corvallis, Oregon and have over
500 active employees with three main roles. One division in
our company is the actual assembly of our computers, another
division is our sales and retail relations department to keep our
retail stores satisfied with our business, and our
shipping/distribution warehouse which handles all deliveries of
our computers to our retailers. We average about $30 Million
in sales revenue and have a target sales growth of 4% annually.
Every wholesale we approve must meet a minimum quantity of
200 units. Our price per desktop computer is between $500-
$700 depending on the make and model. Our price per laptop
ranges from $650-$800 also depending on make and model. Our
four main retailers order on average 500-2000 units every
quarter.
Process Overview:
The specific process of Smart tech we are reviewing is the
companies sales process. The goal of the sales process is to
receive the customers specific order. Make sure the warehouse
has the necessary quantity to complete the order, and report
back to the customer and complete the invoice. The resources
involved are our website and sales team filling out orders to be
reviewed by the warehouse, the warehouses inventory on hand,
and the accounting team ordering the new inventory in case our
current inventory can’t complete a customers order. Some
success factors are ordering computers and laptops that suffice
our customers needs to keep a steady flow of our customers
order time to the completion of the order which would be when
the customer receives the shipment of computers/laptops. Some
risks we face is having to put customers on backorder in case
we don't have a sufficient quantity for the customers order. We
could possibly lose business with certain retailers if this
becomes a recurring problem. If this problem occurs then we
notify the accounting department to order more computers for
our warehouse and notify the customer of the backorder.
Another risk we may face is incorrect information from a
customer invoice. If this occurs we could potentially send out
the wrong order and risk losing business with a customer. If
this happens we need the warehouse to double check the invoice
with our retail customer to make sure the correct order
information was received.
Process Description:
The Sales process begins with one of our retail customers
placing an order for computers and laptops. The Retailer would
either call one of our sales representatives or place an order on
our website which would be sent to a sales representative as
well. This would then lead to whatever sales rep receiving the
order to gather information from the Retailer placing the order.
If the Retailer is a recurring customer then the sales
representative would Create a new invoice. If the Retailer is a
new customer then the sales rep would begin by adding the
Retailers information like company name, city, state, address,
and contact information into Smart Tech’s data store so the
Sales department could retrieve this information at any time.
Once all the new information is added then you would create the
invoice for the new customer.
The invoice created for the retailers order will contain the
customers ID, the Date of the Invoice, the Invoice ID, and the
quantity of the order as well as the Computer ID which is the
model of the computer/laptop being ordered. Once this Invoice
is created it will get sent to the data store to be saved in Smart
Tech’s database. The Warehouse will receive this invoice from
the Sales team and begin to check if they have the necessary
quantity available to complete the Customers order. They will
record the quantity of all their makes and models in the
warehouse and send that information to the companies Data
store. Once the Warehouse checks their inventory and records
the amount, they will either approve or decline the order. If the
order is approved then the Sales team is notified and the
Retailer will then pay for the invoice. If the order is declined by
the warehouse. Then this means the warehouse will contact the
accounting department and let them know about the insufficient
amount of computers/laptops the warehouse has and tell them
how much they need to order. The Accounting department will
then order the new inventory for the warehouse. Once the
Accounting Department places the order for the warehouse they
will notify the Sales Department about the back order. The
Sales team will then notify the customer of the back order that
they will be placed on, and let the customer know about how
long that back order will take. This could lead to the customer
to not complete the invoice and discontinue business with Smart
Tech, which would result in the end of our sales process.
If the Customer decides to pay for the invoice whether or
not there is a back order, the sales team will then finalize the
sale by transferring the financial details of the transaction over
to the Accounting Department. The Accounting department will
record the transaction into accounts receivable and send the
billing statement and customer information into the customer
accounts database.
Once the Accounting department records the billing
statement and finalizes the invoice, they will send it over to the
warehouse. The warehouse will receive the invoice which gives
them the green light to begin Smart Tech’s shipping and
handling process. Once the shipping process is completed the
Retailer will receive their computers/laptops which will end the
process.
Transactions and Objects:
A transaction table is used to record an event in a process. An
object table stores information about a person, product, or
service that is associated with the business process.
Object tables:
One object table in our sales process is our inventory data
storage. In this object table we have records of how many
desktops and laptops we currently have on hand in our
warehouse. Smart tech produces two different desktops and
three different laptops. Our inventory records will reflect the
quantity of each type of computer that we produce so our sales
team will always be updated on the amount of inventory that we
have on hand. This data store is vital to the success of our
company because we don’t want to promise a shipment to a
customer if we don’t have the computers on hand to ship
Another object table that we keep in our database is our
customer credentials storage. In this table we assign a customer
number to each company that we do business with. This helps us
with our invoice and shipping processes because we need to link
our invoices with each customer. When we create our invoices
we will have the customer number at the top of the page that has
all of the customer credentials such as their company name,
address, and date that the invoice is processed. At the beginning
of our sales process we make sure to check whether or not we
are dealing with a new or existing customer. If they are new we
make sure to get all of their credentials entered into our system
so that we can proceed with the rest of our sales process.
Transaction tables:
A transaction table that we use is our invoice generation
process. When a customer comes to our sales team and puts in
and order for our computers we generate an invoice that reflects
the quantity and and type of computers that the customer wants.
This transaction is then passed along to our warehousing staff to
see if we have the inventory on hand to satisfy their order. Each
order that is submitted to our sales team will be assigned and
invoice number so that our accounts receivable department can
see the money we have coming in, who is buying it, and the
amount of each computer that they are buying. Assigning an
invoice number to each of our orders ensures that we will have
detailed records of each order and will be able to project future
cash flows.
When we receive an order from a customer and do not have
enough inventory on hand we send a buy order to our accounts
payable department. This transaction ensures that we will have
enough computers on hand to satisfy our customers order. Once
the order is made we notify the customer that their order has
been placed on backorder and will out for shipping as soon as
possible. Not having enough computers on hand to satisfy our
customers orders is never ideal so we have generated a process
to make this order as fast as possible.
Figure 1 – This shows the flowchart for the sales process of
Smart Tech Computer Co.
Data Diagram
This document depicts the database for the sales process of
Smart Tech Computer Co.
Figure 2 – This diagram shows the relationships between
primary and foreign keys among all tables and attributes in the
database.
Explanation of database design
Our database design includes the following object, transaction,
category and intersection tables:
Object tables:
· Customers
· Inventory
Transaction table:
· Invoices
Category table:
· Computer_Type
Intersection table:
· Invoice_Inventory
Table Explanations:
Customers: The primary key for our customer table is our
Customer ID Number. Each customer has their own Customer
ID so that we can discern between each customer that we do
business with. The foreign keys for our customer table are
Customer Name, Street, City, State, and Zip Code. This
information in our customer table is used for our shipping and
accounts receivable departments.
Inventory: The primary key in our inventory table is our
Inventory ID. We offer two different types of desktops and
three different types of laptops so the Inventory ID reflects
which type of computer we are referring to. The foreign keys in
our inventory table are description, unit price in dollars, and
units on hand. The description key lets us know which model of
computer we are selling. For our laptops we have a C250, C300,
and Z260 model. For our desktops we have an A1000 and
A2000 model. The unit price in dollars reflects the price point
that we are selling our computers at. Since we have a different
price point for each computer this key is important for our
accounting department and allows us to run data analytics to see
where we are generating our profit from. Lastly we have a units
on hand key. This key is used to communicate between the
warehouse and sales team. When the sales team receives an
order they are able to see how many units we currently have on
hand and will let the customer know if we are able to satisfy
their order. If we don’t have enough computers to satisfy their
order the accounts payable department is contacted and they
will place an order for more computers.
Invoices: The primary key for the invoices table is the invoice
ID number. Each invoice has a unique ID that distinguishes it
from other invoices. One of the foreign keys for our Invoice
table is the customer ID, each customer has an ID number and
we use it in the invoices table to know which customer is
related to each Invoice. The second foreign key is the date. This
information is important because it lets us know when the order
was placed and gives us a timetable to adhere to.
Computer_Type: The primary key in the computer type table is
the Computer ID which is an ID that represents the computer
types that we are selling. In our company, we only sell two
types of computers thus ID number 1 represents laptop and
Number 2 represents desktop.
Invoice_Inventory: The primary key in our invoice inventor
table is the Invoice Inventory ID. This number represents the try
and amount of each computer bought on each invoice. It
separates each invoice into a breakdown of how many specific
types of computers were purchased on each invoice. The foreign
keys in this table are Invoice ID, Inventory ID, Quantity, and
Computer ID. The Invoice ID represents which invoice the
purchase was made on so we can then see what company made
the purchase. The Inventory ID denotes which type of computer
was purchased, either a laptop or desktop. The quantity lets us
know how many of the computers were purchased and the
Computer ID represents the exact model of computer that was
ordered. This table gives us a detailed breakdown of the
purchases of our buyers and can be used in many different
evaluation functions.
The Invoice_Inventory intersection table supports a many-to-
many relationship between the Invoices table and the Inventory
table.The intersection table, itself, is not a list of individual
events or objects of interest, rather its purpose is to record and
association between items in the other tables. It has its own
primary key and has two foreign key attributes Invoice_ID
which points to the primary key of Invoices and Invoice_ID
which points to the primary key of Invoices.
Data
The sample data is provided to illustrate how the database
design stores and uses its data.
Customers
Table 2.1 - Our Customers table gives each customer an ID
number, and shows the name and address of each customer.
There is a one to many relationship between the customer and
Invoices table.
Inventory
Table 2.2 - This table gives each of our products an ID number
which is the primary key for this table, but used as a foreign
key in the Invoice_Inventory table. This table also provides the
name of each product, the price, and how many units the
company has in stock.
Invoices
Table 2.3 - The invoices table gives each invoice an ID number,
and provides the date of the invoice. This table also includes the
customer ID of the customer that made the purchase, which is a
foreign key from the customers table (note the one to many
relationship).
Computer_Type
Table 2.4 - Our category table tells which of our products is a
desktop, and which is a laptop.
Invoice_Inventory
Table 2.5 - Our intersection table gives us a table that brings
our many to many relationships together. The table tells us
which products were purchased on which invoice and the
quantity of each. The table also tells us whether the items were
a laptop or a desktop. We can later use this information to
determine which product line is our best sellers.
Note the multiple many to many relationships in this table. For
example many invoices can have many different pieces of
inventory, and can have many different computer types.
1  Assignment 1 (30)Due DateFriday (26-Apr-2019) 1100 PM AESTR.docx

1 Assignment 1 (30)Due DateFriday (26-Apr-2019) 1100 PM AESTR.docx

  • 1.
    1 | Assignment1 (30%)Due Date Friday (26-Apr-2019) 11:00 PM AESTReturn Date Friday (10-May-2019)Conditions No ConditionsTask Description You are assigned the task of creating a data logger to capture package location data in a mobile application that stores the data in a local database. The app has fields to record data for each of five species of cattle. If a cow type is selected, a page is shown to record data values for that type. A cow entry consists of a date and log data. When the Save Log Entry button is pressed this data is saved locally in the application in a SQLDatabase. When the Show Log Entries button is pressed a related page (fragment) is shown that list all the date/time and log entries made for that cow. More details of these pages will be given in the moodle course website. You should also consult the weekly lecture/tutorials on the Moodle website for help and more information on completing the assignment. The tutorials contain step-by-step procedures for working through the assignment as well as some tips and extra help. So make sure you read the lecture/tutorials on the Moodle website. Assessment Criteria MainActivity file - The onBackPressed() method displays the Save dialog - Pressing "OK" in the onBackPressed() method saves the SQLite database and exits - The ArrayList values are set from the SQLite database entries on entry (2 marks) 4 Fragment files - The home, next and previous buttons work as required (2 marks) -The cow time/date buttons work as required (2 marks) - The cow logentries are saved by the Save Log Entry button - Errors are caught and appropriate messages displayed - The profile page checks that the passwords match, no items are null and returns to the home fragment - Show Log Entries button
  • 2.
    works and showsall entries for that cow breed and returns to the correct page (3 marks) 11 res/layout/xml and other files - Items on fragments are in the correct positions w.r.t. each other -EditText items have the correct hints - Navigation buttons are in a line and of equal width - Labels are all as given in the specifications - The cow class exists and is correct 5 Menu options - The Profile menu is present and works as specified - The Save entries menu saves the correct values to the database (2 marks) - The Send entries menu option clears the SQLite database and all the cow breed ArrayLists 4 SQLite database - The DBAdapter class is present and works correctly 2 Hardware/Software & commentary Hardware / Software requirements 1 Application commentary 2 General - Feedback given as required - Use appropriate naming conventions -Adequate commenting - Correct grammar - Citation of references, copyright use 1
  • 3.
    Referencing Style · Harvard(author-date) Submission Online Learning Outcomes Assessed · Design and implement native mobile applications · Use an integrated IDE to build, debug and test native mobile applications Graduate Attributes · Knowledge · Cognitive, technical and creative skills · Self-management The specification of this app will be further refined in Assignment 2. 2 | Assignment 2 (30%)Due Date Friday (24-May-2019) 11:00 PM AESTReturn Date Friday (07-Jun-2019)Conditions No ConditionsTask Description This assignment builds on practical assessment 1. Data captured for each cow also is to include location information. The information contained in the app database is to be incorporated into an email message and sent to the user asynchronously when the send option is used. Consideration is also be documented on app testing, ethical issues and how you might develop a financial case and market the app. More details will be given in the Moodle unit website. You should also consult the weekly lecture/tutorials on the Moodle website for help and more information on completing the assignment. The tutorials contain step-by-step procedure for working through the assignment as well as some tips and extra help. Make sure you read the lecture/tutorials on the Moodle website.
  • 4.
    Assessment Criteria App development -TrackGPS class implemented correctly - Cow_fragment uses TrackGPS to obtain and display the latitude and longitude - Cowlogger data copied to email - Message sent asynchronously using AsyncTask class - email received 15 Testing Strategy - Discuss the selection of mobile models and Android versions for your testing process - Discussion of whether testing is required on actual devices and what part emulators/simulators play your testing plan - Documentation of test plan 3 Sending App data - Discussion of using SMS messaging and advantages/disadvantages of SMS vs. eMail 1 Financial Case & Commentary - Discussion of the economic/financial case for the proposed app -Identification of potential costs - Estimation of technical development costs in hours - Discussion of how you would promote and market your app - Discussion of ethical issues 10 General
  • 5.
    - Feedback givenas required - Use appropriate naming conventions -Adequate commenting - Correct grammar - Citation of references, copyright use 1 Referencing Style · Harvard (author-date) Submission Online Learning Outcomes Assessed · Design and implement native mobile applications · Use an integrated IDE to build, debug and test native mobile applications · Determine the business impact of a given mobile solution and critically assess the implementation of an app and its likely marketability and profitability Graduate Attributes · Knowledge · Cognitive, technical and creative skills · Self-management 3 | Portfolio (20%)Due Date Friday (07-Jun-2019) 11:00 PM AESTReturn Date Friday (14-Jun-2019)Conditions No ConditionsTask Description You are to submit a weekly portfolio submission using Mahara as per the instructions on the unit Moodle site. This weekly portfolio will describe your understanding of the topic for the week, with relevant references and resources providing evidence of your understanding. Assessment Criteria Criteria
  • 6.
    Marks/week Summary of weeklytopic 1 Resource descriptions 0.5 Number and justification/quality of resources 0.5 Penalties Total 2 Referencing Style · Harvard (author-date) Submission No submission method provided. Learning Outcomes Assessed · Describe and be able to develop critical parts of a native mobile system programming interface · Determine 4 | Critique (20%)Due Date Friday (14-Jun-2019) 11:00 PM AESTReturn Date Friday (21-Jun-2019)Conditions No ConditionsTask Description You are to write a scholarly essay that critically evaluates findings from at least two journal publications in one of the following research areas; The impact of the cloud on mobile applications Mobile application security Social implications of mobile applications You are not to write an essay on one of these topics. You are to critically reflect on the papers and then explain whether the papers did an adequate job of explaining what the purpose of the work was, collected sufficient evidence, and reached the
  • 7.
    right conclusions basedon the evidence. See the moodle course website for more information. Assessment Criteria This assignment will be assessed against the following criteria: Description Mark Presentation - Structure, grammar, spelling, referencing 2 Introductory arguments - Well defined introduction to what critique is about 3 Critique body - For the 2 journal papers: Research questions identified. Methodology described. Analysis of conclusion discussed. Reflections on paper given. Synthesis of works into a critique of research area. 10 Conclusion - Summary well presented. Logical conclusions derived Interpretation of scholarly works correct. Argument presented within length guideline. 5 Referencing Style · Harvard (author-date) Submission Online Learning Outcomes Assessed · Describe and be able to develop critical parts of a native mobile system programming interface · Critically analyse a research issue in mobile computing. Graduate Attributes · Knowledge · Communication
  • 8.
    · Cognitive, technicaland creative skills · Research · Self-management Note: This example is not complete and not perfect. This document is designed to save you time as you prepare your submission but a careful review of the requirements is important if a good score is desired. Example PRJ3 Risks and Controls The XYZ Company’s accounts payable department uses an information system to make the payments to our vendors. Our department is in charge of receiving vendor invoices and processing them through our system in order to ensure a timely payment to our vendors. This process requires careful review of all invoices as well as methods to reduce the risk associated with them. Maintaining the security and service is important to ensuring positive relations with our vendors. Some of our main risk factors are human errors and potential frauds or dishonest behavior from employees. Additionally …………………………………………………………
  • 9.
    Control Table: Control NameControl Zone Type of Control Implementation Password Policy IT General Control Preventive Automated Referential Integrity Application Preventive Automated Off-Site Data Backups IT General Control Corrective Automated Multiple Signatures Application Preventive/Detective Manual Table 1 - The table provides an overview of different controls that affect the accounts payable (AP) process. Some controls are not specific to AP, but they do affect the processes of the accounting department. Control Narratives: Password Policy: The password policy is a standard that helps ensure that passwords are changed routinely. Implementing a password policy can help mitigate
  • 10.
    risks associated with ……………. The control is implemented by …………………………………. Referential Integrity: The referential integrity check is an automated control that makes sure that the ………………………………………………………………………… …………………………. Data Backup: Data Backup: In the event of a disaster or a hard disk crash where the main data is suddenly lost or tampered with, off-site data backups are useful. These backups can be used for restoring the system to its state before the incident. The backup process involves ………………………………………………………………… Multiple Signatures: Before we make a payment, we have two people review the transaction. This helps mitigate fraud and errors. Having two sets of eyes look at a document can make sure that more errors are caught, and it can help ensure that people are not writing fraudulent checks. Specifically, a supervisor and a manager must review and sign before any check is approved for payment.
  • 11.
    ………………………………………………………………………… ………………………………………………… ………………………………………. Zone Classifications: Our internalcontrols are divided into three zones: Application, IT General, and Entity level controls. Application controls: Application controls deal with just a very particular function in a corporation. The controls we have for the application zone are referential integrity, multiple signatures, ………………………………. These are application controls as they are focused on ensuring the smooth functioning of the AP system. Referential integrity between Vendors and Invoices ensures that we have invoices only from approved vendors stored in the system. As this control is directly associated with the AP process, it is an application level control. ………………………………………………………………………… ………………………………………………………………………… ……..
  • 12.
    IT General Controls: ITgeneral controls generally deal with the IT systems that are used in multiple processes across many different departments. One of the controls that we have for the IT general control zone is the password policy. It is an IT general control because it deals with all the users of computer systems for the organization. ………………………………………………………………………… ……………………… Entity Level Controls: Entity-level controls deal with how IT related matters for the whole organization are managed. ……………………………………………………….. Control Types: The three control types are preventive, detective and corrective. Preventive: Preventive controls try to stop problems from happening by being proactive. The password policy is implemented to stop hacking from happening by
  • 13.
    making the passwordsharder to crack. ……………..………………………………………………………… ……. Detective: Detective controls are there to identify problems after they have occurred. The multiple signatures review is partly detective in nature because it can help in detecting an incorrect payment or a potential fraud. Corrective: Corrective controls are to fix problems and restart operations. The off-site data backup is a corrective control because if something were to happen to our system, we still have a copy of the data in an off- site place. ………………………………………………………………………… …………………………….. Control Implementation: In our business process, we have a mix of Automated, Manual and hybrid
  • 14.
    controls. Manual: Manual controls arethose that are in place and will be implemented by people. The multiple signatures review involves two persons manually going over the checks to make sure that they are correct. ………………………………………………………………………… …………………………… Automated: Automated controls are those that are automatically implemented in the system. Referential integrity is an automated … ………………………………………………………………………… ….. Hybrid: Hybrid controls have both automated and manual features. In our process, we have ……………………………………………. Control Metrics: Metrics are used to measure a control’s effectiveness in accomplishing its intended purpose. Lagging: Lag metrics measure the actual results achieved by
  • 15.
    implementing internal controls andfocus on numbers before and after the implementation of controls. A lag metric to assess the effectiveness of the referential integrity control would be to use a set of carefully chosen test data to check if the system allows entry of fraudulent invoices. If the system allows even a single fraudulent invoice entry, we need to take corrective action immediately. Leading: Lead metrics measure the effort applied to implement controls and focus on executing best practices/processes and strict implementation of policies. Our organization follows a strict policy about not storing passwords on any kind of paper document. . A lead metric that could be used to ensure the optimal execution of the password policy would be having a member of management randomly check employee work stations to confirm that no one has any passwords written down on sticky notes ………………………………………………………………….
  • 16.
    Compensating Control: These arecontrols that are there to make-up for a control that we would like to use but can’t because it is too costly or too difficult to implement. Ideally, we would like ………………………………………………………………………… ………………………… PRJ3: Risk/Control Analysis This deliverable is mainly about systematically identifying some risks and internal controls related to a specific business process (application controls) in your organization. The requirement is to include at least four application controls. You will also include at least two each of Entity level and IT general controls. The purpose is for you to demonstrate a thorough understanding of the various controls that could be applied. Specifically, you will look at risk and control activities from several perspectives - control zones, control types, their implementation and an assessment of their success. - Write an introductory paragraph highlighting the key IT related risks for the organization and the
  • 17.
    process being modeled.This paragraph should provide context for the controls to be discussed in the rest of the document. - Create a control table listing controls in your organization in this format: Control Name Control Zone Entity-level IT control Application control IT general control Type of Control Preventive Detective Corrective Implementation Manual Automated Hybrid Database Backup IT general control Corrective Manual (Don’t forget to add an explanatory caption for the table) Each control zone, type of control, and implementation should be represented by at least one
  • 18.
    listed control. - Adetailed narrative for each control from the table: o State the business risk being mitigated/reduced using the control o Specify the details of the control - who does what, when how, etc. - A classification section: o Zone paragraphs: define each control zone (entity-level, application, IT general control), classify each control and explain why each control is classified in a particular zone o Type paragraphs: define each control type (preventive, detective, corrective), classify each control and explain why each control is classified as a particular type o Implementation paragraphs: define each control implementation category (manual, automated, hybrid), classify each control and explain why each control is classified in a particular category o Metric paragraphs: define lag and lead metrics (indicators), describe and explain a metric for each control and explain why they are either lead or lag - A compensating control paragraph. Define a compensating control. Describe and explain a compensating control you have in place and what risk is being addressed by this control.
  • 19.
    Organizational Overview: Smart TechComputer Co. is a large personal and office computer manufacturing company that distributes to well known tech focused retailers like Best Buy, Amazon, Walmart, and Target. We are based out of Corvallis, Oregon and have over 500 active employees with three main roles. One division in our company is the actual assembly of our computers, another division is our sales and retail relations department to keep our retail stores satisfied with our business, and our shipping/distribution warehouse which handles all deliveries of our computers to our retailers. We average about $30 Million in sales revenue and have a target sales growth of 4% annually. Every wholesale we approve must meet a minimum quantity of 200 units. Our price per desktop computer is between $500- $700 depending on the make and model. Our price per laptop ranges from $650-$800 also depending on make and model. Our four main retailers order on average 500-2000 units every quarter. Process Overview: The specific process of Smart tech we are reviewing is the companies sales process. The goal of the sales process is to receive the customers specific order. Make sure the warehouse has the necessary quantity to complete the order, and report back to the customer and complete the invoice. The resources involved are our website and sales team filling out orders to be reviewed by the warehouse, the warehouses inventory on hand, and the accounting team ordering the new inventory in case our current inventory can’t complete a customers order. Some
  • 20.
    success factors areordering computers and laptops that suffice our customers needs to keep a steady flow of our customers order time to the completion of the order which would be when the customer receives the shipment of computers/laptops. Some risks we face is having to put customers on backorder in case we don't have a sufficient quantity for the customers order. We could possibly lose business with certain retailers if this becomes a recurring problem. If this problem occurs then we notify the accounting department to order more computers for our warehouse and notify the customer of the backorder. Another risk we may face is incorrect information from a customer invoice. If this occurs we could potentially send out the wrong order and risk losing business with a customer. If this happens we need the warehouse to double check the invoice with our retail customer to make sure the correct order information was received. Process Description: The Sales process begins with one of our retail customers placing an order for computers and laptops. The Retailer would either call one of our sales representatives or place an order on our website which would be sent to a sales representative as well. This would then lead to whatever sales rep receiving the order to gather information from the Retailer placing the order. If the Retailer is a recurring customer then the sales representative would Create a new invoice. If the Retailer is a new customer then the sales rep would begin by adding the Retailers information like company name, city, state, address, and contact information into Smart Tech’s data store so the Sales department could retrieve this information at any time. Once all the new information is added then you would create the invoice for the new customer. The invoice created for the retailers order will contain the customers ID, the Date of the Invoice, the Invoice ID, and the quantity of the order as well as the Computer ID which is the model of the computer/laptop being ordered. Once this Invoice
  • 21.
    is created itwill get sent to the data store to be saved in Smart Tech’s database. The Warehouse will receive this invoice from the Sales team and begin to check if they have the necessary quantity available to complete the Customers order. They will record the quantity of all their makes and models in the warehouse and send that information to the companies Data store. Once the Warehouse checks their inventory and records the amount, they will either approve or decline the order. If the order is approved then the Sales team is notified and the Retailer will then pay for the invoice. If the order is declined by the warehouse. Then this means the warehouse will contact the accounting department and let them know about the insufficient amount of computers/laptops the warehouse has and tell them how much they need to order. The Accounting department will then order the new inventory for the warehouse. Once the Accounting Department places the order for the warehouse they will notify the Sales Department about the back order. The Sales team will then notify the customer of the back order that they will be placed on, and let the customer know about how long that back order will take. This could lead to the customer to not complete the invoice and discontinue business with Smart Tech, which would result in the end of our sales process. If the Customer decides to pay for the invoice whether or not there is a back order, the sales team will then finalize the sale by transferring the financial details of the transaction over to the Accounting Department. The Accounting department will record the transaction into accounts receivable and send the billing statement and customer information into the customer accounts database. Once the Accounting department records the billing statement and finalizes the invoice, they will send it over to the warehouse. The warehouse will receive the invoice which gives them the green light to begin Smart Tech’s shipping and handling process. Once the shipping process is completed the Retailer will receive their computers/laptops which will end the process.
  • 22.
    Transactions and Objects: Atransaction table is used to record an event in a process. An object table stores information about a person, product, or service that is associated with the business process. Object tables: One object table in our sales process is our inventory data storage. In this object table we have records of how many desktops and laptops we currently have on hand in our warehouse. Smart tech produces two different desktops and three different laptops. Our inventory records will reflect the quantity of each type of computer that we produce so our sales team will always be updated on the amount of inventory that we have on hand. This data store is vital to the success of our company because we don’t want to promise a shipment to a customer if we don’t have the computers on hand to ship Another object table that we keep in our database is our customer credentials storage. In this table we assign a customer number to each company that we do business with. This helps us with our invoice and shipping processes because we need to link our invoices with each customer. When we create our invoices we will have the customer number at the top of the page that has all of the customer credentials such as their company name, address, and date that the invoice is processed. At the beginning of our sales process we make sure to check whether or not we are dealing with a new or existing customer. If they are new we make sure to get all of their credentials entered into our system so that we can proceed with the rest of our sales process. Transaction tables: A transaction table that we use is our invoice generation process. When a customer comes to our sales team and puts in and order for our computers we generate an invoice that reflects
  • 23.
    the quantity andand type of computers that the customer wants. This transaction is then passed along to our warehousing staff to see if we have the inventory on hand to satisfy their order. Each order that is submitted to our sales team will be assigned and invoice number so that our accounts receivable department can see the money we have coming in, who is buying it, and the amount of each computer that they are buying. Assigning an invoice number to each of our orders ensures that we will have detailed records of each order and will be able to project future cash flows. When we receive an order from a customer and do not have enough inventory on hand we send a buy order to our accounts payable department. This transaction ensures that we will have enough computers on hand to satisfy our customers order. Once the order is made we notify the customer that their order has been placed on backorder and will out for shipping as soon as possible. Not having enough computers on hand to satisfy our customers orders is never ideal so we have generated a process to make this order as fast as possible. Figure 1 – This shows the flowchart for the sales process of Smart Tech Computer Co. Data Diagram This document depicts the database for the sales process of Smart Tech Computer Co. Figure 2 – This diagram shows the relationships between primary and foreign keys among all tables and attributes in the database. Explanation of database design
  • 24.
    Our database designincludes the following object, transaction, category and intersection tables: Object tables: · Customers · Inventory Transaction table: · Invoices Category table: · Computer_Type Intersection table: · Invoice_Inventory Table Explanations: Customers: The primary key for our customer table is our Customer ID Number. Each customer has their own Customer ID so that we can discern between each customer that we do business with. The foreign keys for our customer table are Customer Name, Street, City, State, and Zip Code. This information in our customer table is used for our shipping and accounts receivable departments. Inventory: The primary key in our inventory table is our Inventory ID. We offer two different types of desktops and three different types of laptops so the Inventory ID reflects which type of computer we are referring to. The foreign keys in our inventory table are description, unit price in dollars, and units on hand. The description key lets us know which model of computer we are selling. For our laptops we have a C250, C300, and Z260 model. For our desktops we have an A1000 and A2000 model. The unit price in dollars reflects the price point that we are selling our computers at. Since we have a different price point for each computer this key is important for our accounting department and allows us to run data analytics to see
  • 25.
    where we aregenerating our profit from. Lastly we have a units on hand key. This key is used to communicate between the warehouse and sales team. When the sales team receives an order they are able to see how many units we currently have on hand and will let the customer know if we are able to satisfy their order. If we don’t have enough computers to satisfy their order the accounts payable department is contacted and they will place an order for more computers. Invoices: The primary key for the invoices table is the invoice ID number. Each invoice has a unique ID that distinguishes it from other invoices. One of the foreign keys for our Invoice table is the customer ID, each customer has an ID number and we use it in the invoices table to know which customer is related to each Invoice. The second foreign key is the date. This information is important because it lets us know when the order was placed and gives us a timetable to adhere to. Computer_Type: The primary key in the computer type table is the Computer ID which is an ID that represents the computer types that we are selling. In our company, we only sell two types of computers thus ID number 1 represents laptop and Number 2 represents desktop. Invoice_Inventory: The primary key in our invoice inventor table is the Invoice Inventory ID. This number represents the try and amount of each computer bought on each invoice. It separates each invoice into a breakdown of how many specific types of computers were purchased on each invoice. The foreign keys in this table are Invoice ID, Inventory ID, Quantity, and Computer ID. The Invoice ID represents which invoice the purchase was made on so we can then see what company made the purchase. The Inventory ID denotes which type of computer was purchased, either a laptop or desktop. The quantity lets us know how many of the computers were purchased and the Computer ID represents the exact model of computer that was
  • 26.
    ordered. This tablegives us a detailed breakdown of the purchases of our buyers and can be used in many different evaluation functions. The Invoice_Inventory intersection table supports a many-to- many relationship between the Invoices table and the Inventory table.The intersection table, itself, is not a list of individual events or objects of interest, rather its purpose is to record and association between items in the other tables. It has its own primary key and has two foreign key attributes Invoice_ID which points to the primary key of Invoices and Invoice_ID which points to the primary key of Invoices. Data The sample data is provided to illustrate how the database design stores and uses its data. Customers Table 2.1 - Our Customers table gives each customer an ID number, and shows the name and address of each customer. There is a one to many relationship between the customer and Invoices table. Inventory Table 2.2 - This table gives each of our products an ID number which is the primary key for this table, but used as a foreign key in the Invoice_Inventory table. This table also provides the name of each product, the price, and how many units the company has in stock.
  • 27.
    Invoices Table 2.3 -The invoices table gives each invoice an ID number, and provides the date of the invoice. This table also includes the customer ID of the customer that made the purchase, which is a foreign key from the customers table (note the one to many relationship). Computer_Type Table 2.4 - Our category table tells which of our products is a desktop, and which is a laptop. Invoice_Inventory Table 2.5 - Our intersection table gives us a table that brings our many to many relationships together. The table tells us which products were purchased on which invoice and the quantity of each. The table also tells us whether the items were a laptop or a desktop. We can later use this information to determine which product line is our best sellers. Note the multiple many to many relationships in this table. For example many invoices can have many different pieces of inventory, and can have many different computer types.