基于android的校园易点餐系统的设计_第1页
基于android的校园易点餐系统的设计_第2页
基于android的校园易点餐系统的设计_第3页
基于android的校园易点餐系统的设计_第4页
基于android的校园易点餐系统的设计_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、 学 士 学 位 论 文THESIS OF BACHELOR(20102014年)基于android的校园易点餐系统的设计与实现 -商家模块摘 要在校园传统的外卖模式下,依靠电话订餐是高校目前最主要的订餐方式。这样的外卖订餐方式给店家和顾客都带来了极大的不便,已经不能适应广大师生对外卖的需求。我们希望使用方便快捷的网上订餐的方式极大地提高外卖交易的效率,将订餐的功能移植到我们随身携带的手机上。在这种情况下,基于android的校园易点餐系统应运而生。我们以Java EE作为开发平台,利用UML工具对系统进行建模,运用MVC模式开发思想,采用Struts2框架技术实现系统整体的框架,借助JSON

2、的数据传输方式实现客户端与服务器之间的请求响应实现了该系统。作者主要完成系统的需求获取及分析、数据库的设计、系统框架的搭建以及商家模块代码的编写。本文对系统开发背景、实现目标及系统开发框架及工具进行了简单的介绍;使用功能结构图及用例图对系统需求进行分析;详细阐述了数据建模的过程并给出了类图的设计;最后对商家模块以及系统部分关键技术的实现做了详细的说明。关键词:Android;MVC;Struts2;SQL Server;订餐商家客户端IIAbstractAbstractIn the campus, the traditional delivery mode relying

3、on telephone reservation is the main order way. This mode may cause big inconvenience for merchants and customers, and cant satisfy the needs of fast speed, high efficiency from students and teachers, also cant catch up the demand for merchants to earn more. So we want the delive

4、ry order trading become more convenient, quicker and transplant the function of the online order on the phone, the campus ordering system arises at this moment based on android. We had completed this system by using Java EE as a development platform, UML tools for system modeling and the MVC pattern

5、 as the development of ideas. The whole system was realized by using the Struts2 framework and was based on JSON data transmission, so as to realize request response between the client and the server. In this system, the author mainly completed the requirement acquisition and the analysis for system

6、, the database design, the construction of the system framework and the businessman module code to write.This paper introduces the development background of the system and the goal of achievement, also mentions the development framework and tools which were carried on in the system. Meanwhile, it us

7、es a function structure diagram and case diagrams to analyze system requirements, describes the process of data modeling and presents the class diagram design in detail. At last, this paper ends up with explaining the business module and system implementation of some key technology.keywords:Android,

8、 MVC, Struts2, SQL Server, Reservation Business ClientV目 录目 录第1章 绪论11.1 课题研究的背景和现状11.2 课题研究的意义21.3 本人的主要工作21.4 本文组织3第 2 章 系统开发及相关技术概述42.1 Java 技术42.2 Android操作系统及其应用程序开发技术42.3 Struts2框架结构及工作原理62.4 JDBC数据库编程72.5 JSON8第3章 系统需求分析93.1 系统目标93.2 系统的功能需求分析概述93.2.1 商家帐户管理103.2.2 商家订单管理113.2.3 商家菜谱管理123.2.4

9、商家账务管理133.3 系统用例图分析143.3.1 商家端功能用例设计14第4章 系统设计224.1 系统的架构设计224.2 系统数据库设计224.2.1 数据库概念设计224.2.2 数据库逻辑及物理结构的设计244.3 系统类图的设计264.3.1 商家账户管理类图的设计264.3.2 商家订单管理类图的设计274.3.3 商家菜谱管理类图的设计294.3.4 商家账务管理类图的设计30第5章 系统实现325.1 商家账户管理功能实现325.2 商家订单管理功能实现355.3 商家菜谱管理功能实现375.4 商家账务管理功能实现38第6章 系统关键技术实现406.1 订单提醒功能406

10、.2 手机端图片的上传功能42第 7 章 总结与展望497.1系统总结497.2工作总结与展望49参考文献50致 谢51第1章 绪论第1章 绪论1.1 课题研究的背景和现状进入21世纪以来,餐饮行业以年均20%的增长速度,成为国民经济中的发展最快的行业之一。随着人们生活水平的不断提高,人们甚至想要不出门就能吃到可口的饭菜这就是外卖。在我国高校内餐饮行业外卖行业更是发展最快的一个行业,在作者所在学校每年都有几间新的外卖店的产生。外卖订餐已经成为高校学生生活中不可缺的一部分,而订餐的方式也随着学生们的要求提高,不断地多样化和呈现成熟化的趋势。依靠电话订餐是高校目前最主要的订餐方式,此种订餐方式有不

11、少的缺陷,比如:时效问题、打电话的成本等等。目前高校外卖订餐行业的现状分析如下:(1)外卖店数量众多,各店竞争较大;(2)外卖店多数实行人工方式订餐,即打电话订餐登记。这种订餐方式造成订餐很不方便特别在订餐高峰期,经常出现打电话打不通的现象;(3)外卖店多数没有实行市场分析,一些菜式在顶峰期出现缺菜现象,而一些菜式却出现积累现象,造成了资源的浪费和经济损失;(4)外卖店没有对外卖进行财务管理,造成对店内资金管理不明确和店员滥用资金的可能。由此无法为店内管理层提供准确的决策信息,掌握及时的市场消息。通过分析高校的外卖行业的现状,不难发现国内高校的外卖店大多数都是依靠手工的管理方式,没有实行外卖订

12、餐管理的信息化,所以造成了不少问题。Android操作系统平台的出现为手机设备注入了活力,也为整个3G时代增添了光彩。在这3G时代带来的变革中,随着校园内智能手机的广泛应用,大家有目共睹,它在改变着人们的工作和生活方式。作者所在学校一直没有开发出较好的校园订餐系统,学校的广大师生和店家都希望能有一个系统能够为他们提供高效便利的订餐管理服务。基于这种迫切的需求,我们通过对校园外卖行业的初步了解,从系统结构的组织、功能的实现、技术要求以及可行性等多方面进行考虑,认为本课题是一个值得研究的课题。我们希望通过本课研究,开发一个适应本校外卖订餐需求的管理系统。该系统将在校园里搭建一个方便店家和广大师生进

13、行外卖交易的平台,店家和师生只需在智能手机上安装相应的客户端,即可进行方便快捷的订餐交易。1.2 课题研究的意义校园易点餐系统是基于android平台的校内外卖订餐应用软件,旨在于建立一个移动的快餐服务应用系统方便校内食堂各商家和校内大学生之间外卖交易平台。在这个平台下,对于商家来说,通过手机端接收订单,不必通过纸和笔的传统方式记录订单,同时也可以省去在小店里安装台式电脑及安装宽带的费用,利用手机里的android程序,消耗很小的上网流量就能做到与广大师生网络在线联系,快速响应学生的订单需求,在预订高峰期能将订单没有遗漏地接收,为小店增加盈利。对于订餐者来说,无须额外的话费,就能在程序中浏览各

14、小店的美食,准确的提交订单并节省了话费,省去了记录各种餐饮小店的外卖电话的繁琐过程,通过这个平台就能方便快速地享受到校园内的各种美食。Android已经荣升智能机老大的地位,拥有众多的校内大学生客户群体,也使得该软件可以应用广泛。而且该软件的成熟应用能够吸引餐馆在该软件的投入,也能带来众多校内用户群体,软件开发成本可控,效益可观。本系统应用现在比较新颖主流的Android开发技术,在手机端开发Android的客户端软件,开发该系统不会有多大的技术屏障,手机端主要是UI界面的绘制和数据业务处理,以及数据与网络的交互处理。采用C/S架构来控制数据与客户端的交互,采用小巧强大的SQL数据库作为服务器

15、端的数据存储,采用现在广泛流行的网络协议来达到即时通信的应用。1.3 本人的主要工作作者在“校园易点餐系统”中主要完成系统的需求获取及分析、数据库的设计、系统框架的搭建,以及毕业论文的撰写。“易点餐校园订餐系统”中完成商家模块的代码编写,该模块包括 4个子模块:1.店铺信息管理子模块:提供商家注册入口,进行商家注册信息的验证,提供登录入口,进行账号及密码的验证登录,提供修改密码的功能。店铺信息管理子模块即对商家店铺的信息进行管理,包括商家可以填写店铺的信息,进行信息修改,浏览信息等。2. 店铺订单管理子模块:即对本店的订单信息进行管理,包括接受顾客的订单,浏览订单信息,并根据菜品的制作过程实时

