已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十三章軟件開發(fā)工具與環(huán)境 第十三章軟件開發(fā)工具與環(huán)境 本章引言 早期的開發(fā)工具主要用來輔助程序員編程 而隨著軟件的不斷改進(jìn) 各種功能強(qiáng)大的開發(fā)工具應(yīng)運(yùn)而生 除了能夠輔助編程外 還具有支持需求分析 設(shè)計 測試 維護(hù)和項目管理等功能 軟件開發(fā)工具與開發(fā)方法的結(jié)合 再加上相應(yīng)的軟硬件支持就形成了環(huán)境 本章重點(diǎn) 常用開發(fā)工具的功能 CASE工具功能 學(xué)習(xí)目標(biāo) 掌握常用軟件開發(fā)工具的分類 掌握CASE環(huán)境的組成與結(jié)構(gòu) 了解軟件工程環(huán)境的概念 分類 構(gòu)成及特性 教學(xué)內(nèi)容 13 1軟件開發(fā)工具13 2軟件工程環(huán)境13 3CASE技術(shù)13 4小結(jié)13 5習(xí)題 13 1軟件開發(fā)工具 軟件開發(fā)工具是指為支持計算機(jī)軟件的開發(fā) 維護(hù) 模擬 移植或管理而研制的程序系統(tǒng) 開發(fā)軟件工具的目的是為了提高軟件生產(chǎn)率和改進(jìn)軟件的質(zhì)量 13 1 1軟件開發(fā)工具的功能 1 軟件開發(fā)工具的分類早期人們?yōu)樘岣哕浖到y(tǒng)的開發(fā)效率 研制了許多獨(dú)立的軟件開發(fā)工具 如編輯工具 編譯工具 組裝工具 調(diào)試工具和測試工具等 通常 在使用一個工具之后 為使用另一工具必須從前一工具退出 然后才能進(jìn)入另一工具 工具之間幾乎沒有任何聯(lián)系 而事實上 軟件系統(tǒng)開發(fā)的整個過程使緊密相聯(lián)的 整個生命周期的各個階段都有緊密的關(guān)系 現(xiàn)在的軟件開發(fā)工具擁有了更多的功能 各個工具之間都有相互聯(lián)系 軟件開發(fā)工具可以分為以下幾種 1 軟件開發(fā)工具需求分析工具 設(shè)計工具 編碼工具 測試工具 2 軟件維護(hù)工具版本控制工具 文檔分析工具 逆向工程工具 再工程工具 3 軟件管理和支持工具項目管理工具 開發(fā)信息庫工具 配置管理工具 軟件評價工具 2 軟件開發(fā)工具的功能無論使哪種軟件開發(fā)工具 都具備一定的功能 這些功能都以項目滿足軟件工程的需要為目的 軟件開發(fā)工具應(yīng)具有以下功能 描述客觀系統(tǒng)存儲和管理開發(fā)過程中的信息代碼的編寫或生成文檔的編制或生成軟件工程管理表達(dá)能力或描述能力保持信息一致性的能力使用的方便程度工具的可靠程度對硬件和軟件環(huán)境的要求應(yīng)當(dāng)盡量降低 13 1 2常用軟件開發(fā)工具介紹 1 建模工具 1 IBMRationalRoseIBMRationalRose在軟件工程領(lǐng)域被公認(rèn)為UML建模工具的最佳產(chǎn)品 RationalRose是一個完全的 具有能滿足所有建模環(huán)境 包括Web開發(fā) 數(shù)據(jù)庫建模 各種開發(fā)工具和語言 需求能力和靈活性的一套方案 RationalRose允許系統(tǒng)開發(fā)人員 系統(tǒng)管理人員和系統(tǒng)分析人員在軟件的各個開發(fā)周期內(nèi)建立系統(tǒng)需求和系統(tǒng)體系架構(gòu)的可視化模型 并且能夠?qū)⑦@些需求和系統(tǒng)體系架構(gòu)可視化模型轉(zhuǎn)換成代碼 幫助系統(tǒng)開發(fā) RationalRose是一個獨(dú)立的工具 通過應(yīng)用程序接口 API 層與市場主導(dǎo)的各種IDE結(jié)合來支持各種編程語言和其它的實現(xiàn)技術(shù) 它有如下功能 提供基本的繪圖功能 RationalRose提供了眾多的繪圖元素 是一個完全支持UML的工具 不僅對UML的各種圖中的元素的選擇 放置 連接以及定義提供了卓越的機(jī)制 還提供了用于支持和輔助建模人員繪制正確的圖機(jī)制 同時提供了對UML的各種圖的布局設(shè)計的支持 包括允許建模人員重新排列各種元素 并且自動重新排列那些表示消息的直線 以便后者互不交錯 功能強(qiáng)大的瀏覽器 用于查看模型和查找可重用的構(gòu)件 提供模型庫 這個模型庫相當(dāng)于一個數(shù)據(jù)庫 該數(shù)據(jù)庫中包含模型中使用的各種元素的信息 RationalRose通用模型庫提供了一個包含來自所有的全部信息的模型庫 并且該模型庫使通用工具能夠進(jìn)行文檔化和重用 可定制的目標(biāo)庫或編碼指南的代碼生成機(jī)制 可以針對不同類型的目標(biāo)語言生成 可定制的目標(biāo)庫或編碼指南的代碼生成機(jī)制 可以針對不同類型的目標(biāo)語言生成相應(yīng)的代碼 這些目標(biāo)語言包括C Ada Java CORBA Oracle VisualBasic等 這種由RationalRose的工具生成的代碼通常是一些靜態(tài)信息 例如類的相關(guān)信息 包括類的屬性和操作 但是類的操作通常只有方法的聲明信息 而包含實際代碼的方法體通常是空白的 需要由開發(fā)人員自己編寫 既支持目標(biāo)語言中的標(biāo)準(zhǔn)模型又支持用戶自定義的數(shù)據(jù)類型 保證模型與代碼之間轉(zhuǎn)化的一致性 通過OLE鏈接 RationalRose圖表可動態(tài)連接到MicrosoftWord中 能夠與RationalVisualTest SQASuite和SoDA文檔工具無縫集成 完成軟件生命周期中的全部輔助軟件工程工作 功能強(qiáng)大的正向 反向建模工作 縮短開發(fā)周期 降低維護(hù)成本 IBMRationalRose通常與Rational產(chǎn)品家族的其它軟件配合使用 Rational軟件工具可以在Windows UNIX Linux和大型機(jī)平臺上使用 并且可以支持絕大多數(shù)語言 IDE和操作環(huán)境 其中包括 Java C C C VisualBasic NET COM DCOM CORBA以及100多個針對實時 嵌入式系統(tǒng)開發(fā)人員的開發(fā)環(huán)境和最新的Internet Web服務(wù)標(biāo)準(zhǔn) 2 TogetherBorland軟件公司推出的BorlandTogetherDesignerCommunityEdition 簡稱Together 是一個與平臺 語言和IDE無關(guān)的建模工具 主要功能與特性如下 支持所有的UML圖形 Together支持UML2 0和UML1 2的所有圖形 可以將模型以XML規(guī)范的方式導(dǎo)出 能自動進(jìn)行模型與代碼的同步 Together的LiveSource技術(shù)能夠做到模型與代碼的自動同步 使開發(fā)人員擺脫了某些CASE工具需要手工去做這些同步的煩惱 另外 由于源代碼與模型是實時同步的 軟件重構(gòu)既可以在代碼中進(jìn)行 也可以在模型圖中進(jìn)行 自動生成文檔 Together具有強(qiáng)大的文檔生成能力 并且支持文檔模板定制 從而使開發(fā)人員可以將更多的精力集中到分析和設(shè)計上 廣泛的模式支持 Together支持業(yè)界常用的模式 如J2EE模式等 并可以讓開發(fā)人員定制自己的模式 從而使模式的復(fù)用成為現(xiàn)實 這將極大提高項目的架構(gòu)質(zhì)量 重構(gòu) 測試 審計和度量 Together支持多種重構(gòu)技巧 并具有強(qiáng)大的測試框架生成能力 可以在一個集成開發(fā)環(huán)境下完成重構(gòu)所需要的步驟 Together結(jié)合使用審計 度量和重構(gòu) 可以使重構(gòu)工作更見成效 支持團(tuán)隊合作 支持與其它CASE工具的集成 2 設(shè)計工具 1 IBMRationalSoftwareArchitect在一個開發(fā)團(tuán)隊中 軟件架構(gòu)師和高級開發(fā)人員要負(fù)責(zé)確定和維護(hù)應(yīng)用程序架構(gòu)的各個方面 他們需要功能強(qiáng)大 易于配置的工具來管理當(dāng)今應(yīng)用程序的復(fù)雜性 IBMRationalSoftwareArchitect是一種集成的設(shè)計和開發(fā)工具 通過使用基于UML的模型驅(qū)動的開發(fā) 來創(chuàng)建結(jié)構(gòu)更為合理的應(yīng)用程序和服務(wù) 借助于RationalSoftwareArchitect 可以將軟件設(shè)計和開發(fā)的各個方面統(tǒng)一起來 開發(fā)應(yīng)用程序時比以前更加得心應(yīng)手 卓有成效 利用建模語言技術(shù)中的最新成果 檢查和控制各種應(yīng)用程序的結(jié)構(gòu) 利用開放的和可擴(kuò)展的建模平臺 簡化設(shè)計和開發(fā)工具解決方案 與生命周期中的其它方面進(jìn)行整合 2 PowerDesignerSybase公司的PowerDesigner是最具集成特性的設(shè)計工具集 用于創(chuàng)建高度優(yōu)化和功能強(qiáng)大的數(shù)據(jù)庫 數(shù)據(jù)倉庫以及與數(shù)據(jù)密切相關(guān)的構(gòu)件 PowerDesigner提供了一個完整的數(shù)據(jù)庫設(shè)計解決方案 業(yè)務(wù)或系統(tǒng)分析人員 設(shè)計人員 數(shù)據(jù)庫管理員和開發(fā)人員可以對其裁剪以滿足他們的特定需要 而其模塊化的結(jié)構(gòu)為購買和擴(kuò)展提供了極大的靈活性 從而使開發(fā)單位可以根據(jù)其項目的規(guī)模和范圍來使用他們所需要的工具 PowerDesigner作為一個功能強(qiáng)大而使用簡單的工具集 提供了一個全面的交互環(huán)境 支持開發(fā)生命周期的所有階段 從處理流程建模到對象和構(gòu)件的生成 PowerDesigner產(chǎn)生的模型和應(yīng)用對象可以不斷地增長 適應(yīng)并隨著實際需求的變化而變化 PowerDesigner包含6個緊密集成的模塊 允許開發(fā)機(jī)構(gòu)根據(jù)其實際需求靈活選用 下面是這6個模塊的功能 1 PowerDesignerProcessAnalyst 用于數(shù)據(jù)分析或數(shù)據(jù)發(fā)現(xiàn) ProcessAnalyst可以用一種非常自然的方式描述數(shù)據(jù)項 從而能夠描述復(fù)雜的處理模型以反映它們的數(shù)據(jù)庫模型 2 PowerDesignerDataArchitect 用于數(shù)據(jù)庫的概念層和物理層設(shè)計和數(shù)據(jù)庫構(gòu)建 DataArchitect提供概念數(shù)據(jù)模型設(shè)計 自動的物理數(shù)據(jù)模型生成 非規(guī)范化的物理設(shè)計 針對多種DBMS的數(shù)據(jù)庫生成 支持開發(fā)工具和高質(zhì)量的文檔特性 3 PowerDesignerAppModeler 用于物理數(shù)據(jù)庫的設(shè)計 應(yīng)用對象以及與數(shù)據(jù)密切相關(guān)的構(gòu)件的生成 通過提供完整的物理建模能力以及利用相關(guān)模型進(jìn)行開發(fā)的能力 AppModeler允許開發(fā)人員針對先進(jìn)的開發(fā)環(huán)境 不僅包括Sybase本公司的產(chǎn)品PowerBuilder 還包括Microsoft的VisualStudio 快速地生成應(yīng)用對象和構(gòu)件 AppModeler還可以生成用于創(chuàng)建數(shù)據(jù)驅(qū)動的Web站點(diǎn)的構(gòu)件 使開發(fā)人員和設(shè)計人員可以從一個DBMS發(fā)布 動態(tài) 的數(shù)據(jù) 4 PowerDesignerMetaWorks 通過模型共享以及支持高級團(tuán)隊工作的能力 MetaWorks提供了所有模型對象的一個全局的層次結(jié)構(gòu)的瀏覽視圖 以確保其貫穿于整個開發(fā)周期的一致性 5 PowerDesignerWarehouseArchitect 用于數(shù)據(jù)倉庫和數(shù)據(jù)集市的建模和實現(xiàn) WarehouseArchitect提供了針對所有主要傳統(tǒng)DBMS 如Sybase Oracle Informix和DB2 以及數(shù)據(jù)倉庫特定的DBMS 如RedBrickWarehouse和ASIQ 的完全的倉庫處理支持 6 PowerDesignerViewer 用于以只讀的 圖形化的方式訪問模型和源數(shù)據(jù)信息 Viewer提供了對PowerDesigner所有模型 包括概念模型 物理模型和倉庫模型 信息的只讀訪問 3 編程工具 1 VisualStudio NETVisualStudio NET使Microsoft為解決當(dāng)今最具挑戰(zhàn)性的軟件開發(fā)需要而推出的新一代開發(fā)工具 用于設(shè)計 開發(fā) 調(diào)試和部署功能強(qiáng)大而安全的連接Microsoft NET的軟件 VisualStudio NET所提供的開發(fā)工具主要包括 可視化的窗體 網(wǎng)頁設(shè)計器 支持以拖動方式生成控件 同時提供源碼查看視圖 智能化的代碼編輯器 支持語句自動完成 語法檢查等功能 集成編譯 調(diào)試功能 項目管理功能 生成并管理應(yīng)用程序文件 并可將應(yīng)用程序安裝到遠(yuǎn)程服務(wù)器上 VisualStudio NET支持C VB C 和J 等編程語言 開發(fā)人員可以使用VisualStudio NET完成以下工作 構(gòu)建功能強(qiáng)大而且響應(yīng)能力極好的基于Windows的應(yīng)用程序 構(gòu)建功能強(qiáng)大而且響應(yīng)能力極好的PocketPC應(yīng)用程序 構(gòu)建完善而安全的Web應(yīng)用程序 構(gòu)建對設(shè)備有智能感知能力的完善而安全的移動Web應(yīng)用程序 在以上任何一種應(yīng)用程序中使用XMLWebServices 避免 DLL災(zāi)難 消除代價高昂的應(yīng)用程序部署和維護(hù)問題 2 BorlandJBuilderBorlandJBuilder是Borland公司用于Java平臺的應(yīng)用程序生命周期管理 ALM 技術(shù)套件的關(guān)鍵部分 用來為Java開發(fā)小組提供所需的開發(fā)工具 以便加速EnterpriseJavaBeans EJB XML Web業(yè)務(wù) 移動與數(shù)據(jù)庫應(yīng)用程序的開發(fā) JBuilder使用提高開發(fā)小組生產(chǎn)力和效率的增強(qiáng)技術(shù) 可以使Java開發(fā)小組生成可靠的企業(yè)級應(yīng)用 使用Jbuilder 開發(fā)人員可以在集成的 可升級的 可擴(kuò)展的開發(fā)小組環(huán)境中工作 從而簡化源代碼的并行管理 Jbuilder技術(shù)有助于開發(fā)小組理解并經(jīng)濟(jì)地復(fù)用現(xiàn)有的代碼部件 這意味著開發(fā)人員能夠更加高效地利用時間 對具有類似功能的多個實例只需進(jìn)行一次編碼 JBuilder開發(fā)環(huán)境可讓開發(fā)人員使用從設(shè)計 編程 調(diào)試與測試直到分發(fā)與管理的應(yīng)用程序生命周期的全部階段 Jbuilder企業(yè)版包括了BorlandOptimizeitSuite性能套件工具 用以在整個開發(fā)過程中確保開發(fā)質(zhì)量與產(chǎn)品質(zhì)量 與Borland的Java應(yīng)用程序生命周期解決方案中其它工具的無縫集成 可以使開發(fā)小組專注于開發(fā)更好的應(yīng)用程序 而不必考慮各種工具如何協(xié)同工作 JBuilder與BorlandTogether建模技術(shù)的結(jié)合 有助于Jbuilder用戶更好地理解代碼結(jié)構(gòu) 管理項目的復(fù)雜程度 JBuilder與BorlandStarTeam自動化配置變更管理系統(tǒng)協(xié)同工作 可以在全部開發(fā)周期中提高對項目的掌握程度 JBuilder也與其它業(yè)界領(lǐng)先的版本控制系統(tǒng)與部署發(fā)布平臺系統(tǒng)集成在一起 提供了平臺的靈活性與選擇方面的便利 JBuilder集成開發(fā)環(huán)境降低了Java程序的開發(fā)難度 同時能夠幫助Java程序開發(fā)人員提高Java語言的編程水平 從而確保Java開發(fā)任務(wù)能夠快速高效地完成 并且保證開發(fā)項目的質(zhì)量和性能 JBuilder提供了強(qiáng)大的Web應(yīng)用程序開發(fā)支持能力 包括一個針對ApacheStruts開發(fā)框架的標(biāo)準(zhǔn)可視化設(shè)計器 以及對通用開放源代碼應(yīng)用服務(wù)器Jboss的全面支持 通過基于Swing的JavaOpenTools應(yīng)用編程接口 JBuilder能夠方便地進(jìn)行擴(kuò)展 JBuilder和上百個由第三方提供地可重復(fù)使用地組件和插件一起發(fā)布 提供給開發(fā)人員更多地附加價值 和JBuilder一起發(fā)布插件的公司包括Altova CrystalDecisions Oracle Sun和Sybase等 JBuilder有如下主要特性 1 優(yōu)異的J2EE開發(fā)環(huán)境JBuilder提供了對J2EE核心技術(shù)EJB2 0的支持 并通過可視化的EJBEsigner設(shè)計器 可以高效地建立可重復(fù)使用的EJB 它還支持多種J2EE應(yīng)用服務(wù)器 包括BEAWebLogic IBMWebSphere SunONE Oracle SybaseEAServer JBoss和集成的BorlandEnterpriseServer等 并可以在不用停止服務(wù)器的情況下進(jìn)行本機(jī)或遠(yuǎn)端的EJB執(zhí)行 2 高效的Web服務(wù)開發(fā)環(huán)境在開發(fā)分布式業(yè)務(wù)應(yīng)用程序和其它較大的應(yīng)用程序時 JBuilder的優(yōu)越性表現(xiàn)得尤為突出 通過簡單得鼠標(biāo)拖放就能夠快捷地創(chuàng)建 驗證 輸入和輸出Web服務(wù) 這使得使用 創(chuàng)建和管理多個Web服務(wù)任務(wù)時更加高效快捷 JBuilder支持最新得Web服務(wù)技術(shù) 包括SOAP WSDL UDDI和WSIL等 3 高級Web開發(fā)的特性JBuilder內(nèi)置了多種可視化開發(fā)工具 能夠快速開發(fā)Web應(yīng)用程序以及客戶端Java應(yīng)用程序 JBuilder內(nèi)置的ArchiveBuilderWizard可建立WAR文檔 并且可以輕松部署Web應(yīng)用程序 標(biāo)準(zhǔn)的Struts設(shè)計器能夠通過簡單的拖放操作快速 直觀地開發(fā)Web高級應(yīng)用程序 JBuilder允許將現(xiàn)有的HTML或者JSP轉(zhuǎn)換為特有的Struts標(biāo)簽 并提供了JSP標(biāo)簽函數(shù)庫功能 這樣能夠加速編碼并降低編碼錯誤的風(fēng)險 4 貼心的可用性設(shè)計JBuilder提供了友好的用戶界面 它的多種視窗可用于更快速地編輯代碼 而且更容易管理編輯過程 可配置的個性化設(shè)置 允許開發(fā)人員定制開發(fā)環(huán)境 使只有與當(dāng)前任務(wù)相關(guān)的特性才會顯示 新加入的代碼折疊功能使得開發(fā)人員能夠同時觀看多個編碼片段 從而減少了處理大型源文件的復(fù)雜程度 使用項目內(nèi)部任務(wù)管理列表和書簽更易于管理工作進(jìn)程狀況 支持復(fù)用技術(shù) 以加速編碼重組從而提高編碼速度和編碼質(zhì)量 3 EclipseEclipse是一個開放源代碼的 基于Java的可擴(kuò)展開發(fā)平臺 就其本身而言 它只是一個框架和一組服務(wù) 用于通過插件組件構(gòu)建開發(fā)環(huán)境 Eclipse附帶了一個標(biāo)準(zhǔn)的插件集 包括Java開發(fā)工具 JavaDevelopmentTools JDT Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件VisualAgeforJava的下一代IDE開發(fā)環(huán)境 2001年11月貢獻(xiàn)給開源社區(qū) 現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會 EclipseFoundation 管理 2003年 Eclipse3 0選擇OSGi服務(wù)平臺規(guī)范為運(yùn)行時架構(gòu) 2007年6月 穩(wěn)定版3 3發(fā)布 2008年6月發(fā)布代號為Ganymede的3 4版 Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境 IDE 最初主要用來Java語言開發(fā) 但是目前亦有人通過插件使其作為其他計算機(jī)語言比如C 和Python的開發(fā)工具 Eclipse的本身只是一個框架平臺 但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性 許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建 起始于1999年4月 IBM提供了最初的Eclipse代碼基礎(chǔ) 包括Platform JDT和PDE 目前由IBM牽頭 圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟 有150多家軟件公司參與到Eclipse項目中 其中包括Borland RationalSoftware RedHat及Sybase等 Eclipse是一個開發(fā)源碼項目 它其實是VisualAgeforJava的替代品 其界面跟先前的VisualAgeforJava差不多 但由于其開放源碼 任何人都可以免費(fèi)得到 并可以在此基礎(chǔ)上開發(fā)各自的插件 因此越來越受人們關(guān)注 近期還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項目 并宣稱Eclipse將來能成為可進(jìn)行任何語言開發(fā)的IDE集大成者 使用者只需下載各種語言的插件即可 雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作JavaIDE來使用 但Eclipse的目標(biāo)不僅限于此 Eclipse還包括插件開發(fā)環(huán)境 Plug inDevelopmentEnvironment PDE 這個組件主要針對希望擴(kuò)展Eclipse的軟件開發(fā)人員 因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具 由于Eclipse中的每樣?xùn)|西都是插件 對于給Eclipse提供插件 以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言 所有工具開發(fā)人員都具有同等的發(fā)揮場所 基于Eclipse的應(yīng)用程序的突出例子是IBM的WebSphereStudioWorkbench 它構(gòu)成了IBMJava開發(fā)工具系列的基礎(chǔ) 例如 WebSphereStudioApplicationDeveloper添加了對JSP servlet EJB XML Web服務(wù)和數(shù)據(jù)庫訪問的支持 Eclipse是一個開放源代碼的軟件開發(fā)項目 專注于為高度集成的工具開發(fā)提供一個全功能的 具有商業(yè)品質(zhì)的工業(yè)平臺 它主要由Eclipse項目 Eclipse工具項目和Eclipse技術(shù)項目三個項目組成 具體包括四個部分組成 EclipsePlatform JDT CDT和PDE JDT支持Java開發(fā) CDT支持C開發(fā) PDE用來支持插件開發(fā) EclipsePlatform則是一個開放的可擴(kuò)展IDE 提供了一個通用的開發(fā)平臺 它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ) EclipsePlatform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束 而另一個工具功能在哪里開始 EclipseSDK 軟件開發(fā)者包 是EclipsePlatform JDT和PDE所生產(chǎn)的組件合并 它們可以一次下載 這些部分在一起提供了一個具有豐富特性的開發(fā)環(huán)境 允許開發(fā)者有效地建造可以無縫集成到EclipsePlatform中的工具 EclipseSDK由Eclipse項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成 Eclipse項目生產(chǎn)的軟件以CPL發(fā)布 第三方組件有各自自身的許可協(xié)議 4 測試工具 1 WinRunnerMercuryInteractive公司的WinRunner是一種企業(yè)級的功能測試工具 用于檢測應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行 通過自動錄制 檢測和回放用戶的應(yīng)用操作 WinRunner能夠有效地幫助測試人員對復(fù)雜的企業(yè)級應(yīng)用的不同發(fā)布版進(jìn)行測試 提高測試人員的工作效率和質(zhì)量 確??缙脚_的 復(fù)雜的企業(yè)級應(yīng)用無故障發(fā)布及長期穩(wěn)定運(yùn)行 WinRunner具有如下特點(diǎn) 1 輕松創(chuàng)建測試 用WinRuuner創(chuàng)建一個測試 只需點(diǎn)擊鼠標(biāo)和鍵盤 完成一個標(biāo)準(zhǔn)的業(yè)務(wù)操作流程 WinRunner自動記錄你的操作并生成所需的腳本代碼 這樣 即使計算機(jī)技術(shù)知識有限的業(yè)務(wù)用戶輕松創(chuàng)建完整的測試 你還可以直接修改測試腳本以滿足各種復(fù)雜測試的需求 WinRunner提供這兩種測試創(chuàng)建方式 滿足測試團(tuán)隊中業(yè)務(wù)用戶和專業(yè)技術(shù)人員的不同需求 2 插入檢查點(diǎn) 在記錄一個測試的過程中 可以插入檢查點(diǎn) 檢查在某個時刻 狀態(tài)下 應(yīng)用程序是否運(yùn)行正常 在插入檢查點(diǎn)后 WinRunner會收集一套數(shù)據(jù)指標(biāo) 在測試運(yùn)行時對其一一驗證 WinRunner提供幾種不同類型的檢查點(diǎn) 包括文本的 GUI 位圖和數(shù)據(jù)庫 例如 用一個位圖檢查點(diǎn) 你可以檢查公司的圖標(biāo)是否出現(xiàn)于指定位置 3 檢驗數(shù)據(jù) 除了創(chuàng)建并運(yùn)行測試 WinRunner還能驗證數(shù)據(jù)庫的數(shù)值 從而確保業(yè)務(wù)交易的準(zhǔn)確性 例如 在創(chuàng)建測試時 可以設(shè)定哪些數(shù)據(jù)庫表和記錄需要檢測 在測試運(yùn)行時 測試程序就會自動核對數(shù)據(jù)庫內(nèi)的實際數(shù)值和預(yù)期的數(shù)值 WinRunner自動顯示檢測結(jié)果 在有更新 刪除 插入的記錄上突出顯示以引起注意 4 增強(qiáng)測試 為了徹底全面地測試一個應(yīng)用程序 需要使用不同類型的數(shù)據(jù)來測試 WinRunner的數(shù)據(jù)驅(qū)動向?qū)?DataDriverWizard 可以讓你簡單地點(diǎn)擊幾下鼠標(biāo) 就可以把一個業(yè)務(wù)流程測試轉(zhuǎn)化為數(shù)據(jù)驅(qū)動測試 從而反映多個用戶各自獨(dú)特且真實的行為 以一個訂單輸入的流程為例 你可能希望把訂單號或客戶名稱作為可變欄 用多套數(shù)據(jù)進(jìn)行測試 使用DataDriverWizard 你可以選擇訂單號或客戶名稱用數(shù)據(jù)表格文件中的哪個欄目的數(shù)據(jù)替換 你可以把訂單號或客戶名稱輸入數(shù)據(jù)表格文件 或從其它表格和數(shù)據(jù)庫中導(dǎo)入 數(shù)據(jù)驅(qū)動測試不僅節(jié)省了時間和資源 又提高了應(yīng)用的測試覆蓋率 WinRunner還可以通過FunctionGenerator增加測試的功能 使用FunctionGenerator可以從目錄列表中選擇一個功能增加到你的測試中以提高測試能力 5 運(yùn)行測試 創(chuàng)建好測試腳本 并插入檢查點(diǎn)和必要的添加功能后 你就可以開始運(yùn)行測試 運(yùn)行測試時 WinRunner會自動操作應(yīng)用程序 就象一個真實的用戶根據(jù)業(yè)務(wù)流程執(zhí)行著每一步的操作 測試運(yùn)行過程中 如有網(wǎng)絡(luò)消息窗口出現(xiàn)或其它意外事件出現(xiàn) WinRunner也會根據(jù)預(yù)先的設(shè)定排除這些干擾 6 分析結(jié)果 測試運(yùn)行結(jié)束后 你需要分析測試結(jié)果 WinRunner通過交互式的報告工具來提供詳盡的 易讀的報告 報告中會列出測試中發(fā)現(xiàn)的錯誤內(nèi)容 位置 檢查點(diǎn)和其它重要事件 幫助你對測試結(jié)果進(jìn)行分析 這些測試結(jié)果還可以通過MercuryInteractive的測試管理工具TestDirector來查閱 7 維護(hù)測試 隨著時間的推移 開發(fā)人員會對應(yīng)用程序做進(jìn)一步的修改 并需要增加另外的測試 使用WinRunner 你不必對程序的每一次改動都重新創(chuàng)建你的測試 WinRunner可以創(chuàng)建在整個應(yīng)用程序生命周期內(nèi)都可以重復(fù)使用的測試 從而大大地節(jié)省時間和資源 充分利用你的測試投資 每次記錄測試時 WinRunner會自動創(chuàng)建一個GUIMap文件以保存應(yīng)用對象 這些對象分層次組織 既可以總覽所有的對象 也可以查詢某個對象的詳細(xì)信息 一般而言 對應(yīng)用程序的任何改動都會影響到成百上千個測試 通過修改一個GUIMap文件而非無數(shù)個測試 WinRunner可以方便地實現(xiàn)測試重用 2 LoadRunnerMercuryInteractive公司的LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具 通過以模擬上千萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題 LoadRunner能夠?qū)φ麄€企業(yè)架構(gòu)進(jìn)行測試 通過使用LoadRunner 企業(yè)能最大限度地縮短測試時間 優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期 LoadRunner是一種適用于各種體系架構(gòu)的自動負(fù)載測試工具 它能預(yù)測系統(tǒng)行為并優(yōu)化系統(tǒng)性能 LoadRunner的測試對象是整個企業(yè)的系統(tǒng) 它通過模擬實際用戶的操作行為和實行實時性能監(jiān)測 來幫助您更快的查找和發(fā)現(xiàn)問題 此外 LoadRunner能支持廣泛的協(xié)議和技術(shù) 為您的特殊環(huán)境提供特殊的解決方案 LoadRunner具有如下功能 1 輕松創(chuàng)建虛擬用戶使用LoadRunner的VirtualUserGenerator 能夠很簡便地創(chuàng)立起系統(tǒng)負(fù)載 該引擎能夠生成虛擬用戶 以虛擬用戶的方式模擬真實用戶的業(yè)務(wù)操作行為 它先記錄下業(yè)務(wù)流程 如下訂單或機(jī)票預(yù)定 然后將其轉(zhuǎn)化為測試腳本 利用虛擬用戶 可以在Windows UNIX或Linux機(jī)器上同時產(chǎn)生成千上萬個用戶訪問 所以LoadRunner能極大的減少負(fù)載測試所需的硬件和人力資源 用VirtualUserGenerator建立測試腳本后 您可以對其進(jìn)行參數(shù)化操作 這一操作能讓您利用幾套不同的實際發(fā)生數(shù)據(jù)來測試您的應(yīng)用程序 從而反映出本系統(tǒng)的負(fù)載能力 以一個訂單輸入過程為例 參數(shù)化操作可將記錄中的固定數(shù)據(jù) 如訂單號和客戶名稱 由可變值來代替 在這些變量內(nèi)隨意輸入可能的訂單號和客戶名 來匹配多個實際用戶的操作行為 為了進(jìn)一步確定您的Virtualuser能夠模擬真實用戶 您可利用LoadRunner控制某些行為特性 例如 只需要點(diǎn)擊一下鼠標(biāo) 就能輕易控制交易的數(shù)量 交易頻率 用戶的思考時間和連接速度等 2 創(chuàng)建真實的負(fù)載Virtualusers建立起后 您需要設(shè)定您的負(fù)載方案 業(yè)務(wù)流程組合和虛擬用戶數(shù)量 用LoadRunner的Controller 您能很快組織起多用戶的測試方案 Controller的Rendezvous功能提供一個互動的環(huán)境 在其中您既能建立起持續(xù)且循環(huán)的負(fù)載 又能管理和驅(qū)動負(fù)載測試方案 而且 可以利用它的日程計劃服務(wù)來定義用戶在什么時候訪問系統(tǒng)以產(chǎn)生負(fù)載 這樣 就能將測試過程自動化 同樣還可以用Controller來限定您的負(fù)載方案 在這個方案中所有的用戶同時執(zhí)行一個動作 如登陸到一個庫存應(yīng)用程序 來模擬峰值負(fù)載的情況 另外 還能監(jiān)測系統(tǒng)架構(gòu)中各個組件的性能 包括服務(wù)器 數(shù)據(jù)庫 網(wǎng)絡(luò)設(shè)備等 來幫助客戶決定系統(tǒng)的配置 3 定位性能問題LoadRunner內(nèi)含集成的實時監(jiān)測器 在負(fù)載測試過程的任何時候 可以觀察到應(yīng)用系統(tǒng)的運(yùn)行性能 這些性能監(jiān)測器實時顯示交易性能數(shù)據(jù) 如響應(yīng)時間 和其它系統(tǒng)組件包括applicationserver webserver 網(wǎng)絡(luò)設(shè)備和數(shù)據(jù)庫等的實時性能 這樣 可以在測試過程中從客戶和服務(wù)器的雙方面評估這些系統(tǒng)組件的運(yùn)行性能 從而更快地發(fā)現(xiàn)問題 利用LoadRunner的ContentCheck 可以判斷負(fù)載下的應(yīng)用程序功能正常與否 ContentCheck在Virtualusers運(yùn)行時 檢測應(yīng)用程序的網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容 從中確定是否有錯誤內(nèi)容傳送出去 它的實時瀏覽器幫助您從終端用戶角度觀察程序性能狀況 4 分析結(jié)果以精確定位問題所在當(dāng)測試完畢后 LoadRunner收集匯總所有的測試數(shù)據(jù) 并提供高級的分析和報告工具 以便迅速查找到性能問題并追溯原由 使用LoadRunner的Web交易細(xì)節(jié)監(jiān)測器 可以了解到將所有的圖象 框架和文本下載到每一網(wǎng)頁上所需的時間 例如 這個交易細(xì)節(jié)分析機(jī)制能夠分析是否因為一個大尺寸的圖形文件或是第三方的數(shù)據(jù)組件造成應(yīng)用系統(tǒng)運(yùn)行速度減慢 另外 Web交易細(xì)節(jié)監(jiān)測器分解用于客戶端 網(wǎng)絡(luò)和服務(wù)器上端到端的反應(yīng)時間 便于確認(rèn)問題 定位查找真正出錯的組件 例如 可以將網(wǎng)絡(luò)延時進(jìn)行分解 以判斷DNS解析時間 連接服務(wù)器或SSL認(rèn)證所花費(fèi)的時間 通過使用LoadRunner的分析工具 可以很快地查找到出錯的位置和原因并作出相應(yīng)的調(diào)整 5 重復(fù)測試保證系統(tǒng)發(fā)布的高性能負(fù)載測試是一個重復(fù)過程 每次處理完一個出錯情況 您都需要對您的應(yīng)用程序在相同的方案下 再進(jìn)行一次負(fù)載測試 以此檢驗?zāi)龅男拚欠窀纳屏诉\(yùn)行性能 LoadRunner完全支持EJB的負(fù)載測試 這些基于Java的組件運(yùn)行在應(yīng)用服務(wù)器上 提供廣泛的應(yīng)用服務(wù) 通過測試這些組件 您可以在應(yīng)用程序開發(fā)的早期就確認(rèn)并解決可能產(chǎn)生的問題 利用LoadRunner 可以很方便地了解系統(tǒng)的性能 它的Controller允許重復(fù)執(zhí)行與出錯修改前相同的測試方案 它的基于HTML的報告提供了一個比較性能結(jié)果所需的基準(zhǔn) 以此衡量在一段時間內(nèi) 有多大程度的改進(jìn)并確保應(yīng)用成功 由于這些報告是基于HTML的文本 測試員可以將其公布于測試公司的內(nèi)部網(wǎng)上 便于隨時查閱 13 2軟件工程環(huán)境 13 2 1軟件工程環(huán)境的概念從軟件工程學(xué)的范疇來看 軟件開發(fā)技術(shù)主要包含軟件開發(fā)方法學(xué) 軟件工具和軟件工程環(huán)境三方面的內(nèi)容 軟件工程環(huán)境是軟件開發(fā)技術(shù)的重要組成部分 開發(fā)方法的研究與實現(xiàn)會促進(jìn)軟件開發(fā)技術(shù)的發(fā)展 為幫助實現(xiàn)和推行這種方法 經(jīng)常隨之開發(fā)相應(yīng)的支持工具 主要包括硬件和軟件支持工具 在學(xué)習(xí)新方法的同時也會逐步掌握相應(yīng)工具的操作 同樣人們通過工具的使用能夠更充分熟悉新方法 彼此互相促進(jìn) 方法與工具的結(jié)合 再加上相應(yīng)的軟硬件的支持就形成了環(huán)境 1 軟件工程環(huán)境的概念軟件工程環(huán)境作為軟件工程學(xué)的重要組成部分 是實現(xiàn)軟件生產(chǎn)工程化的重要基礎(chǔ) 為軟件開發(fā)過程中的技術(shù)開發(fā)活動與管理活動提供重要支持 近幾十年來 軟件工程環(huán)境的研究取得了充分的發(fā)展 如CASE 集成項目支持環(huán)境 IPSE 等技術(shù)正在成為最有效的軟件開發(fā)輔助工具 一直是人們關(guān)注研究的對象 很多實用的環(huán)境應(yīng)運(yùn)而生 軟件工程環(huán)境是是指支持軟件產(chǎn)品開發(fā) 維護(hù)和管理的軟件系統(tǒng) 它在統(tǒng)一的集成機(jī)制下由一系列軟件工具組成 美國國防部給出了軟件工程環(huán)境另一定義 一個軟件工程環(huán)境是一組方法 過程及計算機(jī)程序的整體化構(gòu)件 它支持從需求定義 程序生成直到維護(hù)的整個軟件生命周期 這些工具對軟件開發(fā)相關(guān)的過程 活動和任務(wù)提供全面的支持 提高軟件產(chǎn)品的生產(chǎn)效率和軟件產(chǎn)品的質(zhì)量 降低軟件開發(fā) 維護(hù)和管理的成本 軟件工程環(huán)境通常都有一套包括數(shù)據(jù)集成 控制集成和界面集成的集成機(jī)制 使各個工具使用統(tǒng)一的規(guī)范訪問環(huán)境信息庫 采用統(tǒng)一的用戶界面 同時為各個工具或開發(fā)活動之間的通信 切換 調(diào)度和協(xié)同工作提供支持 軟件工具是指支持計算機(jī)軟件的開發(fā) 維護(hù) 仿真或管理而設(shè)計的程序系統(tǒng) 軟件工具的開發(fā)對軟件工程環(huán)境的支持至關(guān)重要 一般將軟件工具分為工具箱 工作臺和方法指南三種類型 1 工具箱 能自動執(zhí)行某類軟件生存期任務(wù)的一組集成化工具 如系統(tǒng)設(shè)計 程序維護(hù)及系統(tǒng)分析等 2 工作臺 實現(xiàn)整個軟件生存期各種任務(wù)自動化的一組集成化工具 3 方法指南 為某種具體軟件提供相應(yīng)的輔助手段 這些方法包括結(jié)構(gòu)化分析方法 結(jié)構(gòu)化設(shè)計方法及信息工程方法等 2 軟件工程環(huán)境的分類軟件工程環(huán)境分類方式有多種 1 按軟件開發(fā)模型及開發(fā)方法分類 有支持瀑布模型 演化模型 螺旋模型 噴泉模型以及結(jié)構(gòu)化方法 信息模型方法 面向?qū)ο蠓椒ǖ炔煌P图胺椒ǖ能浖_發(fā)環(huán)境 2 按功能及結(jié)構(gòu)特點(diǎn)分類 有單體型 協(xié)同型 分散型和并發(fā)型等多種類型的軟件開發(fā)環(huán)境 3 按應(yīng)用范圍分類 有通用型和專用型軟件開發(fā)環(huán)境 其中專用型軟件開發(fā)環(huán)境與應(yīng)用領(lǐng)域有關(guān) 故又可稱為應(yīng)用型軟件開發(fā)環(huán)境 4 按開發(fā)階段分類 有前端開發(fā)環(huán)境 支持系統(tǒng)規(guī)劃 分析 設(shè)計等階段的活動 后端開發(fā)環(huán)境 支持編程 測試等階段的活動 軟件維護(hù)環(huán)境和逆向工程環(huán)境等 此類環(huán)境往往可通過對功能較全的環(huán)境進(jìn)行剪裁而得到 軟件開發(fā)環(huán)境由工具集和集成機(jī)制兩部分構(gòu)成 工具集和集成機(jī)制間的關(guān)系猶如 插件 和 插槽 間的關(guān)系 工具集 軟件開發(fā)環(huán)境中的工具可包括 支持特定過程模型和開發(fā)方法的工具 如支持瀑布模型及數(shù)據(jù)流方法的分析工具 設(shè)計工具 編碼工具 測試工具 維護(hù)工具 支持面向?qū)ο蠓椒ǖ腛OA工具 OOD工具和OOP工具等 獨(dú)立于模型和方法的工具 如界面輔助生成工具和文檔出版工具 亦可包括管理類工具和針對特定領(lǐng)域的應(yīng)用類工具 集成機(jī)制 對工具的集成及用戶軟件的開發(fā) 維護(hù)及管理提供統(tǒng)一的支持 按功能可劃分為環(huán)境信息庫 過程控制及消息服務(wù)器 環(huán)境用戶界面三個部分 環(huán)境信息庫 是軟件開發(fā)環(huán)境的核心 用以儲存與系統(tǒng)開發(fā)有關(guān)的信息并支持信息的交流與共享 庫中儲存兩類信息 一類是開發(fā)過程中產(chǎn)生的有關(guān)被開發(fā)系統(tǒng)的信息 如分析文檔 設(shè)計文檔 測試報告等 另一類是環(huán)境提供的支持信息 如文檔模板 系統(tǒng)配置 過程模型 可復(fù)用構(gòu)件等 過程控制和消息服務(wù)器 是實現(xiàn)過程集成及控制集成的基礎(chǔ) 過程集成是按照具體軟件開發(fā)過程的要求進(jìn)行工具的選擇與組合 控制集成并行工具之間的通信和協(xié)同工作 環(huán)境用戶界面 包括環(huán)境總界面和由它實行統(tǒng)一控制的各環(huán)境部件及工具的界面 統(tǒng)一的 具有一致視感 Look Feel 的用戶界面是軟件開發(fā)環(huán)境的重要特征 是充分發(fā)揮環(huán)境的優(yōu)越性 高效地使用工具并減輕用戶的學(xué)習(xí)負(fù)擔(dān)的保證 3 軟件工程環(huán)境的功能較完善的軟件開發(fā)環(huán)境通常具有如下功能 1 軟件開發(fā)的一致性及完整性維護(hù) 2 配置管理及版本控制 3 數(shù)據(jù)的多種表示形式及其在不同形式之間自動轉(zhuǎn)換 4 信息的自動檢索及更新 5 項目控制和管理 6 對方法學(xué)的支持 4 軟件工程環(huán)境的結(jié)構(gòu)軟件工程環(huán)境構(gòu)成元素有如下內(nèi)容 軟件信息數(shù)據(jù)庫 交互式的人機(jī)界面 語言工具 質(zhì)量保證工具 需求分析及設(shè)計工具 配置管理工具 13 2 2軟件開發(fā)環(huán)境的特點(diǎn) 下面從環(huán)境工具和用戶界面兩個方面說明軟件開發(fā)環(huán)境的特點(diǎn) 1 集成化的軟件工具在早期的編程環(huán)境中 各種工具的功能與使用是相互孤立的 在程序調(diào)試過程中 如果在程序編譯過程中發(fā)現(xiàn)錯誤 要先退出編譯程序 重新調(diào)用編輯程序來修改程序 待程序修改后 再重新調(diào)用編譯程序 在程序調(diào)試中要不斷地重復(fù)這一過程 在編譯和編輯這兩種工具之間來回切換 不僅給操作帶來麻煩 而且浪費(fèi)開發(fā)人員很多時間 20世紀(jì)70年代出現(xiàn)的工具箱 能部分實現(xiàn)從一個工具到另一個工具的切換 如在程序調(diào)試中 當(dāng)編譯程序發(fā)現(xiàn)錯誤時 開發(fā)環(huán)境能自動調(diào)出編輯程序 并且在源程序出錯的位置發(fā)出某種信號 例如光標(biāo)閃爍 提示程序員進(jìn)行修改 既減少了來回切換的麻煩 又縮短了調(diào)試時間 提高了開發(fā)效率 集成化工具的使用 則比工具箱更勝一籌 它要求在同一開發(fā)階段或不同階段的有關(guān)工具之間 實現(xiàn)完全的自動切換 工具的集成化主要包括數(shù)據(jù)集成 界面集成 控制集成和過程集成 平臺等其它方面的集成 1 數(shù)據(jù)集成 數(shù)據(jù)集成機(jī)制提供統(tǒng)一的數(shù)據(jù)模式和數(shù)據(jù)接口規(guī)范 需要相互協(xié)作的工具通過這種統(tǒng)一的模式與規(guī)范交換數(shù)據(jù) 數(shù)據(jù)集成可以有不同的層次 如共享文件 共享數(shù)據(jù)結(jié)構(gòu)和共享信息庫等 2 界面集成 界面集成機(jī)制為統(tǒng)一的工具界面風(fēng)格和統(tǒng)一的操作方式提供支持 使得環(huán)境中的工具具有相同的視覺效果和操作規(guī)則 減少用戶為學(xué)習(xí)不同工具的使用所花費(fèi)的開銷 界面集成主要體現(xiàn)在相同或相似的窗口 菜單 工具條 快捷鍵 操作規(guī)則與命令語法等 3 控制集成 控制集成機(jī)制支持各工具或各開發(fā)活動之間的通信 切換 調(diào)度和協(xié)同工作 并支持軟件開發(fā)過程的描述 執(zhí)行和轉(zhuǎn)接 通常使用消息通信機(jī)制實現(xiàn)控制集成 工具間發(fā)送的消息統(tǒng)一由消息服務(wù)器進(jìn)行管理 4 過程集成 這類開發(fā)環(huán)境了解軟件過程中各個活動的時序 約束等 能主動地調(diào)度這些活動 保持它們恰當(dāng)?shù)捻樞?5 平臺集成 指工具運(yùn)行在相同的硬件和操作系統(tǒng)下 2 友好和統(tǒng)一的用戶界面友好的用戶界面 既能為使用者帶來方便 又有助于提高操作者的效率 當(dāng)今的開發(fā)環(huán)境經(jīng)常采用以下的技術(shù)來提高用戶界面的友好性 1 具有彈出功能的多級菜單 這種菜單將環(huán)境的各種功能組織成命令樹的形式 無論是選擇當(dāng)前菜單的功能 還是拉出下級菜單或返回上級菜單 都只需用鼠標(biāo)單擊或簡單的鍵盤操作即可實現(xiàn) 2 屏幕提示和在線幫助技術(shù) 屏幕提示用于提示用戶當(dāng)前可選擇的操作或需要注意的事項 在線幫助根據(jù)用戶的要求 提供及時的在線幫助 3 采用多窗口技術(shù) 可在屏幕上隨時打開多個窗口 如編輯窗口 執(zhí)行命令窗口 對話窗口和其它窗口 以便用戶在同一時間內(nèi)處理或監(jiān)視多個不同的任務(wù) 4 采用向?qū)Ъ夹g(shù) 把一些常用任務(wù)或動作的執(zhí)行步驟組合成一體 當(dāng)用戶執(zhí)行這組任務(wù)或動作時 只要從一個入口進(jìn)入 然后可按照提示選擇 上一步 下一步 取消 及 確定 操作即可 菜單 多窗口 向?qū)Ш蛶椭畔?是用戶界面的重要內(nèi)容 被稱為四大友好技術(shù) 不僅適應(yīng)于軟件開發(fā)環(huán)境 在開發(fā)應(yīng)用軟件時也多采用這些技術(shù) 13 3CASE技術(shù) 13 3 1CASE定義計算機(jī)輔助軟件工程 CASE 的產(chǎn)生與軟件工程的發(fā)展有著緊密的關(guān)系 它是軟件工程發(fā)展到一定時期的必然產(chǎn)物 20世紀(jì)60年代后期產(chǎn)生的軟件工程完成了軟件生產(chǎn)的第一次變革 由 手工作坊 方式向 工程化 方式的轉(zhuǎn)變 而80年代后期產(chǎn)生的CASE技術(shù)則完成了軟件生產(chǎn)的第二次變革 由 工程化 方式向 自動化 方式的轉(zhuǎn)變 CASE ComputerAidedSoftwareEngineering 計算機(jī)輔助軟件工程 是計算機(jī)技術(shù)在系統(tǒng)開發(fā)活動 技術(shù)和方法中的應(yīng)用 是軟件工具與開發(fā)方法的結(jié)合體 使人們能在計算機(jī)的輔助下進(jìn)行軟件開發(fā) 為軟件開發(fā)的工程化 自動化進(jìn)而智能化打下基礎(chǔ) CASE的目的是 使開發(fā)支持工具與開發(fā)方法學(xué)統(tǒng)一結(jié)合起來 通過實現(xiàn)分析 設(shè)計與程序開發(fā) 維護(hù)的自動化 提高軟件系統(tǒng)開發(fā)的效率和系統(tǒng)的質(zhì)量 最終實現(xiàn)系統(tǒng)開發(fā)的全面自動化 CASE的主體目標(biāo)是 通過一系列集成化的軟件工具 技術(shù)和方法 使整個計算機(jī)系統(tǒng)的開發(fā)自動化 其具體目標(biāo)是 提高系統(tǒng)開發(fā)效率 提高系統(tǒng)開發(fā)質(zhì)量 加速系統(tǒng)開發(fā)進(jìn)程 降低系統(tǒng)開發(fā)費(fèi)用 實現(xiàn)系統(tǒng)設(shè)計的逆向工程 ReverseEngineering 的自動化 自動產(chǎn)生程序代碼 自動進(jìn)行錯誤的檢查和校驗 實現(xiàn)項目管理工作的自動化 改善系統(tǒng)開發(fā)過程的控制 集成系統(tǒng)開發(fā)的工具 提高軟件的復(fù)用性和可移植性 CASE系統(tǒng)應(yīng)該具備以下功能 支持多種軟件開發(fā)方法學(xué) 如結(jié)構(gòu)化方法 快速原型法 面向?qū)ο蠓椒ǖ?支持軟件開發(fā)生命周期的各個階段 上游 分析和設(shè)計 下游 編碼 測試與維護(hù) 及項目管理 具有文檔出版功能和文字 圖形編輯功能 支持軟件復(fù)用 支持開發(fā)信息資源共享 一般說來 一個CASE工具應(yīng)該具備以下功能 或其中的一部分功能 用戶通過CASE工具能夠創(chuàng)建系統(tǒng)開發(fā)各階段所需要的圖表 收集有關(guān)圖表上的對象以及對象之間的關(guān)系的信息 以便建立一個完整的信息集合 在一個中央資源庫中 應(yīng)將圖表所表示的語義而不是圖表本身存儲起來 根據(jù)準(zhǔn)確性 一致性 完整性檢查圖表 使用戶能夠用多種圖表類型表示一個分析或設(shè)計的不同方面 使用戶以圖表來描述條件 循環(huán) CASE結(jié)構(gòu)和其它結(jié)構(gòu)化程序結(jié)構(gòu) 實施結(jié)構(gòu)化的模型和設(shè)計 盡可能達(dá)到準(zhǔn)確 一致 協(xié)調(diào)多個圖表上的信息 檢查信息的一致性 并集中檢查信息的準(zhǔn)確性 一致性和完整性 13 3 2CASE環(huán)境的組成與結(jié)構(gòu) CASE環(huán)境是一個總稱 代表了集成化項目支持 IPSE 和集成CASE I CASE 環(huán)境 以下主要介紹CASE環(huán)境的組成和結(jié)構(gòu)兩個方面的內(nèi)容 1 CASE環(huán)境的組成Pressman把CASE環(huán)境的組成歸納為6個部分 3個層次 如圖13 1所示 由硬件平臺和操作系統(tǒng) 包括網(wǎng)絡(luò)和數(shù)據(jù)庫管理系統(tǒng) 組成的體系結(jié)構(gòu) 是CASE環(huán)境的基礎(chǔ) 底層 集成化框架 IntegrationFramework 由一組專門程序組成 用于建立單個工具之間的通信 建立環(huán)境信息庫 以及向軟件開發(fā)者提供一致的界面 它們與CASE工具集成在一起 構(gòu)成環(huán)境的頂層 余下的一層服務(wù)于可移植性的機(jī)構(gòu) 它介于集成化工具與環(huán)境基礎(chǔ)軟 硬件之間 使集成后的工具無需做重大的修改即可與環(huán)境的軟 硬件平臺相適應(yīng) 圖13 1CASE環(huán)境的組成 下面分別就CASE工具和環(huán)境信息庫做簡要說明 1 CASE工具 CASE工具是指用于輔助軟件開發(fā) 運(yùn)行 維護(hù) 管理和支持等過程中的活動的軟件 自軟件工程學(xué)誕生以來 許多學(xué)者提出了不同的軟件開發(fā)模型 開發(fā)方法和軟件管理的方法 每當(dāng)出現(xiàn)一種新模型 新方法 輔助它們的軟件工具也會隨之出現(xiàn) 從功能上看 大多數(shù)工具僅限于支持軟件生命周期過程中的某些特定的活動 有支持軟件開發(fā) 維護(hù)和管理等過程的各種活動的軟件工具 例如 支持需求分析活動的需求分析工具 支持分析設(shè)計建模的建模工具 支持測試活動的測試工具和支持維護(hù)過程的維護(hù)工具等 也有支持軟件開發(fā)方法的軟件工具 如支持結(jié)構(gòu)化方法的結(jié)構(gòu)化工具 支持面向?qū)ο箝_發(fā)方法的面向?qū)ο蠊ぞ吆椭С衷烷_發(fā)方法的原型工具等 還有應(yīng)用類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版抵押貸款購銷合同起草指南3篇
- 二零二五年珠寶玉石交易合同3篇
- 二零二五版新型節(jié)能建材采購合同(工地裝修)3篇
- 二零二五年度餐飲泔水處理與有機(jī)垃圾資源化利用合同2篇
- 二零二五年教育信息化建設(shè)項目競標(biāo)合同3篇
- 二零二五版新能源居間合同解析與合同屬性3篇
- 二零二五版高新技術(shù)研發(fā)項目合伙投資合同3篇
- 二零二五版數(shù)據(jù)中心基礎(chǔ)設(shè)施安裝合同6篇
- 二零二五版辦公文檔范本家政服務(wù)合同(雙方法律關(guān)系)3篇
- 二零二五版拉森鋼板樁租賃合同租賃日期及租期計算的詳細(xì)規(guī)定9篇
- 托福閱讀講義
- 輸電線路基礎(chǔ)知識輸電線路組成與型式
- 三年級數(shù)字加減法巧算
- GB/T 9755-2001合成樹脂乳液外墻涂料
- GB/T 10609.3-1989技術(shù)制圖復(fù)制圖的折疊方法
- GB 4053.2-2009固定式鋼梯及平臺安全要求第2部分:鋼斜梯
- 通力電梯培訓(xùn)教材:《LCE控制系統(tǒng)課程》
- 佛山市內(nèi)戶口遷移申請表
- 品管圈PDCA持續(xù)質(zhì)量改進(jìn)提高靜脈血栓栓塞癥規(guī)范預(yù)防率
- 一次函數(shù)單元測試卷(含答案)
- 陜西省榆林市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
評論
0/150
提交評論