树型软件工程方法

出版时间:2010-12  出版社:清华大学出版社  作者:万南洋  页数:331  

前言

本书是关于软件工程方面的专著,在计算机科学领域中首次提出了树型软件的设计方法。本书的主要成果是构造出了三类表示软件结构的数学树:表示系统结构的事件树,表示事件结构的任务树和表示任务结构的作业树。对于任何计算机软件系统,都可以用这三类逐级嵌套的数学树来建立其结构模型,继而生成分层嵌套的计算机程序。通常将计算机软件的设计方法分为两类:面向对象的和面向过程的。我们常用的方法称为ER方法(实体联系方法),实际就是面向对象的设计方法,或者说面向对象的方法本质上就是ER方法。树型软件工程方法实际是面向过程的方法,三类树中的任一个节点(事件,任务,作业)都是一个软件模块(过程)。人们在长期的软件工程实践中,总结出结构化系统和结构化程序的概念,认为这是最优的软件结构。所谓结构化的软件结构,应该是分层嵌套的软件结构,总可以用一棵树来表示。因此,无论是系统结构还是程序结构,能够以树来表示的就是最佳结构。就结构化设计要求而言,树型软件工程方法是与之吻合的。人们虽然提出了结构化系统设计概念,但始终没有形成独立、有效、完备的工程方法。这主要有以下两方面的原因,其一是模块的划分没有确定的方法,模块的范畴大小没有严格的定义;其二是不能确定模块间的连接关系,模块间的联系无法形成分层嵌套。这两点正是构造软件系统结构和程序结构的关键所在。在树型软件工程方法中,上述两方面的问题都得到了圆满的解决。模块划分方法既有严格的规定又是自然形成的,模块间的联系既符合算法逻辑又能形成树型结构。树型软件工程方法从现实世界的需求入手,逐级嵌套划分,最终得到了从大到小范畴不同的所有“过程”,形成了如图0-1所示的集中代表本书成果的“系统结构模型”。15.7 节详细说明了如图0-1所示的系统结构模型,该模型分为三大部分:现实世界、思维世界和信息世界。思维世界在这里所指的就是“算法”,以及抽象成“等效处理”、“协作调用”、“同宗控制”、“顺序执行”、“运算”、“标识”等系统分析和设计方法,它是从现实世界进入信息世界的桥梁。现实世界部分的“过程”既是现实世界中事物问的“作用过程”,也是信息世界中计算机软件的“过程模块”。信息世界中的各级数学树,都表示现实世界中处于相同级别的过程的结构,它们既是信息世界的过程结构,也是现实世界的过程结构。也可以说系统结构模型由四部分组成,这第四部分就是“数据”。可以想象立体的“系统结构模型”就像一座宝塔,每一个同心圆对应着宝塔的一层,各层中空部分直至宝塔顶尖都是“数据”。一方面,无论是现实世界的事物,还是思维世界的算法,进入计算机首先都要被“信息化”,都要被表示成“数据”。就是信息世界自身的过程,树和程序,也都需要标识成相应的“符号”数据。数据可以表示任何事物,任何事物只有表示成数据才能进入计算机,计算机就只认识数据。

内容概要

