基于ARM的电子点菜系统.docx
《基于ARM的电子点菜系统.docx》由会员分享,可在线阅读,更多相关《基于ARM的电子点菜系统.docx(13页珍藏版)》请在冰豆网上搜索。
![基于ARM的电子点菜系统.docx](https://file1.bdocx.com/fileroot1/2023-1/27/201c1157-220a-43f8-9ebd-a700c5a2f6bd/201c1157-220a-43f8-9ebd-a700c5a2f6bd1.gif)
基于ARM的电子点菜系统
课程实验报告
基于ARM的电子点菜系统
Version :
1.0.0
2010-07-09
DOCUMENTHISTORY
Ed.
Version
Author
Change
1
1.0.0
郭昊云
Initial
目录
1项目概述3
1.1项目名称3
1.2项目主要功能3
2项目需求规格3
3系统设计描述4
4系统功能测试4
5项目及课程总结4
6参考资料5
1项目概述
1.1项目名称
名称:
基于ARM的电子点菜系统
1.2项目主要功能
系统实现了如下主要功能:
(1)是一个能够为客户查看菜单,点菜,删菜提供高度支持的系统;
(2)包括记录菜单信息的能力,能够进行订单跟踪;
(3)保留合适的数据库和历史信息,支持市场分析;
(4)为客户查询提供客户交易历史记录;
(5)保留历史记录,支持销售分析和预测市场需求。
2项目需求规格
该系统主要有两个使用者,一个是用户,一个是管理员,下图是系统的用例图:
功能点:
●客户浏览菜单中菜的信息,这些信息要能全面的显示各个菜的价格以及口味,特色等
●客户选中自己喜欢的菜放入已选菜单
●客户删除已选菜单中不想要的菜
●系统计算消费额并显示给客户
●客户浏览自己已选中的菜,并最终确认点菜
●系统收到确认点菜的信息后,就将已点好的菜单保存
●客户提出特殊的要求,如忌口等,系统记录这些信息并保存进数据库
●系统将保存好的菜单在超级终端显示出来,以供厨房使用
●系统在超级终端提示客户的特殊要求,以提醒厨房
●管理员往菜谱中添加新菜的信息
●管理员修改菜谱中已有菜的信息
●管理员删除菜谱中无效的菜的信息
●客户搜索指定菜的信息
●点菜成功后,超级终端打印客户消费的账目明细
●客户对本次消费过程进行评价,系统保存客户的评价
3系统设计描述
给出系统的解决方案,并证明该方案可以满足需求规格的要求
根据需求规格的要求,给出以下系统的解决方案:
电子点菜系统共分成客户端、数据库、服务器端三个子系统,其功能模块结构如图所示:
用户在客户端操作的流程图,如下所示:
数据流图:
顶层数据流图:
一层数据流图:
根据项目需求规格中的定义,设计出描述了系统中所要进行的几个主要活动及它们之间约束关系的活动图:
4系统功能测试
结合需求规格来指明测试环境如何配置,并与需求规格中的具体功能点描述一一对应来写测试用例
结合需求规格配置如下测试环境:
A、系统的硬件:
ARM的2410S开发板PC、机
B、操作系统:
UC/OS2的嵌入式操作系统
C、开发软件:
在QTOPIA上开发用户界面,先将电子点菜谱在主机上搭建软件平台并在软件
上去实现它的功能,使用数据库查询和链接技术,菜单通过2410S开发板的LCD
显示,分级菜单模式。
结合需求规格中的功能点描述编写以下功能测试用例:
用例编号
001
功能A描述
客户浏览菜单中菜的信息,这些信息要能全面的显示各个菜的价格以及口味,特色等
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0011
选中一个菜名
显示该菜相应的信息
显示正确
成功
用例编号
002
功能A描述
客户选中自己喜欢的菜放入已选菜单
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户发现自己喜欢的菜,想存入已选菜单
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0021
选中一个菜
相应的菜被存入已选菜单
存储成功
成功
用例编号
003
功能A描述
客户删除已选菜单中不想要的菜
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户发现自己已选的菜中,有不想要的菜
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0031
删除一个已选中的菜
相应的菜被从已选菜单中删除
删除成功
成功
用例编号
004
功能A描述
系统计算消费额并显示给客户
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户提交菜单后
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0041
客户提交菜单
显示消费额
消费额显示正确
成功
用例编号
005
功能A描述
客户浏览自己已选中的菜,并最终确认点菜
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户选好菜后
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0051
客户点确认提交菜单
菜单成功提交
菜单提交成功
成功
用例编号
006
功能A描述
系统收到确认点菜的信息后,就将已点好的菜单保存
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户已提交菜单
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0061
客户点确认提交菜单
菜单成功保存入数据库
菜单保存成功
成功
用例编号
007
功能A描述
客户提出特殊的要求,如忌口等,系统记录这些信息并保存进数据库
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户已提交菜单
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0071
客户提出特殊要求
特殊要求保存入数据库
特殊要求保存成功
成功
用例编号
008
功能A描述
系统将保存好的菜单在超级终端显示出来,以供厨房使用
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户已提交菜单
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0081
客户提交菜单
超级终端显示菜单
超级终端显示菜单
成功
用例编号
009
功能A描述
系统在超级终端提示客户的特殊要求,以提醒厨房
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户提出特殊要求,并且特殊要求已存入数据库
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0091
客户提出特殊要求
超级终端显示客户的特殊要求
超级终端显示特殊要求
成功
用例编号
0010
功能A描述
管理员往菜谱中添加新菜的信息
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,餐厅有了新的菜色,需要加入菜谱
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0101
管理员往菜谱中添加新菜的信息
新菜添加成功
新菜添加成功并能显示
成功
用例编号
0011
功能A描述
管理员修改菜谱中已有菜的信息
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,餐厅需要修改菜谱中菜的信息
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0111
管理员修改菜谱中菜的信息
菜的信息修改成功
菜修改成功并能显示
成功
用例编号
0012
功能A描述
管理员删除菜谱中无效的菜的信息
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,餐厅需要修改菜谱中菜的信息
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0121
管理员删除菜谱中无效菜的信息
无效的菜删除成功
无效的菜删除成功
成功
用例编号
0013
功能A描述
客户搜索指定菜的信息
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户有需要的菜搜索
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0131
输入一个菜名
显示该菜的信息
搜索的菜的信息显示成功
成功
用例编号
0014
功能A描述
点菜成功后,超级终端打印客户消费的账目明细
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户已提交菜单
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0141
客户提交菜单
打印出客户消费的账目明细
客户消费的账目明细打印成功
成功
用例编号
0015
功能A描述
客户对本次消费过程进行评价,系统保存客户的评价
用例目的
测试该功能是否实现
前提条件
在电子点菜系统下,一切软件硬件环境就绪的条件下,客户有已提交菜单
子用例编号
输入/动作
期望的输出/相应
实际情况
状态
0151
客户在系统中输入对本次消费过程的评价
显示评价已收到,对客户表示感谢
评价已收到,对客户表示感谢
成功
5项目及课程总结
在本次项目中,我们实现了电子点菜系统的基本框架,但是由于受到硬件条件的限制,在数据库容量方面没有达到需求规格中的要求,但是我们还是通过这次项目学到了很多知识,尤其是在软件工程的文档搭建方面收获很大,使我们从以前单纯的进行代码编写的学生式的开发模式转变成从设计到开发到测试的系统的工程开发。
这对我们今后的学习工作都有积极的促进作用。
本课程实验训练的步骤为:
SetupWorkSpace-->ProjectPlanning-->RequirementAnalysis-->SystemDesign-->TestPlanandTestReport-->课程实验报告。
这个步骤正是软件工程项目开发的步骤,因此,我们在完成课程实验的同时,体验了软件工程这门理论课程在实际应用中的作用,达到了在实践中获得经验教训的效果。
通过一个学期的学习,这门课给我留下了深刻的印象,使我更进一步理解了软件工程这门学科的意义,同时也使我了解到它在软件行业的重要作用,最重要的,是我掌握了设计阶段和测试阶段的一些必要的技术,相信在今后的工作中一定会有广泛的应用。
最后,我想对本门课程提出一个小小的建议:
在实验的过程中,虽然老师对所有的学生进行了分组,但由于并没有小组合作完成的任务,所以导致了小组成员之间的交流有限,通过对软件工程这门课程的学习,我了解到软件开发过程中分工合作是很重要的,一个项目组的组织架构是否合理决定了一个项目的进度快慢甚至是成败,所以,我建议在今后开展这门课的时候要多布置一些小组合作完成的任务,这样不仅可以使我们在学习过程中模拟具体实践中的组织架构以及分工,还能使我们锻炼出良好的团队精神,相信这一定是一个一举多得的好方法。
6参考资料
【1】《数据库技术与Access应用教程》刘瑞新,程志云等编著,机械工业出版社2009.09【2】《嵌入式实时操作系统ucosII第二版》邵贝贝翻译,北京航空航天出版社2007-9-1
【3】《ARM9嵌入式系统设计—基于S3C2410与Linux》,徐英慧等著,北京航空航天大学出版社,2007年9月第一版
【4】《深入理解Linux内核(第三版)》,(美)博伟等著,中国电力出版社,2007-9
《Qtopia编程之道》,苗忠良,清华大学出版社,2009-1