1、软件详细设计模板示例项目案例名称:软件系统项目案例文档:软件系统概要设计说明书1. 导言1.1 目的本文档的目的是描述软件系统项目的详细设计,其主要内容包括: 系统功能简介 系统详细设计简述 各个模块的三层划分 最小模块组件的伪代码本文档的预期的读者是: 设计人员 开发人员 项目管理人员 测试人员1.2 范围该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在实现中确定。1.3引用标准1 企业文档格式标准 V1.1北京长江软件有限公司 2 软件详细设计报告格式标准 V1.1北京长江软件有限公司软件工程过程化组织1.4 参考资料1 实战 美机械工业出版社 1.5 版本更新
2、信息本文档版本更新记录如表C-1:表C-1:版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0002010-4-130.1全部初始发布版本2 系统设计概述根据软件系统的概要设计,系统分为用户登录管理、帐号管理、帐号组权限管理、角色管理、日志查询、统计报表、平台管理、业务信息系统维护、个人信息维护等模块,他们的关系如图C-1,以下将分小节对各个部分分别进行详细设计。图C-1:模块设计图3 详细设计概述由于本系统采用了基于Struts体系结构的设计,即采用MVC的三层设计模式,采用面向对象的JAVA语言以及JSP的脚本语言。所以,基本采用面向对象的设计方法。在整个的开发过程中,尽可能采用
3、复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。本文档的详细设计主要是按照Struts的MVC的三个层次分别描述视图层、控制层和模型层模块的伪代码。为下一步的编码提供基础。登录管理模块登录管理模块负责用户的登录。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-2所示。表C-2:登录管理的三层模块视图控制器模型login.jspmain.jspLoginFormLoginActionDB.javaConstants.javaUser.java4.1视图层根据上述的功能介绍,视图页面设计如表C-3所示。表C-3:登录管理模块页面设计界面JSP功能描述登录界面log
4、in.jsp登录的主页面主页面main.jsp管理主页面页面中部center.jsp 复用页面:页面中心部分页面上端top.jsp 复用页面:页面上部分页面左端left.jsp 复用页面:页面的左部分页面下端bottom.jsp复用页面:页面的下部分根据界面流的设计可以确定各个界面的访问入口,以及界面之间切换关系,页面流程如图C-2所示。图C-2:登录管理的页面流程图4.2控制层登录管理的控制层主要是设计用户的登录事件的流程控制(Action)。表C-4列出了每个Action的入口(即调用Action的组件)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件
5、)。表C-4:登录管理控制层设计事件Action入口ActionForm出口用户登录LoginActionlogin.jspLoginFormmain.jsp4.3模型层登录管理模型组件负责完成用户信息的数据库操作的业务逻辑模型,建立封装了用户信息的bean,这个bean主要完成验证用户相关信息是否存在,并判断其权限。模型组件如表C-5所示。表C-5:登录管理的模型组件模型组件描述DB.java封装数据库操作的beanUserBean.java封装用户信息的bean帐号管理模块帐号管理模块负责用户帐号的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-6所示。表C-6:帐号管理的三
6、层模块视图控制器模型userlist.jspadduser.jspupdateuser.jspuserdetail.jspauthrole.jspUserFormRoleFormUserActionDB.javaConstants.javaUser.javaRole.java5.1视图层根据上述的功能介绍,总结出帐号管理功能的页面设计如表C-7所示。表C-7:帐号管理模块的页面设计界面JSP功能描述帐号管理首页userlist.jsp帐号管理列表页面新增帐号页面adduser.jsp增加帐号的页面修改帐号页面updateuser.jsp修改帐号的页面帐号详细信息页面userdetail.jsp
7、帐号详细信息页面授权角色页面authrole.jsp为帐号分配角色的页面帐号管理模块各个表示页面之间的关系如图C-3所示。图C-3:帐号管理模块的页面流程图5.2控制层帐号管理的控制层主要负责进入增加帐号界面、修改帐号界面、帐号详细信息界面、授权角色界面等事件的流程控制。表C-8列出了帐号管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-8:帐号管理的控制层设计事件Action入口ActionForm出口进入帐号管理列表页面User
8、Actionmethod=userlistmain.jspUserFormuserlist.jsp进入增加帐号页面UserActionmethod=adduseruserlist.jspUserFormadduser.jsp进入修改帐号页面UserActionmethod=updateuseruserlist.jspUserFormupdateuser.jsp进入授权角色页面UserActionmethod=authroleuserlist.jspRoleFormauthrole.jsp删除帐号UserActionmethod=deluseruserlist.jspUserFormuserli
9、st.jsp进入帐号详细信息页面UserActionmethod=userdetailuserlist.jspUserFormuserdetail.jsp5.3模型层帐号管理业务逻辑层设计主要包括建立封装了帐号信息的bean:User.java,建立封装了角色信息的bean:Role.java,完成将帐号和对应角色关系存放数据库的操作,同时也提供了数据维护的操作等逻辑。模型组件见表C-9。表C-9:帐号管理的模型组件模型组件描述DB.java封装数据库操作的beanUser.java封装帐号信息的beanRole.java封装角色信息的bean6 帐号组管理模块帐号组管理模块负责用户帐号组的维
10、护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-10所示。表C-10:帐号组管理的三层模块视图控制器模型usergrouplist.jspaddusergroup.jspupdateusergroup.jspusergroupdetail.jspauthrolegroup.jspchangeuser.jspUserGroupForm RoleFormUserFormUserGroupActionDB.javaConstants.javaUserGroup.javaRole.javaUser.java6.1视图层根据上述的功能介绍,总结出帐号组管理功能的页面如表C-11所示。表C-1
11、1:帐号管理组模块的页面设计界面JSP功能描述帐号组管理首页usergrouplist.jsp帐号组管理列表页面新增帐号组页面addusergroup.jsp增加帐号组的页面修改帐号组页面updateusergroup.jsp修改帐号组的页面帐号详细信息页面usergroupdetail.jsp帐号组详细信息页面授权角色页面authrolegroup.jsp为帐号组分配角色的页面帐号迁入迁出页面changeuser.jsp帐号从帐号组中迁入迁出的页面帐号组管理模块各个界面基本流程图如图C-4所示。图C-4:帐号组管理模块的页面流程图6.2控制层帐号组管理的控制层主要负责进入增加帐号组界面、修改
12、帐号组界面、帐号组详细信息界面、授权角色界面、帐号迁入迁出等事件的流程控制。表C-12列出了帐号组管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-12:帐号组管理的控制层设计事件Action入口ActionForm出口进入帐号组管理列表页面UserGroupActionmethod=usergrouplistmain.jspUserGroupFormusergrouplist.jsp进入增加帐号组页面UserGroupAction
13、method=addusergroupusergrouplist.jspUserGroupFormaddusergroup.jsp进入修改帐号组页面UserGroupActionmethod=updateusergroupusergrouplist.jspUserGroupFormupdateusergroup.jsp进入授权角色页面UserGroupActionmethod=authrolegroupusergrouplist.jspRoleFormauthrolegroup.jsp删除帐号组UserGroupActionmethod=delusergroupusergrouplist.js
14、pUserGroupFormusergrouplist.jsp进入帐号组详细信息页面UserGroupActionmethod=usergroupdetailusergrouplist.jspUserGroupFormusergroupdetail.jsp帐号迁入迁出页面UserGroupActionmethod=changeuserusergrouplist.jspUserFormchangeuser.jsp6.3模型层帐号组管理的业务逻辑主要是完成帐号组维护,并完成相应数据库的操作。帐号组管理的模型层主要是建立封装了帐号组信息的bean、帐号信息的bean、角色信息的bean,以及封装了数
15、据库操作的组件,模型组件见表C-13。表C-13:帐号组管理的模型组件模型组件描述DB.java封装数据库操作的beanUserGroup.java封装帐号组信息的beanUser.java封装帐号信息的beanRole.java封装角色信息的bean7权限管理模块权限管理模块负责所有功能模块权限点的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-14所示。表C-14:权限管理的三层模块视图控制器模型permissionlist.jspaddpermission.jspupdatepermission.jspPermissionFormPermissionActionDB.jav
16、aConstants.javaPermission.java7.1视图层根据上述的功能介绍,总结出权限管理功能的页面如表C-15。表C-15:权限模块的页面设计界面JSP功能描述权限管理首页permissionlist.jsp权限管理列表页面新增权限页面addpermission.jsp增加权限的页面修改权限页面updatepermission.jsp修改权限的页面权限管理模块的各个页面流程如下图C-5所示。图C-5:权限管理模块的页面流程图7.2控制层权限管理的控制层主要负责进入权限列表界面、进入增加权限界面、进入修改权限界面等事件的流程控制。表C-16列出了权限管理控制层每个Action的
17、入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-16:权限管理的控制层设计事件Action入口ActionForm出口进入权限管理列表页面PermissionActionmethod=permissionlistmain.jspPermissionFormpermissionlist.jsp进入增加权限页面PermissionActionmethod=addpermissionpermissionlist.jspPermissionFormaddpermis
18、sion.jsp进入修改权限页面PermissionActionmethod=updatepermissionpermissionlist.jspPermissionFormupdatepermission.jsp删除权限PermissionActionmethod=delpermissionpermissionlist.jsppermissionlist.jsp7.3模型层权限管理的业务逻辑主要是完成权限点信息的维护,并完成相应数据库的操作。权限管理的模型层主要是建立封装了权限信息的bean,以及封装了数据库操作的组件。模型组件见表C-17。表C-17:权限管理的模型组件模型组件描述DB.j
19、ava封装数据库操作的beanPermission.java封装权限信息的bean8 角色管理模块角色管理模块负责平台角色信息的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-18所示。表C-18:角色管理的三层模块视图控制器模型rolelist.jspaddrole.jspupdaterole.jsproledetail.jspauthbusiness.jspRoleFormRoleBusinessFormRoleActionDB.javaConstants.javaRole.javaBusiness.java Permission.java8.1视图层根据上述的功能介绍,角色
20、管理功能的页面如表C-19所示。表C-19:角色模块的页面设计界面JSP功能描述角色管理首页rolelist.jsp权限管理列表页面新增角色页面addrole.jsp增加权限的页面修改角色页面updaterole.jsp修改权限的页面角色详细信息页面roledetail.jsp查看角色详细信息页面授权业务信息系统页面authbusiness.jsp授权业务信息系统页面角色管理模块各个页面流程如图C-6所示:图C-6:角色管理模块的页面流程图8.2控制层角色管理的控制层主要负责进入角色列表界面、进入增加角色界面、进入修改角色界面、进入角色详细信息界面等事件的流程控制。表C-20列出了角色管理控制
21、层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-20:角色管理的控制层设计事件Action入口ActionForm出口进入角色管理列表页面RoleActionmethod=rolelistmain.jspRoleFormrolelist.jsp进入增加角色页面RoleActionmethod=addrolerolelist.jspRoleFormaddrole.jsp进入修改角色页面RoleActionmethod=updateroler
22、olelist.jspRoleFormupdaterole.jsp删除角色RoleActionmethod=delrolerolelist.jsprolelist.jsp进入授权业务信息系统页面RoleActionmethod=authbusinessrolelist.jspRoleBusinessFormauthbusiness.jsp8.3模型层角色管理的业务逻辑主要是完成角色信息的维护,并完成相应数据库的操作。角色管理的模型层主要是建立封装了角色信息的bean,封装权限信息的bean,以及封装了数据库操作的组件。模型组件见表C-21。表C-21:角色管理的模型组件模型组件描述DB.jav
23、a封装数据库操作的beanRole.java封装角色信息的beanPermission.java封装权限信息的beanBusiness.java封装业务信息系统的bean9日志查询模块日志查询模块主要实现对用户的所有操作过程的历史日志查询。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-22所示。表C-22:日志查询的三层模块视图控制器模型logquery.jspLogFormLogQueryActionLog.java9.1视图层根据上述的功能介绍,总结出日志查询功能的页面如表C-23。表C-23:日志查询的页面设计界面JSP功能描述日志查询首页logquery.jsp日志查
24、询列表页面日志查询页面流程如图C-7所示:图C-7:日志查询的页面流程图9.2控制层日志查询的控制层主要负责进入日志查询界面的流程控制,根据过滤条件进行查询。表C-24列出了日志查询控制层的Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-24:日志查询的控制层设计事件Action入口ActionForm出口进入日志查询页面点击“查询”按钮进行查询LogQueryActionmethod=logquerymain.jspLogFormlogque
25、ry.jsp9.3模型层日志查询的业务逻辑主要是完成日志信息的查询。日志查询的模型层主要是建立封装了日志信息的bean,以及封装了数据库操作的组件。模型组件见表C-25。表C-25:日志查询的模型组件模型组件描述DB.java封装数据库操作的beanLog.java封装日志信息的bean10统计报表模块统计报表模块主要实现两类报表,帐号角色变更报表、异常时间登录操作报表。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-26所示。表C-26:统计报表的三层模块视图控制器模型userrolemodify.jspuserloginreport.jspUserRoleModifyFor
26、mUserLoginReportFormUserRoleModifyActionUserLoginReportActionUserRoleModify.javaUserLoginReport.java10.1视图层根据上述的功能介绍,统计报表的页面实现如表C-27。表C-27:统计报表的页面设计界面JSP功能描述帐号角色变更报表页面userrolemodify.jsp帐号角色变更报表页面异常时间登录操作报表页面userloginreport.jsp异常时间登录操作报表页面页面流程如图C-8所示:图C-8:统计报表的页面流程图10.2控制层统计报表的控制层主要负责进入该报表界面的流程控制,根据过
27、滤条件进行查询。表C-28列出了控制层的Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-28:统计报表的控制层设计事件Action入口ActionForm出口进入帐号角色变更报表页面点击“查询”按钮进行查询UserRoleModifyActionmethod= userrolemodifymain.jspUserRoleModifyFormuserrolemodify.jsp进入异常时间登录操作报表页面点击“查询”按钮进行查询UserLoginReportActionmethod=userloginreportmain.jspUserLoginReportFormuserloginreport.jsp10.3模型层统计报表的业务逻辑主要是完成帐号角色变更信息的统计查询、完成异常时间段登录软件系统的用户操作进行统计。统计报表的模型层主要是建立封装了帐号角色变更信息的bean
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1