网上订餐系统概要设计

更新时间:2024-05-24 16:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

网上订餐系统概要设计

目录

网上订餐系统概要设计..................................................................................................... 1 目录................................................................................................................................. 2 1. 导言 ............................................................................................................................ 4

1.1. 目的 .................................................................................................................. 4 1.2. 范围 .................................................................................................................. 4 1.3. 缩写说明 ........................................................................................................... 4 1.4. 术语定义 ........................................................................................................... 4 1.5. 引用标准 ........................................................................................................... 5 1.6. 参考资料 ........................................................................................................... 5 1.7. 版本更新信息 .................................................................................................... 5 2. 系统框架 ..................................................................................................................... 6 3. 系统功能 ..................................................................................................................... 6

3.1. 管理员功能........................................................................................................ 6 3.2. 客户功能 ........................................................................................................... 7 4. 界面设计 ..................................................................................................................... 8 4.1. 管理端操作界面................................................................................................. 9 4.2. 客户端操作界面................................................................................................ 11 5. 体系结构 .................................................................................................................... 11

5.1. 体系结构 ..........................................................................................................12

5.1.1. struct体系结构 .........................................................................................12 5.1.2. 系统体系结构 ..........................................................................................14 5.2. 系统进行环境 ...................................................................................................16

5.2.1. 网络结构图 .............................................................................................16

5.2.2. 硬件环境 .................................................................................................17 5.2.3. 软件环境 .................................................................................................17

6. 数据模型 ....................................................................................................................18

6.1. 系统E-R图设计 ...............................................................................................19

6.2. 数据库的逻辑结构模型设计 ..............................................................................19 6.3. 数据库物理结构模型设计..................................................................................21 7. 模块设计 ....................................................................................................................22

7.1. 客户端模块设计................................................................................................22

7.1.1. 表示层设计 .............................................................................................23

7.1.2. 控制层 ....................................................................................................23 7.1.3. 模型层 ....................................................................................................23 7.2. 系统管理模块设计 ............................................................................................24

7.2.1. 表示层设计 .............................................................................................24 7.2.2. 控制层设计 .............................................................................................24 7.3. 会员管理模块设计 ............................................................................................24

7.3.1. 表示层设计 .............................................................................................24 7.3.2. 控制层设计 .............................................................................................25 7.4. 菜肴管理模块设计 ............................................................................................25

7.4.1. 表示层设计 .............................................................................................26

7.4.2. 控制层设计 .............................................................................................26 7.4.3. 模型层设计 .............................................................................................26

8. 签字 ...........................................................................................................................27

1. 导言

1.1. 目的

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

? 系统功能简介 ? 系统结构设计 ? 系统接口设计 ? 数据设计 ? 模块设计 ? 界面设计

本文档的预期的读者是:

? 开发人员 ? 项目管理人员 ?

测试人员

1.2. 范围

该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。1.3. 缩写说明

1.4. 术语定义

1.5. 引用标准

[1] 《企业文档格式标准》 北京长江软件有限公司

[2] 《软件概要设计报告格式标准》

北京长江软件有限公司软件工程过程化组织

1.6. 参考资料

[1] 《实战struct》 〔美〕Ted Husted

机械工业出版社 [2] 《软件重构》

清华大学出版社

1.7. 版本更新信息

本文档的更新记录如下表。

修改编号 修改日期 001 002 003 004 005 2012.4.5 2012.4.10 2012.4.15 2012.4.16 2012.4.18 修改后版本 修改位置 0.1 0.2 0.3 0.4 1.0 全部 细节 细节 细节 细节 修改内容概述 初始发布版本 增加 修改 修改 增加

2. 系统框架

本订餐系统主要包括三大模块:第一部分是登陆模块 ,有管理员和客户登陆两大部分;第二部分是客户模块,在这个模块中又分成客户帐号管理模块和订餐情况管理模块;第三部分是管理员模块,在这个模块中又分成客户帐号管理模块和订餐情况管理模块。

网上订餐系统 管理客员户模模块块

3. 系统功能

3.1. 管理员功能

以管理员身份登录后,可以执行的功能:

管理员功能 订餐管理 管理员管理 货物菜系管理 客户管理 订餐信息查询订餐发货订餐信息删除管理员信息查询管理员信息添加管理员信息修改管理员信息删除菜肴信息查询菜肴信息添加菜肴信息修改菜肴信息删除客户信息查询客户信息添加客户信息修改客户信息删除

图3-3 管理员功能结构图

管理员管理:用于管理员对管理员信息进行查询、添加、修改以及删除。

客户管理:用于管理员对员工信息进行查询、添加、修改以及删除(该功能需要权限密码)。

菜系管理:用于管理员对货物信息进行查询、添加、修改以及删除(该功能需要权限密码)。

订餐管理:用于对客户的订餐信息进行查看、删除和发货的操作。

3.2. 客户功能

以客户身份登录后,可以执行的功能:

客户功能 客户管理 订餐 客户注册客户密码修改客户地址修改进行订餐客户息姓查名询记录订餐日期记录订餐时间记录客户地址记录订餐内容记录作。

订餐管理:用于客户对客户信息订餐操作进行确定,系统进行记录。

4. 界面设计

本系统出于对客户的服务以及对订餐系统内部管理的双重考虑,将系统设计为会员操作界面和管理员操作界面。首先,用户通过系统主界面,可以浏览查看到订餐饭店的一些基本信息,首次使用系统的客户必须先注册为饭店会员,才能登陆系统,页面如下图所示。

客户管理:用于客户对客户信息进行注册、修改以及进行订餐操

4.1. 管理端操作界面

管理端主要实现会员管理、菜肴管理、订单管理、管理员管理等功能。主要界面设计如下:

〃登录界面:通过输入用户各和密码实现用户登录,并判断用户的权限;

〃管理首页:根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能;

〃订单管理:包括“订单信息管理”、“发货管理”等页面; 〃会员管理:包括“会员列表”、“会员信息”、“修改会员信息”、“增加会员”和“删除会员”、“用户权限设置”等页面;

〃菜肴管理:包括“菜肴列表”、“菜肴信息”、“修改菜肴信息”、“增加菜肴”和“删除菜肴”、“菜肴特价设置”等页面;

〃系统管理:包括“管理员管理”和“系统数据备份”、“用户权

限设置”等页面;

具体页面如下图所示。

4.2. 客户端操作界面

客户端主要为会员提供服务,会员可修改个人的注册信息,查看个人购物车和个人订单信息。在客户界面,会员首先进入会员操作界面,点击进入会员功能主界面,包括“个人信息修改”、“密码找回”、“个人订单信息”、“购物车”,“最新菜肴”,“特价菜肴”等页面。

具体页面如下图所示:

5. 体系结构

系统的总体结构设计遵循如下原则。

1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求;

2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,

以保证系统在以后的实际应用中安全、可靠;

3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问;

4)系统应具有良好的可维护性:系统应易于维护、安装; 5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。

本系统采用体系结构,struct是一个基于模型(Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。

5.1. 体系结构

目前软件项目中有很多体系结构,其中struct是比较流行的一种。

5.1.1. struct体系结构

对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架、开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,在struct框架在模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件组成,图2-6显示了Struct实现的MVC框架。

其中:

〃视图,就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如struct标签库的标签。此外,通常将struct框架中的ActionForm Bean也划为视图模块,ActionForm Bean是一种JavaBean,除了具有一些JavaBean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用struct标签读取修改后的ActionForm Bean的信息,然后重新设置HTML表单。

Struct-config.xml 控制器Action 模型 JavaBean EJB 浏览器 Web 服务器 ActionServlet Action 视图 JSP Action 图2-6 struct实现的MVC框架

〃控制器,控制器由ActionServlet类和Action类实现,ActionServlet类是struct框架中的核心组件,是这个MVC的中央控制器的角色。ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象.Action类负责调用模型的方法,更新模型的状态,并帮助控制

应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。

〃模型,模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。

如果在Web应用开发中套用现成的struct框架,就可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用struct提供的各种实用类和标签库,简化编码工作。

Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而struct的配置文件struct-config.xml可以灵活地组装这些组件,以简化开发过程。

5.1.2. 系统体系结构

根据系统分析结果,该系统从结构上应满足: 〃基于游览器进行显示以方便用户使用;

〃采用MVC的三层体系结构,分化各个功能组件; 〃采用JDBC技术与数据库通信以便于数据库的转换; 〃采用标签技术完成动态页面的简单逻辑。

本系统的体系结构如图2-7所示,它基本遵循了struct体系的MVC框架规范。

视图(V)层:用户界面(浏览器) HTML,CSS,DHTML,JavaScript,XML 视图(V)层:服务器端脚本 Connects UI to Business Objects, Java Server Pages,Java Servlets 控制(C)层:分布式组件 JavaBean 模型(M):数据源和持久对象存储 ODBC, JDBC, OLEDB, ADO, XML, LDAP 图2-7 系统的体系结构

其中:

〃表示层,用于与用户进行交互并显示结果。包括所有的JSP,提供用户界面,接受用户输入,还包括相应的ActionFrom Bean,用来存放表单数据,并进行表单数据验证;

〃控制层,包括所有的Action类,它完成三项任务,一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户;

〃模型,包括进行逻辑处理的JavaBean等,数据库采用ODBC技术以提供数据库的可移植性。

体系结构的具体拓扑图示如图2-8所示。

表示层逻辑客户端子系统业务层逻辑服务器处理模块职位管理简历管理面试管理????Reques/ResponseSession/cookie用户管理数据库存取接口服务层????????关系型数据库其他服务

图2-8体系结构拓扑图

1)客户层:用于与企业信息系统的用户进行交互以及显示根据特定业务规则进行计算后的结果。本系统将完全采用基于Web的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。

2)中间层:这相当于三层标准架构中的Web应用服务层,支持诸如响应客户请求以及查询等功能。并且由中间层进行逻辑处理,再将处理的结果反馈给客户或者发送到数据库中。

3)服务层:主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。

5.2. 系统进行环境

下面讲述系统运行的网络结构,硬件、软件环境。

5.2.1. 网络结构图

本系统的网络拓扑图如图2-9所示。

Web服务器数据库服务器交换机互联网局域网用户系统管理员远程用户机??????远程用户机

图2-9 网络拓扑图

其中的局域网用户机主要是俱乐部内部的人员可以使用的机器,

运程用户机主要是指通过互联网登录系统的人员使用的机器,可以是俱乐部管理者,也可以是会员。

5.2.2. 硬件环境

本系统的硬件环境如下。 1)客户机:普通PC 〃CPU:P41.8GHz以上 〃内存:256MB以上

〃能够运行IE5.0以上或者Netscape4.0以上版本的机器 〃分辨率:推荐使用1024×768像素 2)Web服务器 〃CPU:P42.0GHz 〃内存:1GB以上 〃硬盘:80GB以上 〃网卡:KMb/s速度网卡 3)数据库服务器 〃CPU:P42.0GHz 〃内存:1GB以上 〃硬盘:80GB以上

5.2.3. 软件环境

本系统的软件环境如下:

〃操作系统:UNIX/Linux/Windows2000或以上版本 〃数据库:SQL Server 2000

〃开发工具包:JDK(Java集成开发工具包) 〃开发环境:eclipse-SDK 〃Web服务器:Tomcat 〃浏览器:IE5.0以上

1)

数据库及操作系统:对于核心数据库来说,选择一个合适的数据库

系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2、Microsoft SQL Server系列。所有这些产品都基于SQL语言。同时,它们还拥有精度复杂的安全控制以适应不同的商业需要。服务器操作系统使用Windows2000 Server

考虑到价格因素、易用性,我们使用SQL Server2000作为系统后台数据库系统,服务器操作系统采用Windows2000 Server。

2)Web服务软件:目前的Web服务器软件有很多种,成熟而且稳定的有Apache、Tomcat和Microsoft的IIS,它们占据着Web服务器市场最大的份额。Tomcat是Sun和Apache合作推出的JSP Server,支持Servlet2.2及JSP1.1等版本。而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&JSP Engine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apche中,这样就更可以在servlet中,发挥非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。因此这里选择Tomcat作为Web服务器。

