银行业务模拟系统分析_银行业务系统分析
银行业务模拟系统分析由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“银行业务系统分析”。
银行业务模拟系统分析
需求分析:
前提,这是一个业务仿真系统,所以程序的模拟情况越贴近真实情况,程序才越成功。所以在程序的框架设计上要尽可能的贴近事实,包括设立几个类,类之间是怎样的组合和依附的关系。
其次,这是一个模拟系统。模拟,就是说从外界表象来看的东西尽管是透明的,但是对于程序的编写者来说是已知的,是可控的。因为,模拟量是由你来给定的,模拟情况是你进行设计的。反过来说,对于程序的使用者来说,程序的一些处理过程也是透明的。
程序框架分析:
建立银行类.(顾客数,开设窗口数,业务数)
此处要注意区别 类和结构体的异同。在使用的功能来看,二者区别甚微。但是,一个
好的程序,就应该区别任何细小的问题。类主要实现信息的封装,留给外界接口去实现别的功能,可扩展性。而结构体就不过分强调这样的问题。将一些相关信息结合,方便数据的使用和管理。
所以 顾客 就可设为结构体,也减少了使用类而引起的数据访问受限的问题。
窗口 和服务 设为类?(考虑其扩展性)
Custom(到达时间,等待时间,业务,办理业务时间)
Service(服务类型,服务时间)
Window(顾客计数器,办理业务时间计数器,各项业务计数器)
流程分析
1.银行开启:完成银行各项数据的初始化工作,给出正态分布的顾客到达时间。只要到达时间早于关闭时间,银行就会处理完毕。
2.顾客到达:处理每个顾客到达后的工作
(1)打印序号单(序号,业务类型,到达时间)。
(2)检查是否有窗口空闲(程序员为其指定窗口号码),否则进入等待队列,直到有窗口空闲,队头顾客出队交由窗口处理。(从另一角度来看,顾客到达银行取号后即进入了4个窗口队列中进行等待,程序员分配的原则是每次将新到达的顾客插入最短的窗口队列中。值得注意的是,这个最短,也是动态的,不是人数最少,而是时间最短???)
&窗口的是否空闲 其实是窗口队列减少的等待过程???????
(3)窗口处理:窗口设立接待顾客计数器,4种业务的计数器和窗口工作时间计数器(即下一个顾客到达窗口之前的等待时间),产生顾客的业务办理时间。由此可以计算出每位顾客的逗留时间(办理业务时间+等待时间)。
(4)窗口非空闲时,顾客入队等待。每次队头出队。(直到队列空时,处理完毕)注意:考虑顾客到达时间 间隔很短 和 较长 的特殊情况。
(5)银行关闭:
银行进行各项结算,总人数,总逗留时间,人均逗留时间。每个窗口处理的每项业务数,客户数。