1、 信息发布系统详细设计文档信息发布系统(详细设计说明书)编写单位: JAVA 实践小学期第 22 组设计人员:版 本: 1.0编写日期: 2010/9/5信息发布系统详细设计文档2目录第一部分、引言 .31.1 编写目的 .31.2 背景 .31.3 定义 .3第二部分、程序系统的结构 .4第三部分、基本操作部分 .43.1 程序描述 .53.2 整体结构 .53.3 性能 .53.4 输入输出项 .63.5 算法 .63.6 主要类的设计 .63.7 存储分配 .73.8 注释 .73.9 限制条件 .83.10 测试计划 .83.11 尚未解决的问题 .8第四部分、其它附加功能及帮助系统
2、.84.1 程序描述 .84.2 功能 .84.3 性能 .84.4 输入输出项 .84.5 限制条件 .95 设计特点 .95.1 通信便捷 .95.2 开发速度快 .9第六部分、项目分工 .9附录: .9信息发布系统详细设计文档3第一部分、引言1.1 编写目的本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了实现层面上的要求和说明。软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。1.2 背景说明:A、 软件系统的名称:信息发布系统B、 任务提出者:JAVA 实践小学期开发者:第 22 组成员C、 实现完成的系统将可用在所有 JAVA 虚拟机的个人 PC
3、上.为使用者提供信息发布,浏览,评论的方式,沟通各个用户.1.3 定义服务器端 API :服务器端设计者通过规范的 API 文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。两端通过 protocol(协议类)进行通信。Gson:Google 提供的一个类库。通过使用这个类库,可以把把对象转换成 json 格式的字符串,以方便在网络中的传输。也可反向将字符串转换成对象,这样带有方法地操作对象,可以有效,方便地保证信息的沟通。Json:JavaScript Object Notation,是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于 Ja
4、vaScript 的一个子集,JSON 采用完全独立于语言的文本格式,这些特性使得 JSON 成为理想的数据交换语言。1.4 参考资料,相关的文件包括:A、 项目需求说明 ;B、 项目详细设计说明书 ;C、 项目概要设计说明书 ;参考资料:软件工程概论 ,王华信息发布系统详细设计文档4第二部分、程序系统的结构该系统为了两大部分:客户端与服务器端,中间通过 protocol 类通信。其中使用 gson 库来转换和逆向转换对象,实现标准包括:1、客户端主程序A、工程类型:JAVA 项目;B、工程名称:信息发布系统C、编译生成文件:jar 形式D、引用的组件:JDK,Gson 库注:以上提供的是工具
5、集合,具体用到的类都包含在里面2、服务器端主程序:服务器端程序以及数据库操作类(DBO)3、服务器端数据库操作验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回复记录) ,查看文档,删除文档,查看记录。第三部分、基本操作部分界面设计如下图:信息发布系统详细设计文档53.1 程序描述A、客户端窗体:尽量友好的设计,让用户尽可能地关注信息的内容主体。B、服务器端设计:该窗体在设计上尽量的符合人们的使用习惯,并且在出现非法操作的情况下,有相应的提示信息输出。3.2 整体结构系统的整体大致结构为下图:3.3 性能灵 活 性:窗口响应绝大部分的快捷菜单和控制面板操作;时间特性:
6、响应鼠标单击的时间在 23 秒之间;信息发布系统详细设计文档63.4 输入输出项输入的数据是户执行的各种操作,包括鼠标、键盘等操作。输出是从数据库中读取的数据,或错误警告信息。3.5 算法本部分没有采用自定义的算法。3.6 主要类的设计用户类数据库操作类(包括静态方法)信息发布系统详细设计文档73.7 存储分配本程序在高级语言 JAVA 进行编码,直接的内存分配由 JAVA 运行时分配。本组件内所依赖的变量、结构要求全部在组件元素内申明。3.8 注释在代码的适当出有中文代码注释。注释设计请参考Visual Basic 可视化程序设计的附录部分。信息发布系统详细设计文档83.9 限制条件所有用户
7、的权限都经过严格设置,不能进行权限外的操作。用户组分为三组:管理员,用户和游客。3.10 测试计划测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试用例说明。3.11 尚未解决的问题在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。可以通过在文件名中加入文档类型来解决。但因时间关系,尚未解决。第四部分、其它附加功能及帮助系统4.1 程序描述本程序设计是客户机和服务器机通过 C/S 模式,建立连接。在此基础上,进行信息的共享,发布等功能。系统的目的是为了方便用户的沟通。4.2 功能主要功能就是给用户带来信息的沟通,交流的便捷。4.3 性能灵活性:响应鼠标操作和键盘操
8、作。时间性:视网络响应速度而定。4.4 输入输出项从键盘,鼠标按提示输入。依服务器响应从界面输出响应信息。信息发布系统详细设计文档94.5 限制条件在界面上控制输入输出,服务器端如果出错也会返回出错信息。5 设计特点5.1 通信便捷本系统客户端与服务器端采用 JSON 格式作为信息载体,在开发中将信息作为对象,信息传递很便捷。5.2 开发速度快由于使用通信协议约定,所以只要客户端与服务器端约定好通信协议 API 文档,即可以进行通信。而且直接对对象操作,不存在类型转换的问题。这样可以使客户端与服务器端开发同时在 API 文档的约定下进行,提高开发效率。第六部分、项目分工王佳龙: 负责编写 GU
9、I 部分代码,以及客户端部分的所有代码戴清灏:编写服务器端代码,设计通信协议,以及对数据库的操作。负责编写详细设计文档。华从男:各方面知识全面,负责组织工作,在软件测试方面有一定的能力。在软件开发过程负责测试文档等文档的编写。 王玮柯:负责测试,组织工作。附录:服务器端操作 API 文档(最少需要的参数,如不全服务器会返回 type=“0”的信息):服务器和客户端之间的所有通信都封装在 protocol 对象中,通过对要发送的 protocol 对象进行set 和 get 操作就可以通信。验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回信息发布系统详细设计文档10复
10、记录) ,查看文档,删除文档,查看记录1.验证用户name,pass,LimitsOfAuthority返回:如验证通过则返回 type=“11”,不通过则返回 type=“12”2.用户注册name,pass,LimitsOfAuthority返回:如注册成功则返回 type=“21”,不成功则返回 type=“22”3.更改密码name,pass,newPass返回:如更改成功则返回 type=“31”,不成功则返回 type=“32”4.查看文档filename(可选,如为 “”则查询本类的所有文档,不带全部内容),filetype,replyAuthor( 可选,如果 filename
11、 不为 “”则必须)返回:如查看成功则返回则返回 type=“41”,不成功则返回 type=“42”;文档内容在 content 中,文档名列表在 filenames中,对应的文档摘要在 filesummaries中;回复内容在 recordContents中,对应的回复作者在 recordAuthors中5.建立新文档filename,filetype,content,author,filesummary返回:如果建立成功则返回 type=“51”,如不成功则返回 type=“52”6.修改文档filename,filetype,newFilename,newFiletype,filesummary返回:如果修改成功则返回 type=“61”,如不成功则返回 type=“62”7.建立新记录filename,filetype,recordContent,replyAuthor返回:如果建立成功则返回 type=“71”,如不成功则返回 type=“72”8.删除文档filename,filetype返回:如查询成功则返回 type=“81”,如不成功则返回 type=“82”9.查看浏览记录无返回:如查看成功则返回 type=“91”,如不成功则返回 type=“92”,返回的记录内容在recordContents中,对应的作者在 recordAuthors中