件工程方法开发的分析模型(如数据流图)也可以复用。 ⑤设计:用传统方法开发的体系结构、数据、接口和过程化设计都可以复用。另外 复用系统和对象的设计是屡见不鲜的。 ⑥源程序代码:验证过的程序构件(用兼容的程序设计语言书写)是可以拿来复用的。 ⑦用户文档和技术文档:即便特定的应用不同,但也经常有可能复用用户文档和技术 文档中的大部分内容。 ⑧用户界面:这可能是最广泛被复用的软件元素。如经常复用GUI的软件构件。因为 它可占到一个应用的60%的代码量,所以复用的效果最明显。 ⑨数据结构:经常被复用的数据结构包括:内部表、列表和记录结构,以及文件和完 整的数据库。 ⑩测试用例:只要将设计或代码构件定义成可复用构件,相关的测试用例就应当成为 这些构件的“从属品”。 表8.1给出的数据(来自军方的一些系统项目)表明1美元投资在4年后的回报。 Jones 对复用的整体影响给出高度评价:“复用所有10种软件要素的总计值可以产生可能是任意已 知的软件技术种的最好回报。” 表81软件复用在4年后的回报价值 可复用软件要素 4年后的回报 可复用软件要素 4年后的回报 源程序代码 成本估计 3.00 用户文档和技术文档 l.50 体系结构 用户界面 求模型和规格说明 3.00 数据结构 s5.00 测试用例 3.50 需要注意的是,复用还可以扩展到以上所讨论的可交付的软件要素之外,它还包含了软 件工程过程中的元素。特定的分析建模方法、检查技术、测试用例设计技术、质量保证过程, 以及很多其它软件工程实践都可以被“复用”。例如,如果某项目组有效地应用了某种软件工 程方法,那么在开发其它项目时可以复用该方法。为帮助潜在的该方法的使用者选择这个方 法,应定义一组功能描述,以帮助人们作出适当的决策。 3.论域工程 (1)针对复用的过程模型 针对复用的过程模型如图8.2所示。这种过程模型强调并行的工作方式。以这种方式, 论域工程和基于构件的应用开发同时进行 论域工程创建应用论域的模型,这个模型将成为软件工程流中分析用户需求的基础。软 件体系结构(及相应的结构点)为应用的设计提供了输入。最后,当可复用构件构造好并放入 可复用构件库中(在论域工程中进行)之后,它们就可以在软件构造活动中供软件开发人员使 用 (2)论域工程 论域工程的目的是标识、构造、分类和传播一组软件要素。从软件工程的观点来看,论 域就是向应用软件提供应用需求的问题和背景知识。论域工程的主要任务就是针对单个或 族相似的论域,以软件复用为目标,探寻并挖掘论域或论域族中能够为多个应用软件系统共 用的软件要素,并对它们进行结构化组织,放入可复用构件库,以备复用。 论域工程包括三个主要的活动:分析、构造和传播。3 件工程方法开发的分析模型(如数据流图)也可以复用。 ⑤ 设计:用传统方法开发的体系结构、数据、接口和过程化设计都可以复用。另外, 复用系统和对象的设计是屡见不鲜的。 ⑥ 源程序代码:验证过的程序构件(用兼容的程序设计语言书写)是可以拿来复用的。 ⑦ 用户文档和技术文档:即便特定的应用不同,但也经常有可能复用用户文档和技术 文档中的大部分内容。 ⑧ 用户界面:这可能是最广泛被复用的软件元素。如经常复用 GUI 的软件构件。因为 它可占到一个应用的 60%的代码量,所以复用的效果最明显。 ⑨ 数据结构:经常被复用的数据结构包括:内部表、列表和记录结构,以及文件和完 整的数据库。 ⑩ 测试用例:只要将设计或代码构件定义成可复用构件,相关的测试用例就应当成为 这些构件的“从属品”。 表 8.1 给出的数据(来自军方的一些系统项目)表明 1 美元投资在 4 年后的回报。Jones 对复用的整体影响给出高度评价:“复用所有 10 种软件要素的总计值可以产生可能是任意已 知的软件技术种的最好回报。” 表 8.1 软件复用在 4 年后的回报价值 可复用软件要素 4 年后的回报 可复用软件要素 4 年后的回报 项目计划 $ 2.00 源程序代码 $ 6.00 成本估计 $ 3.00 用户文档和技术文档 $ 1.50 体系结构 $ 1.50 用户界面 $ 1.00 需求模型和规格说明 $ 3.00 数据结构 $ 3.50 设计 $ 5.00 测试用例 $ 3.50 需要注意的是,复用还可以扩展到以上所讨论的可交付的软件要素之外,它还包含了软 件工程过程中的元素。特定的分析建模方法、检查技术、测试用例设计技术、质量保证过程, 以及很多其它软件工程实践都可以被“复用”。例如,如果某项目组有效地应用了某种软件工 程方法,那么在开发其它项目时可以复用该方法。为帮助潜在的该方法的使用者选择这个方 法,应定义一组功能描述,以帮助人们作出适当的决策。 3. 论域工程 (1) 针对复用的过程模型 针对复用的过程模型如图 8.2 所示。这种过程模型强调并行的工作方式。以这种方式, 论域工程和基于构件的应用开发同时进行。 论域工程创建应用论域的模型,这个模型将成为软件工程流中分析用户需求的基础。软 件体系结构(及相应的结构点)为应用的设计提供了输入。最后,当可复用构件构造好并放入 可复用构件库中(在论域工程中进行)之后,它们就可以在软件构造活动中供软件开发人员使 用。 (2) 论域工程 论域工程的目的是标识、构造、分类和传播一组软件要素。从软件工程的观点来看,论 域就是向应用软件提供应用需求的问题和背景知识。论域工程的主要任务就是针对单个或一 族相似的论域,以软件复用为目标,探寻并挖掘论域或论域族中能够为多个应用软件系统共 用的软件要素,并对它们进行结构化组织,放入可复用构件库,以备复用。 论域工程包括三个主要的活动:分析、构造和传播