题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第5章 软件工程

金额字段只写数值类型,能保证退款不超过付款吗?

6 道章节练习题
单选题5.2 软件需求4 / 6

某业务规定每笔付款最多退款一次,退款金额须大于0且不得超过实付金额。数据字典目前只写“退款金额:数值型,保留两位小数”。为指导检验,最需要补充()。

选择答案
未作答
答案与解析

正确答案 C

两位小数只能约束表示形式,不能排除负数,也不能阻止退款大于实付金额。应补出大于0的范围要求,以及退款金额不超过实付金额的跨字段关系,选C。

实付80元时,退款90.00元完全符合“两位小数”,却不符合本题业务规则。数据项描述不仅要说值长什么样,还要说允许哪些值、与其他项怎样关联,开发和测试才有共同依据。本题特意限定每笔最多退款一次;若允许多次部分退款,就还需明确累计已退金额、剩余额度等规则,不能拿这道题的单次比较包办所有退款场景。这里是在补齐需求定义,不是在指定必须用哪一种数据库校验机制。

选项分析

A
别名可以帮助理解字段,但报表显示位置和别名都不能表达正数要求或退款上限。
B
文件大小、访问次数涉及存储与负载,不说明一笔退款金额在业务上是否合法。
C
同时补齐单个数值的允许范围和数据项间的比较关系,可以直接形成检验与测试依据。
D
版本和索引名称属于实现信息,不能替代退款金额与实付金额之间的业务约束。

容易混淆的地方

以为字段类型、长度和小数位确定以后,业务合法性也随之确定,漏掉跨字段关系。

再巩固一步

  • 给字段找一个“格式正确但业务错误”的值,往往能很快发现数据字典里缺少的规则。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.2.4 · 纸书第206页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息