Voice mail system
Trang 1Description of the Voice Mail System
Writing a program that simulates a telephone voice mail system, similar to the message system that is
in use in many companies
The system has a collection of mailboxes, each of which may be accessed by an extension number (3445, for instance) A user may dial an extension number, provided the other party does not pick up the telephone, and put a message into any mailbox
An other user with a valid mailbox and the valid password can later retrieve the messages, keep them, or delete them Ngoai ra con co he thuc hien:
change the greeting
change the password
An administrator is needed to activate new mailboxes and deactivate active mailboxes The administrator is a user with a “super password.” Real-world systems have a multitude of fancy features: Messages can be forwarded to one or more mailboxes; distribution lists can be defined, retained, and edited; and authorised persons can send broadcast messages to all users
We will design and implement a program that simulates a voice mail system, without creating a
Trang 2completely realistic working phone system We will simple represent voice mail by text that is entered from the keyboard We need to simulate the three distinct inputs events that occur in a real telephone system: speaking, pushing a button on the telephone touchpad, and hanging up the telephone
We use the following convention for input: An input line consisting of a single character 1…9 or
# denotes a pressed button on the telephone touchpad For example, to dial extension 13, you enter
1
3
#
An input line consisting of the single character H denotes hanging up the telephone
Any other text denotes voice input
The first formal step in the process that’s leads us towards the final product (the voice mail system)
is the analysis phase Its role is to crisply define the behaviour of the system In this example, we will define the behaviour through a set of use cases Note that the use cases by themselves are not a full specification of a system The functional
Trang 3specification also needs to define system limitations, performance, and so on