软件工程中软件可维护性的定义是什么?
软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。
决定可维护性的因素: 1.系统的大小 2.系统的年龄 3.结构合理性 可维护性可通过7个质量特性来衡量: 可理解性 可测试性 可修改性 可靠性 可移植性 可使用性 效率
如何提高系统可维护性
要使编写的软件具有较强的可维护性,设计人员就必须从软件的方案设计起,树立起软件维护的概念,只有这样,才有可能在以后的程序设计中给软件维护预留出操作空间。
一、合理的程序结构合理的程序结构不仅有利于软件的维护工作,同时也是团队集体创作的前提。
1.软件的模块化根据需求,将软件划分为几个相互独立的模块,定义出各模块间的调用关系和数据交换方式。
这样,不仅可以使创作团队中的各成员可以并行、独立编写其中的一个或几个模块,而且可以使得以后的软件维护以较小的模块为单位进行,而不必因为一个小小的维护而修改全部的软件代码。
2.预留出一定的空余编码以供扩展空余编码包括程序空余编码和数据空余编码。
由于用户对需求的模糊和设计人员对需求理解的偏差,软件编写之初,不可能把所有需求全部实现,这就要求设计人员在方案设计时,除了完成已知的需求任务外,必须预留充足的编码空间,再加上采用本文后面将介绍的一些技术,使得软件的扩展相当容易。
3.函数体(对象)的封闭性函数体(对象)的封闭性是指该段代码在程序控制方面不影响其它代码的执行,在数据方面除了接口数据外不影响其它的数据。
这一点对日后改进软件算法至关重要,只有这样,才有可能对某一函数进行修改而不意外地破坏整个软件。
二、程序控制的数据化实际上,对控制代码的修改不仅烦琐,而且出错的概率也会增大,降低软件的可靠性,不利于软件的维护,因此在软件维护时,如果能不修改控制代码就尽量不修改控制代码。
我们设想如果仅改变程序中的数据,就可以实现对程序控制的修改,这就是程序控制的数据化。
...
度量软件可维护性的特征包括哪些内容
个人认为将当前情况下,行为分配给农场主既有利于可扩展又有利于维护性。
从语义上分析:挤奶是行为,本例中只有农场主具有该行为,奶牛语义上不应该具备该行为,奶牛只能返回相关属性,让农场主判定是否能够挤奶,挤奶量等等。
无论奶牛如何扩展、甚至农场主扩展,都可以依赖抽象(当然不考虑双分发问题),具备较高的扩展性。
同时维护点少,如果分配给奶牛,那么如果奶牛的挤奶行为出现差错,则可能需要从顶层至底层修改奶牛的行为。
而分配给农场主,则出错仅需在挤奶这个行为范围内进行修改。
题外话:当然复杂情况下,维护性不好判断,也就是说,前提是如果系统扩展至一定层次,那么农场主挤奶行为可能会十分复杂,那么它的维护性远远低于分配给奶牛。
软件的可维护性与哪些因素有关?在软件开发过程中应该此案去哪些措...
软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废或停止使用的生命周期.周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
阶段同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。
通常,软件生存周期包括:一,问题定义。
要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
二,可行性研究。
一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三,需求分析。
弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
四,开发阶段。
开发阶段由三个阶段组成:1,设计2,实现:根据选定的程序设计语言完成源程序的编码。
3,测试五,维护:维护包括四个方面1,改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
2,适应性维护:是为适应环境的变化而修改软件的活动。
3,完善性维护[1] :是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
4,预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
什么是软件的生命周期?软件生命周期分哪几个阶段
软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废或停止使用的生命周期.周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
阶段同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。
通常,软件生存周期包括:一,问题定义。
要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
二,可行性研究。
一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三,需求分析。
弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
四,开发阶段。
开发阶段由三个阶段组成:1,设计2,实现:根据选定的程序设计语言完成源程序的编码。
3,测试五,维护:维护包括四个方面1,改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
2,适应性维护:是为适应环境的变化而修改软件的活动。
3,完善性维护[1] :是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
4,预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
...
转载请注明出处51数据库 » 系统与软件可维护性的定义研究