算法的特征有:
1、有穷性(Finiteness),算法的有穷性是指算法必须能在执行有限个步骤之后终止;
2、确切性(Definiteness),算法的每一步骤必须有确切的定义;
3、输入项(Input),一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4、输出项(Output),一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;
5、可行性(Effectiveness),算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
软件工程的三要素都是什么?
软件工程的三要素是方法、工具和过程。
软件工程方法为软件开发提供了 “如何做” 的技术,软件工具为软件工程方法提供了自动的或半自动的软件支撑环境; 过程是为了获得高质量的软件所需要完成的一系列任务框架,它规定了完成各项任务的工作步骤。
软件工程的目标是在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。