第八章
1)软件维护的定义 分类
StartFragment
维护分类
–改正性维护(Corrective Maintenance)
–适应性维护(Adaptive Maintenance)
–完善性维护(Perfective/Evolutive Maintenance)
–预防性维护(Preventative Maintenance)
2)软件维护的特点
a.结构化维护与非结构化维护差别巨大
b.维护的代价高昂
c.维护的问题很多
3)软件维护过程
a.维护组织——非正式
b.维护报表——由申请维护的用户填写
c.维护的事件流
d.保存维护纪录
e.评价维护活动
4)维护的副作用
代码副作用 数据副作用 文档副作用
5)可维护性
衡量标准:可理解性 可使用性
可测试性 可移植性
可修改性 效率
可靠性
6)一些零散概念
a.文档 用户文档 系统文档
b.可维护性复审
c.预防性维护
7)软件再工程
正向工程(Forward Engineering):由抽象的、逻辑性的、不依存代码的设计逐步展开,直至具体代码实现的开发活动,即从需求规格设计到产品初次发布的过程或子过程
逆向工程(Reverse Engineering):对既存系统的分析过程,明确系统各组成部分及其相互间的关系,并将系统以转换成其他更抽象的形式来表现
重构 (Restructuring):在同一抽象级别上转换系统的描述形式
再工程 (Reengineering):在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本
再工程=逆向工程+重构+正向工程