软件工程课程设计网络订餐系统的设计与实现_第1页
软件工程课程设计网络订餐系统的设计与实现_第2页
软件工程课程设计网络订餐系统的设计与实现_第3页
软件工程课程设计网络订餐系统的设计与实现_第4页
软件工程课程设计网络订餐系统的设计与实现_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 山 西 大 学 商 务 学 院 软件工程课程设计报告 题 目: 网络订餐系统的设计与实现 班 级: 12嵌入式班 组 长: 组员姓名: 说 明一、设计题目:网络订餐系统的设计与实现二、小组成员及任务分配情况姓名学号任务分配可行性分析文档、课程设计报告?部分需求分析文档系统详细设计文档系统测试文档 目 录1. 开发目的和意义31.1 开发目的和意义31.2 完成情况32. 开发相关技术及方法32.1 开发环境和开发工具32.2 相关技术及方法43. 系统分析43.1 可行性分析43.2 需求分析63.2.1性能需求分析63.2.2功能需求分析63.2.3系统数据流图73.2.3系统需求分析10

2、3.2.4行为需求分析114. 系统设计124.1 总体设计124.2 系统模块的详细设计124.2.1主界面设计124.2.2模块设计124.3系统模块的数据库设计144.3.1 数据库设计概述144.3.2 概念结构设计144.3.3逻辑结构设计164.4 数据库设计175. 系统实现195.1 用户注册登录模块实现195.2订单处理模块实现195.3点评模块实现196.系统测试206.1测试的重要性206.2测试的目标206.3测试的方法206.4测试内容216.4.1用户注册登录模块测试216.4.2订餐服务模块测试216.4.3订单处理模块测试226.4.4用户安全性测试226.5测

3、试结果227.实践总结237.1 小结237.2 实践感想23参考文献24附录1:可行性分析文档25附录2:需求分析文档27附录3:系统设计文档34附录4:系统测试文档411 可行性分析文档错误!未定义书签。附录1 可行性分析文档错误!未定义书签。附录1 可行性分析文档错误!未定义书签。1. 开发目的和意义1.1 开发目的和意义随着网络技术的不断发展,人们对于网络有了越来越多的要求。ebay、阿里巴巴、淘宝的出现,让电子商务重现曙光,google、百度的出现,让人们通过网络检索信息,获得有效信息的途径更加丰富。当学生们忙碌了整个上午后,享用丰富的午餐成了基本的要求,而网上订餐系统正是为了帮助人

4、们寻找和发现新的菜种,品尝不同风格和不同种类的菜品。因此,面向大学生的网上订餐系统的设计有着良好的现实意义,网上订餐业务在校园也有极大的发展空间和良好的发展前景。1.2 完成情况本项目实现了用户注册与登录、餐厅管理、用户订餐、系统管理、评价等功能,已经进行到了了系统的设计以及测试阶段。2. 开发环境及相关技术方法2.1 开发环境(1)硬件环境(2)软件环境jsp技术是一种服务器端的html页面中嵌入java代码的脚本语言,它比一般脚本语言的执行速度更快,由于jsp是基于java语言的,所以它可以运行在unix/linux和windows平台上,是一种难得的动态网页开发语言。java的特点:(1

5、)简单java语言简单是指这门语言既易学又好用。简单并不代表干瘪,java是一门很丰富的语言。(2)面向对象基于对象的编程更符合人们的思维模式,使人更容易编写程序。(3)跨平台java是基于虚拟机运行的程序,它可以实现一处编译多处运行。(4)多线程java实现了内置多线程支持。多线程允许同时完成多个任务。(5)安全java小应用程序被限制在只允许访问java运行环境中,不允许访问计算机其他资源。java提供了强类型检查机制,使得程序在开发期间更安全。(6)动态java程序的基本组成单位就是类,有些类是自己编写的,有些类是从类库引用的,而类又是运行时动态绑定的,这就使得java可以在分布式环境中

6、动态的维护程序和类。本系统选择sql server 2008(standard query language,sql 结构化查询语言)作为数据管理系统。 sql server 2008是有microsoft 开发和推广的关系数据库管理系统(dbms),是一个全面的数据库平台,使用集成的商业智能 (bi)工具,提供了企业级的数据管理。2.2 相关技术及方法?系统采用?技术、?方法?,具体如下几个方面:(1)java?.(2) ?.(3)java?.随着互联网技术的不断发展,基于浏览器/服务器(browser/server简称b/s)体系结构的应用程序得到了空前广泛的应用。但是服务器之间的通讯,尤

