当前位置:文档之家› 网上订餐系统详细设计说明书

网上订餐系统详细设计说明书

网上订餐系统详细说明书
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;
}
页次=待显示页码 / 总页数页 ;
if(总页数>0){
将记录指针定位到结果集的第一条记录上((待显示页码-1) * 一页显示的记录数 + 1);
i = 0;
while(i<一页显示的记录数 && 数据库指针不在结果集尾部){
输出要分页显示的数据库中的内容;
将数据库指针移动到当前行的下一行;
i++;
}
}
3.7流程逻辑
3.8接口
3.8.1用户接口 餐馆订餐系统GUI 及内部处理模块均采用JA V A 实现,顾客就餐信息均由键盘输入,系统提供菜单及菜单的编辑功能,结账模块提供顾客消费额。

由于本系统采用JA V A 实现,所以只要预装JVM 的终端都能运行此系统,移植性极高。

由于出于学习目的,数据库采用MS ACCESS ,故Linux 及Unix 系统用户需要另外配置数据库。

3.8.2其它软硬件接口 ● 软件接口:本系统提供了供其它软件使用的函数,以达到软件的复用性。

● 硬件接口:本系统通过JVM 和底层硬件层交流。

● 硬件之间接口:本系统现版本暂时只为单机版,故不考虑终端之间的交互。

3.8.3各个模块之间接口
本系统数据交互层通过DBConnection 类和数据库进行数据交互,主要包括数据插入、
删除、更新等操作。

DBConnection 类提供了一个接口给上层的Restaurant 类及BookingSystem 进入系统主界面
浏览管理员登录 用户注册 用户登录 食品搜索
选购 加入购物车 去收银台 账号管理
订单维护 类别管理 信息维护 会员维护 更改资料
结账退出 订餐信息
操作页面
订单号
数据库 注销登录
类,MainTable类对BookingSystem类有一个引用,每个功能模块,包括登陆、解锁、结账、点菜、添加删除订单、都有一个对BookingSystem类的引用,即BookingsSystem类提供了一个公共接口,并且可以说是整个系统的核心。

本系统整体采用的模式为观察者模式,被观察者为BookingSystem类,观察者为MainTable类,当BookingSystem类有所变化时,MainTable类就会自动及时更新,并将更新后的信息显示给用户。

3.9存储分配
无特别存储分配的需要。

3.10注释设计
采用的是程序说明性注释。

3.11限制条件
本模块在运行使用中无特别限制条件。

3.12测试计划
本模块针对用户订餐信息在测试时要求对测试输入数据到数据库,同时能够在外部查询得到准确的读出数据。

3.13尚未解决的问题
对数据库的链接。

相关主题