[全文]异形夺命舰,需要≠需求,《分析模式》漫谈20

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集


“Analysis Patterns”的第一章有这么一句:

The languages in which we build software can both control the physical machine and express the needs of the problem. One of the reasons our languages change is because we find better ways to express the needs of a problem.

2004(机械工业出版社)中译本的译文为: 

图片

needs翻译为“要求”,这是正确的。

2020(人民邮电出版社)中译本的译文为: 

图片

needs翻译为“需求”,这是不合适的。

说到软件开发的“需求”,我们往往会想到对应的英文是requirements。

我们再来看第1章的另一处:

To my mind this is not just listing requirements in use-cases [8]. Use-cases are a valuable, if not essential, part of system development, but capturing them is not the end of analysis. Analysis also involves looking behind the surface requirements to come up with a mental model of what is going on in the problem.

2004(机械工业出版社)中译本的译文为: 

图片

2020(人民邮电出版社)中译本的译文为: 

图片

两个译本都把requirements翻译为“需求”,这是正确的。

不同之处是,2004(机械工业出版社)中译本把needs(要求)和requirements(需求)区分开了,而2020(人民邮电出版社)中译本把needs和requirements都译成“需求”。

**********

需求跟要求(或需要)是有区别的。

我们可以用这句话来区分:

系统的需求(requirements)是平衡各方涉众的需要(needs)的结果。

具体可参见《软件方法》书或《CTO也糊涂的常用术语:功能模块、业务架构、用户需求……》文章,umlchina.com/url/cto.html

其他软件工程书籍也有这种needs和requirements一勺烩的情况。

例如,《软件工程:实践者的研究方法》(第8版),原文是:

The job of a requirements engineer is to identify areas of commonality (i.e., requirements on which all stakeholders agree) and areas of conflict or inconsistency (i.e., requirements that are desired by one stakeholder but conflict with the needs of another stakeholder). It is, of course, the latter category that presents a challenge.

译文是:

图片

原文的表达是经过考虑的。requirements(需求)摆在那里,stakeholder(涉众)对同一条需求的意见是不一致的,所以作者用了agree、desire等词。

译文中,把requirements that are desired by one stakeholder翻译成“某个利益相关者提出的需求”是错误的,让人误解原文是requirements  of one stakeholder。

requirements that are desired by one stakeholde是说系统的需求摆在那里,你这个涉众(利益相关者)是想要(desire)还是抗拒(dislike)。

就像《异形》电影就在那里,作为观众,有的想看,有的抗拒,但电影就是那个电影,不是某个观众的电影。

图片

当说到of another stakeholder的时候,作者用的是 needs(需要,要求) of another stakeholder。不幸的是,needs也被翻译成了“需求”。

**********

原文的needs of the problem,细究起来也是和“用户业务领域”类似的“废话文学”,属于应该清理的用语。needs of后面跟user、stakeholder等等更合适。

当然,这个不是Fowler的发明,一些书上偶尔也这么用(依然属于应该清理的用语),Fowler可能就是看到了照搬,全书也只有此处出现了needs of the problem。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值