7、其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。因为大多数internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。jsp无疑可以轻松地实现这类功能,在动态内容的解决问题中,还存在其他的解决方法,但是开发人员要掌握这些技术很难。例如,javaservlets这样的技术就可以使得用java语言编写交互式的应用程序的服务器端的代码变得更加简单。javaservlets就是一个基于java技术的运行在服务器端的程序(与applet不同,后者运行在浏览器端)。开发人员编写出servlet程序,用来接收来自web浏览器的http请求,动态地生成响应

8、,然后发送包含html或xml文档到浏览器。但是使用这种方法,整个网页必须都在javaservlet中制作。如果开发人员或者web管理人员想要调整页面的显示,就不得不从新编辑并编译javaservlet程序。采用这种方法,编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验。很显然,一个简单的创建动态页面的解决方案要能解决以下的问题:1.能够在任何web或应用程序服务器上运行2.将应用程序逻辑和页面显示分离3.能够快速地开发和测试4.简化开发基于web的交互式应用程序的过程javaserverpages(jsp)满足这些要求,它整合了存在的java编程环境提供支持的技术和工具,产生了一种

9、新的、开发基于web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能。sql server 2008 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。3. 系统分析3.1 可行性分析随着互联网的日益普及,网上订餐也开始慢慢风靡于我们的生活。网上订餐业务的出现,能够帮助人们寻找和发现新的菜种,品尝不同风格和不同种类的菜品。当代大学生作为社会中的重要群体,饮食在他们生活中起着重要作用。因此,面向大学生的网上订餐系统的设计有着良好的现实意义,网上订餐业务在校园也有极大的发展空间和良好的发展前景。网上订餐

10、系统无论是在应用的深度还是广度上都是一个逐步发展的过程。开发一个局部系统时要充分考虑到局部系统和整个目标系统之前的相容性和完整性,以利于今后整个系统的建立。从订单处理流程上总体把握系统的设计,在具体的设计实现上围绕三个方面进行展开,即用户、管理者、系统维护者。?,具体如下几个方面:(1)技术可行性分析此次开发基于c语言作为开发语言,它具有语言简洁、语言自由、支持跨平台、与xml相融合等多个特点。我们以sql sever技术作为后台支撑,它能够实现数据库镜像、在线恢复、在线检索操作、快速恢复,安全性能高等多个功能。所以从现有的技术水平来说,完全能够建立一个以消费者服务和内部管理为目的的信息平台。

11、?可行性。l 经济可行性分析 该系统无需额外的设备购买和人员培训费,所以在经济上是可行的。而且该系统可以做到用户足不出户就能吃到美味的食物,同时增加餐馆的营业额的效果。通过以上的分析,开发网络订餐系统是完全可行的。l 社会可行性1 网络订餐系统作为一种全新的商务模式,但也存在一些潜在的问题。该系统为独立开发,在技术上没有使用任何现有的软件与方法,所以在法律方面不会存在侵犯专利权,侵犯版权等问题。2 随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。随着internet的发展,用户对于网络、windows等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情

12、。总之,本系统在?可行的。3.2 需求分析3.2.1性能分析(1)操作简单,界面友好:完全空间式的页面布局,使得菜品、咨询等信息录入的工作更简单。另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见类似的网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式。2、即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在首页的对应栏目显示出来,达到“即时发布,即时见效”的功能。3、系统运行应该快速、稳定、高效和可靠。4、在结构上具有很好的可扩展性,便于将来功能的扩展和维护。5、对数据的安全性、完整性要求:用户信息保密,只有管理员能任

13、意修改。确保网上支付安全。菜品信息、用户信息必须保证其完整性。防止恶意删改。3.2.2功能分析 (dfd 、用例图)首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的订餐网站注册成会员来了解其具备的功能。3.2.3系统数据流图该系统的数据流程图分三层来描述,分别是顶层数据流图、一级分解、二级分解,具体数据流程图如下图所示:1、 顶层数据流图?。系统的顶层数据流图如图?所示:2、 第0层数据流图?3、 第一层数据流图(1) 用户管理数据流图(2) 订餐管理数据流图(3) 系统管理数据流

