哈哈订餐系统设计说明书.docx
《哈哈订餐系统设计说明书.docx》由会员分享,可在线阅读,更多相关《哈哈订餐系统设计说明书.docx(89页珍藏版)》请在冰豆网上搜索。
哈哈订餐系统设计说明书
长沙学院
课程设计说明书
题目
Android订餐系统
系(部)
数学与计算机科学系
专业(班级)
12软件10班
姓名
何静
学号
2012022A11
指导教师
何文德
起止日期
2015.06.08-2015.07.03
课程设计任务书
课程名称:
服务外包软件综合实训Ⅲ
设计题目:
Android订餐系统
已知技术参数和设计要求:
1.实训目的
了解Android体系结构,理解MVC结构及其优缺点、Java面向对象编程思想。
掌握JavaIO流、Java多线程、Java网络编程、JavaJDBC、AndroidGUI设计。
具备Android应用程序、Java网络服务应用程序的开发能力。
2.功能要求
开发一款C/S结构的网上订餐应用程序。
以Android平台为客户端,以PC为服务器。
PC端应用程序的作用主要是作为数据的提供者,以及客户端关系的联系者。
Android为终端用户提供便利的操作界面,响应用户的操作请求传值到服务器端以及从服务端获取业务处理后的数据流。
主要功能模块包括会员注册模块、会员登录模块、商品显示模块、商品查询模块、商品购买模块、订单查询模块、订单处理模块。
2.1客户端Android应用程序功能要求
(1)注册功能。
顾客首先要注册为网上商城的用户。
注册时只要填写登录用户名、密码、联系电子信箱3项信息即可。
注册后,用户可继续如实填写详细个人信息及收货人信息,同时可修改密码、查询及修改订单。
(2)选择产品功能。
顾客浏览网上商城,将自己需求的产品放入到购物车中(可在网上商城首页、专柜首页、产品小类、专卖店首页、搜索结果页面、产品详细信息页面进行该操作),可连续添加商品。
(3)管理购物车。
顾客选择完商品后可进入购物车页面,查看、修改、取消自己要购买的商品。
(4)订单功能。
顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。
如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。
顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。
(5)付款功能。
顾客在订单被销售方确认后,要选择付款方式,并付款给销售方,然后才可以收到货,当订单还未发货时,客户可与销售协商进行退款操作。
2.2PC端Java应用程序功能要求
(1)管理人员部分。
该部分的用户有一个超级管理员以及若干个普通管理员,超级管理员拥有最高权限,可访问所有订单,可浏览、查询订单,可浏览、修改普通管理员和会员的资料,普通管理员分两种,一种是订单管理员:
主要负责订单管理,可浏览、修改订单状态,浏览会员信息;另一种是界面管理员:
主要负责界面管理,可管理商品、类别、留言、公告、及所有的网站资料维护等操作。
(2)管理订单功能。
顾客可取消、修改自己提交的订单(在管理员确认前),查询自己提交的订单(随时)。
如订单的状态在一定的时限(如12个小时)后仍没有发生变化(“订单关闭”状态除外),系统自动提醒管理员(如该订单变色,弹出提醒窗口等方式。
订单状态发生变化,系统自动发E-mail给顾客,“无效订单”、“订单关闭”状态除外),若客户已付款,则通知管理员发货,并提供对应的物流信息以供客户查询,每个订单都需要一个跟单员。
(3)管理商品功能。
管理员可以添加、修改、删除商品和类别,包括商品确是否显示,是否为推荐商品、是否为热销商品等。
(4)运货管理:
可增删改货运公司信息。
3.技术要求
推荐使用开源项目设计UI界面和逻辑。
例如,Fragment组件、ActionBar组件等,Android开源项目分类汇总参考网址:
各阶段具体要求:
1.需求分析阶段
分析系统需求,要求写出需求规格说明。
2.设计阶段
确定系统架构和软件结构,设计用户接口和内外接口,设计数据库逻辑模型、物理模型。
设计类、接口、流程逻辑。
要求写出软件设计说明。
4.编码阶段
编写代码。
要求提交源代码。
5.测试阶段
确定测试计划,编写测试用例,测试并记录系统缺陷。
要求写出测试用例。
6.项目总结阶段
要求书面总结和口头报告,现场演示软件,答辩。
设计工作量:
(1)软件设计:
完成设计要求中所规定的所有功能。
(2)设计说明书:
要求撰写不少于3000汉字的文档。
工作计划:
14周,布置任务:
2课时
14周,讲解与上机调试:
18课时
15周,讲解与上机调试:
12课时
15周,答疑:
8课时
16周,上机调试:
12课时
16周,答疑:
8课时
17周,上机调试:
12课时
17周,答疑:
4课时
117周,答辩:
4课时
注意事项
要求提交下列提交文档:
长沙学院课程设计任务书(每学生1份)
长沙学院课程设计说明书(每学生1份)
长沙学院课程设计鉴定表(每学生1份)
指导教师签名:
日期:
教研室主任签名:
日期:
系主任签名:
日期:
长沙学院课程设计鉴定表
姓名
何静
学号
2012022A11
专业
软件工程(服务外包)
班级
12软件10
设计题目
Android订餐系统
指导教师
何文德
指导教师意见:
能独立完成课程设计任务,程序功能较为完善,系统设计较合理。
现场检查良好。
文档结构较完整,说明较详细。
但格式略欠规范
评定成绩:
良好教师签名:
何文德日期:
2015.07.06
答辩小组意见:
答辩陈述条理较清晰,回答问题正确。
答辩体现的对知识和技能的认识程度较好。
评定成绩:
良好 答辩小组长签名:
何文德日期:
2015.07.06
教研室意见:
最终评定等级:
教研室主任签名:
日期:
说明
课程设计成绩分“优秀”、“良好”、“中等”、“及格”、“不及格”五等。
一、引言
1.1编写目的
本文档是“Android订餐系统”的软件设计说明书,编写目的是:
明确软件需求、概要设计、详细设计和功能测试用例,为软件后续开发和维护提供指导。
本文档的读者对象是需求分析人员、系统设计人员、系统开发人员、系统测试人员。
1.2参考资料
[1]郭霖.第一行代码android[M].人民邮电出版社,2014.
[2]梅尔(RetoMeier).Android高级编程[M].清华大学出版社,2010.
[3]中国国家标准化管理委员会.GB8567-2006计算机软件文档编制规范[S].北京:
中国标准出版社,2006.
[4]扶松柏.Android开发从入门到精通[M].兵器工业出版社,北京希望电子出版社,2012.
二、需求规约
2.1功能需求
哈哈订餐客户端系统用况图如图3.1所示。
图3.1哈哈订餐客户端系统用况图
客户端系统由登陆模块、注册模块、菜单模块、优惠活动模块、查询订单模块、关于模块、个人中心模块共7个模块组成,客户端功能表如表3.1所示。
2.1哈哈餐厅客户端系统用况图
编号
功能名称
使用部门
使用人员
功能描述
输入
系统响应
输出
1
客户端登录功能模块
无
用户
登录进入系统
用户名、密码、是否保存用户信息
判断用户名密码是否正确
登录成功、用户不存在、密码不正确
2
客户端注册功能模块
无
用户
注册用户
用户名、密码、确认密码、支付密码、确认支付密码、手机号码、邮箱、收货地址
把数据存入本地sqlite数据库,存入服务器
注册成功、两次输入密码不正确
3
菜单功能模块
无
用户
列表显示出所有菜品信息点击菜品进入详细信息界面
登录成功;点击菜品;并可以在详细信息界面付款点餐
显示菜单列表;显示菜品详细信息
菜单列表;详细信息界面;点好菜品显示到查询订单模块
4
优惠活动模块
无
用户
列出所有优惠活动
点击优惠活动项
列出正在实施的优惠活动
优惠活动界面
5
查询订单模块
无
用户
查询已付款的菜品的信息可以确认订单让餐厅派送
点击确认订单按钮;点击列表中每项的删除按钮
系统将按照用户默认的送餐地址进行派送;删除对应行的菜品信息并退款
系统将尽快派送您的订单;删除成功
6
个人中心模块
无
用户
显示当前登录账号的信息以及注销功能
点击注销按钮;点击修改默认地址按钮
退回到登录界面;弹出输入新地址界面
注销成功;取消修改地址、修改地址成功
7
关于模块
无
用户
显示送餐范围、送餐时间、法律条款等
无
无
无
哈哈移动订餐服务端系统用况图如图3.2所示
图3.2哈哈订餐服务端系统用况图
服务端系统由于做的是单个餐厅的系统所以注册模块是为提供新员工的招聘和老员工的辞退管理。
登录时需要输入用户名、密码。
付款只能模拟实现。
服务端由登录、注册模块、菜品管理和订单管理模块三个模块组成。
表3.2哈哈订餐系统服务端功能表
编号
功能名称
使用部门
使用人员
功能描述
输入
系统响应
输出
1
服务端登录、注册模块
餐厅管理部
管理员
对服务器端的登录和注册
服务端的账号、密码
注册信息
判断是否与设置密码一致。
注册信息是否正确
登录成功、密码不正确。
注册成功
3
订单管理模块
餐厅管理部
管理员
对客户提交的订单进行接收或者拒接
接收订单、拒接订单
服务器传递返回数据给客户端通知用户
接收成功、拒接成功
4
菜品模块
餐厅管理部
管理员
对菜品的增加、删除、修改、查找
新增菜品的信息、修改菜品的信息、删除某样菜品
查找并删除
增加、修改、删除成功
3.1.1哈哈订餐系统客户端登录
用例描述:
登录模块实现客户端系统的登录功能。
哈哈订餐系统客户端登录的用况图如图3.3所示。
哈哈订餐系统客户端登录用例规约如表3.3所示。
图3.3哈哈订餐系统客户端登录用况图
表3.3哈哈订餐系统客户端登录用例规约
用例名称:
客户端用户登录
用例ID:
User_login01
角色:
订餐客户
用例说明:
登录客户端系统
前置条件:
客户进入菜单或优惠活动或订单查询或关于或个人中心页面
基本事件流:
1.用户输入帐号和密码
2.点击登录
其它事件流:
1.用户不存在
2.帐号或密码错误
3.没有网络连接
异常事件流:
网络连接错误
后置条件:
登录成功并跳转到相关页面
3.1.2哈哈订餐系统客户端注册
用例描述:
注册一个新的账户。
哈哈订餐系统客户端注册的用况图如图3.4所示。
哈哈订餐系统客户端注册用例规约如表3.4所示。
图3.4哈哈订餐系统客户端注册用况图
表3.4哈哈订餐系统客户端注册用例规约
用例名称:
客户端用户注册
用例ID:
User_register
角色:
订餐客户
用例说明:
注册一个新的客户
前置条件:
客户需要登录系统
基本事件流:
1.用户输入帐号、密码、确认密码、支付密码、确认支付密码、邮箱和收货地址
2.点击注册
3.点击取消
其它事件流:
1.用户名已存在
2.两次输入密码不正确
3.两次输入支付密码不正确
4.输入手机号码格式不正确
5.注册成功
异常事件流:
网络连接错误
后置条件:
注册成功并跳转到登录页面
3.1.3哈哈订餐系统客户端菜单
用例描述:
查看本餐厅所有的早、中、晚三餐所能提供的菜品,并可以进入到详细界面,可选择是否订购该菜。
如订购该菜则在详情界面点击订购按钮即可。
也可以在详情界面对该菜进行相应的评价和查看他人对该菜的评价。
在右上角还有订单查询按钮。
哈哈订餐系统客户端菜单的用况图如图3.5所示。
哈哈订餐系统客户端菜单用例规约如表3.5所示。
图3.5哈哈订餐系统客户端菜单用况图
表3.5哈哈订餐系统客户端菜单用例规约
用例名称:
客户端菜单
用例ID:
Menu
角色:
订餐客户
用例说明:
查看菜品、订购菜品、评价菜品、查询订单状态
前置条件:
客户需要订购菜品或评价菜品或查询订单状态
基本事件流:
1选择想要的菜品
2.查看菜品评价
3.评价某一菜品
4.菜品详情界面点击订购菜品
其它事件流:
如果手机网络断开则用例终止
异常事件流:
网络连接错误
后置条件:
1.评价成功
2.订购成功
3.订单状态更新成功
3.1.4哈哈订餐系统客户端优惠活动
用例描述:
查看本餐厅所有优惠活动。
哈哈订餐系统客户端优惠活动的用况图如图3.6所示。
哈哈订餐系统客户端优惠活动用例规约如表3.6所示。
图3.6哈哈订餐系统客户端优惠活动用况图
表3.6哈哈订餐系统客户端优惠活动用例规约
用例名称:
客户端优惠活动
用例ID:
Activity
角色:
客户
用例说明:
查看本餐厅的优惠活动
前置条件:
客户需要查看本餐厅的优惠活动
基本事件流:
查看优惠活动
其它事件流:
如果手机网络断开则用例终止
异常事件流:
网络连接错误
后置条件:
显示本餐厅的优惠活动
3.1.5哈哈订餐系统客户端查询订单
用例描述:
查看本次已点菜品,并可以对已点菜品进行删除操作,确认要点菜后,可点击立即订购按钮提交订单到服务端。
哈哈订餐系统客户端查询订单的用况图如图3.7所示。
哈哈订餐系统客户端查询订单用例规约如表3.7所示。
图3.7哈哈订餐系统客户端查询订单用况图
表3.7哈哈订餐系统客户端查询订单用例规约
用例名称:
客户端查询订单
用例ID:
Order_food
角色:
客户
用例说明:
查看客户自己点的菜,并对不满意的菜进行删除,最后提交订单
前置条件:
客户需要点菜
基本事件流:
1.查看已点菜
2.对不满意菜进行删除
3.输入支付密码
4.对订单进行提交
其它事件流:
1.如果手机网络断开则用例终止
2.支付密码不正确
异常事件流:
网络连接错误
后置条件:
1.提交订单成功
2.删除菜品成功
3.1.6哈哈订餐系统客户端关于模块
用例描述:
查看本软件的一些信息,如:
送餐范围、如何使用优惠活动等。
哈哈订餐系统客户端关于的用况图如图3.8所示。
哈哈订餐系统客户端关于用例规约如表3.8所示。
图3.8哈哈订餐系统客户端关于用况图
表3.8哈哈订餐系统客户端关于用例规约
用例名称:
客户端关于
用例ID:
About
角色:
客户
用例说明:
查看软件的常见问题和其他信息
前置条件:
客户需要查看常见问题和其他信息
基本事件流:
查看常见问题和其他信息
其它事件流:
无
异常事件流:
网络连接错误
后置条件:
显示常见问题和其他信息
3.1.8哈哈订餐系统服务端登录、注册
用例描述:
完成服务端的登录和注册功能。
哈哈订餐系统服务端登录、注册的用况图如图3.10所示。
哈哈订餐系统服务端登录、注册用例规约如表3.10所示。
图3.10哈哈订餐系统服务端登录、注册用况图
表3.10哈哈订餐系统服务端登录、注册用例规约
用例名称:
服务端登录、注册
用例ID:
Server_Login_Register
角色:
餐厅管理人员
用例说明:
登录服务端系统、注册新账号
前置条件:
用户需登录服务端系统
基本事件流:
1.输入用户名和密码
2.点击登录按钮
3.点击注册按钮
4.注册成功
5.登录成功
其它事件流:
1.没有该用户
2.用户名或密码错误
3.该用户已注册
4.两次输入密码不一致
5.注册失败
异常事件流:
网络连接错误
后置条件:
1.登录成功
2.注册成功
3.1.10哈哈订餐系统服务端订单管理
用例描述:
在本模块里可以对订单进行查看,并可修改订单的状态,同时发送到客户端能接受到这个状态的更改,并在每个功能项后面有个查看菜品按钮可对该订单所点菜进行查看。
哈哈订餐系统服务端订单管理的用况图如图3.12所示。
哈哈订餐系统服务端订单管理用例规约如表3.12所示。
图3.12哈哈订餐系统服务端订单管理用况图
表3.12哈哈订餐系统服务端订单管理用例规约
用例名称:
服务端订单管理
用例ID:
Server_order
角色:
餐厅管理人员
用例说明:
查看每个订单的信息和订单所点菜品,以及对订单状态的修改
前置条件:
管理人员需要修改订单状态和查看订单所点菜
基本事件流:
1.点击订单状态修改按钮(接受、拒绝、派送、接收)
2.点击查看菜品按钮
3.显示订单信息
其它事件流:
1.查看菜品失败
2.获取订单信息失败
异常事件流:
数据库连接错误
后置条件:
显示订单信息和所点菜品信息
2.2界面需求
客户端:
使用客户端的用户可以是所有有需要点餐,并持有androd4.0以上操作系统手机的用户,只要轻松的根据软件提示和付款就可以享受到本系统所带来的便利,预期使用频率为每天两次。
服务端:
使用的是餐厅管理人员,对系统的菜品、价格、用户的数据进行增加、删除、修改和查找操作。
2.3数据需求
2.3.1优惠活动表
优惠活动表如表2.3.1所示。
表2.3.1优惠活动日表(activity)
编号
字段名
含义
数据类型
是否为主键
约束
1
id
优惠活动的编号
INTEGER
是
不为空
2
content
优惠活动内容
VARCHAR
否
无
2.3.2客户端用户表
客户端用户表如表2.3.2所示。
表2.3.2客户端用户表(androiduser)
编号
字段名
含义
数据类型
是否为主键
约束
1
username
用户名
VARCHAR
是
不为空
2
password
密码
VARCHAR
否
1~20
3
paypassword
支付密码
VARCHAR
否
1~20
4
telephone
手机号码
VARCHAR
否
11
5
address
收货地址
VARCHAR
否
0~100
2.3.3菜品评论表
菜品评论表如表2.3.3所示。
表2.3.1菜品评论表(comment)
编号
字段名
含义
数据类型
是否为主键
约束
1
id
评论编号
INTEGER
是
不为空
2
content
评论内容
VARCHAR
否
无
3
username
评论用户
VARCHAR
否
无
4
foodname
菜品名称
VARCHAR
否
无
5
foodstatus
菜品状态
VARCHAR
否
无、
2.3.4菜品信息表
菜品信息表如表2.3.4所示。
表2.3.4菜品信息表(foodinfo)
编号
字段名
含义
数据类型
是否为主键
约束
1
id
菜品编号
INTEGER
是
不为空
2
foodname
菜品名称
VARCHAR
否
不为空
3
foodprice
菜品价格
DECIMAL
否
20
4
foodimage
菜品图片路径
VARCHAR
否
100
5
fooddescribe
菜品描述
VARCHAR
否
200
6
foodstatus
菜品状态
INT
否
10
2.3.5订单菜品表
订单包含菜品表如表2.3.5所示。
表2.3.5订单菜品表(course_week)
编号
字段名
含义
数据类型
是否为主键
约束
1
orderingid
订单编号
INTEGER
是
不为空
2
foodname
菜品名称
VARCHAR
否
不为空
3
foodprice
菜品价格
DECIMAL
否
无
2.3.6订单信息表
订单信息表如表2.3.6所示。
表2.3.6订单信息表(orderinfo)
编号
字段名
含义
数据类型
是否为主键
约束
1
id
订单编号
INTEGER
是
不为空
2
address
收货地址
VARCHAR
否
不为空
3
time
订单提交时间
VARCHAR
否
无
4
price
订单总价格
DECIMAL
否
10
5
status
订单状态
INT
否
255
2.3.7服务端用户表
服务端用户表如表2.3.7所示。
表2.3.7服务端用户表(userinfo)
编号
字段名
含义
数据类型
是否为主键
约束
1
id
用户编号
INTEGER
是
不为空
2
username
用户名
VARCHAR
否
20
3
password
密码
VARCHAR
否
40
4
realname
真实姓名
VARCHAR
否
20
5
telephone
手机号码
VARCHAR
否
20
用户管理系统数据流图:
订单系统数据流图:
5物理结构设计
本系统的数据库放在了服务器端电脑中,android端需通过服务器的接口对数据库实现访问,服务端web则直接通过web访问服务器。
三、概要设计
3.1系统结构
本系统采用HTTP协议进行数据的传输。
并且采用了C/S结构,客户端为基于android4.0以上操作系统的智能手机,主要业务逻辑是服务器端来实现,所有软件将要用到的数据存储在MySql数据库里。
系统总体框图如2.3所示,客户端采用了基于Android操作系统4.0及以上的智能手机,服务端包括Tomcat服务器和MySql数据库,主要处理菜品的增删改查,以及对android端所用到信息的保存,要对数据库进行操作。
图3.1系统总体框图
3.2总体设计
客户端与服务端的流程图参看图3.4.1和图3.4.2。
图3.4.1哈哈餐厅移动订餐系统客户端流程图
图3.4.2哈哈餐厅移动订餐系统服务器流程图
3.3系统静态结构设计
图3.3.1哈哈订餐系统总体类图
3.4应用类设计
管理员管理时序图和协作图
管理员管理系统时序图:
四、详细设计
4.1.1客户端登录设计说明
(1)模块描述
该模块主要是为了方便管理android端用户的收货地址,一次注册就不需要用户繁琐的输入相同的收货地址,若有变动可自行更改。
(2)功能
(1)判断用户名是否注册
(2)已经注册则验证密码是否正确
(3)没注册则提示用户还没有进行注册
(3)性能
精度要求:
区分输入用户名和密码大小写。
灵活性:
本系统是严格按照模块化和面向对象的思想设计并实现的,所以具备良好的可扩展性以及可维护性。