KF7010 Program Design and Implementation Assignment Help

Post New Homework

KF7010 Program Design and Implementation Assignment - Northumbria University, UK

Title - Program Design and Implementation

Learning Outcomes - All the module learning objectives are covered by this assignment:

1. Demonstrate a systematic understanding of the principles, knowledge and skills required to design, implement, test and document programs written in an object-oriented language.

2. Demonstrate a critical understanding of the essential principles and practices relating to object-oriented programming, including the need for standards, principles of quality, and appropriate software support.

3. Critically evaluate the methods and conceptual tools used in developing solutions to programming problems.

4. Analyse, specify, design, implement and test a high-level solution to a programming problem using object-oriented and general imperative programming language constructs, using appropriate documentation standards and software tools.

5. Effectively communicate development of a solution to a programming problem, including critical evaluation.

Instructions - The assignment is an individual assignment. You will be provided with some initial program source code and a compiled version of the program as described in the section below. You must extend the program to meet the specification below. What follows is a detailed discussion of the program and how it is modelled and its functions, you will need to look very closely at the specification for the object-orientated (OO) programs you are to create.

Assignment - The Server-Client Model

In this assignment, you will be provided with a set of client-server codes, which allow you to communicate from a computer to another computer. You will be asked to add extra codes to read data from one computer and transfer it via network to another computer. The system architecture can be shown in the figure (attached).

To allow a client application to connect with a server, usually you need to provide the address of the server, which includes two parts,

i. IP address such as 144.122.11.01

ii. Port number, such as 8080

This will allow a communication channel to be established between the server and the client. You don't need to fully understand these client-server codes and the provided codes given you as a test platform for your OO programming skills.

1777_figure.jpg

The Tasks - Based on the BlueJ platform, the challenge is to develop the software that will,

1) enable the chat communication between server and client;

2) provide a log system to store the chat in both client and server side, so that each time the system can load the previous dialogues into the window;

3) load the initial data from a local file into the memory and transfer it to the server side via the network, and

4) process it on the server side and save the process records in a log file.

Fig.2 and 3 illustrate the user interface of the client-server system.

You are asked to write a report explaining the functionality and solutions to various aspects of the program with regard to OO programming skills. The report should not exceed 4000 words.

1200_figure1.jpg

Functional Specification - The tasks you are required to implement are as follows,

1) You are going to build up a client-server application to enable communication between two sides; the server will allow multiple clients to connect to the chat room.

2) The server side will record all events and chats in a log file for records.

3) The server will be allowed to set its port number, and a button to start/stop.

4) Each client will set up a unique ID and a unique log file, to store its communication records.

5) The client side may have following GUI functions:

a. A text input box of the server IP address.

b. A text input box of the targeted server port.

c. A text input box of the client name.

d. A text input box of chat messages.

e. A button to log in/out (or two buttons separately)

f. A button to find out who are in the chat room and print out all clients.

6) You are also required to develop a test plan and test the functionality of your client classes. A test report will be included in your submission.

Design - You must produce design documentation. This will include a class diagram for the system, a short explanation as to the general purpose of each of the classes you have produced and a justification for any design decisions you have made.

Implementation - You must provide listings for your program. The code must adhere to the object-orientated style standards as defined for the module.

Testing - You are expected to test your code using the strategies studied during the module.

Attachment:- Program Design and Implementation Assignment File.rar

Post New Homework
Captcha

Looking tutor’s service for getting help in UK studies or college assignments? Order Now