5軟件工程名詞解釋整理_第1頁
5軟件工程名詞解釋整理_第2頁
5軟件工程名詞解釋整理_第3頁
5軟件工程名詞解釋整理_第4頁
5軟件工程名詞解釋整理_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件生存期:一個軟件從定義到開發(fā)、使用和維護,直到最終被廢棄,要經(jīng)歷一個漫長的時期,通 常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件生存周期就是從提出軟件產(chǎn)品開始,直到該 軟件產(chǎn)品被淘汰的全過程。什么是軟件危機?為什么會產(chǎn)生軟件危機?軟件危機是指計算機軟件的開發(fā)和維護過程中所遇到的 一系列嚴重的問題,主要包含二方面的問題,一是如何開發(fā)利用軟件,二是如何維護數(shù)量不斷膨脹的 已有軟件。產(chǎn)生軟件危機的原因,一方面與軟件本身的特點有關(guān),另一方面和軟件開發(fā)與維護的方法 不正確有關(guān)??焖僭湍P停核^快速原型模型是快速建立起來的可以在計算機上運行的程序,它所能完成的功 能往往是最終產(chǎn)品能完成的功能的一個

2、子集。瀑布模型:是將軟件生命周期的各項活動規(guī)定為依線性順序連接的若干階段的模型,適合于軟件需求 很明確的軟件項目。增量模型(漸增模型):瀑布模型的順序特征和快速原型模型的迭代特征相結(jié)合的產(chǎn)物。螺旋模型:對于大型軟件,只開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型和增量模型結(jié)合起來,并加入了風(fēng)險分析。噴泉模型:以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶的需求為動力,以對象來驅(qū)動的模型。結(jié)構(gòu)化分析方法(SA)是E.Yourdon提出,是使用數(shù)據(jù)流圖DFD與數(shù)據(jù)字典DD,用來描述面向 數(shù)據(jù)流問題的需求分析,適合于數(shù)據(jù)處理型的軟件的需求描述。核心思想是分解化簡問題,將物理表示與邏輯表示分開,對系統(tǒng)進行數(shù)

3、據(jù)與結(jié)構(gòu)的抽象。 優(yōu)點是表達方式比文字清晰、簡明,易于交流與掌握。缺點是不能表達復(fù)合邏輯的需求分析問題,不能詳細描述加工。結(jié)構(gòu)化設(shè)計(SD)是使用最廣泛的一種設(shè)計方法,該方法適合于軟件系統(tǒng)的總體設(shè)計和詳細設(shè)計,特別是將一個復(fù)雜的系統(tǒng)轉(zhuǎn)換成模塊化結(jié)構(gòu)系統(tǒng),該方法具有它優(yōu)勢。(相對獨立,功能單一的模塊 結(jié)構(gòu);塊內(nèi)聯(lián)系大,塊間聯(lián)系小的模塊性能標(biāo)準;采用模塊結(jié)構(gòu)圖的描述方式)以模塊化設(shè)計為中心, 將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊。面向數(shù)據(jù)流的設(shè)計是以需求分析階段產(chǎn)生的數(shù)據(jù) 流圖為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu),因此又稱結(jié)構(gòu)化設(shè)計(sd)。數(shù)據(jù)流圖(ppt第二章18) 數(shù)據(jù)流圖描繪系統(tǒng)的邏

4、輯模型,圖中沒有任何具體的物理元素,只是 描繪信息在系統(tǒng)中流動和處理的情況。簡稱DFD,是SA(結(jié)構(gòu)化分析)方法中用于表示系統(tǒng)邏輯模型 的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏 輯功能,所以它是一種功能模型。數(shù)據(jù)流圖是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸 出的過程中所經(jīng)受的變換。數(shù)據(jù)字典(ppt第二章39)是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義 的集合。簡稱DD,就是用來定義數(shù)據(jù)流圖中的各個成分具體含義的,它以一種準確的、無二義性的 說明方式為系統(tǒng)的分析、設(shè)計及維護提供了有關(guān)元素的一致的定義和詳細的描述。四類條

