问答题X 纠错

参考答案:

大量来自产业实例研究的证据表明基于组件的软件开发导致软件系统的开发成本、开发质量、开发效率都得到了显著的改善。
①开发的质量
基于组件的软件开发的一个明显优点就是提高了软件的质量。可复用的组件相对于在单一应用中使用的模块来说,一般都更为成熟并具有较高的质量保证,这主要是因为:
(1)可复用的组件在开发过程中都经过严格的测试。组件的开发者一般都是在该组件的使用领域具有丰富经验、对该领域具有深入研究的开发团体,他们能从以往的客户和开发项目那里得到许多宝贵的经验,因而更容易开发出高质量的组件“精品”。在组件的开发过程中,为了保证它广泛的适应性和在频繁使用过程中的正确性,一般对其有更高的质量要求,并且在组件正式发布以前,都要进行更为严格的测试。因而可复用组件的质量会得到更好的保证。
(2)可复用的组件在不断复用过程中,其中的错误和缺陷会被陆续的发现,并得到及时的排除。所以随着一个可复用组件复用次数的不断增加,其中的错误会逐渐减少,软件的质量也随之改善。在软件开发中使用的一个可复用组件通常都是经过许多其他客户的频繁使用,因此可复用的组件相对于新开发的模块更为成熟。
HP公司的一份研究报告认为:“被复用代码的缺陷率是每一千行0.9个缺陷。而在新开发的代码中缺陷率是每一千行4.1个缺陷。对一个包含68%复用代码的软件来说,缺陷率是每一千行2.0个缺陷,比无复用的软件缺陷率大约减少了51%。”
所以可以说,基于可复用的组件的软件开发在质量和可靠性方面确实带来了实质性的提高。
②开发的效率
基于可复用组件的软件开发对于提高软件开发的效率也有着显著的作用。软件复用已经渗透到了软件开发的各个阶段,在开发的各个阶段都有可以被重复使用的软件产品。在分析和设计阶段可以复用的组件包括:应用框架、用例、分析和设计模型等产品。在编码阶段可以复用的组件包括:函数库、子程序库、类库、二进制组件库等产品。在测试阶段复用的组件包括测试用例和测试数据等产品。显然使用现成可用的可复用组件比从头开始进行开发在开发效率上大为提高。在软件开发的各个阶段使用相应的可复用组件对于提高软件产品的生产效率具有重大的意义。
然而使用可复用的组件对开发效率的影响受到多方面因素的影响,这些因素包括:应用领域、问题的复杂度、开发队伍的结构和规模、项目开发的周期、被应用的技术等。由于在不同的应用中影响其开发效率的因素有所不同,所以可复用组件对开发效率的提高程度也是不同的,一般大约30%-50%的复用可以使开发效率提高25%-40%。 
③开发的成本 
使用可复用的现成组件进行软件开发比一切都重新开发,其成本大为节省。它避免了不必要的重复劳动和人力财力的浪费。同时也必须意识到基于组件的软件开发也是有一定成本和代价的。首先是开发可复用的组件的成本。通常开发、测试、维护一个可复用的组件的成本是一个具有相同功能非复用组件的1.5-3倍。因为可复用的组件需要有更强的适应性和更高的质量保证。其次是建立和维护组件库的成本。对组件库的管理、维护、检索和修改也需要投入相当的时间和金钱。另外,在开发软件复用一个组件时,也是需要一定成本的。虽然复用一个现成的组件的成本比重新开发的成本要低得多,只有后者的四分之一左右,但是复用的开销不会降到零。

查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

问答题

影响软件代码效率的因素有哪些?

参考答案:⑴算法对效率的影响关于算法的转换指导原则,在一定程度上减小了算法对效率的影响。从这一点能够看出算法直接影响到的是程序,进...

问答题

算法转换的指导原则是什么?

参考答案:转换过程中的指导原则是:(1)在编码前,尽可能化简有关的算术表达式和逻辑表达式。(2)仔细检查算法中嵌套的循环,尽可能将...

问答题

结构化程序设计的特点是什么?为什么要采用结构化程序设计?

参考答案:结构程序设计的概念最早是由E.W.Dijkstra提出来的,他指出:“可以从高级语言中取消GOTO语句,程序...

问答题

程序设计语言的选择对应用程序的开发有什么样的影响?

参考答案:通常应根据软件系统的应用特点,程序设计语言的内在特性以及系统的性能要求等方面来进行选择。程序设计语言的选择应该考虑以下因...

问答题

程序设计语言的成分有哪些?

参考答案:程序设计语言基本的组成成分如下:①数据成分,用于描述程序所涉及的数据(1)程序名字声明:首先声明这个程序设计对象在这个程...

问答题

程序设计语言分为哪几类?

参考答案:程序设计语言,按照语言级别可以分为两大类:低级语言和高级语言。低级语言包括机器语言和汇编语言。低级语言依赖于特定的机器,...

问答题

分析RUP的二维开发模型,说明RUP的迭代开发过程。

参考答案:在RUP中,软件开发生存周期根据时间和RUP的核心工作流划分为二维空间。横轴描述RUP开发过程的动态结构,纵轴描述RUP...

问答题

为什么说RUP与UML密切结合,能够开发出满足最终用户需要的高质量软件?

参考答案:好的软件过程,是应用UML成功地进行软件开发的关键。在众多的软件开发过程中,RUP统一过程(Rational Unifi...

问答题

在分析和设计阶段都需要建立类图,试说明分析类图与设计类图的主要区别是什么?

参考答案:在软件开发的不同阶段都使用类图,但这些类图表示了不同层次的抽象。在需求分析阶段,类图是研究领域的概念;在设计阶段,类图重...

问答题

什么是抽象类?在建模时有时使用抽象类有什么好处?

参考答案:抽象类是指没有实例的类,定义一些抽象的操作,即不提供实现方法的操作,只提供操作的特征,并标注{abstract}。如在建...
赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved