Northumbria KF7010 Program Design and Implementation Assessment item 1

Northumbria


Program Design and Implementation

Assessment No: 1

KF7010|Program Design and Implementation

Our Real
uni-icon
Student’s Score cards


Northumbria KF7010 Program Design and Implementation

Provide the address of the server which include IP address and Port Number


Task

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

  • enable the chat communication between server and client;
  • 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;
  • load the initial data from a local file into the memory and transfer it to the server side via the network, and
  • process it on the server side and save the process records in a log file.

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.

Functional Specification

The tasks you are required to implement are as follows,

  • 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.
  • The server side will record all events and chats in a log file for records.
  • The server will be allowed to set its port number, and a button to start/stop.
  • Each client will set up a unique ID and a unique log file, to store its communication records.
  • The client side may have following GUI functions:
    1. A text input box of the server IP address.
    2. A text input box of the targeted server port.
    3. A text input box of the client name.
    4. A text input box of chat messages.
    5. A button to log in/out (or two buttons separately)
    6. A button to find out who are in the chat room and print out all clients.
  • 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.

The testing section of your documentation indicates the approach you have taken to verifying and validating your system. Just as you should not convey the design of your system by presenting the code or even listing the classes, you should not merely list the tests performed. Rather, discuss how tests were selected, why they are sufficient, why a reader should believe that no important tests were omitted, and why the reader should believe that the system will really operate as desired when in use.

Strategy:

An explanation of the overall strategy for testing: Black box and/or white box, integration, kinds of test beds or test drivers used, sources of test data, test suites. You might want to use different techniques (or combinations of techniques) in different parts of the program. In each case, justify your decisions.

Test Data:

A set of tables showing the test data you used for each class, etc. The format of the test documentation should be as follows: for each test case in the tables,

  1. a unique test ID
  2. a brief description of the purpose of the test
  3. the pre-conditions for running the test
  4. the test data
  5. the expected result

Reflection

You must provide a final critical evaluation of your work. The reflection section is where you can generalise from specific failures or successes to rules that you or others can use in future software development. What surprised you most? What do you wish you knew when you started? How could you have avoided problems that you encountered during development?

Why invest in our services?

Only High Quality
Optimum quality

Our assignment help team is trained to provide you high quality writing services.

Reasonable Price of Each
High scores

High scores achieved by our students is a portrayal of our high quality online assignment help

Privacy and Security
Multiple reach

You can place your assignment order through 4 easy modes of communication

Order Now

TUTOR PURPOSAL


Here is how, we will write your assignment

tutor-proposal

We write your assignment in the following proposed way and we make sure that it is strictly in accordance to your assignment guidelines and each section of the assignment is written with respect to its marking criteria/ rubric.

TUTOR PROPOSAL FOR : KF7010|Program Design and Implementation

KF7010 Program Design and Implementation Assessment 1 is about the web app development concept in which Chat Room application will be elaborated. This chat room application has been developed with the use of Java Language on the basis of client server model. It allows the clients to access the server from remote machine or local machine. Server and client could use the similar port number for the connection after which the server can create the log files that stores the overall information regarding message such as name of server or name of client to the sender by considering it as a chat history.

In order to develop this application, I will use BlueJ IDE platform, which is considered as very useful for creating accurate and precise designs of user interfaces. In order to prepare this report, I will include information regarding functional and non-functional requirements. Along with this, I will also elaborate the technologies used in this project, principles of object- oriented programming and also provide the proper explanation about code that could be used for the development of “Chat Room”.

In order to complete KF7010 Program Design and Implementation Assessment 1, I will include various parameters as discussed below:

  • First of all, I will provide the detailed information for the functional and non- functional requirements of the system and these requirements will be discussed for the server as well as client also.
  • After this, I will provide the useful information regarding different technologies that would be used for the development of Chat Room. Along with this, I will also include the detailed information regarding different concepts related to Java such as socked programming and multi-threading. Moreover, I will also use SWING as a library for GUI for the development of chat room in this assessment.
  • In addition to this, I will demonstrate the design of the system with the help of class diagram, which is basically a static representation about the system used for visualizing different aspects.
  • I will also elaborate some concepts related to object- oriented programing in this report including object, polymorphism, coupling, composition, inheritance and abstraction.
  • Along with this, I will also demonstrate the complete implementation of the system through coding, including chat interface.
  • Apart from development process, I will also elaborate the testing process in this report in order to examine the functionalities of the system which is being created. Software testing will be performed in order to make it error- free for which the testing process will be divided into two different steps such as verification and validation.
  • In the end of the report, I will elaborate the testing results with proper screenshots and also provide the reflection on basis of evaluation, lessons, bugs and limitations of the system.

In KF7010 Program Design and Implementation Assessment 1, the major challenge is to develop software for enabling the chat communication between client and server, provide the log system for the storage of chat in server and client side, load the initial data from specific local file into the given memory as well as transfer it through the network to server side as well as process it over the server side as well as save the entire process records in the form of log files.