《软件设计的进化》PPT课件

《软件设计的进化》PPT课件

ID:37813253

大小:751.00 KB

页数:47页

时间:2019-05-31

《软件设计的进化》PPT课件_第1页
《软件设计的进化》PPT课件_第2页
《软件设计的进化》PPT课件_第3页
《软件设计的进化》PPT课件_第4页
《软件设计的进化》PPT课件_第5页
资源描述:

《《软件设计的进化》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、作业点评刘鑫刘甫1第十讲:软件设计的进化董威,文艳军,陈振邦国防科技大学计算机学院《软件设计与体系结构》3内容10.1遗留系统10.2软件的进化策略10.3软件再工程10.4软件体系结构的进化10.5代码重构和数据重构10.6软件移植4遗留系统遗留系统是过去开发的计算机系统,通常使用了目前已经过时或不再使用的技术。这些系统的开发可能在生命周期中一直持续,通过变更来适应新需求、新运行平台等方面的变化。遗留系统不仅包括硬件和软件,还包括遗留的业务过程和步骤。对这类系统的一部分进行变更将不可避免地导致其它组成部分的变更。5遗留系统

2、的组成支撑软件系统硬件应用软件应用数据业务策略和规则业务过程运行使用运行使用使用包含应用知识6遗留系统的层次模型业务过程应用软件支撑软件硬件7内容10.1遗留系统10.2软件的进化策略10.3软件再工程10.4软件体系结构的进化10.5代码重构和数据重构10.6软件移植8(1)进化策略的分类遗留软件的维护和升级将会受到预算、期限等多种因素的约束,因此开发者需要对遗留软件系统的实际情况进行评价,然后选择最合适的进化策略:完全放弃该软件不改变该软件系统并继续进行常规的维护对软件系统实施再工程(re-engineering)以提高

3、可维护性用新系统替换遗留软件系统的全部或其中一部分9(2)进化策略的选择选择合适的进化策略需要对遗留软件系统进行准确的评价。在对遗留软件进行评价时,业务需求和技术这两个方面均要进行考虑。10遗留软件系统的评价业务价值高业务价值低系统质量高业务价值高系统质量低业务价值低系统质量低业务价值高系统质量系统质量11业务价值的评价为了评价一个系统的业务价值,首先需要明确系统最终用户及其管理者,并从下面四个主要方面对系统进行考察:系统的使用系统支持的业务过程系统的可靠性系统的输出12系统质量的评价从技术角度来评价一个软件系统,需要同时考

4、虑应用软件本身以及软件运行的环境。环境包括硬件和所有相关的支撑软件,例如对于系统维护所需要的编译器等。认为环境很重要的原因是,很多软件系统的变更是由于环境变更导致的,例如硬件或操作系统的升级。如果可能,在环境评价的过程中,应对系统及其维护过程的某些方面进行度量。13环境评价考虑的因素因素问题厂商稳定性供应商是否仍然存在?供应商经济上是否稳定并可能会继续存在?如果供应商不再存在,是否有其他人来维护系统?失效率硬件是否有较高的失效率?支撑软件是否会崩溃并迫使系统重启?已使用时间硬件和软件已经使用多久?硬件和支撑软件使用越久,就会

5、越陈旧,尽管可能仍正常运转,但这时迁移到现代系统中有可能带来更显著的经济和商业利益。性能系统的性能是否足够?性能问题是否对系统使用者有明显的影响?保障需求硬件和软件需要哪些本地保障?如果保障的成本较高,就值得考虑对现有系统进行替换。维护成本硬件维护和支撑软件许可证的成本如何?与现代系统相比,陈旧的硬件可能有较高的维护成本。支撑软件每年的许可证收费也可能较高。互操作性该系统与其它系统的接口如何?例如,编译器能否在当前版本的操作系统中使用?是否需要硬件模拟器?14技术评价考虑的因素因素问题可理解性理解当前软件源代码的困难程度如何

6、?其使用的控制结构有多复杂?变量是否具有能反映其使用的、有意义的命名?文档有哪些软件文档可用?文档是否完整、一致、有效?数据软件系统是否有数据模型?数据在文件间复制的程度有多大?系统使用的数据是否是最新和一致的?性能软件系统的性能是否足够?性能问题是否对用户有显著影响?程序设计语言用来开发软件的程序语言是否有可用的现代编译器?该程序语言是否还在新软件的开发中使用?配置管理软件所有部分的所有版本是否由一个配置管理系统进行管理?当前软件系统中使用的组件版本是否有清楚的描述?测试数据是否存在系统测试数据?在往系统中加入新特征后,是

7、否实施了回归测试,并进行相应的记录?人员技术能力是否有人具有维护该系统的技术?是否只有有限数目的人员理解该系统?15内容10.1遗留系统10.2软件的进化策略10.3软件再工程10.4软件体系结构的进化10.5代码重构和数据重构10.6软件移植16再工程的概念软件系统的进化过程包括对必须改进的程序进行理解,然后实现相应的改进。但是,对于许多存在已久的遗留系统,这些系统已经难以理解和更改。对这些遗留软件进行维护的成本甚至会超过用户所能容忍的程度。这样,就需要通过再工程来对软件系统进行重建,改进其功能和性能以满足用户的最新需要,

8、并提高整个系统的可靠性和可维护性。17再工程的优点减少风险。对关键软件完全进行重新开发具有很高的风险。新开发的软件系统未在实践中充分应用,可能在开发过程中存在的某些问题还未暴露出来。而新系统开发如果延迟完成,将会造成极大的损失。减少成本。根据以往的实践经验和统计,再工程的成本要明显比开发一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。