Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

38
The George Washington University School of Engineering and Applied Science Department of Electrical Engineering and Computer Science Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10 Senior Computer Science Design Project Laboratory April 19, 1999

description

The George Washington University School of Engineering and Applied Science Department of Electrical Engineering and Computer Science. Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10 Senior Computer Science Design Project Laboratory April 19, 1999. - PowerPoint PPT Presentation

Transcript of Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Page 1: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

The George Washington UniversitySchool of Engineering and Applied Science

Department of Electrical Engineeringand Computer Science

Final ReviewDesign of an Internet Conferencing System

byDustin Graves

CSCI 164-10Senior Computer ScienceDesign Project Laboratory

April 19, 1999

Page 2: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Introduction

• Client-Server Processing

• Socket Communication

• Multiprocessing

Page 3: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Conferencing System Specifications

• Compatible with Windows NT platform

• Support a maximum of 25 users

• Maintain a log of all sessions

• Discussion style chat and conferencing

• Shared Whiteboard

• Individual e-mail style messages

Page 4: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Conferencing System Specifications (Continued)

• BSD Socket programming model

• IP Multicasting for group transmissions

• Simple Graphical User Interface

Page 5: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Internet Conferencing SystemBlock Diagram

InternetConferencing

System

Server Client

Page 6: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Server SubsystemBlock Diagram

ServerSocketModule

ThreadModule

Page 7: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Client SubsystemBlock Diagram

Client

SocketModule

ThreadModule

GUI

Page 8: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Thread ModuleBlock Diagram

ThreadingModule

Synchron-izationObjects

Comm-unicationObjects

ThreadObjects

Page 9: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Thread ModuleThread Object Diagrams

KernelObjectHandleStatusGetHandleGetStatusWait

ThreadIDHandlerSuspendResumeTerminateGetIDGetExitCodeSetPriorityGetPriority

ThreadHandler

Function

Page 10: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Thread ModuleSynchronization Object Diagrams

EventSetResetPulse

KernelObjectHandleStatusGetHandleGetStatusWait

MutexRelease

SemaphoreRelease

Page 11: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Thread ModuleCommunication Object Diagram

SharedMemory

MemoryStatusCreated

GetStatusGetMemoryPtrIsCreator

Page 12: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Socket ModuleBlock Diagram

SocketModule

StreamSocket

IPMulticast

SocketObjects

Page 13: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Socket ModuleStream Socket Diagrams

SocketSocketIDIPAddressLocalPortRemotePortConnectBindCloseSendReceive

ServerSocketTimeoutValSetTimeoutValGetTimeoutValAccept

Page 14: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Socket ModuleIP Multicast Socket Diagram

MulticastSocket

GroupInterfaceTTL

SetInterfaceGetInterfaceSetTTLGetTTLJoinGroupLeaveGroup

Page 15: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Graphical User InterfaceBlock Diagram

GUIMenu bar/Toolbar

Input/Output

Page 16: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Graphical User InterfaceMenubar/Toolbar Object Diagrams

SharedManagerFuncsApplicationQuitConnectDisconnectShowUserListSendPrivateMessageConfigure

MenuBarManagerApplicationMenuMenuButtonsCreateCallbackActivateCallback

ToolBarManagerApplicationToolbarButtonsCreateCallbackActivateCallback

Page 17: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Graphical User InterfaceInput/Output Object Diagrams

TextFieldFieldGetTextSetTextActivateCallback

TextAreaAreaGetTextSetText

DrawingAreaAreaDrawShapeModifyShapeInputCallback

BaseIOCutCopyPaste

Page 18: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Graphical User InterfaceWindow Object Diagrams

ListDialogApplicationDialogListShowHideApplyCallbackCancelCallbackSelectCallback

MainFrameApplicationWindowMenuBarToolBarManagerFuncsFieldAreaCanvasCreateCallbackExposeCallbackResizeCallbackIdle

MailDialogApplicationDialogFieldAreaShowHideApplyCallbackCancelCallback

Page 19: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Graphical User InterfaceWindow Object Diagrams (Cont.)

LoginDialogApplicationDialogField1Field2ShowHideApplyCallbackCancelCallback

HostDialogApplicationDialogField1Field2ShowHideApplyCallbackCancelCallback

MessageDialogApplicationDialogLabelShowHideOkCallback

Page 20: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Server and Client Subsystem Module Block Diagrams

CommServer

InteractiveClient

Page 21: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Server Subsystem ModuleObject Diagram

Server

