Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Objective: Practice UML design use case, class and sequence diagrams. Problem Description: The system that you have to analysis and design, using an object oriented

Objective:

Practice UML design use case, class and sequence diagrams.

Problem Description:

The system that you have to analysis and design, using an object oriented approach, is a basic voicemail system. The voicemail system is an independent system that interfaces with an already implemented telephone system (i.e., assume that the telephone related hardware, software, and API are available ready to use). The main goal of the system is to act as a messaging service for an organization-wide telephone system. The organization may have several telephone numbers and multiple calls active at a given time.

The voicemail system gets activated after a callers dialed number to the telephone system goes unanswered for a given number of rings (e.g., five rings). The telephone numbers are uniquely mapped to mailbox numbers. Note that some numbers may not be assigned valid or active mailboxes (or none at all). Assume that the telephone system is responsible for functionalities such as establishing and managing the connection, managing the call (e.g., pickup, hang up), and providing information from and to the caller (e.g., the pressed phone keys, and obtain and play the actual voice message). An example of the interface to the phone system is given bellow (you may assume that all interface calls are blocking and as such the message system will wait until the interface call has completed execution and a value returned):

PhoneSystem pickup() //Initiates one end of a connection hangup() //Ends a connection

dial(char)//Allows dialing of 0..9,#, * play(message)// Paly message connection(): Boolean // True if a connection exists record(int): message //Record a message until hangup() or time limit is reached getRingCount(): int //Returns the number of rings

getDial(): char//Returns the character dialed (0 if buffer is empty else 1) getExtension(): string //Returns the current extension

The voicemail system must support the callers to leave voicemails, and the mailbox owners to access and retrieve their voicemails. The owners can access and administer their mailbox with the following options:

Local access: from their own (local) phone devices via a hotkey on the phone device

Remote access: from other (remote) phones via dialing phone and/or extension number

Web or email access: via subscription

The caller can record a message verbally. The message is ended with a call hang up or a timeout in number of seconds. There is also an administration mailbox with extended functionality to manage the email system. This mailbox can access and manage other mailboxes (e.g., add or remove a mailbox and set a users password).

Tasks to do:

  1. Identify the main use cases including actors. Then, please provide the use cases diagram(s).
  2. Identify the main classes and the relationships between them. Then, please provide the class diagram.
  3. Describe a scenario (per functionality) that can occur in at least three functionnalties. Thus, please provide three sequence diagrams.

You can use any UML design tool (to draw the diagrams) such as ArgoUML,

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Informix Database Administrators Survival Guide

Authors: Joe Lumbley

1st Edition

0131243144, 978-0131243149

More Books

Students also viewed these Databases questions

Question

Write or share answers to the following questions:

Answered: 1 week ago