课程设计报告书(快餐店点餐系统)

巡山小妖精
750次浏览
2021年02月11日 20:59
最佳经验
本文由作者推荐

-

2021年2月11日发(作者:父亲的盾牌)




1




吉首大学信息科学与工程学院



课程设计报告书









程:



面向对象程序设计





题:



快餐店点餐系统








名:





静(登录界面设计,后期资料整理)



凌淑丽(前期需求分析)





亮(系统各功能模块设计)





佳(辅助编写系统各功能模块代码)








号:



从上至下依次为:


2


2

< p>


2



2







业:



计算机科学与技术









级:


2011





指导教师:



侯春明




基地指导教师:









何迎生
























一、项目介绍与设计目的





2


《面向对象程序设计》

< p>
课程设计是信息与计算科学专业集中实践



性环节 之一,是学习完《面向对象程序设计》课程后进行的一次全面


的综合练习。


本课程设计主要目的在于加深学生对面向对象程序设计


的基本理论和基本知识 的理解,


全面掌握面向对象程序设计思想的精


髓。




二、设计方案




1



、设计 内容





windows


为开发平台,以< /p>


Java


作为前台开发工具,完成一


个小 型软件的系统设计和开发。


根据学生的具体情况,


学生可以从以


下备选题目中选择一个,也可以自选题目,完成系统地分析、设计和

开发,提交完备的开发文档。



2



、快餐店点餐系统



1


、系统具备的基本功能:






根据所建议系统的业务流程图,分析出新系统的功能模块图:



用户登录








餐< /p>









< p>








2


、需求描述




2.1


.用户登陆


:


用户输入用户名 及密码后


,


系统自动验证有效性及用



2




3< /p>


户角色


,


根据用户拥有的角色自动进入不 同的子系统



2.2



客户点餐子系统


:


当客人落座后


,


服务员手持


IPAD


登陆点餐子系


统后,


首先输入相应的桌号,


然后由客 人根据不同的服务类别


(特价、


凉菜、热菜、汤、酒水、饮料) 选择不同的食物及数量,系统根据不


同的食物计算出总价格,


方 便客人控制总价格,


如果输入错误系统提


供删除的功能,最后提 交到后厨配餐子系统中


.


2.3


.配 餐管理子系统:配餐员或者厨师根据最新的配餐信息,按照


时间先后顺序配置食品,完成 后提交给结算管理子系统中



2.4


. 结算管理子系统:收银员根据服务员或者客人提供的桌号计算


出总价格,


客人如果提供会员卡或者会员号,


系统自动验证卡号及会


员身份并计算出相应的折扣及实付金额,


根据相应的金额出具对应的

< br>发票



2.5


.系统管理子系统 :经理登陆子系统后,上传菜谱,管理菜谱及


特价。在此子系统中,还实现了会员及用户 、留言、桌位的管理




< p>
3



、设计内容



设计系统:快餐店点餐系统。



3.1


系统用例图




3




4< /p>


System


用户登陆


用户






登录用例



System


客人点餐


服务员



点餐用例



System


厨师配餐


厨师



配餐用例




4




5< /p>


System


客人结帐


收银员

< p>


结算用例



Syste m


系统设置


经理



系统设置用例



3.2


系统模块设计



3.2.1


系统登录模块


< p>
在该模块中主要实现用户身份的验证以及角色的检查,根据用户


身份的不同 分别登陆到不同的子系统中。



3.2.2


系统点餐模块




本模块是系统的主要模块,在该模块中主要实现菜肴以及 酒水饮


料的点餐等功能,根据食品的分类把界面分为特价、凉菜、热菜、汤



5




6


类、酒水、饮料不同的区域以及点菜区域。



3.2.3


系统配餐模块


< p>
本模块面向的对象主要是厨师以及酒水饮料配餐员,实现的功能


是按照下餐 的时间先后顺序显示订餐列表,


厨师按照餐单的详细列表


配置不 同的食品及其他。每个餐单完成后系统提交到收银区。



3.2.4


系统收银模块


< p>
本模块面向的对象主要是收银人员,实现的功能是分别显示配餐


完毕后的餐 单,


客户就餐后提供桌号以及会员卡,


系统自动计算出优


惠金额以及实付金额,收款后系统自动更新数据库。



3.2.5


系统管理模块


< p>
本模块面向的对象主要是经理管理人员,实现的功能是有会员管


理,菜谱管 理、用户管理功能。



3.3


客户端系统目录结构



