首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
(二) 按現有的軟件開發環境的演變趨向分類
按現有軟件開發環境的演變趨向,軟件開發環境可分成四類,它們對軟件開發環境的發展(在工具、用戶接口和體系結構方面)有著重要的影響。
1.以語言為中心的環境(language-centered environments)
它們是圍繞一種語言而構成的,可以提供一套適合于這種語言的工具集。這類環境是高度交互式的,通常對系統合成的支持是有限的,也不支持項目管理。換句話說,它基本上屬于程序設計環境。在現有的環境中,60年代末期出現的Lisp環境、70年代中期的以Mesa/Cedar語言為中心的Cedar環境、以Smalltalk語言為中心的Smalltalk環境及80年代早期形成的以Ada語言為中心的Rational環境等屬于以語言為中心的環境。
2.面向結構的環境(structure-oriented environments)
這種環境所采用的技術允許用戶直接操作結構。初始的動機是給用戶一個借于語言的結構來輸入程序的交互式工具,即語法制導編輯器(syntax-directed editor)。這種能力后來擴展到提供一個單用戶程序設計環境,它還支持交互式語義分析、程序執行和調試。編輯器是這種環境的中心組成部分。最重要的是這種形式化地描述一種語言的語法和靜態語義的能力,由此可以生成一個結構編輯器的實例(instance)。也就是說,這種與語言無關的技術引出了環境生成器的概念,在支持局部編程、全局編程、歷史記載和存取控制表方面繼續所作的努力,使術語“語法制導”逐漸被“面向結構”所取代了。在現有的環境中,80年代初期出現的Aloe編輯器就屬于面向結構的環境,它是著名的Gendalf項目中的一個組成部分,它只允許用戶在結構化元素上進行操作,也就是說,用戶只看到抽象語法樹,而看不到熟悉的源語言文本,不過它不會允許用戶構造語法不正確的程序;稍后出現的Cornell程序合成器也屬于面向結構的環境,它采用文本表示方式,以克服用戶在輸入和修改語言表示方面的困難。另外一些系統采用混合方式,用戶可自由選擇在哪種表示方式(文本或結構)上進行操作,系統內部保留兩種形式,并始終使它們處于一致狀態。
3.工具箱環境(toolkit environments)
工具箱環境由一套工具組成,用于支持軟件開發和編碼階段。它從操作系統開始,加入一些諸如編輯程序、編譯程序、匯編程序、連接程序和調試程序等編碼工具。此外,也有一些支持大型軟件開發任務的工具,如版本控制和配置管理。它采用簡單的數據模型來提高工具的可擴充性和可移植性。這樣的環境允許高度的剪裁,但對工具集的使用幾乎不提供任何環境定義、管理或控制的技術。當代工具箱環境是使用相當成熟的技術。商業化的環境設計者正在把高級接口放在普通操作系統的用戶命令接口之上,即擴充操作系統。商業化工具箱系統的例子是:UNIX程序員工作臺UNIX/PWB和DEC VMS/VAX set等,它們都是在80年代中期推出的。對全局編程提供的工具分別是源代碼控制系統(Source Code Control System-SCCS)和代碼管理系統(Code Management System—CMS),它們都是起版本控制的作用,并用獨立于具體的程序設計語言的。稍后開發的著名的工具箱環境的例子是:可移植的公用工具環境(Portable Common Tool Environrment—PCTE)和公用APSE接口集(Comˉmon APSE Interface Set—CAIS)。其中APSE是Ada程序設計支持環境的英文縮寫。
4.基于方法的環境(method-based environments)
這種環境支持一種特定的軟件開發方法。這些方法可分為兩類:
(1)支持軟件開發周期特定階段的;
(2)管理開發過程的。前者包括規格說明、設計、確認、驗證和重用。方法不同,形式化的程序有很大不同,從非形式化到準形式化到形式化。后者又可細分為兩個部分:支持產品管理與支持開發和維護產品的過程管理。產品管理包括版本、配置和投放管理。開發過程的管理包括項目計劃和控制、任務管理、通信管理及加工過程建模。這類環境的例子有:Anna———一種用于Ada的規格說明語言;VDM———用于軟件開發的形式化方法,也是一種規格說明語言;SREM———分布式計算的設計系統;PSL/PSA———問題描述語言/問題描述分析程序,這是為信息處理系統的結構化文檔編制和分析設計的。支持管理開發過程的典型環境有ISTAR———一個集成式項目管理系統;PMA———一個知識型軟件環境中的項目管理部分。
(三) 按集成化程序分類
環境的形成與發展主要體現在各工具的集成化的程度上,當前國外軟件工程界把軟件開發環境分成三代,各代之間的主要區別及特征如下:
1.第一代
(1)建立在操作系統之上(如VMS和UNIX等);
(2)工具間通過一個公用框架集成;
(3)只有工具使用的文件修改即可加入,由調用過程來使用這些工具;
(4)工具所使用的文件結構不變,而且成為環境文件庫的一部分;
(5)從人機界面來看,這類環境主要采用單色、低分辨率的文字終端,圖形能力較差,多數使用菜單技術。例如,70年代中期的UNIX環境以文件庫為集成核心,管道命令實施控制功能,SHELL語言表達的程序顯示用戶工作界面。
2.第二代
(1)具有真正的數據庫(如INGRES),而不是文件庫,有時稱為信息庫,多數采用E-R模式或E-R-A模式;
(2)工具集成在更低的層次上,工具和文件都作為實體保存在數據庫中,而不是簡單地看作一種獨立的成分;
(3)現有的工具不能隨意放入,要作適當修改或定制;
(4)人機界面采用高分辨率、點陣式工作站,具有多窗口、圖形符等功能,采用鼠標裝置。例如,Ada程序設計支持環境(APSE),以數據庫為集成核心,有可移植性的工作界面。
3.第三代
(1)建立在知識庫系統上;
(2)順序調用獨立工具的概念完全被集成化的工具集所替化,用戶不再需要在任務之間來回切換不同的工具;
(3)采用形式化方法,軟件重用等新技術;
(4)由多個工具控制的多窗口技術被單個工具操縱的多窗口技術所替代;顯然,第三代軟件開發環境中工具間的集成度最高,利用這些工具,人們逐漸從繁重的手工開發軟件的活動中解放出來,從而實現軟件開發和維護的自動化,提高軟件開發和維護的質量和生產率,縮短軟件開發周期并降低成本。為集中研究并解決這樣一系列的問題,80年代提出了CASE思想,目前的研究重點集中于CASE的集成化方面。
希望與更多計算機等級考試的網友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |