Object-Oriented Design & Patterns Cay S

Slides:



Advertisements
Similar presentations
Unified Communications (UC) Quick Reference Guide USING YOUR UC CLIENT This guide is designed to provide you with a quick overview of the Unified Communications.
Advertisements

GPC VOIC MODULAR MESSAGING 3.0.
G063 - ICT & Telephone Systems. By the end of this topic you should be able to: describe the use of ICT in telephone systems Learning Objective:
Smart Personal Console (SPC). Smart Personal Console Overview SPC allows users more control over their personal communications settings. Users can view/set:
Voic Training for v Press any key to continue.
Welcome to VOIC USER TRAINING V8+ PowerPoint.
Cisco IP Phone 7911, 7941, 7961 Series Full-feature telephone that provides voice communication over the same data network that your computer uses, allowing.
Acceptance Tests For Asterisk on the MCF54451
1 © 2005 Cisco Systems, Inc. All rights reserved _04_2005 Cisco Confidential Cisco Unified Communications Solutions End User Training Facilitated.
Ready to begin. Buttons Phone basics Handling calls Making Pages Additional features.
TELUS Restricted and Confidential 1 Call Pilot 5.0 Voic Training AHS - ECS.
Not to be distributed or reproduced by anyone other than Qwest entities. Copyright © 2006 Qwest All Rights Reserved. BUSINESS SOLUTIONS 1 UMD ON-LINE VOICE.
ESI Phone System Training Adcom/Valentine Systems
INSIGHT TOTAL TECHNOLOGY SOLUTIONS Cisco 7900 Series Phone and Voic Training Dole Fresh Vegetables.
Eric Kelsey Class Outline: 1)Phone Features 2)Call Communicator 3)Call Handling Modes and Call Forwarding.
Using Your Voic M6 Release 7.1Business Feature Set Default Menu Options Revised August 31, 2007 TR
UTSC– VoIP 7821 Phone Training
Lawrence Technological University Office of University Housing Voice Mail System Guide.
OOdesignProcess1 The Object-Oriented Design Process Part 1: objects & classes.
CPSC 2100 Software Design and Development
CISCO IP Phones. To Initially Set up Voic 1. From an IP phone within the system, dial the last 4 digits of your voice mail number. For example, if.
Call Manager - Quick Reference Guide Initiate a Call 1.Select a Phone List. Click Tab to expose list. 2.Select a phone number. Click phone number to populate.
Voice Mail Instruction for University of Arkansas Campus
StreamWIDE Voic Migration Training Please Dial In, , Access Code 0138#
Object-oriented design Part 4: More UML. Interfaces An interface is a language construct specific to Java Java does not support multiple inheritance Interfaces.
Welcome u How to use your Phone Effectively u Telephone Features u Voice Messaging Features.
Responding to an Everbridge Notification. Internet based notification system available 24/7/365 Multijurisdictional emergency and non-emergency notifications.
Welcome u How to use your Phone Effectively u Telephone Features u Voice Messaging Features.
Telephone Training M3904 Telephone Set IT Support Center
Welcome u How to use the new NCAR telephone system u Telephone Features u Voice Messaging Features.
» Your Voice Mail User ID is your 5-digit phone number. » Use the temporary PIN 2010 for this procedure.
Business Enabled Communications V1.6 Basic Features iPECS-MG.
Press any key to continue WELCOME TO THE MESSAGEMATE VOICE MAIL.
University of Miami Telecommunications Voice Messaging System – Option 2 Communité - MIC website Department of Telecommunications 1Communité.
ClearPath Hosted MVP Web Portal 1. Log In Page Users are able to access the Web Portal by using their assigned user name and password. Access Web Browser.
Chapter 2 (Horstmann’s Book) – Part 2 The Object-Oriented Design Process Hwajung Lee.
DS200 IDEA GENERAL STRUCTURE. PURPOSEPURPOSE The purpose of this presentation is to explain the setup and the use of DS200 IDEA application.
9/8/20151 Voice Mail Training for State Employees Presented by: Stacy Knickerbocker Telecommunications Specialist DOA/ITSD/NTSB
Maysville Community and Technical College IP Phone and Voice Mail Training.
Welcome u How to use the new NCAR telephone system u Telephone Features u Voice Messaging Features.
NMU Voic Welcome to. This presentation will walk you through the setup and use of the NMU Voic system. Follow the step by step instructions.
Panasonic Communications Co., Ltd. Communication Network Company
Welcome u How to use NCAR’s telephone system u Telephone Features u Voice Messaging Features.
CS 151: Object-Oriented Design September 5 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak
Welcome u How to use the new NCAR telephone system u Telephone Features u Voice Messaging Features.
Welcome u How to use the new NCAR telephone system u Telephone Features u Voice Messaging Features.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
1 Introduction to Your Norstar Telephone System IT Support Center or
ShoreTel IP 480 Phone Training
How to Use the Mitel Your Phone SoftKeys: Keys that allow you to choose between different options on the screen HardKeys: Keys that need to be pushed.
How to Use the Mitel Your Phone SoftKeys: Keys that allow you to choose between different options on the screen HardKeys: Keys that need to be pushed.
1 IT Desktop Management Phone Services And Voice Mail January 2007 Prepared by Angela Mars IT Education and Training.
Introduction to Avaya Unified Messaging Introduction to American University’s New Messaging System: Avaya Unified Messaging.
IT Education and Training Avaya Modular Messaging System December 2008 Prepared by Angela Mars IT Education and Training.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Using your ENA Connect Phone Polycom IP 321/331/335.
EVOIP 7 Cisco IP 8841 Training Created for:.
Using your ENA Connect Phone Polycom IP 650/ Getting to know your IP 650/670 Soft Keys Shortcut to call logs Menu navigation arrows = select X =
Introduction to Avaya Unified Messaging Introduction to American University’s New Messaging System: Avaya Unified Messaging.
1Communité MIC 3.0 IT Support Center or Communité - MIC website
Chapter 2 Object-Oriented Design Process Object-Oriented Design & Patterns Cay S. Horstmann.
1.Display 2.Ring / Message Indicator 3.Volume, Speaker, Mute Controls 4.Fixed Function Keys 5.Dial Pad 6.Navigation Page Keys 7.Programmable Feature Keys.
The Object-Oriented Design Process Chapter 2. Chapter Topics From Problem to Code The Object and Class Concepts Identifying Classes Identifying Responsibilities.
Polycom VVX 400.
Main Menu New Messages - 1 Leave Message - 2 Other Messages - 3
INI MAIL A GUIDE TO VOICE MAIL!.
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Precision Spine Inc. Voic Guide.
Presentation transcript:

