通常用来衡量算法的复杂度的标准有两个,是时间复杂度和空间复杂度。时间复杂度就是指完成该算法所要花费的工作量或者说运行的时间数量级;空间复杂度是指 算法所要使用的变量的存储空间花费为多大。编写程序实现算法的时候,程序的结构化十分重要,包括对程序进行分模块处理。在实现中应该尽量使用有意义的变量 名,这样对于变量的用途可以使用变量名来显现,有助于维护的时候重读代码时对于变量的理解。调试程序与测试相似,是不能用来证明程序一定是无错的,只能尽 可能多的找出错误,修改错误。
通常用来衡量算法的复杂度的标准有两个,是时间复杂度和空间复杂度。时间复杂度就是指完成该算法所要花费的工作量或者说运行的时间数量级;空间复杂度是指 算法所要使用的变量的存储空间花费为多大。编写程序实现算法的时候,程序的结构化十分重要,包括对程序进行分模块处理。在实现中应该尽量使用有意义的变量 名,这样对于变量的用途可以使用变量名来显现,有助于维护的时候重读代码时对于变量的理解。调试程序与测试相似,是不能用来证明程序一定是无错的,只能尽 可能多的找出错误,修改错误。
根据统计资料表明,维护阶段的花费占到了整个软件生命周期总花费的60%~80%,这是一个相当可观的数字。随着人们对于软件维护的重要性的逐步认识,对于软件维护的重视也越来越多。软件的维护工作主要包括:正确性维护、适应性维护、完善性维护和预防性维护。正确的软件维护工作所应该采取的措施是:切实加强维护管理,并在开发过程中采取有利于软件未来维护的措施。软件的可维护性包括可测试性、可理解性和可修改性。软件维护管理主要是指为了保证维护质量、提高维护效率、控制维护成本而进行的维护工作管理。它要求对于软件的每次"修改"都必须经历申请、评估、批准、实施和验证等步骤。
螺旋模型最早是由Boehm提出的,是一个演化软件过程模型,它将原型的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使得软件的增量版本的快 速开发成为可能。螺旋模型被划分为若干个框架活动,也成为任务区域。随着演化过程的开始,软件工程项目按顺时针方向沿着螺旋移动,从核心开始。螺旋的第1 圈可能产生产品的规格说明;再外层的螺旋可能用于开发一个原型;随后可能是软件的更完善的版本。每一圈都可以对项目计划进行调整,基于从用户处得到的评估 结果和反馈来调整开发的设计和进度。对于大型系统以及软件的开发者来说,螺旋模型是一个很现实的方法。因为软件随着过程的进展演化,开发者和用户能够更好 地理解和对待每一个演化级别上的风险。螺旋模型使用原型作为降低风险的机制,但更重要的是它使开发者在产品演化的任一阶段均可应用原型方法。它保持了传统 生命周期模型中系统性、阶段性的方法,但将其并入了迭代框架,更加真实地反映了现实世界。螺旋模型要求在项目的所有阶段直接考虑技术风险,如果应用得当, 能够在风险变成问题之前降低它的危害。