项目案例名称:《软件系统》
项目案例文档:《软件系统概要设计说明书》
1. 导言
1.1 目的
本文档的目的是描述《软件系统》项目的详细设计,其主要内容包括:
-系统功能简介
-系统详细设计简述
-各个模块的三层划分
-最小模块组件的伪代码
本文档的预期的读者是:
●设计人员
●开发人员
●项目管理人员
●测试人员
1.2 范围
该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在实现中确定。
1.3引用标准
[1] 《企业文档格式标准》 V1.1
北京长江软件有限公司
[2] 《软件详细设计报告格式标准》 V1.1
北京长江软件有限公司软件工程过程化组织
1.4 参考资料
[1] 《实战struct》〔美〕TedHusted
机械工业出版社
1.5 版本更新信息
本文档版本更新记录如表C-1:
表C-1:版本更新记录
2 系统设计概述
根据《软件系统》的概要设计,系统分为用户登录管理、帐号管理、帐号组权限管理、角色管理、日志查询、统计报表、平台管理、业务信息系统维护、个人信息维护等模块,他
们的关系如图C-1,以下将分小节对各个部分分别进行详细设计。
图C-1:模块设计图
3 详细设计概述
由于本系统采用了基于Struts体系结构的设计,即采用MVC的三层设计模式,采用面向对象的JAVA语言以及JSP的脚本语言。所以,基本采用面向对象的设计方法。在整个的开发过程中,尽可能采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。
本文档的详细设计主要是按照Struts的MVC的三个层次分别描述视图层、控制层和模型层模块的伪代码。为下一步的编码提供基础。
4登录管理模块
登录管理模块负责用户的登录。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-2所示。
表C-2:登录管理的三层模块
4.1视图层
根据上述的功能介绍,视图页面设计如表C-3所示。
表C-3:登录管理模块页面设计
根据界面流的设计可以确定各个界面的访问入口,以及界面之间切换关系,页面流程如图C-2所示。
图C-2:登录管理的页面流程图
4.2控制层
登录管理的控制层主要是设计用户的登录事件的流程控制(Action)。表C-4列出了每个Action的入口(即调用Action的组件)、传递Action的ActionForm,以及出口(即Action 将请求转发到目标组件)。
表C-4:登录管理控制层设计
4.3模型层
登录管理模型组件负责完成用户信息的数据库操作的业务逻辑模型,建立封装了用户信息的bean,这个bean主要完成验证用户相关信息是否存在,并判断其权限。模型组件如表C-5所示。
表C-5:登录管理的模型组件
5帐号管理模块
帐号管理模块负责用户帐号的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-6所示。
表C-6:帐号管理的三层模块
5.1视图层
根据上述的功能介绍,总结出帐号管理功能的页面设计如表C-7所示。
表C-7:帐号管理模块的页面设计
帐号管理模块各个表示页面之间的关系如图C-3所示。
图C-3:帐号管理模块的页面流程图
5.2控制层
帐号管理的控制层主要负责进入增加帐号界面、修改帐号界面、帐号详细信息界面、授权角色界面等事件的流程控制。表C-8列出了帐号管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action 的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-8:帐号管理的控制层设计
5.3模型层
帐号管理业务逻辑层设计主要包括建立封装了帐号信息的bean:User.java,建立封装了角色信息的bean:Role.java,完成将帐号和对应角色关系存放数据库的操作,同时也提供了数据维护的操作等逻辑。模型组件见表C-9。
表C-9:帐号管理的模型组件
6 帐号组管理模块
帐号组管理模块负责用户帐号组的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-10所示。
表C-10:帐号组管理的三层模块
6.1视图层
根据上述的功能介绍,总结出帐号组管理功能的页面如表C-11所示。
表C-11:帐号管理组模块的页面设计
帐号组管理模块各个界面基本流程图如图C-4所示。
图C-4:帐号组管理模块的页面流程图
6.2控制层
帐号组管理的控制层主要负责进入增加帐号组界面、修改帐号组界面、帐号组详细信息界面、授权角色界面、帐号迁入迁出等事件的流程控制。表C-12列出了帐号组管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-12:帐号组管理的控制层设计
6.3模型层
帐号组管理的业务逻辑主要是完成帐号组维护,并完成相应数据库的操作。帐号组管理的模型层主要是建立封装了帐号组信息的bean、帐号信息的bean、角色信息的bean,以及封装了数据库操作的组件,模型组件见表C-13。
表C-13:帐号组管理的模型组件
7权限管理模块
权限管理模块负责所有功能模块权限点的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-14所示。
表C-14:权限管理的三层模块
7.1视图层
根据上述的功能介绍,总结出权限管理功能的页面如表C-15。
表C-15:权限模块的页面设计
权限管理模块的各个页面流程如下图C-5所示。
图C-5:权限管理模块的页面流程图
7.2控制层
权限管理的控制层主要负责进入权限列表界面、进入增加权限界面、进入修改权限界面等事件的流程控制。表C-16列出了权限管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-16:权限管理的控制层设计
7.3模型层
权限管理的业务逻辑主要是完成权限点信息的维护,并完成相应数据库的操作。权限管理的模型层主要是建立封装了权限信息的bean,以及封装了数据库操作的组件。模型组件见表C-17。
表C-17:权限管理的模型组件
8 角色管理模块
角色管理模块负责平台角色信息的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-18所示。
表C-18:角色管理的三层模块
8.1视图层
根据上述的功能介绍,角色管理功能的页面如表C-19所示。
表C-19:角色模块的页面设计
角色管理模块各个页面流程如图C-6所示:
图C-6:角色管理模块的页面流程图
8.2控制层
角色管理的控制层主要负责进入角色列表界面、进入增加角色界面、进入修改角色界面、进入角色详细信息界面等事件的流程控制。表C-20列出了角色管理控制层每个Action的入
口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-20:角色管理的控制层设计
8.3模型层
角色管理的业务逻辑主要是完成角色信息的维护,并完成相应数据库的操作。角色管理的模型层主要是建立封装了角色信息的bean,封装权限信息的bean,以及封装了数据库操作的组件。模型组件见表C-21。
表C-21:角色管理的模型组件
9日志查询模块
日志查询模块主要实现对用户的所有操作过程的历史日志查询。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-22所示。
表C-22:日志查询的三层模块
9.1视图层
根据上述的功能介绍,总结出日志查询功能的页面如表C-23。
日志查询页面流程如图C-7所示:
图C-7:日志查询的页面流程图
9.2控制层
日志查询的控制层主要负责进入日志查询界面的流程控制,根据过滤条件进行查询。表C-24列出了日志查询控制层的Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action 将请求转发到目标组件)。
表C-24:日志查询的控制层设计
9.3模型层
日志查询的业务逻辑主要是完成日志信息的查询。日志查询的模型层主要是建立封装了日志信息的bean,以及封装了数据库操作的组件。模型组件见表C-25。
表C-25:日志查询的模型组件
10统计报表模块
统计报表模块主要实现两类报表,帐号角色变更报表、异常时间登录操作报表。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-26所示。
表C-26:统计报表的三层模块
10.1视图层
根据上述的功能介绍,统计报表的页面实现如表C-27。
表C-27:统计报表的页面设计
页面流程如图C-8所示:
图C-8:统计报表的页面流程图
10.2控制层
统计报表的控制层主要负责进入该报表界面的流程控制,根据过滤条件进行查询。表C-28列出了控制层的Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-28:统计报表的控制层设计
10.3模型层
统计报表的业务逻辑主要是完成帐号角色变更信息的统计查询、完成异常时间段登录软件系统的用户操作进行统计。统计报表的模型层主要是建立封装了帐号角色变更信息的bean、异常时间段登录平台操作信息的bean,以及封装了数据库操作的组件。模型组件见表C-29。
表C-29:统计报表的模型组件
11 平台管理模块
平台管理模块主要实现业务信息系统管理、当前登录用户功能,可以分成三层结构,即视图层、控制层和模型层,具体如表C-30所示。
表C-30:平台管理的三层模块
11.1视图层
根据上述的功能介绍,平台管理功能的页面实现如表C-31所示。
表C-31:平台管理模块的页面设计
平台管理模块各个页面流程如图C-9所示:
图C-9:平台管理模块的页面流程图
11.2控制层
平台管理的控制层主要负责进入业务信息系统管理模块、当前登录用户模块。业务信息系统管理的控制层主要负责进入业务信息系统列表界面、进入增加业务信息系统界面、进入修改业务信息系统界面、进入业务信息系统详细信息界面等事件的流程控制;当前登录用户的控制层主要负责进入该界面的流程控制。表C-32列出了每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action 的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-32:平台管理的控制层设计
11.3模型层
平台管理的业务逻辑主要是完成业务信息系统维护、查看当前登录用户,并完成相应数据库的操作。平台管理的模型层主要是建立封装了业务信息系统相应信息的bean、登录平台的用户信息的bean,以及封装了数据库操作的组件。模型组件见表C-33。
表C-33:平台管理的模型组件
12 业务信息系统管理员Portal
业务信息系统管理员在其Portal界面,可以显示该用户所能维护的业务信息系统列表,点击某个业务信息系统,则可以进入该系统,在系统内部进行维护,在业务系统维护完成后,可以返回软件系统;该用户可以对个人信息进行维护。业务信息系统维护模块由具体访问的业务信息系统提供链接页面,点击链接页面进入具体系统内部操作;个人信息维护主要实现登录平台的用户可以对个人信息进行维护。具体如表C-34所示。
表C-34:业务信息系统管理员Portal的三层模块
12.1视图层
根据上述的功能介绍,页面设计如表C-35。
页面流程图如图C-10所示。
图C-10:业务信息系统管理员Portal的页面流程图
12.2控制层
业务信息系统Portal的控制层主要是设计用户的维护业务信息系统、维护个人信息的流程控制(Action)。表C-36列出了每个Action的入口(即调用Action的组件)、传递Action 的ActionForm,以及出口(即Action将请求转发到目标组件)。
表C-36:业务信息系统管理员Portal的控制层设计
13.3模型层
模型组件负责完成用户信息的数据库操作的业务逻辑模型,建立封装了用户信息的bean,这个bean主要完成验证用户相关信息是否存在,并判断其权限。模型组件见表C-37。
表C-37:业务信息系统管理员Portal的模型组件