14、图3.2.3系统需求分析本系统使用uml中的用例图对需求建模。用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。网上订餐系统主要有一下几个方面需求:1、用户用户首先需要注册一个账号用于系统登录,登录后可以查看店铺信息,并选中某一店铺后进入其餐饮信息界面,最终选中所需餐饮,下订单。当然用餐后还可以对此餐饮进行评价。2、 订餐管理员当用户下订单后,订单管理员需及时生成订单,如果订餐者对订单有所更改时,订单管理员也要及时对数据进行更新。3、 系统管理员系统管理员主要完成对商家和订餐者信息的管理、以及系统的维护。本系统的用户用例图如下图所示。用户登陆后可以订餐、选择店铺、选择餐饮。下单

15、以及付款,可以对餐饮及系统进行评价留言。餐厅管理员用例图如下图所示。餐厅管理员登录系统后对订单进行核实并安排配送,然后更新店铺的相关信息。系统管理员用例图如下图所示。系统管理员登录系统后,可以对订餐管理者和用户进行管理(增加、删除、修改、查询),以及对系统进行维护。3.2.4 行为分析状态图通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态图提供了行为建模机制。本文用状态图进行行为需求分析。根据前面的分析和设计可以发现,每个参与者在使用系统前都需要进行登录,登陆后就可以进行各自相应的操作,操作完后退出系统。创建的系统状态图如下:4. 系统设计4.1 总体设计本系统主要包括?、?

16、、?。系统功能模块结构图如图?所示: 网上订餐服务系统后台前台系统管理订餐管理用户管理更新菜单、调整价格前台信息浏览、添加、删除、修改处理订单审核注册用户回复留言查询订单明细信息反馈和评分订餐查看历史订单留言板信息浏览填写、修改个人信息用户登录或游客注册图 3.1 系统整体框架图(1)用户注册与登录模块:不同的用户在注册自己账号后,即将信息保存于数据库,用户在输入用户名和密码之后,与数据库的校验信息匹配,方可登录自己的用户界面。 (2)餐厅管理模块:餐厅登录成功,即可对自身信息进行查看并修改,也可发布新的菜品以及报价,待管理员审批通过方可发布,使用户看到餐厅的信息。 (3)用户订餐模块:用户选

17、定自己喜欢的餐厅和菜品,付款等待餐厅接单,接单后等待餐厅配送。 (4)系统管理模块:负责审核注册用户,对数据库的信息及留言板中的内容进行浏览、添加、删除、修改等操作。 (5)评价系统模块:在用户对餐厅的菜品品尝之后,可根据情况对餐厅进行评价,评价也对其他用户选择餐厅起到了参考的作用。同时,评价低于标准值的餐厅将进入黑名单。4.2详细设计4.2.1添加菜品模块的设计此模块?,?,添加菜品模块的设计流程如图?所示: 4.2.1主界面设计系统界面作为系统的脸面,是用户评定该系统的第一印象。因此,系统主页面的设计要足够吸引用户,同时满足操作方式大众化的原则,让用户能够自如地运用该系统。4.2.2模块设

18、计下订单流程图: 订单管理流程图: 系统管理流程图: 评价系统流程图: 4.3数据库设计 4.3.2 概念结构设计对上述的总体设计和需求分析之后,我们已对各个模块及其功能进行了初步的分析。在此阶段,我们可根据模块中各实体之间的相互联系和各数据表之间的相互关联,系统的e-r图如图?所示:包含订单条目 菜品mn包含nn预定管理m1留言板留言管理员订单生成用户 n 11nn1其主要数据表e-r 图如下:cid scid菜名 介绍价格 菜品 图片销售量推荐订单id用户id菜名送餐地址联系电话 订单订单时间金额备注 真实姓名uname用户id身份证号upwd 用户stateqq号码号码 联系电话 喜欢口

19、味菜名订单idid数量单价 订单条目信息回馈评分 类型 管理员管理员idmpwdmnameme4.3.3逻辑结构设计 逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体dbms所能支持的数据模型(即逻辑结构),并对其进行优化。 概念模型转换为关系模型的转换规则:(1) 一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。(2) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。(3) 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 (4) 一个m:n联系可以转换为一个独立的关系模式。(5)