本书所述树型软件工程方法,是作者独创的全新的软件工程方法。该方法定义了系统、事件、任务、作业等结构化的过程模块,构造了表示系统结构的事件树,表示事件结构的任务树和表示任务结构的作业树,并将这些元素有机地结合成“系统结构模型”。按照该系统结构模型设计开发出来的软件系统是分层嵌套的,具有结构严谨、控制清晰、测试严密、可靠性高的特点。    树型软件工程方法直观易懂,工程实用性强,已设计开发出基于c语言的计算机软件辅助设计系统初级版MTC 2008(Mother Tree Cu 2008)供试用(见:http://www.wtreesoft.com)。用户需求分析,系统结构设计,程序结构设计,程序代码编写、调试和测试等所有步骤均可在辅助系统的引导与帮助下进行。上述三类数学树的设计构造都是可视的,就像机械设计制图那样,而且辅助设计系统会自动地将这三类树编制成程序代码。    本书可供软件工程技术人员、软件专业研究人员、大专院校师生用于软件项目开发或科研教学参考。

作者简介

万南洋,高级工程师。1970年毕业于上海交通大学电机工程系,1979-1981年考入哈尔滨工业大学自动控制与计算机系进修,从事计算机软件开发工作近30年。树型软件工程方法创始人,深圳市树型软件有限公司董事长。1970-1993年在航天部061基地工作,曾任技术员、工程师、高级工程师、民品处副处长,在我国最早引进的、20世纪80年代最先进的大型计算机“西门子7760”上工作了13年。1984年在“计算机工程与应用”杂志上发表论文《一个对半查找的新算法》,此后于1986年形成航天科技报告《子树分割法对半查找的理论、硬件与应用探讨》(编号:HT-861139)。1993-2009年在深圳证券交易所系统工作,曾任深圳证券登记公司副总经理、总工程师、深圳证券交易所总经理助理、深圳证券通信公司董事长。分管计算机软件系统的开发与维护,主持了自主开发的“证券交易系统”、“证券结算系统”和“证券监察系统”。2005年出版了专著《面向事件的数据库系统设计》(暨南大学出版社)。2006-2009年,对“面向事件的数据库系统设计”方法进行了更为深入全面的研究,最终形成了本书。2007-2009年,作为课题专家组组长,负责深圳证券交易所博士后工作站的博士后研究课题“树型软件工程方法辅助设计系统开发”,与其他专家及李云种博士和华成博士一起,成功开发出该辅助设计系统的初级版MTC-2008。

书籍目录

第一篇初始概念 第1章软件与计算机    1.1软件    1.2算法    1.3程序    1.4计算机    1.5软件工程    1.6小结 第2章事物  2.1事物的定义  2.2事物的虚实  2.3事物的标识  2.4小结 第3章情况   3.1 case的物理定义   3.2 case的形式定义   3.3 case与过程   3.4基本事物集   3.5 case的性质   3.6语法成分的信息化   3.7相关概念   3.8小结第二篇 过程及其结构树 第4章作业树    4.1控制语句 ……第三篇 系统分析与设计第四篇 树型软件及其工程方法第五篇 统计系统设计第六篇 辅助设计系统及其他参考文献后记:树型软件工程方法的哲理

章节摘录

插图:不过,我们并不打算去定义这个概念,主要是从宏观上了解它。本节所述软件不仅仅是指计算机软件,而是普遍意义上的“软件”,这样做有利于更通俗地去理解计算机软件。(1)软件没有质量现实世界的事物有“硬件”和“软件”之分。物理学上定义了物体的质量埘,并且有与物体质量相关的一系列力学定理。具有质量的物体应该是硬件,软件是没有质量的。诗歌是软件,人们绝不会认为诗歌作“自由落体”运动,因为诗歌没有质量。有质量的物体随处可见,比如桌子、板凳、高山、河流、机械、电器、医药、食品等。没有质量的事物也是随处可见,比如文学艺术、灵感创意、名誉地位等。这里要区分“软件”和“软件载体”,诗歌是软件,但写有诗歌的纸张,刻有诗歌的光盘都不是软件,而是硬件。计算机软件则是可在计算机上运行的程序及其文档。“程序及其文档”是计算机软件已是业界公认的说法,简单地说“程序就是计算机软件”。“文档”并非计算机软件特有的,任何软件或硬件产品也都有相应的文档。(2)软件记录于载体因为软件没有质量,也就没有形体和重量。要让人们感知软件必须借助于硬件载体,否则既看不见也摸不着。而计算机软件又增加了一层神秘的面纱,即便看得见也不容易懂,需要借助于计算机才能使用它,才能知道它的详细功能。尽管如此,软件也还是极普通的事物。计算机程序不易看懂,那是因为形式语言的可读性不好,人们通常只是习惯于自然语言。增强程序可读性的努力一直在持续,这使我们能直观而容易地解读程序,而这也是本书的任务之一。(3)软件只能单件研发计算机软件是人们制造出来的,软件制造也是一个行业,就像“机械”、“电子”、“化工”、“纺织”等行业一样。硬件行业的人员在生产本行业产品时均“心中有数”,因为其产品都经过“研发”、“定型”,然后再“批生产”。

后记

我们曾多次提及“哲学”这两个字,也一直在回避这两个字。一方面这两个字的含义实在太深奥了,另一方面笔者也的确不懂哲学。书已经写完了,但总觉得缺点什么,“树软工程方法到底是否符合哲理?”作为生产开发管理现实世界的计算机软件的方法,称得上是方法论,应该对这个问题有所探讨。于是去书店买了几本哲学方面的书,下工夫认真地学习,觉得还是有些体会。故而以“实用主义”的手法摘录了几位哲学家和科学家的语录于扉页,并写下了这篇后记,作为对树型软件工程方法哲理的探讨。下面叙述中,多引用到复旦大学陈其荣先生的著作《自然哲学》(复旦大学出版社,2004.6 )。树软工程方法是用来设计开发计算机软件系统产品的,方法本身也是从“系统概念”导出的,系统结构模型集中体现了这两方面,我们就从“系统”的角度来考察树软法的哲理。1.系统的定义美籍奥地利生物学家贝塔朗菲在《普通系统论的历史和现状》中写道:系统是“处于一定的相互关系中并与环境发生关系的各组成部分(要素)的总体(集)”。中国著名科学家钱学森在《论系统工程》中提到,系统是“由相互作用和相互依赖的若干组成部分结合的具有特定功能的有机体”。上面是两位世界著名的科学家给系统下的定义。他们的定义中都强调了两点:系统是由“组成部分(要素)”组成的;要素之间是“相互作用”“相互依赖”的。陈其荣先生更为具体细化地描述了系统,他说,科学地把握系统概念应注意以下四个要点:其一,系统是由若干要素组成的,要素是构成系统的组成部分或单元,单一要素不成其为系统;任何系统必须由两个以上的要素构成,即承认系统内部应具有可分析的结构;其二,“系统”在于“系”,即系统内诸要素之间、系统要素与系统整体之间的相互联系、相互作用,形成了特定的结构;其三,“系统”还在于“统”,即要素彼此之间联系成为一个统一的有机体;其四,系统作为一个整体对环境表现出特定的功能,功能之所以为整体所具有,是由于功能以结构为载体,并在系统各要素的功能耦合中突现出来。综上所述,陈其荣先生把系统定义为:系统是由两个以上相互联系与相互作用的要素组成的具有特定结构和功能的有机整体。很显然,哲学上定义的系统涉及递归的概念,要素的有机组合构成系统,系统自身也可以作为要素。从这个意义上讲,我们定义的过程(操作、作业、任务、事件、系统)都是哲学概念上的“系统”,也都是组成系统的“要素”。换句话说,本书所定义的“过程”是符合哲学定义的。

编辑推荐

《树型软件工程方法》是由清华大学出版社出版的。

图书封面

评论、评分、阅读与下载


    树型软件工程方法 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7