chapter7【卉】1

preview
需积分: 0 0 下载量 8 浏览量 更新于2022-08-08 收藏 376KB DOCX 举报
【知识点详解】 1. 可修改性(Modifiability): 可修改性是衡量软件在不引起过多成本和风险的情况下,能够适应变化的能力。它关注的是在系统中进行变更的成本,包括时间、金钱以及可能对其他功能或质量属性产生的影响。在实际开发中,这涉及到对代码、数据、接口、组件、资源和配置等元素的改动,并且这些改动可能发生在设计时、编译时、构建时、启动时或运行时。 2. 可修改性的一般场景: 可修改性场景通常涉及最终用户、开发人员和系统管理员对系统进行的变更,例如添加、删除或修改功能,改变质量属性,调整容量或采用新技术。响应这些变更可能需要进行修改、测试和部署,并通过成本指标(如影响的工件数量、大小、复杂性、时间、金钱和引入的新缺陷)来度量其效果。 3. 可修改性战术: 目标是控制变更的复杂性,减少变更的时间和成本。具体战术包括: - 提高内聚性(Single Responsibility Principle, SRP):确保每个模块专注于一项单一职责,以减少修改时的耦合。 - 减少耦合(Open/Closed Principle, OCP):通过封装、使用中介、限制依赖性和重构来降低模块间的相互影响。 - 模块拆分:将大模块分解为小模块,降低单个模块的修改成本。 - 增加语义连贯性:确保模块中的职责相关联,以便更好地组织代码。 - 抽象共同服务:创建通用服务层,以提供灵活的接口。 - 延迟绑定:在生命周期的后期进行绑定,提高系统的灵活性。 4. 设计可修改性: - 预测可能的变更:分析可能需要的变更类型,确定需要修改的职责,并评估它们对其他职责的影响。 - 运行时可变性:确定哪些功能或质量属性可以在运行时更改,并最小化受影响的模块集合。 - 协调机制的可变性:确保协调设备、协议和通信路径的改动仅限于一小部分模块。 - 使用协调模型:如发布/订阅、企业服务总线(Enterprise Service Bus, ESB)和广播等,来降低耦合、推迟绑定或限制依赖性。 5. 学习案例: - Generic Connection Framework in MIDP 2.0:MIDP 2.0通过工厂设计模式扩展了连接框架,支持HTTPS、串口连接、套接字等,展示了如何通过设计模式增加可修改性。 - 微信Android模块化架构重构:微信的架构改进展示了如何通过模块化来提高可维护性和可修改性,解决变更带来的问题,并确保组件在正确生命周期内工作。 以上是关于“Chapter7【卉】1”中涉及的软件可修改性的详细解释,涵盖了概念、场景、战术和设计原则,以及具体的实例分析,旨在帮助理解和提升软件的可修改性。
身份认证 购VIP最低享 7 折!
30元优惠券
高中化学孙环宇
  • 粉丝: 16
  • 资源: 338
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