基于andriod校园网上订餐系统
概要设计说明书
报告名称 校园网上订餐系统概要设计说明书
专 业 计算机科学与技术
班 级 信1201-1班
组长姓名 王雪青
组员名单 陆宇 赵建松 张文东 徐擎天
日 期 2015.6.13
指导教师 王建民
目录
1引言... 3
1.1编写目的... 3
1.2背景... 3
1.3定义... 4
1.4参考资料... 4
2总体设计... 4
2.1需求规定... 4
2.2运行环境... 4
2.3基本设计概念和处理流程... 5
2.5功能需求与程序的关系... 8
2.6人工处理过程... 8
2.7尚未问决的问题... 8
3接口设计... 9
3.1用户接口... 9
3.2外部接口... 9
3.3内部接口... 9
4运行设计... 9
4.1运行模块组合... 9
4.2运行控制... 9
4.3运行时间... 9
5系统数据结构设计... 10
5.1逻辑结构设计要点... 10
5.2物理结构设计要点... 10
5.3数据结构与程序的关系... 13
6系统出错处理设计... 13
6.1出错信息... 13
6.2补救措施... 13
6.3系统维护设计... 14
概要设计说明书
1引言
1.1编写目的
由于现如今已有的一些订餐软件譬如美团,饿了么之类的,它们针对的都是一些都实体店面的商铺,而作为许多大排档式的小吃摊们却被拒之门外,虽然它们的卫生质量标准没有像实体店铺之类的有保证,但是它们作为一种吃食形式存在就有它存在的意义,而且不会轻易被取缔,有着它特有的消费人群。
随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合,形成了方便、快捷、个性化的网上订餐系统,通过网上订餐,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。其最大的优势在于:图文并茂,信息能够及时更新和在线查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息不能及时更新的现象。这样既节省了时间,也可以为广大用户提供更多选择。
1.2背景
现学生们吃惯了学校种类单一的饭菜,而小吃实惠美味,所以很多同学选择去外面吃,尤其是在下课高峰期,而能阻挡同学们去小吃摊吃饭的原因就是小吃摊的人太多,需要排很长的队,为学生提供可以提前订好饭的软件,学生节省了时间;小吃摊们也可以增加一条销售渠道,可以卖出更多的饭菜,获得更多的销售额。
发展趋势:
人们通过上网,对餐品进行预订,这样不仅节约了时间,也为小铺的订餐管理工作提供了方便,最重要的是,这样的订餐方式效果很好,对每个订单的信息保管妥善并且处理及时,实现了高度智能化管理。因此将来网上订餐服务有望发展成一种非常受欢迎的订餐方式,将成为餐饮业销售的新模式和新的增长点。
1.3定义
B/S(Browser/Server):结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
Android 系统架构:Android 是一种以 Linux 为基础的开放源代码操作系统,主要使用于便携设备。随着 Android 的快速发展,如今已允许开发者使用 多种编程语言来开发
Android 应用程序,而不再是以前只能使用 Java 开发 Android 应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。
电子商务: 通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。
1.4参考资料
[1] 刘玉宝、李念峰 数据库原理及应用[M].科学出版社
[2] 齐治昌、谭庆平、宁洪 软件工程[M].高等教育出版
[3] 李飞,最新实用网络技术教程[M].西安:西安电子科技大学出版社.69~70,124~126. [4]郭霖 第一行代码 Andriod开发
2总体设计
2.1需求规定
◆操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯等信息的录入工作更简便,许多选项包括餐厅信息,菜系信息等只需要滑动手指就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;
◆
即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在相应页面的对应栏目显示出来,达到“即时发布、即时见效”的功能;
◆
系统运行应该快速、稳定、高效和可靠;
◆
在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
2.2运行环境
数据库:Mysql 5.0
开发工具 :Eclipse、 Android SDK
图片优化工具 :美图秀秀
开发语言 :Java
运行环境 :Android 平台
测试环境 :Android 平台
2.3基本设计概念和处理流程
卖家:
1、 浏览与选择餐饮信息:需身份确认才可以在网站上随意浏览,可增加、删除、修改自己店内的餐饮的类型,网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考;
2、 判断:用户登录时,系统将判断该顾客是否注册,如果是,则可直接进入主页面;否则,提示顾客登记注册;
3、 注册:顾客可在公司的网站上注册后提交申请;
4、 确认:后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。
5、送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施审核该订单:向顾客送货,货到付款,完成网上交易。
买家:
1、 浏览与选择餐饮信息:顾客进入网站后,不需身份确认就可以在网站上随意浏览,但是不可以增加、删除、修改改软件所提供的餐饮的类型信息,网站提供餐饮信息列表,后台最先添加的或是有优惠信息的餐饮信息优先列表给顾客作为选购时的参考;
2、 提交订单:已选购的餐饮信息需填写订单细节。
3、拿货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施审核该订单:去相应地点拿货,货到付款,完成网上交易。
图1业务流程分析
图2 系统数据流图
图3买家顾客订餐数据流图
图4卖家管理员管理数据流图
2.5功能需求与程序的关系
图5功能与需求关系
2.6人工处理过程
无
2.7尚未问决的问题
无
3接口设计
3.1用户接口
采用窗口化,索引式进行设计(即所有索引均显示在窗口上),在操作时响应热键。
3.2外部接口
硬件接口:无
软件接口:andriod通过webservice与Mysql数据库进行连接。
3.3内部接口
通过面向对象语言设计类,使用安装了SDK的enclips ,使用java编程语言,采用MVC模式,在手机客户端页面中实现对类的属性和方法的调用。
4运行设计
4.1运行模块组合
本程序主要是以一个窗口为模块,一般一个窗口完成一个特定的功能,通过每一个窗口最上面的索引是实现模块间不同功能的连接和组合。各模块之间相对独立,程序的可移植性好。各模块之间主要以传递参数来实现模块之间的合作和数据共享。
4.2运行控制
只要符合软件设计的要求,用户可自由控制,不限定用户输入,异常由程序内部进行处理,给出相应的提示信息。
4.3运行时间
由用户以及网速决定,但每次操作响应时间上限应控制在3S以内。
5系统数据结构设计
5.1逻辑结构设计要点
1.用户表User
用户表(用户ID,用户名,密码)
2.订单表Orders
订单表 (订单ID,订餐人,订餐电话,订单所属饭店,订餐份数)
3.菜单表food
菜单表(菜系ID,菜系所属种类,菜名,单价,数量,菜所属饭店)
5.2物理结构设计要点
图6数据库E-R图
系统关键数据表如下:其关系见E-R图
2.
用户表(userInfo):用户登录是需要用户名和密码,所以用户数据表中必须包含用户名(userName)、密码(userPwd)两个信息,还可以有些其他的用户信息,比如用户权限(管理员还是非管理员)。从功能上数据库表设计如表1。
表 1用户表
列名 |
数据类型 |
长度 |
主键 |
User_id |
int |
4 |
|
User_name |
varchar |
50 |
|
User_pwd |
varchar |
50 |
2.菜品信息表(foodInfo):菜品信息表主要描述菜品信息,如:菜品ID号(food_Id),此ID号为系统自动生成;菜品种类(food_k),菜品名称(food_Name);菜品价格(food_Price);菜品所属饭店(food_res)。商品信息表详细描述如表2
表2菜品信息表
列名 |
数据类型 |
长度 |
主键 |
Food_id |
int |
4 |
Yes |
Food_k |
varchar |
50 |
|
Food_name |
varchar |
50 |
|
Food_price |
int |
50 |
|
Food_res |
varchar |
50 |
3.订单表(foodOrderInfo): 订单表有一下描述信息。订单ID(order_id),订购人姓名(Order_name),,订购人电话(Order_phone),所定菜品所属饭店(Order_res),订餐份数(order_num)等,具体描述如表3所示:
表3订单表
列名 |
数据类型 |
长度 |
主键 |
Order_id |
int |
4 |
Yes |
Order_name |
varchar |
50 |
|
Order_phone |
varchar |
50 |
|
Order_res |
varchar |
20 |
|
Order_num |
varchar |
20 |
5.3数据结构与程序的关系
数据结构为关系型数据库,所以,在程序中可以通过标准的SQL语句与数据结构进行交互,交互过程中采用通用的数据库访问接口。本软件通过webservice连接数据库,因此只要主机上webservice服务程序即可以与Mysql数据库进行连接,实现对数据库的访问。
6系统出错处理设计
6.1出错信息
表5 出错信息表
出错信息 |
出错时,系统输出信息的形式、含义及处理方法 |
乱码 |
系统输出信息的形式为乱码,解决办法:对提交的汉字信息从新进行编码。 |
注册 |
输出信息,注册不成功,解决办法:输入符合软件规定的会员名和密码。 |
登录 |
输出信息登陆不成立,解决办法:输入已经注册的文件名和密码 |
菜品添加 |
输出信息,没有添加成功,解决办法:仔细检查插入语句是否出错,或者是是否有数据库连接代码 |
6.2补救措施
将上面的给出的出错信息进行分析,得到主要的错误可能有:
(1)数据库连接错误:这类错误主要是数据库设置不正确引起的,我们只要取消本次操作,提醒维护人员自己检查数据库问题即可。
(2)输入错误:主要是用户输入不规范造成的,我们在尽量减少用户出错的条件的情况下对用户进行提醒,然后再次操作。
(3)乱码:主要发生在提交汉字信息的情况下,这是我们只需要对提交的汉字从新进行编码即可。
(4)其他操作错误:对于用户的不正当操作,有可能是程序发生错误。我们主要是种植操作,并提醒用户种植的原因和操作规范。
(5)其他不可预知的错误:程序也会有一些我们无法预知或没有考虑完全的错误,我们对此不可能做出完全的异常处理,为了保证数据的安全,要经常对数据库进行备份。然后犯规错误信息,以逐步完善程序。
6.3系统维护设计
软件的维护主要包括,数据库的维护和软件功能的维护。
对于数据库的维护,主要是经常备份数据库的内容,以防止数据库内容的丢失。
对于软件功能方面的维护由于采用了模块化得设计方法,每个模块之间相互独立型较强,这样对软件的维护带来了很大的方便,对于单独功能的修改只需修改相应的模块即可。而对于功能的添加,只要增加相应的模块即可。我们还会对软件进行定期的维护和修改,以使其更加安全,更加方便和快捷。