COIT20257 Distributed Systems - Principles and Development

Assignment Help JAVA Programming
Reference no: EM132404966

COIT20257 - Distributed Systems: Principles and Development - Central Queensland University

Assignment

1. Objectives

The purpose of this assessment item is to assess your skills attributable to the following learning outcomes and achieving the expected graduate attributes of advanced level communication, knowledge, cognitive, technical, and creative skills, and self-management.
• Develop distributed applications using networking, inter-process communication, and remote invocation
• Solve problems in the distributed systems domain by applying the principles of distributed systems to authentic problems

2. 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-4. 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 Data Structures and Algorithms.

2.1 Problem

Year 11 and 12 students study five subjects. There are many assessments for these subjects in different formats and the grades of these assessments are summative contributing to a student's final result. These two years of study are closely monitored by teachers and parents as the outcome decides the final grade a student achieves when s/he completes year 12. University entrance to various degrees are based on a student's year 12 final grade. Queensland Government Education department is keen to have better systems for parents to be informed and enable teachers to upgrade grades with one software system.

You are invited to develop a prototype of a Study Progress Monitor System (SPMS), for managing students' grades allowing administrators to add students, enrol subjects with assessments, set grade, and parents/students to access the stored details. You will be developing a multiple-threaded client/server application.

All users accessing the SPMS should able to view the following data:
1. List of assessments for a chosen subject
2. Grades of assessments for a student Administrator should be able to access the SPMS to:
1. Set grade for a chosen student and subject

Note: You will be given a data file containing list of subjects and assessment details from Term 1 2020.

2.2 Design Guidelines

You can use the following guidelines in your modelling and design.

Sever 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 read requests are executed concurrently.

Request for view Assessments for a subject

If the client request is to view assessments for a subject, the server should parse the request received from the client and execute appropriate database queries to extract data and send the data back to the client.

Request to view grades of a student

If the client request is to view grades of a student, the server should parse the request containing the student's name received from the client and execute appropriate queries to extract all the graded assessments and send the data back to the client.
Request to set grade for a specific assessment of a student

If the client request is to set grade, the server should parse the request containing student's name, subject name, assessmentId, and achievement value to execute database query and update the database with the new grade. (It is assumed that the user is aware of the ungraded assessments or the user can display grades to view the current grade status. This is to reduce the complexity of the database operation as that is not the focus of this unit.) This should be synchronised as multiple clients will be running through multiple threads.

Client side

The client side interacts with the user, parses the request and sends it to the server. It receives messages from the server and displays to the user. The query frontend provides a menu to let a user choose any of the functions continuously until the user chooses to exit the SPMS.

The data base should have the following tables
1. Student to store student name, year level (studentId: primary key)
2. Subject to store subject name (subjectId: primary key)
3. Assessment to store the Assessment details as shown in Table 2 (use composite key of subjectId and Assessment Id)
4. Grade to store the Grade details as shown in Table 3
5. StudentGrade to store the set grade for an Assessment item of a student (use composite key of StudentId, subjectId, AssessmentId, and gradeId).
Student data given below can be used for testing purposes. Add any other table/s as necessary.
Note: The table listings only show the values to be stored as per the user requirements. The primary keys are generated during the programmatic creation of the tables and used for other database operations. These keys need not be displayed to the user. The primary keys can be auto-incremented integer values. One Student has to enrol in five Subjects and each Subject is enrolled by many Students. (many - to - many). You may add additional tables as

required for the correct functioning of the database. Create an ERD to understand the relationship between tables.
List of Students
Table 1 Test Data for Students

Student Name

Year Level

John Clarke

11

Peter White

11

Lily Li

11

Lisa Soon

11

Tom Dixon

11

List of Subjects English Mathematics B Biology
Business and Communication Technologies Religion and Ethics

Assessment Details
An example set of one assessment details for a subject is given in Table 2. A possible listing of all assessments for all the subjects is given in the file COIT20257Ass1.csv, available on the Unit website.
Table 2 Sample Assessment Details

