移动用户资费统计系统
【项目需求】
模拟实现简易的移动用户资费统计系统逻辑,具体需求如下:
移动运营商A设置两种类型的用户:普通用户及VIP用户,现该运营商已有5个VIP用户和15个普通用户,共计20个用户。
普通用户资费标准如下(不考虑漫游和长途):
【基准资费】
无月租费用。
通话费:0.6元 / 分钟(仅拨打收费,接听免费)
短信费:0.1元 / 条
数据费:5元/ M
【优惠套餐】
话费套餐 :月功能费 20元,最多可拨打60分钟电话,超出时间按照0.5元/ 分钟计费。
短信套餐 :月功能费10元,最多可发送200条短信,超出条数按照0.1元/ 条计费。
数据套餐 :月功能费20元,最多可获50M的流量,超出流量按照3元 / M计费。
注:用户可以选择多种套餐,各功能(通话、短信、数据)计费时,如已选择对应套餐,则按套餐标准计费;如未选择对应套餐,则按对应的基准资费计费。
VIP用户资费标准如下(不考虑漫游和长途):
【基准资费】
月租费用:按天收取,2元 / 天
通话费:0.4元 / 分钟(仅拨打收费,接听免费)
短信费:0.1元 / 条
数据费:3元/ M
【优惠套餐】
套餐1 :月基本费用 100元(无月租费用),提供如下服务:
① 最多可拨打750分钟电话,超出部分按照0.3元 / 分钟计费。
② 最多可发送200条短信,超出条数按照0.1元 / 条计费。
③ 最多可获得100M数据流量,超出流量按照1元 / M计费。
套餐2 :月基本费用 200元(无月租费用),提供如下服务:
① 最多可拨打2000分钟电话,超出部分按照0.2元 / 分钟计费。
② 最多可发送500条短信,超出条数按照0.1元 / 条计费。
③ 最多可获得300M数据流量,超出流量按照0.5元 / M计费。
注:用户最多只能选择一种套餐,如未选择任何套餐,则按照基准资费计费。各类型用户只能选择提供给本类型用户的套餐。
【新用户入网】
① 对于新入网的普通用户,入网当月赠送如下服务:免费拨打60分钟电话,免费发送200条短信,免费获得50M流量。超出赠送的部分按照普通用户基准资费进行计费。
② 对于新入网的VIP用户,入网当月赠送如下服务:免费拨打200分钟电话,免费发送200条短信,免费获得100M数据流量。超出赠送的部分按照VIP用户基准资费进行计费(注意:需按入网天数计算月租费用)。
每月为用户计算一次账单,用户订制的套餐信息和账单信息采用文件方式进行存储(提示:可使用java中的Properties API进行文件操作)。
用户可自由订制或退订所属用户类型的套餐,并从下月起生效。
【异步随机生成客户操作如下】:
① 拨打电话,每次拨打时长为1至10分钟不等(随机决定,以分钟为单位)。
② 发送短信,每次发送条数为1至10条不等(随机决定)。
③ 上网获取数据,每次获取数据流量可为50K,100K,200K, 500K,1M(随机决定)。
④ 订制或退订相应套餐。
⑤ 新用户入网(随机决定用户类型)。
注:随机生成客户操作时间间隔自定,可设置。不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。
银行业务调度系统
当我们去银行取钱时,首先是去取票机上取一张小票,然后在等待区等待呼叫机叫号,如果叫的是自己手中小票上的号,说明轮到自己办理业务了。可当自己看了张老师讲的银行业务调度系统的视频后,让我更清楚的了解银行的业务流程。
下面结合张老师提供的案例分析银行业务调度系统:
系统需求:
(1) 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。
(2) 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。
(3)异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户 = 1 :6 :3。
(4) 客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小值(提示:办理业务的过程可通过线程Sleep的方式模拟)。
(5) 各类型客户在其对应窗口按顺序依次办理业务。
(6) 当VIP(6号)窗口和快速业务(5号)窗口没有客户等待办理业务的时候,这两个窗口可以处理普通客户的业务,而一旦有对应的客户等待办理业务的时候,则优先处理对应客户的业务。
(7)随机生成客户时间间隔以及业务办理时间最大值和最小值自定,可以设置。
(8)不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。
交通灯管理系统
模拟实现十字路口的交通灯管理系统逻辑。详细需求例如以下:
-
异步随机生成依照各个路线行驶的车辆。
比如:
由南向而来去往北向的车辆 ---- 直行车辆
由西向而来去往南向的车辆 ---- 右转车辆
由东向而来去往南向的车辆 ---- 左转车辆 -
信号灯忽略黄灯,仅仅考虑红灯和绿灯。
-
应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。
-
详细信号灯控制逻辑与现实生活中普通交通灯控制逻辑同样。不考虑特殊情况下的控制逻辑。
注:南北向车辆与东西向车辆交替放行。同方向等待车辆应先放行直行车辆而后放行左转车辆。
-
每辆车通过路口时间为1秒(提示:可通过线程Sleep的方式模拟)。
-
随机生成车辆时间间隔以及红绿灯交换时间间隔自定,能够设置。
-
不要求实现GUI。仅仅考虑系统逻辑实现,可通过Log方式展现程序执行结果。