校内通信Java课程设计论文.doc
《校内通信Java课程设计论文.doc》由会员分享,可在线阅读,更多相关《校内通信Java课程设计论文.doc(42页珍藏版)》请在三一办公上搜索。
1、XXXX学院Java课程设计 设计(论文)题目: 校内通信 所 在 院: 专 业 班 级: 学 生 姓 名: 学 号: 指 导 教 师: 年 月 日 XXXX学院课程设计(论文)任务书设计题目: 校内通信 专业班级: 学号 姓名 主要内容 校园企业内部通信工具可以很好的解决企业通信问题,使每个用户都能及时地了解自己的工作内容和获取需要的资料。为解决这一问题,开发一个界面友好、易于操作的内部通信软件。本系统应用了JDK 6.0新增的系统托盘技术和JavaDB数据库。系统托盘可以在程序主窗体最小化使用托盘控制窗体的相应操作,例如打开主窗体;JavaDB使用灵活,可以应用到不同的系统平台中,只要该平
2、台有支持Java的环境。基本要求:整个系统从操作简便、界面友好、灵活、实用、安全的要求出发,实现信息通信、系统设置、搜索用户、访问公共资源、互访对方主机等功能。完成期限: 年月日 指导教师签名: 评审小组负责人签名: 目 录1前言12概述12.1 开发背景12.2 课题现状22.3 软硬件需求23系统分析33.1 需求功能分析33.2 可行性分析33.2.1可行性要求、目标33.2.2技术可行性分析43.2.3经济可行性分析44系统设计54.1系统目标54.2 系统功能54.3数据库结构设计64.3.1数据库分析64.3.2校园企业内部通信系统的E-R图64.3.3数据库结构设计75详细设计和
3、代码实现85.1主窗体模块的设计与实现代码85.1.1界面设计115.1.2实现过程125.2公共模块的设计与实现145.2.1界面设计145.2.2实现过程145.3系统托盘模块的设计与实现175.3.1界面设计175.3.2实现过程185.4系统工具模块的设计与实现195.4.1界面设计195.4.2实现过程205.5 用户管理模块的设计与实现235.5.1界面设计235.5.2实现过程246通信模块的设计与实现296.1界面设计296.2实现过程337总结378致谢37参考文献381前言要问到网络时代发展最快的领域,无疑的,答案是即时通讯。即时通讯工具的实时交互、资费低廉等优点深受用户的
4、喜爱,已经成为网络生活中不可或缺的一部分,比如大家都很熟悉的腾讯QQ,MSN等。网民们通过即时通信进行沟通交流、结识新朋友、娱乐消遣时间、实现异地文字、语音、视频的实时互通交流。同时,人们也认识到即时信息工具能够带来极高的生产力,诸多企事业单位借助它的使用,来提高业务协同性及反馈的敏感度和快捷度。作为使用频率最高的网络软件,即时通讯已经突破了作为技术工具的极限,被认为是现代交流方式的象征。 即时通讯软件是通过即时通讯技术来实现在线聊天、交流的软件。目前有2种架构形式,1、一种是C/S架构,采用客户端/服务器形式,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、百度HI 、Skype、
5、Gtalk、新浪UC、MSN等;2、采用B/S架构,即浏览器/服务端形式,这种形式的即时通讯软件,直接借助互联网为媒介、客户端无需安装任何软件,既可以体验服务器端进行沟通对话,一般运用在电子商务网站的服务商,典型的代表、53KF、live800等校园企业内部通信工具可以很好的解决企业通信问题,面对工作目标和团队工作中可能出现的问题,必须加强团队的沟通,使每个用户都能及时地了解自己的工作内容和获取需要的资料。本系统应用了JDK 6.0新增的系统托盘技术和JavaDB数据库。系统托盘可以在程序主窗体最小化之后,使用托盘控制窗体的相应操作,例如打开主窗体;JavaDB使用灵活,可以应用到不同的系统平
6、台中,只要该平台有支持Java的环境2概述2.1 开发背景近几年,随着网络的迅速发展和全球信息化速度的加快,网络通信已经不算是新鲜事物了,但大多数网络通信需要借助Internet上的服务器,这就给那些具有大规模内部网络的用户造成了许多问题,如遭遇到网络攻击、病毒入侵等等。由于互联网上的网络通信工具有时会给企业内部信息交流带来不便,所以为了方便校园和内部用户之间的沟通、保证校园内部局域网的安全,需要开发一个基于局域网的信息收发系统的即时通信工具。2.2 课题现状校园内部通信系统是基于局域网的即时通信工具,可以说是一个internet通信工具的小规模版本,一般采用UDP或者TCP协议体系等来实现,
7、开发技术已经比较成熟,国外的通信工具较有名的有ICQ、MSN Messenger、国产的QQ、新浪UC都实现了广域网的即时通信。在最近几年,国内的局域网通信工具较有代表性有飞鸽传书、飞秋,这两款软件的快速、实效、迷你、简单的特点受到了广大用户的好评。这些工具的实现方式具体细节不易得之,但它无非是利用各种平台上的网络通信接口,基于TCP/IP或者UDP/IP协议架构下的软件产品。对于一个企业内网,这些功能的实现相比于广域网更加简单。所以还是有很大研究价值的1。2.3 软硬件需求本系统运行时需要以下条件。硬件平台:CPU:Pentium4 1.8GHz内存:128MB以上硬盘空间:100MB软件平
8、台:操作系统:Windows 2000、Windows XP、Windows 2003等开发工具:Eclipse、JDK6.0数据库:JavaDB3系统分析3.1 需求功能分析本系统的设计目标是实现一个校园局域网通信系统,可以方便的进行交流,可以大大的提高校园企业内部的工作效率。根据内部局域网通信的需求,本系统主要包括信息通信、系统设置、搜索用户、访问公共资源、访问对方主机五大功能。各功能概述:信息通信:信息通信是内部通信系统的核心功能,它用于不同职工之间的通信,这种通信方式能够实现多个职工之间的通信,而不存在类似电话占线的问题,增加了任务分配的新方式,从而提高企业的工作效率。系统设置:系统设
9、置用于设置用户界面、公共路径、公告栏等的功能。用户搜索:用户搜索用于搜索局域网内的其他用户,系统会根据用户所设置的IP搜索范围搜索所有计算机上的用户。访问公共资源:访问公共资源用于实现内部公共服务器上资源访问的功能。访问对方主机:访问对方主机用于两人聊天情况下对对方主机的访问和控制的功能。3.2 可行性分析3.2.1可行性要求、目标企业内部通信系统必须提供网络通信功能,在通信过程中禁止使用聊天表情、文件传送等功能,避免资料外泄,或因发送错误而导致上机资料的丢失以及其他损失。最重要的是必须适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境中使用了多个操作系统来完成不同的工作
10、。另外,系统不需要使用服务器中转和记录通信内容,可以独立完成通信任务,排除职工对领导监视工作进度等行为的逆反心理。企业内部通信系统的目标是实现企业的信息化通信,提高企业通信能力,提高任务理解和执行能力,减少没有必要的人员流动和资金损耗,以最快的速度提升企业的市场竞争力。3.2.2技术可行性分析局域网通信系统的技术已经非常成熟,首先,从硬件上讲,计算机硬件速度现在已经不是问题,高速便捷的网络已经十分普遍,这些为本系统的运行打下坚实的基础。从软件的角度上讲,数据库技术已经相当成熟(目前用得比较多的有SQL Server, JavaDB等),并且处理能力也非常强,这为海量数据的存储和处理打下了坚实的
11、基础,同时,使用java开发图形界面程序也相当普遍。有了这些技术的支持,我们成功开发一个局域网通信系统没有任何技术风险。3.2.3经济可行性分析经济可行性主要是对项目的经济效益进行评价。本系统开发完成后可缩减工作时间,提高工作效率,而且简单易操作,不需对使用人员进行培训,不管是在资金上还是效率上都能达到预期的效果。本系统开发经费对于企业在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,有助于企业的信息化管理,所以该企业内部通信系统在经济上是可行的。4系统设计4.1系统目标系统根据企业对内部通信系统的要求,本系统可以实现以下目标:1.操作简单、界面简洁美观。2.更方便访问企业公共资源。
12、3.及时显示企业公共信息。4.在通信窗口显示对方IP信息。5.局域网内网用户自动搜索。6.系统运行稳定、安全可靠。 4.2 系统功能系统功能结构图如下:企业内部通信系统信息通信系统设置用户搜索访问公共资源访问对方主机图4.1系统功能结构图4.3数据库结构设计4.3.1数据库分析该系统是一个桌面应用程序,它不像web应用那样需要配置到指定的服务器上,所以数据库和该系统应存在于同一计算机中,这样,不仅节省了开销,而且还提高了系统的安全性。该系统所用数据库为JAVADB数据库。由于该数据库的运行环境平台要求较低,一般的电脑都可以满足它的硬件条件2。4.3.2校园企业内部通信系统的E-R图该系统的实体
13、包括用户和窗口位置两个实体,分别记录着通信窗口的绝对位置和用户的信息。 (1)用户实体用户实体主要包括IP信息、PC名称、用户信息、系统信息等,它记录了搜索到的用户和所有的用户信息。用户实体的E-R图如下所示:用户实体头 像提示文本用户信息IP地 址主机名称 (2)窗口位置实体窗口位置实体记录着窗体最后的移动位置和窗体大小等信息,主要包括窗体位置的横坐标和竖坐标(下图用X、Y轴坐标表示)、窗体的高度和宽度。窗口实体的E-R图如下所示:X坐标窗口实体Y坐标窗体高度窗体宽度图4.3窗口实体E-R图4.3.3数据库结构设计在该系统中的数据库db_EQ包含两个数据表,分别为用户信息表tb_users和
14、窗体位置信息表tb_location。(1)tb_users(用户信息表)用户信息表用来保存内的通信用户,表tb_users如下所示:表4.1用户信息表tb_users字段名数据类型是否为空是否主键默认值描述iPVarchar(16)NOYES用户IPhostVarchar(30)YESNONULL主机名称nameVarchar(20)YESNONULL姓名tooltipVarchar(50)YESNONULL提示文本iconVarchar(50)YESNONULL头像图标(2)tb_location(窗体位置信息表)窗体位置表用来保存窗体的位置和大小,表tb_location如下所示:表4.
15、2 窗体位置信息表tb_location字段名数据类型是否为空是否主键默认值描述xLocationIntYESNONULLX轴坐标yLocationIntYESNONULLY轴坐标heightIntYESNONULL窗体高度widthIntYESNONULL窗体宽度5详细设计和代码实现5.1主窗体模块的设计与实现代码 public EQ() super(new Frame();frame = this;dao = Dao.getDao();location = dao.getLocation();setTitle(郑科校内通);setBounds(location);progressBar =
16、 new JProgressBar();progressBar.setBorder(new BevelBorder(BevelBorder.LOWERED);tabbedPane = new JTabbedPane();popupMenu = new JPopupMenu();chatTree = new ChatTree(this);user_dir = System.getProperty(user.dir); / 程序执行路径用于系统更新localFile = new File(user_dir + File.separator + EQ.jar);/ 本地EQ文件stateLabel
17、= new JLabel(); / 状态栏标签addWindowListener(new FrameWindowListener();/ 添加窗体监视器addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) saveLocation();public void componentMoved(final ComponentEvent e) saveLocation(););try / 启动通讯服务端口ss = new DatagramSocket(1111);
18、 catch (SocketException e2) if (e2.getMessage().startsWith(Address already in use)showMessageDialog(服务端口被占用,或者本软件已经运行。);System.exit(0); / 初始化公共信息按钮messageAlertIcon = new ImageIcon(EQ.class.getResource(/image/messageAlert.gif);messageAlertNullIcon = new ImageIcon(EQ.class.getResource(/image/messageAl
19、ertNull20.gif);messageStack = new Stack();messageAlertButton = new JButton();messageAlertButton.setHorizontalAlignment(SwingConstants.RIGHT);messageAlertButton.setContentAreaFilled(false);final JPanel BannerPanel = new JPanel();BannerPanel.setLayout(new BorderLayout();add(BannerPanel, BorderLayout.N
20、ORTH);userInfoButton = new JButton();BannerPanel.add(userInfoButton, BorderLayout.WEST);userInfoButton.setMargin(new Insets(0, 0, 0, 10);initUserInfoButton();/ 初始化本地用户头像按钮BannerPanel.add(messageAlertButton, BorderLayout.CENTER);messageAlertButton.addActionListener(new ActionListener() public void ac
21、tionPerformed(final ActionEvent e) if (!messageStack.empty() showMessageDialog(messageStack.pop(););messageAlertButton.setIcon(messageAlertIcon);showMessageBar();add(tabbedPane, BorderLayout.CENTER);tabbedPane.setTabPlacement(SwingConstants.LEFT);ImageIcon userTicon = new ImageIcon(EQ.class.getResou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校内 通信 Java 课程设计 论文
链接地址:https://www.31ppt.com/p-4141865.html