《人月神话》阅读笔记03
一旦认识到试验性的系统必须被构建和丢弃,具有变更思想的重新设计不可避免,从而直面整个变化现象是非常有用的。第一步是接受这样的事实:变化是与生俱来的,不是不合时宜和令人生厌的异常情况。开发人员交付的是用户满意程度,而不仅仅是实际的产品。用户的实际需要和用户感觉会随着程序的构建、测试和使用而变化。
在程序发布给顾客使用之后,它不会停止变化。发布后的变更被称为“程序维护”,但 是软件的维护过程不同于硬件维护。 计算机系统的硬件维护包括了三项活动——替换损坏的器件、清洁和润滑、修改设计 上的缺陷。(大多数情况下——但不是全部——变更修复的是实现上、而不是结构上的一些 缺陷。对于用户而言,这常常是不可见的。)
就工具而言,即使是现在,很多软件项目仍然像一家五金店。每个骨干人员都仔细地 保管自己工作生涯中搜集的一套工具集,这些工具成为个人技能的直观证明。正是如此,每 个编程人员也保留着编辑器、排序、内存信息转储、磁盘实用程序等工具。
机器支持可以有效地划分成目标机器和辅助机器。目标机器是软件所服务的对象,程 序必须在该机器上进行最后测试。辅助机器是那些在开发系统中提供服务的机器。如果是在 为原有的机型开发操作系统,则该机器不仅充当目标机器的角色,同时也作为辅助机器。