- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Chapter25.ArchitectureandProductLines
软件产品线
软件产品线是:
一组软件密集型系统,它们共组通用的、受管理的特性,这些特性满足特
定市场部门或任务的特定需求,并且是由一组通用的资产以重写的方式开
发出来的
Reuse
产品线代表战略()重用。
包括的一组公共资产(资产)
体系结构
要求
测试用例
构建
文档
…
这些资产是专门为支持重用而构建的。
Anexample:
您正在构建支持银行的软件。
的产品线有21种产品。
一个现有的模块计算客户的利息支付。
完全适合18种产品
需要对特拉华进行240线修改。
HowtoManagetheModifications?
一种策略是受影响的模块,并必要的更改
叫做克隆和拥有
快速和容易
不缩放!
假设这21个产品都有1000个模块。
可能需要大量不同版本的产品。
更好的策略是在模块中引入“可变点”,并使用配置参数管理可变点。
将配置参数设置为“normal”将生成18个产品。
将配置参数设置为“Delaware”将生成专门针对Delaware的新版本。
变化点(简要)
例子机制
编译器标志
模块参数
资源文件设置
可以从数据库管理和部署配置参数。
确保配置文件的记录被。
允许工具生成各种版本。
WhatMakesProductLinesWork?
的重用
——需求。大多数需求与早期系统的需求相同,因此可以重用。
——建筑设计。对于一个新产品,如果质量目标是相同的,那么架构基本上是相同
的。
——软件元素。软件元素适用于各个产品,因为各个产品的体系结构是相同的。
——建模和分析。性能模型、可调度性分析、分布式系统问题(如证明没有死锁)、
进程到处理器的分配、容错方案和网络负载策略都在产品之间传递。
——测试。测试、测试过程、测试用例、测试数据、测试工具,以及报告和修
复问题所需的通信路径已经就绪。
——项目工件。预算和更容易预测,因为经验是未来业绩的高保真指标。
——和…
CostsofProductLines
预先需要时间。
需要2-3个系统才能开始看到生产线的节省。
另外,当定义了新产品时,产品线也可以得到发展。但这可能需要对架构进行重新
设计。
ProductLineScope
•部分产品在范围内(白色)
•有些产品超出范围(斑点)
•有些产品需要根据具体情况(衬线)来决定
ScopeisaCriticalDecision
范围太广,系统就很难设计和构建。
范围太窄,系统太少,无法证明额外的开销和复杂性。
范围决定由
-发现潜在产品之间的共性和差异点
-市场和建筑师之间的相互作用,以确定技术上可行的范围,同时在建造
产品时不引入过多的成本。
ArchitecturalMechanismsforVariability
元素的包含或遗漏:
通过构建不同产品的过程,可以包含不同数量的元素。
例如,可以通过添加的服务器来产生高容量的变体。
实际数目应不详,作为变动点。这可以动态选择。
选择具有相同接口但具有不为或质量属性特征的元素的不同版本。
可在编译时、构建时或运行时进行选择。
选择机制包括
静态库,包含编译后的外部函数,
动态库,
插件(如插件、扩展、)
OtherVariabilityMechanisms
扩展点(Extensionpoints)。这些是体系结构中可以安
文档评论(0)