Design and develop secure distributed applications using

Assignment Detail:- 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- ProblemCommunity 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 CustomerPeople 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 SideThe 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 detailsDetails 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 detailsThe 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 ScheduleA 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 clientThe Server side should also enable Admin functions executed from the client-vi- Receive new product detailsvii- Save the received product detailsviii- Receive new Delivery scheduleix- Save Delivery ScheduleThe product details and delivery schedules should be saved in two separate text files --csv- coma separated values format-B- Client SideThe client side has a GUI to enable user interaction-i- Register CustomerThis 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 scheduleThis should allow the Customer to view Delivery scheduleiii- Display product listThis should allow the customer to view productsAdmin functionalitiesiv- Enter new product detailsThis should allow admin staff to enter new products-v- Create Delivery ScheduleThis is for creating delivery schedule that contains the postcode, weekday of delivery, and cost-vi- View list of registered customers C- Graphical User InterfaceThe 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- ReportYou should submit a report containing the following details- 1- UML class diagrams for the classesNote: 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

Most Recent Questions


Helping Students for Excellence in Academics, GET Help with Assignment? Order Now