Java项目详细设计说明书
- 格式:doc
- 大小:93.50 KB
- 文档页数:8
编写:检查:审核:日期:/ / 批准:日期:/ /北京信息职业技术学院计算机工程系0822212 班第 5 开发小组北京信息职业技术学院Java软件项目开发课程目录目录 (1)1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3参考资料 (2)2程序系统的结构 (2)3客户端模块设计说明 (2)3.1程序描述 (2)3.2功能 (2)3.3设计方法 (3)3.3.1登录聊天室服务器 (3)3.3.2接收服务器应答消息,并进行处理 (3)3.3.3向聊天室服务器发送聊天内容转发请求 (3)3.3.4离开聊天室 (4)3.4流程逻辑 (4)4服务器模块设计说明 (5)4.1程序描述 (5)4.2功能 (5)4.3设计方法 (5)4.3.1启动服务器的聊天服务 (5)4.3.2接收并处理客户端请求 (5)4.3.3处理用户离开情况 (6)4.3.4将管理员指定用户从聊天室中踢开 (6)4.4流程逻辑 (7)1 引言1.1 编写目的本文档是为了初步明细项目功能模块,便于下一步代码实现。
预期读者:参加网络聊天室开发的学生1.2 背景1. 项目名称:网络聊天室2. 提出者:Java游戏开发课程组1.3 参考资料1.耿祥义张跃平编.《Java 2实训教程》.北京:清华大学出版社,2001.102.邵丽萍邵光亚等编著.《Java语言程序设计》.北京:清华大学出版社,2004.8 3.需求说明书4.概要设计说明书2 程序系统的结构图2-1系统模块结构图3 客户端模块设计说明3.1 程序描述客户端模块为用户提供聊天室操作界面,用户通过客户端可以发送消息给全部或指定的其他用户,可以看到聊天内容,可以看到聊天室内有哪些用户在线。
3.2 功能输入:用户操作处理:①登录聊天室服务器;②根据聊天要求构造请求消息,并向服务器发送;③解析服务器的应答消息,并进行相应处理。
输出:提示消息、聊天内容和聊天对象3.3 设计方法3.3.1 登录聊天室服务器输入:无①等待用户输入用户昵称和性别;②判断输入合法性;③通过Socket连接向服务器发送请求消息,格式为:”PEOPLE”+用户昵称+“[性别]”。
班主任管理系统详细设计说明书1.引言计算机作为一种先进的信息传输媒体,有着信息传送速度快、信息覆盖面广、成本低的特点。
因此很多企业、教育业开始利用计算机进行有效率的管理信息,我们可以看到,可以有效的提高学校的管理效率,增加新的管理手段等。
“在线校园管理系统”是一种典型的教育OA应用,它是即时管理信息的产物,代表了未来教育业的走向。
此次对教育管理系统的研究,可以为以后完整的校内在线管理系统开发积累大量的经验。
同时,系统本身也可作为一个实用系统投入运行。
1.1编写目的软件设计是把软件需求变换成为软件的具体设计方案,即模块结构的过程。
软件设计一般分为总体设计和详细设计两个阶段。
总体设计阶段根据软件需求分析所得到的数据流程或数据结构,使用结构化设计技术,导出软件的模块结构。
详细设计阶段是给出软件模块的内部过程描述。
内部过程描述是模块内部的算法设计。
该文档是直接给软件开发人员看的。
本产品的预期读者学校教师、中间用户(指软件的管理人员、开发人员、测试人员、维护人员)、最终用户。
1.2背景a.工程的名称:班主任管理系统。
b.工程组织者:大红鹰职业技术学院软件学院毕业设计小组c.产品用户:校方、教师d.产品设计者:大红鹰职业技术学院软件学院毕业设计小组1.3参考资料《软件工程》---- 郑人杰、殷人昆、陶永雷编著清华大学出版社《JSP使用教程》 ------清华大学出版社《精通struts》----孙卫琴电子工作出版社2.总体设计2.1需求规定2.1.1系统功能本系统要处理的功能为详细记录班主任所使用到的班级及学生的信息情况.对学生信息作一定的统计处理2.1.2系统性能本系统要求能适应一天中的长时间工作,不允许发生软件事故性中断。
2.1.2.1时间特性要求要求能实时地处理输入输出请求和进行数据统计2.1.2.2可靠性本系统要有良好的可靠性,对关键数据的处理采取校验以保证操作结果的准确性。
2.1.3输入输出要求本系统要求输入符合一定的格式,输出将按照格式输出,简单明了。
Java EE 项目开发实训设计说明书姓名:佟乃坤学号: 20091130126班级: 09 软件指导教师:李红军完成日期: 2011-12-15设计要求目录一系统概述 (1)1.1开发背景 (1)1.2需求分析 (1)二系统设计 (3)2.1 系统框架设计 (3)2.2 主页面设计 (4)2.3数据库设计 (7)三系统部署运行 (9)3.1 Tomcat的安装调试 (9)3.2 系统部署运行 (9)四核心代码 (10)五总结 (12)六参考文献 (13)J2EE学生信息管理系统设计说明书一系统概述1.1开发背景当今世界,随着科学技术的不断提高,计算机科学日益成熟,其强大的功能已为人们所认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
随着计算机网络技术发展,Web数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。
学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作量大,内容杂且多,管理要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
同时学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,每年课程的变化都需要重新规划,选修的课程多种多样,耗费许多人力和物力,而且会因人的情绪烦燥而出现失误。
因此在计算机飞速发展的今天,应用数据库技术实现学生信息的管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高的效率。
实现高校学生信息网上管理,既能够提高工作效率,又可以提高工作水平。
JAVA项目详细计划书1. 项目背景在当前信息技术高速发展的时代,JAVA作为一种流行的编程语言,被广泛应用于各类软件开发项目中。
本项目旨在基于JAVA语言开发一个实用的应用程序,以满足用户的日常需求。
该应用程序将提供用户管理、任务管理和数据统计等功能,并具备良好的用户界面和用户体验。
2. 项目目标本项目的主要目标是开发一款简单易用、功能完善的JAVA应用程序,以提高用户的工作效率和生活品质。
具体目标包括:•实现用户管理功能,包括用户注册、登录、个人信息修改等。
•实现任务管理功能,包括任务发布、查看、修改和删除等。
•实现数据统计功能,对用户的任务完成情况进行统计和分析。
3. 项目计划本项目将分为以下几个阶段进行开发:3.1. 需求分析阶段在该阶段,团队将与项目业主进行沟通和讨论,明确项目需求和功能要求。
通过需求调研和用户分析,确立项目的关键功能和优先级。
3.2. 技术选型阶段在该阶段,团队将评估不同的JAVA开发框架和工具,并选择最适合本项目的技术方案。
评估标准包括技术成熟度、性能表现、可维护性等。
3.3. 系统设计阶段在该阶段,团队将对系统进行整体设计,包括数据库设计、模块设计和界面设计等。
通过详细的设计文档,明确各个模块的功能和交互方式。
3.4. 编码和单元测试阶段在该阶段,团队将根据设计文档进行编码实现,并进行单元测试,确保代码的质量和功能的正确性。
编码过程中,要严格遵守编码规范,并使用版本控制工具进行代码管理。
3.5. 集成测试阶段在该阶段,团队将完成各个模块的编码和单元测试后,进行整体的集成测试。
通过模拟真实环境,测试系统的功能和性能是否达到预期。
3.6. 系统上线和维护阶段在该阶段,团队将完成系统的上线工作,并进行线上运营和维护工作。
根据用户反馈和需求变动,及时对系统进行更新和优化。
4. 开发环境和工具本项目的开发环境和工具如下:•操作系统:Windows / Linux•开发工具:Eclipse / IntelliJ IDEA•版本控制工具:Git•JAVA开发框架:Spring / Spring Boot•数据库:MySQL / Oracle•前端开发:HTML、CSS、JavaScript5. 项目交付和验收标准本项目的交付物包括但不限于以下几个方面:•详细的需求文档,包括用例描述、流程图等。
一卡通管理程序说明详细设计说明书作者:唐庆龙完成日期:2009/10/7签收人:老师签收日期:2009/10/10修改情况记录:目录1 引言 (1)1.1 编写目的 (1)1.2 背景 (1)1.3 定义 (1)1.4 参考资料 (1)2 程序系统的结构 (1)3 程序1(标识符)设计说明 (2)3.1 程序描述 (2)3.2 功能 (2)3.3 性能 (2)3.4 输入项 (2)3.5 输出项 (2)3.6 算法 (3)3.7 流程逻辑 (3)3.8 接口 (3)3.9 存储分配 (3)3.10 注释设计 (3)3.11 限制条件 (3)3.12 测试计划 (3)3.13 尚未解决的问题 (4)4 程序2(标识符)设计说明 (4)1 引言1.1 编写目的说明编写这份详细设计说明书的目的,指出预期的读者范围。
1.2 背景说明:a.待开发的软件系统的名称;b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。
1.3 定义列出本文件中用到的专门术语的定义和缩写词的原词组。
1.4 参考资料列出要用到的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2 程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
3 程序1(标识符)设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
3.1 程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重入的还是不可重入的?有无覆盖要求?是顺序处理还是并发处理?.....等)。
1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (4)2程序系统的结构 (4)3程序1(标识符)设计说明 (5)3.1程序描述 (5)3.2功能 (5)3.3性能 (6)3.4输人项 (6)3.5输出项 (6)3.6算法 (6)3.7流程逻辑 (8)3.8接口 (9)3.9存储分配 (9)3.10注释设计 (9)3.11限制条件 (9)3.12测试计划 (9)3.13尚未解决的问题 (9)详细设计说明书1引言1.1编写目的简化软件、程序开发,为程序员软件开发节省大量时间。
1.2背景说明:a.系统名称:软件程序----------分页类;b.任务提出者:刘官升;c.开发者:巩远义;d.用户:适合所有程序开发人员;1.3定义类:处理分页的程序类Page类连接数据库查询数据类EntityHibernate类外文词组:result 数据集合start 本页数据在数据集中的起始位置pageSize 每页数据的记录数totalCount 总数据集合的记录数pageNo 页码currentPageNo 当前页码lastPageNo 尾页页码定义方法:/***hql查询分页返回list*@param pageNo 页码*@param pageSize 每页数据大小*@param totalCount 总数据数*@param hql*@return*/public List listHql(int pageNo,int pageSize,int totalCount,String hql)/***分页查询函数hql不带参数*@param hql*@param pageSize每页显示数据大小*@param totalCount总条数*@param pageNo页号*@return new Page(list,startIndex,totalCount,pageSize)*/public Page pageHql(String hql,int pageSize,int totalCount,int pageNo)/***hql分页查询*@param hql*@param pageNo当前页数*@param pageSize每页显示数据条数*@return new page*/public Page pageHql(int pageNo,int pageSize,String hql)/***分页查询函数,使用hql 返回Page**@param hql使用named query parameter as<tt>from Foo foo where *foo.bar=:bar</tt>.*Map param =new HashMap();*param.put(“bar”,“xxx”);*@param pageNo页号,从0开始.*@param pageSize页大小*@param param a java.util.Map*@return new Page(list,startIndex,totalCount,pageSize)*/public Page pagedHqlQuery(String hql, int pageNo, int pageSize, int totalCount, Map param)/***分页查询函数,使用sql*@param pageNo页号*@param pageSize页大小*@param totalCount总条数*@param sql*@return new Page(list,startIndex,totalCount,pageSize)*/public Page pagedSqlQuery(int pageNo,int pageSize,int totalCount,String sql)/***分页查询函数,使用hql**@param hql使用named query parameter as<tt>from Foo foo where foo.bar=:bar</tt>.*@param pageNo页号,从0开始.*@param pageSize页大小*@param param a java.util.Map*@return new Page(list,startIndex,totalCount,pageSize)*/public Page pagedHqlQuery(int pageNo, int pageSize, String hql,Map param)/***获取hql查询的总条数*@param hql查询hql语句*@return*@throws Exception*/public Integer getHqlCount(String hql)/***获取sql查询的总条数*@param sql查询sql语句*@return*@throws Exception*/public Integer getSqlCount(String sql)1.4参考资料a./project/Pager;b./p1222.html;c.JQuery_1.4_API.CHM;2程序系统的结构EntityHibernate.class引用包import java.util.List;import java.util.Map;import org.hibernate.Query;import org.hibernate.transform.Transformers;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; Page.class 引用包import java.io.Serializable;import java.util.ArrayList;import java.util.List;import ng.builder.ToStringBuilder;3程序1(标识符)设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
java项目代码设计文档Java项目代码设计文档一、引言在软件开发过程中,代码设计文档是非常重要的一部分,它用于记录项目的代码结构、功能模块划分、类的设计以及各个模块之间的关系等信息。
本文将以一个Java项目的代码设计文档为例,详细介绍如何编写一份规范整洁的代码设计文档。
二、项目概述本项目是一个基于Java的XXX系统,旨在实现XXX功能。
系统主要包括XXX、XXX、XXX等模块。
在项目开发过程中,我们遵循了面向对象的设计原则,采用了XXX框架,并且使用了XXX工具进行代码编写和管理。
三、代码结构1. 模块划分在本项目中,我们将功能划分为多个模块,每个模块负责不同的功能实现。
主要的模块包括:- 模块1:负责XXX功能的实现,包括XXX、XXX等类;- 模块2:负责XXX功能的实现,包括XXX、XXX等类;- 模块3:负责XXX功能的实现,包括XXX、XXX等类;...2. 包结构为了更好地组织代码,我们将各个模块的类放置在不同的包中。
包的结构如下:- com.example.module1:存放模块1相关的类;- com.example.module2:存放模块2相关的类;- com.example.module3:存放模块3相关的类;...四、类设计1. 类关系本项目中的类之间存在一定的关系,主要包括继承关系和关联关系。
具体的类关系如下:- 类A继承自类B;- 类C与类D存在关联关系;- 类E实现了接口F;...2. 类功能每个类都应该有明确的功能,我们在设计类时需要确保类的功能单一、职责明确。
以下是本项目中部分类的功能介绍:- 类A:负责处理XXX功能,包括XXX方法的实现;- 类B:提供XXX服务,包括XXX的处理逻辑;- 类C:封装XXX数据,提供对外的访问接口;...五、方法设计1. 方法命名规范为了代码的可读性和可维护性,我们在设计方法时需要遵循一定的命名规范。
以下是方法命名规范的一些示例:- getXXX:获取XXX属性的方法;- setXXX:设置XXX属性的方法;- processXXX:处理XXX功能的方法;...2. 方法注释为了方便代码的理解和维护,我们在每个方法前都应该添加注释,对方法的功能进行说明。
java详细设计说明书文档示例Java详细设计说明书文档示例一、引言Java详细设计说明书是软件开发中的重要文档之一,它在软件设计和开发过程中起到了指导和记录的作用。
本文档旨在详细描述Java 程序的设计思路、模块结构、类设计和方法实现等内容,为开发人员提供清晰明了的设计指导。
二、背景Java是一种跨平台的面向对象编程语言,具有简单易学、安全可靠和高效性的特点。
在软件开发领域,Java被广泛应用于Web应用、移动应用和企业级应用等多个领域。
为了确保Java程序的设计合理、结构清晰和代码可维护性,编写Java详细设计说明书是非常必要的。
三、设计目标本文档的设计目标如下:1. 描述Java程序的整体架构和模块划分,使开发人员能清晰理解程序结构。
2. 详细描述各个模块的功能和相互关系,确保程序的模块化和低耦合性。
3. 说明每个类的设计思路和功能,确保类的职责单一和高内聚性。
4. 提供方法级的设计说明,确保方法的输入输出和实现逻辑清晰明了。
5. 给出必要的代码示例和注释,方便开发人员理解和使用。
四、设计概述本Java程序是一个学生信息管理系统,主要包括学生信息的录入、查询、修改和删除等功能。
系统的整体架构采用三层架构(表现层、业务逻辑层和数据访问层),以实现功能模块的分离和重用。
1. 表现层表现层是用户与系统交互的界面,负责接收用户输入和显示系统输出。
在本程序中,我们使用Swing框架开发了一个简单的图形用户界面(GUI),包括菜单、输入框和按钮等组件。
2. 业务逻辑层业务逻辑层是程序的核心部分,负责处理用户请求和业务逻辑。
在本程序中,我们设计了以下几个业务模块:- 学生信息录入模块:负责接收用户输入的学生信息,对其进行验证和保存。
- 学生信息查询模块:负责根据用户提供的条件查询学生信息,并将结果返回给用户。
- 学生信息修改模块:负责根据用户提供的条件修改学生信息。
- 学生信息删除模块:负责根据用户提供的条件删除学生信息。
Java项目实训设计说明书姓名:学号:班级:指导教师:完成日期:目录第一章系统概述 (1)1.1功能介绍 (1)1.2开发技术 (1)第二章系统设计 (3)2.1 系统模块划分 (3)2.2 页面设计 (3)2.3 数据库设计 (3)参考文献 (10)学生成绩管理设计说明书第一章系统概述1.1功能介绍成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。
因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。
这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。
本系统分为了二个大模块,第一个大模块是学生权限的用户模块;第二个大模块是管理员权限的用户模块。
其中第一个大模块中又分为注册模块、登录模块、学生管理模块、课程管理模块以及成绩管理模块;第二个大模块中又分为了管理员登陆模块、学生管理模块、课程管理模块以及成绩管理模块。
在第一个大模块中,用户可以进行学生权限账号的注册、登录以及在学生管理、课程管理以及成绩管理三个模块中进行相关信息的查询。
在第二个大模块中,管理员权限的用户可以进行管理员登录,并且可以在学生管理、课程管理以及成绩管理三个模块中对信息进行增删改查。
1.2开发技术本系统运用的是Java和android技术,用到的开发工具有Eclipse、PS3、MySQL数据库等。
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
网络聊天室详细设计说明书
编写:日期:/ / 检查:日期: / / 审核:日期:/ / 批准:日期:/ /
北京信息职业技术学院
计算机工程系
0822212 班
第 5 开发小组
目录
目录 (1)
1引言 (2)
1.1编写目的 (2)
1.2背景 (2)
1.3参考资料 (2)
2程序系统的结构 (2)
3客户端模块设计说明 (2)
3.1程序描述 (2)
3.2功能 (2)
3.3设计方法 (3)
3.3.1登录聊天室服务器 (3)
3.3.2接收服务器应答消息,并进行处理 (3)
3.3.3向聊天室服务器发送聊天容转发请求 (3)
3.3.4离开聊天室 (4)
3.4流程逻辑 (4)
4服务器模块设计说明 (5)
4.1程序描述 (5)
4.2功能 (5)
4.3设计方法 (5)
4.3.1启动服务器的聊天服务 (5)
4.3.2接收并处理客户端请求 (5)
4.3.3处理用户离开情况 (6)
4.3.4将管理员指定用户从聊天室中踢开 (6)
4.4流程逻辑 (7)
1引言
1.1编写目的
本文档是为了初步明细项目功能模块,便于下一步代码实现。
预期读者:参加网络聊天室开发的学生
1.2背景
1.项目名称:网络聊天室
2.提出者:Java游戏开发课程组
1.3参考资料
1.耿祥义跃平编.《Java 2实训教程》.北京:清华大学,2001.10
2.邵丽萍邵光亚等编著.《Java语言程序设计》.北京:清华大学,2004.8
3.需求说明书
4.概要设计说明书
2程序系统的结构
图2-1系统模块结构图
3客户端模块设计说明
3.1程序描述
客户端模块为用户提供聊天室操作界面,用户通过客户端可以发送消息给全部或指定的其他用户,可以看到聊天容,可以看到聊天室有哪些用户在线。
3.2功能
输入:用户操作
处理:
①登录聊天室服务器;
②根据聊天要求构造请求消息,并向服务器发送;
③解析服务器的应答消息,并进行相应处理。
输出:提示消息、聊天容和聊天对象
3.3设计方法
3.3.1登录聊天室服务器
输入:无
①等待用户输入用户昵称和性别;
②判断输入合法性;
③通过Socket连接向服务器发送请求消息,格式为:”PEOPLE”+用户昵称+“[性别]”。
④等待服务器应答。
输出:登录请求消息
3.3.2接收服务器应答消息,并进行处理
输入:应答消息
处理:
①获取服务器应答消息;
②解析应答消息;
③根据应答消息类型进行处理,应答消息类型分为:
”PEOPLE”+用户昵称+“[性别]”:登陆请求通过,用户登陆;
“MSG”+用户昵称+“[性别]”+”说:”:聊天室其他客户的聊天消息;
“QUIT”+:退出聊天室;
“悄悄地对:”+消息:私密聊天;
“newlist”+用户昵称+“[性别]”:刷新聊天者列表
输出:无
3.3.3向聊天室服务器发送聊天容转发请求
输入:聊天容
处理:
①检查发送消息容是否为空;
②向聊天室服务器发送广播请求,格式为:“MSG”+用户昵称+“[性别]”+”说:”+消息
③如果用户选择私聊,根据用户选择的聊天对象向服务器发送私聊请求,进入私聊对话框,格式为:”悄悄地对”+私聊对象+”说”+消息+”(我是”+用户昵称+”)”。
输出:聊天容转发请求
3.3.4离开聊天室
输入:离开请求
处理:向服务器发送离开请求,格式为:”QUIT”
输出:无
3.4流程逻辑
图3-1 客户端处理流程图
4服务器模块设计说明
4.1程序描述
接收并处理客户端的登录请求,并根据客户端的聊天请求向指定客户端转发聊天容,同时提供聊天室用户管理和服务管理功能,该模块无界面。
4.2功能
输入:客户端请求消息
处理:
①启动服务器服务;
②等待接收客户端请求;
③根据客户端请求类型,做不同处理;
④将处理结果发送给客户端。
输出:发给客户端的应答消息
4.3设计方法
4.3.1启动服务器的聊天服务
输入:无
处理:
①设置服务器服务的Socket端口号;
②启动服务器服务进程;
输出:无
4.3.2接收并处理客户端请求
输入:无
处理:
①获取客户端发送的请求消息;
②解析请求消息;
③根据请求消息类型做不同的应答处理。
请求消息类型分为:
”PEOPLE”+用户昵称+“[性别]”:新用户登陆请求;
“MSG”+用户昵称+“[性别]”+”说:”:转发聊天室聊天消息;
“QUIT”+:退出聊天室;
”悄悄地对”+私聊对象+”说”+消息+”(我是”+用户昵称+”)”:向私密聊天对象转发聊天消息;
“newlist”:刷新聊天者列表
输出:无
4.3.3处理用户离开情况
输入:无
处理:
①在用户列表中删除离开用户;
②重新构造在线用户;
③向所有在线用户广播用户离开指令和在线用户。
输出:无
4.3.4将管理员指定用户从聊天室中踢开
输入:无
处理:
①判断用户聊天消息是否健康合法;
②如果不合法,向其他聊天者发送该用户被强制退出的消息。
输出:向其他聊天者发送该用户被强制退出的消息。
4.4流程逻辑
图4-2 服务器处理流程图。