客户端目录结构按照模块的不同创建不同的文件目录,以便于文


件的管理 及今后的二次开发,截图如


3.19


所示:



6




7




3.19


系统目录



目录结构描述


:1:DianCan:


客户点餐模块


2:PeiCan:


食品配餐模块


3

< p>


JieZhang


:收银结账模块


4



Manage


:系统管 理模块


5



Images



系统图片。



3.4


系统类图设计



根据系统中的实体,一共设计


6


个类,具体见下图


3.20


所示


:



7




8




3.2 0


系统类结构图



详细描述如下:



1.T_CaiPu


菜谱类,该类中的属性及方法结构如


3.21

< br>所示


:



< br>3.21


菜谱类



T_CaiP u


类是用来描述系统中的菜谱实体,


其中的属性有


id(


菜谱


编号


)



c_name


(菜谱名称)

< br>、


c_Price


(菜价)


、< /p>


c_type(


类别


)

< br>、


c_image(


照片


)



is_Tejia(


是否特价

< p>
)



isEnable


( 是否启用)




2.T_User


用户类,属性及方法如图


3.22


所示


:



8




9




3.22


用户类



T_user


类用来描述系统使用者实体,其中的属性有


id(


记录编



)



userName


(用户名)



userPwd


(用户密码)



userRole


(用户角


色)


isEnable


(是否启用)




3.T_YiJian(


意见类< /p>


):


该类的属性及方法如图


3.23


所示:





3.23


意见类



T_YiJian


类是用来描述客户意见的实体,其中的属性有


id(


意见


编号


)


HJ_YJ


(环境意见)



FW_YJ


(服务意见)



FC_YJ


(饭菜意见)



K H_LY


(客户留言)



< p>
4.T_Member(


会员类


):


该类的属性及方法如图


3.24


< br>



9




10



图< /p>


3.24


会员类



T_Member


类是用来描述客户级别的实体,其中的属性有


id(


会员


编号


)

< br>、


member_Name


(会员名称)



type_id


(会员级别编号)

< br>、


isEnable


(是否启用)




5.T_CanDan


(餐单类 )


:


该类的属性及方法如图


3.25:




3.25


餐单类



T_CanDan


类是用来描 述客户菜单的实体类,


其中的属性有


id


(菜


单编号)



desk_HM


(桌位号)



xf_je

< br>(消费金额)



member_id(

< br>会员


编号


)


< br>isJieZhang


(是否结账)


< br>xf_date


(消费日期)



state


(配


餐状态)


< p>


6.T_Can_MingXi(


餐单明细


)



:


该类的属性 及方法如图


3.26




10




11


示:





3.26


餐单明细类



T_Can_MingXi


类是用来描述菜单明细的 实体,其中的属性有


id


(记录编号)



can_id(


菜单编号


)



cai_id(


菜谱编号

)



cai_SL


(份

< p>
数)



cai_JE


(每 类菜的金额)




3.5


主要模块设计



3.5.1


登录模块设计


< p>
登陆模块的功能就是验证用户名及密码是否有效,如果有效则再


判断角色编 号值(


1


:服务员角色


2


:厨师角色


3


:收银员角色


4


:管


理员角色)


,根据不同的角色打 开不同的窗口,该模块实现的前置条


件是设置正确的服务器地址以及服务器处于启动状态 ,


输入输出数据


如表


3.27


所示:



数据



数据输出类




用户名




数据类型



约束



输入



字符串类型



4-10


位的字母


11




12


组成



密码



输入



字符串类型



4-6

< br>位的数字


组成












3.27


登陆模块输入输出数据



具体实现代码如下所示:



//


用户名



string un = _();


//


密码



string pwd = _();



//


判断用户名及密码是否为空



if (address ==


(


用 户名、密码、地址不能为空



else


{


//


判断用户名是否是字母及长度在


4 --10




if (!h(un,


{


(


不是字母或者长度不够



return;


}



12




13


else if (!h(un,


{


(


请输入


4-6


位的数字



return;


}


dc = (address);


//


返回数据库中的最新更新



// dc = Dc(dc.T_user);


IQueryable t_user = dc.T_user.


Where(u => me == un && d == pwd);


if (t_user!=null&&t_()==1)


{


();


if (t_().userRole == 1)


{//


打开点餐窗口



MainMenu mm = new MainMenu();


();


}


else if (t_().userRole == 4)


{


//


打开管理员



age frmManage = new age();


();



13

-


-


-


-


-


-


-


-