三級(jí)信息管理技術(shù)分章節(jié)考試要點(diǎn):第二章
(1)以語(yǔ)言為中心的環(huán)境(language-centered environments)
它們是圍繞一種語(yǔ)言而構(gòu)成的,可以提供一套適合于這種語(yǔ)言的工具集。這類環(huán)境是高度交互式的,通常對(duì)系統(tǒng)合成的支持是有限的,也不支持項(xiàng)目管理。換句話說(shuō),它基本上屬于程序設(shè)計(jì)環(huán)境。
在現(xiàn)有的環(huán)境中,60年代末期出現(xiàn)的Lisp環(huán)境、70年代中期的以Mesa/Cedar語(yǔ)言為中心的Cedar環(huán)境、以Smalltalk語(yǔ)言為中心的Smalltalk環(huán)境及80年代早期形成的以Ada語(yǔ)言為中心的Rational環(huán)境等屬于以語(yǔ)言為中心的環(huán)境。
(2)面向結(jié)構(gòu)的環(huán)境(structure-oriented environments)
這種環(huán)境所采用的技術(shù)允許用戶直接操作結(jié)構(gòu)。初始的動(dòng)機(jī)是給用戶一個(gè)借于語(yǔ)言的結(jié)構(gòu)來(lái)輸入程序的交互式工具,即語(yǔ)法制導(dǎo)編輯器(syntax-directed editor)。這種能力后來(lái)擴(kuò)展到提供一個(gè)單用戶程序設(shè)計(jì)環(huán)境,它還支持交互式語(yǔ)義分析、程序執(zhí)行和調(diào)試。編輯器是這種環(huán)境的中心組成部分。最重要的是這種形式化地描述一種語(yǔ)言的語(yǔ)法和靜態(tài)語(yǔ)義的能力,由此可以生成一個(gè)結(jié)構(gòu)編輯器的實(shí)例(instance)。也就是說(shuō),這種與語(yǔ)言無(wú)關(guān)的技術(shù)引出了環(huán)境生成器的概念,在支持局部編程、全局編程、歷史記載和存取控制表方面繼續(xù)所作的努力,使術(shù)語(yǔ)“語(yǔ)法制導(dǎo)”逐漸被“面向結(jié)構(gòu)”所取代了。
在現(xiàn)有的環(huán)境中,80年代初期出現(xiàn)的Aloe編輯器就屬于面向結(jié)構(gòu)的環(huán)境,它是著名的Gendalf項(xiàng)目中的一個(gè)組成部分,它只允許用戶在結(jié)構(gòu)化元素上進(jìn)行操作,也就是說(shuō),用戶只看到抽象語(yǔ)法樹(shù),而看不到熟悉的源語(yǔ)言文本,不過(guò)它不會(huì)允許用戶構(gòu)造語(yǔ)法不正確的程序;稍后出現(xiàn)的Cornell程序合成器也屬于面向結(jié)構(gòu)的環(huán)境,它采用文本表示方式,以克服用戶在輸入和修改語(yǔ)言表示方面的困難。另外一些系統(tǒng)采用混合方式,用戶可自由選擇在哪種表示方式(文本或結(jié)構(gòu))上進(jìn)行操作,系統(tǒng)內(nèi)部保留兩種形式,并始終使它們處于一致?tīng)顟B(tài)。
(3)工具箱環(huán)境(toolkit environments)
工具箱環(huán)境由一套工具組成,用于支持軟件開(kāi)發(fā)和編碼階段。它從操作系統(tǒng)開(kāi)始,加入一些諸如編輯程序、編譯程序、匯編程序、連接程序和調(diào)試程序等編碼工具。此外,也有一些支持大型軟件開(kāi)發(fā)任務(wù)的工具,如版本控制和配置管理。它采用簡(jiǎn)單的數(shù)據(jù)模型來(lái)提高工具的可擴(kuò)充性和可移植性。這樣的環(huán)境允許高度的剪裁,但對(duì)工具集的使用幾乎不提供任何環(huán)境定義、管理或控制的技術(shù)。當(dāng)代工具箱環(huán)境是使用相當(dāng)成熟的技術(shù)。商業(yè)化的環(huán)境設(shè)計(jì)者正在把高級(jí)接口放在普通操作系統(tǒng)的用戶命令接口之上,即擴(kuò)充操作系統(tǒng)。
商業(yè)化工具箱系統(tǒng)的例子是:UNIX程序員工作臺(tái)UNIX/PWB和DEC VMS/VAX set等,它們都是在80年代中期推出的。對(duì)全局編程提供的工具分別是源代碼控制系統(tǒng)(Source Code Control System-SCCS)和代碼管理系統(tǒng)(Code Management System—CMS),它們都是起版本控制的作用,并用獨(dú)立于具體的程序設(shè)計(jì)語(yǔ)言的。稍后開(kāi)發(fā)的著名的工具箱環(huán)境的例子是:可移植的公用工具環(huán)境(Portable Common Tool Environrment—PCTE)和公用APSE接口集(Comˉmon APSE Interface Set—CAIS)。其中APSE是Ada程序設(shè)計(jì)支持環(huán)境的英文縮寫。
(4)基于方法的環(huán)境(method-based environments)
這種環(huán)境支持一種特定的軟件開(kāi)發(fā)方法。這些方法可分為兩類:①支持軟件開(kāi)發(fā)周期特定階段的;②管理開(kāi)發(fā)過(guò)程的。前者包括規(guī)格說(shuō)明、設(shè)計(jì)、確認(rèn)、驗(yàn)證和重用。方法不同,形式化的程序有很大不同,從非形式化到準(zhǔn)形式化到形式化。后者又可細(xì)分為兩個(gè)部分:支持產(chǎn)品管理與支持開(kāi)發(fā)和維護(hù)產(chǎn)品的過(guò)程管理。產(chǎn)品管理包括版本、配置和投放管理。開(kāi)發(fā)過(guò)程的管理包括項(xiàng)目計(jì)劃和控制、任務(wù)管理、通信管理及加工過(guò)程建模。
這類環(huán)境的例子有:Anna———一種用于Ada的規(guī)格說(shuō)明語(yǔ)言;VDM———用于軟件開(kāi)發(fā)的形式化方法,也是一種規(guī)格說(shuō)明語(yǔ)言;SREM———分布式計(jì)算的設(shè)計(jì)系統(tǒng)SL/PSA———問(wèn)題描述語(yǔ)言/問(wèn)題描述分析程序,這是為信息處理系統(tǒng)的結(jié)構(gòu)化文檔編制和分析設(shè)計(jì)的。支持管理開(kāi)發(fā)過(guò)程的典型環(huán)境有ISTAR———一個(gè)集成式項(xiàng)目管理系統(tǒng)MA———一個(gè)知識(shí)型軟件環(huán)境中的項(xiàng)目管理部分。
3.按集成化程序分類
環(huán)境的形成與發(fā)展主要體現(xiàn)在各工具的集成化的程度上,當(dāng)前國(guó)外軟件工程界把軟件開(kāi)發(fā)環(huán)境分成三代,各代之間的主要區(qū)別及特征如下:
(1)第一代
①建立在操作系統(tǒng)之上(如VMS和UNIX等);
②工具間通過(guò)一個(gè)公用框架集成;
③只有工具使用的文件修改即可加入,由調(diào)用過(guò)程來(lái)使用這些工具;
④工具所使用的文件結(jié)構(gòu)不變,而且成為環(huán)境文件庫(kù)的一部分;
⑤從人機(jī)界面來(lái)看,這類環(huán)境主要采用單色、低分辨率的文字終端,圖形能力較差,多數(shù)使用菜單技術(shù)。
例如,70年代中期的UNIX環(huán)境以文件庫(kù)為集成核心,管道命令實(shí)施控制功能,SHELL語(yǔ)言表達(dá)的程序顯示用戶工作界面。
(2)第二代
①具有真正的數(shù)據(jù)庫(kù)(如INGRES),而不是文件庫(kù),有時(shí)稱為信息庫(kù),多數(shù)采用E-R模式或E-R-A模式;
②工具集成在更低的層次上,工具和文件都作為實(shí)體保存在數(shù)據(jù)庫(kù)中,而不是簡(jiǎn)單地看作一種獨(dú)立的成分;
③現(xiàn)有的工具不能隨意放入,要作適當(dāng)修改或定制;
④人機(jī)界面采用高分辨率、點(diǎn)陣式工作站,具有多窗口、圖形符號(hào)等功能,采用鼠標(biāo)裝置。例如,Ada程序設(shè)計(jì)支持環(huán)境(APSE),以數(shù)據(jù)庫(kù)為集成核心,有可移植性的工作界面。
(3)第三代
①建立在知識(shí)庫(kù)系統(tǒng)上;
②順序調(diào)用獨(dú)立工具的概念完全被集成化的工具集所替化,用戶不再需要在任務(wù)之間來(lái)回切換不同的工具;
③采用形式化方法,軟件重用等新技術(shù);
④由多個(gè)工具控制的多窗口技術(shù)被單個(gè)工具操縱的多窗口技術(shù)所替代;
顯然,第三代軟件開(kāi)發(fā)環(huán)境中工具間的集成度最高,利用這些工具,人們逐漸從繁重的手工開(kāi)發(fā)軟件的活動(dòng)中解放出來(lái),從而實(shí)現(xiàn)軟件開(kāi)發(fā)和維護(hù)的自動(dòng)化,提高軟件開(kāi)發(fā)和維護(hù)的質(zhì)量和生產(chǎn)率,縮短軟件開(kāi)發(fā)周期并降低成本。為集中研究并解決這樣一系列的問(wèn)題,80年代提出了CASE思想,目前的研究重點(diǎn)集中于CASE的集成化方面。
文章責(zé)編:ak47
看了本文的網(wǎng)友還看了