14
Juliet Mercado
COP 2939
Computer Programming Capstone
Project Objective
Chatting or Teleconferencing is a process of using technology to bring human beings and their ideas together in spite of the geographical obstacles. A broadcast Chat server has two types of broadcasting and the first one is Public and for this case the message is broadcast to all connected users and the other one is Private and this means the broadcasting will be limited between two clients. Through the help of this chat server, the users can easily communicate and also keep in touch with each other. The end users have the capability to share all kinds of information with other users also such as sending of various files, records and emails. The Broadcasting Chat Server Project that is required to run this project is JRE or the Java Run time Environment software and the users interact with the server through a Graphical User Interface.
Proposed System
The proposed system is a chat application that works in two forms and the first one is the List form. In this form, all the names of the systems connected to a network are drafted. These names can later be utilized for communication with the assistance of mouse event, or in simple language such as a click or a double click. Secondly, there is the Chat form and it is called only when an element is selected from the List form. In this form, a connection is created between the host system and the selected system with the help of a socket. Additionally, all the end users will see other logged in user’s details very efficiently including their logged in time, time spent online and also their personal data like name and messages. The server will provide advanced security feature which will be maintaining the log in information of the users and the user’s list with details.
Broadcasting Chat Server Modules
Server Application: The server application module handles the section of messages being sent and received by the broadcasting server. This module is associated with the SSL techniques and TCP/IP networking technologies. This module contains certain intrinsic logic’s which allow it to convey data about sent messages, appropriate routes of dispatching as well as receiving messages. Diagram for the server application module can be seen below:
Client Application: This module grants access to the user or the client to get logged in with authentic username and password. The client or the user of the system can go through the definite process of message sending in this category with other users of the system.
( Client ) ( Client )
( Chat server )
( Client ) ( Client )
( Client ) ( Client )
Software Requirements
When developing software, defining requirements before commencing development can save time and money. A software requirements report clearly defines everything that the software must achieve and is a starting base for defining other elements of a product, such as charges and timetables. Software requirement articulate, in writing, the needed capabilities, functions, modifications, and constraints of a software development project. The effect of these requirements is realized first from its capability to provide precise communication to the stakeholders on what is being developed and how it will operate. Before developers draft, one line of code, all components of the product have been specified and explained through narratives, specifications, visuals such as diagrams and tables, and through use cases and real-world scenarios.
· Oracle
· JDK
· Eclipse
· NetBeans
· Notepad
Hardware Requirements
· Hard Disk – 2 GB.
· RAM – 1 GB.
· Processor – Dual Core or Above.
· Mouse.
· Keyboard.
· Monitor.
· Printer.
Technologies Used
· Java
The server is designed to execute only on machines which support the windows operating system and will use approximately 700 lines of code. Some features of the application are as follows:
· This application is used for sending messages from one client to all clients. To be precise, the server grabs a message from the sender client and conveys it to all clients. If any client wants to join the chatting session then he/she executes the client application on client end, enters the login name and clicks on the login button and starts the chatting with every client.
· The server is maintaining the list of user names including the client name. After creating the connection with server, the client sends the user name to server and server holds it in the array list and conveys this array list to all clients.
Limitations of the application are as follows:
· This application is used for conveying and receiving the messages but the message is displayed to every client. This means that the application is unable to offer the private chat feature and it is comparable to a multi-party conference.
· Before running the client application, the user has to makes sure the server application is running. If server is not in the execution state then one can’t start the chatting.
Project schedule
Activity |
Timeline |
planning |
7 days |
Implementation |
14 days |
testing |
7 days |
Deployment and training |
1 day |
|
30 days |
System documentation
Installing and operating a newly designed system or modifying an existing application requires a comprehensive record of that system’s design. Documentation is essential in diagnosing flaws and making adjustments. Additionally, it serves as a method of communication among the individuals responsible for building, implementing and maintaining the system.
Training
An important element in creating a training plan is to assess the technical skills of those who will actually use the system on a daily basis. For this case, Technical novices will need more in-depth, step-by-step instruction in basics, whereas more experienced computer users will hastily pick up the basics and benefit from more education that explains to them how to use more complicated or advanced features of the software.
Data Flow diagram
In the following graphic we can see the flow diagram of this chat. When we run the server we create a new thread for manage the connections, it thread creates a socket and wait listening in the selected port for new users.
Once that the user send a request, the listening thread register the request and create another thread sending the connection information to it. In that new thread we build a new socket to manage the connection with the user and hence leaving the main socket free for new user requests. After that we can start to send all the messages that we want between the client and the server until one of them disconnect.
Class diagram
The system has two main classes. The first one is CChatServer to the implemented in the server application and allows the server to create a connection, send packets, get the status of the connection and register all the users’ requests. The second of is CChatClient that must be implemented in the user application and allow it to send request for connection and, after identification normal messages.
Server queue pseudo-code
Controlling loops for chat server
while (Boolean_expression) {
// Statements
}
When executing, if the boolean_expression result is true, then the activities inside the loop will be executed. This will continue as long as the expression effect is true. When the condition becomes invalid, program control passes to the line quickly following the loop. An example of this type of controlling loop in the broadcast server can be seen below:
Broadcast chat server variables
A Java variable is a bit of memory that can hold a data value. A variable thus has a data type. Data types are incorporated in more detail in the text on Java data types. Variables are typically used to store information which the Java program needs to do its function. This can be any kind of information ranging from texts, codes to numbers, temporary results of multi-step calculations and much more. Below is an example of type int variable used in the chat server:
Additionally, as seen above the application implements Instance variables which are formulated when an object is created with the application of the new keyword and destroyed when the object is destroyed. Instance variables hold values that must be referenced by more than one method, constructor or block, or fundamental parts of an object's state that must be present throughout the class. The instance variables are visible for all methods, constructors, and block in the class. Ordinarily, it is recommended to make these variables private. However, visibility for subclasses can be given for these variables with the use of access modifiers. Instance variables can be accessed directly by calling the variable name inside the class.
Project budget
The project budget is a comprehensive estimate of all the costs required to complete project tasks. It is much more comprehensive than the high-level budget developed in the Initiate Stage. The typical budget stipulates costs for staff labor, materials procurement, continuous operating costs and other direct costs such as travel or training. The detailed budget provides the project sponsor with a reliable estimate of how much the project will cost. The detailed budget supports control expectations and gives the project sponsor information to generate a cost/benefit for the project. The statement is also used in the Execute and Control stage to assist in determining whether the project is financially on track. The project activities and the cost can be seen below:
TCP connection
Below is an illustration of how clients will connect with the server and chat seamlessly:
|
Title ABC/123 Version X |
1 |
|
Week 2 Review Worksheet PSY/203 Version 5 |
1 |
University of Phoenix Material
Week 2 Review Worksheet
The Process of Memory
View the following diagram outlining the process of memory, with some processes removed. Using the provided terms, match the letter attached to each term with the corresponding definition.
1.Attention2.3.4. ForgettingForgettingRetrievalForgetting 5.Sensory Input8.6.7.
a. Chunking
b. Maintenance Rehersal
c. Consolidation
d. Short-Term Memory
e. Elaborative Rehearsal
f. Sensory Registers
g. Encoding
h. Long-Term Memory
Letter |
Definition |
|
1. Hold information as either icon or echo |
|
2. Transforming information into a storable form |
|
3. Sub-system that retains and processes new information for a short period of time |
|
4. The process of transforming short-term memories into long-term memories |
|
5. Sub-system that retains information for long periods of time |
|
6. The process of breaking down information into smaller pieces |
|
7. The process of repeating information to enhance retention |
|
8. The process of assigning meaning to information to transfer to long-term memory |
Short Answer
1. Kara is 10 years old. She has been given an intelligence test. Her mental age is 13. According to Stern, what is her IQ? Conduct research to interpret her score.
2. Select two theories of intelligence, and write a 175- to 260-word discussion on the components of each theory, as well as how they differ in relation to Spearman’s g. Which theory do you find most agreeable? Why?
Learning and Intelligence
Write a 90- to 175-word response to each of the following questions.
1. Describe the main components of classical conditioning.
2. Describe the main components of operant conditioning.
3. Describe the different types of long-term memories.
4. Describe the main theories of intelligence.
5. Briefly research the open science movement. Describe why it is important, especially in scientific research, and how students and consumers are affected by the current way science research is published and shared.
Copyright © XXXX by University of Phoenix. All rights reserved.
Copyright © 2017, 2016 2015, 2013 by University of Phoenix. All rights reserved.
_1524992591.vsd
�
�
6.
7.
Sensory Input
8.
1.
Attention
2.
3.
4.
Forgetting
Forgetting
Retrieval
Forgetting
5.
2
Juliet Mercado
COP 2939
Project Objective
Chatting or Teleconferencing is a process of using technology to bring human beings and their ideas together in spite of the geographical obstacles. A broadcast Chat server has two types of broadcasting and the first one is Public and for this case the message is broadcast to all connected users and the other one is Private and this means the broadcasting will be limited between two clients. Through the help of this chat server, the users can easily communicate and also keep in touchwith each other. The end users have the capabilityto share all kinds of information with other users also such as sending of various files, records and emails.The Broadcasting Chat Server Project that is required to run this project is JRE or the Java Run time Environment software and the users interact with the server through a Graphical User Interface.
Proposed System
The proposed system is a chat application that works in two forms and the first one is the List form. In this form, all the names of the systems connected to a network are drafted. These names can later be utilized for communication with the assistance of mouse event, or in simple language such as a click or a double click. Secondly, there is the Chat form and it is called only when an element is selected from the List form. In this form, a connection is created between the host system and the selected system with the help of a socket. Additionally, all theend users will see other logged in user’s details very efficiently including their logged in time, time spent online and also their personal data like name and messages. The server will provide advanced security feature which will be maintaining the log in information of the users and the user’s list with details.
Broadcasting Chat Server Modules
Server Application: The server application module handles the section of messages being sent and received by the broadcasting server. This module is associated with the SSL techniques and TCP/IP networking technologies. This module contains certain intrinsiclogic’s which allow it to convey data about sent messages, appropriate routes of dispatchingas well as receiving messages. Diagram for the server application module can be seen below:
Client Application: This module grants access to the user or the client to get logged in with authenticusername and password. The client or the user of the system can go through the definiteprocess of message sending in this category with other users of the system.
( Client ) ( Client )
( Chat server )
( Client ) ( Client )
( Client ) ( Client )
Software Requirements
When developing software, defining requirements before commencing development can save time and money. A software requirements report clearly defines everything that the software must achieve and is a starting base for defining other elements of a product, such as charges and timetables. Software requirement articulate, in writing, the needed capabilities, functions, modifications, and constraints of a software development project. The effect of these requirements is realized first from its capability to provide precise communication to the stakeholders on what is being developed and how it will operate. Before developers draft, one line of code, all components of the product have been specified and explained through narratives, specifications, visuals such as diagrams and tables, and through use cases and real-world scenarios.
· Oracle
· Jdk
· Eclipse
· Netbeans
· notepad
Hardware Requirements
· Hard Disk – 2 GB.
· RAM – 1 GB.
· Processor – Dual Core or Above.
· Mouse.
· Keyboard.
· Monitor.
· Printer.
Technologies Used
· Java
The server is designed to execute only on machines which support the windows operating system and will use approximately 700 lines of code. Some features of the application are as follows:
· This application is used for sending messages from one client to all clients. To be precise, the server grabs a message from the sender client and conveys it to all clients. If any client wants to join the chatting session then he/she executes the client application on client end, enters the login name and clicks on the login button and starts the chatting with every client.
· The server is maintaining the list of user names including the client name. After creating the connection with server, the client sends the user name to server and server holds it in the arraylist and conveys this arraylist to all clients.
Limitations of the application are as follows:
· This application is used for conveying and receiving the messages but the message is displayed to every client. This meansthat the application is unable to offer the private chat featureand it is comparable to a multi-party conference.
· Before running the client application, the user has tomakes sure the server application is running. If server is not in the execution state then one can’t start the chatting.
Project schedule
Activity |
Timeline |
planning |
7 days |
Implementation |
14 days |
testing |
7 days |
Deployment and training |
1 day |
|
30 days |
System documentation
Installing and operating a newly designed system or modifying an existing application requires a comprehensive record of that system’s design. Documentation is essential in diagnosing flawsand making adjustments. Additionally, it serves as a method of communication among the individuals responsible for building, implementing and maintaining the system.
Training
An important element in creating a training plan is to assess the technical skills of those who will actually use the system on a daily basis. For this case, Technical novices will need more in-depth, step-by-step instruction in basics, whereas more experienced computer users will hastily pick up the basics and benefit from more education that explains to them how to use more complicatedor advanced features of the software.
Data Flow diagram
In the following graphic we can see the flow diagram of this chat. When we run the server we create a new thread for manage the connections, it thread creates a socket and wait listening in the selected port for new users.
Once that the user send a request, the listening thread register the request and create another thread sending the connection information to it. In that new thread we build a new socket to manage the connection with the user and hence leaving the main socket free for new user requests. After that we can start to send all the messages that we want between the client and the server until one of them disconnect.
Class diagram
The system has two main classes. The first one is CChatServer to the implemented in the server application and allows the server to create a connection, send packets, get the status of the connection and register all the users’ requests. The second of is CChatClient that must be implemented in the user application and allow it to send request for connection and, after identification normal messages.
Server queue pseudo-code
Project budget
TCP connection
Below is an illustration of how clients will connect with the server and chat seamlessly:
Running head: Assignment
2
Juliet Mercado
COP 2939
Computer Programming Capstone
1/25/18
Project Objective
Chatting or Teleconferencing is a process of using technology to bring human beings and their ideas together in spite of the geographical obstacles. A broadcast Chat server has two types of broadcasting and the first one is Public and for this case the message is broadcast to all connected users and the other one is Private and this means the broadcasting will be limited between two clients. Through the help of this chat server, the users can easily communicate and also keep in touch with each other. The end users have the capability to share all kinds of information with other users also such as sending of various files, records and emails. The Broadcasting Chat Server Project that is required to run this project is JRE or the Java Run time Environment software and the users interact with the server through a Graphical User Interface.
Proposed System
The proposed system is a chat application that works in two forms and the first one is the List form. In this form, all the names of the systems connected to a network are drafted. These names can later be utilized for communication with the assistance of mouse event, or in simple language such as a click or a double click. Secondly, there is the Chat form and it is called only when an element is selected from the List form. In this form, a connection is created between the host system and the selected system with the help of a socket. Additionally, all the end users will see other logged in user’s details very efficiently including their logged in time, time spent online and also their personal data like name and messages. The server will provide advanced security feature which will be maintaining the log in information of the users and the user’s list with details.
Broadcasting Chat Server Modules
Server Application: The server application module handles the section of messages being sent and received by the broadcasting server. This module is associated with the SSL techniques and TCP/IP networking technologies. This module contains certain intrinsic logic’s which allow it to convey data about sent messages, appropriate routes of dispatching as well as receiving messages.
Client Application: This module grants access to the user or the client to get logged in with authentic username and password. The client or the user of the system can go through the definite process of message sending in this category with other users of the system.
Software Requirements
· Oracle
· Jdk
· Eclipse
· Netbeans
· notepad
Hardware Requirements
· Hard Disk – 2 GB.
· RAM – 1 GB.
· Processor – Dual Core or Above.
· Mouse.
· Keyboard.
· Monitor.
· Printer.
Technologies Used
· Java
The server is designed to execute only on machines which support the windows operating system and will use approximately 700 lines of code. Some features of the application are as follows:
· This application is used for sending messages from one client to all clients. To be precise, the server grabs a message from the sender client and conveys it to all clients. If any client wants to join the chatting session then he/she executes the client application on client end, enters the login name and clicks on the login button and starts the chatting with every client.
· The server is maintaining the list of user names including the client name. After creating the connection with server, the client sends the user name to server and server holds it in the arraylist and conveys this arraylist to all clients.
Limitations of the application are as follows:
· This application is used for conveying and receiving the messages but the message is displayed to every client. This means that the application is unable to offer the private chat feature and it is comparable to a multi-party conference.
· Before running the client application, the user has to makes sure the server application is running. If server is not in the execution state then one can’t start the chatting.
Project schedule
Activity |
Timeline |
planning |
7 days |
Implementation |
14 days |
testing |
7 days |
Deployment and training |
1 day |
|
30 days |
System documentation
Installing and operating a newly designed system or modifying an existing application requires a comprehensive record of that system’s design. Documentation is essential in diagnosing flaws and making adjustments. Additionally, it serves as a method of communication among the individuals responsible for building, implementing and maintaining the system.
Training
An important element in creating a training plan is to assess the technical skills of those who will actually use the system on a daily basis. For this case, Technical novices will need more in-depth, step-by-step instruction in basics, whereas more experienced computer users will hastily pick up the basics and benefit from more education that explains to them how to use more complicated or advanced features of the software.
3
Juliet Mercado
COP 2939
Unit Test Suite
Skeleton code facilitates a top-down design approach, where a partially working system with comprehensive high-level structures is designed and coded, and this system is then progressively extended to fulfill the requirements of the system. Below is the skeleton code for the java classes that will be implemented in the broadcast chat server:
Client.java
public class Client extends Panel implements Runnable {
/**
* It sets up the client interface, initiates the connection with the server host using the socket,
* When user enters a message it delivers the message by writing to the OutPutStream object.
//.. Constructor
public Client (String host, int port){
}
private void processMessage (String message){
}
//Background thread runs this: show messages from other window
public void run() {
}
}
Server.java
/*
* This is the listener class, a server, a stand-alone application.
*/
public class Server {
private void listen(int port) throws java.io.IOException {// ...create a new server socket}// send message to all the clientsvoidsentToAll(String message) {}/** Remove a socket, and its corresponding output stream, from our list.* This is usually called by a connection thread that has discovered the* connection to the client is dead.*/voidremoveConnection(Socket S) {}public static void main(String[] args) throws Exception {}}
ServerThread.java
public class ServerThread extends Thread {publicServerThread(Server server, Socket socket) {}/** The run method starts running in a separate thread when start() is called* in the constructor* The following code does the actual chat work*/public void run() {}}
ClientApplet.java
public class ClientApplet extends Applet {/*** Web deployable client applet*/public void init(){}}
Testing
Software unit tests help the developer to confirm that the logic of a piece of the program is accurate. Running tests automatically assists in distinguishing software regressions introduced by variations in the source code. Having high test coverage of the code allows one to continue developing features without having to undertake lots of manual tests. A unit test is a portion of code written by a developer that executes a precise functionality in the code to be tested and asserts a specific behavior or state. The classes in this case were tested and the results are described below:
i. Client.java:the test pass for this class fails and this is because the class generates one error since it cannot find the symbol class Panel
ii. Server.java:the test pass for this class fails and this is because it cannot find the symbol class Socket
iii. ClientApplet.java: the test pass for this class fails and this is because it cannot find the symbol class Applet
Sheet1
REQUIREMENTS TRACEABILITY MATRIX | |||||||
Project Name: Java Broadcasting chat server | |||||||
Business Requirements Document BRD | Functional Specification Document FSD | Test Case Document | |||||
Business Requirement ID# | Business Requirement / Business Use case | Functional Requirement ID# | Functional Requirement / Use Case | Priority | Test Case ID# | Execution Status | Defect# |
BR_1 | Login module | FR_1 | Login and logout | High | TC#001 TC#002 | pass | |
FR_2 | Verify user credentials (password & username) | TC#003 TC#004 | pass | ||||
BR_2 | Chat Module | FR_4 | Send messages | High | TC#007 TC#008 | pass | |
FR_5 | Send messages to multiple clients | High | TC#009 | pass | |||
FR_6 | Access GUI and view details about active users | Medium | TC#010 TC#011 | pass |
Sheet2
Sheet3

Get help from top-rated tutors in any subject.
Efficiently complete your homework and academic assignments by getting help from the experts at homeworkarchive.com