酒店点餐系统开发详解(二)

酒店点餐系统开发详解

 

——系统分析

 

一个好的系统,必须要进行完善而且全面的系统分析。系统分析做好了,那就能够指导项目良好地发展下去。当然,系统分析需要以需求分析为基础,不过,在本项目中并未做仔细的需求分析,故在此不谈。

在本项目中,我们之所以能够有计划地进行下去,的确也是缘于良好的系统分析,如若省略这一步直接编程,那难度必然加大,以至于在编程过程中又不得不回过头来进行系统分析,此时必然拖慢进度,打乱整个系统逻辑,其最终的成品也充满变数。我曾经做过而且到现在仍未完成的一个项目,这是我做的第一个有界面的较大的项目,以前也只是用C写些小程序,在DOS中显示些字符而已。这个项目已经进行了1年半了,版本也修改了几次,甚至是版本号回退,功能也是几经添加、修改,最后成了一个“烂尾楼”。之所以会出现这种情况,其一在于自己对MFC这套东西不太熟悉;其二就是没有做好系统分析。连系统应该具有些什么功能都没搞清楚,模块之间的联系也没分清,又怎么能做出一个好的系统呢?这绝对不是写一个算法就完事的小程序,项目成功进行下去的关键是弄清楚要做什么,而不是怎么做。至于怎么做,在刚开始时则不用太在意,因为俗语有云:没有做不到,只有想不到。这句话是有道理的。

进入正题。首先,我们得确定使用这个系统的用户应该有顾客、厨师、管理员(包括收银员,只是其权限有限制)。顾客和管理员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;厨师则为系统数据的终点,因为最终的任务分配情况是反映到厨师身上的。整个系统的关键任务就是保证顾客所点菜品能够由厨师完成,系统保证能将做菜任务准确无误地传达给厨师。从而所得顶层数据流图如下:

 

进一步拆解顶层数据流图:顾客通过顾客(点餐)终端进行点菜操作,管理员则是通过系统管理端进行管理,厨师则是按厨师(任务分配)终端的分配要求去做菜的。故得到第一层数据流图如下:

 

为了使数据流图简单、明了,故省去了三大模块通信的具体流动过程,我将在下一节内容中将三者的通信过程单独进行讲解。

好了,至此整个系统初具“胎形”,下面应该构造其“内脏”了。

顾客终端需要做些什么呢?点菜?这当然是最基本的。还应该有什么呢?对了,我们还可以加上一个评分的功能,这样才能知道某厨师的哪道菜比较受欢迎,并为顾客提供一些选择上的建议。当然,评分是可以省略的。得到第二层——点评菜品 数据流图如下:

 

然后就是系统管理了。系统管理所要做的包括:账户管理、菜品管理、厨师管理、收银、销售统计,我并未将登录操作包括其中,因为这并非重点。得到第二层——系统管理 数据流图如下:

 

似乎还缺点什么,对了,还没有加入表呢。把各部分所涉及的表加入数据流图中就完成点餐系统的数据流图了。具体如下:

 

最后,把各表的结构图贴出来,为了简单,本系统只将所涉及的关键属性加入表中,你完全可以根据需要向其中加入一些附加的属性,下面为各表结构:

1、管理员表:

 

2、菜品表:

 

3、厨师表:

 

4、点菜表:

 

5、做菜表:

 

6、销售统计表:

 

7、拿手菜表(做菜表视图):

 

 

数据库关系图如下:

源代码下载地址:http://download.csdn.net/source/2406335 标题有误,请见谅...

你可能感兴趣的:(项目设计)