“为了获得概念完整性,设计必须由一个人或者具有共识的小型团队来完成。”
经过上学期的软件工程概论的作业训练,我读懂了这句话的含义。一个小组,刚开始开发的时候,往往对一个自己要开发的东西比较模糊,即使是对于一个功能,实现起来,不同人也会有不同的思路,比如页面之间跳转的逻辑关系也会有不同,所以统一概念设计是首要的工作。面向对象技术为什么发展缓慢?问题是 O-O 程序员经历了很多错综复杂混乱的应用,他们所关注的是低层次,而不是高层次的抽象。 例如, 他 们开发了很多象链表或集合这样的类, 而不是 用户接口 、 射线束模型 或者 有限元素模型 。 不幸的是 , C++ 中帮助程 序员避免 错 误的强类 型 检查,使 得 从小型事物中构建大型物体非常困难 21 。
大多数有丰富经验的程序员拥有自己的私人开发库,可以使他们使用大约 30 %的 重用代码来开 发 软件。公 司 级别的重 用 能提供 70 %的重用代 码 量,它需 要 特殊的开 发 库和管理
支持。公司级别的重用代码也意味着需要对项目中的变更进行统计和度量,从而提高重用的可信程度 我们推测重用的障碍不在生产者一边,而在消费者一边。如果一个软件工程师,潜 在的标准化软件构件消费者, 觉得寻找能满足他需要的构件, 进行验证,比自行编写的代价更加昂贵时 , 重复的构 件 就会产生 。 注意我们 上 面提到的 “ 觉得”。它 和 重新开发 的 真正投入无关。
大众市场软件包提供了数据库系统等通用功能,充分地减轻了压力,
减少了处在重用模块边缘的开发。 “不管怎样,重用的模块一般是一些通用功能。”