java聊天室详细设计文档.doc_第1页
java聊天室详细设计文档.doc_第2页
java聊天室详细设计文档.doc_第3页
java聊天室详细设计文档.doc_第4页
java聊天室详细设计文档.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录第一部分 项目概况1.项目说明.42.项目背景.4第二部分 项目计划1.项目目标 42.项目范围 43.项目策略 44.项目开发周期 45.每项任务所需技能 . .56.所采用的工具和技术清单.5第三部分项目设计1需求分析.52软件功能.53概要设计.64详细设计.6第四部分 项目测试1.测试阶段2程序界面.73程序运行的条件4参考的资料第五部分 活动总结第一部分 项目概况1.项目说明项目名称:JAVA聊天室系统。客户:一般大众。2、项目背景软件学院两年多的办学历程中,采用了印度NIIT的先进教学法,学生从中极大地提高了专业知识能力,对于学生的动手能力也得到了明显的提高。为了进一步地考察学生的专业知识能力,让其能够明确自我专业知识水平,提高学习的兴趣,弄清专业发展方向,为以后的就业打好基础,现特向我院领导申请举办软件学院首届“软件科技月”活动。本次活动面向全校计算机爱好者,并且与成都多所高校及IT企业联合开展系列活动。活动以软件学院学生为主体对象,主张“接触IT企业,明确专业方向,苦修专业知识”。第二部分 项目计划1.项目目标(1),允许新用户注册,同时开设帐户。(2),允许用户进行在线的公聊和私聊。(3),可以创建留言版面并且留言。(4),允许用户创建私人包间、查找包间并且在包间内聊天。(5),可通过帐户ID号对用户资料进行查询。(6),友好的欢迎界面并显示上次登陆时间。2.项目范围本软件适用于一般大众。3.项目策略通过可视化编程的JAVA程序和SQL数据库的方式进行实现。通过增量开发的方法进行此项目的设计与开发。使用套节字进行客户与服务端的通讯。4项目开发周期第一周需求分析及初步设计阶段(决定每个功能所需的类及数据类型)第二周根据相应功能设计出各类所用到的方法及数据类型第三周具体实现各个类中的各个方法第四周对各个界面和服务器进行调整及测试完善工作5.每项任务所需技能数据库建立:熟练的SQL数据库编程。服务端与客户端的连接:熟悉网络编程中的协议及数据流程序界面设计:可视化编程技能。代码实现:JAVA与数据库编程。6.所采用的工具开发工具:Microsoft JAVALE(jdk1.3)+ Microsoft SQL Server开发环境:windows2000+个人电脑第三部分项目设计1.需求分析随着经济的日益发展,网络的观念深入人心。人们越来越需要通过网络高效简捷的交流,聊天室就是其中的一个工具。2.软件主要功能(1),允许新用户注册,同时开设帐户。(2),允许用户进行在线的公聊和私聊。(3),可以创建留言版面并且留言。(4),允许用户创建私人包间、查找包间并且在包间内聊天。(5),可通过帐户ID号对用户资料进行查询。(6),友好的欢迎界面并显示上次登陆时间。程序中要用到的类1、客户端BaojianNew创建包间BaoJianFind查找包间加入包间BaoJianEnter进入包间BaoJianQu包间区聊天NewPanel界面背景图处理PrivateMessage私聊功能UserFind查找用户功能Register注册功能EnterGUI登陆功能ChatRoom公共聊天功能LiuYan留言板SocketConstants接口(包含服务端IP地址,以及自定义端口号#6655)2、服务端Server处理聊天内容三、设计细节与构造(一)编写服务端程序()问题陈述需要在中开发一个中间层服务器应用程序,其功能如下:a.接受用户注册信息并保存在一个表中(需连接数据库)b.执行用户的设定的查找功能c.能够允许注册过的用户登陆聊天界面并可以聊天d.能够接受私聊信息并发送给特定的用户e.能够接受用户创建的包间信息并保存到一张表中BaoJianf.能够允许用户查找,登陆,加入包间并进行聊天g.能够接受用户的留言,并保存到以用户名为文件名的文件内h.服务器运行在自定义的端口上1001()计划解答a.选择创建网络服务器应用程序所需引用的类和方法。b、确定用户自定义的类、他们的目的、方法。c、确定用户自定义的类中的数据类型和变量。d、确定服务器的IP地址和端口号。e、确定何时连接到数据库中。f、确定查询参数。g、确定要处理的例外。h、确定例外的出错信息。任务a.选择创建网络服务器应用程序所需引用的类和方法。任务解答来源结果选择创建网络服务器应用程序所需引用的类和方法。类方法Serversocketaccept ()ThreadStart(),run()SocketgetInputStream(),getOutputstream()ObjectInputStreamreadObject()ObjectOutputStreamwriteObject()BufferedReaderreadLine()VectoraddElement(),removeElement()任务b、确定用户自定义的类、他们的目的、方法。任务解答来源结果确定用户自定义的类、他们的目的、方法。类目的方法Serversocket监听客户请求run(), ServerSocket()Connect处理客户端的各种操作Connect(),enter(),register(),find()send(),enter(),time()Members保留申请人信息BaoJian保留包间信息Applicant保留留言信息任务c、确定用户自定义的类中的数据类型和变量。任务解答来源结果确定用户自定义的类中的数据类型和变量。类数据类型变量ServersocketServerSocketSocketThreadServerFromClientserverThreadConnectMembersObjectInputStreamObjectOutputStreamPrintStreamBufferedReaderStringStringBufferVectorVectorVectorVectorResultdataObjInstreamFromClientoutinuservmessagevprivate,vprivatemessagevbaojian,vbaojianmessagevbaojianClientvpeopleresult2MembersStringStringStringStringStringStringStringStringmemberID;memberName;memberPassword;memberSex;memberAddress;memberPosition;memberAge;memberInterest;BaoJianStringStringStringBaoJianIDBaoJianName;BaoJianMiaoShu;ApplicantStringutxt任务d、确定服务器的IP地址和端口号。任务解答来源结果确定服务器的IP地址和端口号。地址:本机IP地址端口:1001任务e、确定何时连接到数据库中。任务解答来源结果确定何时连接到数据库中。()当用户注册时,插入注册信息()当用户登陆时,检验是否存在()当用户查找时,选出有关信息()当用户创建,查找,加入,进入包间时任务f、确定查询参数。任务解答来源结果确定查询参数。vMemberPassword,vMemberName,vBaoJianID任务g、确定要处理的例外。任务解答来源结果确定要处理的例外。例外发生场合ExceptionIOExceptionInvalidClassExceptionNotSerializableException创建Thread对象时,当调用accept()方法时,当调用getInputStream()以及getOutputStream()方法时,当调用writeObject(),println (),readLine()方法时当连接数据库时当调用readObject()方法时当调用readObject()方法时当调用readObject()方法时任务h、确定例外的出错信息。任务解答来源结果确定例外的出错信息。例外出错信息ExceptionIOExceptionInvalidClassExceptionNotSerializableExceptionCannot start the Threadnot listen to the clientthe wrong is this :+ethe wrong is here :+ethe wrong is here:+ethe wrong is here3 :+ethe wrong . :+ecannot read from client :+ecannot write the vmessage+ecannot serialize Members class+eObject is not serializable+e()实施解答a.编写服务器程序b.保存程序c.编译程序d.运行程序()验证解答:在创建好客户端后进行验证(二)编写客户端程序、编写注册界面程序()问题陈述:编写一个客户端程序将用户注册的信息发送给服务端()计划解答a.选择创建该程序所需要引用的类和方法b.确定用户自定义的包、类、它们的目的及方法c.确定用户定义类中的数据类型和变量d.确定建立连接时服务器的地址和端口号e.确定提交到服务器上的数据f.确定何时提交数据g.确定要处理的例外h.确定例外的出错信息任务a.选择创建该程序所需要引用的类和方法任务解答来源结果选择创建该程序所需要引用的类和方法类方法SocketObjectOutputStreamPrintStreamBufferedReaderObjectInputStreamPrintStream out=null;BufferedReader in=null;ObjectInputStream objIn;ObjectOutputStream objOut=nPrintStream out=null;BufferedReader in=null;ObjectInputStream objIn;ObjectOutputStream objOut=nPrintStream out=nuBufferedReadergetOutputStream()writeObject()println();readLine();readObject();任务b.确定用户自定义的包、类、它们的目的及方法任务解答来源结果.确定用户自定义的包、类、它们的目的及方法类目的方法Members保留申请人信息Register实现界面及功能openRegister()main()register()actionPerformed()任务c.确定用户定义类中的数据类型和变量任务解答来源结果确定用户定义类中的数据类型和变量类数据类型变量MembersStringStringStringStringStringStringStringStringmemberID;memberName;memberPassword;memberSex;memberAddress;memberPosition;memberAge;memberInterest;RegisterSocketObjectOutputStream以及其中的许多空控件ClientSocketobjOut任务d.确定建立连接时服务器的地址和端口号任务解答来源结果d.确定建立连接时服务器的地址和端口号地址:本机IP地址端口号:1001任务e.确定提交到服务器上的数据任务解答来源结果e.确定提交到服务器上的数据Members类中的一个对象任务f.确定何时提交数据任务解答来源结果确定何时提交数据点击buttonHandIn按钮时任务g.确定要处理的例外任务解答来源结果.确定要处理的例外例外发生场合InvalidClassExceptionNotSerializableExceptionIOException当调用writeObject()方法时当调用writeObject()方法时当调用writeObject()方法时任务h.确定例外的出错信息任务解答来源结果确定例外的出错信息例外出错信息InvalidClassExceptionNotSerializableExceptionIOExceptionThe RegisterApply class is invalid :+e1The object is not serializable :+e2Cannot write to the server :+e3()实施解答()验证解答、编写查找界面程序()问题陈述编写一个查找界面的程序,将信息显示在文本框内()计划解答(略)()实施解答a.编写注册界面程序b.保存程序c.编译程序d.运行程序()验证解答:输入一个已经注册的执行后看有关信息是否显示;输入一个没有注册的执行后看其效果;、编写登陆界面程序()问题陈述()计划解答(略)a.选择创建该程序所需要引用的类和方法b.确定用户自定义的包、类、它们的目的及方法c.确定用户定义类中的数据类型和变量d.确定建立连接时服务器的地址和端口号e.确定提交到服务器上的数据f.确定何时提交数据g.确定要处理的例外h.确定例外的出错信息()实施解答a.编写注册界面程序b.保存程序c.编译程序d.运行程序()验证解答4、编写聊天界面程序()问题陈述()计划解答a.选择创建该程序所需要引用的类和方法b.确定用户自定义的包、类、它们的目的及方法c.确定用户定义类中的数据类型和变量d.确定建立连接时服务器的地址和端口号e.确定提交到服务器上的数据f.确定何时提交数据g.确定要处理的例外h.确定例外的出错信息任务a.选择创建该程序所需要引用的类和方法任务解答来源结果选择创建该程序所需要引用的类和方法类方法hreadSocketPrintStreamBufferedReaderObjectInputStreamObjectOutputStreamVectorTimerrun()getInputStream(),get.println()readLine();readObject();writeObject()elementAt(),size().start(),actionPerformed任务b.确定用户自定义的包、类、它们的目的及方法任务解答来源结果确定用户自定义的包、类、它们的目的及方法包类目的方法ChartingRoom.RoomRoomTimeAction处理消息的发送定时地接受消息并显示在文本区内main()OpenRoom()actionPerformed()run()actionPerformed()任务c.确定用户定义类中的数据类型和变量任务解答来源结果确定用户定义类中的数据类型和变量数据类型变量SocketPrintStreamBufferedReaderObjectInputStreamVectorStringIntclientSocket,time clientSocketout, timeoutin, timein;objIn,timeobjIn;vmessage,vpeoplesDate,sTime,sStatus;countmessage,countpeople任务d.确定建立连接时服务器的地址和端口号任务解答来源结果确定建立连接时服务器的地址和端口号地址:本机IP地址端口号:任务e.确定提交到服务器上的数据任务解答来源结果确定提交到服务器上的数据发送区内地消息任务f.确定何时提交数据任务解答来源结果确定何时提交数据当点击按钮”send”任务g.确定要处理的例外任务解答来源结果确定要处理的例外例外发生场合InvalidClassExceptionNotSerializableExceptionIOExceptionExceptionInterruptedException接受消息时接受消息时接受消息时Timer启动时时间线程启动时任务h.确定例外的出错信息任务解答来源结果确定例外的出错信息InvalidClassExceptionNotSerializableExceptionIOExceptionExceptionInterruptedExceptionThe RegisterApply class is invalid :+eThe object is not serializable :+eCannot write to the server :+eTimer has wrong + e6Timerprintln(e)()实施解答a.编写注册界面程序b.保存程序c.编译程序d.运行程序()验证解答5.编写登陆界面程序( 1 )问题陈述()计划解答(略)a.选择创建该程序所需要引用的类和方法b.确定用户自定义的包、类、它们的目的及方法c.确定用户定义类中的数据类型和变量d.确定建立连接时服务器的地址和端口号e.确定提交到服务器上的数据f.确定何时提交数据g.确定要处理的例外h.确定例外的出错信息()实施解答a.编写包间界面程序b.保存程序c.编译程序d.运行程序6编写创建包间界面程序( 1 )问题陈述()计划解答(略)a.选择创建该程序所需要引用的类和方法b.确定用户自定义的包、类、它们的目的及方法c.确定用户定义类中的数据类型和变量d.确定建立连接时服务器的地址和端口号e.确定提交到服务器上的数据f.确定何时提交数据g.确定要处理的例外h.确定例外的出错信息()实施解答a.编写注册界面程序b.保存程序c.编译程序d.运行程序7.编写查找包间界面程序i.问题陈述()计划解答(略)a.选择创建该程序所需要引用的类和方法b.确定用户自定义的包、类、它们的目的及方法c.确定用户定义类中的数据类型和变量d.确定建立连接时服务器的地址和端口号e.确定提交到服务器上的数据f.确定何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论