广东海洋大学体育管理系统架构设计编号:GDOU-GMS-HLD版本1.0作者:吴键鸿、张磊、钟炜堂、马德泉日期:2014.11.20Email:996267036@qq.com组号:审批:日期:变更记录日期版本变更说明作者2014.11.201.0创建吴键鸿张磊钟炜堂马德泉1.引言1.1文档目的本文档定义软件系统的架构以及全局性的设计元素、算法。本文档将作为详细设计、数据库设计的依据。1.2读者软件设计工程师、软件编码工程师、软件测试工程师。2.技术选择采用J2EE,即客户端页面为JSP,服务器端业务逻辑采用Java语言实现,实体类为JavaBean,Web服务器采用tomcat6.0。3.逻辑分层结构图1系统架构模型示意图表示层:采用JavaWeb开发技术。控制层:采用Struts的Action组件。业务层:封装业务逻辑(业务JavaBean)。数据访问层:负责访问数据库,处理事务(数据访问JavaBean))。数据库存储层:MySQL数据库。表示层控制层业务层数据库数据访问层4.设计元素的映射1、每个页面映射到一个JSP页面。2、每个控制类映射到两个类,一个是表现控制层的Action;另一个是业务层的业务接口实现类。业务类的接口与上层的Action通信。Action位于表现层与控制层之间,业务层位于业务逻辑层。3、总体分为两个部分——管理员部分和用户部分。4、每个模块对应一个Action入口,即每个模块对应一个Servlet。5、Servlet根据具体的action动作调用对应的Service组件,完成对应的action动作。6、Service组件根据具体的方法调用对应的Dao组件对应的方法。7、每个Dao组件对应一个数据库表的操作。8、每个数据库表对应一个Model实体类,即Javabean,数据库表字段与Model实体类中的私有属性一一对应。根据以上映射原则,将鲁棒性分析中的分析类映射为架构中的各个类,如下表所注:灰色底部分为鲁棒性分析中的分析类表4.2人员管理模块模块名分析类名称分析类类型映射到架构上的设计类名称设计类类型人员管理模块GMS-AM-1边界类GMS-AM-1.jspJSP页面GMS-AM-2边界类GMS-AM-2.jspJSP页面GMS-AM-3边界类GMS-AM-3.jspJSP页面GMS-AM-4边界类GMS-AM-4.jspJSP页面GMS-AM-5边界类GMS-AM-5.jspJSP页面GMS-AM-6边界类GMS-AM-6.jspJSP页面GMS-AM-7边界类GMS-AM-7.jspJSP页面主页面边界类index.jspJSP页面异常页面边界类exception.jspJSP页面addAdmin控制类(添加管理员)addAdminAction.javaActioninterfaceAMService.java中的方法:addAdmin()业务接口:AMServicedelAdmin控制类(删除管理员)delAdminAction.javaActioninterfaceAMService.java中的方法:delAdmin()业务接口:AMServicequeryAdmin控制类(查询管理员)queryAdminAction.javaActioninterfaceAMService.java中的方法:queryAdmin()业务接口:AMServicealtAdmin控制类(修改管理员)altAdminAction.javaActioninterfaceAMService.java中的方法:altAdmin()业务接口:AMServicealterPsd控制类(修改密码)alterPsdAction.javaActioninterfaceAMService.java中的方法:alterPsd()业务接口:AMServicelogin控制类(用户登录)loginAction.javaActioninterfaceAMService.java中的方法:login()业务接口:AMServiceregister控制类(学生用户注册)registerAction.javaActioninterfaceAMService.java中的方法:register()业务接口:AMServiceAMServiceImp.java业务接口的实现类Administrator实体类AMDao.javaDAO组件Admin.javaPO值对象Student实体类AMDao.javaActionStudent.javaTeacher实体类AMDao.javaZzjgServiceTeacher.javaPositionVO.javaVO值对象Connection.java连接数据库4.3场地使用管理模块模块名分析类名称分析类类型映射到架构上的设计类名称设计类类型场地管理模块GMS-CDGL-1边界类GMS-CDGL-1.jspJSP页面GMS-CDGL-2边界类GMS-CDGL-2.jspJSP页面GMS-CDGL-3边界类GMS-CDGL-3.jspJSP页面GMS-CDGL-4边界类GMS-CDGL-4.jspJSP页面GMS-CDGL-5边界类GMS-CDGL-5.jspJSP页面GMS-CDGL-6边界类GMS-CDGL-6.jspJSP页面GMS-CDGL-7边界类GMS-CDGL-7.jspJSP页面GMS-CDGL-8边界类GMS-CDGL-7.jspJSP页面主页面边界类index.jspJSP页面异常页面边界类exception.jspJSP页面addGround控制类(添加场地)addGroundAction.javaActioninterfaceCDGLService.java中的方法:addGround()业务接口:CDGLServicedelGround控制类(删除场地)delGroundAction.javaActioninterfaceCDGLService.java中的方法:delGround()业务接口:CDGLServicereserve控制类(预约场地)reserveAction.javaActioninterfaceCDGLService.java中的方法:reserve()业务接口:CDGLServicecancel控制类(场地预约退订)cancelAction.javaActioninterfaceCDGLService.java中的方法:cancel()业务接口:CDGLServicealtReserve控制类(场地预约修改)altReserveAction.javaActioninterfaceCDGLService.java中的方法:altReserve()业务接口:CDGLServiceblack控制类(加入黑名单)blackAction.javaActioninterfaceCDGLService.java中的方法:black()业务接口:CDGLServicepersist控制类(场地预留)persistAction.javaActioninterfaceCDGLService.java中的方法:persist()业务接口:CDGLServicegUse控制类(场地使用)gUseAction.javaActioninterfaceCDGLService.java中的方法:gUse()业务接口:CDGLServicequeGround控制类(查询场地)queGroundAction.javaActioninterfaceCDGLService.java中的方法:queGround()业务接口:CDGLServiceset控制类(场地收费标准设置)setAction.javaActioninterfaceCDGLService.java中的方法:set()业务接口:CDGLServicewrite控制类(编辑场馆公告)writeAction.javaActioninterfaceCDGLService.java中的方法:write()业务接口:CDGLServicequeNotice控制类(查看场馆公告)queNoticeAction.javaActioninterfaceCDGLService.java中的方法:queNotice()业务接口:CDGLServiceCDGLServiceImp.java业务接口的实现类Notice实体类CDGLDao.javaDAO组件Notice.javaPO值对象Ground实体类CDGLDao.javaDAO组件Ground.javaPO值对象GroundUse实体类CDGLDao.javaDAO组件GroundUse.javaPO值对象Notice.javaVO值对象Ground.javaVO值对象GroundUse.javaVO值对象Connection.java连接数据库其它类公共类;样式文件;JS文件;配置文件;等等4.4赛事管理模块模块名分析类名称分析类类型映射到架构上的设计类名称设计类类型赛事管理模块GYM-SSGL-1边界类GMS-SSGL-1.jspJSP页面GYM-SSGL-2边界类GMS-SSGL-2.jspJSP页面GYM-SSGL-3边界类GMS-SSGL-3.jspJSP页面GYM-SSGL-4边界类GMS-SSGL-4.jspJSP页面GYM-SSGL-5边界类GMS-SSGL-5.jspJSP页面GYM-SSGL-6边界类GMS-SSGL-6.jspJSP页面主页面边界类index.jspJSP页面异常页面边界类exception.jspJSP页面newTounamentControl控制类(新建赛事)newTounamenAction.javaActioninterfaceSSGLService.java中的方法:newTounamen()业务接口:SSGLServicedeleteTounamentControl控制类(删除赛事)deleteTounamentActioninterfaceSSGLService.java中的方法:deleteTounament()业务接口:SSGLServiceupdateTounamentControl控制类(更新赛事)updateTounamenAction.javaActioninterfaceSSGLService.java中的方法:updateTounamen()业务接口:SSGLServicequeryTounamentControl控制类(查询赛事)queryTounamentAction.javaActioninterfaceSSGLService.java中的方法:queryTounament()业务接口:SSGLServicearrangeGroundControl控制类(安排比赛场地)arrangeGroundAction.javaActioninterfaceSSGLService.java中的方法:arrangeGround()业务接口:SSGLServicearrangeRefControl控制类(安排裁判)arrangeRefAction.javaActioninterfaceSSGLService.java中的方法:arrangeRef()业务接口:SSGLServiceTounament实体类SSGLDao.javaDAO组件Tounament.javaPO值对象Ground实体类SSGLDao.javaDAO组件Ground.javaPO值对象Ref实体类SSGLDao.javaDAO组件Ref.javaPO值对象SSGLServiceImp.java业务接口的实现类Notice.javaVO值对象Ground