ServerSockUserListThreadListSessionLogUserFileHostFile

GetConnectionProcessRequestLogUserVerifyUserVerifyHostRunQuit

Page 22: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Server Subsystem ModuleObject Aggregation Diagram

Server

Thread ServerSocket

Page 23: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Server ObjectDynamic Structure Diagram

Server

Thread ServerSocket

SendReceiveAcceptClose

GetConnectionProcessRequest

Page 24: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Client Subsystem ModuleObject Diagram

Client

StreamSockMulticastSockMainWindowListWindowMailWindowUserNameMessageReceiver

SendReceivePrepareDataSortDataConnectDisconnectQuit

Page 25: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Client Subsystem ModuleObject Aggregation Diagram

Client

MainFrame MailDialogListDialog Socket

MulticastSocketThread

Page 26: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Client ObjectDynamic Structure Diagram

Client

MainFrame

MailDialog

ListDialog

Socket

MulticastSocket

Idle

ShowHide

ShowHide

SendReceiveConnect

Close

Thread

SortData

Page 27: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Thread Module Tests

• Synchronized Access to Mutex– Thread 0x000000ba - acquired mutex

– Thread 0x000000ba - released mutex

• Synchronized Access to Semaphore– Thread 0x000000a5 - acquired semaphore

– Thread 0x000000c0 - acquired semaphore

• Read/Write Shared Memory– Thread 0x000000c4 - wrote: Message from Thread 0x000000c4

– Thread 0x000000bf - read: Message from Thread 0x000000c4

Page 28: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Socket Module Tests

• Socket to Server Socket Communication– Server: Connection from 192.57.7.165

– Socket: Sending ‘test data’

– Server: Received: ‘test data’ with total bytes = 128

– Socket: Disconnecting

– Server: Connection Closed

• Multicast Group Communication– Received: 206:0, 5

– Received: 206:1, 5

Page 29: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

GUI Tests

• I/O Tests– Write text to Text Area

– Read text from Text Field

– Copy/Paste Clipboard Data

– Read/Write Files to/from Text Area

• Menu Bar/Toolbar Tests– Connect/Disconnect Functionality

– User List/Mail Window Display

– Print and Print Preview

– Exit Function

Page 30: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Client Tests

• Chat Test– Group Conversation with 5 Participants– Private Message Conversation with 2 Participants

• Graphic Test– Test of Drawing Functions– Test of Drawing Modification Functions

• Mail Test– Send Message with 1.2 MB Attachment to Group– Display Message in Viewer– Delete Message from Inbox

Page 31: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Server Tests

• Configuration Tests– Disable Password Login

– Disable Trusted Host Option

– Set port to 5555

– Set user limit to 5

• Connection Accepting Tests– Accept connections on port 5555

– Accept and log 5 client connections

– Deny access to 6th client to attempt connection

Page 32: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Project Timetable(Gantt Chart)

FinalGanttChart

Page 33: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Project Labor Costs

0

5

10

15

20

25

30

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34

Time (Weeks)

Co

st (

Do

llar

s x

1000

)

Page 34: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Economic Analysis

• Prototype Costs Initial Current– Work Hours 732 459– Duration Hours 1440 1400– Labor Costs $24,920 $15,500

Page 35: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Prototype Costs

• Direct Labor Costs $24,920 $15,500• Indirect Labor Costs@100% 24,920 15,500

– Subtotal 49,840 31,000• Admin & Gen Costs@40% 19,936 12,400

– Subtotal 69,776 43,400• Profit@20% 13,955 8,680• Total Costs $83,731 $52,080

Page 36: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Unit Costs

• Construction Time–10 Min@$30/Hr $5 $5• Testing Time - 10 Min@$30/Hr 5 5

– Subtotal 10 10• Overhead @ 100% 10 10

– Subtotal 20 20• Disk 1 1• Documentation 10 10• Packaging 5 5

– Subtotal 36 36

Page 37: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Unit Costs (Continued)

• Previous Subtotal 36 36• Administrative & General @ 40% 14 14

– Subtotal 50 50• Profit @ 20% 10 10

– Subtotal 60 60• Cost of the Prototype 6 1

$52,080/50,000 Units• Total Cost Per Unit 66 61

Page 38: Final Review Design of an Internet Conferencing System by Dustin Graves CSCI 164-10

Unit Costs (Continued)

• Sell the System For 66 61• Wholesale Markup @ 20% 13 12

– Subtotal 79 73• Retail Markup @ 50 % 40 37

– Retail Price of Server 119 110