上订餐系统报告
软件工程课程设计
题 目 快乐餐订餐系统 专 业 计算机科学与技术 班 级 计科1201 姓 名
黄静
张聪,王茂峰,张安杰
杜立新
指导教师
二〇一四 年 十二 月 二十七 日
6
目录
软件工程课程设计 ...................................... 5 目录 ........................................................................ 6 第1章. 系统背景 ................................................ 8 第2章. 项目计划 ................................................ 9
2.1. 项目技术方案 ...................................... 9 2.2. 网上订餐系统规划 ............................ 10 第3章. 可行性分析 .......................................... 11
3.1. 可行性研究报告 ................................ 11 3.2. 可行性研究的前提 ............................ 17 第4章. 需求分析 .............................................. 21
4.1. 需求分析 ............................................ 21 4.2. 软件功能 ............................................ 21 4.3. 运行环境 ............................................ 22 4.4. 需求分析详细描述 ............................ 23 4.5. 层次方框图 ........................................ 27 第5章. 概要设计 .............................................. 29
5.1. 系统分析 ........................................... 29 5.2. 体系结构 ........................................... 31 5.3. 逻辑设计 ........................................... 40
7
5.4. 总E-R图 ........................................... 43 5.5. 类图 .................................................... 45 第6章. 详细设计 .............................................. 47
6.1. 系统模块详细设计(数据流图) ... 47 6.2. 程序流程图 ........................................ 54 6.3. 实体联系图(E-R图) .................... 61 6.4. 用例规约及用例图 ............................ 65 第7章. 测试方案 .............................................. 99
7.1. 实现 .................................................... 99 7.2. 版本更新记录 .................................... 99 7.3. 测试目的 ............................................ 99 7.4. 测试环境 ............................................ 99 7.5. 功能测试用例 .................................. 100 7.6. 性能测试 .......................................... 102 第8章. 总结 .................................................... 103 参考文献 ............................................................ 104
8
第1章. 系统背景
网上订餐业务的兴起,折射出餐饮业善抓机遇、抢占利润第二落点的经营理念,同时也显示出消费者在日常所需中,运用网络观念的意识正逐渐增强。但比起如今火爆的网上购物,网上订酒店住宿等服务,网上订餐服务在一些餐饮企业中仍未引起足够的重视,对于消费者来说,许多人对这一新兴业务尚缺乏了解,这种现象,在一些中小城市表现较突出。对于广州、北京、上海等大城市,由于网上订餐服务起步较早,一些餐饮企业的网上经营已逐步走上正轨,其网上订餐的经营份额已占一定比例,给先行一步涉足网上订餐的企业带来滚滚财源。据了解,一些中小城市的餐饮企业之所以网上订餐业绩不够好,有些甚至基本无业务,其原因就是未能充分发挥互联网的作用。有些餐饮企业虽然开办了网站,但有的未涉足网上业务,即使有些开展了网上业务,也因菜品单调、服务措施差而鲜有订餐者。 一些餐饮企业网上订餐业绩效果不太显著
9
的另一种原因是,技术服务措施等方面还存在着明显的不足,主要有以下几点:一是餐饮企业开展网上订餐服务后对网站的宣传力度不够,同时网络信用问题也在困扰着消费者。与其它网络购物方式一样,有不少消费者对网络消费心存戒备,在网上订餐后仍不放心,还要通过电话再确认,这就给消费者造成网络订餐太麻烦的印象。二是有些网上订餐服务和技术不太完善,消费者订餐需要咨询时,网站客服电话无人接听;可选择的就餐地点也不够丰富。三是有些网站由于网上订餐业务刚刚开展,因业务不熟悉,有时会出现订单不太准确的现象。另外,与网站签约的酒店及餐馆由于数量较少,使消费者在选择时受到限制。
第2章. 项目计划
2.1. 项目技术方案
1.1 方案概述 会员可以通过访问网上报餐系统,进行登录或注册,报上自己在用餐时间内想吃的各种食物,食堂管理员可以查看用户所报的菜品,并且可以对菜品进行增删改查。 1.2 编程环境 此次开发使用JSP作为开发
10
语言,采用Servlet技术,Tomcat5.0作为Web服务器,在windows7系统条件下开发。 1.3 数据库的实现 本系统采用SQL Server 2008作为后台数据库。其内置的数据库引擎可以控制访问权限并快速处理数据,搜索引擎可以对 SQL Server 表中的数据进行索引,并执行多种条件的查询,快速返回结果。便于防火墙日志的管理和规则的访问以及操作。数据库管理员和开发人员可以方便地利用其进行数据库管理或编写相应的SQL Server语句。
2.2. 网上订餐系统规划
我们的主要任务就是开发网站,只要网站能成功运行,其他的进货和送货都很简单,不在考虑范围内,依次,我们需完成的任务有编制计划,任务分配,网站开发,测试网站,试运行。
网上订餐系统的开发整个环节都是分工明确的统一体,单靠一个人是很难管理好每一个环节。所以,我们把任务都分到组内每一个人身上,每个人都可以发挥自己专业特长,管理好自己负责的每个细节,从而实现系统的高效运转。具体的分工如下图
11
总经理(1策划人采购管销售管副总经小组发货管服务(2网站开发和开测维客户数据库管评论商品订单
第3章. 可行性分析
3.1. 可行性研究报告
网上订餐项目建设的背景、可行性
1、网上订餐项目建设背景
12
随着电子商务的普及,越来越多的人接受了电子商务这种便捷、快速的交易形式,网上订餐系统的顺势而出很快受到了大家的欢迎。互联网的应用已普及千家万户,这为网络订餐提供了良好的发展空间。同时,网上订餐服务的直观、有效、便捷等优点是传统的电话订餐业务无法比拟的。调查数据显示,白领更乐于选择网上订餐服务, 网上订餐将是白领一族捕获餐店信息、进行订餐的发展趋势。网络订餐随着互联网的成长会逐渐被人们所喜爱,正如几年前手机移动的短信一样,为企业带来的几百个亿的业务收入。在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向。
网上订餐,具有方便、高效、快捷的特点,而且与传统的快餐店经营模式相比网上订餐可以节省餐馆的座位占用,加速餐馆顾客周转,增加餐馆的营业额,提高经济收益。对于在网上订餐的顾客来说,可以为其节省更多的时间和精力,以便投入到学习和工作中。
2、网上订餐项目建设的可行性 1) 技术可行性
13
拟定开发的外卖系统分为用户界面和餐馆界面,用户界面用于顾客订购菜品下订单,要基于Web的数据库访问的要求,现有的ASP,HTML等软件能够满足要求:餐馆订单及内部管理部分应用C及JAVA,SQLSEVER数据库等即可开发,所以从现有的技术水平来说,完全能够开发出完美的外卖订餐系统。由于采用B/S模式,订餐者无须安装第三方软件,能上网就能订餐,甚至可以利用手机上网订餐,使操作更加简便,订餐信息更加准确。避免口头传递信息的错误,优化服务。
2) 经济可行性
由于本项目的特殊性,无需投入额外的设备购买及人员培训费用。同时,系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,而且网络订餐方便快捷,节省了员工的时间和精力,也避免了食堂食物的浪费,因此订餐系统在经济上是完全可行的。
我们是一个团队,在预算中,我们每个人都
14
做了一笔分投资。我们的费用主要用在网站宣传和进货上,至于设备,我们都应用自己的电脑进行管理。所以我们前期主要考虑的是运营成本。而却这个成本我们可以相对缩小,我们可以少量进货,常用的就好,其他的等同学下单后我们再去进货完成交易,所以经济上不是主要考虑的问题。至于收益,我们会根据个人付出的多少分配。但我们主要的目的不是为了赚钱,毕竟我们还是学生,从哪方面都不算专业还谈不上赚钱,只能说是学习
3) 操作可行性
本系统对年龄以及行业要求没有限制,不管是小孩还是老人,是计算机相关专业还是非计算机相关专业,只要懂得基本的上网操作,就可掌握。。
4) 社会可行性
网络订餐系统虽然便利,但是也应该注意一些风险与潜在的问题。作为一种新兴的消费方式,目前还没有相关的规则来约束它,所以网上订餐系统也有很多问题需要注意,首先是食
15
品质量安全问题,要与正规的,合格的,卫生的饭店合作;其次还有付款的相关问题,消费者付款,最后所收的付款卖家要按时可以收到,避免引起财务纠纷;最后还有售后问题,如果消费者在拿到食品后出现不满意的情况,还要及时需要相关的售后来解决这些问题。
5) 其他可行性
5.1 市场情况可行性分析
“预订/代订”模式以携程、E龙为起点,获得纳斯达克青睐之后,一批中小企业相继涌入,但目前该模式呈现出几大状态: a、携程大规模盈利,而E龙、芒果网、遨游网等二线梯队尚在巨额亏损抢占市场中; b、预订模式仅在酒店、机票上获得一致认可,在饭店预订中已有多加网站强势进入,但盈利模式有待获得市场认可;
c、众多小型机票、酒店预订网站中,仍有部分在盈利,依据线下合作资源为基础。 d、该模式中,更多以电话预订/代订为主,以携程为例:电话业务约占七成,网上业务仅占三成。
16
5.2订餐模式可行性分析 a、写字楼中层白领、普通员工 写字楼上下电梯麻烦、夏天室外温度过高等各项因素,一般订餐意愿较高,对菜式、餐馆的多样性选择较高,并且一般懒得整理路上派发的订餐传单,只选择固定几个餐馆预订。
订餐模式能较好的满足写字楼员工周一到周五午餐订餐的需要,部分满足晚上加班订餐需要,并容易形成偏好,周末订餐也偶然使用。 b、在校大学生
一般学生都选择饭堂用餐,总订餐比例不高,但部分学生沉迷游戏或其他事情,更倾向乐意使用网上订餐服务,省下电话订餐的电话费等。较多的选择在没课时使用。 c、呆家懒人/单身汉
一个人在家懒得煮饭,乐意接受订餐服务,一般集中在周末使用。 注:选择网上订餐占所有订餐者30%的比例,是以携程为例电话预订占70%,
17
网上预订占30%考虑。因此在黄页介绍、线上下单之外,考虑VoIP电话订餐,短信订餐,客服在线订餐等多样形式。
3.2. 可行性研究的前提
1) 要求
说明所开发软件的基本要求,如: A、功能:
管理员功能:登录系统,查询、添加、修改,查询、添加、修改、删除员工账号(有权限)
用户功能:
登录模块:完成客户注册账号、登录系统、修改密码、修改地址功能。
查询模块:完成客户查询功能,比如按菜系、特色菜、人均消费、餐饮评价排序等查询 订单模块:完成客户的订餐功能 支付模块:完成客户的安全支付功能 评价模块:主要就饿巨额客户对餐厅的意见以及对餐厅的评价,提供交流版块促进客户与客户之间的互动
18
B、性能:稳定快速,实时控制。系统的反应速度较快,本系统通过美观,有好的界面设计可完成信息查询,灵活,方便,便捷,准确,数据存储安全可靠,全面展示我们的产品,风格统一,突出特色,功能设计应体现人性化思想,方便用户操作。顾客注册后登录系统必须输入口令才能进行订餐服务。
对于管理员,在其查询订单的时候,可针对各种组合条件进行查询,而且查询效率要求高,能够及时响应查询请求,易于操作和维护。另外还应满足于系统的信息完整性以及系统的可扩展性。 C、输出:文字、数字、英文输出,订单打印 D、输入:文字、数字、英文的输入
E、处理流程和数据流图用图表的方式表示出最基本的数据流程和处理流程;
F、在安全与保密方面的要求:不能轻易被破坏,不能让管理人员以外的人篡改价格信息,消费者信息等,对断电、死机、系统崩溃等问题有有力的措施以保障数据不受损失
19
G、完成期限:一个月
2)目标:
说明所建议系统的主要开发目标,如: A,人力与设备与设备费用的减少:
本系统所需要的硬件和软件都是目前广泛使用的,如软件运行环境windows98以上系统,数据库SQLSever2008,编程语言VC++等,都可通过网上,图书馆等各种渠道得到,不需花费大量资金购买高成本的设备。 B,管理信息服务的改进:
该系统科学合理的将整个程序划分为多个模块,各模块单独设计,有助于降低整个程序易于衔接和修改 C,前进的程序结构:
使用当代前卫的软件编程,能延长其生命周期,易于维护与管理 D,安全可靠性高:
后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全可靠
20
E,实用性强:
努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的有好的用户界面,满足各层次的用户使用的需求 F,查询功能强大:
可以对菜品的信息和店铺信息查询
3)进行可行性研究的方法
实地考察,去校外附近各餐馆了解各餐馆的情况,如具体餐类,销售情况,饭前价格,收入情况,每天有多少学生就餐等,估计系统的经济可行性
问卷调查,通过对校内同学的问卷调查,了解他们的就餐地点,喜欢的食物,对网上订餐系统的评价
查阅相关资料,了解现有的网上订餐系统
21
第4章. 需求分析
4.1. 需求分析
用户可通过访问我们的网站快乐餐网上订
餐系统,进行登陆或注册,获得你想要的各种食物,管理员可以查看用户菜品,可以对菜品进行增删改查。 1) 产品介绍
产品名称:快乐餐订餐系统
产品用途:对餐馆提供发布菜肴消息,得到
顾客订单信息,对顾客提供菜肴服务。 2) 产品面向的用户群体:
各大酒店,网上店铺,以及一些大型超市的网上订餐系统等。
4.2. 软件功能
此系统主要是针对顾客开放的网上订餐系统。 顾客订餐主要流程如下:
1. 顾客登录网上订餐系统进行菜单的浏览或者注册为会员。
2. 会员可以对自己的个人信息进行更改,以会员形式登陆的顾客享受订餐服务。 3. 如果顾客觉得菜单应该有所改变则可对已
22
选的菜单进行选择、更改、删除等功能。 4. 当顾客确定订餐完毕后,顾客可以将其提交至我们的餐厅后台系统,并生成订单。 5. 顾客可以对系统或者餐厅有意见或者建议的留言给我们,我们会及时满意的回复。 管理员、后台管理流程如下: 1. 管理员登录后台点餐系统。 2. 管理员可以管理会员信息。 3. 后台将顾客点餐提交到后厨显示。 4. 后厨根据顾客订餐菜单进行做菜。 5. 每完成一个菜就更改其状态为已做。 6. 所有订餐菜完成后根据会员提交送餐地址进行确认并送餐。\\
4.3. 运行环境
顾客客户端:操作系统windows98以上,浏览器IE5.0以上。
条件与限制:开发本系统所用到的软件有:IIS,DREAMWEAVERWONDERSHARE
,
POTOSHOP
,
FLASH
SLIDESHOW
BUILDER,MyEclipse7.0,SQL Server2005\\
23
4.4. 需求分析详细描述
4.4.1模块需求分析
1) 顾客网上订餐功能分析:
根据对顾客网上订餐系统业务流程的分析,课已看出顾客点菜主要涉及到一些数据库的逻辑和程序应用逻辑。具体的功能归纳如下: 1. 顾客登录网上订餐系统进行菜单浏览、 2. 顾客注册为会员。
3. 会员对自己的个人信息进行更改,比如送餐地址和联系电话。以及账户密码。 4. 顾客对已选的菜单进行更改选择的数量或者取消选择。
5. 当顾客确定订餐完毕后,顾客将其提交只服务器后台点餐系统,并生成订单。 2) 管理员后台管理系统功能分析:
1. 管理员在后台登录后,可以创建新的管理员。
2. 管理员可以对餐厅网上订餐系统上的菜单进行添加、删除和修改,比如更改菜单的图片,价格,菜单的描述,更换新品,添加新菜等。
3. 管理员对菜单进行管理,确定订单的生
24
成。
4. 管理员根据不同的属性来查询订单,比如生成日期或者编号等。
5. 管理员根据不同的时间段统计处营业额,成本,同时还能统计出每道菜的销售量、任何时间段的销售情况以及每一个顾客的消费情况。
3) 为更好的说明系统,具体功能如下表: 功能类别 用户管理 用户操作 子功能 用户登录 用户注册 餐品展示 餐品的详细介绍 放进购物车 查看购物车 详细信息提交 反馈意见 察看所有留言 管理员操作 增加餐品 修该餐品 删除餐品
25
回复留言 删除留言 结帐付款 结束订单
4.4.2用户注册登录
确认和配送信息 设置友好结束界面 用户访问本网站直接进入本网站可直接进入网站主页,可选择登陆,若为注册可选择注册,只有注册用户方可点餐。注册提供用户名和密码,用户名只能检测,若以存在也提示。另外加入记住密码功能,登陆一次可在两周内无需再次登陆,直接进入登陆状态。
4.4.3浏览菜品
显示菜品的各种信息,可在分类查询,动态搜索,设计页面分业,布局排版问题,以方便用户浏览选择。
4.4.4菜品详细信息
显示餐品中某一餐品的详细信息,包括菜名,配料,口味,价格等,以供用户放进自己的购物车。
4.4.5购物车
实现对已定菜品的管理,包括增加菜品,删除菜品,修改数量。
26
4.4.6提交购物车并生成订
接受购物车信息,随即获取订单号,动态刷新顶单状态,固定时间(如30秒)完成一道菜,用户可继续修改为完成的菜品,已完成菜品无法进行操作,用户修改订单并保存。
4.4.7结帐付款
选择付款方式及对此次餐的评价。
4.4.8结束订餐
设置友好的结束界面。
4.4.9管理员操作
在后台系统中管理网上订餐会员管理和菜单管理。
27
4.5. 层次方框图
28
29
第5章. 概要设计
5.1. 系统分析
本系统可以实现网上的在线订餐,顾客通过网上浏览餐品并进行选择产生订单。同时,管理端可以汇总订单,浏览订单,并通过订单结果修改餐品相应信息,更新餐品信息,浏览顾客的评价等等。方便顾客的订餐,以及网页餐品信息的管理。系统包括管理端子系统和客户端子系统。 客户端子系统包括用户注册、用户登录、个人信息维护、食品信息浏览、维护购物车、生成订单。管理端子系统包括登陆管理,维护顾客信息,维护餐品信息,管理订单。图B-1和B-2为客户端和管理端的组成结构图。
30
B-1客户端子系统图示
31
B-2管理端子系统图示
5.2. 体系结构
系统的总体结构设计遵循如下原则:
1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面 的要求;
32
2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证在以后的实际应 用中安全、可靠;
3)系统应具有较好的安全性:应提高完善的安全机制和用户权限限制机制,确保数据 的受限访问;
4)系统应具有良好的可维护性:系统应易于维护、安装;
5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便得进行功 能扩展,以建立完善的信息集成管理体系。 本系统采用struts体系结构,Struts 是一个基于模型 (Model) -视图 (View) -控制器 (Controller)(MVC) 模式的应用架构的开源框架。
目前软件项目中有很多的体系结构,其中struct是比较流行的一种。
Struct体系结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着
33
Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成,图B-5显示了Struct实现的MVC框架。
34
其中:
视图:就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struct标签库的标签。此外,通常将Strcut框架中的ActionForm Bean也划为视图模块中,ActionForm Bean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置默认值。Struct框架利用
35
ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。
控制器:控制器由ActionServlet类和Action类实现,ActionServlet类是Struct框架中的核心组件。是这个MVC的中央控制器的角色,ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。 模型:模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。
如果在Web应用开发中套用现成的Struct框架,
36
可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。
网络结构图
37
系统运行环境
客户机:普通PC
➢ CPU:P4 1.8GHz以上 ➢ 内存:256MB以上
➢ 能够运行IE5.0以上或者Netscape4.0以上版本的机器
➢ 分辨率:推荐使用1024*768像素
WEB服务器 ➢ CPU:P4 2.0GHz ➢ 内存:1G以上
38
➢ 硬盘:80G以上 ➢ 网卡:千兆 数据库服务器 ➢ CPU:P4 2.0GHz ➢ 内存:1G以上 ➢ 硬盘:80G以上 软件环境
本系统的的软件环境如下:
操作系统:Unix/Linux/windows2000或以上版本
数据库:SQL Server 2000
工具包:JDK Version 1.4.2 Web服务器:Tomcat 浏览器:IE6.0以上
(1)数据库及操作系统:
对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;
开发环境:eclipse-SDK-3.1.2-win32
39
用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型;以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2 、Microsoft SQL Server系列、 Oracle系列。所有这些产品都基于SQL语言。同时,它们还拥有精密复杂的安全控制以适应不同的商业需要。服务器操作系统使用Windows 2000 Server系统。
(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的能力。
40
Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。因此选择Tomcat作为WEB服务器。
5.3. 逻辑设计
逻辑设计概述
数据库的逻辑设计是概念模型向逻辑模型的转化,一般步骤是先将概念结构转化为关系模型,然后将转化来的关系模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化 数据存储 存储名 息存储 资金信息存储 订单信息存储 配送信息存储
流入 信息流 资金转入信息流 更新、查询流 更新、查询流 流出 反馈流 资金转出信息流 查询、更新、统计信息流 更新、查询信息流 客户信更新信息流,登陆登陆反馈流,更新 41
数据表的设计
数据库的主要表详细结构如下:
订单条目表
订单条目表
42
菜单表
菜分类表
用户表
43
5.4. 总E-R图
44
45
5.5. 类图
1.顾客:顾客有自己的id、用户名、电话号码、地址、邮箱、登录密码等属性,操作有搜索,登
46
录、搜索、浏览、留言、订单、退单等。 2.管理员:管理员有id、管理员名字、登录后台密码等属性,有登录、查询、更新、删除、修改、审核、销售统计等操作。
3.订单:包括订单id、顾客订购美食的品种数、顾客用户名、订单时间、付款方式和运送方式等属性。
4.餐品:包括餐品id、餐品价格、餐品介绍等属性。
5.信息发布:指信息ID属性,有信息反馈、优惠活动、店铺信息、送餐时段公告等 6.评价:包括留言板的id、名字、餐品类别、评价内容等属性,有留言等操作。
7.卖家:包括卖家ID、用户名、地址、联系电话等属性,有销售统计等操作
8.支付模块:包括ID、用户名、支付方式等属性 9.配送模块:包括ID、用户名、配送方式等属性
47
第6章. 详细设计
6.1. 系统模块详细设计(数据流图)
本系统总共有五大主要模块,分别是支付模块,订单管理模块,后台管理模块,配送模块和信息发布模块。每个模块分别有不同的权限和使用功能。
信息发布系统
卖家通过平台随时更改食品信息,以及食品的优惠信息,并储存在数据库中,而买家通过平台查询数据库,得到食品的信息。
48
后台管理模块
49
管理员、买家、卖家通过自己的登陆信息登陆系统,其中卖家可以更新店铺信息、通过系统得到销售统计信息,而管理员可以对卖家、买家进行账户管理。
50
支付模块
引入第三方金融接口,如果为货到付款,则不需要本支付系统,卖家买家可以直接交付;否则卖家转帐到支付系统,并且支付系统可以转帐到
51
卖家账户。
52
订单管理系统
买家通过系统下达顶、订单,并可以查询查询
53
订单数据库,得到订单状态。而系统会自动通知卖家订单详情。
配送模块
卖家给快递下达配送任务,卖家可以随时查询数据库,得到配送进度。
54
6.2. 程序流程图
信息发布流程
卖家通过系统更新食品信息,系统判断是否合法,合法则更新,并输出反馈。若买家反馈/查询食品,则进行查询并反馈,结束。
55
后台管理流程
首先判断是否注册,是则填入注册信息,判断合法后注册并反馈;否则进行登录,判断身份后输入操作,然后系统执行用户操作,输出操作反馈,判断登出,跳出系统结束。
56
支付模块流程
57
判断是否货到付款,是则改为人工操作,并直接跳出;否则买家输入银行信息进行转账,判断转账成功,是则进行卖家配送,否则重来。判断卖家配送是否成功,是则转账跳出,否则进入投诉环节。
58
订单管理流程
判断录入/查询订单,录入订单则录入,判断
59
合法性后提交订单,并下达配送,输出反馈。否则输入查询编号,查询配送情况,不论查询成功与否,输出查询反馈。
配送模块流程
查询则输入编号,进行合法判断,并查询,输
60
61
出反馈结束。录入则录入订单,生成配送,判断是否货到付款,是则直接配送,否则判断付款,付款后进行配送,根据配送方式配送。配送完成修改订单状态,结束。
6.3. 实体联系图(E-R图)
分E-R图
餐品表E-R图
62
订单E-R图
顾客E-R图
63
管理员E-R图
卖家E-R图
64
信息表E-R图
65
支付E-R图
6.4. 用例规约及用例图
1.支付: 用例名称: 角色: 简要
转入 支付 在线支付时资金不足,进行资金转入 66
说明: 前置用户在确认购买餐品后选择在线支付方事件: 基本式 1.用户确认购买餐品后 2.支付方式选择在线支付 金转入 备选流: 后置条件: 用例名称: 角色: 简要说明: 事件: 事件流:
流: 3.当支付时资金不足可以进行银行卡资用户可能在2时选择货到付款 资金转入成功,继续付款 转出 支付 在线支付时资金的转出 前置用户在确认购买餐品后选择在线支付方式 1.用户确认购买餐品后 2.支付方式选择在线支付 67
3.当支付时资金充足时,完成资金转出 备选流: 后置条件: 用例名称: 角色: 简要说明: 事件: 事件流: 备选流: 后置条件:
用户可能在2时选择货到付款 资金转出成功,付款成功 买家资金管理 支付 在线支付时买家资金的流动 前置用户在确认购买餐品后选择在线支付方式 1.用户确认购买餐品后 2.支付方式选择在线支付 3.买家对自己的资金进行管理操作 用户可能在2时选择货到付款 进而选择资金的流入或者流出 68
用例名称: 角色: 简要说明: 事件: 事件流: 备选流: 后置条件: 2.订单: 用例
货到付款 支付 餐品到达后用户付钱 前置用户在确认购买餐品后选择货到付款支付方式 1.用户确认购买餐品后 2.支付方式选择货到付款 用户可能在2时选择在线支付 用户下单成功,商家开始运作。 订单查询 69
名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 条件: 用例名称: 角色: 简要说明:
订单 用户和卖家可以对订单进行查询 用户在确认购买餐品后 1.用户确认购买餐品后 2.订单成功生成 3.买家可以进行查询来确认订单 4.卖家可以对生成的订单进行查询 无 后置买家通过查询订单确认购买信息,进而进行付款。 退订 订单 用户对递交后的订单进行退订 70
前置事件: 事件流: 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流:
用户下单成功并进行订单查询 1.用户确认购买餐品后 2.订单成功生成 3.查询订单 4.买家取消订单 无 用户成功取消订单 确认收货 订单 买家确认接收到餐品 1.用户下单成功并成功支付 2.卖家制作完成并配送成功 1.用户确认购买餐品后 2.订单成功生成 71
3.成功支付 4.卖家确认订单制作完成 5.成功配送到用户手中 6.用户接收餐品后 7.确认收单 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流:
用户在接收餐品后并没有及时进行反馈,7迟迟不能进行 买家确认交易完成 收单打印 订单 卖家确认交易完成收单打印 1.用户下单成功并成功支付 2.卖家制作完成并配送成功 3.买家确认收到餐品 1.用户确认购买餐品后 2.订单成功生成 72
3.成功支付 4.卖家确认订单制作完成 5.成功配送到用户手中 6.用户接收餐品后 7.确认收单 8.卖家收单打印 备选买家并没有及时进行确认收单,配送方流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流:
可以及时进行反馈 卖家确认交易完成 餐品信息 订单 卖家发布餐品相关信息进行信息的录入 1.卖家想要在订餐系统中出售餐品 2.卖家进行餐品信息录入 1.卖家发布店内餐品信息 2.卖家进行餐品信息的录入 73
备选流: 条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件:
无 后置卖家成功录入餐品信息,买家可以根据卖家发布的餐品信息进行购买 顾客信息 订单 用户对自己的相关信息进行录入 用户在购买前需要注册相关信息 1.用户浏览卖家发布的相关餐品 2.用户确认购买相关餐品 3.用户注册填写相关个人信息 1时浏览后,用户不想购买任何餐品 买家录入成功个人信息后可以进行购买 74
用例名称: 角色: 简要说明: 前置事件: 事件流: 配送信息 订单 配送方录入成功下单的用户信息 1.用户下单成功后 2.卖家制作成功等待配送 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.配送方录入用户信息 备选流: 3不成功时,将不会出现配送 4.确认用户信息时,发现用户信息不完整,无法配送 品 后置卖家制作好餐品后,配送方开始配送餐条件: 用例
支付信息 75
名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件: 3.后台: 用例名称: 角色: 简要
订单 对用户支付时录入的相关信息 1.用户下单成功后 2.进行支付选择时 1.用户确认购买餐品后 2.订单成功生成 3.在进行支付时进行选择 无 选择支付成功后,卖家开始制作餐品 登陆 后台 买家在后台成功注册后,登陆系统 76
说明: 前置事件: 事件流: 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选
买家成功注册个人信息 1.买家注册个人信息成功后 2.登陆系统 无 买家登陆系统后,可以进行餐品的选购 注册 后台 买家需要在后台注册个人信息 买家想要购买餐品 1.买家想要购买餐品 2.在后台系统注册个人信息 无 77
流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件:
买家注册个人信息后,登陆系统 登陆 后台 后台管理员登陆系统 无 后台管理员登陆系统进行管理 无 管理员的登陆系统后,进行管理员操作
78
用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 条件: 用例名称: 角色: 说明:
买家管理 后台 后台管理员对买家操作进行管理 管理员成功登陆系统 1.管理员成功登陆系统 2.用户进行注册、购买操作 3.管理员进行相关管理 没有用户时无须进行买家管理 后置对买家操作进行统一管理,方便系统运行 卖家管理 后台 管理监测 简要卖家注册后发布餐品信息,管理员进行 79
前置事件: 事件流: 备选流: 条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 卖家成功注册商家信息 卖家发布食品信息 1.卖家发布注册信息后 2.管理员进行管理 无 后置对卖家操作进行统一管理,方便买家购买 卖家资金管理 后台 卖家资金的流转 用户购买卖家餐品 卖家成本支出 1.用户购买餐品后支付资金 2.卖家制作餐品时的成本支出 3.卖家配送餐品支出 4.卖家进行资金统一管理
80
备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件: 用例
无 对卖家资金进行统一规划 注册 后台 卖家在后台系统注册信息 卖家要在订餐系统中出售餐品 1.卖家想要出售餐品 2.卖家在系统中注册信息 无 卖家可以进行餐品售卖 销售统计 81
名称: 角色: 简要说明: 前置事件: 后台 卖家销售份额 用户需要订购餐品 卖家完成餐品配送 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 事件流: 4.卖家确认订单制作完成 5.成功配送到用户手中 6.用户接收餐品后 7.确认收单 8.卖家收单打印 9.进行销售统计 备选流: 后置条件:
无 卖家可以对自身一天的销售额做到充分了解 82
4.配送: 用例名称: 角色: 简要说明: 前置事件: 事件流: 地址信息 配送 配送方需要将用户地址信息录入 1.用户下单成功 2.选择支付方式成功 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.配送方将用户地址信息进行录入 买家信息填写不完整或错误时,无法完备选成配送 址信息录入 后置条件: 用例
流: 没有成功选择支付方式时,不会进行地录入买家信息后,准备开始进行配送 地址信息 83
名称: 角色: 简要说明: 前置事件: 配送 录入用户地址信息 1.用户需要订购餐品 2.卖家完成餐品制作 3.进行配送 1.用户确认购买餐品后 2.订单成功生成 事件流: 3.成功支付 4.卖家确认订单制作完成 5.选择配送方式 6.配送员进行买家地址信息查询 备选买家地址信息填写不完整或错误时,无流: 后置条件: 用例名称: 角色:
法完成配送 查询到买家地址信息后,开始进行配送 客户姓名 配送 84
简要说明: 前置事件: 录入用户姓名,配送时方便确认 1.用户需要订购餐品 2.卖家完成餐品制作 3.进行配送 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.卖家确认订单制作完成 5.选择配送方式 6.配送员进行买家地址信息查询 7.到达后,确认客户姓名 事件流: 备选流: 后置条件: 用例名称: 角色: 简要
确认用户姓名不符合时,无法完成配送 客户姓名确认后,交易餐品 用户电话 配送 用户电话号码录入 85
说明: 前置事件: 1.用户需要订购餐品 2.卖家完成餐品制作 3.进行配送 1.用户确认购买餐品后 2.订单成功生成 事件流: 3.成功支付 4.卖家确认订单制作完成 5.选择配送方式 6.配送员进行买家地址信息查询 7.配送方通过电话通知买家取餐 备选流: 后置条件: 用例名称: 角色:
买家地址信息填写不完整或错误时,无法完成配送 买家电话不通时,无法完成配送 买家接到电话后,动身取餐 客服电话 配送 86
简要说明: 前置事件: 客服电话号码录入 用户需要订购餐品 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.卖家确认订单制作完成 5.进行配送 6.买家可通过客服电话询问来了解餐品配送情况 事件流: 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置
无 无 专业团队送 配送 专业物流团队配送餐品 1.用户订购餐品完成后 87
事件: 2.卖家制作完成 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.卖家确认订单制作完成 5.选择专业团队配送方式 事件流: 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流:
在5时选择商家自配送 查询买家信息,开始配送 商家自配送 配送 商家自己配送餐品 1.用户订购餐品完成后 2.卖家制作完成 1.用户确认购买餐品后 2.订单成功生成 88
3.成功支付 4.卖家确认订单制作完成 5.买家自己配送餐品 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置
在5时选择专业团队送 查询买家信息,开始配送 正在制作中 配送 餐品正在制作当中 用户订购餐品完成后 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.买家查询到餐品正在制作中 4时买家查询到餐品正在配送中 买家等待餐品 89
条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件:
正在配送中 配送 餐品正在配送路上 用户订购餐品完成后 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.买家查询到餐品正在配送中 4时买家查询到餐品正在制作中 买家等待餐品 90
5.卖家信息发布: 用例名称: 角色: 说明: 星级评判 卖家信息发布 级评判 1.用户订购餐品完成 前置事件: 2.配送成功 3.买家确认订单 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 事件流: 4.卖家确认订单制作完成 5.选择配送方式 6.配送员进行买家地址信息查询 7.配送方通过电话通知买家取餐 8.交易完成后 9.用户对卖家进行星级评判 备选流:
简要买家对餐品进行星级评价,卖家显示星没有成功配送 91
后置条件: 用例名称: 角色: 简要说明: 其他买家可以通过卖家的星级评判选择是否购买此卖家餐品 交流互访 卖家信息发布 买家与卖家互相交流交易中的意见 1.用户订购餐品完成 2.配送成功 3.买家确认订单 4.星级评判完成 1.用户确认购买餐品后 2.订单成功生成 3.成功支付 4.卖家确认订单制作完成 5.选择配送方式 6.配送员进行买家地址信息查询 7.配送方通过电话通知买家取餐 前置事件: 事件流:
92
8.交易完成后 9.用户对卖家进行星级评判 10.买家与卖家进行交流 备选流: 后置条件: 用例名称: 角色: 说明: 前置事件: 事件流: 备选
没有成功配送 9时买家并没有进行星级评判 通过交流卖家餐品可以得到更多提高 礼品套餐 卖家信息发布 品 用户浏览餐品 1.用户进入卖家店中 2.可以选择套餐购买 3.卖家赠送套餐礼品 用户没有购买套餐 简要卖家进行的优惠活动,购买套餐赠送礼 93
流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件:
无 首单立减 卖家信息发布 卖家进行的优惠活动,第一笔订单减免费用 用户浏览餐品 1.用户进入卖家店中 2.第一次购买时 3.减免部分费用 用户曾经在此购买过 无 94
用例名称: 角色: 简要说明: 前置事件: 事件流: 备选流: 后置条件: 用例名称: 角色:
满减优惠 卖家信息发布 卖家进行的优惠活动,满额度优惠 用户浏览餐品 1.用户进入卖家店中 2.消费达到额度后 3.减免部分费用 用户没有消费到额度 无 餐品信息 卖家信息发布 95
简要说明: 前置事件: 事件流: 备选流: 后置条件: 用例名称: 角色: 说明: 前置事件:
卖家发布餐品信息 卖家在系统中注册信息 1.卖家成功注册信息后 2.后台管理记录成功 3.卖家可以发布自己店内餐品信息 卖家没有注册 后台注册不成功 买家可以根据卖家发布的餐品信息浏览购买 排序方式 卖家信息发布 序 卖家在系统中注册信息 成功发布餐品信息 简要卖家发布餐品信息后,进行餐品展览排 96
1.卖家成功注册信息后 事件流: 备选流: 后置条件: 用例名称: 角色: 简要说明: 前置事件: 事件流:
2.后台管理记录成功 3.卖家可以发布自己店内餐品信息 4.卖家对餐品信息进行排序 卖家没有注册 后台注册不成功 买家可以根据卖家发布的餐品信息浏览购买 送餐时段公告 卖家信息发布 卖家发布餐店送餐时段 1.卖家在系统中注册信息 2.卖家发布店内出售的餐品信息 1.卖家成功注册信息后 2.后台管理记录成功 3.卖家可以发布自己店内餐品信息 97
4.卖家发布送餐时段 备选流: 后置条件:
用例图
卖家没有注册 后台注册不成功 买家可以根据卖家发布的餐品信息浏览购买 根据送餐时段信息决定购买时间段
98
99
第7章. 测试方案
7.1. 实现
略
7.2. 版本更新记录
版本号 1.0
7.3. 测试目的
责任人 张三 日期 2014-12-25 备注 无 及早地发现软件中的错误,发现无法满足用户需求的缺陷并及时改正。通过穷举项目中可能存在问题的地方,在用户之前发现,提高用户使用的正确性。
7.4. 测试环境
服务器:处理器英特尔® 至强® 处理器E5-2600 v2系列,带宽全双工10M带宽,CentOS
100
操作系统,apache2,php5.5
客户端:windows系统,IE8.0浏览器 Android4.0系统,客户端
7.5. 功能测试用例
登陆用例
输入 密码 密码 输入 的信息 信息 输入订单用例
输入 理想输出 入错误 实际输出 入错误 合格 食品不存在 提示食品输提示食品输是 输入的资金提示内部错提示内部错是
理想输出 误 面 理想输出 误 实际输出 误 面 合格 非法用户名提示登录错提示登录错是 合法用户名登录成功页登录成功页是 修改信息用例
实际输出 误 修改成功 是 合格 不符合格式提示输入错提示输入错是 符合格式的修改成功 101
不匹对 销售完毕 输入 单 单 输入 合法 不存在 输入 账户 误 货 理想输出 单错误 配送 理想输出 扣错误 误 理想输出 误 货 查询订单用例
实际输出 单错误 配送 实际输出 扣错误 误 支付用例
实际输出 无提示 合格 是 合格 合格 输入的食品提示食品缺提示食品缺是 不存在的订提示输入订提示输入订是 未配送的订订单信息未订单信息未是 更改食品信息用例
输入折扣不提示输入折提示输入折是 更新的商品提示内部错提示内部错是 输入不存在无提示 输入的金额提示内部错提示内部错是 不够 支付失败
误 误 提示支付失提示支付失是 102
败 输入 存在 不合格 输入 存在 丢失 7.6. 性能测试
败 配送输入用例
实际输出 误 合格 实际输出 存在 失 合格 合格 理想输出 误 合格 理想输出 存在 失 输入订单不提示内部错提示内部错是 输入的地址提示地址不提示地址不是 查询输入用例
输入配送不提示配送不提示配送不是 输入的配送提示配送丢提示配送丢是 用户在线数是否停机 量 10 100 1000
合格 是 是 是 否 备注 无 无 无 无 否 否 否 10000 是 103
第8章. 总结
经过一周的不懈努力,和指导老师的谆谆教导,以及同组同学的团结协作,充分利用这学期所学的专业软件知识,通过大量阅读与设计相关的专业参考文献,我们终于完成了本次课程设计,已经基本上实现了网络订餐系统的各项功能。
在这次课程设计过程中,我们独立设计和实现了用户注册,支付模块,订单管理模块,后台管理模块,配送模块,信息发布模块五个模块的全部功能。
通过这次课程设计,我们了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,并加深理解了许多课程中、菜品本上学到的知识和理论。同时,通过编写本系统的缺陷也是明显的,如安全性,效率问题等等。由于时间,能力等原因,有些功能实现的并不完美,在已经完成的设计中,也存在许多不尽人意的课题,也没有统一优化,系统有待进一步改善,而这些问
104
题也让我充分认识到了软件开发的困难。 通过毕业设计,我们学会了如何去了解一种新型的技术,去掌握一种技术,以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,扩大了自己的知识面。
总之,这次毕业设计为我们今后继续学习、深造奠定了基础,我们非常感谢各位老师、同学的支持与帮助。
参考文献
[1]. 卞文志.网上订餐将成为餐饮业利润第二落点[J].烹调知识.2007,(4):26~27
[2]. 李勇平. ASP.NET 2.0(C#)基础教程[M].北京:清华大学出版社,2008
[3]. Chris Ullman,John Kauffman
等
105
著.ASP.NET 1.1入门经典.Visual C#.NET 2003编程篇[M]. 北京:清华大学出版社,2004 [4]. 马照亭等.ASP Web编程实例教程[M].北京:北京希望电子出版社,2002
[5]. 刘亚姝,许小荣,张玉梅等. ASP动态网站开发技术与实践[M].北京:电子工业出版社,2007 [6]. 孙三才,许熏尹.精通c#与ASE.NET程序设计[M].北京:中国青年出版社,2001.8 [7]. SQL Server 2005
发展优势所在
[DB(DB/OL)].[2008-10-06]
[8]. http://www.powertoronto.com/?action-viewnews-itemid-22191
[9]. 张伟,蒋德华.基于B/S架构的网站设计研究[J].软件导刊.2008-07-09,7(5):109~110 [10]. 张玉孔.B2C型中小企业电子购物系统的设计[J].商场现代化.2006,(11X):119~119 [11]. 顼宇峰. ASP + SQL Server典型网站建设案例[M].北京:清华大学出版社,2006
[12]. 冀振燕著.UML系统分析设计与应用案例[M].北京:人们邮电出版社,2003
[13]. 蒋瀚洋,李月军,庞娅娟. SQL Server 2005数据库管理与开发教程[M].北京:人民邮电出
106
版社,2009
[14]. 吴晨,张亮,张静.ASP.NET + SQL Server数据库开发与实例[M].北京:清华大学出版社,2006
[15]. Michael V. Mannino.数据库设计、应用开发和管理[M].北京:清华大学出版社,2007 [16]. 古乐,史九林等.软件测试案例与实践教程[M].北京:清华大学出版社,2007
[17]. 杨千里,王育民.电子商务技术与应用[M].北京:电子工业出版社,1999
因篇幅问题不能全部显示,请点此查看更多更全内容