《人月神话》-第12章-干将莫邪

就工具而言,即使是现在,很多软件项目仍然像经营一家五金店。每个骨干人员都仔细地保管自己工作生涯中搜集的一套工具集,这些工具成为个人技能的直观证明。正是如此,每个编程人员也保留着编辑器、排序、内存信息转储和磁盘空间实用程序等工具。

 

这种方法对软件项目来说是愚蠢的。首先,项目的关键问题是沟通

个性化的工具会妨碍而非促进沟通。其次,当机器和工作语言发生变化时,技术也会随之变化,所有工具的生命周期都是很短的。最后,毫无疑问,开发和维护公共的通用编程工具的效率更高

 

不过,仅有通用工具是不够的。专业需要和个人偏好同样需要很多专业工具。所以在前面关于软件开发队伍的讨论中,我建议为每个团队配备一名工具管理人员。这个角色管理所有通用工具,能指导他的客户和老板如何使用工具。同时,他还能编制老板需要的专业工具。

 

项目经理必须考虑、计划、组织的工具到底有哪些呢?首先是计算机设施。它需要硬件和使用安排策略;它需要操作系统,提供服务的方式必须明了;它需要语言,语言的使用方针必须明确;然后是实用程序调试辅助程序测试用例生成工具和处理文档的字处理系统

 

 


 

机器支持可以有效地划分成目标机器辅助机器目标机器软件所服务的对象,程序必须在该机器上进行最后测试。辅助机器是那些在开发系统中提供服务的机器。如果是在为原有的机型开发新的操作系统,则该机器不仅充当目标机器的角色,也可作为辅助机器

 

6小时中连续10次操作的生产率,比间隔3小时的10次操作要高许多

 


辅助机器和数据服务

  • 仿真装置

  • 编译器和汇编平台

  • 程序库和管理

  • 编程工具

  • 文档系统

  • 性能仿真装置

 

仿真装置。如果目标机器是新产品,则需要一个目标机器的逻辑仿真装置。这样,在生产出新机器之前,就有辅助的调试平台可供使用。

同样重要的是—即使在新机器出现之后,仿真装置仍然可以提供可靠的调试平台

 

可靠并不等于精确。在某些方面,仿真机器肯定无法精确地达到与新型机器一致的实现。但是至少在一段时间内,它的实现是稳定的,新硬件就不会。

 

 

当开发人员准备将软件单元集成到更大的部分时,他向集成经理提交一份拷贝,后者将拷贝放置在系统集成子库中。此时,原作者不可以再改变代码,除非得到了集成经理的批准。当系统合并在一起时,集成经理开始进行所有的系统测试工作,识别和修补bug。

 

有时,系统的一个版本可能会被广泛应用,它被提升到当前版本子库。此时,这个拷贝是不可更改的,除非有重大缺陷要修复。该版本可以用于所有新模块的集成和测试。7010上的一个程序目录对每个模块的每个版本进行跟踪,包括它的状态、用途和变更。

 

这里有两个重要的理念。首先是受控,即程序的拷贝由经理负责,他可以独立地授权程序的变更。其次是使发布的进展变得正式,以及开发库与集成、发布的正式分离

 


交互式编程的生产率至少是原来的2倍

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页