[序]
高原教授團(tuán)隊(duì)的著作《基于模型理論的信息系統(tǒng)開(kāi)發(fā)基礎(chǔ)》中文譯著終于出版了,這不禁讓我回想起26年前東渡日本,在東京工業(yè)大學(xué)高原研究室作為訪問(wèn)學(xué)者,與高原教授合作開(kāi)展“基于一般系統(tǒng)理論的決策支持系統(tǒng)開(kāi)發(fā)方法”項(xiàng)目研究時(shí)的情景。高原教授不僅對(duì)中國(guó)有著深厚的感情,而且熟讀中國(guó)古典名著,尤其推崇中國(guó)的大思想家和教育家孔子。高原教授一生致力于系統(tǒng)理論研究和人才培育,是日本經(jīng)營(yíng)情報(bào)學(xué)會(huì)的創(chuàng)始人之一,并曾擔(dān)任會(huì)長(zhǎng),是日本信息系統(tǒng)(information system, IS)領(lǐng)域具有重要影響的學(xué)者。他在系統(tǒng)理論領(lǐng)域取得了豐碩的研究成果,并且培養(yǎng)了一大批出色的從事系統(tǒng)理論研究及信息系統(tǒng)開(kāi)發(fā)的科技人才。本著作正是在高原教授一系列研究成果基礎(chǔ)上編寫(xiě)的面向有志于開(kāi)發(fā)信息系統(tǒng)的大學(xué)生的教科書(shū)。
傳統(tǒng)上,信息系統(tǒng)開(kāi)發(fā)大多基于非形式化的軟件工程方法,缺乏嚴(yán)謹(jǐn)?shù)牟僮骼碚?也沒(méi)有形成一個(gè)正式的準(zhǔn)則框架,因此在某種程度上信息系統(tǒng)開(kāi)發(fā)仍然是一門(mén)藝術(shù),更多依賴于開(kāi)發(fā)者的經(jīng)驗(yàn)。長(zhǎng)久以來(lái),信息系統(tǒng)開(kāi)發(fā)者致力于尋求消除從系統(tǒng)需求、系統(tǒng)設(shè)計(jì)到系統(tǒng)開(kāi)發(fā)方面的歧義,以期開(kāi)發(fā)可信的系統(tǒng),但實(shí)際開(kāi)發(fā)出來(lái)的系統(tǒng)在運(yùn)行過(guò)程中仍不免存在著許多缺陷。作為一位系統(tǒng)理論研究者,高原教授將信息系統(tǒng)和決策支持系統(tǒng)視為系統(tǒng)理論的研究對(duì)象,并用系統(tǒng)理論的方法來(lái)實(shí)現(xiàn)信息系統(tǒng)和決策支持系統(tǒng)的開(kāi)發(fā);谙到y(tǒng)理論,高原教授及其團(tuán)隊(duì)提出并構(gòu)建了一套獨(dú)特的且更具可操作性的智能信息系統(tǒng)開(kāi)發(fā)理論方法——“基于模型理論方法的形式化開(kāi)發(fā)方法”。該方法提供了一套可靠的系統(tǒng)描述,并且能產(chǎn)生可信的系統(tǒng)。它通過(guò)提供用戶接口(用于業(yè)務(wù)處理系統(tǒng))和目標(biāo)尋找器(用于問(wèn)題求解系統(tǒng))作為信息系統(tǒng)開(kāi)發(fā)的黑箱組件,并結(jié)合自動(dòng)系統(tǒng)生成,從而促進(jìn)可靠的系統(tǒng)實(shí)現(xiàn)和快速的系統(tǒng)開(kāi)發(fā)。一旦在用戶接口中給出了基于計(jì)算機(jī)可接受集合論的系統(tǒng)描述,就可以在該方法提供的集成平臺(tái)上生成包含業(yè)務(wù)處理系統(tǒng)和問(wèn)題求解系統(tǒng)的可執(zhí)行智能信息系統(tǒng)。由于系統(tǒng)可以部署在開(kāi)源軟件上,因此采用該方法開(kāi)發(fā)系統(tǒng)既可以實(shí)現(xiàn)系統(tǒng)的快速開(kāi)發(fā),還可以降低開(kāi)發(fā)成本。該方法的另一個(gè)獨(dú)特之處在于它通過(guò)允許用戶使用基本的集合論而不是計(jì)算機(jī)語(yǔ)言來(lái)執(zhí)行系統(tǒng)構(gòu)建,從而簡(jiǎn)化了最終用戶的系統(tǒng)維護(hù)。
為了讓普通的信息系統(tǒng)開(kāi)發(fā)者能夠掌握基于模型理論方法的形式化開(kāi)發(fā)方法,高原教授及其團(tuán)隊(duì)于2007年編寫(xiě)了這本作為信息管理專(zhuān)業(yè)本科生用的教材,并于2016年進(jìn)行了修訂。本著作從邏輯訓(xùn)練著手,使學(xué)生在學(xué)習(xí)系統(tǒng)理論基礎(chǔ)的同時(shí),最終學(xué)會(huì)采用該方法開(kāi)發(fā)信息系統(tǒng)應(yīng)用程序。自出版以來(lái),本著作已被日本多所大學(xué)采用,取得了良好的教學(xué)效果,為日本培養(yǎng)了大量信息系統(tǒng)開(kāi)發(fā)人才。我很樂(lè)見(jiàn)本著作引入中國(guó),并相信它將為我國(guó)信息系統(tǒng)開(kāi)發(fā)人才的培養(yǎng)作出貢獻(xiàn)。
中國(guó)工程院院士 陳曉紅教授
2020年2月26日
[譯者序]
本書(shū)原著的第一作者高原教授,畢業(yè)于日本排名第一的東京大學(xué),1963年去美國(guó)凱斯理工學(xué)院[Case Institute of Technology,現(xiàn)名凱斯西儲(chǔ)大學(xué)(Case Western Reserve University)]留學(xué),師從系統(tǒng)管理學(xué)大師M.D.梅薩羅維奇(M.D. Mesarovic)教授,他們一起撰寫(xiě)了Theory of Hierarchical Multilevel Systems、 Mathematical Theory of General Systems和General Systems Theory: Mathematical Foundations等經(jīng)典著作。由此可見(jiàn),高原教授也是系統(tǒng)科學(xué)發(fā)展史上早期十分重要的代表人物之一。1972年他回到日本,在東京工業(yè)大學(xué)任副教授、教授,一直到1997年退休成為名譽(yù)教授。本書(shū)其他幾位作者,都是高原教授的得意門(mén)生。
1985年,我作為國(guó)家公派出國(guó)留學(xué)研究生,就讀于東京工業(yè)大學(xué)系統(tǒng)科學(xué)研究科,有幸在高原教授的精心指導(dǎo)下,獲得了理學(xué)博士學(xué)位。在讀博的三年里,我逐漸領(lǐng)悟了一些高原教授的系統(tǒng)科學(xué)論觀,其中讓我終生受用的有三個(gè)觀點(diǎn):第一,系統(tǒng)科學(xué)和系統(tǒng)工程是思考問(wèn)題、分析問(wèn)題和解決問(wèn)題的“思想”;第二,復(fù)雜系統(tǒng)皆有層次(階層)性,即使對(duì)象在物理上不存在層次結(jié)構(gòu),也可以用“hierarchical approach”去建模和分析;第三,任何一個(gè)系統(tǒng)都可以看作是輸入-輸出系統(tǒng),是定義在輸入集合X與輸出集合Y的直積上的一個(gè)子集,也就是說(shuō)一般系統(tǒng)的模型都可以形式化地表達(dá)成SX×Y。
作為數(shù)理一般系統(tǒng)理論的主要奠基人,高原教授認(rèn)為模型理論的核是泛代數(shù)(universal algebra)和范疇論(category theory),一般系統(tǒng)理論只是作為模型理論的一種應(yīng)用。他堅(jiān)信管理信息系統(tǒng)既然是一個(gè)系統(tǒng),當(dāng)然就應(yīng)該是一般系統(tǒng)理論研究的對(duì)象。
在日本,幾乎看不到模型理論的教科書(shū)。有一次,高原教授來(lái)中國(guó)訪問(wèn)去逛書(shū)店時(shí),發(fā)現(xiàn)了《模型論基礎(chǔ)》(王世強(qiáng)著,科學(xué)出版社于1987出版),他感觸頗深。他想中國(guó)讀者眾多,如果這類(lèi)書(shū)用中文出版的話,肯定能促進(jìn)模型理論方法的應(yīng)用和發(fā)展。這就是他要把日文原著翻譯成中文出版的初衷。為了實(shí)現(xiàn)這個(gè)夙愿,2019年深秋,他不顧80多歲高齡,車(chē)馬勞頓,親臨上海,與上海交通大學(xué)出版社商討翻譯出版的有關(guān)事宜。
1986年,高原教授在我的陪同下首次訪問(wèn)中國(guó),到西安交通大學(xué)和上海交通大學(xué)講學(xué)。從那以后,他多次來(lái)中國(guó)講學(xué)和參加學(xué)術(shù)會(huì)議,與中國(guó)同行的學(xué)術(shù)交流從未間斷過(guò),后來(lái)還被中南大學(xué)聘為特聘教授。他在任教期間招收過(guò)許多中國(guó)留學(xué)生,其中中國(guó)工程院院士、湖南工商大學(xué)校長(zhǎng)陳曉紅是他的高徒。因此,我們特邀請(qǐng)陳院士為本書(shū)寫(xiě)了序,在此衷心表示感謝!同時(shí),非常感謝為我們出謀獻(xiàn)策的中南大學(xué)商學(xué)院副院長(zhǎng)劉詠梅教授,以及幫助整理原著電子版和中文版中的圖、表、公式的千葉工業(yè)大學(xué)高木徹博士和何主翔同學(xué)。此外,我們也對(duì)為本書(shū)的日文翻譯給予很多幫助的上海鼎乾人才服務(wù)有限公司陳建新總經(jīng)理,以及在本書(shū)出版過(guò)程中負(fù)責(zé)策劃、編輯、校對(duì)等事務(wù)的上海交通大學(xué)出版社科技分社的錢(qián)方針社長(zhǎng)和編輯們致以誠(chéng)摯的感謝!
上海交通大學(xué)電子信息與電氣工程學(xué)院教授
趙群飛
2020年4月
[修訂版序]
本書(shū)是2007年出版的《基于模型理論的信息系統(tǒng)開(kāi)發(fā)基礎(chǔ)》的修訂版。出版本書(shū)的目的是希望讀者從邏輯訓(xùn)練著手,在學(xué)習(xí)系統(tǒng)基礎(chǔ)理論的同時(shí),應(yīng)用并展開(kāi)信息系統(tǒng)的開(kāi)發(fā)。作者認(rèn)為,信息系統(tǒng)不是軟件工程的研究對(duì)象,而是系統(tǒng)理論的研究對(duì)象。本次發(fā)行的修訂版仍然堅(jiān)持了這一立場(chǎng)。
第一版出版8年以來(lái),本書(shū)已被用作多個(gè)學(xué)科的教科書(shū)。本書(shū)的全體作者在“離散數(shù)學(xué)”“信息系統(tǒng)建模”“問(wèn)題求解方案”“信息處理概述”“應(yīng)用信息處理”以及“研討會(huì)”等本科教學(xué)實(shí)踐中都有顯著的成果。在研究生培養(yǎng)過(guò)程中也為學(xué)生提供了合適的研究課題。然而,伴隨著信息技術(shù)的進(jìn)步和社會(huì)形勢(shì)的顯著變化,作者也認(rèn)為有必要針對(duì)這些變化在本書(shū)的內(nèi)容方面做出相應(yīng)的調(diào)整。經(jīng)過(guò)討論后一致決定發(fā)行修訂版。
與第一版相比,修訂版的第一個(gè)大的變更是增加了關(guān)系型數(shù)據(jù)庫(kù)建模的利用和仿真系統(tǒng)的開(kāi)發(fā)這兩章內(nèi)容(第4章和第8章)以滿足教學(xué)上的需要。但為了避免篇幅過(guò)長(zhǎng),將第一版中相當(dāng)于操作手冊(cè)的部分移到了網(wǎng)站上。模型理論方法的本質(zhì)特征在于通過(guò)邏輯和集合定義對(duì)象系統(tǒng)的模型,并使用適合描述該模型的CAST(computer acceptable set theory)語(yǔ)言進(jìn)行編程,提供通過(guò)CAST語(yǔ)言直接運(yùn)行該模型的軟件MTASDK(model theory approachsystem development kit)。把詳細(xì)介紹CAST語(yǔ)言規(guī)范(語(yǔ)法等)的第一版第4章“計(jì)算機(jī)可讀表達(dá)”的全部?jī)?nèi)容移到了網(wǎng)站上。此外,第一版第7章“系統(tǒng)開(kāi)發(fā)環(huán)境”是對(duì)開(kāi)發(fā)環(huán)境(MTASDK)的安裝說(shuō)明,在本次修訂中,也對(duì)其部分內(nèi)容進(jìn)行了調(diào)整和變更以適應(yīng)當(dāng)下的技術(shù)發(fā)展。新開(kāi)發(fā)環(huán)境的獲取和設(shè)置的相關(guān)內(nèi)容放在修訂版的第5章。
修訂版的第二個(gè)大的變更是為了應(yīng)對(duì)社會(huì)形勢(shì)的變化。在許多大學(xué),雙學(xué)期制(semester)早已得到了普及,而且每門(mén)課的教學(xué)是按每個(gè)學(xué)期而不是每學(xué)年進(jìn)行一次成績(jī)考核。教科書(shū)的篇幅不宜過(guò)長(zhǎng),應(yīng)壓縮成能夠在一學(xué)期之內(nèi)完成的教學(xué)內(nèi)容,同時(shí)也需調(diào)低售價(jià)。因此,日文的修訂版分成了《基于模型理論的信息系統(tǒng)開(kāi)發(fā)基礎(chǔ)——模型篇》和《基于模型理論的信息系統(tǒng)開(kāi)發(fā)基礎(chǔ)——實(shí)踐篇》兩冊(cè)出版。
修訂版的第三個(gè)大的變更是運(yùn)行環(huán)境的變更。第一版中,各種模型的運(yùn)行環(huán)境都是Unix OS。但是,無(wú)論是文科生還是理科生,多數(shù)學(xué)生的個(gè)人計(jì)算機(jī)都不具備運(yùn)行Unix OS的環(huán)境。針對(duì)這一現(xiàn)狀,近年來(lái),已經(jīng)可以使用虛擬機(jī)技術(shù)在一臺(tái)個(gè)人計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)操作系統(tǒng)。因此,修訂版中,增加了如何通過(guò)在Windows OS上運(yùn)行虛擬機(jī)軟件,完全實(shí)現(xiàn)模型開(kāi)發(fā)和運(yùn)行的內(nèi)容(第5章)。但開(kāi)發(fā)運(yùn)行環(huán)境的基礎(chǔ)仍然是Unix OS。在第一版中的Unix OS采用的是Fedora發(fā)行版,而修訂版中改為多數(shù)學(xué)生們使用的Ubuntu發(fā)行版。不過(guò)學(xué)生們一般可以不用在意Unix OS的版本。
綜上所述,與第一版相比,盡管修訂版在內(nèi)容結(jié)構(gòu)上看起來(lái)變化很大,但是以系統(tǒng)理論為根本這一初衷是一貫的,并未發(fā)生任何改變。
作者希望可以通過(guò)這些調(diào)整讓書(shū)變得更加“容易使用”,也非常期待能夠得到讀者的反饋意見(jiàn)。
全體作者
2016年1月吉日
模 型 篇
1 邏輯思考
1.1 命題邏輯
1.1.1 命題定義
1.1.2 復(fù)合命題
1.1.3 真值表和重言式
1.1.4 蘊(yùn)含
練習(xí)題
1.2 謂詞邏輯
1.2.1 量詞與定義域
1.2.2 量詞的轄域
1.2.3 多元謂詞
練習(xí)題
附錄
2 集合表述
2.1 集合的表示及其標(biāo)記法
練習(xí)題
2.2 列表
2.2.1 向量
2.2.2 矩陣
練習(xí)題
2.3 集合的運(yùn)算
練習(xí)題
2.4 直積與關(guān)系的定義
2.4.1 直積的定義
2.4.2 關(guān)系的定義
練習(xí)題
2.5 等價(jià)關(guān)系
練習(xí)題
2.6 順序關(guān)系
練習(xí)題
2.7 函數(shù)
練習(xí)題
3 自動(dòng)機(jī)建模的利用
3.1 自動(dòng)機(jī)建模的基本概念
3.1.1 框圖(輸入與輸出)
3.1.2 狀態(tài)與輸出函數(shù)
3.1.3 狀態(tài)遷移圖
3.1.4 自動(dòng)機(jī)模型定義
3.1.5 計(jì)算機(jī)可讀表達(dá)
3.1.6 計(jì)算機(jī)實(shí)現(xiàn)模型
3.1.7 編譯與運(yùn)行
練習(xí)題
3.2 自動(dòng)機(jī)狀態(tài)為符號(hào)時(shí)的建模實(shí)例
3.2.1 100日元換幣機(jī)(狀態(tài)有1個(gè))
3.2.2 帶按鈕的硬幣換幣機(jī)(狀態(tài)有2個(gè))
3.2.3 出售150日元車(chē)票的自動(dòng)售賣(mài)機(jī)(狀態(tài)有3個(gè))
練習(xí)題
3.3 自動(dòng)機(jī)狀態(tài)為數(shù)值時(shí)的建模實(shí)例
3.3.1 狀態(tài)數(shù)值化方法
3.3.2 帶有按鈕的自動(dòng)售賣(mài)機(jī)(用1個(gè)變量來(lái)表示狀態(tài))
3.3.3 可以確認(rèn)零錢(qián)的自動(dòng)售賣(mài)機(jī)(用向量來(lái)表示狀態(tài))
3.3.4 整數(shù)計(jì)算器(一次寫(xiě)出全部輸入)
練習(xí)題
3.4 自動(dòng)機(jī)的動(dòng)作與物理實(shí)現(xiàn)
3.4.1 輸出序列的計(jì)算
3.4.2 倉(cāng)庫(kù)模型(流程模型)
3.4.3 自動(dòng)機(jī)的物理實(shí)現(xiàn)
3.4.4 自動(dòng)售賣(mài)機(jī)的自動(dòng)機(jī)公式化表示與Prolog程序描述
之間的對(duì)應(yīng)關(guān)系
練習(xí)題
4 關(guān)系型數(shù)據(jù)庫(kù)建模的利用
4.1 數(shù)據(jù)庫(kù)的種類(lèi)與定義
4.1.1 數(shù)據(jù)庫(kù)的種類(lèi)
4.1.2 關(guān)系型數(shù)據(jù)庫(kù)的定義(作為集合定義的關(guān)系)
4.2 數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)
4.2.1 數(shù)據(jù)分析
4.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
4.3 數(shù)據(jù)庫(kù)的構(gòu)建與操作
4.3.1 數(shù)據(jù)庫(kù)語(yǔ)言
4.3.2 數(shù)據(jù)定義語(yǔ)句
4.3.3 數(shù)據(jù)操作語(yǔ)句
練習(xí)題
附錄
實(shí) 踐 篇
5 系統(tǒng)開(kāi)發(fā)環(huán)境的實(shí)現(xiàn)
5.1 CAST語(yǔ)言
5.1.1 CAST模型的實(shí)例
5.1.2 CAST的解答與說(shuō)明
5.2 CAST的獲取與設(shè)置
5.3 MTASDK的安裝與運(yùn)行
5.3.1 安裝VMWare Player
5.3.2 啟動(dòng)VM
5.4 MTASDK的快速入門(mén)
5.4.1 MTASDK的啟動(dòng)與結(jié)束
5.4.2 MTASDK的動(dòng)作確認(rèn)
5.4.3 窗口
5.5 MTASDK的操作
5.5.1 系統(tǒng)開(kāi)發(fā)步驟的概要
5.5.2 運(yùn)行方法
6 問(wèn)題求解系統(tǒng)的開(kāi)發(fā)
6.1 問(wèn)題求解系統(tǒng)的開(kāi)發(fā)方法
6.1.1 問(wèn)題描述
6.1.2 問(wèn)題求解的基本思路
6.1.3 問(wèn)題求解的流程
6.1.4 基于模型理論方法的問(wèn)題求解系統(tǒng)的結(jié)構(gòu)
6.1.5 用戶模型的架構(gòu)
6.1.6 問(wèn)題求解系統(tǒng)的開(kāi)發(fā)步驟
6.2 開(kāi)發(fā)示例1:WGC問(wèn)題
練習(xí)題
6.3 開(kāi)發(fā)示例2:水壺問(wèn)題
練習(xí)題
6.4 開(kāi)發(fā)示例3:旅行推銷(xiāo)員問(wèn)題
練習(xí)題
7 業(yè)務(wù)處理系統(tǒng)的開(kāi)發(fā)
7.1 業(yè)務(wù)處理系統(tǒng)的描述
7.2 業(yè)務(wù)處理系統(tǒng)的模型
7.2.1 用于業(yè)務(wù)處理系統(tǒng)開(kāi)發(fā)的模型
7.2.2 用戶模型
7.3 業(yè)務(wù)處理系統(tǒng)的開(kāi)發(fā)方法
7.3.1 業(yè)務(wù)處理系統(tǒng)的開(kāi)發(fā)步驟
7.3.2 運(yùn)行形態(tài)
7.4 開(kāi)發(fā)示例1:書(shū)店賒售管理系統(tǒng)
7.4.1 確定技術(shù)規(guī)格
7.4.2 用數(shù)據(jù)流圖表示技術(shù)規(guī)格
7.4.3 確定MactionName和搭建基本架構(gòu)系統(tǒng)
7.4.4 顯示基本架構(gòu)系統(tǒng)的初始界面
7.4.5 實(shí)現(xiàn)各個(gè)宏操作
7.4.6 實(shí)施整體測(cè)試
練習(xí)題
7.5 開(kāi)發(fā)示例2:酒類(lèi)批發(fā)店業(yè)務(wù)管理系統(tǒng)
7.5.1 確定技術(shù)規(guī)格
7.5.2 用數(shù)據(jù)流圖表示技術(shù)規(guī)格
7.5.3 確定MactionName和搭建基本架構(gòu)系統(tǒng)
7.5.4 顯示基本架構(gòu)系統(tǒng)的初始界面
7.5.5 實(shí)現(xiàn)各個(gè)宏操作
7.5.6 實(shí)施整體測(cè)試
練習(xí)題
附錄
8 仿真系統(tǒng)的開(kāi)發(fā)
8.1 價(jià)格調(diào)整系統(tǒng)的仿真
8.1.1 自動(dòng)機(jī)模型
8.1.2 用戶模型
8.1.3 運(yùn)行結(jié)果
練習(xí)題
8.2 二體動(dòng)力學(xué)的仿真
8.2.1 自動(dòng)機(jī)模型
8.2.2 用戶模型
8.2.3 運(yùn)行結(jié)果
練習(xí)題
8.3 建模的基礎(chǔ)
附錄
索引