16、修改订单的状态,删除订单等。3. 店铺菜品管理子模块:即对本店的菜系,菜品等进行管理,可以添加店铺所有的菜系,按菜系分类将店铺的菜品加入相应的菜系系列下供顾客选择,在店铺更新菜品时可将旧的菜品进行下架处理。4. 店铺财务管理子模块:即对外卖的订单中的收入进行系统的管理,让商家能够对店铺的外卖收入有清楚的了解,提供订单账目的查询,包括当天订单收入和历史订单收入等。1.4 本文组织第1章 引言、简述了系统的开发背景、发展现状及意义。介绍了本人在系统开发中的主要工作;第2章 介绍了系统的开发平台及开发工具;第3章 使用功能结构图对商家模块的需求进行了详细的分析;第4章 详细阐述了商家模块设计的全过程

17、;第5章 详细介绍了商家模块功能的实现;第6章 介绍了系统关键技术的实现;第7章 总结了全文的主要思想,分析了今后继续努力的方向。4·第 2 章 系统开发技术及相关技术概述 第 2 章 系统开发及相关技术概述 在对系统进行分析之后,我们确认了系统的功能。鉴于我们的目标是开发出一个基于android的校园点餐系统,我们决定在android平台下开发我们的应用软件,而服务器端的请求响应机制仍采用J2EE下的框架,通信协议采用HTTP协议,数据传输解析采用JavaScript中的轻量级的数据交换格式JSON。2.1 Java 技术Java【1-3】是一种可以撰写跨平台应用软件的面向对象的程

18、序设计语言,由Sun Microsystems公司于1995年5月推出。它由Java程序设计语言和Java平台组成,期中Java平台分为Java SE、Java EE、Java ME三个 体系。Java技术因为其具有卓越的通用性、高效性、平台移植性和安全性而受到开发人员的青睐,广泛运用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网中,目前Java具备了显著的优势和广阔的前景。Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。Java应用程序编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分

19、和扩展部分。在开发此系统时,我们应用的是J2EE体系。J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。J2EE 典型的四层结构:运行在客户端机器上的客户层组件、运行在J2EE服务器上的Web层组件、运行在J2EE服务器上的业务逻辑层组件、运行在EIS服务器上的企业信息系统(Enterprise information system)层软件。J2EE这样的结构为搭建具有可伸缩性、灵活性、易维护性的商务系统

20、提供了良好的机制。2.2 Android操作系统及其应用程序开发技术Android【4-6】操作系统是Google于2007年发布的一个基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用程序组成。Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。经过几年的不断发展,2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全

21、世界采用这款系统的设备数量已经达到10亿台。Android开发四大组件分别是:活动(Activity): 用于表现功能。服务(Service): 后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver)用于接收广播。内容提供商(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库。在Android 中,Activity是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手

22、机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些Button、Check box 等控件。可以看到Activity 概念和网页的概念相当类似。一般一个Android 应用是由多个Activity 组成的。这多个Activity 之间可以进行相互跳转。和网页跳转稍微有些不一样的是,Activity 之间的跳转有可能返回值,当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。用户可以通过回退操作返回到以前打开过的屏幕。可以选择性的移除一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前的每个屏幕保存在堆栈中。Servic

23、e 是android 系统中的一种组件,它跟Activity 的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service 是没有界面的长生命周期的代码。Service是一种程序,它可以运行很长时间,但是它却没有用户界面。开启Service有两种方式:(1) Context.startService():Service会经历onCreate -> onStart;StopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用StopService的话,Service会一直在后台运行。补充说明:传递给StartService的Inten

24、t对象会传递给onStart()方法。调用顺序为:onCreate -> onStart -> onDestroy。(2) Context.bindService():Service会经历onCreate() ->onBind(),onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind -> onDestroyed相应退出,所谓绑定在一起就共存亡了。在

25、Android 中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver 是对发送出来的Broadcast进行过滤接受并响应的一类组件。可以使用BroadcastReceiver 来让应用对一个外部的事件做出响应。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件等内容,都是不允许其他直接访问的。应用想对外提供的数据,可以通过派生Content Provider类,封装成一枚Content Provider,每个Content Provider都用一个uri作为独立的标识。2.3 Struts2框架结

26、构及工作原理Struts【7-9】是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2以WebWork为核心,采用拦截器的机制来处理

27、用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。 图2.1 struts 基本框架结构图如图2.1所示一个请求在Struts2框架中的处理分为以下几个步骤:(1)客户端发出一个指向servlet容器的请求(tomcat)。(2)这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。(3)过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里

28、相关参数,并转换成相应的类。(4)如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。(5)ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。 (6)ActionInvocation实例使用命名模式来

29、调用,ActionInvocation初始化时,根据配置,加载Action相关的所有Interceptor。 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。(7)一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。2.4 JDBC数据库编程JDBC【10】(Java Data Ba

30、se Connectivity,java数据库连接)是一组Java类库集,利用该类库集可以实现对数据库的操作。其特点是可以为多种关系数据库提供统一访问,而不需要为不同的数据库设计不同的访问接口。JDBC为工具/数据库开发人员提供了一个统一的接口,程序员可以以此为基础创建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接

31、提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。下列代码段给出了以上三步的基本示例:Connection con = DriverManager.getConnection("jdbc:odbc:wombat", "login","password");Statement stmt = con.createStatement(

32、);ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");while (rs.next() int x = rs.getInt("a");String s = rs.getString("b");float f = rs.getFloat("c");2.5 JSONJSON【11-13】(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格

33、式,但是也使用了类似于C语言家族的习惯,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。JSON建构有两种结构,json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构,详细介绍如下:(1)对象:对象在js中表示为“”括起来的内容,数据结构为 key:value,key:value,.的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。(2)数组:数

34、组在js中是中括号“”括起来的内容,数据结构为 "java","javascript","vb",.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。经过对象、数组两种结构就可以组合成复杂的数据结构了。9·第 3章 系统需求分析第3章 系统需求分析3.1 系统目标1. 应具有方便、强大的资料管理和良好的人机界面,使用户易于操作,便于浏览。2. 系统流程顺畅,能够很好地实现用户订餐,展现各个商家的菜品,让顾客快速高效地了解各个商家的最新菜品,订餐过程顺利流畅,发送订单的高效便捷。3.

35、满足业务需求的近期目标,依据用户规模等需求,设计和业务功能相适应的系统。应该充分考虑整个系统运行的安全策略和机制,可以根据不同的业务要求和应用处理,设置不同的安全措施。4. 系统的拥有良好的健壮性,让新的功能能够快速加入系统,扩展性良好。5. 系统的安全性好,通过密码和权限的管理使用户的数据不受到侵害。6. 系统的动态信息交互功能强,系统根据不同的用户开放不同的处理权限。7. 软件、硬件平台应具有良好的可扩充、扩展能力,能够方便系统升级和更新,以适应业务发展。3.2 系统的功能需求分析概述图3.1校园易点餐系统整体功能结构图通过对系统的分析与研究,我们小组最终得出了校园易点餐系统的总体需求框架

36、,系统由两个模块构成,分别是顾客订餐模块和商家外卖模块,如图3.1所示,校园易点餐系统分为两个模块,一个顾客订餐模块,一个是商家外卖模块。(1)校园顾客订餐者可以在手机端运行该应用,浏览学校的美食,选择自己的订餐服务,并提交订单,在这个模块里,顾客能够进行注册、登录等;(2)店主根据该时段的营业情况回复订餐者是否送餐,若送餐,在制作好外卖之后,将外卖送到订餐者手中,完成外卖支付交易。 在本系统中,本人负责商家外卖模块的设计与实现,下图3.2展示的是商家外卖模块的子模块功能图: 图3.2商家外卖模块功能结构图3.2.1 商家帐户管理商家帐户管理模块:这个模块的主要功能是为商家提供帐户管理的功能服

37、务,该模块能为商家提供注册登录的服务,进行帐号信息的管理,包括查询,修改,删除,修改密码等。其功能结构如图3.3所示:图3.3商家帐户管理功能结构图(1)注册 商家下载易点餐商家客户端完成注册的程序。(2)登录 商家注册成功之后根据注册成功的帐号登录系统。(3)修改密码 商家可以通过登录账号之后可以进行修改密码。(4)更改帐户信息 商家可以根据自己的店铺情况更改自己的店铺信息。3.2.2 商家订单管理商家订单管理模块:这个模块的主要功能是为商家提供订单管理的功能,该模块管理每个商家的订单,为商家的交易提供方便快捷的订单管理服务,包括接收顾客的订单,为订单分类,根据订单的制作情况提供更改订单状态

38、的功能,根据店铺的订单数量动态地接收订单,让商家能够清楚及时地了解订单的整体状态及店铺的外卖营业状态,该功能的功能结构图如下图3.4所示: 图3.4商家订单管理功能结构图 (1)查询订单 该模块为商家提供本店订单浏览,显示订单的列表信息和详细信息。(2)接收订单 该模块为商家接收订单,显示订单的状态,方便商家清楚地查看自己的店铺情况。(3)处理订单 商家根据订单的制作情况实时地提供订单的流程,让订餐者动态了解订单的制作时间,该模块提供订单的状态变更功能。(4)删除订单 该子模块提供删除订单的功能,让已完成的订单可被删除。3.2.3 商家菜谱管理 商家菜谱管理模块:该模块主要功能是为商家提供菜谱

39、管理功能服务,该模块可为商家管理菜系和菜品功能,对菜系和菜品进行管理,包括菜系的增添、查询、删除、修改,包括菜品的增添、查询、下架、修改;其中菜品的管理还需要对菜品的图片进行管理,包括图片上传,删除等。功能图如图3.5所示: 图3.5 商家菜谱管理结构图(1)增添菜系、菜品 在该模块商家可以增添店铺的菜系、菜品等菜谱的信息。(2)下架菜系、菜谱 在该模块下商家可以将店铺的某一种菜系的全部菜品,或者是某一种菜品进行下架处理,以达到更换菜谱的功能。(3)修改菜系、菜品 在该模块下,商家可以修改菜系或者菜品的属性信息,动态地与店铺的实际情况相符合,方便订餐者的订餐。(4)浏览菜系、菜品 在该模块下,

40、商家可以浏览本店已添加的菜系和菜品。 3.2.4 商家账务管理 商家账务管理模块:该模块主要功能是为商家提供账务管理功能,该模块可为商家统计每天的订单收入,将订单状态的实时分类收入显示出来,除当天的订单外,在查询财务时自动生成订单历史订单。该模块的功能结构如图3.6所示: 图3.6 商家账务管理结构图(1)浏览今日账目 在该模块中,商家可以查看今日的订单账务信息。(2)浏览历史账目 在该模块中,商家可以查看历史订单的账务信息。3.3 系统用例图分析3.3.1 商家端功能用例设计商家客户端的设计是面向商家的,主要对商家进行交易时所用的功能,包括注册、登录、进行店铺的信息管理、商家的订单管理、商家

41、财务管理等。具体用例图如图3.7所示:图3.7 商家功能用例图表3.1 - 表3.15是对商家的用例进行描述,包括商家账户管理、商家订单管理、商家菜谱管理、商家账务管等。 表3.1 商家注册用例描述用例名称注册参与者商家用例描述商家注册新的账号进行店铺注册前置条件无后置条件无主干过程1、 商家下载商家客户端系统,点击进入注册界面。2、 系统显示注册页面。3、 填写工商编号、店名、店家手机、店家位置、主要经营,密码、确认密码等。a) 输入空值。b) 输入超长字段。c) 输入符合字段属性要求的正常范围内的值。4、 点击“确定”按钮。5、 系统显示注册成功。预期结果(输出)a)若输入为空值则提示输入

