Está en la página 1de 1

CC3011N Distributed Systems Coursework: 2010/2011

Design, write, and implement a suitable distributed networked application using Java. You need to: 1. 2. 3. 4. 5. Agree with the module leader a suitable application that explicitly requires network communication. Design the communication protocol (message format and exchange procedure) that your application will require Design a multithreaded, peer-to-peer or client/server, implementation of your application Develop your application using Java networking primitives: TCP/UDP sockets or Java RMI. Create and implement a test plan that documents whether your application fully works

The aim of this assignment is to develop a practical appreciation of both the complexities of, and design and programming choices available, when developing and implementing any particular distributed application. Suitable applications from which to choose: File Server/Browser - Client/Server implementation (FTP protocol) Web Server/Browser - Client/Server implementation (HTTP protocol) Shared Whiteboard Peer-to-Peer implementation (user defined protocol) Chat Application Peer-to-Peer implementation (user defined protocol) Distributed Game Peer-to-Peer or Client/Server implementation (user defined protocol)

As the main aim of the assignment is to demonstrate understanding and practical skills in the use of distributed programming techniques and the use of such in constructing an actual distributed application, then the marking will be heavily weighted to the communication elements of the code (protocol design, appropriate choice of message exchange mechanism, and the actual distributed programming). Other aspects, such as screen design, GUI interface, etc, although important, are of less concern. For example if developing a distributed Chess Game, a well designed chessboard and intricately designed chess pieces (as animated images) will achieve an overall low mark if there is no suitable messaging protocol and/or working communication between players at different nodes. Whereas, a basic chessboard with very limited graphics would gain a high mark if the (likely) peer-to-peer communication mechanism between devices was appropriately programmed and worked well.

Work to be submitted.
You must submit: A CD which contains your Java source files for your application together with any other code required (e.g., specific non-standard class libraries you may require). Annotated print-outs of all code, test plans and appropriate screen dumps, and a detailed description and justification of your choice of application and distributed communication mechanism, as well as a description of your applications specific message exchange protocol.

This coursework is worth 50% of the module mark, and the following marking criteria will apply: Working solutions to assessment tasks - Java code fit for purpose for each specified operation. (50%) Understanding and justification of development approach to each specified task. (15%) Appropriate quality of submitted code, variable names, indentation, comments, library use. (10%) Appropriate quality of Assignment Report - Well organised/structured, appropriate testing strategy for each task, screen walkthroughs for each task, write-ups re any specific 'complex code', explanation of alternative approaches considered, evaluation of final submitted 'solutions'. (25%)

También podría gustarte