《快乐买网上商城详细设计说明书详细设计说明书概要》由会员分享,可在线阅读,更多相关《快乐买网上商城详细设计说明书详细设计说明书概要(31页珍藏版)》请在金锄头文库上搜索。
1、快乐买网上商城详细设计说明书0. 导言0.1 目的 本文档的目的是描述快乐买网上商城项目的详细设计,其主要内容包括: 系统功能简介 系统详细设计简述 在SSH框架下各个模块的分层结构 本文档的预期读者是: 设计人员 开发人员 项目管理人员 测试人员0.2 范围 该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在编码实现中确定。0.3 引用标准 1 企业文档格式标准V1.1, XXX软件有限公司。 2 软件详细设计报告格式标准V1.1,XXX软件有限公司软件工程过程化组织0.4 参考资料 1 实战Struts,Ted Husted,机械工业出版社 2 Spring Li
2、ve,Matt Raible,0.5 版本更新信息 本文档版本更新记录如表C-1所示:表C-1 版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0002015-2-180.1全部初始发布版本1. 系统设计概述 根据快乐买网上商城系统的概要设计,系统分前台业务和后台业务, 前台业务是针对终端用户使用,用户注册成网站会员后可以浏览商品,选购商品,秒杀商品等。访问个人中心还可以管理个人信息,购物车和订单。其功能模块如下图所示: 后台业务是针对管理员用户使用,管理员登录后台系统后可以对系统基本资料进行管理,如商品管理,用户管理,管理员账户管理,订单管理,评价管理等。其功能模块如下图所示:2.
3、 详细设计概述 本系统采用了SSH框架体系结构的设计,在整个开发过程中,尽可能采用复用的原则,例如使用工厂模式,JAVA反射机制达到统一数据库操作,统一结果显示等。 本文档的详细设计主要是按照SSH框架对视图层JSP、控制器Struts、业务层Spring和持久层Hibernate进行约定,为下一步的编码提供基础。3. 详细设计 系统前台业务实现 3.1用户注册模块 用户注册模块负责前台用户成为网站会员,注册成功的用户信息添加到users表中 3.1.1 实现流程图 3.1.2 输入输出规则用户注册模块输入输出规则模块名称用户注册功能描述用户注册成功后允许登录系统并享有注册用户的权限用户角色游
4、客模块触发条件打开首页选择“立即注册”输入规则输入用户基本信息。要求符合格式,另外账号不能重复,邮箱不能重复输出结果注册成功后打开登录界面关键算法1.查询数据中是否存在相同的账号和邮箱2.格式验证3.验证码的生成和验证数据库操作查询用户表,增加用户信息 3.1.3视图层、Action、业务层、数据持久层的说明视图Action/Servlet业务层(biz)数据持久层(dao)register.jspindex.jspheader.jspfooter.jspUserAction.javaValidateCodeServlet.javaIUserBiz.javaUserBizImpl.javaIU
5、serDao.javaUserDaoImpl.java 视图层页面设计界面JSP功能描述注册界面register.jsp登录主页面首页index.jsp前台首页面,包括header.jsp和footer.jsp,是为了网站统一风格页面上端header.jsp复用页面,记载用户登录信息及个人信息维护菜单以及网站Logo等信息页面尾端footer.jsp复用页面,显示广告及友情链接信息Action/Servlet设计Action/Servlet入口方法出口UserActionregister.jspexecute() ()成功:login.jsp失败:register.jspValidateCod
6、eServletregister.jspdoPost()输出验证码业务层设计业务接口本模块业务方法方法说明IUserBiz.javapublic void saveUser(Users user);接收用户对象,将用户对象信息保存到数据库UserBizImpl.javapublic void saveUser(Users user)写具体的HQL语句,调用Dao层方法数据持久层设计持久层接口基类接口接口说明IUserDao.javaIGenericDao基类接口应用泛型和反射机制,对数据的操作进行统一处理,无需各持久层接口设计方法。UserDaoImplIUserDaoAGenericHibe
7、rnateDaoUserDaoImpl继承AgenericHibernateDao类,实现IUserDao接口 3.1.4 功能实现时序图 3.2 用户登录模块 用户登录是针对已注册的用户,登录成功后,注册用户获得购物交易的相应权限。 3.2.1 实现流程图 3.2.2 输入输出规则登录模块输入输出规则模块名称登录功能描述用户登录系统以达到注册用户的系统权限用户角色注册用户模块触发条件直接选择登录或在将商品加入购物车时转向登录输入规则按照注册时输入的用户名和密码及随机验证码。可以选择两周内自动登录,则用户名和密码将存入cookie;如果不选将用户对象存入session输出结果登录成功后打开首页
8、,登录用户信息存放在cookie中或者是session中,用户可以进行购买商品或对自己的信息进行维护。关键算法1.查询数据库中用户名和密码2.验证码的生成和验证3.两周内自动登录的选择4.根据用户ID获得用户默认收货地址数据库操作查询用户表 3.2.3视图层、Action、业务层、数据持久层的说明视图Action/Servlet业务层(biz)数据持久层(dao)login.jspindex.jspheader.jspfooter.jspUserAction.javaValidateCodeServlet.javaIUserBiz.javaUserBizImpl.javaIReceiverBi
9、z.javaRecieverBizImpl.javaIUserDao.javaUserDaoImpl.javaIReceiverDao.javaRecieverDaoImpl.java视图层页面设计界面JSP功能描述登录界面login.jsp登录主页面首页index.jsp前台首页面,包括header.jsp和footer.jsp,是为了网站统一风格页面上端header.jsp复用页面,记载用户登录信息及个人信息维护菜单以及网站Logo等信息页面尾端footer.jsp复用页面,显示广告及友情链接信息Action/Servlet设计Action/Servlet入口方法出口UserActionl
10、ogin.jspUserLogin()成功:index.jsp失败:login.jspValidateCodeServletlogin.jspdoPost()输出验证码业务层设计业务接口本模块业务方法方法说明IUserBiz.javapublic Users CheckLogin(final String username,final String password);接收用户名和密码查询数据库返回Users对象UserBizImpl.javapublic Users CheckLogin(final String username,final String password);写具体的HQL
11、语句,调用数据持久层方法数据持久层设计持久层接口基类接口接口说明IUserDao.javaIGenericDao基类接口应用泛型和反射机制,对数据的操作进行统一处理,无需各持久层接口设计方法。UserDaoImpl.javaIUserDaoAGenericHibernateDaoUserDaoImpl继承AgenericHibernateDao类,实现IUserDao接口 3.2.4 功能实现时序图 3.3 商品搜索-品牌检索 用户可以根据网站列出的鞋子品牌、款式进行快速搜索鞋子。还可以根据商品名字进行模糊搜素。另外可以根据尺码、版型、颜色、品牌进行综合搜索。搜索到的鞋子以列表形式分页显示,可
12、以对两个及两个以上鞋子进行对比,可以查看某个鞋子的详细信息。 本环节首先说明品牌搜索实现过程 3.3.1 品牌搜索实现流程图 3.3.2 品牌搜索输入输出规则商品品牌搜索显示输入输出规则模块名称商品品牌搜索显示功能描述根据商品品牌搜索鞋子用户角色注册用户或游客模块触发条件打开网站首页输入规则用鼠标单击品牌链接输出结果显示同一品牌的所有鞋子列表关键算法1.品牌列表链接具备性别和品牌名称参数2.Action中获取到性别及品牌名称,根据性别和品牌名称查找Shoes表数据库操作查询brands表和shoes表 3.3.3视图层、Action、业务层、数据持久层的说明视图Action/Servlet业务
13、层(biz)数据持久层(dao)left_menu.jspsearch.jspShoesAction.javaIShoesBiz.javaShoesBizImpl.javaIShoesDao.javaShoesDaoImpl.java视图层页面设计界面JSP功能描述首页左侧品牌导航页面left_menu.jsp列出品牌,款式及定制链接搜索结果页面Search.jsp,其中包含search_result.jsp根据前置条件将搜索结果列表显示Action/Servlet设计Action/Servlet入口方法出口ShoesActionleft_menu.jspSearchShoesByGender
14、Brand()search_result.jsp业务层设计业务接口本模块业务方法方法说明IShoesBiz.javapublic PageBean SearchShoesByGenderBrand(final String brandName,final String gender,final int currentPage,final int pageSize)根据品牌名字,性别,当前页数和每页记录数查询数据库中鞋子信息返回分页信息。ShoesBizImpl.javapublic PageBean SearchShoesByGenderBrand(final String brandName,final String gender,final int currentPage,final in