哈尔滨工业大学软件构造课程笔记第五章第一节

本文详细探讨了软件维护的重要性,包括纠错性、适应性、完善性和预防性维护。介绍了软件演化的概念,强调了设计阶段考虑可维护性的重要性。讨论了可维护性、可扩展性、灵活性、可适应性和可管理性的指标,并提出了模块化设计的五个标准和五条原则。此外,文章深入讲解了面向对象设计的SOLID原则和GRASP模式,以提高软件的可维护性和质量。
摘要由CSDN通过智能技术生成

5.1可维护性的度量与构造原则

1.软件维护和软件演化

什么是软件维护?
软件工程中的软件维护是指在软件产品交付后对其进行修改,以纠正错误,提高性能或其他属性。

运维工程师
运维是软件开发中最困难的工作之一,涉及到其他所有环节

处理来自用户报告的故障/问题

运维工程师必须有高超的调试技巧

修复代码之后
更多步骤:
测试所做的修改
回归测试
记录变化

除了修复问题,修改中不能引入新的故障

最大的问题:修改后没有足够的文档记录和测试

软件维护的类型
25% 纠错性:对交付后执行的软件产品进行反应性修改,以纠正发现的问题
21% 适应性:在交付后对软件产品进行的修改,以使软件产品在变更或变化的环境中保持可用
50% 完善性:改进交付后的软件产品,以提高性能或可维护性
4% 预防性:在交付后对软件产品进行修改,以便在软件产品中潜在的故障成为有效故障之前检测并纠正它们

软件演化
软件进化是软件维护中的一个术语,指的是最初开发软件,然后由于各种原因对其进行反复更新的过程。

软件的大部分成本来自于维护阶段

雷曼关于软件进化的八条定律
在这里插入图片描述▪反馈系统
▪持续改变
▪持续增长
▪质量下降
▪增加复杂性
▪自我调节
-保持组织的稳定性
-熟悉性守恒

软件维护不仅仅是运维工程师的工作,而是从设计和开发阶段就开始了
在设计与开发阶段就要考虑将来的可维护性
设计方案的“easy to change”

这就是所谓的“可维护性”、“可扩展性”
软件构建的“灵活性”。

面向可维护性的构造的例子
▪模块化设计和实现
-低耦合和高内聚
▪OO设计原则
-坚实,把握
▪OO设计模式
-工厂方法模式,生成器模式
-桥梁模式,代理模式
-记忆模式&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值