网上订餐系统详细设计范本模板.docx

上传人:b****6 文档编号:4571584 上传时间:2022-12-06 格式:DOCX 页数:19 大小:135.34KB
下载 相关 举报
网上订餐系统详细设计范本模板.docx_第1页
第1页 / 共19页
网上订餐系统详细设计范本模板.docx_第2页
第2页 / 共19页
网上订餐系统详细设计范本模板.docx_第3页
第3页 / 共19页
网上订餐系统详细设计范本模板.docx_第4页
第4页 / 共19页
网上订餐系统详细设计范本模板.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

网上订餐系统详细设计范本模板.docx

《网上订餐系统详细设计范本模板.docx》由会员分享,可在线阅读,更多相关《网上订餐系统详细设计范本模板.docx(19页珍藏版)》请在冰豆网上搜索。

网上订餐系统详细设计范本模板.docx

网上订餐系统详细设计范本模板

2011级软件工程综合设计

 

《网上订餐系统》

详细设计

        

文档标识  

UB-1

英文标题

OnlineReservationSystem 

版本号

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。

 

1.1目的1

1.2范围ﻩ1

1。

4术语定义ﻩ1

1.5引用标准2

1。

6参考资料ﻩ2

2系统设计概述ﻩ2

3 详细设计概述3

6管理员模块的详细设计ﻩ6

6.1订单管理处理6

6.2管理员添加ﻩ7

7.1客户标签库8

12.3结果显示ﻩ14

8配置文件14

8.1Web.xml配置文件ﻩ14

8.2strcut-config。

Xml配置文件ﻩ16

1。

导言

1.1 目的

该文档的目的是描述《网上订餐系统》项目的详细设计,其主要内容包括:

-系统功能简介

-系统详细设计简述

-各个模块的三层划分

-最小模块组件的伪代码

本文档的预期的读者是:

●开发人员

●项目管理人员

●测试人员

 

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。

顾客可以通过此功能对自己选中的东西下订单,等待服务商送货或自己取货。

5。

1顾客下订单

5。

2餐品搜索浏览

搜索控件,为顾客提供更为方便快捷的服务。

顾客可以快速找到自己想要下订的美食。

6管理员模块的详细设计

6.1 订单管理处理

6.2管理员添加

7复用的模块

复用是本系统设计的一个重要原则,尤其struct体系本身也遵循了复用的原理,本系统复用的部分主要包括标签库、数据库基本操作以及结果的显示等环节。

7.1客户标签库

客户标签库主要包括

(一)Struct标准标签库

本系统中使用了StructHtml标签、Struct Bean标签和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)2006by XXX, Inc。

AllRights Reserved. 

*@Class:

ValidateSessionTag

*@Summary:

 对用户的身份验证 

 *@Create:

2006.03。

28郭士榕

 *@Update:

*/

packagetag;

importjavax.servlet.http。

HttpSession;

importjavax.servlet.jsp。

JspException;

import javax。

servlet.jsp。

tagext.TagSupport;

importorg。

apache。

commons。

logging。

Log;

import org。

apamons。

logging。

LogFactory;

/**

*ValidateSessionTag是客户端标签,以判断用户是否具有访问当前页面的权限

*通过保持、判断一个session实现

*/

publicfinal classValidateSessionTagextends TagSupport

ﻩprivateStringname="username”;

 privateStringpage=”/login。

jsp";

 privateLoglog=LogFactory。

getLog(this.getClass()。

getName());

public intdoEndTag()throwsJspException 

{

booleanvalid= false;

ﻩHttpSession session=pageContext。

getSession();

ﻩ//判断session中是否有用户信息存在

//如果用户存在则不做任何处理

//用户不存在则跳转到指定的页面

ﻩ  

}

publicintdoStartTag()throwsJspException

ﻩreturn (SKIP_BODY);

 }

//获取用户信息 

publicStringgetName()

{

ﻩ.。

.。

//获取用户当前访问的页面   

publicStringgetPage() 

{

.。

.

  }

ﻩ//如果用户没有当前页面的访问访问权限,则返回到指定页面,设置这个指定页面 

publicvoidrelease() 

.。

}

//设置用户信息 

publicvoidsetName(Stringname)

  

//设置当前页面

publicvoid setPage(String page)

{

ﻩ.。

 }

 

7.2数据库的基本操作

所有的模块都需要进行数据库的操作,应该有一个通用的,高质量的数据库操作模块,其实所有的模型层的模块也都调用这个模块的.这个模块的名称是DBUtil,类名DB。

表C—15是它的伪代码描述。

表C-15:

数据库的基本操作

/**

 * @System:

 OnlineCV System

* @Version:

 1.0

*@Copyright(C)2006 bychangjiangcompany,Inc。

All Rights Reserved.

*@Class:

DB

* @Summary:

取得数据库连接并对数据库进行查询、增加记录、删除记录操作 

* @Create:

2006。

04。

27 李林

 *@Update:

*/

packagecom.changjiangcompany.struts。

javashare;

importjava.sql。

*; 

import java.util.*;

importcom。

microsoft.jdbcx。

sqlserver.SQLServerDataSource;

