文档介绍:2007-8-10作者:务实转载自:IT168编辑:问天点击进入论坛1、工具观人类之所以能够成为世界的主宰,主要在于其发明与使用工具的能力。从这种意义上看,软件也是一种工具,是代替、强化和延伸人类思维能力的工具,而其他工具则使人的体能、感官等得以增强。软件的使用方法与其他工具相仿,由使用者操作以完成从输入到输出的转化;而软件的应用过程却不像其他工具那样有磨损、折旧及报废的过程,它的生命结束在于技术、业务上的滞后。 2、逻辑观软件是代替与增强人脑思维功能的逻辑产品。正如一位名教授所言,欲使计算机为人思考问题,则人必须首先用计算机的方式思考问题,而计算机的思考方式是形式逻辑,或称数据逻辑。从逻辑学的角度看,人的思维与认知过程就是某种形式的演绎与推理过程,为此逻辑学进行了大量的研究,并且直接推进了计算机的诞生与发展。形式逻辑通过建立一种可机械实现的符号演算机制,模拟了人类思维中的一类精确推理过程,特别是从形式逻辑分离出来的形式化语言和有限状态自动机理论,为计算机语言的产生及发展奠定了牢固的理论基础。 3、计算观计算的实质是寻找一种可机械执行的算法,软件当然可以归为此类。对计算的长期理论研究导致了第一个计算模型----图灵机(Turningmachine)的诞生,它被公认为现代计算机的祖先。对可计算性的深入研究推导出了图灵机的等价模型,如流程图即是一种可计算性的等价模型。可计算性理论也对不可计算的问题进行了研究,如开发万能计算机杀毒软件就是不可计算问题。对算法的深入研究也产生了另一门学科,即计算复杂性理论,着重于NT难解型问题的研究,如推销员问题就是NT难解型问题之一。算法模型也向着限定化的方向发展,如X/OPEN组织所推出的XA和XA+两阶段提交交易处理模型、+网络计算模型、网络计算模型、SUN公司提出的RMI网络模型及OMG组织提出的CORBA网络计算模型等,对不同环境,特别是网络环境下的计算过程给出了具体的解决方案。数学是理学的基础学科,大量的自然和社会问题可以通过数学的方法进行描述,但数据问题却不一定是可计算问题。为此,计算数学学科应运而生,通过逼近、迭代等方法将数学问题变成可计算问题。从计算的观点看,计算机只是执行算法的机器。算法通过指令的方式进行描述,指令则从算法语言如C、COBOL等编译而来,而算法语言所描述的是用户的业务逻辑,因此软件系统可视为特定算法的实现。 4、组成观关于软件可用两个简单的算式来概括: 软件=程序+文档程序=算法+数据结构以上简单的公式已被大多软件工程技术人员所接受。程序是软件的产品,但在其使用和维护过程中需要使用手册和技术文档,其开发过程需要有分析和设计文档、工程实施文档及项目管理文档等。算法是程序的灵魂,体现着软件的处理能力,而数据结构则是软件的实体,代表着业务数据的存储结构和部分业务逻辑关系。数据结构无论对于软件的应用和开发都是至关重要的,有经验的系统开发人员认为,良好的数据结构的确立,相当于软件开发成功了一多半。 5、模型观模型论属于逻辑学的范畴,因此反映的是思维及意识形态上的东西。建筑模型从形态、比例、色调上反映着与实物的对比关系,数学模型从量的角度反映了客观世界事物属性间的约束和控制关系。从模型论的角度看,整个软件系统是客户业务实现的一个模型,特别是软件的研制过程就是一个建模及模型间的演绎过程。需求是一个模型,