42、相应的字段名b)输入超长字符则提示输入的字段过长c)若输入正常范围内的值则返回注册成功与否的结果 表3.2商家登录用例描用例名称登录参与者商家用例描述商家根据已注册的账号登录前置条件商家成功完成注册后置条件无主干过程1、 商家点击进入登录界面,2、 系统显示登录页面。3、 商家填写用户名和密码; a)输入空值。 b)输入超长字段。 c)输入符合字段属性要求的正常范围内的值。4、 点击“登录”按钮。5、 系统显示登录成功。预期结果(输出)a)若输入为空值则提示输入相应的字段名b)若输入超长字符则提示输入的字段过长c)若输入用户名与密码错误则提示“用户名或密码错误”d)若输入的用户名与密码相匹配则

43、显示登录成功 表3.3商家修改账户信息描述用例名称修改账户信息参与者商家用例描述商家可以根据自己店铺的情况修改店铺信息前置条件1、商家登录易点餐校园订餐系统2、进入“我的店铺” 后置条件无主干过程1、 在“我的店铺”的页面中点击“修改信息”按钮。2、 系统进入修改信息页面,商家信息除工商编号外其余要修改的信息框内进行原有信息的覆盖或修改: a)不修改任何信息 b)修改信息,但是修改之后的信息不符合输入要求 c)修改的信息符合输入要求3、 点击确定按钮。4、 系统进行信息修改,返回修改成功与否信息。预期结果(输出)a)店铺信息保持不变b)提示修改信息不符合输入要求c)提示修改成功表3.4商家查询

44、账户信息描述用例名称查询账户信息参与者商家用例描述商家在登录之后查询本店的注册信息前置条件1、商家在本系统已成功注册账号2、商家已登录商家客户端后置条件无主干过程1、商家进入店铺主页面。2、点击“我的店铺”按钮预期结果(输出)a) 展现店铺的简介信息表3.5商家订单管理用例描述 用例名称商家订单管理参与者商家用例描述商家可以进行本店铺的订单管理前置条件1、商家登录易点餐校园订餐系统2、点击进入“我的订单” 后置条件无主干过程1、系统显示订单列表信息。2、商家进行订单处理预期结果(输出)a)显示店铺当天的订单信息b)按照订单的状态分类显示订单的信息 表3.6 商家浏览订单信息用例名称商家浏览订单

45、信息参与者商家用例描述商家可以进行本店铺的订单浏览前置条件1、商家登录易点餐校园订餐系统2、点击进入“订单” 后置条件无主干过程1、 商家点击各个状态的按钮。2、 系统显示当天订单信息: a)系统显示“未接收”订单信息 b)系统显示“已接受”订单信息 c)系统显示“已送餐”订单信息 d)系统显示“交易完成”订单信息3、商家查看订单信息预期结果(输出)a)显示店铺当天的订单信息b)按照订单的状态分类显示订单的信息 表3.7 商家处理订单信息用例名称商家处理订单信息参与者商家用例描述商家可以进行本店铺的订处理前置条件1、商家登录易点餐校园订餐系统2、点击进入“订单” 后置条件无主干过程1、 商家进

46、入订单列表页面2、 点击进入订单详情3、 修改订单状态: a)“未接受”状态改为“已接受”状态 b)“已接受”状态改为“已送餐”状态 c)“已送餐”状态改为“交易完成”状态预期结果(输出)a)弹出“订单状态变为已接受”b) 弹出“订单状态变为已送餐”c)弹出“订单状态变为交易完成” 表3.8商家店铺新增菜系、菜品用例描述用例名称商家新增菜系参与者商家用例描述商家可以进行本店铺菜系的新增前置条件1、商家登录易点餐校园订餐系统2、点击进入“我的菜谱” 后置条件无主干过程1、 点击“+菜系”按钮2、 系统显示添加菜系页面3、 页面上方出现菜系名的输入框,下方显示本店铺已加入 的所有菜系4、 输入新增

47、菜系名: a)输入空值 b)输入已存在的菜系名 c)输入非空还未加入的菜系名5、 点击确定按钮6、 系统显示添加成功预期结果(输出)a) 输入空值,系统提示“输入错误,请重新输入”页面仍然是新增菜系页面b) 输入已存在的菜系名,系统提示“该菜系已存在”页面仍然是新增菜系c) 输入非空还未加入的菜系名,系统提示“加入成功”,页面下方显示的菜系本店已加入的所有菜系表3.9 商家新增菜品用例描述用例名称商家新增菜品参与者商家用例描述商家可以进行本店铺菜品的新增前置条件1、商家登录易点餐校园订餐系统2、点击进入“我的菜谱” 后置条件无主干过程1、 商家点击“+美食”按钮2、 系统显示添加美食页面,页面

48、显示菜名、价格、描述三个输入框3、 输入菜名: a)输入空值 b)输入已存在的菜品名 c)输入非空还未加入的菜品名4、 输入价格: a)输入非数字 b)输入数字5、 输入菜品描述: a)空值 b)输入菜品描述6、 点击“提交”按钮7、 若系统提示“添加成功,点击确定去上传菜品图片”,点击“确定”按钮系统显示上传图片页面,点击“选择图片”按钮。8、 系统弹出“请选择照片来源对话框”,选择“拍照”,页面显示拍照功能,拍照后,选择好拍照图片,系统返回上传图片页面,刚拍的照片在图片上传框内,点击“上传图片按钮”9、 系统弹出“请选择照片来源对话框”,选择“相片库”,页面显示手机相片库的所有图片,选择好

49、菜品图片后,系统返回上传图片页面,刚选择的照片在图片上传框内,点击“上传图片按钮”10、 系统提示“上传成功”预期结果(输出)a) 输入空的菜名,系统提示“输入菜名不可为空,请重新输入”b) 输入已存在的菜名,系统提示“该菜品已存在,请重新输入”c) 输入还未加入的菜名,价格非数字,系统提示“菜品的价格输入不是数字,请重新输入”d) 输入还未加入的菜名,价格为数字,描述为空,系统提示“请输入菜品的描述信息”e) 输入还未加入的菜名,价格为数字,描述不为空,系统提示“添加成功,点击确定去上传菜品图片” 表3.10商家菜谱管理用例描述用例名称商家菜谱管理参与者商家用例描述商家可以进行本店铺的菜谱管

50、理前置条件1、商家登录易点餐校园订餐系统2、点击进入“我的菜谱” 后置条件无主干过程1、进行新增菜系2、进行新增菜品预期结果(输出)a)显示店铺当前所有的菜品b)按照菜系的分类显示菜品的信息 表3.11 商家查看菜谱信息用例名称查看菜谱信息参与者商家用例描述商家查看菜谱前置条件1、 商家登录易点餐商家客户端2、 点击进入“我的菜谱”后置条件无主干过程1、商家可滑动屏幕浏览本店的菜系预期结果(输出)1、显示本店的所有菜品 表3.12 商家修改菜品信息用例名称修改菜品信息参与者商家用例描述商家可以根据自己店铺的情况修改菜品信息前置条件1、商家登录易点餐校园订餐系统2、进入“我的菜谱” 后置条件无主

51、干过程1、在“我的菜谱”列表中点击要修改的菜品2、进入修改菜品信息页面,商家信息除菜品编号外其余要 修改的信息框内进行原有信息的覆盖或修改: a)不修改任何信息 b)修改信息,但是修改之后的信息不符合输入要求 c)修改的信息符合输入要求3、点击确定按钮。预期结果(输出)a)菜品信息保持不变b)提示修改信息不符合输入要求c)提示修改成功 表3.13商家菜品下架用例描述用例名称菜品下架参与者商家用例描述商家可以根据自己店铺的情况进行菜品的下架前置条件1、商家登录易点餐校园订餐系统2、进入“我的菜谱” 后置条件无主干过程1、 商家选择想要删除的菜品2、 系统进入菜品介绍的详细页面3、 点击下架按钮4

52、、 选择的菜品下架成功预期结果(输出)a) 系统弹出“下架成功”b) 返回菜品列表 表3.14 商家账务管理用例描述用例名称商家账务管理参与者商家用例描述商家可以查询本店的账务情况前置条件1、商家登录易点餐校园订餐系统2、进入“我的账单” 后置条件无主干过程1、 点击进入我的账单2、 系统显示账单页面3、 点击“查看今日账目”按钮4、 系统显示今日账单列表5、 点击“查看历史账目”按钮6、 系统显示历史账单列表预期结果(输出)a) 系统显示今日账单b) 系统显示历史账单23·第 4 章 系统设计第4章 系统设计4.1 系统的架构设计 图4.1 易点餐校园外卖订餐系统架构从上图4.1中

53、可以看出本系统的总体架构:1.校园学生订餐者可以在手机端运行该应用,浏览学校的美食,选择自己的订餐服务,并提交订单;2.服务器处理订餐者提交的订单,将订单信息发送到相应的商店的商户的手机中;3.店主根据该时段的营业情况回复订餐者是否送餐,若送餐,在制作好外卖之后,将外卖送到订餐者手中,完成外卖支付交易。 4.2 系统数据库设计4.2.1 数据库概念设计数据库设计是系统实现的最重要的一步,良好的数据模型将会使用户的需求清楚、准确的描述出来。概念数据模型是一种面向问题的数据模型,是按照用户最直观的需求对数据建立的模型。经过对数据的各种分析,该系统过程控制模块涉及到的实体有:商家、菜系、菜品、顾客、订单。 E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。实体联系模型它是描述现实世界概念结构模型的有效方法。是概念数据模型的高层描述所使用的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。这种数据模型典型的用在信息系统

温馨提示

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

评论

0/150

提交评论