版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
]。图2.1Android体系结构图
第三章界面设计3.1开始界面设计移动终端是使用者最直接接触的东西,包括是否能够让客户很轻松、方便的使用,操作响应时间、主机连接时间、图片综合质量、首页布局质量、首页信息类型等。界面主要由下面几个因素构成:(1)文字:文字负责传达信息元素的主体部分。文字作为占据页面的主要信息元素和信息内容的简概说明要醒目易读、编排合理。(2)图形:图形在界面中具有重要作用。合理的运用图形,可以生动直观、形象地表现设计主题。Android平台支持的图形格式包括jpg和gif,这两种格式压缩比高,有利于数据传输。(3)界面版式:版式是界面设计的重要组成部分,将它与文字、图形等视觉素有机组合,能使页面整体视觉效果美观和谐,达到信息传递的最佳效果。3.2主菜单界面设计3.2.1功能描述主菜单界面包含点餐管理、并台管理、转台管理、查台管理、结台管理、更新管理、注销、设置等八个功能模块。每个功能模块提供一种服务,包含一组功能操作,界面简单明了方便服务人员操作。3.2.2登录界面的设计登录界面主要是由服务人员来操作的,所以要简单明了易操作。通过数据库对用户信息进行审核。如图3.1图3.1用户登录图3.2.3功能实现及关键代码控制用户登录由一个Activity负责,当输入账号与密码时,系统先判断用户账号密码是否为空,为空则跳出一个对话框给用户提示;如果不为空则再从EditView中取的账号密码与服务器中的账号密码进行匹配,如果匹配成功则利用Intent语句跳转到下一个主菜单界面。实现登录主要代码及分析:3.3点菜界面设计点餐模块主要是对餐厅点餐功能及相关服务的集成,主要包括用户点餐、点餐修改、服务状态查看等相关功能。主要功能的使用人员为一般客户,用户通过手机客户端将点餐信息通过无线网络上传至服务器端,服务器端接收用户的点餐信息同时将点餐成功或失败的相关状态反馈给用户,实现点餐的基本功能。同时,由于该模块是一般对外用户最常使用的系统功能,在需求分析时也考虑到该模块应具备较为友好的系统交互界面,最大程度的方便用户点餐,在用户感受到系统便捷的同时做到成本较低但却非常有效的提高企业服务质量的方式。3.4更新界面设计3.4.1功能描述此功能按键用于保持服务器和客服端的数据一致性。3.4.2界面设计如图3.2:图3.2更新图3.4.3功能实现及关键代码我们通过调用updateMenu()和updateTable()这两个方法来实现这一功能。两个方法各负责一个表。主要代码如下:3.5结账与注销界面设计3.5.1功能描述结账界面:点击结账按钮以后会跳转到下一个界面用来总计消费金额及详细款项,一目了然,方便顾客查账。注销界面:在服务人员准备下班后,服务人员即可点击注销按钮,退出本次登录。3.5.2界面设计图3.3结账图图3.4注销图3.5.3功能实现及关键代码结账实现的主要代码:从服务器获得订单编号,显示总计消费金额,再点击结算按钮以后,通过payBtn.setEnabled(false)方法就会是结算按钮失效,不能再次点击生效,这也是为了是否结算更加明了,不易让顾客和酒店服务员出现多次结账的错误。也是人性化设计的一方面。调用Intent来使页面进行跳转到登录界面。3.6服务器端的实现服务器端功能主控计算机处理各无线终端发送过来的数据信息并进行处理、加工(必要的情况下还进行信息回馈)以及发送,从而进行控制、结算、统计、结账打印以及管理等一系列职能操作。服务端主要是数据库操作,针对无线终端各模块而设置响应相应功能的服务器小程序。主要包括:响应登录的Servlet、响应订单的Servlet、响应开桌的Servlet、响应并台的Servlet、响应转台的Servlet、响应查台的Servlet、响应更新桌号的Servlet、响应更新菜谱的Servlet、响应结算的Servlet、响应订单信息的Servlet等。当操作员点结账的时候另一个Servlet启动,其作用就是讲该订单的标志位修改,并且将该桌子的状态设置成没人,其实就是根据订单号查询到桌子号,将该桌子的falg位置设置为0。功能如图6.5:图3.5服务器功能图
第四章类设计4.1类关系图系统共创建了两个类CompanyModel品牌管理类和CompanyController品牌模型类,分别存放在Model层和Controller层,以下四个功能均在该类中实现,类设计图如图4-1所示。图4-1类设计图CompanyController品牌管理类的conpanyList函数实现显示所有品牌列表,通过访问CompanyModel类构造的getCompany函数来获取每条品牌信息来逐条显示,同时判断数据库为空时,提示没有任何品牌,需新建后才可查看;getCompany函数用来获取品牌信息,通过对数据库读取获取品牌信息后返回。2)品牌新增功能实现:CompanyController类的companyAdd函数通过访问CompanyModel类构造的addCompany函数来实现品牌的增加,同时收到返回值为error时,则数据库存在相同数据,需核实后再添加;addCompany函数实现增加品牌,将品牌的每一条属性:品牌名称、品牌英文品牌英文名称、法人代表姓名、法人有效身份证号、法人联系方式、电子邮箱、成立日期、营业执照编码等直接存入到数据库中,若数据库中有相同数据则返回error。4.2时序图图4-2时序图在Controller控制层中,login.html中的action="login.php',使得从该页面登录之后,从表单中转向login.php页面。login.php负责处理用户登录与退出动作。login.php在获取用户的输入信息和session的值之后与数据库中的用户名和密码进行比对判断,同时通过session判断用户的权限。在验证通过之后会转入管理系统主界面,如果没有登录系统,重定向到登录界面。上文提到通过session判断用户权限,在系统中提供了session管理和操作的完善支持,全部操作可以通过ThinkPHP内置的session函数完成,该函数可以完成session的设置、获取、删除和管理操作。首先是session的初始化设置,将参数以数组的形式进行传入,包括设置sessionid和session的有效期。默认情况下,初始化之后系统会自动启动sessiono然后是对session的操作,包括session的赋值、取值、删除。最后,系统通过对登录用户与session的比对,进行身份验证,判断用户会话是否过期。系统session身份验证其时序图如图5-2所示。
第五章系统实现5.1Activity
Manager类设计在创建了Intent之后,大体上会有三种Intent的发送方式,startActivity()|startActivityForResult()来启动一个Activity,startService()|bindService()来启动一个Service,以及sendBroadcast()来发送广播消息。而在Android内部实现上,Intent的发送,大致都如下图所示:图5-1ActivityManager类设计图5.2客户端模块详细设计5.2.1登录功能系统运行时会首先进入用户登录和注册界面,下面从登录的界面设计和登录的关键代码来进行介绍。首次进入系统时首先会进入到引导页面,然后会进入到系统首页如图5.2所示。点击立即体验按钮会进入到登录页面,此过程是Activity通过Intent跳转到登录页面实现的,具体的登录页面如图5.2所示。登录功能的实现,要单独建立一个Activity事件来实现用户登录。从登录页面可以看出有三个角色:订餐方、供餐方、游客,新用户未注册可以通过游客通道进入系统,了解系统的基本功能和作用,然后可以考虑是否需要注册。已注册的用户,输入帐号和密码若有错,则会弹出Toast提示“用户名或密码错误”,若帐号密码填写正确,则会从输入框EditView中获取到帐号和密码与数据库服务器中的对应信息进行匹配,匹配成功则会自动跳转到相应角色(供餐方或订餐方)的主菜单界面。下面是实现订餐方登录功能的关键代码与解析注释。对登录按钮监听的部分关键代码如下:caseR.id.loginBtn://登录按钮图5.2点餐系统首页图5.3用户登录页面if(validateData()){//通过validateData()函数验证帐号和密码是否为空showProgressDialog(this);//调用WebService接口与数据库中的数据对比是否匹配break;在登录页面中对登录按钮设置监听事件,可以避免不经输入用户名和密码直接登录,如果未填写用户名或密码,则会提示“用户名不能为空”或“密码不能为空”;若输入用户名、密码后,客户端程序会自动判断此时的登录事件是否满足validateData()方法,若满足系统则会继续向下执行showProgressDialog(this)方法,用来与数据库连接,核实输入的信息与数据库中的是否一致,如果一致,系统则会自动跳转到下一个Activity页面,即主菜单页面;否则即登录失败,提示“用户民或密码错误”。验证帐号和密码是否为空:5.1.2发布供餐模块在用户登录页面勾选“供餐(我来下厨)”这一角色,就会进入到点餐系统的厨房客户端,厨房客户端主要有附近需求、发布供餐、动态(即供餐的各种状态:如预定开始、预定截止、取餐开始、取餐截止等)、我的这四大块,此节主要介绍发布供餐功能这一部分。供餐方发布菜品供餐可以使用点餐系统的发布供餐功能,此功能实现了厨房发布菜品套餐由手机端来完成的功能,不必再由后台服务端来完成,可以实现随时随地的在手机端上发布菜品供餐的需要。发布供餐页面如图5.3所示。供餐方发布供餐可以选择填写菜品的口味选择、菜品的描述、主食搭配、价格、数量、发布供餐的时间、取餐时段等一系列与供餐发布有关的属性。发布供餐的关键代码如下://发布供餐的跳转供餐发布的代码分析:从界面上取得各个字段的值,通过validateData()方法验证字段取值是否为空,不为空则将每个字段的值存到供餐实体mSupplyInfo中,然后通过Intent传值跳转到下一个页面发布供餐确认页面,如图5.4所示,在此页面确认发布信息填写正确后,可以将供餐信息传到服务器端存储起来。图5.4发布供餐页面图5.5发布供餐确认页面发布供餐的关键代码如下://发布供餐的跳转5.1.3附近供餐模块实现在用户登录页面勾选“订餐(我要订餐)”这一角色,就会进入到点餐系统的点餐客户端,点餐客户端主要有附近供餐、动态(即订单管理)、我的这三大块,此节主要介绍附近供餐功能这一部分。订餐方点餐可以使用点餐系统的附近供餐功能,此功能会默认查询距当前位置附近n米(如默认1000米)的所有正在供餐的信息。附近供餐页面如图5.5所示。附近供餐页面首次进入时会默认显示以供餐发布时间来排序的供餐信息,当然顾客可以根据需要选择“离我最近”以离我最近距离来重新排序供餐信息,或者选择“供餐时间”以餐食的供应时间来重新排序供餐信息的显示情况,以方便顾客选择自己需要的合适的供餐。附近供餐页面可以显示供餐的参考图片以方便顾客选择供餐时提供一个参考的供餐图样,若发布供餐时没有选择上传供餐的参考图片则在此页面只会显示一张默认的图片,点击图片上的“点击查看详情”可以查看供餐的详细信息。在附近供餐页面还显示了发布供餐的人的图像与姓名、离我最近距离、供餐的简要描述、供应时间、价格、剩余份数、截止时间等,在此页面可以根据以上显示的信息进行点餐,方便顾客进行供餐的选择,避免了顾客必须进入到供餐详细页面进行点餐的桎梏。附近供餐功能的部分关键代码如下://查看附近供餐:默认按发布时间:pushTime排列图5.6附近供餐页面5.3服务器端模块详细设计5.2.2订单管理订单管理,完成对订单的查找、浏览明细、添加、删除、编辑、结账和打印等功能。1.订单的查找与浏览后台订单表的数据主要是根据前台的相应自动在后台添加展示的,服务人员可以根据桌号来查找未结账的订单,如图5-14所示。图5-14Android无线点餐系统订单管理界面图工作人员也可根据订单号来查询,查询原理是一样的,订单浏览,在所要浏览的订单前勾选“√”,然后点击主页面上侧区域的“浏览”按钮即可出现订单明细,如图5-7.图5-7Android无线点餐系统菜谱界面图2.订单修改工作人员点击订单管理栏的订单信息,在显示的所有未结账的订单信息中,可以人工操作订单的增减。如图5-7所示,单击“添加”按钮,即可增加一个新的订单;勾选列表前的方框,点击“删除”按钮即可删除该订单。3.订单结算与打印订单的结算信息是客户端发送的order编号,后台服务端按照订单号查找到该订单明细,工作人员将其桌号输入,自动找出用户名,根据用户名显示其是否为会员,为会员自动显示折扣信息,重新进行消费金额计算。一切就绪后,点击“结算”按钮,然后页面其他信息变灰色,无法操作,这时启动另一个Servlet,将该订单的状态设置成“空闲”状态(flag=0)然后点击“打印”按钮,不打印的话直接按“返回”按钮,返回主菜单页面。主要代码略,只要在所要操作的订单方框勾选“√”,然后执行相应操作即可。5.2.3菜谱管理菜谱管理主要是实现对菜谱的新增、删除与修改的管理功能,在界面左侧是系统中所有的菜谱分类明细,点击该类别,将出现所属该类的所有菜品明细。如图5-8所示的菜谱管理。点击主区域上方的“添加”按钮,弹出添加菜系的明细窗口,填充数据逻辑表格提到的菜品ID、名称、价格、描述、特色、图片等界面基础信息设置的各个表框,然后点击“确认”按钮即可,如图5-9。图5-8Android无线点餐系统菜单管理界面图图5-9Android无线点餐系统增加菜品界面图如果要对菜品进行修改或删除。可点击菜谱中的某一菜品栏,然后点击主区域上的“编辑”按钮,进入其基本信息界面进行修改,如要删除,即可在5-16中的菜品栏前面的方框打“√”,然后点击页面主区域的“删除”按钮。添加菜品的代码如下所示:
5.2.4餐桌管理餐桌管理模块主要涉及到开桌、改桌、并桌、撤桌。开桌、改桌、并桌都是前台客户端执行完Activity时间后,响应到后台,后台自动更新数据即可。而撤桌与结账注销同步进行,本章第一节已经详细阐述了此项功能。5.2.5评价管理评价主要是顾客对服务员和菜品进行评价,在第一节前台客户端的功能模块实现中已经详细地介绍了评价设置的技术原理,只要将两个评价的确认按钮增加一个监听事件,就可以传至后台的管理服务器终端,对于评价的查看方式,可以通过以菜品为指标来查找,也可以按照服务员工号来检阅,也可以根据订单号来考察,除此之外,管理人员的登录权限中,也设定了管理人员的评价权利,他们可以根据员工及餐厅运营表现给服务员进行针对性评价。由于篇幅的原因,此处就不再显示代码。5.2.6会员管理会员管理是本系统的一项新功能,餐厅可以根据顾客意愿发展会员管理。管理人员点击会员管理按钮,系统便跳转到会员管理页面,如图5-10会员管理页面。图5-10Android无线点餐系统会员管理界面图餐厅工作人员可以根据会员号、姓名、手机中的任何一项信息快速查处会员详情,也可增加新会员或删除己有会员,系统跟随会员的消费积分自动上传该会员可享受的折扣和优惠让利活动。图5-11Android无线点餐系统会员管理界面图5.2.7系统管理系统管理模块可以实现对该餐厅所有工作人员的查找、更新、添加、删除,并用此软件的管理来加强对工作人员的监督。图5-20Android无线点餐系统录入新员工界面图点击“系统管理”按钮,即可弹出该餐厅在本系统上的在册员工,如图5-11,5-12所示,系统管理员可以在该界面下增加、删除、修改各员工的信息。图5-12Android无线点餐系统录入新员工界面图
第六章系统测试6.1功能测试从功能完成度来看,例如点餐的整体流程、发布供餐和取消已发布的供餐等,基本可以实现完整流畅的点餐过程,发布供餐后在附近供餐页面刷新可以看到刚刚发布的相关数据,发布供餐后也可以很好的完成取消功能。但是在某些地方还是存在一些问题,比如附近供餐页面有时定位附近距离在网络不佳的情况下会有差错,比如剩余份数的显示有时会有差错。6.2性能测试从性能完成来看,本系统基本体现了高效访问、响应时间快速、健壮等特点,但是在稳定性上有待改进。(1)从数据精确度来看,本系统大部分功能都实现了正常的数据显示,查询准确率正常,但是在一些细节方面还是存在一些问题,比如很多次对同一数据进行毫无规律、杂乱无章的操作,有时就会出现数据不准确的情况。(2)从响应时间来看,客户端不含图片的数据加载的响应时间基本正常,能保持人们的正常使用情况,但是含有图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贾生名谊文言文详解课件
- 2026年电气节能技术的市场竞争力与经济效益评估
- 2026春招:新媒体笔试题及答案
- 2026年电气设备的选型与安全评估
- 货运交通安全
- 医疗人员职业素养与职业规划
- 护理教育与护理人文关怀
- 货梯安全培训考核内容
- 医疗护理礼仪在医患关系中的意义
- 医疗行业品牌推广与营销
- 2025年电子工程师年度工作总结
- 2026年消防设施操作员之消防设备基础知识考试题库500道及完整答案(各地真题)
- 2026年电信运营商物资管理岗位面试题
- 2025年高职会计(成本核算)试题及答案
- 虫鼠害培训课件
- 2025学年上海市七年级语文上册作文题目汇编及解析
- 2026年河南经贸职业学院单招职业技能测试题库及参考答案详解
- ai写作与公文写作培训课件
- 栏杆安装施工方案示例
- JJF 2333-2025 恒温金属浴校准规范
- 2025年水工金属结构行业分析报告及未来发展趋势预测
评论
0/150
提交评论