软件适应性(software adaptability),理学-计算机科学技术-软件工程-软件工程管理-软件质量工程-软件质量属性,软件适应环境变化的能力。通常从两个角度理解软件适应性。①从开发部署的角度看,软件适应性关注的是:在一定的技术和产品积累的基础上,针对相似应用的不同需求怎样才能快速设计、开发、配置和部署软件;或者在原有软件配置部署基础上,怎样更好地支持软件的进化,以适应新的需求(如增加新特性,以吸引客户;重组业务流程,以提高效率;改变数据库表,以适应功能调整;调整界面,以方便人机交互;提高可靠性、提高安全性,等等)。从这个角度看待软件适应性,发展出一些适应性软件开发方法和技术。②从动态运行的角度看,软件适应性关注的是:软件的动态特性,强调软件的鲁棒性和智能化。运行时,面对动态变化的环境,软件怎样进行动态调整。这种环境变化,典型的包括:资源属性的变化,例如:系统硬件配置增加(存储、节点)、资源发生故障等;运行上下文的变化,例如:带宽变窄、受到攻击等;用户访问的变化,例如:用户数量的变化、用户偏好的变化、用户访问物理地址的变化、用户访问协议的变化等。