publicclass DB{

ﻩprivateStatementstmt=null;

ﻩprivateResultSet rs=null; 

publicDBConnect()

{

ﻩ//初始化连接

ﻩ。

.

  /**

ﻩ*方法:

executeQuery

*描述:

执行查询记录操作

* 输入参数:

String strsql要执行操作的sql语句

ﻩ*返回:

ArrayListArrayRs查询的结果

ﻩ*异常:

 SQLException

 */

public ArrayListexecuteQuery(SQLServerDataSourcesource,StringstrSql)throwsSQLException 

{

  

/*

ﻩﻩ*连接数据库

   ﻩﻩ*/

 

/*

 *执行SQL的查询语句

  ﻩﻩ*/

 /*

    * 将每条记录写入ArrayList里

  ﻩ */

  ﻩ。

.。

..

  

 

 }

 

  /**

* 方法:

executeInsert

ﻩ*描述:

执行插入记录操作

ﻩ*输入:

 Stringstrsql要执行操作的sql语句

ﻩ*返回:

 boolean类型,插入操作是否正确执行

ﻩ*异常处理:

 SQLException

*/

publicboolean executeInsert(SQLServerDataSourcesource,StringstrSql)throws SQLException

{

/*

  *连接数据库

 ﻩﻩ*/

 

/*

 ﻩ *执行SQL的插入语句

 ﻩ*/

 ﻩﻩ/*

  *返回SQL插入语句执行的正确或者错误

 ﻩ*/

/**

*方法:

 executeUpdate

*描述:

  执行更新操作

* 输入:

Stringstrsql要执行操作的sql语句

ﻩ*返回:

 int更新操作的记录数

*异常处理:

SQLException

ﻩ */

ﻩpublicintexecuteUpdate(SQLServerDataSourcesource,StringstrSql)throwsSQLException

{

/*

    *连接数据库

  ﻩ */

 

/*

 ﻩﻩ* 执行SQL的修改语句

 */

...。

 ﻩ/*

 *返回SQL修改语句执行的记录数

    */

 }

 

   /**

* 方法:

executeDelete

ﻩ*描述:

 执行删除操作

ﻩ*输入:

 Stringstrsql 要执行操作的sql语句

ﻩ * 返回:

int 删除操作的记录数

*异常处理:

SQLException

*/

ﻩpublicintexecuteDelete(SQLServerDataSourcesource,StringstrSql)throwsSQLException

{

/*

 ﻩﻩ* 连接数据库

 ﻩﻩ*/

 

/*

 ﻩﻩ*执行SQL的删除语句

    */

.。

   /*

  ﻩ*返回SQL删除语句记录数

    ﻩﻩ */

 }

   

 

12.3结果显示

为了保证系统显示结果的一致性和统一性,系统中所有的结果显示要调用统一的结果显示页面,表C-16是结果显示一览表。

表C-16:

结果显示页面一览表

序号

模块名

功能说明

1

SuccessResult

成功登陆

WrongResult

结果错误

Common

操作提示

4

Top

主页面的头部

Bottom

主页面的脚部

6

Left

主页面的右部

 

8配置文件

Struct应用采用两个基于XML的配置文件来配置应用,这两个配置文件为Web.xml和strcut—config。

Xml.Web。

xml适用于所有的JavaWeb应用,他是Web应用的发布描述文件,在JavaServlet规范中对它做了定义,对于Struct应用,在Web.xml文件中除了配置JavaWeb应用的常规信息,还应该配置和Struct相关的特殊信息.strcut—config。

Xml是Struct应用专有的配置文件,事实上,也可以根据需要给这个配置文件换为其它的文件名。

下面给出本项目中Web.xml配置文件和strcut-config.Xml配置文件的配置步骤和范围,在编码实施过程中,由开发经理指派专人负责所有文件的具体配置和协调。

8.1Web。

xml配置文件

Web.xml配置文件的配置步骤和范围

一、配置Struct的ActionServlet

在Web。

xml中配置ActionServlet主要包括声明ActionServlet(即配置<Servlet>元素)、运行时环境的初始化配置(即配置〈Servlet〉元素的的子元素)和指定ActionServlet可以处理哪些URL(即配置〈Servlet-mapping>元素)。

例如

〈servlet>

<servlet—name〉action

〈servlet-class>org.apache。

structs。

action.ActionServlet〈/servlet—class>

ﻩ〈param—name>config

ﻩ〈param-value〉/WEB—INF/struct-config.xml〈/param-value>

〈/init-param〉

〈/servlet>

<servlet-mapping〉

do

 

二、配置欢迎文件清单

当客户访问Web应用时,如果没有指定具体的文件名,Web容器可以自动调用Web应用的欢迎文件。

〈welcome-file-list〉元素用来设置欢迎文件清单。

例如:

〈welcome—file-list〉

index.jsp〈/welcome-file>

<welcome—file〉login。

jsp

〈/welcome—file-list>

 

三、配置错误处理

在系统运行过程中如果错误发生而Struct框架不能处理这种错误时,就将错误抛给Web容器,为了避免让用户看到原始的错误信息,可以配置〈error—page〉元素及其子元素〈error-code>和

<error-page>

ﻩ<error—code>404〈/error—code〉

ﻩﻩ〈location>/common/404。

jsp〈/location>

</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>

8。

2strcut-config。

Xml配置文件

Struts框架在启动的时候会读入其配置文件,根据它来创建和配置各种组件。

Struts配置文件使得开发者可以灵活地组装和配置各个组件,提高了应用软件的可扩展性和灵活性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1