网上订餐系统详细设计说明Word下载.doc
《网上订餐系统详细设计说明Word下载.doc》由会员分享,可在线阅读,更多相关《网上订餐系统详细设计说明Word下载.doc(30页珍藏版)》请在冰豆网上搜索。
修改编号
修改日期
修改后版本
修改位置
修改内容概述
修订人
001
0.1
初始发布版本
002
0.2
003
0.3
004
0.4
005
目录
1.导言 1
1.1目的 1
1.2范围 1
1.3缩写说明 1
1.4术语定义 1
1.5引用标准 2
1.6参考资料 2
2系统设计概述 2
3详细设计概述 3
4用户登录模块的详细设计 3
5用户管理模块的详细设计 3
5.2餐品搜索浏览 5
6管理员模块的详细设计 6
6.1订单管理处理 6
6.2管理员添加 7
7复用的模块 8
7.1客户标签库 8
7.2数据库的基本操作 10
12.3结果显示 14
8配置文件 14
8.1Web.xml配置文件 14
8.2strcut-config.Xml配置文件 16
1.导言
1.1目的
该文档的目的是描述《网上订餐系统》项目的详细设计,其主要内容包括:
-系统功能简介
-系统详细设计简述
-各个模块的三层划分
-最小模块组件的伪代码
本文档的预期的读者是:
l开发人员
l项目管理人员
l测试人员
1.2范围
该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在实现中确定。
1.3缩写说明
JSP
JavaServerPage(Java服务器页面)的缩写,一个脚本化的语言。
MVC
Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。
1.4术语定义
USECASE
用例
会员
网上购物平台中合法的系统注册用户
Struct
一种框架体系结构
管理员
系统的管理者
购物车
存放用户在确定订餐前所点选的餐品
1.5引用标准
[1]《企业文档格式标准》V1.1
北京长江软件有限公司
[2]《软件详细设计报告格式标准》V1.1
北京长江软件有限公司软件工程过程化组织
1.6参考资料
[1]《实战struct》〔美〕Ted Husted
机械工业出版社
2系统设计概述
根据《网上订餐系统》的概要设计,本系统按照功能角度分解,可以分为客户端子系统和管理端子系统。
客户端子系统包括用户注册、用户登录、个人信息维护、餐品信息浏览、维护购物车、生成订单等六个模块。
管理端子系统包括登陆管理、维护顾客信息、维护餐品信息、管理订单等四个模块,他们的关系如图2-1,以下将分小节对各个部分分别进行详细设计。
图2—1
3详细设计概述
本系统总共有两大主要模块,分别是客户模块和管理员模块。
每个模块分别有不同的权限和使用功能。
4用户登录模块的详细设计
开始
用户名
密码
是否合法
N
Y
结束
图4.1登录流程图
5用户管理模块的详细设计
用户的主要功能是浏览,订餐。
浏览与自己相关的美食信息,订单信息等。
用户要下订单之前美食车要把详细食物信息列出,物品的单价,购买的数量,总共的价钱,可修改和删除购买,当符合顾客要求的时候,顾客就可以下订单。
下订单时首先会让用户确定一下订单是否符合要求,确认无误后,进入填写接收信息后生成订单。
然后对数据库进行操作完成。
顾客模块详细设计主要涉及到顾客下订单和餐品搜索浏览两大功能,分别见图5.1,图5.2
顾客可以通过此功能对自己选中的东西下订单,等待服务商送货或自己取货。
5.1顾客下订单
顾客
订单确认
显示购物车
修改订单
不购买此商品
结束操作
登录
图5.1下单流程图据图
删除购物车信息
提示错误
验证登陆用户id是否正确
N
Y
确认结账
返回
订单生成
5.2餐品搜索浏览
搜索控件,为顾客提供更为方便快捷的服务。
顾客可以快速找到自己想要下订的美食。
判断txtSearch是否为空
键入FoodSearch搜索控件
User_SearchReault页
dlSearchBind()
提示输入
图5.2搜索模块流程图
数据库查找
匹配成功
提示未找到
6管理员模块的详细设计
6.1订单管理处理
管理员登录
绑定数据库信息
信息绑定无误
更新数据库
选择具体订单
显示订单
订单管理操作
图6.1理员订单处理程序流程图
6.2管理员添加
Session[“AID”]
是否为空
添加输入框是否为空
ClassManagerClass
Addadmin()
验证管理员用户是否已存在
添加到数据库
提示登录
提示重新输入
图6.2添加流程图
7
7复用的模块
复用是本系统设计的一个重要原则,尤其struct体系本身也遵循了复用的原理,本系统复用的部分主要包括标签库、数据库基本操作以及结果的显示等环节。
7.1客户标签库
客户标签库主要包括
(一)Struct标准标签库
本系统中使用了StructHtml标签、StructBean标签和StructLogic,他们是Struct标准标签库。
(二)自定义标签库
CV标签是系统自定义的标签库,表C-13是CV标签库的标签模块。
表C-13:
CV标签库的标签模块
序号
标签
功能描述
1
ValidateSessionTag
身份验证
2
PageBeanTag
分页
表C-14是身份验证的伪代码说明,用户登录后进入的每个页面,为了安全的考虑管理端都需要进行用户验证,以防止非法登录,验证每个页面的JSP都可以标签的方式使用这个复用的。
表C-14:
身份验证的伪代码
/**
*@System:
OnlineCVSystem
*@Version:
1.0
*@Copyright(C)2006byXXX,Inc.AllRightsReserved.
*@Class:
*@Summary:
对用户的身份验证
*@Create:
2006.03.28郭士榕
*@Update:
*/
packagetag;
importjavax.servlet.http.HttpSession;
importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.tagext.TagSupport;
importmons.logging.Log;
importmons.logging.LogFactory;
*ValidateSessionTag是客户端标签,以判断用户是否具有访问当前页面的权限
*通过保持、判断一个session实现
*/
publicfinalclassValidateSessionTagextendsTagSupport
{
privateStringname="
username"
;
privateStringpage="
/login.jsp"
privateLoglog=LogFactory.getLog(this.getClass().getName());
publicintdoEndTag()throwsJspException
booleanvalid=false;
HttpSessionsession=pageContext.getSession();
//判断session中是否有用户信息存在
//如果用户存在则不做任何处理
//用户不存在则跳转到指定的页面
}
publicintdoStartTag()throwsJspException
return(SKIP_BODY);
}
//获取用户信息
publicStringgetName()
。
。
//获取用户当前访问的页面
publicStringgetPage()
//如果用户没有当前页面的访问访问权限,则返回到指定页面,设置这个指定页面
publicvoidrelease()
//设置用户信息
publicvoidsetName(Stringname)
//设置当前页面
publicvoidsetPage(Stringpage)
7.2数据库的基本操作
所有的模块都需要进行数据库的操作,应该有一个通用的,高质量的数据库操作模块,其实所有的模型层的模块也都调用这个模块的。
这个模块的名称是DBUtil,类名DB。
表C-15是它的伪代码描述。
表C-15:
数据库的基本操作
*@System:
*@Version: