网上订餐系统概要设计 (1)Word文件下载.doc
- 文档编号:412108
- 上传时间:2023-04-28
- 格式:DOC
- 页数:30
- 大小:1.72MB
网上订餐系统概要设计 (1)Word文件下载.doc
《网上订餐系统概要设计 (1)Word文件下载.doc》由会员分享,可在线阅读,更多相关《网上订餐系统概要设计 (1)Word文件下载.doc(30页珍藏版)》请在冰点文库上搜索。
5.2数据库的逻辑结构模型设计 17
5.3数据库管理物理结构模型设计 18
6.模块设计 20
6.1客户端模块设计 21
6.1.1表示层设计 22
6.1.2控制层 24
6.1.3模型层 25
6.2登录管理模块设计 25
6.2.1表示层设计 25
6.2.2控制层设计 26
6.2.3模型层设计 26
6.3用户管理模块设计 27
6.3.1表示层设计 27
6.3.2控制层设计 27
6.3.3模型层设计 28
6.4餐品管理模块设计 28
6.4.1表示层设计 28
6.4.2控制层设计 29
6.4.3业务逻辑层设计 29
6.5订单管理模块设计 30
6.5.1表示层设计 30
6.5.2控制层设计 30
6.5.3模型层设计 31
1.导言
1.1目的
该文档的目的是描述网上订餐系统项目的概要设计,其主要内容包括:
l系统功能简介
l系统结构设计
l系统接口设计
l数据设计
l模块设计
l界面设计
本文档的预期的读者是:
l开发人员
l项目管理人员
l测试人员
1.2范围
该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3缩写说明
UML
UnifiedModelingLanguage(统一建模语言)的缩写,是一个标准的建模语言。
MVC
Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。
1.4术语定义
1.5引用标准
[1]《企业文档格式标准》
北京长江软件有限公司
[2]《软件概要设计报告格式标准》
北京长江软件有限公司软件工程过程化组织
1.6参考资料
[1]《实战struct》〔美〕Ted Husted
机械工业出版社
[2]《软件重构》
清华大学出版社
2.系统分析
本系统可以实现网上的在线订餐,顾客通过网上浏览餐品并进行选择产生订单。
同时,管理端可以汇总订单,浏览订单,并通过订单结果修改餐品相应信息,更新餐品信息,浏览顾客的评价等等。
方便顾客的订餐,以及网页餐品信息的管理。
系统包括管理端子系统和客户端子系统。
客户端子系统包括用户注册、用户登录、个人信息维护、商品信息浏览、维护购物车、生成订单。
管理端子系统包括登陆管理,维护顾客信息,维护餐品信息,管理订单。
图B-1和B-2为客户端和管理端的组成结构图。
客户端
应聘者
用户注册,登陆
个人信息维护
生成订单
浏览餐品信息
处理订单信息
管理端
图B-1:
客户端子系统图示
信息管理
餐品管理
订单生成
购物车管理
系统管理
用户管理
管理员
订单管理
订单获取
图B-2:
管理端子系统
3.界面设计
本系统的用户界面按功能分客户端和管理端。
3.1管理端界面设计
管理端主要实现登陆管理、用户管理、餐品信息管理、订单管理等功能。
主要界面设计如下:
-登录界面
u通过用户名和密码实现用户登录,并判断用户的权限
-管理首页
u根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能。
-餐品信息管理
u包括“餐品列表”、“餐品详细信息”、“修改餐品”、“增加餐品”、“删除餐品”和“预览餐品”等页面。
-订单管理
u包括“订单列表”、“订单详细信息”、“查询订单”、“删除订单”和“修改订单信息”等页面。
-用户管理
u包括“用户列表”、“用户信息”、“修改用户信息”、“添加用户”和“删除用户”、“用户权限设置”等页面。
具体页面流如下图B-3所示:
餐品信息管理
登录界面
首页
修改用户信息
用户信息
删除用户
增加用户
用户列表
修改商品数量
增加销售额
订单详细信息
删除订单
修改订单
增加订单
订单列表
预览餐品
删除餐品
修改餐品
增加餐品
餐品详细信息
餐品列表
餐品库管理
图B-3:
管理端的页面流程
3.2客户端界面设计
客户端主要为顾客在网上订餐的过程
首先进入网上订餐界面,点击“用户注册”进入用户注册界面,包括“用户名设定”、“密码设定”、“填写个人基本信息”、等页面。
具体页面流如下图B-4所示:
预览订单
选择付款方式
设置密码
用户登陆
设置用户名
选择餐品到购物车
填写个人基本信息
申请用户
餐品信息
顾客网上登录
图B-4:
客户端的页面流程
4.体系结构
系统的总体结构设计遵循如下原则:
1)系统应具有良好的适应性:
能适应用户对系统的软件环境、管理内容、模式和界面的要求;
2)系统应具有可靠性:
采用成熟的技术方法和软件开发平台,以保证在以后的实际应用中安全、可靠;
3)系统应具有较好的安全性:
应提高完善的安全机制和用户权限限制机制,确保数据的受限访问;
4)系统应具有良好的可维护性:
系统应易于维护、安装;
5)系统应具有良好的可扩展性:
系统应适应未来信息化建设的要求,能方便得进行功能扩展,以建立完善的信息集成管理体系。
本系统采用struts体系结构,Struts是一个基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架。
4.1体系结构
目前软件项目中有很多的体系结构,其中struct是比较流行的一种。
4.1.1Struct体系结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSPModel2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。
在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成,图B-5显示了Struct实现的MVC框架。
浏览器
Web服务器
控制器
ActionServlet
视图
JSP
模型
JavaBean
EJB
Struct-config.xml
Action
图B-5:
Struct实现的MVC框架
其中:
视图:
就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struct标签库的标签。
此外,通常将Strcut框架中的ActionFormBean也划为视图模块中,ActionFormBean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置默认值。
Struct框架利用ActionFormBean来进行视图和控制器之间表单数据的传递。
Strcut框架将用户输入的表单数据保存在ActionFormBean中,将它传递给控制器,控制器可以对ActionFormBean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionFormBean的信息,重新设置HTML表单。
控制器:
控制器由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可以灵活地组装这些组件,简化开发过程。
4.1.2系统体系结构
根据系统分析结果,该系统从结构上应满足:
l基于浏览器进行显示以方便用户使用;
l采用MVC的三层体系结构,分化各个功能组件;
l采用JDBC技术与数据库通讯以便于数据库的转换;
l采用标签技术完成动态页面的简单逻辑。
本系统的体系结构如图B-6,它基本遵循了struct体系的MVC框架规范。
图B-6:
系统的体系结构
表示层:
用于与用户进行交互以及显示结果。
包括所有的JSP,提供用户界面,接受用户输入,还包括相应的ActionFromBean,用来存放表单数据,并进行表单数据验证。
控制层:
包括所有的Action类,它完成三项任务:
一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户。
进行逻辑处理的JavaBean等。
数据库采用ODBC技术以提供数据库的可移植性。
客户层主要是指用户登录的Web浏览器;
中间层负责平台的业务逻辑处理和表示逻辑生成;
服务层提供底层的信息数据库服务器。
1.客户层:
用于与企业信息系统的用户进行交互以及显示根据特定业务规则进行计算后的结果。
本系统将完全采用基于WEB的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。
2.中间层:
这相当于三层标准架构中的Web应用服务层,支持诸如响应客户请求以及查询等功能。
并且由中间层进行逻辑处理,再处理的结果反馈给客户或者发送到数据库中。
3.服务层:
主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。
4.2系统运行环境
4.2.1 网络结构图
本系统的网络拓构图如图B-8:
图B-8:
系统的网络拓扑图
系统的网络拓扑结构图
其中的局域网用户机主要是公司内部的人员可以使用的机器,远程用户机主要是指通过互联网登录系统的人员使用的机器,可以是公司内部的人,也可以是应聘者。
4.2.2硬件环境
本系统的硬件环境如下:
l客户机:
普通PC
nCPU:
P41.8GHz以上
n内存:
256MB以上
n能够运行IE5.0以上或者Netscape4.0以上版本的机器
n分辨率:
推荐使用1024*768像素
lWEB服务器
P42.0GHz
1G以上
n硬盘:
80G以上
n网卡:
千兆
l数据库服务器
4.2.3软件环境
本系统的的软件环境如下:
l操作系统:
Unix/Linux/windows2000或以上版本
l数据库:
SQLServer2000
l开发工具包:
JDKVersion1.4.2
l开发环境:
eclipse-SDK-3.1.2-win32
lWeb服务器:
Tomcat
l浏览器:
IE6.0以上
(1)数据库及操作系统:
对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;
正常工作时间的级别;
用来访问数据库的应用程序的类型;
运行数据库的服务器的硬件和操作系统类型;
以及管理人员的专业技术水平。
目前市场上适用于中小型企业的数据库产品有IBMDB2、MicrosoftSQLServer系列、Oracle系列。
所有这些产品都基于SQL语言。
同时,它们还拥有精密复杂的安全控制以适应不同的商业需要。
服务器操作系统使用Windows2000Server系统。
考虑到价格因素、易用性,我们使用SQLSERVER2000作为系统后台数据库系统,服务器操作系统采用Windows2000Server。
(2)WEB服务软件:
目前的WEB服务器软件有很多种,成熟而且稳定有Apache、Tomcat和Microsoft的IIS,它们也是占据着Web服务器市场最大的份额。
Tomcat是Sun和Apache合作做出来的JSPServer,支持Servlet2.2及JSP1.1等版本。
而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&
JSPEngine。
Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。
Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。
因此选择Tomcat作为WEB服务器。
5.数据模型
本系统的数据模型主要是进行数据库的设计。
5.1数据库的概念结构模型设计
概念设计以反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的每一幅用户视图。
图B-9是系统E-R图。
其中系统中的管理用户
创建维护餐品信息库、管理订单、发布餐品信息,页面中的所有餐品信息是由餐品库中的餐品构成,分布的每个餐品有一定数量。
顾客看到餐品后,选择一定量的餐品,添加到购物车中,最后浏览购物车,生成相应的订单,选择相应的付款方式。
图B-9:
系统的E-R图
5.2数据库的逻辑结构模型设计
数据库的逻辑设计是将各局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。
根据本系统需求分析,系统的数据库包括了餐品信息库管理、订单管理、购物车管理、用户管理以及需要的基本数据字典等部分。
餐品信息管理包括的库表:
lfoodlist-餐品信息库中的餐品列表
lfoodcontent-餐品信息库中的餐品详细内容
订单管理包括的库表:
lorderlist-订单的列表
lordercontent-订单详细信息
购物车管理包括的库表:
lcarID-购物车编号
lfoodID-餐品编号
lfoodname-选择的餐品名称
lfoodnum-选择餐品数量
lfoodmoney-餐品单价
laccount-总金额
luserID-用户编号
用户管理包括的库表:
lusers-管理端用户的信息
foodcontent(餐品信息)表
字段名
字段代码
字段类型
关键字
可否为空
代码字典表
餐品编号
foodID
VARVARCHAR(12)
Y
N
餐品名称
foodName
VARVARCHAR(30)
餐品单价
foodmoney
smallint
餐品数量
foodnum
ordercontent(订单信息)表
订单编号
orderID
订单总金额
account
餐品发送地址
address
foodlist(餐品列表)表
orderlist(订单列表)表
总金额
car(购物车)表
购物车编号
carID
foodname
用户编号
userID
user(用户信息)表
用户名
username
用户地址
5.3数据库管理物理结构模型设计
信息存储结构的设计在系统的设计中至关重要,要考虑到数据冗余、系统执行效率、信息控制以及维护等方面的要求。
信息的管理离不开数据库的支持,我们采用SQLServer2000数据库管理系统。
数据库的物理设计主要是对数据在内存中的安排,包括对索引区、缓冲区的设计;
对使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
设置访问数据的方式方法。
需在非系统卷(操作系统所在卷以外的其他卷)上安装SQLServer程序及数据库文件。
内存是影响MicrosoftSQLServer系统性能的一个重要因素,应在MicrosoftSQLServer数据库安装后进行内存选项(Memory)设置,最大配置值为2GB。
为了确定SQLServer系统最适宜的内存需求,可以从总的物理内存中减去Windows2000server需要的内存(120M)以及其它一些内存需求后综合确定,理想的情况是给SQLServer分配尽可能多的内存,而不产生页面调度。
设置服务器的虚拟内存为1G。
对Sql属性配置如图B-11所示。
图B-11SQL内存配置图
通过ADO对象提供的OLEDB接口与数据库连接。
1、首先建立创建Connection对象
SqlDatabaseName="
WSZP"
SqlPassword="
xxxxxxxx"
SqlUsername="
sa"
SqlLocalName="
xx.xx.xx.xx"
ConnStr="
Provider=Sqloledb;
UserID="
&
SqlUsername&
"
;
Password="
SqlPassword&
InitialCatalog="
SqlDatabaseName&
DataSource="
SqlLocalName&
"
setcnn=server.createobject("
ADODB.Connection"
)
cnn.openConnnStr
2、不直接打开recordset记录集,充分利用连接池
Setrs=Server.CreateObject("
ADODB.Recordset"
)
rs.OpenSQL,cnn
Setrs1=Server.CreateObject("
rs1.OpenSQL,cnn
这种打开连接池的方式可以节省数据库服务器的内存资源。
3、使用记录集后,最早的时间释放数据库资源
Rs.close
setrs=nothing
cnn.close
setcnn=nothing
本项目中后台数据库采用SQLSever数据库系统。
数据库各库表的脚本代码见数据库脚本文件。
6.模块设计
按照功能分解,本系统分为客户端管理系统和管理端系统。
根据页面流的设计,管理端系统又分为用户登录、用户管理、餐品管理、订单管理、等4个模块,如图B-12。
各个部分的关系如图B-13下:
图B-13:
模块之间的关系
针对不同用户,提供了两类功能登录接口:
即顾客登录接口和管理人员登录接口,这些接口都以WEB页面的形式提供。
通过各自的页面,顾客和管理人员可以从事各自的活动。
以下将分小节对各个部分进行设计
6.1客户端模块设计
客户端运行在公网上,可以显示餐品信息,顾客可以查看餐品的详细信息,当顾客希望选择某餐品时,可以添加到购物车中,当然要先登录,包括:
用户编号、用户名、密码、住址、联系电话,这些构成了用户信息,当填写完后可以查看用户信息,最后将餐品放入购物车,最后确认购买,生成订单。
在客户端用户可以看到餐品编号,餐品名称,餐品单价,餐品
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上订餐系统概要设计 1 网上 系统 概要 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)