软件详细设计模板示例Word文档格式.docx
《软件详细设计模板示例Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件详细设计模板示例Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
北京长江软件有限公司
[2]《软件详细设计报告格式标准》V1.1
北京长江软件有限公司软件工程过程化组织
1.4参考资料
[1]《实战struct》〔美〕Ted Husted
机械工业出版社
1.5版本更新信息
本文档版本更新记录如表C-1:
表C-1:
版本更新记录
修改编号
修改日期
修改后版本
修改位置
修改内容概述
000
2010-4-13
0.1
全部
初始发布版本
2系统设计概述
根据《软件系统》的概要设计,系统分为用户登录管理、帐号管理、帐号组权限管理、角色管理、日志查询、统计报表、平台管理、业务信息系统维护、个人信息维护等模块,他们的关系如图C-1,以下将分小节对各个部分分别进行详细设计。
图C-1:
模块设计图
3详细设计概述
由于本系统采用了基于Struts体系结构的设计,即采用MVC的三层设计模式,采用面向对象的JAVA语言以及JSP的脚本语言。
所以,基本采用面向对象的设计方法。
在整个的开发过程中,尽可能采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。
本文档的详细设计主要是按照Struts的MVC的三个层次分别描述视图层、控制层和模型层模块的伪代码。
为下一步的编码提供基础。
4登录管理模块
登录管理模块负责用户的登录。
系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-2所示。
表C-2:
登录管理的三层模块
视图
控制器
模型
login.jsp
main.jsp
LoginForm
LoginAction
DB.java
Constants.java
User.java
4.1视图层
根据上述的功能介绍,视图页面设计如表C-3所示。
表C-3:
登录管理模块页面设计
界面
JSP
功能描述
登录界面
登录的主页面
主页面
管理主页面
页面中部
center.jsp
复用页面:
页面中心部分
页面上端
top.jsp
页面上部分
页面左端
left.jsp
页面的左部分
页面下端
bottom.jsp
页面的下部分
根据界面流的设计可以确定各个界面的访问入口,以及界面之间切换关系,页面流程如图C-2所示。
图C-2:
登录管理的页面流程图
4.2控制层
登录管理的控制层主要是设计用户的登录事件的流程控制(Action)。
表C-4列出了每个Action的入口(即调用Action的组件)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-4:
登录管理控制层设计
事件
Action
入口
ActionForm
出口
用户登录
4.3模型层
登录管理模型组件负责完成用户信息的数据库操作的业务逻辑模型,建立封装了用户信息的bean,这个bean主要完成验证用户相关信息是否存在,并判断其权限。
模型组件如表C-5所示。
表C-5:
登录管理的模型组件
模型组件
描述
封装数据库操作的bean
UserBean.java
封装用户信息的bean
5帐号管理模块
帐号管理模块负责用户帐号的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-6所示。
表C-6:
帐号管理的三层模块
userlist.jsp
adduser.jsp
updateuser.jsp
userdetail.jsp
authrole.jsp
UserForm
RoleForm
UserAction
Role.java
5.1视图层
根据上述的功能介绍,总结出帐号管理功能的页面设计如表C-7所示。
表C-7:
帐号管理模块的页面设计
帐号管理首页
帐号管理列表页面
新增帐号页面
增加帐号的页面
修改帐号页面
修改帐号的页面
帐号详细信息页面
授权角色页面
为帐号分配角色的页面
帐号管理模块各个表示页面之间的关系如图C-3所示。
图C-3:
帐号管理模块的页面流程图
5.2控制层
帐号管理的控制层主要负责进入增加帐号界面、修改帐号界面、帐号详细信息界面、授权角色界面等事件的流程控制。
表C-8列出了帐号管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-8:
帐号管理的控制层设计
进入帐号管理列表页面
method=userlist
进入增加帐号页面
method=adduser
进入修改帐号页面
method=updateuser
进入授权角色页面
method=authrole
删除帐号
method=deluser
进入帐号详细信息页面
method=userdetail
5.3模型层
帐号管理业务逻辑层设计主要包括建立封装了帐号信息的bean:
User.java,建立封装了角色信息的bean:
Role.java,完成将帐号和对应角色关系存放数据库的操作,同时也提供了数据维护的操作等逻辑。
模型组件见表C-9。
表C-9:
帐号管理的模型组件
封装帐号信息的bean
封装角色信息的bean
6帐号组管理模块
帐号组管理模块负责用户帐号组的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-10所示。
表C-10:
帐号组管理的三层模块
usergrouplist.jsp
addusergroup.jsp
updateusergroup.jsp
usergroupdetail.jsp
authrolegroup.jsp
changeuser.jsp
UserGroupFormRoleForm
UserGroupAction
UserGroup.java
6.1视图层
根据上述的功能介绍,总结出帐号组管理功能的页面如表C-11所示。
表C-11:
帐号管理组模块的页面设计
帐号组管理首页
帐号组管理列表页面
新增帐号组页面
增加帐号组的页面
修改帐号组页面
修改帐号组的页面
帐号组详细信息页面
为帐号组分配角色的页面
帐号迁入迁出页面
帐号从帐号组中迁入迁出的页面
帐号组管理模块各个界面基本流程图如图C-4所示。
图C-4:
帐号组管理模块的页面流程图
6.2控制层
帐号组管理的控制层主要负责进入增加帐号组界面、修改帐号组界面、帐号组详细信息界面、授权角色界面、帐号迁入迁出等事件的流程控制。
表C-12列出了帐号组管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-12:
帐号组管理的控制层设计
进入帐号组管理列表页面
method=usergrouplist
UserGroupForm
进入增加帐号组页面
method=addusergroup
进入修改帐号组页面
method=updateusergroup
method=authrolegroup
删除帐号组
method=delusergroup
进入帐号组详细信息页面
method=usergroupdetail
method=changeuser