5、目:數(shù)據(jù)流、 數(shù)據(jù)項、數(shù)據(jù)存儲、數(shù)據(jù)加工。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型數(shù)據(jù)字典內(nèi)容:(1)數(shù)據(jù)流(2)數(shù)據(jù)流分量(數(shù)據(jù)元素)(3)數(shù)據(jù)存儲(4)處理什么是黑盒測試法?什么是白盒測試法?黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內(nèi) 部結(jié)構(gòu)和處理過程,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟?收輸入數(shù)據(jù),產(chǎn)生正確地輸出信息。白盒測試法的前提是可以把程序看成裝在一個透明的白盒子里, 也就是完全了解程序的結(jié)構(gòu)和處理過程。這種方法按照程序內(nèi)部的邏輯測試程序,檢驗程序中的每條 通路是否都能按預(yù)定要求正確工作。黑盒測試和白盒測試的區(qū)別:前者基于功能,后者基于結(jié)

6、構(gòu);黑盒測試常用方法有:等價劃分、邊界值分析、錯誤推測、因果圖等。軟件系統(tǒng)的測試基本步驟:(1)模塊測試(單元測試)把每個模塊作為一個單獨的實體來測試。模塊測試的目的是保證每個模塊作為一個單元能正確運行。2)子系統(tǒng)測試(集成測試)子系統(tǒng)測試是把經(jīng)過單元測試的模塊放在一起形成一個子系統(tǒng)來測試。模塊相互間的協(xié)調(diào)和通信是這 個測試過程中的主要問題,著重測試模塊的接口。3)系統(tǒng)測試(集成測試)系統(tǒng)測試是把經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試。不僅能發(fā)現(xiàn)設(shè)計和編碼的錯誤,還應(yīng) 能驗證系統(tǒng)確實能提供需要說明書中指定的功能,系統(tǒng)的動態(tài)特性也符合預(yù)定要求。在這個測試步驟 中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,

7、也能發(fā)現(xiàn)需求說明中的錯誤。(4)驗收測試(確認測試)驗收測試把軟件系統(tǒng)作為單一的實體進行測試。主要使用實際數(shù)據(jù)進行測試。驗收測試的目的是驗證 系統(tǒng)確實能夠滿足用戶的需要。單元測試又稱模塊測試,是針對軟件設(shè)計的最小單位一程序模塊,進行正確性檢驗的測試工作。其 目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。多個模塊可以平行地獨立進行單元測試。對支持某些標(biāo)準規(guī)程的程序,更要著手進行互聯(lián)測試。有人把這種情況特別稱為模塊測試,以區(qū)別單 元測試。模塊并不是一個獨立的程序,在考慮測試模塊時,同時要考慮它和外界的聯(lián)系,用一些輔助模塊去模 擬與被測模塊相聯(lián)系的其它模塊。

8、驅(qū)動模塊(driver)樁模塊(stub) 存根模塊驅(qū)動模塊:接收測試數(shù)據(jù),把這些數(shù)據(jù)傳送給被測試的模塊,并印出有關(guān)的結(jié)果。11樁模塊:代替被測試的模塊所調(diào)用的模塊。12.用面向?qū)ο蠓椒ㄩ_發(fā)軟件,通常需要建立三種形式的模型,它們分別是描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模 型,描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型和描述系統(tǒng)功能的功能模型。動態(tài)模型(ppt第九章28)動態(tài)模型表示瞬時的、行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對象模 型中的對象的合法變化序列。各對象之間相互觸發(fā)(即作用),就形成了一系列的狀態(tài)變化。通常, 用狀態(tài)圖來描繪對象的狀態(tài)、觸發(fā)狀態(tài)轉(zhuǎn)換的事件、以及對象的行為(對事件的響應(yīng))。是與時間和 變化有關(guān)的系

9、統(tǒng)性質(zhì)。該模型描述了系統(tǒng)的控制結(jié)構(gòu),他表示了瞬時的、行為化的系統(tǒng)控制性質(zhì)。他 關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序。他從對象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了對象的相互關(guān)系。 對象模型對象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì)。是對模擬客觀實體的對象以及對象 彼此間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。功能模型 功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么“,因此更直接地 反映了用戶對目標(biāo)系統(tǒng)的需求。13.各種耦合(ppt第五章25)模塊的獨立程度由兩個定性標(biāo)準度量:內(nèi)聚性和耦合性。耦合:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合性是對軟件模塊間互連程度的度量。耦合性強,

