Java程序设计模块设计报告.docx
《Java程序设计模块设计报告.docx》由会员分享,可在线阅读,更多相关《Java程序设计模块设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
Java程序设计模块设计报告
机构图标
{项目名称}
模块设计报告
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
Company-Project-SD-MODULE
当前版本:
X.Y
作者:
完成日期:
Year-Month-Day
机构公开信息
版本历史
版本/状态
作者
参与者
起止日期
备注
目录
0.文档介绍4
0.1文档目的4
0.2文档范围4
0.3读者对象4
0.4参考文献4
0.5术语与缩写解释4
1.模块命名规则5
2.模块汇总5
2.1模块汇总表5
2.2模块关系图5
3.子系统A的模块设计6
3.n模块A-n6
4.子系统B的模块设计6
4.n模块B-n6
5.其他6
0.文档介绍
0.1文档目的
作为企业即时通软件设计文档的重要组成部分,本文档主要对该软件各个模块以及模块与模块之间的关系进行了详细描述,并对相关内容做出了统一的规定。
0.2文档范围
本文档包含以下几个部分:
0.文档介绍
1.模块命名规则
2.模块汇总
3.其它
0.3读者对象
本文档的主要读者包括:
1.本系统的设计人员:
包括模块设计人员
2.本系统的系统开发人员:
编码人员。
3.本系统的测试人员
0.4参考文献
提示:
列出本文档的所有参考文献(可以是非正式出版物),格式如下:
[标识符]作者,文献名称,出版单位(或归属单位),日期
例如:
[AAA]作者,《立项建议书》,机构名称,日期
[SPP-PROC-SD]SEPG,系统设计规范,机构名称,日期
0.5术语与缩写解释
缩写、术语
解释
SPP
精简并行过程,SimplifiedParallelProcess
SD
系统设计,SystemDesign
…
1.模块命名规则
1.1类和接口
1)类和接口名均采用名词,首字母大写,其他单词首字母大写。
例如:
BufferedStreamReader,缩写词必须全部大写。
例如:
TargetURL。
1.2包
1)所有包名只能用小写字母。
尽量别使包名长度超过8个字符,避免使用多个词作为包名;
2)顶级包名采用开发者所在机构的域名的逆序,若没有域名,可采用公司英文名称;
例如:
com.sun.jdbc、org.jboss
3)非顶级包名采用名词,或名词的缩写。
2.模块汇总
2.1模块汇总表
用户界面(客户端)
模块名称
功能简述
LoginJFrame
LoginJFrame类为用户提供登录界面。
MainJFrame
MainJFrame类为客户端主窗体界面。
ChatJFrame
ChatJFrame类为用户提供发送、显示聊天消息的操作界面。
ChatRecordJFrame
ChatRecordJFrame类为用户提供导出聊天记录、清除聊天记录的操作界面。
UpdateInfoJFrame
UpdateInfoJFrame类为用户提供更新用户信息的操作界面。
UserInfoJFrame
UserInfoJFrame类为用户提供查看在线用户信息的界面。
ClientReceiveThread
ClientReceiveThread类负责接收服务器端转发的消息。
表1-1表示层(客户端)模块汇总表
用户界面(服务器端)
模块名称
功能简述
MainJFrame
MainJFrame类为用户提供服务器端的主窗体界面。
CorperationJFrame
CorperationJFrame类为用户提供更新公司信息的操作界面。
DepartmentJFrame
DepartmentJFrame类为用户提供增加、删除、修改、显示部门信息的操作界面。
UserInfoJFrame
UserInfoJFrame类为用户提供增加、删除、修改、显示用户的操作界面。
DepartmentAddFrm
DepartmentAddJFrame类为用户提供增加部门的操作界面。
UserInfoAddJFrame
UserInfoAddJFrame类为用户提供增加用户的操作界面。
ServerListenThread
ServerListenThread类负责侦听客户端的连接请求
ServerReceiveThread
ServerReceiveThread类负责接收、转发客户端的消息。
表1-2表示层(服务器端)模块汇总表
自定义界面
模块名称
功能简述
AboutPanel
AboutPanel类定义了“关于”面板上图像的布局方式
InfoPanel
InfoPanel类定义了“信息”面板上图像与程序信息的布局方式
HelpDailog
HelpDailog类为自定义对话框,作为AboutPane和InfoPanel的容器
PicPanel
PicPanel类为自定义图像框,作为图像显示的容器
表1-3自定义界面模块汇总表
业务规则类
模块名称
功能简述
CorperationBL
CorperationBL类用于处理与公司相关的业务操作,例如查询或更新公司信息。
继承自DbUtils类
DepartmentBL
Department类负责处理与部门相关的业务操作,例如部门信息的增、删、改。
继承自DbUtils类
UserInfoBL
UserInfoBL类负责处理与用户相关的业务操作,例如用户信息的增、删、改。
继承自DbUtils类
DeptsUsersBL
DeptssUsersBL类负责处理与部门用户信息相关的业务规则。
表1-4业务规则模块汇总表
数据实体类
模块名称
功能简述
Corperation
Corperation类定义公司对象,包含了访问公司属性的方法。
Department
Department类定义部门对象,包括部门的编号、名称、描述等属性,其中包括访问这些属性的方法。
UserInfo
UserInfo类定义用户对象,包括用户的基本属性和访问这些信息的方法。
OnlineUser
OnLineUser类定义在线用户对象,该类继承自UserInfo,它不仅包括用户的基本属性,而且加入了一些与网络通信相关的属性。
它也包含访问这些属性的方法。
表1-5数据实体汇总表
工具类
模块名称
功能简述
ConstantValues
ConstantValues类中定义了程序中常用的符号与数字常量。
DbUtils类
DbUtils类定义了访问数据库的常用方法。
CommonUtils类
CommonUtils类定义了和字符串、日期、文件、Swing界面开发相关的常用方法。
PropConfig类
PropConfig类定义了与资源文件操作相关的属性与方法。
表1-6工具类汇总表
2.2模块关系图
2.2.1包关系
1.表示层(客户端)如下图(图2-3)所示:
图2-3客户端表示层
2.表示层(服务器端)如下图(图2-4)所示:
图2-4服务器端表示层
3.自定义界面(图2-5)所示:
图2-5自定义界面类
4.业务规则类如下图(图2-6)所示:
图2-6业务规则类
5.数据实体类如下图(图2-7)所示:
图2-7数据实体类
6.工具类如下图(图2-8)所示:
图2-8工具类
7.图像资源和资源文件
图像资源主要包含程序中用到的图像文件,本项目中使用的图像文件格式均为gif格式。
2.2.2表示层模块设计
2.2.2.1客户端表示层
模块1:
LoginJFrame如下表:
模块名称
LoginJFrame
功能描述
LoginJFrame为用户提供登录界面,用户输入帐号、密码、服务器IP和服务器端口号进行登录。
接口与属性
函数名
访问性
返回值
参数
功能
verifiedInput
私有
有
无
客户端验证
数据结构
无
补充说明
无
表2-10LoginJFrame类
模块2:
MainJFrame
模块名称
MainJFrame
功能描述
MainJFrame为用户提供基本客户端操作界面,用户登录成功后显示该窗体,该窗体侦听服务器发送的信息,并做相应处理。
接口与属性
函数名
访问性
返回值
参数
功能
refreshInterface
私有
无
无
刷新界面
addChildTree
公有
无
有
添加子结点
openNewChatJFrame
公有
无
有
打开聊天窗体
checkAccount
私有
布尔值
有
检查有效用户
…
数据结构
无
补充说明
无
表2-11MainJFrame类
2.2.2.2服务器端表示层
模块1:
MainJFrame
模块名称
MainJFrame
功能描述
MainJFrame为用户提供基本操作界面,负责启动、停止服务、侦听客户端发送的消息并进行处理。
接口与属性
函数名
访问性
返回值
参数
功能
startServer
私有
无
无
启动服务
stopServer
私有
无
无
停止服务
getConfiguration
私有
无
无
显示服务器配置
initComponentsState
私有
无
有
初始化界面控件
…
数据结构
无
补充说明
无
表2-12MainJFrame类
模块2:
OnlineWatchJFrame
模块名称
OnlineWatchJFrame
功能描述
OnlineWatchJFrame为用户提供了显示在线用户详细信息的功能
接口与属性
函数名
访问性
返回值
参数
功能
refreshOnlineTable
私有
无
无
刷新在线人员界面
数据结构
无
补充说明
表2-13OnlineWatchJFrame类
2.2.3工具类模块设计
模块1:
DbUtils
模块名称
DbUtils
功能描述
DbUtils类提供了访问数据库数据的操作,该类被业务规则类继承。
接口与属性
函数名
访问性
返回值
参数
功能
connOpen
私有
无
无
打开数据库连接
connClose
私有
无
无
关闭数据库连接
prepstmtClose
私有
无
无
关闭Sql执行对象
resultsetClose
私有
无
无
关闭结果集对象
getSqlStatement
私有
无
无
得到替换sql语句
excuteQuery
私有
有
有
执行查询
excuteUpdate
私有
有
有
执行更新
query
受保护
有
有
查询
update
受保护
有
有
更新
closeALL
受保护
无
有
关闭所有数据库对象
closeALL
受保护
无
无
同上
数据结构
无
补充说明
无
表2-14DbUtils类
图2-9DbUtils类图
模块2:
PropConfig
模块名称
PropConfig
功能描述
PropConfig类提供了访问资源配置文件的常用操作。
接口与属性
函数名
访问性
返回值
参数
功能
initSocketConfig
私有
无
无
初始化Socket资源实体
initDbConfig
私有
无
无
初始化数据库资源实体
initMsgConfig
私有
无
无
初始化消息资源实体
initSqlConfig
私有
无
无
初始化Sql资源实体
getSocket_resource
公有
有
无
得到Socket资源实体
getDb_resource
公有
有
无
得到Db资源实体
getMsg_resource
公有
有
无
得到消息资源实体
getSql_resource
公有
有
无
得到Sql资源实体
getComplexMsg
公有
有
有
取得复合消息
数据结构
无
补充说明
无
表2-15PropUtils模块
图2-10PropConfig类图
模块3:
CommonUtils
模块名称
CommonUtils
功能描述
CommonUtils类提供了一些公用方法,包括Swing开发相关方法、文件操作相关方法、日期操作相关方法、字符串操作相关方法、与网络操作相关方法,这里只列举一部分
接口与属性
函数名
访问性
返回值
参数
功能
getScreenHeight
私有
有
无
取得屏幕高度
getScreeWidth
私有
有
无
取得屏幕宽度
setScreenCenter
公有
无
有
将组件位置设置在屏幕中心
setScreenRight
公有
无
有
将组件位置设置在屏幕右上角
getCurrentTime
公有
有
无
得到当前机器时间
writeToFile
公有
无
有
写文件操作
getContentFromFile
公有
有
有
从文件中读取内容
checkNumsLetters
公有
有
有
检查字符串是否包含特殊字符
checkNums
公有
有
有
检查字符串是否只包含数字
checkLetters
公有
有
有
检查字符串是否只包含字母
getServerIP
公有
有
有
取得服务器端IP地址
getServerPort
公有
有
有
取得服务器端口号
…
数据结构
无
补充说明
无
表2-16CommonUtils类
图2-11CommonUtils类图
限于篇幅,表2-16中只列出了大部分的方法,其它方法的使用请参照本案例的《模块设计文档》。
2.2.4数据实体模块设计
模块1:
Corperation
模块名称
Corperation
功能描述
Corperation类用于保存公司信息。
此类提供了访问公司属性的方法。
接口与属性
提供了访问公司属性的get/set方法
数据结构
无
补充说明
无
表2-17Corperation类
图2-12Corperation类图
模块2:
Department
模块名称
Departement
功能描述
Department类用于保存部门信息,此类提供了访问部门属性的方法。
接口与属性
提供了访问部门属性的get/set方法
数据结构
无
补充说明
无
表2-18Department类
图2-13Department类图
模块3:
UserInfo
模块名称
UserInfo
功能描述
UserInfo类用于保存用户信息,此类提供了访问用户属性信息的方法。
接口与属性
提供了访问用户属性的get/set方法
数据结构
无
补充说明
无
表2-19UserInfo类
图2-14UserInfo类图
模块4:
OnlineUser
模块名称
OnlineUser
功能描述
OnLineUser类是用来保存在线用户信息的,此类继承UserInfo类,提供了访问在线用户属性的方法。
接口与属性
提供了访问在线用户属性的get/set方法
数据结构
无
补充说明
无
表2-20OnlineUser类
图2-15OlineUser类图
2.2.5业务逻辑模块设计
模块1:
CorperationBL
模块名称
CorperationBL
功能描述
CorperationBL类提供操纵公司信息数据的功能,此类继承了DbUtils类。
接口与属性
函数名
访问性
返回值
参数
功能
getCorperation
公有
有
有
取得公司信息实体
…
数据结构
无
补充说明
无
表2-21CorperationBL类
图2-16CorperationBL类图
模块2:
DepartmentBL
模块名称
DepartmentBL
功能描述
DepartmentBL类提供了操纵部门信息数据的功能,此类继承了DbUtils类。
接口与属性
函数名
访问性
返回值
参数
功能
getALLDepartment
公有
有
有
取得所有部门信息
…
数据结构
无
补充说明
无
表2-22DepartmentBL类
图2-17DepartmentBL类图
模块3:
UserInfoBL
模块名称
UserInfoBL
功能描述
UserInfoBL类提供了操纵用户、在线用户数据的功能,此类继承了DbUtils类
接口与属性
函数名
访问性
返回值
参数
功能
addUser
公有
有
有
向在线用户集合中加入用户
deleteUser
公有
无
无
从在线集合中删除一个用户
verifiedUser
公有
有
有
验证用户身份
getALLUserInfo
公有
有
无
取得所有用户信息
setUserOlineState
公有
无
有
设置用户在线状态
…
数据结构
无
补充说明
无
表2-23UserInfoBL类
图2-18UserInfoBL类图
模块4:
DeptsUsersBL
模块名称
DeptsUsersBL
功能描述
DeptsUsers类提供了获取部门信息字符串的相关方法
接口与属性
函数名
访问性
返回值
参数
功能
getALLDeptsOnlineUsersInfo
公有
有
有
获取所有在线部门用户详细信息
getALLDeptsOnlineUsersString
私有
有
有
获取部门信息字符串
…
数据结构
无
补充说明
无
表2-24DeptsUsersBL类
图2-19DeptsUsersBL类图
3.其它