- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 软件复用与基于构件的软件开发 12.1软件复用简介 12.2可复用软件构件与领域工程 12.3基于构件的软件开发 12.1 软件复用简介 软件复用定义 软件复用种类、形式与复用粒度 软件复用目的、意义与复用经济学 软件复用过程 软件复用定义 软件复用就是将已有的软件成分用于构造新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。 对已有软件的各种有关知识可用来建立新的软件,这些知识包括:领域知识、开发经验、设计经验、设计决定、体系结构、需求、设计、编码、测试和文档等。 软件复用不仅是对程序的复用,它包括对软件生产过程中任何活动所产生的制成品的复用。如:项目计划、可行性报告、需求定义、分析模型、详细说明、源程序和测试用例等等。 可复用的软件制品 Caper Jones定义了可作为复用候选的10种软件制品(artifacts): 项目计划:软件项目计划的基本结构和许多内容(如进度表、风险分析)都可以跨项目复用,以减少用于制定计划的时间。 成本估计:由于不同的项目中经常含有类似的功能,所以有可能在极少修改或不修改的情况下,复用对该功能的成本估计。 体系结构:某些应用软件的体系结构往往非常相似,因此有可能创建一组公共的体系结构模板(如,事物处理体系结构),并将那些模板作为可复用的设计框架。 需求模型和规约:类和对象模型及其规约是明显的复用候选者,此外,用传统软件工程方法开发的分析模型(如数据流图)也是可复用的。 设计:用传统方法开发的体系结构、数据、接口和过程化设计都是复用的候选者,系统设计和对象设计也是可复用的。 可复用的软件制品 源代码:经过验证的程序代码是复用的候选者。 用户文档和技术文档:即使特定的应用有所不同,但经常可复用部分用户文档和技术文档。 用户界面:这是最广泛被复用的软件制品。由于用户界面部分约占一个应用软件的60%的代码量,因此其复用效率极高。 数据:在大多数经常被复用的软件制品中,可复用的数据包括:内部表、记录结构以及文件和完整的数据库。 测试案例:一旦设计或代码被复用,则其相应的测试案例也应被复用。 软件复用的粒度 代码和设计拷贝 代码拷贝是指从熟悉的已有系统中成块地拷贝其中的源代码,设计拷贝是指拷贝一大块代码,删去其中的内部细节,但保持设计的总体框架。 这类复用的特点是从已设计、实现、调试好的类似系统中尽可能多地成块地拷贝源代码。复用者通常是已有软件的开发者,或对已有软件比较熟悉的人,他能较容易地找到软件中可复用的部分,通过手工修改原有的代码,使之符合新的系统要求,在集成时主要解决所拷贝代码与当前系统的命名问题。 这类复用的优点是由于对原有系统很熟悉,所以不用花大力气去理解和修改代码,对简单的应用比较有效。其缺点是不同的开发者可能拷贝不同的片段;同时,由于对原有系统过于熟悉,容易受原有设计的影响,难以使其很好地适应新的系统;这类复用通常不适合于复杂的应用。 软件复用的粒度 源代码复用 源代码复用是指复用存放在库中的某种高级程序语言书写的源代码构件。 这类复用的特点是构件本身是为复用而开发的,可复用构件存放在一个供大家访问的库中。存放在库中的构件应有一段简明的描述,构件库必须提供有效的构件检索手段,使用者通过设置参数值将其特例化,通过过程调用方式调用构件。 这类复用的优点是:构件是参数化的,因此大大减少对构件的人工修改;由于构件已经经过充分的测试,因此可靠性比较高。其缺点是构件库极其庞大。同时,由于构件是为复用而开发的,因此构件一般尽可能的通用,从而增加了额外的开销。 软件复用的粒度 设计和软件体系结构复用 设计和软件体系结构复用是指对已有的软件体系结构和(或)设计的复用。 这类复用的特点是不仅支持高层次的复用,也支持较低层次的复用。设计和软件体系结构可以存放在一个库中,并给以简单的描述。这种库必须对其提供有效的检索,使用者通过良好定义的接口进行集成。 这类复用的优点是:可复用较大粒度的软件制品,修改具有局部性。其缺点是难以抽象出简明的描述,存放体系结构的库难以管理。 软件复用的粒度 应用成序生成器(Application Generators) 应用程序生成器是指复用整个软件系统的设计,包括整体的软件体系结构、体系结构中的主要子系统、特定的数据结构和算法等。 这类复用的特点是:从高层的领域特定的规约自动生成一个完整的可执行系统,生成器可根据输入的规约填充原先没有 的细节,它通常只针对一些成熟的领域。 这类复用的优点是自动化程度高,能获取某个特定领域的标准,以黑盒形式输出结果(应用程序);其缺点是难以构造特定的应用成序生成器。 软件复用的粒度 特定领域软件体系结构 (Domain-Specific Software Architecture, DSSA) DS
您可能关注的文档
最近下载
- 2009石油化工行业检修工程动工预算定额说明.docx
- YB∕T6294-2024 锌铝合金镀层弹簧钢丝(报批稿).pdf VIP
- TSGZ6001—2019特种设备作业人员考核规则正文.pdf VIP
- 新湘教版七年级数学上册全册导学案.pdf VIP
- 2025年内蒙古自治区呼和浩特市初一新生入学分班考试真题含答案.docx VIP
- 2025年西藏高考理综真题试卷及答案.docx VIP
- 部编人教版一年级数学上册全册教案.docx VIP
- 超市经营服务方案.docx VIP
- 腐蚀数据与选材手册-校对版.xls VIP
- 六年级下册语文试卷-《金色的鱼钩》一课一练(含答案)人教部编版.pdf VIP
文档评论(0)