Design and develop secure distributed applications

Assignment Help JAVA Programming
Reference no: EM133111711

COIT13229 Applied Distributed Systems - Central Queensland University

Objectives

The purpose of this assessment item is to assess your skills attributable to the following learning outcomes and your achievement of the expected graduate attributes of intermediate level communication, information literacy, and graduate level problem solving, critical thinking, and information technology competence.

LO1: Develop software applications that can run in parallel and on multiple networked computers using approaches such as multi-threading, and client-server architecture

LO2: Design and develop secure distributed applications using approaches such as RESTful webservices

Assessment task

Your task in this assessment is to analyse the given problem, model, design, implement, test and document a client/server application that allows multiple users to access stored data or add new data. You will be implementing the software solution, applying efficient algorithms, inheritance, polymorphism, and exception handling. The topics required for this assessment task are from Weeks 1-5. You should also write a report, as specified in this document, demonstrating your conceptual knowledge. You will be required to use the topics learnt in the pre-requisite unit Object-Oriented Programming.

Problem
Community Supported Agriculture (CSA) is taking momentum in many parts of the world. This is to produce ethical, organic fruits, vegetables, dairy, and other products for the local community. The purpose of CSA is to reduce the large distances agricultural products are transported and also engage in environmentally friendly production practices reducing the use of pesticides, and other unethical practices in the treatment of animals.

MalenyFreshDairy is a diary producer following the CSA philosophy to produce and supply fresh milk and other dairy products to home. MalenyFreshDairy was established in 2019 located in Maleny and services the Sunshine Coast and surrounding areas. MalenyFreshDairy produces hormone free milk with no factory farms and supplies to home directly and distributes through pick up points.

Even though MalenyFreshDairy has an existing website, they are interested to re-create. You are invited to create a software application named Maleny Diary To Home System(MDHS).

You are invited to design and develop an initial prototype for the MDHS. Your prototype will be further extended so that it can be used by similar farmers following CSA philosophy. You will be developing the prototype in two stages. In the first stage, the MDHS should enable member registration, display of products, and display of summary reports.

1. Home Delivery Customer
People who want to purchase products through home delivery should register entering the following details.
• Full name
• Phone number
• Email address
• Password
• Delivery Address (place where products to be delivered)
The admin staff who may be the owner or employer of the MalenyFreshDairy should be able to add/remove or update products. The product details to be entered are shown below.

2. Product
• Name
• Quantity
• Unit
• Unit price
• Ingredients (Some products may not have ingredients).
This is an improvement from the existing website as customers cannot see a delivery schedule before selecting items and proceeding to checkout. Products are delivered to home on a weekly basis. Different postcode areas are delivered on different days of the week, for example North Maleny on Fridays. The delivery cost is fixed for different postcode areas.

3. Delivery Schedule
• Postcode
• Delivery Day
• Delivery Cost

A. Server Side
The server should enable the following functionalities. The server creates a new thread for each client connection (thread-per-connection model). The server side receives client requests, processes them and returns results. Multiple client requests are executed concurrently. Server side will not have a GUI.
i) Receive Customer registration details
Details entered during customer registration should be received from the client side. These can be sent as a list from the client side.
ii) Save Customer details
The received details of the Customer should be written to a binary file. The data should be appended so that previously entered data should not over-written.
iii) Receive request from the client for display of Delivery Schedule
A Customer logged into the client side views the Delivery Schedule and this should send a request to the server for Delivery schedule.

iv) Send Delivery schedule to the client
The Server side should also enable Admin functions executed from the client.
vi) Receive new product details
vii) Save the received product details
viii) Receive new Delivery schedule
ix) Save Delivery Schedule
The product details and delivery schedules should be saved in two separate text files (.csv) coma separated values format.
B. Client Side
The client side has a GUI to enable user interaction.
i) Register Customer
This should have all the components allowing a new Customer to enter the details and submit for registration. On submission, the data can be stored in a LinkedList and send to the server after receiving certain number of entries.
ii) View schedule
This should allow the Customer to view Delivery schedule
iii) Display product list
This should allow the customer to view products
Admin functionalities
iv) Enter new product details
This should allow admin staff to enter new products.
v) Create Delivery Schedule
This is for creating delivery schedule that contains the postcode, weekday of delivery, and cost.
vi) View list of registered customers

C. Graphical User Interface
The GUI should have the necessary components to enable the user to execute all the functions as provided in Section 2.2 A above. You may use the guidelines provided below for your GUI design and implementation. Variations to the provided guidelines are acceptable if it meets the user requirements. The GUI should be designed to provide an easy-to-use user interface that provides informative error messages, and clear instructions. This should be intuitive and easy to navigate.
You use necessary Controls such as Buttons, TextFields, ComboBoxes and others. You should design user data entry Controls keeping in mind that user will be required to use less typing for entering data. Enable user to select from displayed list, using CheckBoxes, and other suitable Controls. You can use JavaFX for your GUI development.

4. Report
You should submit a report containing the following details.

1. UML class diagrams for the classes
Note: UML class diagrams generated using a software tool after completing the coding will not be accepted.

2. A diagram showing the system architecture illustrating the client server connection and the multiple clients connecting to the server.

3. Test plan showing input data, expected results, and actual results. Show testing of erroneous entries also.

4. Clearly write the steps of client - server communication happening during the program run and data going between client and server for the Customer Registration event. You can use a diagram.

Attachment:- Implementing the software solution.rar

Reference no: EM133111711

Questions Cloud

Prepare for unexpected events : How does risk management practices help organisations to prepare for unexpected events, help with financial planning, assist in effective utilisation and alloca
Positive and negative aspects of speculation : Explain the positive and negative aspects of speculation in financial markets.
Portfolio expected return and standard? deviation : Your client has $100,000 invested in stock A. She would like to build a? two-stock portfolio by investing another $100,000 in either stock B or C. She wants a p
Calculate the coefficient of variation : Rail Haul has an average return of 12 percent and standard deviation of 25 percent. Before solving this problem, calculate the coefficient of variation
Design and develop secure distributed applications : Design and develop secure distributed applications using approaches such as RESTful webservices and Develop software applications that can run in parallel
What concerns would the auditor consider during the audit : Wonder World is a theme park operated by an audit client of Wonder Partners. What concerns would the auditor consider during the audit
How would you create a zero-risk portfolio : Acme Co has an expected return of 12% and Pinder Co has an expected return of 8%. How would you create a zero-risk portfolio
What is the highest price that you can pay for a house : Question - You want to buy a house using a 15-year fixed-rate mortgage from the bank. What is the highest price that you can pay for a house
Firm weighted average cost of capital : Phillips Equipment has 75,000 bonds outstanding that are selling at par. Bonds with similar characteristics are yielding 7.5 percent. The company also has 750,0

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd