酒店点餐系统开发详解
——系统分析
一个好的系统,必须要进行完善而且全面的系统分析。系统分析做好了,那就能够指导项目良好地发展下去。当然,系统分析需要以需求分析为基础,不过,在本项目中并未做仔细的需求分析,故在此不谈。
在本项目中,我们之所以能够有计划地进行下去,的确也是缘于良好的系统分析,如若省略这一步直接编程,那难度必然加大,以至于在编程过程中又不得不回过头来进行系统分析,此时必然拖慢进度,打乱整个系统逻辑,其最终的成品也充满变数。我曾经做过而且到现在仍未完成的一个项目,这是我做的第一个有界面的较大的项目,以前也只是用C写些小程序,在DOS中显示些字符而已。这个项目已经进行了1年半了,版本也修改了几次,甚至是版本号回退,功能也是几经添加、修改,最后成了一个“烂尾楼”。之所以会出现这种情况,其一在于自己对MFC这套东西不太熟悉;其二就是没有做好系统分析。连系统应该具有些什么功能都没搞清楚,模块之间的联系也没分清,又怎么能做出一个好的系统呢?这绝对不是写一个算法就完事的小程序,项目成功进行下去的关键是弄清楚要做什么,而不是怎么做。至于怎么做,在刚开始时则不用太在意,因为俗语有云:没有做不到,只有想不到。这句话是有道理的。
进入正题。首先,我们得确定使用这个系统的用户应该有顾客、厨师、管理员(包括收银员,只是其权限有限制)。顾客和管理员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;厨师则为系统数据的终点,因为最终的任务分配情况是反映到厨师身上的。整个系统的关键任务就是保证顾客所点菜品能够由厨师完成,系统保证能将做菜任务准确无误地传达给厨师。从而所得顶层数据流图如下: