阅读下列说明和有关的图,回答问题1至问题4。
【说明】 某制造企业的物料出入库管理的工作流程分别叙述如下。
1.出库工作流程 ①领料人提交领料单(每一种物料有一张领料单); ②仓库保管员根据领料计划单检验该领料单是否有效; ③若经检验没有相应的领料计划,则通知领料人该领料单无效; ④若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存; ⑤若没有足够的库存,仓库保管员向领料人发缺货单; ⑥若有足够的库存,仓库保管员在领料单上签字,并登记出库单,修改物料主文件中的现有库存数;相应的物料出库,物料清单交领料人。
2.入库工作流程 ①采购员提交入库申请单(每一种物料有一张入库申请单); ②仓库保管员根据采购计划单验收入库申请单; ③若验收发现没有相应的采购计划,则仓库保管员向采购员发无效申请单; ④若验收合格,则仓库保管员向检验员申请物料检验;检验员根据检验结果填写物料检验单。 ⑤如果物料或供货方不合格,则向采购员发出退货单; ⑥如果检验合格,则仓库保管员登记入库单,修改物料主文件中的现有库存数,相应的物料入库。 为便于及时了解库存情况、核查出入库情况,该企业决定将上述人工流程由计算机来实现。在设计该系统时,采用了两种方法:结构化方法和面向对象方法。 如图1-12给出了物料出入库系统的数据流图,图中的数据流并没有画全,需要考生填补。图1-13给出了采用面向对象方法所认定出的类。
用面向对象方法设计的类中,有一些类的对象是需要持久存储的,这样的类一般需要映射到关系数据库模式中。请指出图1-13中哪些类需要做这样的映射。
参考答案:
采购计划单、入库单、供货方档案、出库单、物料主文件、领料计划单。
解析:
[分析]: 本题是一个综合题,包括结构化方法和面向对象方法,具体有数据流图、类属性识别、系统功能分析及面向对象设计和数据库设计。 问题1是补充缺少的数据流。根据出库工作流程的叙述,“……若经检验没有相应的领料计划,则通知领料人该领料单无效;若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存;若没有足够的库存,仓库保管员向领料人发缺货单:……”,可得,无效领料单是针对无相应的领料计划,缺货单是针对库存不足,缺货单不能包含于无效领料单中,故缺少数据流缺货单,其终点为领料人,起点应为领料单检验。 根据入库工作流程,“……检验员根据检验结果填写物料检验单:如果物料或供货方不合格,则向采购员发出退货单……”,可见,缺少数据流退货单,其起点为物料检验,终点为采购员。 问题2是面向对象类属性识别。每一种物料有一张领料单,仓库管理员是根据领料单上的物料代码核对库存的,因此领料单应有属性:物料代码和数量;另外,当物料单检验无效时需要通知领料人相应领料单无效,因此领料单应有属性:领料人;出库时,仓库保管员要在领料单上签字,因此领料单应有属性:仓库保管员;为了清楚了解出入库情况,还应包含属性:日期。综上,领料单的属性有:物料代码、数量、领料人、仓库管理员、日期。 类似的,每一种物料有一张入库申请单,成功入库时仓库管理员根据入库申请单修改物料主文件中的现有库存,因此入库申请单应有属性:物料代码和数量;检验员检验物料时,“如果物料或供货方不合格,则向采购员发出退货单”,因此入库申请单应有属性:供货方和采购员;同样,还应包含属性:日期。综上,入库申请单的属性有:物料代码、数量、采购员、供货方、日期。 问题3是系统功能分析。为了提高企业效率,建立一个功能完善的库存管理系统,除了具备查询、统计、报表输出等外,还应对库存的物料做出实时监控,以便保证物料的合理库存量,故还应有功能:库存超限报警和库存不足报警。 问题4是面向对象与数据库的结合。用面向对象方法设计的类中,有一些类的对象是需要持久存储的,这样的类一般需要映射到关系数据库模式中。就本题而言,实际上就是识别需要持久存储的对象,在此需要将数据流图中的所有文件对应的类映射到数据库中,具体有:采购计划单、入库单、供货方档案、领料计划单、物料主文件、出库单。