Subject |
call |
react to |
keep |
is an instance of |
terminate |
initialize |
accept |
is a subtopic of |
continue |
access |
have disadvantage |
operate with |
see also |
try again |
access by |
use in |
design |
do concurrently |
listen for |
stop |
handle |
save |
have purpose |
respond to |
use when |
connect with |
send |
locate on |
is a kind of |
know |
use |
disconnect |
perform |
initiate |
has definition |
be |
application | | | | | | | | | | | | | | | | | | | | | | | | | | | | | program | | only a subset of the framework's services | | | | A program used by an end-user, as opposed to one simply used by other programs | readable by humans |
client^2 | | messages coming from the server | | | cleanly including includes disconnecting from a server if it is still connected | itself so it is able to communicate with the server | | 3.4 - The Client-Server Architecture | | many servers to perform different functions | | | client^2 | to connect to the server if the server does not initially respond | | | | - Waiting for interactions with the end-user, and responding when interactions occur
- Waiting for messages coming from the server, and responding when messages arrive
| | | the disconnection of the server, because the server crashed or the network failed or because either the client or server requested disconnection | | | | | a server unless the server is listening | messages to the server to request services | the same computer as its server or on a different computer | program | the network address of the server | | | | a connection to a server | A program or process that connects to another program or process, using a communication channel, in order to request a service | a server at the same time |
compiler | | | | | | | | The Basics of Java | | | | | | | | | | | | | | | to translate source code into code that is executable by a computer | | | | | | program | | | | compilation | | | readable by humans |
driver | lower layers of software | | | | | | | 10.9 - Strategies for Testing Large Systems | | | it is time-consuming to write | | | | | | | | | | | | | | | | | | program | | | | | | In the context of testing, a simple program that tests services of lower-level layers when performing bottom-up or sandwich testing | readable by humans |
final software product | | | | | | | | 9.1 - The Process of Design | | | | | | | | | | | | | | | | | | | | | program | | | | | | | different if different design decisions are made |
Java program | | | | | | | | The Basics of Java | | | | | | | | | | | | | | | | | | | | | program | | | | | | | portable because it is compiled into bytecode that can run on any computer with a VM |
javadoc | | | | program | | | | Programming Style Guidelines | | | | | | | | | | | | | | | documenting Java programs | | | | | | | | | | | | | readable by humans |
reusable software | | | | | | | | 3.1 - Reuse: Building on the Work and Experience of Others | | | | | | | | a variety of different systems | to facilitate reuse | | | | | | | | | | | | program | | | | | | | well documented |
server | | messages from connected clients: performing computations or obtaining information, and normally sending some information back to the requesting client and perhaps sending a message to another client or broadcasting messages to many clients at once. | a record of the connection while a client is connected | | when necessary, which involves such actions as notifying each client before terminating its connection | itself so that it is able to provide the required service | new client connections if it has stopped listening | 3.4 - The Client-Server Architecture | to serve currently connected clients after it has stopped listening | | | at least two concurrent threads, and in general n+2, threads where n is the number of connected clients | process | | many clients simultaneously | | | - Waiting for interactions with the user who is in charge of the server, and responding as necessary
- Waiting for clients to try to connect and establishing connections as needed
- For each connected client, waiting for messages coming from that client, and responding when messages arrive
| clients attempting to connect | listening if the number of connected clients becomes too high, or prior to shutting down | connections from many clients | | | messages from all the connected clients | | | | the same computer as its clients or on a different computer | program | | | clients - the client may request disconnection by sending a message to the server, the client may just disappear suddenly due to the client crashing or the network connecting going down, or the server may force a client to disconnect if the client is not behaving well | | | A program or process that, in response to requests from clients, provides some kind of service | a client at the same time |
simple program | | | | | | | | Programming Style Guidelines | | | | | | | | | | | | | | money because software developers are more likely to notice defects | | | simplification requires a significant drop in efficiency | | | | program | | | | | | | easier to change than a complicated program |
test harness | | | | | | | | 10.9 - Strategies for Testing Large Systems | | | | | | | | | | | | | | | | | | | | | program | | | | | | A program that automates testing of a system | readable by humans |