Object-Oriented Design & Patterns Cay S Object-Oriented Design & Patterns Cay S. Horstmann Chapter 2 - Part 2 The Object-Oriented Design Process

Chapter Topics 1 From Problem to Code The Object and Class Concepts Identifying Classes  Identifying Responsibilities Relationships Between Classes Use Cases

Chapter Topics 2 CRC Cards UML Class Diagrams Sequence Diagrams State Diagrams Using javadoc for Design Documentation Case Study: A Voice Mail System 

Case Study: Voice Mail System Use text for voice, phone keys, hangup 1 2 ... 0 # on a single line means key H on a single line means "hang up" All other inputs mean voice In GUI program, will use buttons for keys (see ch. 4)

Use Case: Reach an Extension User dials main number of system System speaks prompt Enter mailbox number followed by # User types extension number System speaks You have reached mailbox xxxx. Please leave a message now

Use Case: Leave a Message Caller carries out Reach an Extension Caller speaks message Caller hangs up System places message in mailbox

Use Case: Log in Mailbox owner carries out Reach an Extension Mailbox owner types password and # (Default password = mailbox number. To change, see Change the Passcode) System plays mailbox menu: Enter 1 to retrieve your messages. Enter 2 to change your passcode. Enter 3 to change your greeting.

Use Case: Retrieve Messages (1) Mailbox owner carries out Log in Mailbox owner selects "retrieve messages" menu option System plays message menu: Press 1 to listen to the current message Press 2 to delete the current message Press 3 to save the current message Press 4 to return to the mailbox menu

Use Case: Retrieve Messages (2) Mailbox owner selects "listen to current message" System plays current new message, or, if no more new messages, current old message. Note: Message is played, not removed from queue System plays message menu User selects "delete current message". Message is removed. Continue with step 3.

Use Case: Retrieve Messages (3) Variation #1 1.1. Start at Step 6 1.2. User selects "save current message".        Message is removed from new queue and appended to old queue 1.3. Continue with step 3.

