从什么网站找做游戏的代码,公司官网设计模板,网站开发的知识,网站开发还需要兼ie吗10.4 软件架构演化原则总结 本节提出了18条架构演化的核心原则#xff0c;并为每条原则设计了简单而有效的度量方法#xff0c;用于从系统整体层面提供实用信息#xff0c;帮助评估和指导架构演化。
演化成本控制#xff1a;成本小于重新开发成本#xff0c;经济高效。进…10.4 软件架构演化原则总结 本节提出了18条架构演化的核心原则并为每条原则设计了简单而有效的度量方法用于从系统整体层面提供实用信息帮助评估和指导架构演化。
演化成本控制成本小于重新开发成本经济高效。进度可控演化任务按计划时间完成。风险可控控制演化过程中的各种风险。主体维持演化稳定增长不影响系统主体行为。结构优化演化后整体结构更合理、更高效。平滑演化保持演化速率稳定避免剧烈变化。目标一致阶段性和最终目标保持一致。模块独立演化模块修改互不干扰或影响范围小。影响可控变更对系统的影响范围可预测。复杂性可控限制复杂性增长确保系统易维护。有利于重构演化后更便于代码和架构重构。有利于重用提升或维持架构的可重用性。设计原则遵从演化符合既定设计原则。适应新技术减少技术依赖适应多平台。环境适应性支持新硬件和软件环境。标准依从性遵循国际、国家或行业标准。质量向好提升系统的质量属性如可靠性。适应新需求增强架构应对新需求的能力。
10.5 软件架构演化评估方法
根据演化过程是否已知软件架构演化评估分为
演化过程已知的评估通过对演化前后的架构进行度量和比较评估演化对架构质量属性的影响。演化过程未知的评估针对未知的演化轨迹通常通过大规模数据分析或模型预测方法进行评估未详述。
10.5.1 演化过程已知的评估 基于度量的架构演化评估方法通过细化演化过程和指标计算能够清晰地分析架构内部结构的变化如何影响外部质量属性保障软件架构在演化中的可靠性和可维护性。
评估流程 对演化前后架构版本进行度量原子演化操作。然后计算相邻版本间的架构质量属性距离最后得出最初版本和最终版本的质量属性距离。综合分析架构演化过程中的质量属性变化评估架构质量。
架构质量属性度量
可靠性单一实数值表示架构的潜在风险率。可维护性包括圈复杂度 (CCN)、扇入/扇出度 (Fan-in/Fan-out)、模块间耦合度、模块的响应性、紧内聚度、松内聚度
架构质量属性距离计算 可维护性距离归一化笛卡尔距离公式 距离值越大表示版本间可维护性差异越大。 可靠性距离简化的归一化公式表示两个版本在可靠性上的差异。 非相邻版本的架构质量属性距离
架构演化评估的意义 架构修改影响分析 分类不同类型的原子演化操作。分析内部逻辑结构或交互过程对外部质量属性的影响。研究架构版本间距离与质量属性差异的关联。 监控演化过程 绘制架构质量属性变化曲线。持续监测质量属性的变化趋势确保健康演化。 分析关键演化过程 确定架构质量变化的关键节点。识别逻辑依赖或交互过程的重大变化有助于维护和故障定位。
10.5.2 演化过程未知的评估 当软件架构的演化过程未知时我们无法直接跟踪每一步的变化需通过 逆向推测 的方法根据架构演化前后的度量结果分析架构的变化及其对质量属性的影响。 通过验证演化是否达成预期目标可以保障架构健康地持续演化同时发现和修复潜在问题。
评估流程 架构度量分别对 演化前架构 和 演化后架构 进行质量属性度量得到度量结果。 计算质量属性距离根据度量结果计算演化前后架构的 质量属性距离分析两者之间的差异。 推测架构演化操作根据质量属性距离的变化逆向推测可能发生的 架构演化操作集合并确定操作的作用位置和对象 分析驱动因素例如平台移植、提高性能、修复代码错误。 验证预期目标 不符合预期可能存在未解决的问题或引入新问题需进一步演化修复。 符合预期说明演化完成了预期任务如可维护性提高、可靠性增强。
评估应用 演化操作验证确定演化是否达到了改善架构的目标。 问题定位与优化识别演化过程中可能引入的质量问题 支持持续演化分析架构演化中的缺陷支持下一轮的合理演化。