10、標(biāo)志互連的強,模塊獨立性差;浦禺合性弱,標(biāo) 志互連的弱,模塊獨立性強;耦合強弱取決于模塊間接口的復(fù)雜程度,進入或訪問一及通過接口的數(shù)據(jù)。模塊間的耦合程度強烈影響系統(tǒng)的可理解性、可測試性、可靠性和可維護性。模塊間的耦合低耦合性 高強功能單一前兩個為低等耦合中間兩個為中等耦合剩下三個非直接耦合數(shù)據(jù)耦合標(biāo)記耦合控制耦合外部耦合公共耦合內(nèi)容耦合強 模塊獨立性弱為高等耦合非直接耦合(Nondirect Coupling)兩個模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控 制和調(diào)用來實現(xiàn)的。非直接耦合的模塊獨立性最強。數(shù)據(jù)耦合(Data Coupling)一個模塊訪問另一個模塊時,彼此之間是通過

11、簡單數(shù)據(jù)參數(shù)(不是控制參 數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來交換輸入、輸出信息的。數(shù)據(jù)耦合是最弱的耦合。標(biāo)記耦合(Stamp Coupling)一組模塊通過參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個記錄是某一數(shù)據(jù) 結(jié)構(gòu)的子結(jié)構(gòu),而不是簡單變量。控制耦合(Control Coupling)如果一個模塊通過傳送開關(guān)、標(biāo)志、名、字等控制信息,明顯地控制選 擇另一模塊的功能,就是控制耦合。控制耦合是中等程度的耦合,它增加了系統(tǒng)的復(fù)雜程度??刂岂?合往往是多余的,在把模塊適當(dāng)分解之后通??梢杂脭?shù)據(jù)耦合代替它。去除模塊間控制耦合的方法:(1)將被調(diào)用模塊內(nèi)的判定上移到調(diào)用模塊中進行被調(diào)用模塊分解成若干單一功能模塊

