ISBN0-13-146913-4Prentice-Hall,2006Chapter11维护系统Copyright2006Pearson/PrenticeHall.Allrightsreserved.PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.2©2006Pearson/PrenticeHall目录11.1变化的系统11.2维护的本质11.3维护问题11.4测量维护的特性11.5维护技术和工具11.6软件再生11.7信息系统的例子11.8实时系统的例子11.9本章对单个开发人员的意义PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.3©2006Pearson/PrenticeHall本章内容•系统演化•遗留系统•影响分析•软件再生PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.4©2006Pearson/PrenticeHall11.1变化的系统•维护:系统运行后,任何针对系统改变做出的工作–软件不会降低,也不需要定期的维护–然而软件需要不断提升•维护过程是困难的PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.5©2006Pearson/PrenticeHall11.1变化的系统软件开发过程中变化的例子进行最初改变的活动需求随之变化的制品需求分析需求规格说明系统设计体系结构设计规格说明技术设计规格说明程序设计程序设计规格说明程序实现程序代码程序文档单元测试测试计划测试脚本系统测试测试计划测试脚本系统交付用户文档操作员文档系统指南程序员指南培训课PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.6©2006Pearson/PrenticeHall11.1变化的系统系统生命周期跨度•我们需要维护阶段吗?–开发时间vs.维护时间•我们预期会有多少变化?–系统演化vs.系统退化–软件演化法则PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.7©2006Pearson/PrenticeHall11.1变化的系统开发时间Vs.维护时间•Parikh和Zvegintzov(1983)–开发时间:2年–维护时间:5到6年•Fjedstad和Hamlen(1979)–39%的工作量花在开发上–61%的工作量花在维护上•80-20法则–20%的工作量用于开发–80%的工作量用于维护PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage11.8©2006Pearson/PrenticeHall11.1变化的系统系统演化vs.系统退化•是否维护的成本太高了?•系统的可靠性可以接受吗?•在合理的时间内,系统不再能够适应进一步的变化吗?•系统性能还超出规定的约束吗?•系统功能只能起到有限的作用吗?•其他具有相同功能的系统是否更好、更快、更便宜?•维护的成本很高,有足够的理由用更便宜、更新的硬件?PfleegerandAtlee,Software...