20、一个多元联系可以转换为一个独立的关系模式。(6) 具有相同码的关系模式可以合并。 (7) 有些1:n的联系,将属性合并到n端后,该属性也作为主码的一部分。 由上述e-r图转换成关系模式如下所示: 用户(用户id,uname,upwd,真实姓名,联系电话,state,身份证号,喜欢口味,qq号码); 菜品(cid,scid,菜名,价格,介绍,图片,推荐,销售量); 预定(用户id,cid); 订单条目(id,订单id,菜名,数量,单价,评分,信息回馈); 包含(cid,id); 订单(订单id,用户id,菜名,订单时间,备注,金额,联系电话,送餐地址,管理员id); 管理员(管理员id,mnam

21、e,mpwd,类型);4.4 数据库设计 (1)订单表此表?,订单表如表?所示: 表4.2 订单表 表4.3 菜品表 表4.4 用户表 表4.5 订单条目表 用户注册登录界面 表4.6 管理员表 5. 系统实现5.1 用户注册登录界面用户注册登录界面,填写注册表中的信息,提交然后进行登录。用户注册登录界面如图?所示:5.2订单处理 管理员查看订单信息时登录后台管理系统,查看订单,处理订单。5.3点评模块实现6.系统测试6.3测试方法测试任何产品都有两种方法:黑盒测试和白盒测试。本次系统测试主要采用黑盒测试。白盒测试又称结构测试,它的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序

22、的结构和处理工程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。黑盒测试又称功能测试,是把程序看成一个黑盒子,完全不考虑程序等额内部结构和处理过程,也就是说它是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接收输入数据产生正确的输出信息,并且保持外部信息的完整性,还有性能是否能够满足要求,是否有初始化或者终止性错误。综上所诉,针对这个网上订餐服务系统,我们已经知道了系统应该具有的功能,而内部结构和具体工作过程还待了解,所以我们可以通过黑盒测试来检验每个功能是否都能正常使用。6.4测试用例及结果6.4.1用户注册

23、登录模块测试具体操作:填写注册表中的信息,提交然后进行登录。 测试项目测试用例测试结果操作流程用户登录订餐服务模块用户名:yy正确密码:12登陆成功在网站首页的登录框输入密码:12上登录添加菜品模块的设计用户名:yy正确密码:12输入密码:12登录失败或尚未通过审核在网站首页的登录框上登录添加菜品模块的设计输入相关注册信息注册成功,等待审核在网站首页的登录框上点击“注册”添加菜品模块的设计 测试要点为用户名和密码,判断其是否为真,为真进入系统,为假弹出警告框提示密码或用户名错误。6.4.2测试可以从系统首页直接查找点击,也可以在搜索栏中搜索查找 测试项目测试用例测试结果操作流程菜单首页点击各个

24、店铺的显示店铺的各种饭菜点击页面店铺菜单搜索查询在搜索框中输入电名显示所要店铺和菜单在搜索框中输入关键字6.4.3订单处理模块测试管理员查看订单信息时登录后台管理系统,查看订单,处理订单。测试项目测试用例测试结果操作流程登陆后台用户名、密码转入后台页面进入后台登陆页面查看订单点击“订单详情”转入订单详情页面点击查看“订单详情”处理订单点击“处理订单”订单状态以变为一“以送餐”在订单详情中点击“处理订单” 6.4.4用户安全性测试管理人员在登录系统后台查看用户信息时不能修改用户资料,只能浏览用户资料。用户在登录系统页面时如果输入的用户名和密码格式错误或填写错误,也不能进入页面即登录失败。6.5测

25、试结果本次采用了黑盒测试对该系统的基本功能进行了测试后,每个模块的基本功能都比较成功,但也发现了一些问题有的模块出现异常,对此我们及时进行了修改。现在功能基本能正常使用,结果也能满足需求。有可能还存在问题,这需要我们在以后运行过程中不断完善。7.实践总结7.1 小结本项目提出的网上订餐系统是在调研国内各大网上订餐管理软件和查阅资料了解国内外资料的基础上提出来的,同时查阅了大量相关文件做出系统分析,此文的系统分析和设计只是相对于一般的团体而言的。如果要运用到实际企业、商店、大型超市,要根据实际情况进行完善和改进。同时,本文着重介绍的是网上订餐管理系统的开发、java语言和jsp语言部分,又由于系

26、统的特殊性更多地考虑java、数据库和jsp语言的设计和实现。7.2 实践感想在做本次课程设计时我们学习到:当调试出现问题时,先从细节上入手,看看自己在细节上有没有由于粗心而发生的错误,然后再进行整体上分析,有没有严重的语法错误。最终在团队成员的努力下解决了各种问题。这次课程设计实验,积累了数据库编程和网站开发的基本经验和一些基本技巧。对大型系统开发有了实质性、操作性的认识,同时对运用jsp技术有了很大的提高,对以前学到的书本知识也是个很好的巩固,同时这次设计让我意识到自己的许多的不足,锻炼了自己独立发现问题,思考问题,解决问题的能力,也掌握了一些编程的思想和技巧,使自己的编程能力也有了很大的

27、提高。具体如下几个方面:(1)?方面?(2)?方面?(3)?方面?。总之,我在?方面?。 参考文献1 中国电子政务发展研究现状.eb/ol.http: /www.gygov. cn/jumpnews/bg050401.htm,2005-05-21. 2 b/s结构应用开发秘笈 陈卫 国防工业出版社 2001 3 李春儒,守望互联网经济电子商务发展现状与趋势.eb/ol.http:/ / 4 龚炳铮,我国电子商务的发展现状与趋势eb/ol.http:/www.ec. o./2004-05/08/content_4138744.htm,2004-05-08. 5 李飞,最新实用网络技术教程m.西安

28、:西安电子科技大学出版社.6970,124126. 最新实 6 黄理,李积善,曹林有,张勇.用jsp轻松开发web网站(第一版)m.北京:北京希望电子出版社.2001.100152. 7 飞思科技产品研发.jsp 应用开发详解(第二版)m.北京:电子工业出版社,2004.2328,259316 8肖金秀,冯沃辉,施鸿翔.jsp程序设计教程m.北京:冶金工业出版社,2003.7:110-139. 【d】 j9马红华,jsp高级编程.m.北京:北京希望电子出版社,2001.510 10陆正武,蒋武,刘军,石正贵.java项目开发实践m.北京:中国铁道出版社,2004.67,87112. 11萨师煊

29、,王珊.数据库系统概论(第三版)m.北京:高等教育出版社,2001.84149附录1:可行性分析文档随着互联网的日益普及,网上订餐也开始慢慢风靡于我们的生活。网上订餐业务的出现,能够帮助人们寻找和发现新的菜种,品尝不同风格和不同种类的菜品。当代大学生作为社会中的重要群体,饮食在他们生活中起着重要作用。因此,面向大学生的网上订餐系统的设计有着良好的现实意义,网上订餐业务在校园也有极大的发展空间和良好的发展前景。网上订餐系统无论是在应用的深度还是广度上都是一个逐步发展的过程。开发一个局部系统时要充分考虑到局部系统和整个目标系统之前的相容性和完整性,以利于今后整个系统的建立。从订单处理流程上总体把握

30、系统的设计,在具体的设计实现上围绕三个方面进行展开,即用户、管理者、系统维护者。l 技术可行性分析此次开发基于c语言作为开发语言,它具有语言简洁、语言自由、支持跨平台、与xml相融合等多个特点。我们以sql sever技术作为后台支撑,它能够实现数据库镜像、在线恢复、在线检索操作、快速恢复,安全性能高等多个功能。所以从现有的技术水平来说,完全能够建立一个以消费者服务和内部管理为目的的信息平台。l 经济可行性分析 该系统无需额外的设备购买和人员培训费,所以在经济上是可行的。而且该系统可以做到用户足不出户就能吃到美味的食物,同时增加餐馆的营业额的效果。通过以上的分析,开发网络订餐系统是完全可行的。

31、l 社会可行性3 网络订餐系统作为一种全新的商务模式,但也存在一些潜在的问题。该系统为独立开发,在技术上没有使用任何现有的软件与方法,所以在法律方面不会存在侵犯专利权,侵犯版权等问题。4 随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。随着internet的发展,用户对于网络、windows等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情附录2:需求分析文档3.2需求分析需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。3.2.1性能

32、需求分析1、操作简单,界面友好:完全空间式的页面布局,使得菜品、咨询等信息录入的工作更简单。另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见类似的网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式。2、即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在首页的对应栏目显示出来,达到“即时发布,即时见效”的功能。3、系统运行应该快速、稳定、高效和可靠。4、在结构上具有很好的可扩展性,便于将来功能的扩展和维护。5、对数据的安全性、完整性要求:用户信息保密,只有管理员能任意修改。确保网上支付安全。菜品信息、用户信息必须保证其

33、完整性。防止恶意删改。3.2.2功能需求分析首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的订餐网站注册成会员来了解其具备的功能。本系统的主要功能是以用户以及管理员而扩展开来,下面简单介绍下该系统的一些主要功能:(1)用户登录网上订餐系统进行信息浏览,会员注册;(2)会员可以对自己的个人信息进行更改,以会员形式登录的顾客享受订餐服务;(3)会员可对菜单进行选择、更改、删除;(4)会员可提交订单至订餐厅后台系统,生成订单并查看历史订单;(5)会员可以对系统、餐厅或菜品进行意见或建议的

34、留言并进行信息反馈和评分;(6)餐厅管理员更新菜单,设置打折优惠活动,调整价格;(7)餐厅管理员可查询处理订单,并派送饭菜,回复餐厅或菜品的留言;(8)系统管理员可以管理会员信息,回复会员的留言、评论及权限的设置;(9)系统管理员可以对订单进行管理、删除、总结。分析网上订餐系统,制订整个系统框架如图2.1所示:网上订餐服务后台前台系统管理订餐管理用户管理更新菜单、调整价格前台信息浏览、添加、删除、修改处理订单审核注册用户回复留言查询订单明细信息反馈和评分订餐查看历史订单留言板信息浏览填写、修改个人信息用户登录或游客注册图 2.1 系统整体框架图3.2.3系统数据流图该系统的数据流程图分三层来描

35、述,分别是顶层数据流图、一级分解、二级分解,具体数据流程图如下图所示:1、顶层数据流图4、 第0层数据流图5、 第一层数据流图(4) 用户管理数据流图(5) 订餐管理数据流图(6) 系统管理数据流图3.2.3系统需求分析本系统使用uml中的用例图对需求建模。用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。网上订餐系统主要有一下几个方面需求:1、用户用户首先需要注册一个账号用于系统登录,登录后可以查看店铺信息,并选中某一店铺后进入其餐饮信息界面,最终选中所需餐饮,下订单。当然用餐后还可以对此餐饮进行评价。4、 订餐管理员当用户下订单后,订单管理员需及时生成订单,如果订餐者对订单

36、有所更改时,订单管理员也要及时对数据进行更新。5、 系统管理员系统管理员主要完成对商家和订餐者信息的管理、以及系统的维护。本系统的用户用例图如下图所示。用户登陆后可以订餐、选择店铺、选择餐饮。下单以及付款,可以对餐饮及系统进行评价留言。餐厅管理员用例图如下图所示。餐厅管理员登录系统后对订单进行核实并安排配送,然后更新店铺的相关信息。系统管理员用例图如下图所示。系统管理员登录系统后,可以对订餐管理者和用户进行管理(增加、删除、修改、查询),以及对系统进行维护。3.2.4行为需求分析状态图通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态图提供了行为建模机制。本文用状态图进行行为需

37、求分析。根据前面的分析和设计可以发现,每个参与者在使用系统前都需要进行登录,登陆后就可以进行各自相应的操作,操作完后退出系统。创建的系统状态图如下:附录3:系统设计文档4.系统概要设计 4.1系统模块的总体设计 本系统利用层次图来表示系统中各模块之间的关系。通过需求分析,在充分掌握了用户的需求之后分析出该系统需要具备以下几个功能模块: (1)用户注册与登录模块:不同的用户在注册自己账号后,即将信息保存于数据库,用户在输入用户名和密码之后,与数据库的校验信息匹配,方可登录自己的用户界面。 (2)餐厅管理模块:餐厅登录成功,即可对自身信息进行查看并修改,也可发布新的菜品以及报价,待管理员审批通过方

