1、修改编号修改日期修改后版本修改位置修改内容概述修订人0010.1初始发布版本0020.20030.30040.4005目 录1. 导言11.1 目的11.2 范围11.3 缩写说明11.4 术语定义11.5引用标准21.6 参考资料22 系统设计概述23 详细设计概述34用户登录模块的详细设计3用户管理模块的详细设计35.2餐品搜索浏览56管理员模块的详细设计66.1 订单管理处理66.2 管理员添加77复用的模块87.1客户标签库872数据库的基本操作1012.3结果显示148配置文件148.1 Web.xml配置文件148.2 strcut-config.Xml配置文件161. 导言1.1
2、 目的该文档的目的是描述网上订餐系统项目的详细设计,其主要内容包括:- 系统功能简介- 系统详细设计简述- 各个模块的三层划分- 最小模块组件的伪代码本文档的预期的读者是:l 开发人员l 项目管理人员l 测试人员1.2 范围该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在实现中确定。1.3 缩写说明JSPJava Server Page(Java服务器页面)的缩写,一个脚本化的语言。MVC(模式视图控制)的缩写,表示一个三层的结构体系。1.4 术语定义USE CASE用例会员网上购物平台中合法的系统注册用户Struct一种框架体系结构管理员系统的管理者购物车存放用户
3、在确定订餐前所点选的餐品1.5引用标准 1 企业文档格式标准 V1.1北京长江软件有限公司 2 软件详细设计报告格式标准 V1.1北京长江软件有限公司软件工程过程化组织1.6 参考资料1 实战 美机械工业出版社 2 系统设计概述根据网上订餐系统的概要设计,本系统按照功能角度分解,可以分为客户端子系统和管理端子系统。客户端子系统包括用户注册、用户登录、个人信息维护、餐品信息浏览、维护购物车、生成订单等六个模块。管理端子系统包括登陆管理、维护顾客信息、维护餐品信息、管理订单等四个模块,他们的关系如图2-1,以下将分小节对各个部分分别进行详细设计。图213 详细设计概述本系统总共有两大主要模块,分别
4、是客户模块和管理员模块。每个模块分别有不同的权限和使用功能。4用户登录模块的详细设计开始 用户名密码 是否合法 N Y结束图4.1登录流程图用户管理模块的详细设计用户的主要功能是浏览,订餐。浏览与自己相关的美食信息,订单信息等。用户要下订单之前美食车要把详细食物信息列出,物品的单价,购买的数量,总共的价钱,可修改和删除购买,当符合顾客要求的时候,顾客就可以下订单。下订单时首先会让用户确定一下订单是否符合要求,确认无误后,进入填写接收信息后生成订单。然后对数据库进行操作完成。顾客模块详细设计主要涉及到顾客下订单和餐品搜索浏览两大功能,分别见图5.1,图5.2顾客可以通过此功能对自己选中的东西下订
5、单,等待服务商送货或自己取货。5.1顾客下订单顾客订单确认显示购物车修改订单 不购买此商品结束操作登录 图5.1下单流程图据图删除购物车信息提示错误验证登陆用户id是否正确NY确认结账返回订单生成5.2餐品搜索浏览搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速找到自己想要下订的美食。判断txtSearch 是否为空键入FoodSearch搜索控件User_SearchReault页dlSearchBind()提示输入图5.2搜索模块流程图数据库查找匹配成功提示未找到6管理员模块的详细设计6.1 订单管理处理管理员登录绑定数据库信息信息绑定无误更新数据库选择具体订单显示订单订单管理操作图6
6、.1理员订单处理程序流程图6.2 管理员添加Session“AID”是否为空添加输入框是否为空Class ManagerClassAddadmin()验证管理员用户是否已存在添加到数据库提示登录提示重新输入图6.2添加流程图7 7复用的模块复用是本系统设计的一个重要原则,尤其struct体系本身也遵循了复用的原理,本系统复用的部分主要包括标签库、数据库基本操作以及结果的显示等环节。7.1客户标签库客户标签库主要包括(一) Struct标准标签库本系统中使用了Struct Html标签、Struct Bean标签和Struct Logic,他们是Struct标准标签库。(二) 自定义标签库标签是
7、系统自定义的标签库,表C-是标签库的标签模块。表C-:标签库的标签模块序号标签功能描述1ValidateSessionTag身份验证2PageBeanTag分页表是身份验证的伪代码说明,用户登录后进入的每个页面,为了安全的考虑管理端都需要进行用户验证,以防止非法登录,验证每个页面的都可以标签的方式使用这个复用的。表:身份验证的伪代码/* * System: Online CV System * Version: 1.0 * Copyright (C) 2006 by XXX, Inc. All Rights Reserved. * Class: * Summary: 对用户的身份验证 * Cr
8、eate: 2006.03.28 郭士榕 * Update: */package tag;import javax.servlet.http.HttpSession;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport;import mons.logging.Log;import mons.logging.LogFactory; * ValidateSessionTag是客户端标签,以判断用户是否具有访问当前页面的权限 * 通过保持、判断一个session实现 */public fina
9、l class ValidateSessionTag extends TagSupport private String name = username; private String page = /login.jsp private Log log =LogFactory.getLog(this.getClass().getName();public int doEndTag() throws JspException boolean valid = false;HttpSession session = pageContext.getSession();/判断session中是否有用户信
10、息存在/如果用户存在则不做任何处理/用户不存在则跳转到指定的页面 public int doStartTag() throws JspException return (SKIP_BODY); /获取用户信息 public String getName() 。/获取用户当前访问的页面 public String getPage() /如果用户没有当前页面的访问访问权限,则返回到指定页面,设置这个指定页面 public void release() /设置用户信息 public void setName(String name) /设置当前页面public void setPage(String page) 72数据库的基本操作所有的模块都需要进行数据库的操作,应该有一个通用的,高质量的数据库操作模块,其实所有的模型层的模块也都调用这个模块的。这个模块的名称是DBUtil,类名DB。表C-是它的伪代码描述。表C-:数据库的基本操作 * System: * Version:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1