time 
设为首页】【收藏本站
当前位置: 主页 > 软件工程 > 软件过程 > 对软件认识的十二点感悟

对软件认识的十二点感悟

时间:2009-12-04 22:56 点击:634次 字体:[ ]




  大家知道,计算机软件(以下简称软件),是指计算机程序及其有关文档。计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列,同一计算机程序的源程序和目标程序为同一作品。文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。计算机软件系统有系统软件、应用软件等;系统软件是计算机系统必备的软件,操作系统位于计算机硬件之上的最底层的系统软件,应用软件有很强的针对性和实用性。

  1、工具观

  人类之所以能够成为世界的主宰,主要在于其发明与使用工具的能力。从这种意义上看,软件也是一种工具,是代替、强化和延伸人类思维能力的工具,而其他工具则使人的体能、感官等得以增强。软件的使用方法与其他工具相仿,由使用者操作以完成从输入到输出的转化;而软件的应用过程却不像其他工具那样有磨损、折旧及报废的过程,它的生命结束在于技术、业务上的滞后。

  2、逻辑观

  软件是代替与增强人脑思维功能的逻辑产品。正如一位名教授所言,欲使计算机为人思考问题,则人必须首先用计算机的方式思考问题,而计算机的思考方式是形式逻辑,或称数据逻辑。从逻辑学的角度看,人的思维与认知过程就是某种形式的演绎与推理过程,为此逻辑学进行了大量的研究,并且直接推进了计算机的诞生与发展。形式逻辑通过建立一种可机械实现的符号演算机制,模拟了人类思维中的一类精确推理过程,特别是从形式逻辑分离出来的形式化语言和有限状态自动机理论,为计算机语言的产生及发展奠定了牢固的理论基础。

  3、计算观

  计算的实质是寻找一种可机械执行的算法,软件当然可以归为此类。对计算的长期理论研究导致了第一个计算模型----图灵机(Turning machine)的诞生,它被公认为现代计算机的祖先。对可计算性的深入研究推导出了图灵机的等价模型,如流程图即是一种可计算性的等价模型。可计算性理论也对不可计算的问题进行了研究,如开发万能计算机杀毒软件就是不可计算问题。对算法的深入研究也产生了另一门学科,即计算复杂性理论,着重于NT难解型问题的研究,如推销员问题就是NT难解型问题之一。

  算法模型也向着限定化的方向发展,如X/OPEN组织所推出的XA和XA+两阶段提交交易处理模型、Microsoft公司提出的COM+网络计算模型、IBM公司提出的基于SET协议的Internet网络计算模型、SUN公司提出的RMI网络模型及OMG组织提出的CORBA网络计算模型等,对不同环境,特别是网络环境下的计算过程给出了具体的解决方案。

  数学是理学的基础学科,大量的自然和社会问题可以通过数学的方法进行描述,但数据问题却不一定是可计算问题。为此,计算数学学科应运而生,通过逼近、迭代等方法将数学问题变成可计算问题。

  从计算的观点看,计算机只是执行算法的机器。算法通过指令的方式进行描述,指令则从算法语言如C、COBOL等编译而来,而算法语言所描述的是用户的业务逻辑,因此软件系统可视为特定算法的实现。

  4、组成观

  关于软件可用两个简单的算式来概括:

  软件=程序+文档

  程序=算法+数据结构

  以上简单的公式已被大多软件工程技术人员所接受。程序是软件的产品,但在其使用和维护过程中需要使用手册和技术文档,其开发过程需要有分析和设计文档、工程实施文档及项目管理文档等。算法是程序的灵魂,体现着软件的处理能力,而数据结构则是软件的实体,代表着业务数据的存储结构和部分业务逻辑关系。数据结构无论对于软件的应用和开发都是至关重要的,有经验的系统开发人员认为,良好的数据结构的确立,相当于软件开发成功了一多半。

  5、模型观

  模型论属于逻辑学的范畴,因此反映的是思维及意识形态上的东西。建筑模型从形态、比例、色调上反映着与实物的对比关系,数学模型从量的角度反映了客观世界事物属性间的约束和控制关系。从模型论的角度看,整个软件系统是客户业务实现的一个模型,特别是软件的研制过程就是一个建模及模型间的演绎过程。需求是一个模型,代表了从用户视角反映软件系统的结构和功能;体系架构是一个模型,从较高层次上反映了系统的软硬功能群的组成结构及分布关系;概要设计是更进一步的建模过程,反映了软件系统在体系架构之下最小功能的组成、调用关系、命名方式及参数化构成;详细设计是在概要设计框架内的细化过程,定义了各功能的具体实现机制;编码是基于详细设计的建模过程,将设计文档变换成计算机语言和数据结构;测试过程通过一系列业务模型,对系统功能的准确性和全面性进行验证。

  现代面向对象分析与设计理论,提供了更高级和先进的系统建模方法与理论,如UML语言、MVC模型等。

  6、集成观

  应用软件的功能最终要转换为硬件服务来实现,在此期间调用、控制、协同和驱动了系统软件和不同硬件的一系列功能,如图1所示。

   对软件认识的十二点感悟_www.fengfly.com

  不难看出,应用软件系统是一个粘合剂,它将其他厂商提供的软件和硬件集成在一起,为用户提供一个完整的解决方案。从这一角度看,应用软件的开发者对软硬件组合具有充分的选择余地,同时也要求软件开发商具备丰富的软硬件知识,这是建设高质量、高性能价格比应用系统的基础之一。

  7、结构观

  从客户应用领域来看,应用软件系统之间存在着结构关系,从不同层面上为用户提供服务。图2为大部分行业对软件应用系统的结构关系所做出的规划。

   对软件认识的十二点感悟_www.fengfly.com

  其中作业层是基础层,位于这个层面的软件系统的主要功能代替了传统的手工劳动;作业控制层的应用系统主要是为作业层提供一个协作和控制的环境,如银行的金库管理、跨行交易就属于这一层的功能;管理层的软件系统为企业的管理机构提供服务,统计、报表是这一层软件的必备功能:决策层是企业应用软件体系的最高层,通过对下面几层软件系统数据的分析、挖掘,通过规划论、决策论、对策论及数理统计的有关模型,对企业的决策层提供辅助支持。

  8、工程观

  从软件系统的构造或开发过程来看,工程化的实施思想已被普遍接受,“软件工程”学科在计算机科学领域早已奠定了其地位与作用。“工程”不同于“理论”的最重要区别在于,它运用有限的资源,通过一系列可机械化执行的规范与步骤,协调团队在计划时间内达到预定的目标。针对软件工程的实施,有一种观点认为无论是采用面向对象技术还是传统的面向过程技术,“技术路线”、“项目管理”和“质量管理”是最重要的,如图3所示。

   对软件认识的十二点感悟_www.fengfly.com

  其中,“技术路线”是旗帜,规定了项目开发的步骤、阶段、规范与任务;“项目管理”是措施,规定了任务由谁来完成,什么时间完成等,需要有强有力的管理措施与手段实施控制;“质量管理”是监督,确保系统完整、准确地完成用户需求所要求的功能,有关标准、规范等被很好地遵守。只有“技术路线”、“项目管理”和“质量管理”的有机结合,一个软件工程项目才能有序、有计划、高质量地完成。

  9、对象观

  面向对象的分析与设计理论认为,现实世界是由对象构成的,对象是具有特殊属性和行为的实体,对象间具有共性、层次性、继承性和关联性,反映了客观世界从普遍到一般、从个性到共性及相互制约的运动规律。从这个角度,软件的开发可以视为“类”的抽象及其关联的建模过程,软件的运行是对象的实例化及其状态的演变过程。面向对象技术使得软件开发的构模过程更加接近于现实世界的特点,是对结构化设计方法的革命性进化。

  10、生存期

  任何事物均有一个发生、发展、衰退以致消亡的过程,软件亦不例外。根据ISO/IEC 12207软件生命周期标准,一个通用的软件生命周期模型如图4所示。

   对软件认识的十二点感悟_www.fengfly.com

  根据具体项目的特点,定义符合自身特点的生命周期模型,有利于项目开发者和使用者制订切实可行的计划,合理分配人力物力,在整个生存期中保证软件的质量。

  11、质量观

  软件产品本身的特点决定了其独特的质量标准,有—种观点认为软件的质量需要从软件运行、维护及移植三个维度进行综合衡量,如图5所示。

   对软件认识的十二点感悟_www.fengfly.com

  较高的软件产品质量来源于规范的软件工程技术和管理方法的应用,也体现了开发团队及用户代表之间较强的合作精神和较高的业务、技术水平。

  12、人机工程观

  软件系统的使用就构成了人机系统,因此有必要接受人机工程学理论和实践的指导。在人机工程中软件操作人员被看成是系统的一个元件,因此在设计时首先应该合理地分配人的功能,与软件系统形成一个有机的整体;其次是操作人员需要有一个培训、应用及熟练的过程,因此好的系统应该易于学习、理解和掌握;再次是由于操作人员通过感觉器官(视、听、触、嗅、味)来接受系统的信息,并手工操作软件系统,因此软件的界面应该简洁,并利于操作人员熟练后进行盲打操作;此外,由于人的操作不可避免地存在着失误,系统应增加相应的功能使操作员快速发现问题并予以更正。

  作者:务实,多年从事J2EE网站及应用系统项目的开发和应用



本文地址 : http://www.fengfly.com/plus/view-159912-1.html
标签: 模型 过程 计算 软件 认识 感悟
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: