局域网聊天系统的设计与实现项目开发总结报告.docx
《局域网聊天系统的设计与实现项目开发总结报告.docx》由会员分享,可在线阅读,更多相关《局域网聊天系统的设计与实现项目开发总结报告.docx(12页珍藏版)》请在冰豆网上搜索。
局域网聊天系统的设计与实现项目开发总结报告
局域网聊天系统的设计与实现
项目开发总结报告
目录
1引言1
1.1编写目的1
1.2背景2
1.3定义2
1.4参考资料2
2实际开发结果3
2.1产品3
2.2主要功能和性能4
2.3基本流程4
2.4进度5
2.5费用6
3开发工作评价6
3.1对生产效率的评价6
3.2对产品质量的评价6
3.3对技术方法的评价7
3.4出错原因的分析10
4经验与教训11
1引言
1.1编写目的
软件的总体要求:
实现用户在局域网内可以点对点的聊天,可以群聊,发送表情图片等等功能。
编写这份开发总结报告一方面可以让开发者总结开发以来的问题,另一方面可以给领导了解开发过程。
1.2背景
a.待开发的软件系统的名称:
局域网聊天系统。
b.本项目的任务提出者、开发者:
XXX。
c.该软件的使用范围:
公司内部的局域网之中。
1.3定义
局域网聊天系统:
局域网终端使用者的网络沟通服务,使用者可以通过安装了局域网聊天系统客户端的终端机进行两人或多人的聊天,内容包括文字,图片等。
SOCKET:
套接字;
TCP:
传输控制协议;
UDP:
数据包协议;
1.4参考资料
[1]刘新等编著.Java开发技术大全.北京:
清华大学出版社,2009
[2]孟凡荣.数据库原理与应用.徐州:
中国矿业大学出版社,2009
[3]张虹.软件工程与软件开发工具.北京:
清华大学出版社,2009
[4]罗军舟.TCP/IP协议及网络编程技术.北京:
清华大学出版社,2008
[5]孙一林,彭波.Java网络编程实例.北京:
清华大学出版社,2003
[6]李树青.Java通用范例开发金典.北京:
电子工业出版社,2009
[7]庞永庆,翟鹏.Java完全自学宝典.北京:
清华大学出版社,2008
[8]李钟尉,陈丹丹.Java项目开发案例全称实录(第2版).北京:
清华大学出版社,2011
2实际开发结果
2.1产品
最终制成的产品,包括:
a.可运行的局域网聊天系统应用程序。
b.关于局域网聊天系统方面的有关文档,例如:
需求分析报告、软件设计说明书、软件使用说明书、测试分析报告等等一系列文档。
c.程序目前只有一个版本。
已经通过用户在使用过程中去发现存在的BUG。
d.建立的数据库名称为MyQQ.mdb和Java自带的derby数据库。
e.主程序是聊天系统,其中还自带了备忘录和小游戏两个模块。
代码量大概在10000左右。
f.程序中涉及到的类文件包括:
UserInfoBean.java,UserInfo.java,StartSever.java,ShowTimeTask.java,SetCenter.java,ServerThread.java,ServerFrame.java,Sever.java,FriendLabel.java,ChatRecord.java,GameCanvas.java,ErsBox.java,ErsBlocksGame.java,ErsBlock.java,ControlPanel.java,DBConnection.java,UpdateDialog.java,RegisterDialog.java,ReceiveOthersDialog.java,MyInfo_AboutBox.java,LoginUser.java,Login.java,FontDialog.java,FindUserInfo.java,FindUserDialog.java,FileSend.java,FileReceiving.java,FaceDialog.java,FaceBean.java,Face.java,ClientManagerFrame.java,ChatFrame.java,ScreenSize.java,AwakeThread.java,TimeField.java,ListPanel.java,CalendarPanel.java,VindicateNoteDialog.java,SeeNoteDialog.java,AdvancedSearchDialog.java,JDBC.java,Dao.java,BaseDao.java,MTableModel.java,MTableCell.java,Menology.java,MButton.java,CalendarDialog.java,CalendarComboBox.java,BeiWangLuDialog.java
2.2主要功能和性能
主要功能
是否完成
性能
聊天
是
良好
改变字体
是
良好
表情
是
良好
文件传送
是
良好
备忘录
是
良好
小游戏
是
良好
聊天记录
是
良好
2.3基本流程
服务器端
2.4进度
序号
设计(论文)各阶段内容
起止日期
1
搜集、查阅有关局域网聊天系统的资料,了解相关知识;搜集国内外局域网聊天系统的资料,了解国内外的发展状况和趋势;对搜集到的资料进行整理,找出可以借鉴的经验和改进的方法;明确研究内容及拟采用的方法和手段、预期达到的水平及所需要的科研条件、进度安排,写出毕业设计开题报告。
1月9日—2月19日
2
提交毕业设计开题报告。
准备开题答辩。
2月20日—2月26日
3
实现应用程序功能,在测试环境中进行部署。
2月27日—4月27日
4
提交安装程序、源代码、软件文档。
4月28日—5月12日
5
提炼软件文档,撰写毕业设计论文。
5月13日—5月25日
6
毕业论文审阅、修改、定稿,装订成册,准备评阅。
5月26日—6月08日
7
整理论文介绍文档和演讲文稿,准备答辩。
6月09日—6月15日
8
毕业设计报告和论文答辩。
6月16日—6月20日
总体看来,进度基本上是一致的,没有延期。
2.5费用
系统的开发费用:
a.由学生开发,基本上无费用。
3开发工作评价
3.1对生产效率的评价
实际生产效率,包括:
a.程序的平均生产效率,每月编写的代码行数大概是7000行左右;
b.文件的平均生产效率,每月编写代码的千字数大概为10000左右;
3.2对产品质量的评价
本系统总体感觉良好,在测试过程中,除了一些不是很严重的BUG之外,没有重大的错误,大概没一千行代码有一个小型错误而已。
3.3对技术方法的评价
一.MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任意模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
MyEclipse9.0主要改进包括:
1.集成了Eclipse3.6.1。
2.支持HTML5和JavaEE6。
二.Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
目前Tomcat最新版本为7.0.27Released。
三.MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实Access也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
Access在2000年的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言。
Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle(甲骨文软件公司),或者任何ODBC兼容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。
虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。
Access的优缺点:
优点:
(1)存储方式简单,易于维护管理。
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。
(2)面向对象Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作。
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
(4)集成环境、处理多种数据信息。
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
(5)Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
(6)支持广泛,易于扩展,弹性较大。
能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。
还可以通过以Access作为前台客户端,以SQLServer作为后台数据库的方式(如ADP)开发大型数据库应用系统。
总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
缺点:
Access是小型数据库,既然是小型那么就有它的局限性(下面关于性能方面的缺点仅指用Access作为数据库的情况下,不包括用Access作为客户端前台,用SQLServer作为后台数据库的情况):
1.数据库过大,一般百M以上(纯数据,不包括窗体、报表等客户端对象)性能会变差。
2.虽然理论上支持255个并发用户,但实际上根本支持不了那么多,如果以只读方式访问大概在100个用户左右,而如果是并发编辑,则大概在10-20个用户。
3.记录数过多,单表记录数过百万性能就会变得较差,如果加上设计不良,这个限度还要降低。
4.不能编译成可执行文件(.exe),必须要安装Access运行环境才能使用。
四.Java是目前最为流行的程序开发语言。
作为一种完全的面向对象的语言,它吸取了其他语言的各种有点,设计简介而优美,使用起来方便而高效,是一门典型的门槛低而天花板高的语言。
既像Basic那样容易入门,又像C/C++那样具有强大的实际应用能力。
而且与其他纯粹的语言不同,Java其实是一个完整的技术平台。
3.4出错原因的分析
开发过程中,最普遍的错误就是很多方法用的不是很合理,导致想要的效果没有办法体现出来,最麻烦的就是不报代码错误,但是也没有实现想要的功能,对于这些错误,只有慢慢的去调试,在调试的过程中去发现导致这些错误的原因。
还有一些错误就是导致系统突然死掉。
对于这些错误,只有强制关闭进程,然后重新启动程序。
导致类似错误的原因是程序陷入了死循环中,每次当遇到这种错误的时候就只有一步一步的去跟踪代码,看看是在哪陷入死循环中的。
4经验与教训
通过这次的项目开发,从中获得了许多的知识,尤其是对Java语言的认识更加的深刻了,Java是目前最为流行的程序开发语言。
作为一种完全的面向对象的语言,它吸取了其他语言的各种有点,设计简介而优美,使用起来方便而高效,是一门典型的门槛低而天花板高的语言。
既像Basic那样容易入门,又像C/C++那样具有强大的实际应用能力。
而且与其他纯粹的语言不同,Java其实是一个完整的技术平台。
在开发过程中吸取的教训也很多,就是在对某些方法掌握的不是很清楚的情况下,乱用一些方法,导致产生一些严重的错误。
还有就是每次开发一段时间之后,都会备份一下完整的代码,以防电脑出现故障导致代码丢失,或者是代码修改之后无法复原等等。
总体而言,这次的项目开发收获还是巨大的。