为啥潘加宇老师说设计约束是需求,但既不是功能需求,也不是非功能需求

这么简单的二元逻辑(功能与非功能)也被扯成这样,除了 FR 与 NFR 之外新的第三种需求因潘老师而诞生,真可谓中国软件工程与 UML 江湖的又一重大理论创新啊!正确的说法设计约束(Design Constraints)是一种非功能需求(Non-Functional Requirements)。分析评论诚如潘老师所言,“设计约束是需求的一种”。既然设计约束也是一种需求,那么如下图所示,在逻辑上设计约束要么是功能需求(FR),要么是非功能需求(NFR),这么简单的二分法,也会搞错?实在不懂潘老师的逻辑。为啥潘加宇老师说设计约束是需求,但既不是功能需求,也不是非功能需求
【为啥潘加宇老师说设计约束是需求,但既不是功能需求,也不是非功能需求】
设计约束是一种非功能需求(FR、NFR 必居其一),这是任何学习软件工程、需求工程的学生应该掌握的一条基本常识,就像 !true = false。潘老师的名著为什么会犯如此简单的逻辑错误?我分析可能有以下几点原因:潘老师当时显然不知道设计约束是一种非功能需求(缺乏软件工程、需求工程的常识),不然他不会那么写,说什么它也是一种需求,但既不是功能需求,也不是非功能需求;潘老师大概也不懂什么二分法、二元论与二元逻辑,或者他不懂 FR 与 NFR 的真正区别,或者他不懂中文“非”与英文 Non 的真正含义,这才导致出现了如此简单可笑的逻辑错误;这可能也与潘老师是(本科、研究生)搞化学的出身,没学过离散数学集合论、形式逻辑等知识,或基本功不扎实有关吧。


    推荐阅读