Description

Value

Subject

English

Assessment Id

11.1

type

Multimedia presentation

topic

interior monologue 3-4 mins Australian Identity

format

speaking

Due date

Wed 9 - Wed 16 March 2017

Grade Details
Table 3. Grading Details

Degree of achievement:

Degree of knowledge and understanding:

Degree of skill and use of skill:

 

Very high

thorough understanding

uses a high level of skill in both familiar and new situations

High

clear understanding

uses a high level of skill in familiar

situations, and is beginning to use skills in new situations

Sound

understanding

uses skills in situations familiar to them

Developing

understands aspects of

uses varying levels of skill in situations familiar to them

Emerging

basic understanding

beginning situations

to

use

skills

in

familiar

Please revise and use the knowledge from Data Structures and Algorithms for database operations.
Data Structures
You may follow the following class design.
• Student class
Attributes: Student name, year level, and a Linked List of Subjects
• Subject class
Attributes: Subject name and a Linked List of Assessments
• Assessment class
Attributes: assessment id, type, topic, format, due date
• Graded Assessment
A Subclass of Assessment with a Grade object.
• Grade class
Attributes: achievement, knowledge, and skill as shown in Table 3.

Database Utility class
This class will have necessary data structures and methods to create the database and the tables of Student, Subject, Assessment, Grade, populate the tables, and extract data from the tables. Use Prepared Statements to populate the tables using values loaded from the file. Also use Prepared Statements to extract data and store in appropriate data structures.

Server class
This class will have necessary data structures and methods to create the sockets for client connection, creating threads for each client. This class will have main() method to invoke methods from other classes to run the application.

Client class
This class will display menus, take the user input, create socket and request connection to the server. This class will also send/receive the messages between the client/server.

3. Coding
Include necessary accessor, mutator methods, constructors, and toString() method for each class. Also, follow good coding practices, using meaningful names, camel case notation for naming, constants as necessary, and include meaningful comments.

4. Report

Submit a report with the following details.

1. Provide a diagrammatic representation of the SPMS architecture.

2. Include a test plan, and user instructions.

3. Ideally, the SPMS should be a cloud-based application. This should allow the parents/students to access the SPMS from their home and teachers to set grades. The added convenience of having ubiquitous availability of access to the SPMS creates the necessity for additional security requirements. Write the principles of RMI and how this is used in client/server applications. Explore the possibility of using this in the impelmentation of SPMS. Are there any advantages? You need to write a maximum of 500 words.

Attachment:- Distributed Systems.rar

Reference no: EM132404966

Questions Cloud

Lot of alternatives to get to work : There are a lot of alternatives to get to work, but some of them are not always reachable for us (like going to work with a helicopter).
Individual nongovernmental organization mission : Description (in your own words) of an individual nongovernmental organization's (NGO's) mission and capabilities.
ENGD5258 Advanced Solid Mechanics Assignment : ENGD5258 Advanced Solid Mechanics Assignment Help and Solution - De Montfort University, UK. Assignment - Truss design using Finite element method
Describe the genre of communication : Describe the genre of communication you would use such as a paper format, social media, public announcement, press release, or a televised media conference
COIT20257 Distributed Systems - Principles and Development : COIT20257 Distributed Systems: Principles and Development Assignment Help and Solution, Central Queensland University - Assessment Writing Service
Decision remains until the constitution is amended : Once the Supreme Court interprets the Constitution on a specific point, the precedent set by that decision remains until the Constitution is amended
Discuss the federalism challenges : Discuss the federalism challenges that the policy you have selected is creating or facing.
Review the katrina breakdown : Review "The Katrina Breakdown" in Chapter 3. Setting aside the philosophical and legal issues this case raises,
Department of corrections and department of juvenile justice : your selected agency received funding to expand its current emergency plan, which involves the Department of Corrections and Department of Juvenile Justice.

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