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