ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:1.09MB ,
资源ID:92550      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-92550.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(点餐系统设计与实现.doc)为本站会员(龙***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

点餐系统设计与实现.doc

1、 题目 : 点餐系统的设计与实现 学 号 2015122103498 姓 名: 巩金明( 40%) 专 业: 15 信管 一班 负责内容:大部分代码编写(含关键部分) 学 号 2015122103523 姓 名:楼轩宇 ( 30%) 专 业: 15信管 一班 负责内容:需求分析以及总体设计 学 号 2015122103539 姓 名: 郭新波( 30%) 专 业: 15 信管 一班 负责内容:详细设计以及小部分代码编写 论文完成日期:二 一七 年六月 四日 1、 系统需求分析 客户端功能需求分析: 登录、注册:使用者想要运行系统必须登录 ,如果未申请账号能够通过注册模块申请 ; 菜谱查询:查询

2、目前餐厅店菜单列表数据 ; 详情查询:可以查询一个菜的全部数据 ,有价格、介绍和数量 ; 在线点餐:支持用户在线下单点餐 ; 选择座位:支持使用者在 Android 手机上选座位 ; 我的订单:支持使能够查看自己已经下单的数据,能够删掉自己的订单 ; 人工服务:客户端可以呼叫服务员 ; 服务端功能分析: 登录模块:管理员登录使用系统 ; 菜谱管理:管理员能够查看当前界面的数据 ,能够添加、 修改或者删除一个菜谱数据 ; 用户管理:管理员能够查看到当前系统已经存在的用户信息 ,能够删掉一个用户信息 ; 原材料管理:管理员可以查看当前系统的原材料信息 ,可以添加、修改或者删除一个原材料信息 ,原材

3、料库存较低时会警报 ; 订单管理:管理员可以查看到当前的所有订单信息 ,可以修改订单状态 ,例如把一个进行中的订单修改为已经完成 ; 具体的系统 功能 全部作用如 下图 : 2、目标 可行性分析 智能手机的出现减少了很多方面的限制,具有很多优势,人们可以随时随地的传递信息,订购商品,不论时间不论地点,正是这个优点使得智能手机能 够受到越来越多人是喜爱,比如,用户智能手机点餐速度迅速比传统的点餐要快的多,大大提高了效率。 1.经济可行性 由于世界经济水平的突飞猛进,科技水平得到了前所未有的巨大发展,社会正步入一个崭新的网路信息时期。因为社会持续发展的生活与工作水平,人们的非物质需求正在逐渐增加,

4、伴随出现的就是网络技术的持续进步,当代社会网络应用变得愈加广泛,人们之间的相互沟通日趋广泛、交流也愈加简便,所有这些,使得人们的生产生活方式发生了巨大转变。是故,由于网络技术的进步,电商领域逐渐发展,极大程度上改变了人们的购物方式。在如今这个 年代,几乎所有计算机使用者都能够进行网上购物的操作,而且往往乐此不疲。从长久的角度来想,安卓点餐系统的开发与应用还是存在很大的经济前景。 2.技术可行性 点餐系统 后台部分 前台部分 点餐 个人信息 我的订单 人工服务 登录注册 人工服务管理 菜谱管理 订单管理 用户信息管理 原材料管理 登录退出 技术可行性一般是因为现在已经存在的的技术因素而控制的,比

5、如,是否可以进行平稳的功能开发,软、硬件功能会不会达到系统所规定的条件。如今这个时代,是网络资源化的时代,网络资源爆发式增长,这引起了所有其他相关技术的进步,所以对于技术条件来说是能够实现的。本系统单个用 java 语言,使用 ssh 技术与 MySQL 数据库进行开发,上述技术在现在已经很广泛且很成熟,已经无 数次被应用于软件与系统研究中,所有,这个系统对科学水平来说是能够实现的。 3、 系统流程分析 为了使得完成的软件能够平稳运行,完善了系统流程的所有环节。对每个流程要用到的关键技术也做了充分准备 ,如下图: 4、 总体设计 4.1 系统设计原则 系统设计和系统编码是一个统一的整体,每一部

6、分都不可缺少。在系统设计中制定良好的编码规范和开发流程,能够确保无二义性,使得开发顺利进行,这也能提高开发这的开发效率。此外,在进行系统设计过程中,还应该遵循的主要原则如下。 1、适用性原则 好的系统开发出来首先要能够完成基本的功 能,即满足用户的要求,这是软件开发的首要目的。如果开发出来的软件不能满足用户的需求,那么此软件注定是失败的开发。在此基础上还要考虑软件的的操作性,要能保证软件在运行环境下没有 bug,能让用户操作起来简单,明了,还要功能全面易用化。不应该只考虑软件的收益,否则必将面临很大的问题。 2、可靠性安全性原则 随着计算机网络的发展,网络除了带人人们便利之外也带开了很多安全隐

7、患,如,隐私安全、个人财产安全等等,虽然此次开发的系统简单,但是安全问题是每个系统都必须考虑的问题。网上订餐系统中既要保护用户个人信息的安全,保证 不被泄露,还要保证他们的财产安全。只有具备安全措施的系统才能够让用户放心。 3、可扩展性原则 现在的科技发展速度之快,不仅是研发的快,更新换代的速度也令人惊讶,科技技术不断退陈旧新,因此,为了适应时代的发展速度,系统的可扩展能力也是开发过程中要考虑的事情。 那么如何提高系统的可扩展性呢 ?这里就充分体现了设计在开发中的重要作用。在软件设计的过程中,将网上订餐系统划分成不同的功能模块,并降低模块之间的耦合度来提高系统的扩展性。 4.2 系统设计目标

8、在系统开发之前要对系统进行需求分析,功能概括,难点解析等等的工 作,之后对于系统大概要完成什么目标,系统的界面和设计等问题的思考来满足用户的要求。系统设计过程中将系统分解为很多不同的小的系统 ,然后对分成的小的系统的功能、技术进行分析讨论,制定规定,在之后的开发中,先开发小的系统之后进行整合,逐步完成开发。 本系统是设计目标是建立一个基于 Android 技术的点餐系统,可以满足用户对手机订餐的需求。 根据需求分析还有自己的生活体会,在线点餐系统一定要有以下基本的要求。 ( 1)界面看着新颖活力、大方美观,吸引用户。 ( 2)具有易调试性和没有 bug 性。 ( 3)用户能够方便的查看 所有的

9、食品信息和单个用户的详细信息内容。 ( 4)具有操作方便、功能完善的管理功能。 4.3 系统总体结构设计 系统的总体结构设计是在软件开发之前必须要做好的一件基本工作,作为一个优秀的程序员不仅要有很强的编码能力,对于系统的总体结构的设计也要很精通。做好系统的总体结构设计会让系统开发顺利进行,做到事半功倍。 在此次系统的总体结构设计过程中,系统分为客户端和服务端,客户端是可以在安卓智能手机上使用的,服务端采用 Servlet 提供服务,持久化层采用MySQL,因为 MySQL 的安装和配置都适合小型的系统。在进行 系统的总体设计之后紧接着就是数据库的需求设计。 系统整体框架采用 C/S 模式,即客

10、户端 /服务器模式,其中客户端一方面与用户交互,提供良好的用户界面,另一方面与服务器端进行数据交换。服务器端向客户端提供数据。管理员可以对数据进行增,删,改,查等操作。 5、 系统详细设计与实现 5.1 登模块的实现 本系统使用前用户需要登录验证,在登录界面中 ,通过继承一个 Activity 来实现 ,界面上的控件用到了 EditText、 Button 和 CheckBox 等等组件 , EditText主要用来实现用户帐号和密码的输入。 登 录过程中用户需要输入账号与密码,并且经由登录按钮来表达登录意图 ,意图表达完成,系统会经由 HTTP 的过程将帐号与密码发送到服务器端验证,并返回服

11、务端的验证结果,如果验证正确那么提示使用者登录完成,然后自行转入主界面;如果错误,那么提示使用者登录失败。 该界面具有保存密码成功,假如使用者在登录时勾选了“保存密码”复选框,则下次再进入到本界面用户将不需要再次输入密码,而只需要点击登录按钮即可实现登录操作,记住密码的过程是通过 Android 平台提供的 SharedPreferences来实现的。 当然如果用户还没有登 录账号 ,则能够通过“注册”选项链接到用户注册界面,从而注册一个新号码 ; 具体的实现效果如图所示: 实现的核心代码如下 : loginActivity 的 doInBackground 的方法发起 url 请求,发送用户

12、名,密码 protected String doInBackground(String. params) String urlString = AppConstant.getUrl(getApplicationContext() + “ServletService?Action=login“; urlString += “ String json = httpHelper.HttpRequest(urlString); return json; loginActivity 的 onPostExecute 的方法 获取服务器返回 json,验证密码是否正确 loginActivity 的 dea

13、lLogin 是 当 密 码 验 证 成 功 后 跳转到DishesListActivity OnLineUser model = new OnLineUser(); /设置登陆成功的用户属性 model.setId(jsonObject.getInt(“id“); model.setLoginid(etLoginID.getText().toString(); model.setName(jsonObject.getString(“name“); application.setLoginUser(model); /弹出提示框 toastUtil.show(model.getName() +

14、“,登录成功 “); /跳转到登陆成功页面 intent = new Intent(LoginActivity.this, DishesListActivity.class); startActivity(intent); 5.2 菜谱模块的实现 用户成功登陆进入系统之后可以查看到当前系统所有菜谱信息,包括菜谱的图片、名称、单价和详细介绍信息 ,系统用了一个 ListView 组件来显示系统的菜谱信息 ,同时用户也可以通过界面 左上角的搜索按钮来搜索菜谱信息,用户点击一条信息之后可以查看一个菜谱的详细介绍。 具体的实现效果如图所示: 实现的核心代码如下: /请求获取列表数据的代码 Overri

15、de protected String doInBackground(String. params) String json = null; serverUrl = AppConstant.getUrl(getApplicationContext() + “ServletService?Action=getdisheslist BaseUtil.LogII(serverUrl); json = httpHelper.HttpRequest(serverUrl); return json; /解析列表数据,并设置适配器的代码 list = new ArrayList(); if (!TextUt

16、ils.isEmpty(result.trim() list = gson.fromJson(result, new TypeToken() .getType(); else toastUtil.show(“没有数据 “); adapter = new DishesAdapter(DishesListActivity.this, list); listview1.setAdapter(adapter); 点击 listview 中的一项,会跳转到详情页面,这其中会根据 id 去调用webservice 查询数据库获取到详情数据 /界面点击跳转的代码 listview1.setOnItemCli

17、ckListener(new OnItemClickListener() Override public void onItemClick(AdapterView parent, View view, int position, long id) intent = new Intent(DishesListActivity.this, GoodDetailActivity.class); intent.putExtra(“id“, list.get(position).getId(); startActivity(intent); ); menu 的实现,设置 menu 按键的弹出事件 pub

18、lic boolean onCreateOptionsMenu(Menu menu) super.onCreateOptionsMenu(menu); menu.add(0, 99, 0, “ 人工服务“).setIcon(R.drawable.icon_application); menu.add(0, 100, 0, “ 注销登录“).setIcon(R.drawable.icon_application); menu.add(0, 101, 0, “ 个人信息“).setIcon(R.drawable.icon_application); menu.add(0, 106, 0, “ 我的

19、订单“).setIcon(R.drawable.icon_application); menu.add(0, 102, 0, “ 退出“).setIcon(R.drawable.icon_application); return true; menu 选中触发的事件参考 onOptionsItemSelected 方法 选中 人工服务 按钮后,会执行 humanServices 方法 private void humanServices() final String arg = new String6; for (int i = 0; i arg.length; i+) argi = (i +

20、 1) + “号桌 “; new AlertDialog.Builder(this).setTitle(“ 选择 服 务 桌 号“).setItems(arg, new DialogInterface.OnClickListener() Override public void onClick(DialogInterface dialog, int which) new loadhumanServicesAsyncTask().execute(argwhich); ).show(); 分类按钮点击的代码处理,使用 AlertDialog 弹出框实现 tvTopTitleRight.setOnC

21、lickListener(new OnClickListener() Override public void onClick(View v) new AlertDialog.Builder(DishesListActivity.this).setTitle(“选择分类 “) .setSingleChoiceItems(s, curIndex, new DialogInterface.OnClickListener() Override public void onClick(DialogInterface dialog, int which) curIndex = which; dialog.dismiss(); shopid = listShop.get(curIndex).getId(); new loadAsyncTask().execute(); ).setNegativeButton(“ 取消 “, null).show(); ); 5.3 在线下单模块的实现 用户在餐厅菜谱列表当中点击一个 Item 可以进入到详细的介绍页面,该页面详细描述了所选择的的餐厅菜式信息,包括图片、介绍和价格等信息。 同时用户可以在该界面进行下单,下单前需要输入数量 ,然后点击“提交”按钮来提交订单 ; 具体的实现效果如图所示:

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。