序号 设计要素 评级指引
    1 设计目标达成 需要该模块实现的所有需求都已明确描述实现方案,编码人员按照设计描述能实现所有需求。
    设计重大问题:
    1)有需求未描述实现方案;
    2)实现方案描述粗糙,根据描述无法完整实现;
    3)方案有问题,无法达成需求目标(功能或性能等)
    如果这些问题造成的返工时间>=3人天,整个文档直接评C。
    如果所有需求点都描述完整,任意编码人员按照设计都能良好实现需求,且实现出来的代码相差不大,则此项可以评为A(90分以上)。
    其它情况酌情给分。
    2 风格/可读性/文档规范性 1)文档规范,遵守设计checklist要求。主管、测试人员、下级实现者、对模块无知识积累的审查人员都能良好理解设计,无需作者讲解、解释,则可以评为A(90分以上);
    2)背景、原理、思路、细节等方面有缺失,或内容组织散乱、不清晰,描述多歧义,等等,导致作者不讲解,相关领域技术人员也无法理解核心设计意图,评C(59分以下)
    3)违反设计checklist要求过多,对设计目标达成和设计意图传递,已经构成重大影响,评C(59分以下)
    其它情况酌情给分。
    3 易实现性、可维护性 方案设计模块化程度高,很容易分工实现、可维护性好(修改任意部分,对其它部分的影响很小,单独验证修改部分即可保证正确性),可评级为A(90分以上)。
    模块耦合高,无法多人合作完成,换人维护很难上手,修改代码容易出问题,需要大量测试保证质量,评级为C(59分以下)。
    其它情况酌情给分
    4 可调试、可测试性 模块设计充分考虑了调试、测试。模块可单独验证功能正确性。出现问题,能自动报告问题引入点,有充分机制能够快速定位问题引入点(比如半小时之内),简单排查即可判定引入问题的大概位置(比如哪个子模块,哪个代码文件,哪个类)。可评级为A(90分以上)。
    完全没有考虑怎么调试和测试,离开其它模块支持无法单独测试。调试机制缺失,只能依赖gdb调试。子模块之间的隔离做得不好,出现问题很难定位哪个子模块引入的。可评价为C(59分以下)。
    其它情况酌情给分。
    5 鲁棒性、健壮性 有对各类异常场景进行分析和设计,保证各类异常场景下,程序都能正常处理。提供了可靠机制,在出现异常时,程序能自动发现及恢复运行,完全不影响客户业务。可评级为A(90分以上)。
    未作任何分析,在异常情况下程序会出现功能失效或降效,影响客户业务正常运行,不能快速自动恢复,更严重的是需要技术人员干预,甚至需要返厂处理。可评级为C(59分以下)。
    其它情况酌情给分。
    6 可扩展、可复用性 对可预见的需求变化有做预测及分析,并提供了合理的扩展机制,保证扩展功能不影响现有任何逻辑,甚至无需重新测试验证现有任何功能。可评级为A(90分以上)。
    对可预见的需求变化没有任何预测分析,仅仅能满足现有功能、性能要求。对模块的扩展需要对现有代码做大量修改。可评级为C(59分以下)。
    其它情况酌情给分。