出版時(shí)間:2010-12 出版社:清華大學(xué)出版社 作者:萬南洋 頁數(shù):331
前言
本書是關(guān)于軟件工程方面的專著,在計(jì)算機(jī)科學(xué)領(lǐng)域中首次提出了樹型軟件的設(shè)計(jì)方法。本書的主要成果是構(gòu)造出了三類表示軟件結(jié)構(gòu)的數(shù)學(xué)樹:表示系統(tǒng)結(jié)構(gòu)的事件樹,表示事件結(jié)構(gòu)的任務(wù)樹和表示任務(wù)結(jié)構(gòu)的作業(yè)樹。對于任何計(jì)算機(jī)軟件系統(tǒng),都可以用這三類逐級嵌套的數(shù)學(xué)樹來建立其結(jié)構(gòu)模型,繼而生成分層嵌套的計(jì)算機(jī)程序。通常將計(jì)算機(jī)軟件的設(shè)計(jì)方法分為兩類:面向?qū)ο蟮暮兔嫦蜻^程的。我們常用的方法稱為ER方法(實(shí)體聯(lián)系方法),實(shí)際就是面向?qū)ο蟮脑O(shè)計(jì)方法,或者說面向?qū)ο蟮姆椒ū举|(zhì)上就是ER方法。樹型軟件工程方法實(shí)際是面向過程的方法,三類樹中的任一個(gè)節(jié)點(diǎn)(事件,任務(wù),作業(yè))都是一個(gè)軟件模塊(過程)。人們在長期的軟件工程實(shí)踐中,總結(jié)出結(jié)構(gòu)化系統(tǒng)和結(jié)構(gòu)化程序的概念,認(rèn)為這是最優(yōu)的軟件結(jié)構(gòu)。所謂結(jié)構(gòu)化的軟件結(jié)構(gòu),應(yīng)該是分層嵌套的軟件結(jié)構(gòu),總可以用一棵樹來表示。因此,無論是系統(tǒng)結(jié)構(gòu)還是程序結(jié)構(gòu),能夠以樹來表示的就是最佳結(jié)構(gòu)。就結(jié)構(gòu)化設(shè)計(jì)要求而言,樹型軟件工程方法是與之吻合的。人們雖然提出了結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)概念,但始終沒有形成獨(dú)立、有效、完備的工程方法。這主要有以下兩方面的原因,其一是模塊的劃分沒有確定的方法,模塊的范疇大小沒有嚴(yán)格的定義;其二是不能確定模塊間的連接關(guān)系,模塊間的聯(lián)系無法形成分層嵌套。這兩點(diǎn)正是構(gòu)造軟件系統(tǒng)結(jié)構(gòu)和程序結(jié)構(gòu)的關(guān)鍵所在。在樹型軟件工程方法中,上述兩方面的問題都得到了圓滿的解決。模塊劃分方法既有嚴(yán)格的規(guī)定又是自然形成的,模塊間的聯(lián)系既符合算法邏輯又能形成樹型結(jié)構(gòu)。樹型軟件工程方法從現(xiàn)實(shí)世界的需求入手,逐級嵌套劃分,最終得到了從大到小范疇不同的所有“過程”,形成了如圖0-1所示的集中代表本書成果的“系統(tǒng)結(jié)構(gòu)模型”。15.7 節(jié)詳細(xì)說明了如圖0-1所示的系統(tǒng)結(jié)構(gòu)模型,該模型分為三大部分:現(xiàn)實(shí)世界、思維世界和信息世界。思維世界在這里所指的就是“算法”,以及抽象成“等效處理”、“協(xié)作調(diào)用”、“同宗控制”、“順序執(zhí)行”、“運(yùn)算”、“標(biāo)識(shí)”等系統(tǒng)分析和設(shè)計(jì)方法,它是從現(xiàn)實(shí)世界進(jìn)入信息世界的橋梁。現(xiàn)實(shí)世界部分的“過程”既是現(xiàn)實(shí)世界中事物問的“作用過程”,也是信息世界中計(jì)算機(jī)軟件的“過程模塊”。信息世界中的各級數(shù)學(xué)樹,都表示現(xiàn)實(shí)世界中處于相同級別的過程的結(jié)構(gòu),它們既是信息世界的過程結(jié)構(gòu),也是現(xiàn)實(shí)世界的過程結(jié)構(gòu)。也可以說系統(tǒng)結(jié)構(gòu)模型由四部分組成,這第四部分就是“數(shù)據(jù)”。可以想象立體的“系統(tǒng)結(jié)構(gòu)模型”就像一座寶塔,每一個(gè)同心圓對應(yīng)著寶塔的一層,各層中空部分直至寶塔頂尖都是“數(shù)據(jù)”。一方面,無論是現(xiàn)實(shí)世界的事物,還是思維世界的算法,進(jìn)入計(jì)算機(jī)首先都要被“信息化”,都要被表示成“數(shù)據(jù)”。就是信息世界自身的過程,樹和程序,也都需要標(biāo)識(shí)成相應(yīng)的“符號(hào)”數(shù)據(jù)。數(shù)據(jù)可以表示任何事物,任何事物只有表示成數(shù)據(jù)才能進(jìn)入計(jì)算機(jī),計(jì)算機(jī)就只認(rèn)識(shí)數(shù)據(jù)。
內(nèi)容概要
本書所述樹型軟件工程方法,是作者獨(dú)創(chuàng)的全新的軟件工程方法。該方法定義了系統(tǒng)、事件、任務(wù)、作業(yè)等結(jié)構(gòu)化的過程模塊,構(gòu)造了表示系統(tǒng)結(jié)構(gòu)的事件樹,表示事件結(jié)構(gòu)的任務(wù)樹和表示任務(wù)結(jié)構(gòu)的作業(yè)樹,并將這些元素有機(jī)地結(jié)合成“系統(tǒng)結(jié)構(gòu)模型”。按照該系統(tǒng)結(jié)構(gòu)模型設(shè)計(jì)開發(fā)出來的軟件系統(tǒng)是分層嵌套的,具有結(jié)構(gòu)嚴(yán)謹(jǐn)、控制清晰、測試嚴(yán)密、可靠性高的特點(diǎn)。 樹型軟件工程方法直觀易懂,工程實(shí)用性強(qiáng),已設(shè)計(jì)開發(fā)出基于c語言的計(jì)算機(jī)軟件輔助設(shè)計(jì)系統(tǒng)初級版MTC 2008(Mother Tree Cu 2008)供試用(見:http://www.wtreesoft.com)。用戶需求分析,系統(tǒng)結(jié)構(gòu)設(shè)計(jì),程序結(jié)構(gòu)設(shè)計(jì),程序代碼編寫、調(diào)試和測試等所有步驟均可在輔助系統(tǒng)的引導(dǎo)與幫助下進(jìn)行。上述三類數(shù)學(xué)樹的設(shè)計(jì)構(gòu)造都是可視的,就像機(jī)械設(shè)計(jì)制圖那樣,而且輔助設(shè)計(jì)系統(tǒng)會(huì)自動(dòng)地將這三類樹編制成程序代碼。 本書可供軟件工程技術(shù)人員、軟件專業(yè)研究人員、大專院校師生用于軟件項(xiàng)目開發(fā)或科研教學(xué)參考。
作者簡介
萬南洋,高級工程師。1970年畢業(yè)于上海交通大學(xué)電機(jī)工程系,1979-1981年考入哈爾濱工業(yè)大學(xué)自動(dòng)控制與計(jì)算機(jī)系進(jìn)修,從事計(jì)算機(jī)軟件開發(fā)工作近30年。樹型軟件工程方法創(chuàng)始人,深圳市樹型軟件有限公司董事長。1970-1993年在航天部061基地工作,曾任技術(shù)員、工程師、高級工程師、民品處副處長,在我國最早引進(jìn)的、20世紀(jì)80年代最先進(jìn)的大型計(jì)算機(jī)“西門子7760”上工作了13年。1984年在“計(jì)算機(jī)工程與應(yīng)用”雜志上發(fā)表論文《一個(gè)對半查找的新算法》,此后于1986年形成航天科技報(bào)告《子樹分割法對半查找的理論、硬件與應(yīng)用探討》(編號(hào):HT-861139)。1993-2009年在深圳證券交易所系統(tǒng)工作,曾任深圳證券登記公司副總經(jīng)理、總工程師、深圳證券交易所總經(jīng)理助理、深圳證券通信公司董事長。分管計(jì)算機(jī)軟件系統(tǒng)的開發(fā)與維護(hù),主持了自主開發(fā)的“證券交易系統(tǒng)”、“證券結(jié)算系統(tǒng)”和“證券監(jiān)察系統(tǒng)”。2005年出版了專著《面向事件的數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)》(暨南大學(xué)出版社)。2006-2009年,對“面向事件的數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)”方法進(jìn)行了更為深入全面的研究,最終形成了本書。2007-2009年,作為課題專家組組長,負(fù)責(zé)深圳證券交易所博士后工作站的博士后研究課題“樹型軟件工程方法輔助設(shè)計(jì)系統(tǒng)開發(fā)”,與其他專家及李云種博士和華成博士一起,成功開發(fā)出該輔助設(shè)計(jì)系統(tǒng)的初級版MTC-2008。
書籍目錄
第一篇初始概念 第1章軟件與計(jì)算機(jī) 1.1軟件 1.2算法 1.3程序 1.4計(jì)算機(jī) 1.5軟件工程 1.6小結(jié) 第2章事物 2.1事物的定義 2.2事物的虛實(shí) 2.3事物的標(biāo)識(shí) 2.4小結(jié) 第3章情況 3.1 case的物理定義 3.2 case的形式定義 3.3 case與過程 3.4基本事物集 3.5 case的性質(zhì) 3.6語法成分的信息化 3.7相關(guān)概念 3.8小結(jié)第二篇 過程及其結(jié)構(gòu)樹 第4章作業(yè)樹 4.1控制語句 ……第三篇 系統(tǒng)分析與設(shè)計(jì)第四篇 樹型軟件及其工程方法第五篇 統(tǒng)計(jì)系統(tǒng)設(shè)計(jì)第六篇 輔助設(shè)計(jì)系統(tǒng)及其他參考文獻(xiàn)后記:樹型軟件工程方法的哲理
章節(jié)摘錄
插圖:不過,我們并不打算去定義這個(gè)概念,主要是從宏觀上了解它。本節(jié)所述軟件不僅僅是指計(jì)算機(jī)軟件,而是普遍意義上的“軟件”,這樣做有利于更通俗地去理解計(jì)算機(jī)軟件。(1)軟件沒有質(zhì)量現(xiàn)實(shí)世界的事物有“硬件”和“軟件”之分。物理學(xué)上定義了物體的質(zhì)量塒,并且有與物體質(zhì)量相關(guān)的一系列力學(xué)定理。具有質(zhì)量的物體應(yīng)該是硬件,軟件是沒有質(zhì)量的。詩歌是軟件,人們絕不會(huì)認(rèn)為詩歌作“自由落體”運(yùn)動(dòng),因?yàn)樵姼铔]有質(zhì)量。有質(zhì)量的物體隨處可見,比如桌子、板凳、高山、河流、機(jī)械、電器、醫(yī)藥、食品等。沒有質(zhì)量的事物也是隨處可見,比如文學(xué)藝術(shù)、靈感創(chuàng)意、名譽(yù)地位等。這里要區(qū)分“軟件”和“軟件載體”,詩歌是軟件,但寫有詩歌的紙張,刻有詩歌的光盤都不是軟件,而是硬件。計(jì)算機(jī)軟件則是可在計(jì)算機(jī)上運(yùn)行的程序及其文檔。“程序及其文檔”是計(jì)算機(jī)軟件已是業(yè)界公認(rèn)的說法,簡單地說“程序就是計(jì)算機(jī)軟件”?!拔臋n”并非計(jì)算機(jī)軟件特有的,任何軟件或硬件產(chǎn)品也都有相應(yīng)的文檔。(2)軟件記錄于載體因?yàn)檐浖]有質(zhì)量,也就沒有形體和重量。要讓人們感知軟件必須借助于硬件載體,否則既看不見也摸不著。而計(jì)算機(jī)軟件又增加了一層神秘的面紗,即便看得見也不容易懂,需要借助于計(jì)算機(jī)才能使用它,才能知道它的詳細(xì)功能。盡管如此,軟件也還是極普通的事物。計(jì)算機(jī)程序不易看懂,那是因?yàn)樾问秸Z言的可讀性不好,人們通常只是習(xí)慣于自然語言。增強(qiáng)程序可讀性的努力一直在持續(xù),這使我們能直觀而容易地解讀程序,而這也是本書的任務(wù)之一。(3)軟件只能單件研發(fā)計(jì)算機(jī)軟件是人們制造出來的,軟件制造也是一個(gè)行業(yè),就像“機(jī)械”、“電子”、“化工”、“紡織”等行業(yè)一樣。硬件行業(yè)的人員在生產(chǎn)本行業(yè)產(chǎn)品時(shí)均“心中有數(shù)”,因?yàn)槠洚a(chǎn)品都經(jīng)過“研發(fā)”、“定型”,然后再“批生產(chǎn)”。
后記
我們曾多次提及“哲學(xué)”這兩個(gè)字,也一直在回避這兩個(gè)字。一方面這兩個(gè)字的含義實(shí)在太深?yuàn)W了,另一方面筆者也的確不懂哲學(xué)。書已經(jīng)寫完了,但總覺得缺點(diǎn)什么,“樹軟工程方法到底是否符合哲理?”作為生產(chǎn)開發(fā)管理現(xiàn)實(shí)世界的計(jì)算機(jī)軟件的方法,稱得上是方法論,應(yīng)該對這個(gè)問題有所探討。于是去書店買了幾本哲學(xué)方面的書,下工夫認(rèn)真地學(xué)習(xí),覺得還是有些體會(huì)。故而以“實(shí)用主義”的手法摘錄了幾位哲學(xué)家和科學(xué)家的語錄于扉頁,并寫下了這篇后記,作為對樹型軟件工程方法哲理的探討。下面敘述中,多引用到復(fù)旦大學(xué)陳其榮先生的著作《自然哲學(xué)》(復(fù)旦大學(xué)出版社,2004.6 )。樹軟工程方法是用來設(shè)計(jì)開發(fā)計(jì)算機(jī)軟件系統(tǒng)產(chǎn)品的,方法本身也是從“系統(tǒng)概念”導(dǎo)出的,系統(tǒng)結(jié)構(gòu)模型集中體現(xiàn)了這兩方面,我們就從“系統(tǒng)”的角度來考察樹軟法的哲理。1.系統(tǒng)的定義美籍奧地利生物學(xué)家貝塔朗菲在《普通系統(tǒng)論的歷史和現(xiàn)狀》中寫道:系統(tǒng)是“處于一定的相互關(guān)系中并與環(huán)境發(fā)生關(guān)系的各組成部分(要素)的總體(集)”。中國著名科學(xué)家錢學(xué)森在《論系統(tǒng)工程》中提到,系統(tǒng)是“由相互作用和相互依賴的若干組成部分結(jié)合的具有特定功能的有機(jī)體”。上面是兩位世界著名的科學(xué)家給系統(tǒng)下的定義。他們的定義中都強(qiáng)調(diào)了兩點(diǎn):系統(tǒng)是由“組成部分(要素)”組成的;要素之間是“相互作用”“相互依賴”的。陳其榮先生更為具體細(xì)化地描述了系統(tǒng),他說,科學(xué)地把握系統(tǒng)概念應(yīng)注意以下四個(gè)要點(diǎn):其一,系統(tǒng)是由若干要素組成的,要素是構(gòu)成系統(tǒng)的組成部分或單元,單一要素不成其為系統(tǒng);任何系統(tǒng)必須由兩個(gè)以上的要素構(gòu)成,即承認(rèn)系統(tǒng)內(nèi)部應(yīng)具有可分析的結(jié)構(gòu);其二,“系統(tǒng)”在于“系”,即系統(tǒng)內(nèi)諸要素之間、系統(tǒng)要素與系統(tǒng)整體之間的相互聯(lián)系、相互作用,形成了特定的結(jié)構(gòu);其三,“系統(tǒng)”還在于“統(tǒng)”,即要素彼此之間聯(lián)系成為一個(gè)統(tǒng)一的有機(jī)體;其四,系統(tǒng)作為一個(gè)整體對環(huán)境表現(xiàn)出特定的功能,功能之所以為整體所具有,是由于功能以結(jié)構(gòu)為載體,并在系統(tǒng)各要素的功能耦合中突現(xiàn)出來。綜上所述,陳其榮先生把系統(tǒng)定義為:系統(tǒng)是由兩個(gè)以上相互聯(lián)系與相互作用的要素組成的具有特定結(jié)構(gòu)和功能的有機(jī)整體。很顯然,哲學(xué)上定義的系統(tǒng)涉及遞歸的概念,要素的有機(jī)組合構(gòu)成系統(tǒng),系統(tǒng)自身也可以作為要素。從這個(gè)意義上講,我們定義的過程(操作、作業(yè)、任務(wù)、事件、系統(tǒng))都是哲學(xué)概念上的“系統(tǒng)”,也都是組成系統(tǒng)的“要素”。換句話說,本書所定義的“過程”是符合哲學(xué)定義的。
編輯推薦
《樹型軟件工程方法》是由清華大學(xué)出版社出版的。
圖書封面
評論、評分、閱讀與下載