版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章軟件工程概述目錄2第一節(jié)軟件的概念及特點第二節(jié)
軟件危機第四節(jié)
軟件工程第五節(jié)
軟件開發(fā)方法第六節(jié)
軟件工程工具第七節(jié)
職業(yè)道德第三節(jié)
軟件工程軟件的概念及特點軟件的概念
計算機軟件是由專業(yè)人員開發(fā)并長期維護的軟件產品。完整的軟件產品包括了在各種不同容量和體系結構計算機上的可執(zhí)行的程序,運行過程中產生的各種結果,以及以硬復制和電子表格等多種方式存在的軟件文檔。4軟件的特點51)具有抽象性2)無明顯的制造過程3)存在退化問題4)對計算機系統(tǒng)有著不同程度的依賴性5)尚未完全擺脫人工的開發(fā)方式6)軟件本身是復雜的7)成本相當昂貴8)相當多的軟件工作涉及社會因素第二節(jié)軟件危機1.2.1軟件危機的表現(xiàn)與原因1.2.2軟件危機的啟示1.2軟件危機1.2.1軟件危機的表現(xiàn)與原因在軟件開發(fā)的過程中,會經常出現(xiàn)一些不能按時完成任務、產品質量得不到保證、工作效率低下和開發(fā)經費嚴重超支等現(xiàn)象。計算機軟件的開發(fā)、維護和應用過程中普遍出現(xiàn)的這一些嚴重的問題便是軟件危機。主要表現(xiàn)1)產品的功能或特性與需求不符2)相比硬件,軟件代價過高3)質量難以保證,難以發(fā)揮硬件潛能4)難以準確估計開發(fā)、維護的費用和開發(fā)周期5)難以控制開發(fā)風險,開發(fā)速度趕不上市場變化6)軟件產品修改、維護困難7)軟件文檔不完備,存在內容與產品不符的情況71.2軟件危機1.2.2軟件危機的啟示
軟件危機給我們的最大啟示,是使我們更加深刻的認識到軟件的特性以及軟件產品開發(fā)的內在規(guī)律。軟件產品是復雜的人造系統(tǒng),具有復雜性、不可見性和易變性,難以處理。個人或小組在開發(fā)小型軟件時使用到的非常有效的編程技術和過程,在開發(fā)大型、復雜系統(tǒng)時難以發(fā)揮同樣的作用。從本質上講,軟件開發(fā)的創(chuàng)造性成分很大、發(fā)揮的余地也很大,很接近于藝術。它介于藝術與工程之間的某一點,并逐步向工程一段漂移,但很難發(fā)展到完全的工程。81.2軟件危機1.2.2軟件危機的啟示計算機和軟件技術的快速發(fā)展,提高了用戶對軟件的期望,促進了軟件產品的演化,對軟件產品提出了新的、更多的需求,難以在可接受的開發(fā)進度內保證軟件的質量。幾乎所有的軟件項目都是新的,而且是不斷變化的。項目需求在開發(fā)過程中會發(fā)生變化,而且很多原來預想不到的問題會出現(xiàn),對設計和實現(xiàn)手段進行適當的調整是不可避免的。“人月神話”現(xiàn)象——生產力與人數并不成正比。9第三節(jié)軟件工程1.3.1軟件工程的概念1.3.2軟件工程的基本目標和原則1.3.3軟件過程1.3軟件工程1.3.1軟件工程的概念IEEE對軟件工程的定義為:1)將系統(tǒng)化、嚴格約束的、可量化的方法應用于軟件的開發(fā)、運
行和維護,即將工程化應用于軟件2)對1)中所述方法的研究具體說來,軟件工程是以借鑒傳統(tǒng)工程的原則、方法,以提高質量,降低成本為目的指導計算機軟件開發(fā)和維護的工程學科。它是一種層次化的技術111.3軟件工程工具層方法層過程層質量保證層12工程學計算機科學管理學經濟學心理學數學1.3軟件工程1.3.1軟件工程的概念軟件工程的根基在于對質量的關注;軟件工程的基礎是過程層,它定義了一組關鍵過程區(qū)域的框架,使得軟件能夠被合理和及時地開發(fā);軟件工程的方法提供了建造軟件在技術上需要“做什么”,它覆蓋了一系列的任務,包括需求分析、設計、編程、測試和支持等;軟件工程的工具對過程和方法提供了自動的或半自動的支持。而軟件工程本身是一個交叉學科,涉及多種學科領域的相關知識,包括工程學、數學、計算機科學、經濟學、管理學、心理學等。1.3軟件工程1.3.1軟件工程的14關注質量過程方法工具軟件工程1.3.2軟件工程研究的內容
軟件工程研究的內容主要包括以下兩個部分:軟件開發(fā)技術:主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。軟件開發(fā)過程管理:主要研究軟件工程經濟學和軟件管理學。三要素
目標1.3軟件工程1.3.2軟件工程的基本目標和原則軟件工程要達到的基本目標包括:達到要求的軟件功能取得較好的軟件性能開發(fā)出高質量的軟件付出較低的開發(fā)成本需要較低的維護費用能按時完成開發(fā)工作,及時交付使用軟件工程的7條基本原則:用分階段的生命周期計劃進行嚴格的管理堅持進行階段評審實行嚴格的版本控制采用現(xiàn)代程序設計技術軟件工程結果應能清楚的審查開發(fā)小組的人員應該少而精承認不斷改進軟件工程實踐的必要性151.3軟件工程1.3.1軟件過程軟件的誕生和生命周期是一個過程,我們總體上稱這個過程為軟件過程。軟件過程是為了開發(fā)出軟件產品,或者是為了完成軟件工程項目而需要完成的有關軟件工程的活動,每一項活動又可以分為一系列的工程任務。任何一個軟件開發(fā)組織,都可以規(guī)定自己的軟件過程,所有這些過程共同構成了軟件過程。過程定義了運用方法的順序,應該交付的文檔資料,為保證軟件質量和協(xié)調變化所需要采取的管理措施,以及標志軟件開發(fā)各個階段任務完成的里程碑。通常,使用生命周期模型簡潔地描述軟件過程。生命周期模型規(guī)定了把生命周期劃分為哪些階段及各個階段的執(zhí)行順序,因此也稱為過程模型。16第四節(jié)軟件過程模型瀑布模型快速原型模型增量模型螺旋模型噴泉模型基于組件的開發(fā)模型統(tǒng)一軟件開發(fā)過程模型幾種模型的對比幾種模型之間的關系選擇軟件過程模型FourThreeTwoOne在軟件工程中,人們通過建立抽象的軟件過程模型,把軟件生命周期中的各個活動或步驟安排到一個框架中,將軟件開發(fā)的全過程清晰且直觀地表達出來。軟件過程模型的特點:描述了主要的開發(fā)階段定義了每個階段要完成的主要任務和活動規(guī)范了每個階段的輸入和輸出提供了一個框架,把必要的活動映射到這個框架中18軟件過程模型瀑布模型瀑布模型是一種線性的開發(fā)模型,具有不可回溯性。開發(fā)人員必須等前一階段的任務完成后,才能開始進行后一階段的工作,并且前一階段的輸出往往就是后一階段的輸入。由于其不可回溯性,如果在軟件生命周期的后期發(fā)現(xiàn)并要改正前期的錯誤,那么需要付出很高的代價。傳統(tǒng)的瀑布模型是文檔驅動的。如圖所示。19瀑布模型的優(yōu)點是過程模型簡單,執(zhí)行容易;缺點是無法適應變更。瀑布模型適應于具有以下特征的軟件開發(fā)項目。在軟件開發(fā)的過程中,需求不發(fā)生或發(fā)生很少變化,并且開發(fā)人員可以一次性獲取到全部需求。否則,由于瀑布模型較差的可回溯性,在后續(xù)階段中需求經常性的變更需要付出高昂的代價。軟件開發(fā)人員具有豐富的經驗,對軟件應用領域很熟悉。軟件項目的風險較低。瀑布模型不具有完善的風險控制機制。20瀑布模型快速原型模型快速原型的基本思想是快速建立一個能反映用戶主要需求的原型系統(tǒng),讓用戶在計算機上試用它,通過實踐來了解目標系統(tǒng)的概貌。通常,用戶試用原型系統(tǒng)之后會提出許多修改意見,開發(fā)人員按照用戶的意見快速地修改原型系統(tǒng),然后再次請用戶試用……反反復復地改進,直到原型系統(tǒng)滿足用戶的要求。21快速原型模型適用于具有以下特征的軟件開發(fā)項目。已有產品或產品的原型(樣品),只需客戶化的工程項目簡單而熟悉的行業(yè)或領域有快速原型開發(fā)工具進行產品移植或升級22快速原型模型01020304增量模型是把待開發(fā)的軟件系統(tǒng)模塊化,將每個模塊作為一個增量組件,從而分批次地分析、設計、編碼和測試這些增量組件。運用增量模型的軟件開發(fā)過程是遞增式的過程。相對于瀑布模型而言,采用增量模型進行開發(fā),開發(fā)人員不需要一次性地把整個軟件產品提交給用戶,而是可以分批次進行提交。23增量模型增量模型的最大特點就是將待開發(fā)的軟件系統(tǒng)模塊化和組件化。基于這個特點,增量模型具有以下優(yōu)點。將待開發(fā)的軟件系統(tǒng)模塊化,可以分批次地提交軟件產品,使用戶可以及時了解軟件項目的進展。以組件為單位進行開發(fā)降低了軟件開發(fā)的風險。一個開發(fā)周期內的錯誤不會影響到整個軟件系統(tǒng)。開發(fā)順序靈活。開發(fā)人員可以對構件的實現(xiàn)順序進行優(yōu)先級排序,先完成需求穩(wěn)定的核心組件。當組件的優(yōu)先級發(fā)生變化時,還能及時地對實現(xiàn)順序進行調整。增量模型的缺點是要求待開發(fā)的軟件系統(tǒng)可以被模塊化。如果待開發(fā)的軟件系統(tǒng)很難被模塊化,那么將會給增量開發(fā)帶來很多麻煩。24增量模型增量模型適用于具有以下特征的軟件開發(fā)項目。軟件產品可以分批次地進行交付待開發(fā)的軟件系統(tǒng)能夠被模塊化軟件開發(fā)人員對應用領域不熟悉,難以一次性地進行系統(tǒng)開發(fā)項目管理人員把握全局的水平較高25增量模型螺旋模型26螺旋模型螺旋模型是一種用于風險較大的大型軟件項目開發(fā)的過程模型。該模型將瀑布模型與快速原型模型結合起來,并且加入了這兩種模型忽略了的風險分析。它把開發(fā)過程分為制定計劃、風險分析、實施工程和客戶評估4種活動。螺旋模型適應于風險較大的大型軟件項目的開發(fā)。它的優(yōu)點是將風險分析擴展到各個階段中,大幅度降低了軟件開發(fā)的風險。但是這種模型的控制和管理較為復雜,可操作性不強,對項目管理人員的要求較高。27噴泉模型是一種過程模型,同時也支持面向對象開發(fā)。在面向對象的方法中,分析模型和設計模型采用相同的符號標示體系,各階段之間沒有明顯的界限,而且常常重復、迭代地進行。“噴泉”一詞體現(xiàn)了面向對象方法的迭代和無間隙性。迭代是指各階段需要多次重復,例如,分析和設計階段常常需要多次、重復進行,以更好的實現(xiàn)需求。無間隙性是指各個階段之間沒有明顯的界限,并常常在時間上互相交叉,并行進行。噴泉模型主要用于面向對象的軟件項目,軟件的某個部分通常被重復多次,相關對象在每次迭代中隨之加入漸進的軟件成分。噴泉模型28基于組件的開發(fā)模型基于組件的開發(fā)模型使用現(xiàn)有的組件以及系統(tǒng)框架進行產品開發(fā)。在確定需求之后,開發(fā)人員開始從現(xiàn)有的組件庫中篩選合適的組件,并對組件功能進行分析。在對組件分析之后,開發(fā)人員可能適當修改需求來適應現(xiàn)有組件,也可能修改組件或尋找新的組件。組件篩選完成之后,開發(fā)人員需要根據需求設計或使用現(xiàn)有的成熟開發(fā)框架復用這些組件,一些無法利用現(xiàn)有組件的地方,則需要進行單獨的開發(fā),新開發(fā)的組件在經歷時間考驗之后也會加入到組件庫中。最后將所有組件集成在一起,進行系統(tǒng)測試。29基于組件的開發(fā)模型充分的體現(xiàn)了軟件復用的思想,降低了開發(fā)成本和風險,并加快了產品開發(fā)。統(tǒng)一軟件開發(fā)過程模型統(tǒng)一軟件開發(fā)過程(RationalUnifiedProcess,RUP)模型是基于UML(統(tǒng)一建模語言)的一種面向對象軟件開發(fā)模型。它解決了螺旋模型的可操作性問題,采用迭代和增量遞進的開發(fā)策略,并以用例驅動為特點,集中了多個軟件開發(fā)模型的優(yōu)點。RUP模型是迭代模型的一種。RUP模型的示意圖如圖所示。30圖1中的縱軸以工作的內容為組織方式,表現(xiàn)了軟件開發(fā)的工作流程。工作流程可以分為核心工作流程和核心支持工作流程。圖1中的橫軸以時間為組織方式,表現(xiàn)了軟件開發(fā)的4個階段:先啟、細化、構建和產品化,每個階段中都可能包含若干次迭代。這4個階段按照順序依次進行,每個階段結束時都有一個主要里程碑。階段與里程碑的關系如圖2所示。
圖1統(tǒng)一軟件開發(fā)過程模型圖2階段與里程碑的關系統(tǒng)一軟件開發(fā)過程模型統(tǒng)一軟件開發(fā)過程模型是基于迭代思想的軟件開發(fā)模型。采用迭代的軟件工程思想可以多次執(zhí)行各個工作流程,有利于更好地理解需求、設計出合理的系統(tǒng)架構,并最終交付一系列漸趨完善的成果??梢哉f,迭代是一次完整地經過所有工作流程的過程?;诮y(tǒng)一軟件開發(fā)過程模型所構造的軟件系統(tǒng),是由軟件構件建造而成的。這些軟件構件定義了明確的接口,相互連接成整個系統(tǒng)。在構造軟件系統(tǒng)時,RUP采用架構優(yōu)先的策略。軟件架構概念包含了系統(tǒng)中最重要的靜態(tài)結構和動態(tài)特征,架構體現(xiàn)了系統(tǒng)的總體設計。架構優(yōu)先開發(fā)的原則是RUP開發(fā)過程中至關重要的主題。統(tǒng)一軟件開發(fā)過程模型適用的范圍極為廣泛,但是對開發(fā)人員的素質要求較高。32統(tǒng)一軟件開發(fā)過程模型幾種過程模型的對比序號模型名稱優(yōu)點缺點適用范圍1瀑布模型
簡單好學逆轉性差
需求不發(fā)生或發(fā)生很小變化2快速原型模型
開發(fā)速度快不利于創(chuàng)新
已有產品的原型3增量模型
可以分階段提交有時用戶不同意
系統(tǒng)可拆卸和組裝4螺旋模型將風險分析拓展到各個階段中建設周期長龐大、復雜、高風險項目5噴泉模型提高開發(fā)效率不利于項目的管理面向對象開發(fā)6統(tǒng)一軟件開發(fā)過程模型
需求可變風險大
有高素質軟件團隊7基于組件的開發(fā)模型提高開發(fā)效率封裝的過程需要編寫大量代碼可組裝構件的系統(tǒng)8敏捷模型提高開發(fā)效率不適合大團隊、大項目小團隊,小項目331.瀑布模型與RUP模型之間的關系在宏觀上,瀑布模型是靜態(tài)模型,RUP模型是動態(tài)模型。RUP模型的每一次迭代,實際上都需要執(zhí)行一次瀑布模型,都要經歷先啟、細化、構建、產品化這4個階段,完成瀑布模型的整個過程。在微觀上,瀑布模型與RUP模型都是動態(tài)模型。瀑布模型與RUP模型在每一個開發(fā)階段(先啟、細化、構建、產品化)的內部,都需要有一個小小的迭代過程,只有進行這樣的迭代,開發(fā)階段才能做得更好。瀑布模型中有RUP模型,反過來,RUP模型中也有瀑布模型。34幾種過程模型之間的關系2.瀑布模型與增量模型之間的關系增量模型是把待開發(fā)的軟件系統(tǒng)模塊化,將每個模塊作為一個增量組件,一個模塊接著一個模塊地進行開發(fā),直到開發(fā)完所有的模塊。在開發(fā)每個模塊時,通常都是采用瀑布模型,從分析、設計、編碼和測試這幾個階段進行開發(fā)。所以,增量模型中有瀑布模型,即宏觀上是增量模型,微觀上是瀑布模型。增量模型也體現(xiàn)了迭代思想,每增加一個模塊,就進行一次迭代,執(zhí)行一次瀑布模型,所以,增量模型本質上是迭代的。35幾種模型之間的關系3.瀑布模型與快速原型模型之間的關系快速原型的基本思想是快速建立一個能反映用戶主要需求的原型系統(tǒng),在此基礎上之后的每一次迭代,都可能會用到瀑布模型??焖僭湍P椭胁坏说P偷乃枷?,而且包含了瀑布模型的思想。36幾種模型之間的關系4.瀑布模型與螺旋模型之間的關系螺旋模型是瀑布模型和快速原型模型的結合,快速原型模型是原型模型的簡化,原型模型又是迭代模型和瀑布模型的組合,這些模型之間是相互依存的、彼此有關的。螺旋模型每一次順時針方向旋轉,相當于順時針方向迭代一次,都是走完一次瀑布模型,這就是瀑布模型與螺旋模型之間的關系。實際上,瀑布模型與噴泉模型也有關系。37幾種模型之間的關系
各種軟件過程模型反映了軟件生命周期表現(xiàn)形式的多樣性。在生命周期的不同階段也可采用不同的軟件過程模型。在具體的軟件開發(fā)過程中,可以選擇某種軟件過程模型,按照某種開發(fā)方法,使用相應的工具進行軟件開發(fā)。在選擇軟件過程模型時需要考慮以下幾點。符合軟件自身的特性,如規(guī)模、成本和復雜性等滿足軟件開發(fā)進度的要求對軟件開發(fā)的風險進行預防和控制具有計算機輔助工具的支持與用戶和軟件開發(fā)人員的知識和技能相匹配有利于軟件開發(fā)的管理和控制38選擇軟件過程模型一般來說,結構化方法和面向數據結構方法可采用瀑布模型或增量模型進行軟件開發(fā);而面向對象方法可采用快速原型模型、噴泉模型或RUP模型進行軟件開發(fā)。在實際的軟件開發(fā)過程中,選擇軟件過程模型并非是一成不變的,有時還需要針對具體的目標要求進行裁剪、修改等,從而構成完全適合開發(fā)目標要求的軟件過程模型?,F(xiàn)實中的軟件系統(tǒng)有各種各樣,軟件開發(fā)方式也千差萬別。對同一個問題,不同的開發(fā)組織可能選擇不同的開發(fā)模型(過程模型)去解決,開發(fā)出的軟件系統(tǒng)也不可能完全一樣,但是其基本目標都是一致的,即應該滿足用戶的基本功能需求,否則,再好的軟件系統(tǒng)也是沒有意義的。39選擇軟件過程模型40軟件過程模型實例第五節(jié)軟件開發(fā)方法1.5.1基本的軟件開發(fā)方法1.5.2開源軟件開發(fā)方法1.5.3群體化軟件開發(fā)方法1.5軟件開發(fā)方法1.5.1基本的軟件開發(fā)方法軟件開發(fā)方法是一種使用定義好的技術集及符號表示組織軟件生產的過程,它的目標是在規(guī)定的時間和成本內,開發(fā)出符合用戶需求的高質量的軟件。常見的軟件開發(fā)方法包括:1)結構化方法2)面向數據結構方法3)面向對象方法4)形式化方法此外,軟件開發(fā)方法還有問題分析法、可視化開發(fā)方法等。421.5軟件開發(fā)方法1.5.2開源軟件開發(fā)方法開源軟件開發(fā)指的是由開源軟件項目開發(fā)開源軟件或類似原件的過程,其中,開源軟件的源代碼是公開可用的。這些軟件產品及其源代碼在開源許可下可用,它們常常被用于研究、更改和改進其設計。開源項目可分為以下4類:1)各種各樣的軟件程序和庫2)發(fā)行版3)其他開源項目4)書籍或獨立文檔項目431.5軟件開發(fā)方法1.5.2開源軟件開發(fā)方法開源項目的工作方式:1)意識到項目需求的個人宣布了公開開發(fā)項目的意圖2)開發(fā)人員在代碼庫上工作,將其作為開源程序的第一個版本發(fā)布3)到期項目的源代碼向公眾發(fā)布4)一個完善的開源項目可以由感興趣的外部用戶派生441.5軟件開發(fā)方法1.5.3群體化軟件開發(fā)方法群體化軟件開發(fā)方法最大的特點是面向公眾。核心原則:1)開放2)平等3)共享4)全局行動相關模型:1)代碼與證據緊密耦合的可信軟件演化模型2)創(chuàng)作與生產緊密耦合的軟件開發(fā)過程模型3)協(xié)同、共享、監(jiān)控與分析緊密耦合的服務支撐模型451.5軟件開發(fā)方法1.5.3群體化軟件開發(fā)方法群體化軟件開發(fā)方法將軟件開發(fā)過程全面開放并快速迭代,不斷發(fā)布系統(tǒng)原型,吸引互聯(lián)網大眾體驗,借助互聯(lián)網平臺開展各種形式的交流、協(xié)同和共享,實現(xiàn)群體需求及創(chuàng)意的匯聚。軟件開發(fā)團隊對大眾需求創(chuàng)意進行識別審查,借助工業(yè)化生產的強組織模式來組織軟件開發(fā)過程,實現(xiàn)高質量軟件產品的輸出。群體化軟件方法將大眾群體的軟件創(chuàng)作過程有機融入開發(fā)團隊的軟件產品的輸出。群體化軟件方法將大眾群體的軟件創(chuàng)作過程有機融入開發(fā)團隊的軟件生產流程中,能夠充分發(fā)揮大眾群體和開發(fā)團隊在軟件開發(fā)過程中各自的優(yōu)勢,有效地支持網絡環(huán)境下的軟件開發(fā)。46基本的軟件開發(fā)方法對比471.5軟件開發(fā)方法序號方法名稱優(yōu)點缺點適用范圍1面向過程的方法
簡單好學不適應窗口界面,維護困難
大型工程計算,實時數據跟蹤處理,各種自動化控制系統(tǒng),以及系統(tǒng)軟件實現(xiàn)等領域2面向對象的方法
功能強大,易于維護不易掌握
互聯(lián)網絡時代,完全由用戶交互控制程序執(zhí)行過程的應用軟件和系統(tǒng)軟件的開發(fā)3面向數據的方法
通俗易懂不適于窗口界面
以關系數據庫管理系統(tǒng)為支撐環(huán)境的信息系統(tǒng)建設4形式化方法準確、嚴謹難于上手和應用對安全性要求極高,不容許出錯的軟件系統(tǒng),如軍事、醫(yī)藥、交通等領域第六節(jié)軟件工程工具1.6軟件工程工具軟件工程的工具對軟件工程中的過程和方法提供自動的或半自動的支持??梢詭椭浖_發(fā)人員方便、簡捷、高效地進行軟件的分析、設計、開發(fā)、測試、和管理等工作。有效地利用工具軟維護件可以提高軟件開發(fā)的質量,減少成本,縮短工期,方便軟件項目的管理。軟件工程工具通常有3種分類標準:按照功能劃分按照支持的過程劃分按照支持的范圍劃分491.6軟件工程工具按功能劃分可視化建模工具程序開發(fā)工具自動化測試工具文檔編輯工具配置管理工具項目管理工具50按支持的過程劃分設計工具維護工具編程工具1.6軟件工程工具按支持的范圍劃分可以分為窄支持、較寬支持和一般支持工具。窄支持工具支持軟件工程過程中的特定任務,一般將其稱之為工具。較寬支持支持特定的過程階段,一般由多個工具集合而成,稱之為工作臺較寬支持支持特定的過程階段,一般由多個工具集合而成,稱之為工作臺一般支持支持覆蓋軟件過程的全部或大部分階段,包含多個不同的工作臺,稱之為環(huán)境。511.6軟件工程工具在需求分析與系統(tǒng)設計階段,常用的CASE(計算機輔助軟件工程)工具有面向通用軟件設計的MicrosoftVisio、用于面向對象軟件設計的RationalRose、用于數據庫設計的PowerDesigner,除此之外近幾年還出現(xiàn)了更加集成化的工具,如EnterpriseArchitect、RationalSoftwareArchitect和StarUML等。這些工具通過簡化UML圖的繪制工作,以及強大的模型轉換功能(諸如正向工程、反向工程、數據庫模型轉化等),大大簡化了設計以及從設計向編碼轉化的工作。521.6軟件工程工具名稱編程語言TurboPascalPascalDevC++C/C++CodeblocksC/C++CLionC/C++/C#VisualStudioC++/VB/C#/JavaScript等VisualStudioCodeC++/VB/C#/JavaScript等GoLandGoRubymineRubyWebstormJavasciptPHPstormPHPPycharmPythonEclipseJavaIntelliJIdeaJavaXCodeObjective-C/Swift在編碼階段,集成開發(fā)環(huán)境(IDE)通過提供代碼高亮、補全,內置調試工具等功能,大大提高了效率。IDE主流的實例如表所示。531.6軟件工程工具名稱編程語言CUnitCCppUnitC++JUnitJAVANUit.NETPerlTestingPerlMocha/Should.jsNode,js內置unittest模塊/pytestPythonPHPUnitPHP內置Test::Unit模塊Ruby在測試階段,通常會使用自動化測試工具進行測試。除單元測試工具外,較為流行的自動化測試工具包括C/S功能測試工具WinRunner,性能測試工具LoadRunner、Jmeter,測試管理工具TestDi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師作業(yè)布置題庫及答案
- 傳染學考試試題及答案
- IBM(中國)招聘面試題及答案
- 大學課程改革考試題及答案
- 中電科金倉(北京)科技股份有限公司2026應屆畢業(yè)生招聘考試備考題庫必考題
- 興國縣2025年公開選調食品安全監(jiān)管人員的參考題庫附答案
- 北京市海淀區(qū)衛(wèi)生健康委員會所屬事業(yè)單位面向社會招聘14人備考題庫附答案
- 南充市自然資源和規(guī)劃局2025年公開遴選公務員(2人)參考題庫必考題
- 四川省衛(wèi)健委所屬事業(yè)單位西南醫(yī)科大學附屬口腔醫(yī)院2025年12月公開考核招聘工作人員的備考題庫附答案
- 廣安區(qū)2025年社會化選聘新興領域黨建工作專員的參考題庫附答案
- 北京市豐臺二中2026屆數學高一上期末考試試題含解析
- LNG氣化站安裝工程施工設計方案
- 核酸口鼻采樣培訓
- 企業(yè)安全隱患排查課件
- 2025版《煤礦安全規(guī)程》宣貫解讀課件(電氣、監(jiān)控與通信)
- (新教材)2026年部編人教版一年級下冊語文 語文園地一 課件
- DB43-T 2066-2021 河湖管理范圍劃定技術規(guī)程
- 2025核電行業(yè)市場深度調研及發(fā)展趨勢與商業(yè)化前景分析報告
- 急驚風中醫(yī)護理查房
- 營地合作分成協(xié)議書
- GB/T 70.2-2025緊固件內六角螺釘第2部分:降低承載能力內六角平圓頭螺釘
評論
0/150
提交評論