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