Title: E-mail Use Case Diagram
1E-mail Use Case Diagram
Send E-mail
Receive E-mail
Address Book
Organize Mail
2Chat Use Case Diagram
Log On
Buddy Status Change
Find Buddy
Chat Buddy
Log Off
3User (UI)
Client
Server
getEmails()
authenticateUser()
response
- Authentication Failed
- Server Unreachable
- Authentication Suceeded
response
queryNumberEmails()
displayResponse
numberEmails
messages left gt 0
loop
getMessage()
message
Receive E-mail Sequence Diagram
filterMessage
addMessageToFolder
addMessageToFolder
sortMessageFolders
displayNewMessageFolders()
4User IM
Server
Buddy IM
statusChange()
ack
buddyStatusChange()
ack
changeBuddyStatus()
Buddy Status Change Sequence Diagram Lassiez-Faire
Approach
5User IM
Server
Buddy IM
par
checkBuddyStatus()
loop
findBuddiesForUser()
determineChangedBuddies()
changedBuddies()
NOTES Add timing requirements to server messages
check. Throughput consequences of polling?
buddies left gt 0
loop
changeBuddyStatus()
Buddy Status Change Sequence Diagram Polling
Approach
statusChange()
ack
6User IM
Server
Buddy IM
startChat()
startChat()
chatStatus()
- SERVER UNAVAILABLE
- INACTIVE
- AWAY
chatStatus()
done false
loop
par
Send IM
Receive IM
Change Status
Buddy Status Change
Chat Buddy Sequence Diagram
7User IM
Server
Buddy IM
not SEND
loop
getKeyboardCharacter()
sendMessage()
displayMessage()
ack()
Chat Send IM Sequence Diagram
8authenticateUser
numberMessages
queryNumberEmails
getMessage
processEmails
filterMessage
sortMessageFolders
addMessageFolder
displayMessageFolders
Receive E-mail Software Execution Model
9authenticateUser
numberMessages
queryNumberEmails
getMessage
processEmails
filterMessage
sortMessageFolders
addMessageFolder
displayMessageFolders
Receive E-mail Software Execution Model
10startChat
sendIM
20
receiveIM
changeStatus
buddyStatusChange
endChat
Chat Buddy Software Execution Model