chapter7【卉】1
需积分: 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”中涉及的软件可修改性的详细解释,涵盖了概念、场景、战术和设计原则,以及具体的实例分析,旨在帮助理解和提升软件的可修改性。
![avatar](https://profile-avatar.csdnimg.cn/86325867044f472e902d0f758a489353_weixin_35781147.jpg!1)
高中化学孙环宇
- 粉丝: 16
- 资源: 338
最新资源
- 石油管道巡检-基于YOLOv11的腐蚀检测与泄漏预警算法实现.pdf
- 实时海洋监测-YOLOv11在船舶识别与污染检测中的创新应用.pdf
- 实时羽毛球追踪-YOLOv11运动轨迹预测算法深度剖析.pdf
- 水产养殖监测-YOLOv11水下生物识别与生长状态分析系统.pdf
- 水产养殖创新-YOLOv11实现鱼类行为分析与投喂量智能调控.pdf
- 水产养殖智能化-YOLOv11实现鱼类生长状态实时监控.pdf
- 水产养殖智能化-YOLOv11实现鱼类行为分析与投喂决策.pdf
- 水产养殖智能化管理-YOLOv11实现鱼类行为分析与生长监测.pdf
- 特征融合新思路-YOLOv11双向特征金字塔深度优化方案.pdf
- 水域安全监测-YOLOv11船舶行为识别与非法捕捞实时预警系统.pdf
- 体育赛事分析-YOLOv11运动员动作捕捉与战术轨迹可视化.pdf
- 体育赛事分析-YOLOv11足球运动员动作识别与战术板自动生成.pdf
- 体育训练分析-YOLOv11运动员动作捕捉与姿态估计技术详解.pdf
- 微创手术辅助-YOLOv11实现手术器械实时追踪与导航系统.pdf
- 卫星遥感解析-YOLOv11在土地利用分类中的小目标检测优化策略(地理信息).pdf
- 卫星遥感解析-YOLOv11地表建筑物变化检测与违建识别.pdf