《食堂远程下单系统》设计规格说明书
Posted emmm666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《食堂远程下单系统》设计规格说明书相关的知识,希望对你有一定的参考价值。
《食堂远程下单系统》
设计规格说明书
课程名称:软件需求工程与建模
指导老师:汤世平
小组成员:
姓名:金晨 学号:1120161943
姓名:方姝曼 学号:1120161940
姓名:夏婕 学号:1120161962
姓名:瞿凤业 学号:1120161944
目录
1. 引言................................................................................................................ 3
1.1 编写目的.................................................................................................. 3
1.2 项目风险.................................................................................................. 3
1.3 预期读者和阅读建议.............................................................................. 3
2. 设计概述....................................................................................................... 4
2.1 需求概述:.............................................................................................. 4
2.2 限制和约束.............................................................................................. 4
2.3 设计原则和设计要求.............................................................................. 5
2.3.1 完整性原则................................................................................... 5
2.3.2 相关性原则................................................................................... 5
2.3.3 适应性原则 ............................................................................... 5
2.3.4 可靠性原则 ............................................................................... 5
2.3.5 经济性原则 ............................................................................... 5
3. 系统模块结构............................................................................................... 6
3.1 系统结构模块图....................................................................................... 6
3.2 系统功能模块设计................................................................................... 6
3.3 模块结构................................................................................................... 7
4. 界面设计....................................................................................................... 8
5. 系统接口设计............................................................................................ 13
5.1 用户接口................................................................................................ 13
5.2 外部接口................................................................................................ 14
5.3 内部接口................................................................................................ 14
6. 数据库设计................................................................................................. 14
6.1 数据库需求分析.................................................................................... 14
6.2 数据库逻辑结构设计............................................................................ 15
1. 引言
食堂远程下单系统的设计是在系统分析的基础上,对软件需求说明书中的各项内容提出具体的设计方案,即解决“如何做”的问题,以便进一步组织人力、物力,完成系统从逻辑模型到物理模型,再到实际软件的转换。
1.1编写目的
系统设计阶段的工作分为概要设计和详细设计两个阶段完成。所有设计中的考虑都应以设计说明书的形式加以详细描述,以供后续工作使用并提交审查。
在概要设计中,已经用结构化的程序设计方法,将系统自顶向下进行了功能模块的划分。
在本说明书中将实施方法具体化,进而对每个模块要完成的工作进行具体的描述,以便为程序设计打下基础。
本文档的读者:项目组长,系统分析员,数据库设计员,文档管理员。
1.2项目风险
本软件开发项目的主要风险承担者:金晨、方姝曼、夏婕、瞿凤业
任务提出者:金晨、方姝曼、夏婕、瞿凤业
软件开发者:金晨、方姝曼、夏婕、瞿凤业
产品使用者:在校学生、老师等
1.3预期读者和阅读建议
本软件系统概要设计报告的预期读者包括:用户、开发人员、项目经理、营销人员、测试人员、文档编写人员等等。
2. 设计概述
概要设计主要是利用比较抽象的语言对整个需求进行概括,确定目标系统的构架,确定整个系统的处理流程和系统的数据结构,定系统由那些模块组成的,以及这些模块相互间的关系,实现对系统的初步设计。
2.1需求概述
系统目标:实现用户远程在食堂下订单的需求。
本系统的主要输入项目:
1、用户个人的基本信息,如注册时的用户名,学号等。
2、食堂菜品商品信息,如价格,口味等。
3、用户取餐需要的时间,联系方式等。
本系统的主要输出项目:
用户浏览菜品信息,下单菜品,去食堂取餐。
2.2限制和约束
简要描述起到限制和约束作用的各种可能存在的条件,例如:
- 技术条件:对于android端的编写不是非常熟悉,较为复杂的功能无法实现
- 开发环境(包括:工具和平台):在Android Studio中进行Android端APP的开发
- 时间限制:一个月
食堂远程下单系统的业务规则及约束如下:
(1) 所有人均可在系统内可以根据菜品名称搜索菜品信息,但是只有登录注册的用户才能够提交订单,给菜品留言及维护自己的账户信息。
(2) 每位用户由唯一的学号标识,同时,每位用户的名称也可以唯一标识用户信息。
(3) 用户登录系统的账号为用户注册时输入的用户名称。
(4) 系统管理员可以查看用户信息,但是不能增加和修改用户信息,必要时可以删除用户信息。
(5) 系统管理员统一对系统中的数据维护。
(6)食堂只能进行菜品订单查看和汇总。
(7)订单需记录交易状态,包括交易关闭及交易正常;同时订单还需要记录订单状态,包括已完成、未完成及已取餐。
(8)用户可以查询自己的订单。
(9)同一个订单可以订购多种菜品。
2.3设计原则和设计要求
2.3.1完整性原则
本文所要设计食堂远程下单系统,应该保障有完整性,因为系统是由各个功能子模块所组成,每一模块都是有特定的功能,所设计的系统,尽管由于资金、人力等限制,无法在短时间内将系统设计的那么完善,可是系统的功能是必须要完整的,菜品的订购,菜品搜索,菜品评价功能等,这些子功能模块都是不可或缺的,并且将这些功能尽可能的规范化,以便于后期的维护和升级。
2.3.2相关性原则
食堂远程下单系统是一个整体,尽管它是由各个功能模块所组成,各个子模块联系起来的。一旦某一个模块发生了变化,其他模块也会受到影响,所以在系统开发时,需要考虑到模块的相关性,把所设计的交易平台作为一个整体来考虑和设计。
2.3.3适应性原则
本文所设计的系统一定要能够适应用户的变化和环境的变化,系统在最初始设计时,就要对系统以后可能发生的变化和升级做好预算,为系统的升级留下足够的空间,这样才能使系统能够在校园内长期存在,以方便简洁的形式为校园服务。
2.3.4可靠性原则
所设计的系统必须具有可靠性,这样稳定运行的系统才会让用户觉得可靠,也让用户能够方便使用系统的功能,要求系统具有可靠性,那么就要使硬件可靠同时开发的软件也是可靠的,同时也要有可靠的安全措施来维护系统的功能。
2.3.5经济性原则
文中所提出的食堂远程下单系统,相对来讲是比较经济的。只是需要在开发的前期有一定的经济投入,一旦系统被运行起来,后期的维护就只需要很少的经济花费,同时,APP也可以通过对用户收取极少的额外费用(比如一单多收一角钱,打包饭盒都要一角五)和代言广告(可以在首页做广告)来维持APP日常费用,由于本APP是应用于学校的,不是以赚取利益为目的,只需要维护APP花费即可。
3. 设计概述
3.1系统结构模块图
3.2系统功能模块设计
在系统开发之前,所确定系统的主要功能模块共有4个主要部分,如下:
(1) 菜品管理模块
①菜品浏览模块——为用户提供详细的菜品清单,如菜品实物图、菜品名称、菜品价格、总销量、好评次数,可给用户借以参考所需要的菜品。
②菜品窗口模块——将学校北食堂三楼的菜品按照食堂窗口分为多个窗口模块,每个窗口模块中有相应窗口中的菜品,方便用户根据窗口快速找到自己想要的菜品。
(2) 用户管理模块
①注册/登陆模块——用户只有通过登陆才能进行食堂点单的操作,如果有账号则登陆,若无账号要进行注册,一旦注册成功就可以享受菜品的浏览、购买、点评等功能,它是该系统的入口。
②个人信息管理模块——为用户提供个人信息的修改和查看,如:修改头像、查看历史订单、查看收藏的菜品等。
(3) 订单管理模块
①交易模块——用户对自己的菜品进行管理,在订单信息中,用户需要确定自己所要购买的菜品名称、数量、价格、取餐时间及交易方式等,如有需要,还可以对自己购买的菜品进行备注,如口味方面和忌口方面。
②购物车模块——该模块包含在交易模块中,在这个模块里,可对菜品进行增加、删除的操作。
(4) 管理员管理模块
管理员管理模块——管理员可以发布、删除以及编辑app菜品的内容,因为北食堂三楼的菜品是实时更新实时变化的,方便用户接收到的菜品信息是最新信息。
3.3模块结构
(1) 菜品管理模块
①菜品浏览模块
②菜品窗口模块
(2) 用户管理模块
①注册/登陆模块
②个人信息模块
(3) 订单管理模块
①交易模块
②购物车模块
(4) 管理员管理模块
管理员管理模块
4. 界面设计
登录界面:
类型 |
名称 |
功能 |
备注 |
Edittext |
用户名 |
输入用户名 |
|
Edittext |
密码 |
输入密码 |
输入不可见 |
Button |
注册 |
跳转注册页面 |
|
Button |
登录 |
跳转到菜品页面 |
判断用户名是否存在于数据库和与密码是否匹配 |
Button |
找回密码 |
显示密保问题 |
|
注册界面:
类型 |
名称 |
功能 |
备注 |
Edittext |
用户名 |
输入用户名 |
|
Edittext |
密码 |
输入密码 |
输入不可见 |
Edittext |
确认密码 |
确认密码 |
输入不可见,需与密码相同 |
Edittext |
密保问题 |
自定义提示问题 |
|
Edittext |
密保答案 |
用于忘记密码时找回密码 |
|
Button |
提交 |
存储在数据库中,跳转登录界面 |
需先判断信息是否合理 |
菜品界面:
菜品
类型 |
名称 |
功能 |
备注 |
Listview |
窗口名 |
分类为各个窗口 |
点击可定位到各个窗口 |
Listview |
菜品 |
展示不同菜品 |
自定义item |
菜品item
类型 |
名称 |
功能 |
备注 |
Imageview |
菜品图片 |
展示菜品图片 |
|
Textview |
已售 |
展示已售份数 |
|
Textview |
价格 |
展示该菜品价格 |
|
ImageButton |
收藏 |
加入收藏 |
根据是否收藏改变图片 |
订单界面:
类型 |
名称 |
功能 |
备注 |
Listview |
已点菜品 |
展示已点菜品 |
|
Textview |
备注 |
备注其他要求 |
|
Timepicker |
取餐时间 |
取餐时间选择 |
仅能选择当前时间后十分钟及以后的营业时间 |
Button |
提交订单 |
提交订单到食堂并存储到订单数据库 |
根据是否收藏改变图片 |
我的界面:
我
类型 |
名称 |
功能 |
备注 |
Imageview |
头像 |
展示个人头像 |
|
Recycleview |
收藏 |
展示收藏图片 |
可横向滑动 |
Listview |
历史订单 |
展示最近十条订单 |
自定义item |
历史订单item
类型 |
名称 |
功能 |
备注 |
Imageview |
菜品图片 |
展示菜品图片 |
仅展示订单中第一项图片 |
Textview |
点单日期 |
展示点单日期 |
|
Textview |
菜品 |
展示菜品名称及份数 |
仅展示订单中第一项 |
底部导航栏
类型 |
名称 |
功能 |
备注 |
Imageview |
菜品页面图片 |
跳转菜品页面 |
在菜品页面显示红色,其余显示灰色 |
Imageview |
订单页面图片 |
跳转订单页面 |
在订单页面显示红色,其余显示灰色 |
Imageview |
个人页面图片 |
跳转个人页面 |
在个人页面显示红色,其余显示灰色 |
Textview |
菜品 |
跳转菜品页面 |
在菜品页面显示红色,其余显示灰色 |
Textview |
订单 |
跳转订单页面 |
在订单页面显示红色,其余显示灰色 |
Textview |
我 |
跳转个人页面 |
在个人页面显示红色,其余显示灰色 |
5. 系统接口设计
5.1用户接口
(1) 用户界面整体上选择比较简洁的风格,登陆注册界面为绿色外,其他页面以粉白为主。
(2) 系统有数据保护和缓存,用户操作可逆,可通过选择或滑动退回用户该操作前的界面。
(3) 登陆/注册功能:因为涉及到交易,必须需要验证学生证才能注册成功。
(4) 查询功能:用户可输入关键字查询所需的商品及相关信息。
(5) 加入购物车与支付:用户可将自己点的菜加入到购物车,选择完毕后进行支付。
5.2软件接口
(1) 运行于Android端。
(2) 功能的实现需要实现网上支付,如微信。
(3) 通信接口: 第三方支付平台。
5.3内部接口
客户端界面获取用户的各项输入,根据不同的操作请求进入相应的操作模块,每个操作模块获取用户的输入数据,服务端接受到数据后,利用协议头解析判断将数据分配给相应的模块进行处理,并将处理结果发送回客户端。各个服务端处理模块通过JDBC和数据库进行交互。
6. 数据库设计
6.1数据库需求分析
通过对食堂远程下单系统的内容和数据流图的分析,设计如下的数据项和数据结构。
(1) 学生信息,包括的数据项有:账号,密码,密保问题,密保答案,头像图片地址等。
(2) 菜品信息,包括的数据项有:名字,图片地址,窗口,口味,价格,点单次数,好评次数,差评次数等。
(3) 订单信息,包括的数据项有:订单号,价格,备注,取餐时间等。
6.2数据库逻辑结构设计
下面是本食堂远程下单系统的E-R图:
学生实体的属性如下:
菜品实体的属性如下:
订单实体的属性如下:
由以上ER图可以得出在该系统的数据库管理模块中相应的信息表如下:
学生 |
||||
字段名称 |
数据类型 |
说明 |
约束 |
备注 |
StudentID |
tinyint |
学生Id |
PK |
|
name |
string |
昵称 |
|
|
password |
string |
密码 |
|
|
myImage |
string |
头像地址 |
|
|
question |
string |
密保问题 |
|
|
answer |
string |
密保答案 |
|
|
菜品 |
||||
字段名称 |
数据类型 |
说明 |
约束 |
备注 |
FoodID |
Char(3) |
Id |
PK |
|
Foodname |
Nvarchar(20) |
菜品名 |
|
中文字符不超过10,英文字符不超过20 |
Foodaddress |
Varchar(30) |
图片地址 |
|
可变,最多30位 |
windowname |
Nvarchar(10) |
窗口名 |
|
中文字符不超过5,英文字符不超过10 |
flavour |
Nvarchar(20) |
口味 |
|
中文字符不超过10,英文字符不超过20 |
Price |
tinyint |
价格 |
|
|
Num |
tinyint |
订单次数 |
|
|
like |
tinyint |
好评次数 |
|
|
dislike |
tinyint |
差评次数 |
|
|
订单 |
||||
字段名称 |
数据类型 |
说明 |
约束 |
备注 |
orderID |
int |
订单号Id |
PK |
|
studentID |
int |
学生学号 |
FK |
|
dishID |
int |
菜品Id |
|
|
Price |
int |
价格 |
|
|
remark |
Nvarchar(200) |
备注 |
|
|
time |
smalldate |
取餐时间 |
|
|
学生关联菜品 |
||||
字段名称 |
数据类型 |
说明 |
约束 |
备注 |
ID |
int |
Id |
PK |
|
studentID |
int |
学生id |
FK |
|
foodID |
int |
菜品Id |
FK |
|
订单关联菜品 |
||||
字段名称 |
数据类型 |
说明 |
约束 |
备注 |
ID |
int |
Id |
PK |
|
orderID |
int |
订单id |
FK |
|
foodID |
int |
菜品Id |
FK |
|
以上是关于《食堂远程下单系统》设计规格说明书的主要内容,如果未能解决你的问题,请参考以下文章