Question
UML Assignment - Simple Voice Messaging System This system is a simple phone voice messaging system. It acts as an answering service for an organization
UML Assignment - Simple Voice Messaging System This system is a simple phone voice messaging system. It acts as an answering service for an organization wide phone system. You are to construct the software for the message system only and can assume that the hardware for the phone system, dialing, and message recording are in place. The interface to the Phone System is given below; you will be building this message system as an add-on to the Phone System and must use this API.
PhoneSystem Pickup () //Initiates one end of a connection Hangup () //Ends a connection dial (char) //Allows dialing of '0'..'9', '#', '*' ring () //Sends a ring to the reciever in connection play (message) //Play message connection () : Boolean //True if a connection exists record (int) : message //Record a message until hangup() or time //limit (seconds) is reached getRingCount () : int //Returns the number of rings getDial () : char //Returns the character dialed (buffered) //returns 0 if buffer is empty //returns -1 if a hangup occurs getExtension () : string //Returns the current extension
A connection (object) is activated after n (e.g., 4) number of rings without a pickup (answer) from the account owner. Each account is indexed by a unique extension that is determined by the phone system. Some numbers belong to active extensions; others do not. If an inactive extension account has been dialed, an error message is generated telling the caller then the message system reverts to its initial state. If an active account has been reached, the account's greeting is played. Unless changed by the owner, the greeting is: "You have reached extension xxxx. If you would like to leave a message press 1 If you would like to access an account press #". At this point, the caller can record a message by talking. The message is ended with a hang up or a timeout in number of seconds. Alternatively, callers can press the "#" key to access their own account from a phone and enter in the proper extension and password. An owner can also dial "8888" from their own phone and just enter their password to access their account. The phone system interface allows access for the caller and the message system. When a pickup is done and dial tone is set and a connection is initiated. The caller can then dial an extension and system will ring an extension until someone does a pickup at the other end or the caller hangs up. Connection will be true so long a hangup is not executed. The Phone System manages all other aspects of the connections, message recording, and message playback. All characters dialed are buffered in a queue which is accessed via getDial. All interface calls are blocking and as such the message system will wait until the interface call has completed execution and a value returned. An administration account exists and has extended functionality to manage the message system. The admin account can add or remove a accounts and set a user's password. The following are a subset of the system menu options: Accessing an Account To restrict access to an account to its owner, the system prompts for a password. After the account owner has entered the correct password, it is possible to retrieve messages from the account or to change account settings. The user options menu is: Press 1 to retrieve your messages. Press 2 to change your greeting. Press 3 to change your password. Retrieving Messages The first message is displayed. Then the message options menu is: Press 1 to play the current message. Press 2 to delete the current message. Press 3 to skip the current message. After the selection is processed, the next message is played or an acknowledgement of the action is given. This repeats until all messages are played. Then the user options menu is repeated. At any time, the caller may hang up. New messages are played in the order in which they were received. After all new messages are played, the saved messages are played in the order in which they are saved. Assignment (using a UML tool of your choice):
- Develop Use-Case diagram(s) for the specified system
- Develop a data dictionary and initial object mode for the system
- Develop detailed scenarios for:
- accessing an account
- retrieving a message
- deleting a message
- leaving a message
- Develop detailed sequence diagrams for each of the scenarios above.
- Develop a detailed class diagram that describes the necessary design elements for this part of the system.
- The design must reflect that the system will need to be multi-threaded to support multiple simultaneous users.
- Submit the following documents for the message system:
- Use case diagrams (using a UML tool)
- Data dictionary (neatly typed up)
- Scenarios for the 4 features (neatly typed up)
- Sequence diagrams for the 4 features (using a UML tool)
- Class diagram (using a UML tool)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started