6. 数据模型

本系统的数据模型设计内容主要是进行数据库的设计。

6.1. 系统E-R图设计

帐号 帐号 密码 姓名 管理员表 密码 管理 管理员表 姓名 管理 登录 管理员 工号 职位 帐号 用户 密码 客户 姓名 日期 管理 订餐 用户表 管理员表 时间 地址 内容 帐号 密码 姓名 地址

6.2. 数据库的逻辑结构模型设计

数据库的逻辑设计是将各局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。根据本系统需

求分析,系统的数据库包括了会员管理、菜肴管理、订单管理、管理员管理、价位管理、友情链接管理以及需要的基本数据字典等部分。

会员管理包括的库表:

〃tb_member——会员信息表,包含会员的所有信息; 菜肴管理包括的库表:

〃tb_bigType——菜系种类表,包含菜系大方向的种类信息; 〃tb_goods——菜肴列表,包含所有菜肴的信息。 〃tb_smallType——小种类列表,区分菜肴的小种类。 管理员管理包括的库表:

〃tb_manager——管理员信息表,包含管理员的所有信息。 订单管理包括的库表:

〃tb_order——订单表,包含订单的所有信息;

〃tb_orderDetail——订单细节表,包含订单细节的所有信息; 表2-1是对表tb_member的设计,其他库表的详细设计见数据表设计文件。

表2-1 tb_member(会员信息列表)表

字段名称 Id name Password reallyName age profession question Email Result 数据类型 字符型 字符型 字符型 文本型 整型 字符型 字符型 字符型 字符型 字段大小 说明 10 会员编号,代码干预 10 用户名 50 登陆密码 50 会员姓名 4 年龄 50 职业 50 找回密码问题 50 会员的电子邮件 50 找回密码答案

6.3. 数据库物理结构模型设计

信息存储结构的设计在系统的设计中至关重要,要考虑到数据冗余、系统执行效率、信息控制以及维护等方面的要求。信息的管理离不开数据库的支持,我们采用SQL Server 2000数据库管理系统。

数据库的物理设计主要是对数据在内存中的安排,包括对索引区、缓冲区的设计,对使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分,设置访问数据的方式方法。需在非系统卷(操作系统所在卷以外的其他卷)上安装SQL Server程序及数据库文件。内存是影响Microsoft SQL Server系统性能的一个重要因素,应在Microsoft SQL Server数据库安装后进行内存选项(Memory)设置,最大配置值为2GB。

为了确定SQL Server系统最适宜的内存需求,可以从总的物理内存中减去 Windows 2000 Server需要的内存(12MB)以及其他一些内存需求后综合确定,理想的情况是给SQL Server分配尽可能多的内存,而不产生页面调度。设置服务器的虚拟内存为1GB。

通过JdbcOdbcDriver与数据库连接 1)首先创建Connection对象。

Class.forName(\cn=DriverManager.getConnection(\

2)使用记录集后关闭并释放资源。 rs.close();

ps.close(); cn.close();

数据库各库表的脚本代码见数据库脚本文件。

7. 模块设计

按照功能分解,本系统分为客户端管理系统和管理端管理系统。根据页面流的设计,管理端系统又分为会员管理、菜肴管理、订单管理、管理员管理、友情链接管理、标语管理等几个模块。

以下将分小节介绍各个部分的设计。

7.1. 客户端模块设计

客户端运行在公用网上,客户端主要为会员提供服务。用户可以填写自己的基本信息,包括:真实姓名、年龄、性别、用户名、密码、职业、年龄、联系电话、电子邮件这些构成了用户信息,当填写完后可以申请成为会员。会员可修改个人的注册信息,每次来饭店消费时使用购物车进行消费,还可查询自己在俱乐部的消费记录。在客户界面,会员首先进入会员操作界面,点击进入会员功能主界面,包括“个人信息修改”、“找回密码”、“个人消费订单”、“购物车”、“菜系查询”、“菜肴查询”、“特价商品”和“账号管理”等功能。

7.1.1. 表示层设计

根据上述功能介绍,总结出客户端的页面设计如表2-2所列。

表2-2 客户端的页面设计

界面

主页面

个人注册信息 会员登录 账号管理

查询消费记录 购物车 找回密码

JSP

index.jsp

fg-memberRegister.jsp index.jsp memberAction.jsp cart_detail.jsp cart_see.jsp fg-One.jsp

功能描述

客户端的主页面

填写个人基本情况页面 会员登录页面 修改会员信息页面 查询消费记录页面 查看购物车 找回密码

根据界面流的设计可以确定各个界面的访问入口以及界面之间切换关系。

7.1.2. 控制层

控制层主要是设计Action组件,Action负责单位事件的流程控制,Action映射决定了Action与其他Web组件之间的关联关系。客户端的事件主要包括个人信息注册、会员登录,进入会员功能界面,查看购物车,账号管理,查询消费记录等动作。

7.1.3. 模型层

具体的模型组件如表2-5所示。

表2-5 客户端的模型组件

模型组件

AfficheAction.java

描述

对客户端中的信息进行操作

7.2. 系统管理模块设计

系统管理模块负责管理端用户的登录。管理端用户都是通过登录界面进入管理端的,用户输入用户名和密码进入管理界面首页,并根据用户的权限在首页中列出相应的操作功能。

7.2.1. 表示层设计

根据上述的功能介绍,总结出用户登录的页面如表2-6所示。

表2-6 登录管理模块的页面设计

界面 主页面

JSP

bg-land.jsp

功能描述 管理主页面

7.2.2. 控制层设计

登录管理的控制层主要是设计用户的登录事件的流程控制(Action)。表2-7列出了每个Action的入口(即调用Action的组件)、传递Action的ActionForm以及出口(即Action将请求转发到目标组件)。

7.3. 会员管理模块设计

在会员管理中管理员对会员进行增加、删除、修改、查询。

7.3.1. 表示层设计

根据上述功能介绍,总结出会员管理功能的页面如表2-9。

表2-9会员管理功能的页面设计

界面 会员功能界面 会员详细信息 修改会员信息 添加会员

JSP

bg-selectMember.jsp

bg-selectMember.jsp

fg-updateMember.jsp

fg-memberRegister.jsp

功能描述 用户管理主界面 会员详细信息的界面

完成特定会员信息的维护。即修改删除等 增加会员信息

7.3.2. 控制层设计

会员管理的控制层主要负责进入会员管理界面、增加用户信息、修改会员信息、删除会员信息等事件的流程控制,即设计会员管理的Action。表2-10列出了用户管理的每个Action的入口(即调用Action的组件)、传递Action的ActionForm以及出口(即Action将请求转发到目标组件)。

7.4. 菜肴管理模块设计

菜肴管理包括新增菜肴、删除菜肴和给菜肴定义特价等功能。

7.4.1. 表示层设计

根据上述的功能介绍,总结出菜肴管理功能的页面如表所列。

表2-24 器械管理的页面设计

页面

菜肴管理界面

菜肴增加界面

菜肴特价设置

JSP 功能描述

bg-goodSelect.显示菜肴管理的主页面功能 jsp

bg-goodInsert.jsp 显示菜肴增加的界面 bg-goodsFreePrice菜肴特价定义 .jsp

7.4.2. 控制层设计

菜肴管理的控制层主要负责进入器械管理信息主界面,进入器械管理详细信息界面、进入对器械管理等事件的流程控制。表2-25列出了每个Action的入口(即调用Action的组件)、传递Action的ActionForm以及出口(即Action将请求转发到目标组件)。

7.4.3. 模型层设计

表2-26 器械管理的模块组件

模型组件 GoodsDao.java

描述

对数据库中的菜肴信息进行操作

8. 签字

本需求规格经过双方认可,特签字如下表

用户签署信息 单位名称 签署人姓名 签署日期 浙江“我要吃”公司 XXX 2012.4.18 企业签署信息 单位名称 签署人姓名 签署日期 浙江XX有限公司 XXX 2012.4.18

本文来源:https://www.bwwdw.com/article/5hw7.html

Top