软件灵活性(software flexibility),理学-计算机科学技术-软件工程-软件工程管理-软件质量工程-软件质量属性,反映软件的应变能力,当客户需求发生变化时,只需做很少的修改就能满足用户的需求。如果为了满足用户的修改要求,软件开发者需要花很大力气或很长时间才能完成修改,而且每次修改都会涉及软件全身或大部分,导致经常由于修改某个小毛病,却引起了其他地方可能出现毛病,回归测试的代价很大,那该软件肯定是不灵活的。灵活性和可扩展性通常成对出现,软件灵活性不好,可扩展性同样不好。软件灵活性通常体现在软件模型的灵活性、软件代码的灵活性、算法灵活性等方面。软件模型的灵活性是指软件模型可以灵活适应用户需求变化的能力;软件代码的灵活性是指容易通过修改软件代码来满足用户新的需求;算法灵活性是指如果需要的话对代码的修改比较容易。例如,业务模型应能刻画用户的业务过程,好的业务模型随着用户业务流程的变化可以灵活地调整。好的程序员不仅能写出规范的代码,更要有出众的设计能力,因为良好的设计能给实现带来很好的灵活性。