38、可发布,使用户看到餐厅的信息。 (3)用户订餐模块:用户选定自己喜欢的餐厅和菜品,付款等待餐厅接单,接单后等待餐厅配送。 (4)系统管理模块:负责审核注册用户,对数据库的信息及留言板中的内容进行浏览、添加、删除、修改等操作。 (5)评价系统模块:在用户对餐厅的菜品品尝之后,可根据情况对餐厅进行评价,评价也对其他用户选择餐厅起到了参考的作用。同时,评价低于标准值的餐厅将进入黑名单。 4.2系统模块的详细设计 4.2.1主界面设计系统界面作为系统的脸面,是用户评定该系统的第一印象。因此,系统主页面的设计要足够吸引用户,同时满足操作方式大众化的原则,让用户能够自如地运用该系统。4.2.2模块设计下订

39、单流程图: 订单管理流程图: 系统管理流程图: 添加菜品流程图: 评价系统流程图: 4.3系统模块的数据库设计 4.3.1 数据库设计概述数据库就是按照数据结构来组织、存储和管理数据的仓库。本系统所采用的数据库是mysql数据库,它拥有一个快且稳的基于线程的内存分配系统,可以持续使用。在设计网上订餐系统时,主要从模块组成、数据连接和功能实现三个面着手,其主要目的是完成各模块的功能,但在满足功能的同时,也要充分考虑到数据的高效性,减少数据冗余,保证系统的运行速度。 为满足本系统要完成的功能,我们需要对数据进行严格的数据分析,且尽量精细的分析数据,以减少数据冗余,制作出更高效的系统。对数据的分析主

40、要通过各模块实现的功能及模块间的联系着手,尽可能多的列出每个实体所具有的属性及实体间的联系。通过这样的方法大量的收集数据以保证数据的丰富性,当这些数据足够满足各个模块功能实现的时候,应进一步细化的分析各项数据。 4.3.2 概念结构设计对上述的总体设计和需求分析之后,我们已对各个模块及其功能进行了初步的分析。在此阶段,我们可根据模块中各实体之间的相互联系和各数据表之间的相互关联,画出本系统的数据库的e-r图设计。包含订单条目 菜品mn包含nn预定管理m1留言板留言管理员订单生成用户 n 11nn1其主要数据表e-r 图如下:cid scid菜名 介绍价格 菜品 图片销售量推荐订单id用户id菜

41、名送餐地址联系电话 订单订单时间金额备注 用户id真实姓名unameupwd身份证号 用户stateqq号码号码 联系电话 喜欢口味订单id菜名 id数量单价 订单条目信息回馈评分 管理员类型管理员idmpwdmnameme4.3.3逻辑结构设计 逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体dbms所能支持的数据模型(即逻辑结构),并对其进行优化。 概念模型转换为关系模型的转换规则:(8) 一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。(9) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。(10) 一个1

42、:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 (11) 一个m:n联系可以转换为一个独立的关系模式。(12) 一个多元联系可以转换为一个独立的关系模式。(13) 具有相同码的关系模式可以合并。 (14) 有些1:n的联系,将属性合并到n端后,该属性也作为主码的一部分。 由上述e-r图转换成关系模式如下所示: 用户(用户id,uname,upwd,真实姓名,联系电话,state,身份证号,喜欢口味,qq号码); 菜品(cid,scid,菜名,价格,介绍,图片,推荐,销售量); 预定(用户id,cid); 订单条目(id,订单id,菜名,数量,单价,评分,信息回馈); 包

43、含(cid,id); 订单(订单id,用户id,菜名,订单时间,备注,金额,联系电话,送餐地址,管理员id); 管理员(管理员id,mname,mpwd,类型);4.4数据库的实现 数据表的设计是数据库设计中极为重要的一环,它直接影响到整个程序中功能的实现。本系统的数据库命名为:user,用来存储该系统中用到的所有数据。user数据库中包含下几张表,如表3.2至表3.6所示: 表3.2 订单表 表3.3 菜品表 表3.4 用户表 表3.5 订单条目表 表3.6 管理员表 附录4:系统测试文档六、系统测试6.1测试的重要性软件的测试对整个软件系统是非常重要的,当今软件工程界的每一个阶段都应包含测试。通过测试可以尽可能早的发现错误并加以修正。如果不进行测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论