模块内聚性与耦合性 — 软件工程选择题
题目
某物流系统中,模块「运费计算器」每次被调用时,上层模块都将包含 30 个字段的完整「订单对象」(含客户隐私信息、历史记录等)整体传入,而该模块实际只使用其中的「重量」和「目的地」两个字段。同时,系统中另有多个模块也直接读取并修改这一个共享的订单对象。从耦合性角度看,运费计算器与上层模块之间、各共享订单对象的模块之间分别属于哪种耦合?改进方向正确的是( )
A. 前者为数据耦合,后者为公共耦合;应改为仅传递重量与目的地两个参数
B. 前者为标记耦合,后者为公共耦合;应改为仅传递重量与目的地两个参数
C. 前者为公共耦合,后者为内容耦合;应让运费计算器直接访问订单对象字段
D. 前者为控制耦合,后者为外部耦合;应合并所有模块为一个模块以消除耦合