12、外部耦合(External Coupling)一組模塊都訪問同一全局簡單變量而不是同一全局數(shù)據(jù)結(jié)構(gòu),而且不 是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。公共耦合(Common Coupling)若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為 公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局數(shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。內(nèi)容耦合(Content Coupling)如果發(fā)生下列情形,兩個模塊之間就發(fā)生了內(nèi)容耦合(1) 一個模塊直接訪 問另一個模塊的內(nèi)部數(shù)據(jù);(2) 一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部;(3)兩個模塊有一部分程序 代碼重迭(只可能出現(xiàn)在匯編語言中);(4) 一

13、個模塊有多個入口。14各種內(nèi)聚(ppt第五章47)內(nèi)聚性標(biāo)志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴展。簡單 地說,理想內(nèi)聚的模塊只做一件事情、單一的功能。內(nèi)聚性強,標(biāo)志模塊的獨立性強;內(nèi)聚性弱,標(biāo) 志模塊的獨立性差。設(shè)計時應(yīng)該力求做到高內(nèi)聚。高一內(nèi)聚性低助能內(nèi)聚順序內(nèi)聚通信內(nèi)聚過程內(nèi)舞時間內(nèi)聚邏輯內(nèi)舞偶然內(nèi)聚強模塊獨立性弱助能單一功能分散前兩個為高等內(nèi)聚,中間兩個為中等內(nèi)聚,后面三個為低等內(nèi)聚功能內(nèi)聚(Functional Cohesion)一個模塊中各個部分都是完成某一具體功能必不可少的組成部分,或 者說該模塊中所有部分都是為了完成一項具體功能而協(xié)同工作,緊密

14、聯(lián)系,不可分割的。則稱該模塊 為功能內(nèi)聚模塊。功能內(nèi)聚是最高內(nèi)聚。順序內(nèi)聚:(Sequential cohesion)是指一個模塊內(nèi)的處理元素和同一個功能密切相關(guān),而且這些處 理必須順序執(zhí)行(順序依賴)。順序內(nèi)聚也是最高內(nèi)聚。通信內(nèi)聚(Communication Cohesion)如果一個模塊內(nèi)各功能部分都使用了相同的輸入數(shù)據(jù),或產(chǎn)生了 相同的輸出數(shù)據(jù),則稱之為通信內(nèi)聚模塊。通常,通信內(nèi)聚模塊是通過數(shù)據(jù)流圖來定義的。過程內(nèi)聚(Procedural Cohesion)使用流程圖做為工具設(shè)計程序時,把流程圖中的某一部分劃出組成 模塊,就得到過程內(nèi)聚模塊。例如,把流程圖中的循環(huán)部分、判定部分、計算部

15、分分成三個模塊,這 三個模塊都是過程內(nèi)聚模塊。時間內(nèi)聚(Classical Cohesion)時間內(nèi)聚又稱為經(jīng)典內(nèi)聚。這種模塊大多為多功能模塊,但模塊的各 個功能的執(zhí)行與時間有關(guān),通常要求所有功能必須在同一時間段內(nèi)執(zhí)行。例如初始化模塊和終止模塊。 邏輯內(nèi)聚(Logical Cohesion)這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用時,由傳送給模塊 的判定參數(shù)來確定該模塊應(yīng)執(zhí)行哪一種功能。偶然內(nèi)聚(Coincidental Cohesion)當(dāng)模塊內(nèi)各部分之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很 松散,則稱這種模塊為偶然內(nèi)聚模塊,它是內(nèi)聚程度最低的模塊總結(jié):內(nèi)聚性和耦合性是密切相關(guān)的。高

16、內(nèi)聚性模塊往往是低耦合性;強耦合性的兩個模塊,必是低 內(nèi)聚性的。在模塊的劃分中應(yīng)盡量用高內(nèi)聚性低耦合性來確保模塊的獨立性,進行軟件結(jié)構(gòu)設(shè)計.15.軟件維護有哪些內(nèi)容?維護的內(nèi)容:維護內(nèi)容的多少,依賴于設(shè)計水平的高低,設(shè)計水平高,尤其設(shè)計時就注意到軟件的易 維護性,則維護的內(nèi)容和工作量就大為減少。(4個維護活動包括(改正性維護,適應(yīng)性維護,完善性維護,預(yù)防性維護)1)改正性維護:指發(fā)現(xiàn)和改正潛藏的軟件錯誤。分為:非用戶因素的錯誤的維護;影響系統(tǒng)正常運行的錯誤的維護;不影響系統(tǒng)正常運行的錯誤的維 護。約占全部維護活動的1720%;(2)適應(yīng)性維護:指在硬件環(huán)境改善,軟件支撐環(huán)境改善的情況下,交付使

17、用的軟件系統(tǒng)做相應(yīng)的 修改,以適應(yīng)新的系統(tǒng)環(huán)境。約占全部維護活動的1825%;(3)完善性維護:交付使用后,隨著對系統(tǒng)的功能的熟悉,對系統(tǒng)環(huán)境的掌握,用戶提出了一些新 的增加功能和性能的要求,這些要求又是合理的,盡管需求規(guī)格說明書中沒有規(guī)定,但對完善系統(tǒng)功 能是必要的,則必須列入維護階段再次開發(fā)設(shè)計測試維護,以適應(yīng)用戶要求,完善軟件的功能,提高 軟件質(zhì)量。約占全部維護活動的5066% ;(4)預(yù)防性維護:為了改進軟件的可靠性與維護性,為了適應(yīng)未來的軟硬件的環(huán)境變化,主動地增 加預(yù)防性的新版本功能,以使軟件適應(yīng)市場變化而不被淘汰。與其它維護活動共占總維護的4%左右。 16模塊化就是把程序劃分成獨

18、立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集 成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。17信息隱蔽原理指出:應(yīng)該這樣設(shè)計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不 需要這些信息的模塊來說,是不能訪問的。18.集成測試(組裝測試、聯(lián)合測試)是測試和組裝軟件的系統(tǒng)化技術(shù)。19確認測試:確認測試又稱有效性測試。任務(wù)是驗證軟件的功能和性能及其它特性是否與用戶的要求一致。20邏輯覆蓋(Logicalcoverage) 適用于白盒測試邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計測試用例的技術(shù)。它屬白盒測試。(1)語句覆蓋就是設(shè)計若干個測試用例,運行被測程序,使得每一可執(zhí)行語句至少執(zhí)行一次。(2)判定覆蓋就是設(shè)計若干個測試用例,運行被測程序,使得每個語句至少執(zhí)行一次,程序中每個 判斷的取真分支和取假分支至少經(jīng)歷一次。判定覆蓋又稱為分支覆蓋。(3)條件覆蓋就是設(shè)計若干個測試用例,運行被測程序,使得程序中每個語句至少執(zhí)行一次,每個 判斷的每個條件的可能取值至少執(zhí)行一次。(4)判定一條件覆蓋就是設(shè)計足夠的測試用例,使得判斷中每個條件的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論