网上订餐系统详细设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网上订餐系统详细说明书
1.引言 (2)
1.1编写目的 (2)
1.2项目背景 (3)
1.3术语定义 (3)
1.4参考资料 (3)
2.程序系统结构 (3)
3.程序设计说明 (4)
3.1总体设计说明 (5)
3.2程序功能描述 (5)
3.3性能描述 (5)
3.4 输入项 (5)
3.5输出项 (6)
3.6算法 (7)
3.7流程逻辑 (8)
3.8接口 (10)
3.9存储分配 (10)
3.10注释设计 (10)
3.11限制条件 (10)
3.12测试设计 (11)
3.13尚未解决的问题 (11)
1引言
1.1编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成
系统的详细设计,并且明确系统的详细设计模块和用例需求。
在软件设计阶段主要是把一个软件需求转化为软件表示的
过程,这种表示只是描绘出软件的总的概貌。详细设计说明
书的目的就是非常细化软件设计阶段得出的软件所有模型,
把它加工成在程序细节上非常接近于源程序的软件表示.
1.2背景
随着人们生活水平的提高,外出就餐的机会随之增多,餐馆的营业额势必会增加,特别是一些大型餐饮店,不可能再像以前一样用手工去记录,这样不仅容易出错,而且效率还低,影响餐馆业的营业现状,正是在这种状况下我们提出做这样一个系统来。总之为了现代化餐馆发展的需要,我们有必要做这样一个系统来提升我们的工作效率。
手机记录不仅记录慢,而且预约登录很快就变得难以理解,这就很有可能导致经营上的问题。没有备份系统,如果一张单据损坏了,餐馆就没有了那个晚上的记录,倘若某一天预约很多,如果另有人预约,找一张空的桌子都要很长时间,这样处理速度就会变慢。由于这些原因,餐馆需要开发这样一个自动化的预约定餐系统,新系统应该和现有系统一样能够显示预约和预约到达显示,当有更改应该能够及时更新,使得处理速度变快。点菜和结帐更能使工作效率有很大的提高,而且这样出错的机率也会大大降低,提升了准确性。能及时的更新也提供了很好的及时性。
1.3定义
餐馆订餐系统是一款集处理接受、取消顾客预订,接受散客就餐,编辑菜单菜价,结账汇总等功能为一体的现代化餐馆辅助软件,自带
密码登陆,加锁解锁等辅助功能,增强了软件本身的安全性,是中小型餐厅及饭店的不二选择。
1.4参考资料
《JA V A2 核心技术 第一卷 基础知识》 机械工业出版社 《数据结构和算法基础》 大连理工大学出版社 《面向对象设计和UML 第2版》 清华大学出版社 《数据库系统概念》 机械工业出版社 《关系数据库基础和实践教程》 电子工业出版社 2程序系统结构
本程序使用B/S 架构并使用了四层逻辑结果,使该程序具有很好的可读性和直观性,具体的图示如下面的图(1)所示
以下为用户整体订餐流程图,也是我们的核心工作流程图,如图2所示
图2
订餐系统顶层数据流图 我们的核心工作流程为订餐,为了给用户一个更好的订餐享受,我们添加了很多增加用户体验的工作,提高了订餐的效率,并且给用户一个更好的享受。
餐厅管理系统
客户 客服人
员 订餐
员 订餐 系统
3系统设计说明
3.1总体设计说明
本项目通过建立一个基于互联网的订餐平台,为订餐的用户和管理者提供不同的服务,其中,订餐的用户能够通过此平台来进行菜色浏览,订餐和提交订单,他的整体结构如下图:
3.2程序功能描述
该程序主要是实现用电脑实现预约定餐、预约到达、未约到达就餐、点菜和结账功能,当然在定餐的基础上可以取消预约,在未就餐之前还可以退餐,对于这其中的问题,我们都给出很仔细的处理,也许这些都是比较小的细节,但是这些我们都做得很细,以方便餐馆进行管理。
3.3性能描述
3.3.1准确性和及时性
对于该系统,当用户进行某一项操作,其响应时间应该在一定可以接受的范围内,太慢的话就会显得很不适用。当新增一个预约或其它操作时应该能够在主GUI上面能及时的显示出来,而不能有太多的
延时,因此我们采用了观察者模式以能及时更信息,当随着日期的改变时所有的信息也应该跟着的变化。由于要读写数据库,因此对电脑的配置也有一定的要求,太差的话可能导致反应很慢。
3.3.2系统安全性
对于ACCESS数据我们进行了加密,当然BOSS有权知道这个密码,对于使用该用户的操作员也要知道一个用户名和密码才能登录使用,也许这样还是不能满足需要,如果操作员稍为离开一会儿,难道为了不让人不经意或有意修改数据内容,就要关闭整个程序吗?不用这里我们提供了一种锁机制,当用户要稍为离开时可以选择锁定系统,此时任何人要想再使用户就必须知道当前登录用户名的密码才能恢复系统,具体见以下截图:
3.3.3可操作性和易维护性
本程序采用JA V A SWING GUI 编写,易看易懂的界面,操作也相当简单,只要是能熟练使用电脑的人都能熟练的上手。
3.4输入项
●新增预约:姓名、地址、电话号码、日期
●点菜:根据菜单选菜
●添加菜名和酒水:菜名、价格
●删除菜名和酒水:菜名
3.5输出项
●完成订单:客户姓名、联系电话、客户地址
●取消订单:要取消的订单号、原订单的时间
●结账:姓名、电话、日期、应付款
3.6算法
int i;
一页显示的记录数= 10;
取得待显示页码
PageSet : strPage = page;
if(strPage==null)//page参数为空时,此时显示第一页数据
{
待显示页码 = 1;
}
else{
待显示页码 = Integer.parseInt(strPage); //将字符串转换成整型
if(待显示页码<1) 待显示页码 = 1;
}
执行SQL语句并获取结果集
ResultSet rs = sqlStmt.executeQ uery("SQL”);
获取记录总数
st();
记录总数 = rs.getRow();
记算总页数
总页数 = (记录总数+设置一页显示的记录数-1) / 一页显示的记录数; 调整待显示的页码
if(待显示页码>总页数) 待显示页码 = 总页数;
// 分页情况分类
//选择向上翻
if(待显示页码>1)
{
选择向上翻一页传递参数pageda=待显示页码-1 goto PageSet;
}
//选择向下翻
if(待显示页码<总页数)
{
选择向下翻一页传递参数pageda=待显示页码+1 goto PageSet;
}
If(选择到尾页)
{
选择到尾页传递参数pageda=总页数goto PageSet;