软件开发就是软件工程吗?

文章探讨了软件开发是否可以被称为软件工程的问题。作者认为软件开发不是工程,因为其输出不可控且难以衡量,更接近于一门手艺。尽管工程策略在某些方面有其优势,如提高标准和可测试性,但将软件开发完全转化为工程学科可能会限制创新和创造自由。作者主张,软件开发的本质是艺术和创造性,不应被束缚于严格的工程框架之中。
摘要由CSDN通过智能技术生成

几年前,有一个关于软件开发是否可以被称为软件工程的大辩论,这源于一篇名为《Software Engineering: An Idea Whose Time Has Come and Gone?》的文章,作者是Tom DeMarco。DeMarco认为,短命的软件开发已经死去,这对于所谓软件“变革”的创建并不重要。

DeMarco的论文认为由于缺乏测量力度(和“软件”一词所代表得深度和广度),软件工程已经走向了灭亡。但是我看到的是一种截然不同的现象:软件工程从未存在过。

首先郑重声明,我赞同DeMarco先生的主要观点。软件开发不是工程,因为在传统的工程中输出是有把握的,且可被反复衡量和控制的。DeMarco的著名论据“你无法控制你不能衡量的东西”是对此理念的完美总结:如果你不能衡量你将要实施的变化的影响,那么让我们怎么相信你能控制它们呢?

这一点,在我看来,正是我们不能将软件开发称为“工程”的首要原因:我们不能衡量将要实施的变化的影响。当然,我们可以执行单元测试,集成测试——我们能想到的所有测试,但我们依然无法准确估计当我们实施所有潜在的变化时,它们对现有系统所造成的影响范围。我们现在根本没有足够的工具来做到这一点,并且据我所知,我们一直以来就没有这样的工具。

我认为软件开发可以当作一门手艺。“工艺”一词或许能够更好地描述我们开发人员的实际工作。

工艺和工程之间的主要区别是,后者使用已经广为人知且公认的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值