程序设计说明书
- 1.1编写目的
- 1.2背景
- 1.3定义
- 3.1程序描述
- 3.2整体结构
- 3.3性能
- 3.4输入输出项
- 3.5算法
- 3.6主要类的设计
- 3.7存储分配
- 3.8注释
- 3.9限制条件
- 3.10测试计划
- 3.11尚未解决的问题
- 4.1 程序描述
- 4.2 功能
- 4.3 性能
- 4.4 输入输出项
- 4.5 限制条件
- 5 设计特点
- 5.1 通信便捷
- 5.2 开发速度快
第六部分、项目分工
附录
1.1编写目的
此说明书在概要设计的基础上,对医院综合管理系统的各个模块,程序分别进行了实现层面上的要求和说明。在以下的详细设计报告中将对在本阶段中队系统所做的所有详细设计进行说明
在本阶段中,确定应该如何具体的实现所要求的系统,以便在编码阶段可以吧这个描述直接翻译成用具体程序语言书写的程序。
主要工作包括:根据软件需求说明书所描述的数据,功能,运行,性能,需求,并依照概要设计说明书所确定的处理流程、总体设计、模块外部设计、设计软件系统的结构设计,逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等)
软件开发小组的产品实现成员 应该阅读和参考此说明书,从而进行代码的编写,测试
1.2背景
说明:
A、 软件系统的名称:中大型医院综合管理系统
B、 用户:中大型医院相关的员工、需求分析员、系统设计人员
C、 实现完成的系统将用在大型的服务器上,而作为子模块则有部门承担,即每个部门配置PC
1.3定义
服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。两端通过protocol(协议类)进行通信。
Gson:Google提供的一个类库。通过使用这个类库,可以把把对象转换成json格式的字符串,以方便在网络中的传输。也可反向将字符串转换成对象,这样带有方法地操作对象,可以有效,方便地保证信息的沟通。
Json:JavaScript Object Notation,是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于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注释
在代码的适当出有中文代码注释。
注释设计请参考《Visual Basic 可视化程序设计》的附录部分。
3.9限制条件
所有用户的权限都经过严格设置,不能进行权限外的操作。用户组分为三组:管理员,用户和游客。
3.10测试计划
测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试用例说明。
3.11尚未解决的问题
在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。可以通过在文件名中加入文档类型来解决。但因时间关系,尚未解决。
第四部分、其它附加功能及帮助系统
4.1 程序描述
本程序设计是客户机和服务器机通过C/S模式,建立连接。在此基础上,进行信息的共享,发布等功能。系统的目的是为了方便用户的沟通。
4.2 功能
主要功能就是给用户带来信息的沟通,交流的便捷。
4.3 性能
灵活性:响应鼠标操作和键盘操作。
时间性:视网络响应速度而定。
4.4 输入输出项
从键盘,鼠标按提示输入。
依服务器响应从界面输出响应信息。
4.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[]中