Use Case: Change the Greeting (cont.) Mailbox owner carries out Log in Mailbox owner selects "change greeting" menu option Mailbox owner speaks new greeting Mailbox owner presses # System sets new greeting

Use Case: Change the Greeting Variation #1: Hang up before confirmation 1.1. Start at step 3. 1.2. Mailbox owner hangs up. 1.3. System keeps old greeting.

Use Case: Change the Passcode (1) Mailbox owner carries out Log in Mailbox owner selects "change passcode" menu option Mailbox owner dials new passcode Mailbox owner presses # System sets new passcode

Use Case: Change the Passcode (2) Variation #1: Hang up before confirmation 1.1. Start at step 3. 1.2. Mailbox owner hangs up. 1.3. System keeps old passcode.

CRC Cards for Voice Mail System Some obvious classes Mailbox MessageQueue MailSystem

Initial CRC Cards: Mailbox

Initial CRC Cards: MessageQueue

Initial CRC Cards: MailSystem

Telephone Who interacts with user? Telephone takes button presses, voice input Telephone speaks output to user

Connection (cont.) With whom does Telephone communicate with MailSystem? What if there are multiple telephones? Each connection can be in different state (dialing, recording, retrieving messages,...) Should mail system keep track of all connection states? Better to give this responsibility to a new class

Connection

Analyze Use Case: Leave a message (1) User dials extension. Telephone sends number to Connection (Add collaborator Telephone to Connection) Connection asks MailSystem to find matching Mailbox Connection asks Mailbox for greeting (Add responsibility "manage greeting" to Mailbox, add collaborator Mailbox to Connection) Connection asks Telephone to play greeting

Analyze Use Case: Leave a message (2) User speaks a message. Telephone asks Connection to record it. (Add responsibility "record voice input" to Connection) User hangs up. Telephone notifies Connection. Connection constructs Message (Add card for Message class, add collaborator  Message to Connection) Connection adds Message to Mailbox

Result of Use Case Analysis

Result of Use Case Analysis

Result of Use Case Analysis

Result of Use Case Analysis

Analyse Use Case: Retrieve messages (1) User types in passcode. Telephone notifies Connection Connection asks Mailbox to check passcode. (Add responsibility "manage passcode" to Mailbox) Connection sets current mailbox and asks Telephone to speak menu User selects "retrieve messages". Telephone passes key to Connection Connection asks Telephone to speak menu User selects "listen to current message". Telephone passes key to Connection

Analyse Use Case: Retrieve messages (2) Connection gets first message from current mailbox. (Add "retrieve messages" to responsibility of Mailbox). Connection asks Telephone to speak message Connection asks Telephone to speak menu User selects "save current message“. Telephone passes key to Connection Connection tells Mailbox to save message (Modify responsibility of Mailbox to "retrieve,save,delete messages")

Result of Use Case Analysis

CRC Summary One card per class Responsibilities at high level Use scenario walkthroughs to fill in cards Usually, the first design isn't perfect. (You just saw the author's third design of the mail system)

UML Class Diagram for Mail System CRC collaborators yield dependencies Mailbox depends on MessageQueue MailSystem depends on Mailbox Connection depends on Telephone, MailSystem, Message, Mailbox Telephone depends on Connection

Dependency Relationships

Aggregation Relationships A mail system has mailboxes A mailbox has two message queues A message queue has some number of messages A connection has a current mailbox. A connection has references to a mailSystem and a telephone

UML Class Diagram for Voice Mail System

Sequence Diagram for Use Case: Leave a message

Interpreting a Sequence Diagram Each key press results in separate call to dial, but only one is shown Connection wants to get greeting to play Each mailbox knows its greeting Connection must find mailbox object: Call findMailbox on MailSystem object Parameters are not displayed (e.g. mailbox number) Return values are not displayed (e.g. found mailbox) Note that connection holds on to that mailbox over multiple calls

Sequence Diagram for Use Case: Retrieve messages

Connection State Diagram

Java Implementation Ch2/mail/Message.java Ch2/mail/MessageQueue.java Ch2/mail/Mailbox.java Ch2/mail/Connection.java Click here to see the summary of the Connection class implementation. Ch2/mail/MailSystem.java Ch2/mail/Telephone.java Ch2/mail/MailSystemTester.java