1700462023
我们从这个示意图上可以看出,三个模块是相互依赖的。我们就以一个终端销售商(以服务最终客户为目标的企业,比如某某超市、某某商店等)为例,采购部门要采购IBM的电脑,它根据以下两个要素来决定采购数量。
1700462024
1700462025
❑销售情况
1700462026
1700462027
销售部门要反馈销售情况,畅销就多采购,滞销就不采购。
1700462028
1700462029
❑库存情况
1700462030
1700462031
即使是畅销产品,库存都有1000台了,每天才卖出去10台,也不需要采购了!
1700462032
1700462033
销售模块是企业的赢利核心,对其他两个模块也有影响:
1700462034
1700462035
❑库存情况
1700462036
1700462037
库房有货,才能销售,空手套白狼是不行的。
1700462038
1700462039
❑督促采购
1700462040
1700462041
在特殊情况下,比如一个企业客户要一次性购买100台电脑,库存只有80台,这时需要催促采购部门赶快采购!
1700462042
1700462043
同样地,库存管理也对其他两个模块有影响。库房是有容积限制的,不可能无限大,所以就有了清仓处理,那就要求采购部门停止采购,同时销售部门进行打折销售。
1700462044
1700462045
从以上分析来看,这三个模块都有自己的行为,并且与其他模块之间的行为产生关联,类似于我们办公室的同事,大家各干各的活,但是彼此之间还是有交叉的,于是彼此之间就产生紧耦合,也就是一个团队。我们先来实现这个进销存,类图如图14-2所示。
1700462046
1700462047
1700462048
1700462049
1700462050
图14-2 简单的进销存类图
1700462051
1700462052
Purchase负责采购管理,buyIBMComputer指定了采购IBM电脑,refuseBuyIBM是指不再采购IBM了,源代码如代码清单14-1所示。
1700462053
1700462054
代码清单14-1 采购管理
1700462055
1700462056
public class Purchase{
1700462057
1700462058
//采购IBM电脑
1700462059
1700462060
public void buyIBMcomputer(int number){
1700462061
1700462062
//访问库存
1700462063
1700462064
Stock stock=new Stock();
1700462065
1700462066
//访问销售
1700462067
1700462068
Sale sale=new Sale();
1700462069
1700462070
//电脑的销售情况
1700462071
1700462072
int saleStatus=sale.getSaleStatus();
[
上一页 ]
[ :1.700462023e+09 ]
[
下一页 ]