联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2024-05-30 09:41

Assessment 2 Brief

PROG2003: CLOUD SYSTEMS DEVELOPMENT

Summary

Title Assessment 2

Type Programming

Individual or Group Individual

Due Date Monday 3 June 11:59 pm AEST (Week 6 Monday)

Length N/A

Weighting 50%

Academic Integrity

Contract cheating and any use of GenAI, such as ChatGPT, in this

assignment are strictly prohibited. Any breach may have severe

consequences. Please read carefully the “Academic Integrity” section

below.

Submission AWS application submission in Blackboard link. The application must be

present in the AWS workspace.

Unit Learning

Outcomes

This assessment task maps to the following ULOs:

ULO1: integrate cloud APIs and services to design and develop cloud

applications

ULO2: analyse cloud computing problems to compare and propose

solutions

ULO3: design and evaluate cloud computing systems

Rationale

Learning cloud computing APIs and integrating them would allow you to create real-world

applications. This assignment particularly asks to utilise cloud storage, database, and serverless

computing APIs and their features. The purpose of the assignment is to test if you can develop a

serverless computing system that can automatically interact with cloud storage and databases.

Besides, this assessment will also check your skill in creating data processing pipeline. You must

transfer and combine the knowledge they would learn in the class and from the material to

complete this assessment. A real-world cloud developer would learn key cloud APIs, and create

advanced cloud application using them. This assessment asks you to do the same task.

Task Description

Assume that you are a cloud engineer at Harvey Norman and tasked to develop a serverless

compute application to collate all reviews of their product items. The application is intended to get

notified when a particular text or json object (file) is created in a cloud storage bucket. Upon getting

notified, the application must read the content within the created object and insert the content into

a cloud database table. Apart from this you need to develop a data processing pipeline using a cloud

data processing service.

Note: You will use an AWS account provided by the university for this project, not a personal account.

This ensures that all resources and data are managed within the university's AWS ecosystem.

 

2

Assessment 2 Brief

Task Instructions

Part A – Serverless compute application

Complete the following tasks:

1. Create a cloud storage service bucket and database table (aligns with ULO1):

Create an S3 bucket. You only can upload JSON and TXT files in this bucket. Create a

DynamoDB table, “ProductReview” for storing the below data attributes.

Identifier, Product name, Price (in AUD), Review comment, and Rating (out of 5)

Use appropriate data types and attribute names for the database table accordingly. The TXT

and JSON files you will upload must contain records containing values for all these attributes

(except Identifier), in text and JSON format.

For example, the JSON file content can be like this.

[{“ProductName”: “Sony TV”, “Price”: 12000, “Review”: “I loved this product, have been

using for 5 years, no issue”, “Rating”: 4.85},{“ProductName”: “Bravia Microwave”,

“Price”:350, “Review”: “Good value, does the job”, “Rating”: 4.12},{“ProductName”: “Lenovo

Thinpad”, “Price”: 2400, “Review”: “Not happy with, had to return”, “Rating”: 2.45}]

The TEXT file content can be like this, as plain text.

ProductName: Sony TV, Price: 12000, Review: I loved this product, have been using for 5

years, no issue, Rating: 4.85; ProductName: Bravia Microwave, Price:350, Review: Good

value, does the job, Rating: 4.12; ProductName: Lenovo Thinpad, Price: 2400, Review: Not

happy with, had to return, Rating: 2.45

2. Create serverless compute service (aligns with ULO1, ULO3):

Create a Lambda function (in AWS Lambda) with an appropriate execution role and a “create

object” trigger for the above S3 bucket, which will work as the serverless compute application.

A Lambda function executes a piece of Java program known as “handler”.

3. Design and develop handler application (aligns with ULO1, ULO3):

The program a Lambda function executes is actually written with a Cloud9 app. You must

create a Cloud9 app that would work as the handler for the above Lambda function. The app

must implement the following functionalities:

• Gets notified when an object (any file regardless of .txt or .json) is created/uploaded

to the S3 bucket. Stores the names of the bucket and uploaded file into a log file.

• Reads the content of the object/file and parse the JSON/text content to retrieve

each review record.

• Computes the current value of the identifier field. Inserts the respective details of

each record into the corresponding fields of the “ProductReview” table.

 

3

Assessment 2 Brief

Note: You can test the Lambda function by just simply uploading text and/or json into the

specified bucket.

Part B – Data processing pipeline

Complete the following tasks:

1. Propose a data processing solution (aligns with ULO2):

Create a Glue DataBrew project to process NYC taxi trip data, download the dataset from

this link https://www.kaggle.com/datasets/anandaramg/taxi-trip-data-nyc. Upload about

5000 randomly selected samples to your Glue DataBrew project. You then need to apply the

appropriate pre-processing tools on the uploaded dataset. You must not replace the original

data with the new results, instead augment the existing data with new columns.

a. Replace all missing values in three appropriate data columns which have missing

values. You can get idea which columns have missing about missing instances from

this above link.

b. Identify the duplicate rows and flag them.

c. Flag outliers for any two appropriate columns.

d. Compute the total fare amount for each weekday.

e. Compute the total number of trips for each weekday.

f. Compute the total number of trips for each month.

2. Package solution (aligns with ULO2):

Create your recipe to apply the above methods and publish your recipe.

Requirements

• You will use a single bucket for the whole assignment, named as “yourusernamea2bucket”.

Your handler app must be named as “yourusernamea2app”.

• Handler app must be implemented using Java and AWS SDK 1.x. The Java program must be

implemented with separate methods for each functionality, exception handling and loop(s).

The program must have detailed and clear comments to understand how the code works.

Resources

Resources required to complete the assessment task

• Modules 2, 3, and 4 (for Part A), and Module 5 (for Part B) to complete this assignment

• JSON array and object can be parsed using the “org.json” package. Please check this link:

https://stleary.github.io/JSON-java/index.html. You can use the latest maven dependency

from here: https://mvnrepository.com/artifact/org.json/json.

 

4

Assessment 2 Brief

Task Submission

1. Download the final handler app from Cloud9 workspace and submit the zipped app as

“yourscuusernameA2App.zip” to the Blackboard submission link in the unit site. The app

must also be present in the AWS workspace provided by the UA. The marker will test your

app functionality from this workspace.

2. The recipe of the data processing pipeline as JSON file must be submitted to the MySCU site

submission link.

Note: All your development resources for Part A and B, including bucket, database table,

Lambda function, handler app, data project, recipe, must be present in your AWS workspace

(UA-provided) to be tested and marked. Multiple submissions are allowed until the deadline.

Academic Integrity

At Southern Cross University, academic integrity means behaving with the values of honesty,

fairness, trustworthiness, courage, responsibility and respect in relation to academic work.

The Southern Cross University Academic Integrity Framework aims to develop a holistic, systematic

and consistent approach to addressing academic integrity across the entire University. For more

information, see: SCU Academic Integrity Framework

NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence

(GenAI) tools, the use of GenAI has not been appropriately acknowledged or is beyond the

acceptable limit as defined in the Assessment, poor referencing, not identifying direct quotations

correctly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion, cheating, contract

cheating, fabricating information.

GenAI is may not be used for Assessment 2

Generative artificial intelligence (GenAI) tools, such as ChatGPT, must not be used for this

assessment task. You are required to demonstrate that you have developed the unit’s skills and

knowledge without any external support. If you use GenAI tools in your assessment task, it will

result in an academic integrity breach against you, as described in the Student Academic and NonAcademic

Misconduct Rules, Section 3.

Since you are mastering fundamental skills, you are permitted to work from the examples in the

MySCU site or study guide, but you must acknowledge assistance from other textbooks, classmates,

or online resources. In particular, you must not use online material or help from others, as this

would prevent you from mastering these concepts.

This diagram will help you understand where you can get help:

Lecturer

Tutors

GenAI e.g.,

ChatGPT

Online

Forums

Relatives

Students

outside unit

Hired coders  

5

Assessment 2 Brief

Classmates

Private

Tutors

Other

Encouraged

Attribution Required (in the report)

Ask tutor

Not acceptable

Please note that if your marker has any suspicion that you had help with your work or is not your

own you will be asked to come to a meeting with your marker to explain your work. Any

student who is unable to explain their code will be submitted for academic misconduct.

Special Consideration

Please refer to the Special Consideration section of Policy.

https://policies.scu.edu.au/document/view-current.php?id=140

Late Submissions & Penalties

Please refer to the Late Submission & Penalties section of Policy.

https://policies.scu.edu.au/view.current.php?id=00255

Grades & Feedback

Assessments that have been submitted by the due date will receive an SCU grade. Grades and

feedback will be posted to the ‘Grades and Feedback’ section on the Blackboard unit site. Please

allow 7 days for marks to be posted.  

6

Assessment 2 Brief

Assessment Rubric

Marking Criteria and %

allocation

High Distinction

(85–100%)

Distinction

(75–84%)

Credit

(65–74%)

Pass

(50–64%)

Fail

0–49%

Integrate cloud storage

and database services to

set up a serverless

compute application

(ULO1) – 5%

Executes a Lambda

function with meticulous

configuration,

incorporating the

requisite runtime

environment, and

seamlessly integrates an

S3 trigger into the

serverless architecture.

Configures the database

table with accurate

attributes and data types.

Configures a Lambda

function appropriately

with necessary runtime

environment, and

integrates an S3 trigger

effectively into the

serverless architecture.

Ensures basic

configuration of the

database table with

correct attributes and

data types, with minor

naming issues.

Establishes a Lambda

function with a functional

runtime environment,

and integrates an S3

trigger adequately into

the serverless

architecture. The

configuration of the

database table includes

basic attributes and data

types. Contains minor

naming and configuration

issues.

Sets up a Lambda

function with basic

configuration,

incorporating a

rudimentary runtime

environment, and

integrates an S3 trigger

minimally into the

serverless architecture.

The configuration of the

database table may lack

precision in attributes

and data types.

Fails to deploy Lambda

function with proper

configuration, struggles

with S3 trigger

integration, and lacks

adequate database table

configuration.

Implement a serverless

compute application

(ULO1, ULO3) – 40%

Implements program

with exemplary

proficiency incorporating

accurate retrieval and

storing of bucket and key

information, format

validation, parsing JSON

and text data, executing

DynamoDB operations

for both reading and

inserting data flawlessly.

Showcases exceptional

coding practices by

employing robust

exception handling, wellstructured

loops,

modular methods, and

Implements program

with high level of

competence by

effectively handling

bucket and key retrieval

with format validation,

accurately parsing JSON

and text data, performing

DynamoDB operations

for reading and inserting

data proficiently.

Demonstrates strong

coding practices with

reliable exception

handling, structured

loops, modular methods,

and detailed comments.

Implements program

with competency in

handling bucket and key

retrieval with format

validation, parsing JSON

and text data with minor

inaccuracies, executing

DynamoDB operations

for reading and inserting

data satisfactorily.

Employs decent coding

practices with functional

exception handling,

organized loops, modular

methods, and sufficient

comments.

Implements program

with basic requirements,

incorporating bucket and

key retrieval and format

validation, parses JSON

and text data adequately

with some errors,

executes DynamoDB

operations for reading

and inserting data

adequately with minor

issues. Employs basic

coding practices with

minimal exception

handling, simple loops,

modular methods, and

limited comments.

Attempts insufficient

proficiency in handling

file retrieval and format

validation, parsing JSON

and text data

inaccurately, executing

erroneous DynamoDB

operations for reading

and inserting data. Lacks

effective coding practices

with inadequate

exception handling,

poorly structured loops,

unorganized methods,

and insufficient

comments.  

7

Assessment 2 Brief

comprehensive

comments.

Develop a serverless

compute app using cloud

storage and database

services (ULO1, ULO3) –

35%

Develops a Lambda app

that executes flawlessly

without compile or

runtime errors,

accurately logs bucket

and key, retrieves the

JSON and text content,

inserts the data

accurately into

DynamoDB table.

Develops a Lambda app

that runs smoothly with

no compile or runtime

errors, reliably logs

bucket and key, retrieves

the JSON and text

content, inserts the data

into DynamoDB table,

with some minor issues in

presenting information.

Constructs a Lambda n

app that runs without

compile or runtime errors

but offers limited

functionality, with one

key feature not operating

correctly, indicating a

foundational level of

performance yet room

for improvement.

Builds a Lambda app free

from compile or runtime

errors, yet it exhibits

restricted functionality

due to several key

features malfunctioning,

suggesting a basic

operational level with

significant scope for

enhancement.

Attempts to develop a

Lambda app but

encounters significant

compile or runtime

errors, failing to meet the

project's core

requirements.

Analyse a data processing

problem and develop a

cloud solution (ULO2) –

20%

Implements a DataBrew

recipe with exceptional

proficiency that

meticulously replaces

missing values, flags

duplicate rows, and

identifies outliers. It

excels in computing total

fare amounts and trip

numbers for weekdays

and months showcasing

advanced analytical

capabilities.

Implements a DataBrew

recipe that demonstrates

a high level of proficiency

by effectively replacing

missing values, flagging

duplicate rows, and

identifying outliers. It

proficiently computes

total fare amounts and

trip numbers for

weekdays and months,

reflecting advanced

analytical skills, with

ignorable issues.

Implements a DataBrew

recipe that adequately

handles data quality

concerns by replacing

missing values, flagging

duplicate rows, and

identifying outliers with

satisfactory proficiency. It

adequately computes

total fare amounts and

trip numbers for

weekdays and months,

with minor inaccuracies.

Implements a DataBrew

recipe addressing basic

data quality challenges by

replacing missing values,

flagging duplicate rows,

and identifying outliers to

a minimal extent. It

calculates total fare

amounts and trip

numbers for weekdays

and months with basic

proficiency, with multiple

missing functionalities.

Attempts a DataBrew

recipe but fails to

effectively address data

quality issues, lacking

proficiency in replacing

missing values, flagging

duplicate rows, and

identifying outliers. It

inadequately computes

total fare amounts and

trip numbers for

weekdays and months,

suggesting a fundamental

misunderstanding.


Assessment 2 Brief

Description of SCU Grades

High Distinction:

The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and

applying relevant skills and concepts, and shows exceptional ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described as

outstanding in relation to the learning requirements specified.

Distinction:

The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and

applying relevant skills and concepts, and shows a well-developed ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described

as distinguished in relation to the learning requirements specified.

Credit:

The student’s performance, in addition to satisfying all of the basic learning requirements specified, demonstrates insight and ability in researching, analysing and applying

relevant skills and concepts. The student’s performance could be described as competent in relation to the learning requirements specified.

Pass:

The student’s performance satisfies all of the basic learning requirements specified and provides a sound basis for proceeding to higher-level studies in the subject area.

The student’s performance could be described as satisfactory in relation to the learning requirements specified.

Fail:

The student’s performance fails to satisfy the learning requirements specified.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp