设计模式课程大作业之订餐系统.doc

上传人:wj 文档编号:596225 上传时间:2023-04-29 格式:DOC 页数:7 大小:6.52MB
下载 相关 举报
设计模式课程大作业之订餐系统.doc_第1页
第1页 / 共7页
设计模式课程大作业之订餐系统.doc_第2页
第2页 / 共7页
设计模式课程大作业之订餐系统.doc_第3页
第3页 / 共7页
设计模式课程大作业之订餐系统.doc_第4页
第4页 / 共7页
设计模式课程大作业之订餐系统.doc_第5页
第5页 / 共7页
设计模式课程大作业之订餐系统.doc_第6页
第6页 / 共7页
设计模式课程大作业之订餐系统.doc_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

设计模式课程大作业之订餐系统.doc

《设计模式课程大作业之订餐系统.doc》由会员分享,可在线阅读,更多相关《设计模式课程大作业之订餐系统.doc(7页珍藏版)》请在冰点文库上搜索。

设计模式课程大作业之订餐系统.doc

设计模式文档

-订餐系统

姓名:

班级:

1113班

学号:

2011

小组:

第11组

大连理工大学

DalianUniversityofTechnology

一需求陈述

饭店点餐系统,包括三个部分,顾客点餐单元,厨师管理单元,管理员统计单元,服务员查看单元。

主要面向用户为顾客,厨师,管理员。

有助于节省人力,方便管理。

首先是顾客登录,这里分为普通顾客和VIP顾客,结账时普通顾客付全款而VIP顾客根据餐厅规定来进行相应的折扣。

顾客点餐主要放置在餐桌上,厨师管理模块在厨房,管理员统计模块在经理办公室,服务员查看模块摆放在大厅,所有模块访问同一台系统。

在顾客餐桌点餐模块,此模块供顾客使用,进入餐厅的用户选择某一空闲餐桌,餐桌上有点菜桌面,提供客户挑选菜肴,进入详细的菜品介绍模块后,可以在此菜品上根据个人喜好添加佐料,如加辣子、醋等,还可以添加不同的份数,将菜品加入菜单后可以编辑订单,详细地订单页面显示列用户当前所有的订餐和应付的钱数。

当用户确定订单后可以呼叫服务员,服务员输入自己的编号,收银,确认并打印订单。

在厨师管理模块,厨师可以查看订菜列表,按照列表做菜,对于已做好的菜的状态进行修改为已制作。

厨师还可以通过此模块向系统中添加新的菜色。

服务员查看已做好的菜及对应的桌号,送餐,并且将菜的状态置为已提供。

管理员模块,管理员可以统计总收入,可以统计每种菜的销量,可以估计用户的口味喜好。

与此同时我们的菜单还可以给出推荐搭配,优惠活动等。

同时订餐系统还要满足一定的性能需求,首先系统的反应速度应较快,系统界面应美观大方,风格统一,突出特色,功能设计应体现人性化思想,方便用户操作。

 顾客注册后需要登录系统需输入口令才能进行订餐服务。

 

对于管理员,在其查询订单的时候,可针对各种组合条件进行查询,而且查询效率要求高,能够及时相应查询请求。

 

另外,系统还应当满足信息的完整性以及系统的可扩展性。

二概要设计

由于项目是对订餐系统的模拟主要体现设计模式的思想,所以设计时并没有用到数据库,也没有相应的数据库设计。

首先是用例图,如下:

从图中可以知道顾客主要事件是编辑订单,确认订单和呼叫服务员;服务员主要负责收银,响应呼叫等;管理员在餐厅中制定活动,VIP折扣,推出优惠活动。

类图如下:

状态图如下:

时序图如下所示:

三个人任务描述

本次系统主要实现了五中设计模式:

food文件夹完成了装饰着模式;

ConnClient.Handle类完成了代理模式;

OrderList.DishLish类完成了单例模式;

CLient中的VIPUser和NorUser完成了访问者模式;

只要是有虚类,继承他的类基本都算是工厂模式比如说Client.TheClient;

在设计阶段我主要负责类图的设计(见概要设计),使用Visio2013工具画图;

代码实现阶段主要负责界面设计及实现和装饰着模式,完成了三个界面和food类的编写;

登录界面和菜单详情界面如下:

菜单列表界面:

由于没有使用数据库,菜单列表和详细地数据读取都在界面代码中进行了实现,

使用了C#中的Dictonary类进行列表项的添加,菜单类和菜品详情类如下,

Dictionarydic=newDictionary();

Dictionarycontent=newDictionary();

直接在里面添加成员如content.Add("香辣鸡","我国特产,风味十足.........");

当程序运行时可以直接读取。

Food类装饰者模式实现体现在对一种食物用户可以选择调味品,如加酱油,加辣子等,具体食物都继承自抽象的食物类体现了工厂模式,食物对象对象接受所有来自客户端的请求,它把这些请求转发给真实的对象。

食物类如下:

publicabstractclassDish

{

publicabstractvoidOperation();

}

所有食物都继承自Dish这个类如Material,这里不再列举其他,

publicclassMaterial:

Dish{

privatestringname;

publicMaterial(stringname){

this.name=name;}

publicoverridevoidOperation(){

DishName.SetNull();

DishName.MessStr=name;}

}

相同的调味品继承自Sauce这个类,而醋,辣子又继承这个调味品类同时完成对食物类的装饰。

publicabstractclassSauce:

Dish{

protectedDishdish;

publicvoidsetDish(Dishdish)

{

this.dish=dish;

}

publicoverridevoidOperation()

{

if(dish!

=null)

{

dish.Operation();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2