网上订餐系统详细设计.doc
《网上订餐系统详细设计.doc》由会员分享,可在线阅读,更多相关《网上订餐系统详细设计.doc(19页珍藏版)》请在咨信网上搜索。
2011级软件工程综合设计 《网上订餐系统》 详细设计 文档标识 UB-1 英文标题 Online Reservation System 版 本 号 1.0 状态 初始版 密级 承担单位:*********************** 总负责人:XXX 小组成员:YYY、ZZZ 编 撰 人:XXX、YYY、ZZZ 完成日期: YYYY.MM.DD (宋体三号+加黑) 修订记录 修改编号 修改日期 修改后版本 修改位置 修改内容概述 修订人 001 0.1 初始发布版本 002 0.2 003 0.3 004 0.4 005 1.0 目 录 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.1 Web.xml配置文件 14 8.2 strcut-config.Xml配置文件 16 1. 导言 1.1 目的 该文档的目的是描述《网上订餐系统》项目的详细设计,其主要内容包括: - 系统功能简介 - 系统详细设计简述 - 各个模块的三层划分 - 最小模块组件的伪代码 本文档的预期的读者是: l 开发人员 l 项目管理人员 l 测试人员 1.2 范围 该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在实现中确定。 1.3 缩写说明 JSP Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 MVC Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。 1.4 术语定义 USE CASE 用例 会员 网上购物平台中合法的系统注册用户 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 确认结账 N Y 返回 订单生成 提示错误 Y N 5.2餐品搜索浏览 搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速找到自己想要下订的美食。 判断txtSearch 是否为空 开始 键入FoodSearch搜索控件 User_SearchReault页 dlSearchBind() 结束 提示输入 图5.2搜索模块流程图 数据库查找 匹配成功 提示未找到 6管理员模块的详细设计 6.1 订单管理处理 管理员登录 提示错误 验证登陆用户id是否正确 N 绑定数据库信息 信息绑定无误 更新数据库 结束操作 选择具体订单 显示订单 订单管理操作 图6.1理员订单处理程序流程图 6.2 管理员添加 开始 Session[“AID”] 是否为空 添加输入框是否为空 Class ManagerClass Addadmin() 验证管理员用户是否已存在 添加到数据库 结束 提示登录 提示输入 提示重新输入 图6.2添加流程图 7 7复用的模块 复用是本系统设计的一个重要原则,尤其struct体系本身也遵循了复用的原理,本系统复用的部分主要包括标签库、数据库基本操作以及结果的显示等环节。 7.1客户标签库 客户标签库主要包括 (一) Struct标准标签库 本系统中使用了Struct Html标签、Struct Bean标签和Struct Logic,他们是Struct标准标签库。 (二) 自定义标签库 CV标签是系统自定义的标签库,表C-13是CV标签库的标签模块。 表C-13:CV标签库的标签模块 序号 标签 功能描述 1 ValidateSessionTag 身份验证 2 PageBeanTag 分页 表C-14是身份验证的伪代码说明,用户登录后进入的每个页面,为了安全的考虑管理端都需要进行用户验证,以防止非法登录,验证每个页面的JSP都可以标签的方式使用这个复用的。 表C-14:身份验证的伪代码 /** * @System: Online CV System * @Version: 1.0 * @Copyright (C) 2006 by XXX, Inc. All Rights Reserved. * @Class:ValidateSessionTag * @Summary: 对用户的身份验证 * @Create: 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 final 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中是否有用户信息存在 //如果用户存在则不做任何处理 //用户不存在则跳转到指定的页面 } 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) { 。。。。。。 } } 7.2数据库的基本操作 所有的模块都需要进行数据库的操作,应该有一个通用的,高质量的数据库操作模块,其实所有的模型层的模块也都调用这个模块的。这个模块的名称是DBUtil,类名DB。表C-15是它的伪代码描述。 表C-15:数据库的基本操作 /** * @System: Online CV System * @Version: 1.0 * @Copyright (C) 2006 by changjiang company, Inc. All Rights Reserved. * @Class:DB * @Summary: 取得数据库连接并对数据库进行查询、增加记录、删除记录操作 * @Create: 2006.04.27 李林 * @Update: */ package com.changjiangcompany.struts.javashare; import java.sql.*; import java.util.*; import com.microsoft.jdbcx.sqlserver.SQLServerDataSource; public class DB { private Statement stmt=null; private ResultSet rs=null; public DBConnect() { //初始化连接 。。。。。 } /** * 方法: executeQuery * 描述: 执行查询记录操作 * 输入参数: String strsql 要执行操作的sql语句 * 返回: ArrayList ArrayRs 查询的结果 * 异常: SQLException */ public ArrayList executeQuery(SQLServerDataSource source,String strSql) throws SQLException { /* * 连接数据库 */ /* * 执行SQL的查询语句 */ 。。。。。。 /* * 将每条记录写入ArrayList里 */ 。。。。。。 } /** * 方法: executeInsert * 描述: 执行插入记录操作 * 输入: String strsql 要执行操作的sql语句 * 返回: boolean类型,插入操作是否正确执行 * 异常处理: SQLException */ public boolean executeInsert(SQLServerDataSource source,String strSql) throws SQLException { /* * 连接数据库 */ /* * 执行SQL的插入语句 */ 。。。。。。 /* * 返回SQL插入语句执行的正确或者错误 */ } /** * 方法: executeUpdate * 描述: 执行更新操作 * 输入: String strsql 要执行操作的sql语句 * 返回: int 更新操作的记录数 * 异常处理: SQLException */ public int executeUpdate(SQLServerDataSource source,String strSql) throws SQLException { /* * 连接数据库 */ /* * 执行SQL的修改语句 */ 。。。。。。 /* * 返回SQL修改语句执行的记录数 */ } /** * 方法: executeDelete * 描述: 执行删除操作 * 输入: String strsql 要执行操作的sql语句 * 返回: int 删除操作的记录数 * 异常处理: SQLException */ public int executeDelete(SQLServerDataSource source,String strSql) throws SQLException { /* * 连接数据库 */ /* * 执行SQL的删除语句 */ 。。。。。。 /* * 返回SQL删除语句记录数 */ } 12.3结果显示 为了保证系统显示结果的一致性和统一性,系统中所有的结果显示要调用统一的结果显示页面,表C-16是结果显示一览表。 表C-16:结果显示页面一览表 序号 模块名 功能说明 1 SuccessResult 成功登陆 2 WrongResult 结果错误 3 Common 操作提示 4 Top 主页面的头部 5 Bottom 主页面的脚部 6 Left 主页面的右部 8配置文件 Struct应用采用两个基于XML的配置文件来配置应用,这两个配置文件为Web.xml和strcut-config.Xml。Web.xml适用于所有的Java Web应用,他是Web应用的发布描述文件,在Java Servlet规范中对它做了定义,对于Struct应用,在Web.xml文件中除了配置Java Web应用的常规信息,还应该配置和Struct相关的特殊信息。strcut-config.Xml是Struct应用专有的配置文件,事实上,也可以根据需要给这个配置文件换为其它的文件名。 下面给出本项目中Web.xml配置文件和strcut-config.Xml配置文件的配置步骤和范围,在编码实施过程中,由开发经理指派专人负责所有文件的具体配置和协调。 8.1 Web.xml配置文件 Web.xml配置文件的配置步骤和范围 一、 配置Struct的ActionServlet 在Web.xml中配置ActionServlet主要包括声明ActionServlet(即配置<Servlet>元素)、运行时环境的初始化配置(即配置<Servlet>元素的<init-param>的子元素)和指定ActionServlet可以处理哪些URL(即配置<Servlet-mapping>元素)。例如 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.structs.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struct-config.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> 二、 配置欢迎文件清单 当客户访问Web应用时,如果没有指定具体的文件名,Web容器可以自动调用Web应用的欢迎文件。<welcome-file-list>元素用来设置欢迎文件清单。例如: <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>login.jsp</welcome-file> </welcome-file-list> 三、 配置错误处理 在系统运行过程中如果错误发生而Struct框架不能处理这种错误时,就将错误抛给Web容器,为了避免让用户看到原始的错误信息,可以配置<error-page> 元素及其子元素<error-code>和<exception-type>等.例如: <error-page> <error-code>404</error-code> <location>/common/404.jsp</location> </error-page> <error-page> < exception-type>java.io.IOException</ exception-type > <location>/common/system_ioerror.jsp</location> </error-page> 四、 配置标签库 Strcut框架提供了一些实用的客户化标签库,如果在应用中使用了标签库,那么必须在配置元素<taglib>中配置它们,它有两个子元素,<taglib-url>和<taglib-location>.例如: <taglib> <taglib-url>/WEB-INF/struts-bean.tld</taglib-url> <taglib-location>/WEB-INF/struts-bean.tld </taglib-location> </taglib> 8.2 strcut-config.Xml配置文件 Struts框架在启动的时候会读入其配置文件,根据它来创建和配置各种组件. Struts配置文件使得开发者可以灵活地组装和配置各个组件,提高了应用软件的可扩展性和灵活性. 【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】 精选范本,供参考!- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统 详细 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文