正在加载图片...
模型,顺序讲述人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试,以 及维护与再生工程。其中程序设计部分以C++C语言为例。 12软件开发的基本策略 人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。同样,程序员脑 子里的软件工程观念会无形地支配其怎么去做事情。软件工程三十年的发展,已经积累了相 当多的方法,但这些方法不是严密的理论。实践人员不应该教条地套用方法,更重要的是学 会“选择合适的方法”和“产生新方法”。有谋略才会有好的战术。几千年前,我们的祖先 就在打闹之际写下了很多心得体会,被现代人很好地运用于工业和商业。本节讲述软件开发 中的三种基本策略:“复用”、“分而治之”、“优化—一折衷”。 121复用 复用就是指“利用现成的东西”,文人称之为“拿来主义”。被复用的对象可以是有形的 物体,也可以是无形的成果。复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继 承了前人的成果,不断加以利用、改进或创新后才会进步。所以当我们欢度国庆时,要搞清 楚祖国远不止50岁,我们今天享用到的财富还有上下五千年人民的贡献。进步只是应该的 不进步则就可耻了 复用的内涵包括了提高质量与生产率两者。由经验可知,在一个新系统中,大部分的内 容是成熟的,只有小部分内容是创新的。一般地可以相信成熟的东西总是比较可靠的(即具 有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。勤劳并且聪明 的人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟 工作中,这样才能把工作做得又快又好。 把复用的思想用于软件开发,称为软件复用。据统计,世上已有1000亿多行程序,无 数功能被重写了成千上万次,真是浪费哪。面向对象( Object Oriented)学者的口头禅就是 “请不要再发明相同的车轮子了” 将具有一定集成度并可以重复使用的软件组成单元称为软构件( Software Component 软件复用可以表述为:构造新的软件系统可以不必每次从零做起,直接使用己有的软构件, 即可组装(或加以合理修改)成新的系统。复用方法合理化并简化了软件开发过程,减少了 总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。另一方面,由于软构件 是经过反复使用验证的,自身具有较高的质量。因此由软构件组成的新系统也具有较高的质 量。利用软构件生产应用软件的过程如图1.5所示。 软件复用不仅要使自己拿来方便,还要让别人拿去方便,是“拿来拿去主义”。面向对 象方法, Microsoft公司的COM规范[ Rogerson199,都能很好地用于实现大规模的软件复 用 应用 定义 用构 软件 所需 查询软构 在 提取构件 件建 系统 构件 件库 造新 分解 集合 软件 创建新构件 构件不存在 图1.5利用软构件生产应用软件的过程模型,顺序讲述人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试,以 及维护与再生工程。其中程序设计部分以 C++/C 语言为例。 1.2 软件开发的基本策略 人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。同样,程序员脑 子里的软件工程观念会无形地支配其怎么去做事情。软件工程三十年的发展,已经积累了相 当多的方法,但这些方法不是严密的理论。实践人员不应该教条地套用方法,更重要的是学 会“选择合适的方法”和“产生新方法”。有谋略才会有好的战术。几千年前,我们的祖先 就在打闹之际写下了很多心得体会,被现代人很好地运用于工业和商业。本节讲述软件开发 中的三种基本策略:“复用”、“分而治之”、“优化——折衷”。 1.2.1 复用 复用就是指“利用现成的东西”,文人称之为“拿来主义”。被复用的对象可以是有形的 物体,也可以是无形的成果。复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继 承了前人的成果,不断加以利用、改进或创新后才会进步。所以当我们欢度国庆时,要搞清 楚祖国远不止 50 岁,我们今天享用到的财富还有上下五千年人民的贡献。进步只是应该的, 不进步则就可耻了。 复用的内涵包括了提高质量与生产率两者。由经验可知,在一个新系统中,大部分的内 容是成熟的,只有小部分内容是创新的。一般地可以相信成熟的东西总是比较可靠的(即具 有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。勤劳并且聪明 的人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟 工作中,这样才能把工作做得又快又好。 把复用的思想用于软件开发,称为软件复用。据统计,世上已有 1000 亿多行程序,无 数功能被重写了成千上万次,真是浪费哪。面向对象(Object Oriented)学者的口头禅就是 “请不要再发明相同的车轮子了” 。 将具有一定集成度并可以重复使用的软件组成单元称为软构件(Software Component)。 软件复用可以表述为:构造新的软件系统可以不必每次从零做起,直接使用已有的软构件, 即可组装(或加以合理修改)成新的系统。复用方法合理化并简化了软件开发过程,减少了 总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。另一方面,由于软构件 是经过反复使用验证的,自身具有较高的质量。因此由软构件组成的新系统也具有较高的质 量。利用软构件生产应用软件的过程如图 1.5 所示。 软件复用不仅要使自己拿来方便,还要让别人拿去方便,是“拿来拿去主义”。面向对 象方法,Microsoft 公司的 COM 规范 [Rogerson 1999],都能很好地用于实现大规模的软件复 用。 存在 构件不存在 查询软构 件库 用构 件建 造新 软件 创建新构件 提取构件 定义 所需 构件 集合 应用 软件 系统 分解 图 1.5 利用软构件生产应用软件的过程
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有