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功能描
4、述登录界面login.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所示
6、。表C-6:帐号管理的三层模块视图控制器模型userlist.jspadduser.jspupdateuser.jspuserdetail.jspauthrole.jspUserFormRoleFormUserActionDB.javaConstants.javaUser.javaRole.java5.1视图层 根据上述的功能介绍,总结出帐号管理功能的页面设计如表C-7所示。 表C-7:帐号管理模块的页面设计界面JSP功能描述帐号管理首页userlist.jsp帐号管理列表页面新增帐号页面adduser.jsp增加帐号的页面修改帐号页面updateuser.jsp修改帐号的页面帐号详细信息页面
7、userdetail.jsp帐号详细信息页面授权角色页面authrole.jsp为帐号分配角色的页面帐号管理模块各个表示页面之间的关系如图C-3所示。图C-3:帐号管理模块的页面流程图5.2控制层 帐号管理的控制层主要负责进入增加帐号界面、修改帐号界面、帐号详细信息界面、授权角色界面等事件的流程控制。表C-8列出了帐号管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-8:帐号管理的控制层设计事件Action入口ActionForm出
8、口进入帐号管理列表页面UserActionmethod=userlistmain.jspUserFormuserlist.jsp进入增加帐号页面UserActionmethod=adduseruserlist.jspUserFormadduser.jsp进入修改帐号页面UserActionmethod=updateuseruserlist.jspUserFormupdateuser.jsp进入授权角色页面UserActionmethod=authroleuserlist.jspRoleFormauthrole.jsp删除帐号UserActionmethod=deluseruserlist.js
9、pUserFormuserlist.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视图层 根据上述的功能介绍,总结出帐号组管
11、理功能的页面如表C-11所示。 表C-11:帐号管理组模块的页面设计界面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进入增
13、加帐号组页面UserGroupActionmethod=addusergroupusergrouplist.jspUserGroupFormaddusergroup.jsp进入修改帐号组页面UserGroupActionmethod=updateusergroupusergrouplist.jspUserGroupFormupdateusergroup.jsp进入授权角色页面UserGroupActionmethod=authrolegroupusergrouplist.jspRoleFormauthrolegroup.jsp删除帐号组UserGroupActionmethod=deluser
14、groupusergrouplist.jspUserGroupFormusergrouplist.jsp进入帐号组详细信息页面UserGroupActionmethod=usergroupdetailusergrouplist.jspUserGroupFormusergroupdetail.jsp帐号迁入迁出页面UserGroupActionmethod=changeuserusergrouplist.jspUserFormchangeuser.jsp6.3模型层 帐号组管理的业务逻辑主要是完成帐号组维护,并完成相应数据库的操作。帐号组管理的模型层主要是建立封装了帐号组信息的bean、帐号信息
15、的bean、角色信息的bean,以及封装了数据库操作的组件,模型组件见表C-13。表C-13:帐号组管理的模型组件模型组件描述DB.java封装数据库操作的beanUserGroup.java封装帐号组信息的beanUser.java封装帐号信息的beanRole.java封装角色信息的bean7权限管理模块 权限管理模块负责所有功能模块权限点的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-14所示。 表C-14:权限管理的三层模块视图控制器模型permissionlist.jspaddpermission.jspupdatepermission.jspPermissionFo
16、rmPermissionActionDB.javaConstants.javaPermission.java7.1视图层 根据上述的功能介绍,总结出权限管理功能的页面如表C-15。 表C-15:权限模块的页面设计界面JSP功能描述权限管理首页permissionlist.jsp权限管理列表页面新增权限页面addpermission.jsp增加权限的页面修改权限页面updatepermission.jsp修改权限的页面权限管理模块的各个页面流程如下图C-5所示。图C-5:权限管理模块的页面流程图7.2控制层 权限管理的控制层主要负责进入权限列表界面、进入增加权限界面、进入修改权限界面等事件的流程
17、控制。表C-16列出了权限管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-16:权限管理的控制层设计事件Action入口ActionForm出口进入权限管理列表页面PermissionActionmethod=permissionlistmain.jspPermissionFormpermissionlist.jsp进入增加权限页面PermissionActionmethod=addpermissionpermissionlist
18、.jspPermissionFormaddpermission.jsp进入修改权限页面PermissionActionmethod=updatepermissionpermissionlist.jspPermissionFormupdatepermission.jsp删除权限PermissionActionmethod=delpermissionpermissionlist.jsppermissionlist.jsp7.3模型层 权限管理的业务逻辑主要是完成权限点信息的维护,并完成相应数据库的操作。权限管理的模型层主要是建立封装了权限信息的bean,以及封装了数据库操作的组件。模型组件见表C-
19、17。表C-17:权限管理的模型组件模型组件描述DB.java封装数据库操作的beanPermission.java封装权限信息的bean8 角色管理模块 角色管理模块负责平台角色信息的维护,可以分成三层结构,即视图层、控制层和模型层,具体如表C-18所示。 表C-18:角色管理的三层模块视图控制器模型rolelist.jspaddrole.jspupdaterole.jsproledetail.jspauthbusiness.jspRoleFormRoleBusinessFormRoleActionDB.javaConstants.javaRole.javaBusiness.java Per
20、mission.java8.1视图层 根据上述的功能介绍,角色管理功能的页面如表C-19所示。 表C-19:角色模块的页面设计界面JSP功能描述角色管理首页rolelist.jsp权限管理列表页面新增角色页面addrole.jsp增加权限的页面修改角色页面updaterole.jsp修改权限的页面角色详细信息页面roledetail.jsp查看角色详细信息页面授权业务信息系统页面authbusiness.jsp授权业务信息系统页面 角色管理模块各个页面流程如图C-6所示:图C-6:角色管理模块的页面流程图8.2控制层 角色管理的控制层主要负责进入角色列表界面、进入增加角色界面、进入修改角色界面
21、、进入角色详细信息界面等事件的流程控制。表C-20列出了角色管理控制层每个Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-20:角色管理的控制层设计事件Action入口ActionForm出口进入角色管理列表页面RoleActionmethod=rolelistmain.jspRoleFormrolelist.jsp进入增加角色页面RoleActionmethod=addrolerolelist.jspRoleFormaddrole.jsp进入
22、修改角色页面RoleActionmethod=updaterolerolelist.jspRoleFormupdaterole.jsp删除角色RoleActionmethod=delrolerolelist.jsprolelist.jsp进入授权业务信息系统页面RoleActionmethod=authbusinessrolelist.jspRoleBusinessFormauthbusiness.jsp8.3模型层 角色管理的业务逻辑主要是完成角色信息的维护,并完成相应数据库的操作。角色管理的模型层主要是建立封装了角色信息的bean,封装权限信息的bean,以及封装了数据库操作的组件。模型组
23、件见表C-21。表C-21:角色管理的模型组件模型组件描述DB.java封装数据库操作的beanRole.java封装角色信息的beanPermission.java封装权限信息的beanBusiness.java封装业务信息系统的bean9日志查询模块 日志查询模块主要实现对用户的所有操作过程的历史日志查询。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-22所示。 表C-22:日志查询的三层模块视图控制器模型logquery.jspLogFormLogQueryActionLog.java9.1视图层根据上述的功能介绍,总结出日志查询功能的页面如表C-23。 表C-23:日
24、志查询的页面设计界面JSP功能描述日志查询首页logquery.jsp日志查询列表页面日志查询页面流程如图C-7所示:图C-7:日志查询的页面流程图9.2控制层 日志查询的控制层主要负责进入日志查询界面的流程控制,根据过滤条件进行查询。表C-24列出了日志查询控制层的Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-24:日志查询的控制层设计事件Action入口ActionForm出口进入日志查询页面点击“查询”按钮进行查询LogQueryAct
25、ionmethod=logquerymain.jspLogFormlogquery.jsp9.3模型层 日志查询的业务逻辑主要是完成日志信息的查询。日志查询的模型层主要是建立封装了日志信息的bean,以及封装了数据库操作的组件。模型组件见表C-25。表C-25:日志查询的模型组件模型组件描述DB.java封装数据库操作的beanLog.java封装日志信息的bean10统计报表模块 统计报表模块主要实现两类报表,帐号角色变更报表、异常时间登录操作报表。系统框架可以分成三层结构,即视图层、控制层和模型层,具体如表C-26所示。 表C-26:统计报表的三层模块视图控制器模型userrolemodi
26、fy.jspuserloginreport.jspUserRoleModifyFormUserLoginReportFormUserRoleModifyActionUserLoginReportActionUserRoleModify.javaUserLoginReport.java10.1视图层 根据上述的功能介绍,统计报表的页面实现如表C-27。 表C-27:统计报表的页面设计界面JSP功能描述帐号角色变更报表页面userrolemodify.jsp帐号角色变更报表页面异常时间登录操作报表页面userloginreport.jsp异常时间登录操作报表页面页面流程如图C-8所示:图C-8:统
27、计报表的页面流程图10.2控制层 统计报表的控制层主要负责进入该报表界面的流程控制,根据过滤条件进行查询。表C-28列出了控制层的Action的入口(即调用Action的组件,在此模块中共用一个Action,不同功能使用不同方法实现)、传递Action的ActionForm,以及出口(即Action将请求转发到目标组件)。表C-28:统计报表的控制层设计事件Action入口ActionForm出口进入帐号角色变更报表页面点击“查询”按钮进行查询UserRoleModifyActionmethod= userrolemodifymain.jspUserRoleModifyFormuserrole
28、modify.jsp进入异常时间登录操作报表页面点击“查询”按钮进行查询UserLoginReportActionmethod=userloginreportmain.jspUserLoginReportFormuserloginreport.jsp10.3模型层 统计报表的业务逻辑主要是完成帐号角色变更信息的统计查询、完成异常时间段登录软件系统的用户操作进行统计。统计报表的模型层主要是建立封装了帐号角色变更信息的bean、异常时间段登录平台操作信息的bean,以及封装了数据库操作的组件。模型组件见表C-29。表C-29:统计报表的模型组件模型组件描述DB.java封装数据库操作的beanUserRoleModify.java封装帐号角色变更信息的beanUserLoginReport.java封装异常时间段登录平台操作信息的bean11 平台管理模块 平台管理模块主要实现业务信息系统管理、当前登录用户功能,可以分成三层结构,即视图层、控制层和模型层,具体如表C-30所示
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1