Network (multi-user) software
As your business grows larger, it may be useful to allow more than one person to access the Accounts at the same time. This can be done by using a "Network" system. This basically means connecting several computers together with cable so that each computer can "talk" to the others, and use what is on the other computers. (Instead of cable, wireless links can be used).
In the case of ABC Accounts, you would install just one copy of ABCNW Accounts onto the main computer (called the "Server"), and allow other computers (called "WorkStations") to also access these central ABC Account Files.
Because this type of "multi-user" operation is much more difficult, and requires careful supervision and checks by the program, the Network version of ABC is more complex.
Very large Networks need a dedicated Server computer, which is not used for anything else. However, in a small Network it is often possible to use the Server also as a WorkStation (Peer-to-Peer network). With modern computers there is no significant difference in speed between a single-user ABC and the Network version.
ABC Network Version has been in use since 1993 and has proved itself robust and reliable. Users range from small businesses with just two computers linked together, to a large multi-million turnover company producing around 5000 invoices per month with six staff doing nothing but telephone sales all day, while the accountant monitors the business from a WorkStation in his office.
Design considerations
The "safer" we make the ABC Network Accounts (ie. the more checks and safeguards and interlocks we build in) the slower the whole system becomes. In designing the software, we have to choose a compromise between letting all users access everything at the same time (fast but dangerous) and only allowing one user to access the Accounts at a time (safe but too much delay).
For example: before filling the Customer name and address into an invoice, we re-read the details from disk (just in case another user has changed the customer details in the last few seconds). But if any other user starts changing the address while you are busy creating the invoice, you won't see these new changes. We have guessed that in real life this will be acceptable to most users.
The alternative might be to check the address again before printing the invoice; or maybe even re-check every line of the address before printing it (eg. in case another user alters the Postcode while you are printing the Company Name). We've chosen not to go down to this level of "safety".
This is the type of decision we have made about how a system will be used in real life. Now that we have several years experience with ABC networks, feedback from users suggests we have chosen realistic compromises. (but we always welcome further comments).