首先,银行业务调度系统的需求如下:
1、银行内有6个业务窗口,其中1-4号为普通窗口,5号为快速窗口,6号为VIP窗口
2、有三种类型对应的客户:普通客户、快速客户(如办理交水电费的客户)、VIP客户
3、异步随机生成各种类型的用户,生成各用户的概率比例为:普通客户:快速客户:VIP客户 = 6:3:1
4、客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小值
5、各类型客户在其对应窗口按顺序依次办理业务
6、当VIP窗口和快速业务窗口没有客户等待办理业务的时候,这两个窗口可以处理普通客户的业务,而一旦有对应的客户等待办理业务的时候,则优先处理对应客户的业务
7、随机生成客户时间间隔以及业务办理时间最大值和最小值自定,可以设置。
8、不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。
通过对需求的分析,可以抽象出以下的概念(自己版):
1、普通窗口、快速窗口和VIP窗口都是窗口,窗口都可以办理业务