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 Senior Computer Science Design Project Laboratory April 19, 1999
Introduction Client-Server Processing Socket Communication Multiprocessing
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 style messages
Conferencing System Specifications (Continued) BSD Socket programming model IP Multicasting for group transmissions Simple Graphical User Interface
Internet Conferencing System Block Diagram
Server Subsystem Block Diagram
Client Subsystem Block Diagram
Thread Module Block Diagram
Thread Module Thread Object Diagrams
Thread Module Synchronization Object Diagrams
Thread Module Communication Object Diagram
Socket Module Block Diagram
Socket Module Stream Socket Diagrams
Socket Module IP Multicast Socket Diagram
Graphical User Interface Block Diagram
Graphical User Interface Menubar/Toolbar Object Diagrams
Graphical User Interface Input/Output Object Diagrams
Graphical User Interface Window Object Diagrams
Graphical User Interface Window Object Diagrams (Cont.)
Server and Client Subsystem Module Block Diagrams
Server Subsystem Module Object Diagram
Server Subsystem Module Object Aggregation Diagram
Server Object Dynamic Structure Diagram
Client Subsystem Module Object Diagram
Client Subsystem Module Object Aggregation Diagram
Client Object Dynamic Structure Diagram
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
Socket Module Tests Socket to Server Socket Communication –Server: Connection from –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
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
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
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
Project Timetable (Gantt Chart)
Project Labor Costs
Economic Analysis Prototype CostsInitial Current –Work Hours –Duration Hours –Labor Costs $24,920 $15,500
Prototype Costs Direct Labor Costs $24,920 $15,500 Indirect Labor 24,920 15,500 –Subtotal 49,840 31,000 Admin & Gen 19,936 12,400 –Subtotal 69,776 43,400 13,955 8,680 Total Costs $83,731 $52,080
Unit Costs Construction Time–10 Testing Time –Subtotal % 1010 –Subtotal 2020 Disk 1 1 Documentation 1010 Packaging 5 5 –Subtotal3636
Unit Costs (Continued) Previous Subtotal3636 Administrative & 40% 1414 –Subtotal % 1010 –Subtotal 6060 Cost of the Prototype 6 1 $52,080/50,000 Units Total Cost Per Unit 66 61
Unit Costs (Continued) Sell the System For Wholesale 20% –Subtotal Retail 50 % –Retail Price of Server