【软件工程导论题型大总结】名词解释总结
文章目錄
- 一:傳統(tǒng)軟件工程部分
- 非常重要
- 可以了解
- 二:面向?qū)ο笤O(shè)計部分
一:傳統(tǒng)軟件工程部分
非常重要
-
軟件工程方法學(xué):把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱之為方法學(xué),也稱為范型
-
軟件危機:在計算機軟件開發(fā)和維護過程中所遇到的一系列嚴重問題。主要包含兩個方面:如何開發(fā)軟件,以滿足日益增長的軟件需求;如何維護數(shù)量不斷膨脹的已有軟件
-
軟件工程:采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,經(jīng)濟的開發(fā)出高質(zhì)量的軟件并維護它
-
軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成任務(wù)的工作步驟。通常用軟件生命周期模型來描述軟件過程
-
軟件生命周期模型(軟件開發(fā)模型):是跨越整個生存期的系統(tǒng)開發(fā)、運行和維護過程所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架
-
?RUP:是指Rational統(tǒng)一過程。是由Rational軟件公司推出的一種完整而且完美的軟件過程。它可以作為軟件開發(fā)的良好開端。RUP最重要的它有三大特點:①軟件開發(fā)是一個迭代過程;②軟件開發(fā)是由Use Case驅(qū)動的;③軟件開發(fā)是以架構(gòu)設(shè)計(Architectural Design)為中心的
-
?軟件原型:是軟件的一個早期可運行版本,反映了最終系統(tǒng)的重要特征
-
瀑布模型:將軟件生命周期的各項活動規(guī)定為依照固定順序連接的若干階段工作,最終得到軟件產(chǎn)品
-
快速原型模型:快速建立可運行的程序,它完成的功能往往是最終產(chǎn)品功能的一個子集
-
增量模型:增量模型是指在項目開發(fā)周期內(nèi),以一定的時間間隔開發(fā)部分工作軟件
-
噴泉模型:是一種以用戶需求為動力,以對象為驅(qū)動的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。該模型認為軟件開發(fā)過程自下而上周期的各階段是相互迭代和無間隙的特性
-
結(jié)構(gòu)化程序設(shè)計:結(jié)構(gòu)化程序設(shè)計是一種典型的面向數(shù)據(jù)流的軟件總體設(shè)計方法。它采用自頂向下、逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu),并且只包含順序、選擇和重復(fù)三種結(jié)構(gòu)
-
可行性研究:用最小的代價在最小的時間內(nèi)確定問題是否可以被解決
-
數(shù)據(jù)流:數(shù)據(jù)流是數(shù)據(jù)流圖邊界上的圖的輸入/輸出流,用來將對象的輸出與處理、處理與對象的輸入、處理聯(lián)系起來。在一個計算中,用數(shù)據(jù)流來表示一中間數(shù)據(jù)值,這些數(shù)據(jù)流可以與對象相關(guān),也可以不相關(guān)
-
數(shù)據(jù)流圖(DFD):描述信息流和數(shù)據(jù)從輸入到輸出所經(jīng)受的變換。沒有任何具體物理部件,只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程
-
問題分析圖(PAD):使用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,這種圖翻譯為程序代碼比較容易
-
數(shù)字字典(DD):是關(guān)于數(shù)據(jù)的信息集合,即對數(shù)據(jù)流圖中包含的所有元素定義的集合,在軟件分析和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息
-
?狀態(tài):狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式。系統(tǒng)對事件的響應(yīng),既可以是做一個(或一系列)動作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既改變狀態(tài),又做動作
-
狀態(tài)圖:狀態(tài)圖是有限自動機的圖形表示,反映了狀態(tài)與事件的關(guān)系
-
事件:事件就是引起系統(tǒng)做動作或(和)轉(zhuǎn)換狀態(tài)的控制信息
-
需求分析:需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)是準確地回答“系統(tǒng)必須做什么”這個問題,目標系統(tǒng)提出完整、準確、清晰、具體的要求。在需求分析階段結(jié)束之前,系統(tǒng)分析員應(yīng)該寫出軟件需求規(guī)明書,以書面形式準確地描述軟件需求
-
總體設(shè)計:總體設(shè)計的基本目的就是回答“系統(tǒng)應(yīng)該如何實現(xiàn)”這個問題,又稱為概要設(shè)計或初步設(shè)計
-
模塊:模塊是由邊界元素限定的相鄰程序元素所組成的序列,而且有一個總體標識符代表它。模塊是構(gòu)成程序的基本構(gòu)件
-
模塊化:模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能以滿足用戶的需求
-
模塊獨立性:開發(fā)具有獨立功能而且和其他模塊之間沒有過多的相互作用的模塊,就可以做到模塊獨立
-
抽象:抽出事物的本質(zhì)特性而暫時不考慮它們的細節(jié)
-
信息隱藏:指一個模塊內(nèi)包含的信息對于不需要這些信息的模塊來說是不能訪問的,主要是指模塊的實現(xiàn)細節(jié)
-
局部化:指把一些關(guān)系密切的軟件元素物理地放得彼此接近,有助于實現(xiàn)信息隱藏
-
耦合:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊間互連程序的度量。耦合強度取決于模塊接口的復(fù)雜程度、通過接口的數(shù)據(jù)等。耦合度越高,模塊獨立性越弱
-
完全獨立:如果兩個模塊中的每一個都能獨立地工作而不需要另一個模塊的存在,則稱它們彼此完全獨立,耦合程度最低。但是,在一個軟件系統(tǒng)中不可能所有模塊之間都沒有任何連接
-
數(shù)據(jù)耦合:如果兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù),則稱它們是數(shù)據(jù)耦合。數(shù)據(jù)耦合是低耦合,系統(tǒng)中至少必須存在這種耦合
-
特征耦合: 如果整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分數(shù)據(jù)元素,則稱它們是特征耦合
-
控制耦合:如果兩個模塊彼此間通過參數(shù)交換信息,并且傳遞的信息中包含控制信息(這種控制信息可以以數(shù)據(jù)的形式出現(xiàn))
-
外部耦合: 一組模塊都訪問同一全局簡單變量,而且不通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合
-
公共耦合:如果兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用,則稱它們是公共環(huán)境耦合
-
內(nèi)部耦合:內(nèi)容耦合是最高程度的耦合,一個模塊直接訪問另一模塊的內(nèi)容,則稱這兩個模塊為內(nèi)容耦合。
-
內(nèi)聚:是用來度量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。內(nèi)聚度越高,緊密程度越高
-
偶然內(nèi)聚: 如果一個模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系,關(guān)系也是很松散的,就叫做偶然內(nèi)聚。有時在寫完一個程序之后,發(fā)現(xiàn)一組語句在兩處或多處出現(xiàn),于是把這些語句作為一個模塊以節(jié)省內(nèi)存,這樣就出現(xiàn)了偶然內(nèi)聚的模塊
-
邏輯內(nèi)聚:如果一個模塊完成的任務(wù)在邏輯上屬于相同或相似的一類, 則稱為邏輯內(nèi)聚
-
時間內(nèi)聚:如果一個模塊包含的任務(wù)必須在同一段時間內(nèi)執(zhí)行,就叫時間內(nèi)聚。時間關(guān)系在一定程度上反映了程序的某些實質(zhì),所以時間內(nèi)聚比邏輯內(nèi)聚好一些
-
過程內(nèi)聚 :如果一個模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱為過程內(nèi)聚。使用程序流程圖作為工具設(shè)計軟件時,往往得到的是過程內(nèi)聚的模塊。
-
通信內(nèi)聚:如果模塊中所有元素都使用同一個輸入數(shù)據(jù)和(或)產(chǎn)生同一個輸出數(shù)據(jù),則稱為通信內(nèi)聚
-
順序內(nèi)聚:如果一個模塊內(nèi)的處理元素和同一個功能密切相關(guān),而且這些處理必須順序執(zhí)行,則稱為順序內(nèi)聚。根據(jù)數(shù)據(jù)流圖劃分模塊時,通常得到順序內(nèi)聚的模塊
-
功能內(nèi)聚:如果模塊內(nèi)所有處理元素屬于一個整體,完成一個單一的功能,則稱為功能內(nèi)聚。功能內(nèi)聚是最高程度的內(nèi)聚。
-
深度:表示軟件結(jié)構(gòu)中控制的層數(shù),能粗略地標志一個系統(tǒng)的大小和復(fù)雜程度
-
寬度:是軟件結(jié)構(gòu)內(nèi)同一個層次上的模塊總數(shù)的最大值
-
扇出:是一個模塊直接控制的模塊數(shù)目
-
扇入:表明有多少個上級模塊直接調(diào)用它。扇入越大則共享該模塊的上級模塊數(shù)目越多。但是,不能違背模塊獨立原理單純追求高扇入
-
詳細設(shè)計:詳細設(shè)計主要確定每個模塊的具體執(zhí)行過程,也稱過程設(shè)計
-
?PDL:過程設(shè)計語言(簡稱PDL),也稱程序描述語言,又稱偽碼,它是一種用于描述模塊算法設(shè)計和處理細節(jié)的語言
-
編碼:編碼是把軟件設(shè)計結(jié)果翻譯成用程序設(shè)計語言書寫的程序,是對設(shè)計的進一步具體化,因此程序的質(zhì)量主要取決于軟件設(shè)計的質(zhì)量
-
程序設(shè)計風格:指一個人編制程序時所表現(xiàn)出來的特點,習(xí)慣邏輯思路等。 在程序設(shè)計中要使程序結(jié)構(gòu)合理、清晰,形成良好的編程習(xí)慣,對程序的要求不僅是可以在機器上執(zhí)行,給出正確的結(jié)果,而且要便于程序的調(diào)試和維護,這就要求編寫的程序不僅自己看得懂,而且也要讓別人能看懂
-
測試用例:為尋找程序中的錯誤而精心設(shè)計的一組測試數(shù)據(jù)
-
單元測試:是把每個模塊作為一個單獨的實體來測試,檢驗其正確性。目的在于保證每個模塊作為一個單元能夠正確運行,所發(fā)現(xiàn)的是編譯和詳細設(shè)計的錯誤
-
子系統(tǒng)測試:子系統(tǒng)測試是把經(jīng)過單元測試的模塊放在一起形成一個子系統(tǒng)來測試,子系統(tǒng)測試著重測試模塊的接口
-
系統(tǒng)測試:是把經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試,在這個過程中不僅應(yīng)該發(fā)現(xiàn)設(shè)計和編碼的錯誤,還應(yīng)該驗證系統(tǒng)確實能夠提供需求說明書中指定的功能,而且系統(tǒng)動態(tài)特性也符合預(yù)定要求
-
驗收測試(確認測試):驗收測試是把軟件系統(tǒng)作為單一的實體進行測試,它是在用戶積極參與下進行的,而且主要使用實際數(shù)據(jù)進行測試,驗收測試的目的是驗證系統(tǒng)確實能夠滿足用戶的需要 ,驗收測試發(fā)現(xiàn)的是系統(tǒng)需求說明書中的錯誤
-
平行運行:平行運行就是同時運行新開發(fā)出來的系統(tǒng)和將被它取代的舊系統(tǒng),以便比較新舊兩個系統(tǒng)的處理結(jié)果
-
黑盒測試:把軟件看成一個黑盒子,不考慮其內(nèi)部結(jié)構(gòu)和處理過程,只按照規(guī)格說明書的規(guī)定,測試軟件是否能夠正確接收輸入數(shù)據(jù),并產(chǎn)生正確的輸出數(shù)據(jù)。也即測試程序是否正確實現(xiàn)了其功能
-
白盒測試:把軟件看作一個透明的盒子,完全知道程序內(nèi)部結(jié)構(gòu)和處理算法,根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu),測試程序內(nèi)部的主要執(zhí)行通路是否能夠按照預(yù)定的要求正確工作
-
非漸增式測試:先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序進行測試
-
漸增式測試:把下一個要測試的模塊同已經(jīng)測試好的那些模塊結(jié)合起來進行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進來測試,每次增加一個模塊。漸增式測試同時完成單元測試和集成測試
-
自頂向下集成:從主控制模塊開始,沿著程序的控制層次向下移動,逐漸把各個模塊結(jié)合起來。在把附屬于主控制模塊的模塊組裝到程序結(jié)構(gòu)中時,使用深度優(yōu)先的策略或?qū)挾葍?yōu)先的策略
-
自底向上集成:自底向上測試從軟件結(jié)構(gòu)最低層的模塊開始組裝和測試。因為是從底部向上結(jié)合模塊,總能得到所需的下層模塊處理功能,所以不需要存根程序
-
回歸測試:回歸測試是指重新執(zhí)行已經(jīng)做過的測試的某個子集,以保證測試過程中的變化沒有帶來非預(yù)期的副作用
-
邏輯覆蓋:邏輯覆蓋是對一系列測試過程的總稱, 這組測試過程逐漸進行越來越完整的通路測試
-
語句覆蓋:選擇足夠多的測試數(shù)據(jù),被測試程序中的每條語句至少執(zhí)行一次
-
判定覆蓋:不僅每個語句至少執(zhí)行一次,而且每個判定的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次
-
條件覆蓋:不僅每個語句至少執(zhí)行一次,而且使判定表達式中的每個條件都取到各種可能的結(jié)果
-
判定/條件覆蓋:選擇足夠多的測試數(shù)據(jù),使判定表達式中的每個條件都取到各種可能的結(jié)果,而且每個判定表達式也都取到各種可能的結(jié)果。它同時滿足判斷覆蓋和條件覆蓋
-
條件組合覆蓋:選取足夠多的測試數(shù)據(jù),使得每個判定表達式中條件的各種可能組合都至少出現(xiàn)一次。滿足條件組合覆蓋,也一定滿足判定覆蓋、條件覆蓋和判斷/條件覆蓋
-
點覆蓋:連通圖G的子圖G’是連通的,而且包含G的所有結(jié)點,則稱G’是G的點覆蓋。滿足點覆蓋標準要求選取足夠多的測試數(shù)據(jù),使得程序執(zhí)行路徑至少經(jīng)過流圖的每個結(jié)點一次,也即點覆蓋標準和語句覆蓋標準是相同的
-
邊覆蓋:連通圖G的子圖G’’是連通的,而且包含G的所有邊,則稱G’’是G的邊覆蓋。為滿足邊覆蓋的測試標準,要求選取足夠多的測試數(shù)據(jù),使程序執(zhí)行路徑至少經(jīng)過流圖每條邊一次,也即邊覆蓋與判定覆蓋是相同的
-
路徑覆蓋:選取足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次,如果程序圖中有環(huán),則要求每個環(huán)至少經(jīng)過一次
-
等價類劃分法:把程序的輸入域和輸出域劃分成若干數(shù)據(jù)兩類,據(jù)此導(dǎo)出測試用例,一個理想的測試用例能夠獨自發(fā)現(xiàn)一類錯誤
-
調(diào)試:調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程
-
軟件維護:軟件維護是在軟件已經(jīng)交付使用后,為了改正錯誤或滿足新的需要而修改軟件的過程,是軟件生命周期的最后一個階段,其基本任務(wù)是保證軟件在一個相當長的時期能夠正常運行
-
改正性維護:診斷和改正錯誤的過程
-
適應(yīng)性維護:為了和變化了環(huán)境適當配合而進行修改的軟件活動
-
完整性維護:為了滿足用戶提出的增加新功能或修改已有功能的要求和一般性改進要求
-
預(yù)防性維護:為了給未來的改進奠定更好基礎(chǔ)而修改軟件
-
軟件可維護性:可維護性指的是維護人員理解、改正、改動或改進這個軟件的難易程度。提高可維護性是支配軟件工程方法學(xué)所有步驟的關(guān)鍵目標
-
軟件可靠性:是指一個程序按照用戶的要求和設(shè)計目標,執(zhí)行其功能的正確程度。一個可靠的程序應(yīng)該是正確的,完整的,健壯的和一致的
-
可重用性:是指同一事物不經(jīng)過修改或稍加修改就能多次重復(fù)使用的性質(zhì)
-
可移植性:是指把一個軟件或程序從一個計算機環(huán)境移植到另外一個環(huán)境的難易程度
-
可訓(xùn)練性:是指軟件使新用戶使用該系統(tǒng)的輔助程度
-
?完備性:是指所需功能實現(xiàn)的程度
-
軟件項目管理:管理是通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達到既定目標的過程。軟件項目管理先于任何技術(shù)活動之前開始,并且貫穿于軟件的整個生命周期之中。軟件項目管理過程從一組項目計劃活動開始,而制定計劃的基礎(chǔ)是工作量估算和完成期限估算
-
代碼行技術(shù):代碼行技術(shù)依據(jù)以往開發(fā)類似產(chǎn)品的經(jīng)驗和歷史數(shù)據(jù),估計實現(xiàn)一個功能所需要的源程序行數(shù)。是一種比較簡單的定量估算軟件估摸的方法
-
功能點技術(shù):功能點技術(shù)依據(jù)對軟件信息域特性和軟件復(fù)雜性的評估結(jié)果,估算軟件規(guī)模。用 功能點(FP) 為單位度量軟件規(guī)模。是為了克服代碼行技術(shù)的缺點,提出來的新技術(shù)
-
?構(gòu)造性成本模型(COCOMO):是一種軟件成本的估算方法,這種模型使用一種基本的回歸分析公式,使用從項目歷史和現(xiàn)狀中的某些特征作為參數(shù)來進行計算。從本質(zhì)上說是一種參數(shù)化的項目估算方法。分為應(yīng)用組合模型、早期設(shè)計模型、后體系結(jié)構(gòu)模型
-
?軟件質(zhì)量:軟件質(zhì)量是軟件與明確地敘述的功能和性能需求、文檔中明確描述的開發(fā)標準以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度
-
軟件配置管理:軟件配置管理是在軟件的整個生命期內(nèi)管理變化的一組活動。其主要任務(wù)是控制變化,同時也負責各個軟件配置項和軟件各種版本的標識、軟件配置審計以及對軟件配置發(fā)生的任何變化的報告
-
?軟件配置項(SCI):是軟件工程中產(chǎn)生的信息項,是配置管理的基本單位,對已成為基線的SCI,雖然可以修改,但必須按照一個特殊的正確的過程進行評估,確認每一處修改
-
Gantt圖:常用水平線段來描述,把任務(wù)分解為子任務(wù),以及每個子任務(wù)的進度安排
-
基線:基線就是通過了正式復(fù)審的軟件配置項,有助于人們在不嚴重妨礙合理變化的前提下來控制變化
-
?一致性:是指在整個軟件開發(fā)項目中使用同一的設(shè)計和文檔編制技術(shù)的程度
-
?CMM:CMM是對于軟件組織在定義、實施、度量、控制和改善其軟件過程的實踐中各個發(fā)展階段的描述
- JSP方法:JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射軟件的過程藐視,也即程序結(jié)構(gòu)
- 類推估算法:自頂向下方法中,它是將估算項目的總體參數(shù)與類似項目進行直接比較得到的結(jié)果。自底向上方法中,類推是在兩個具有相似條件的工作單元中進行
- CASE:CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生存周期各階段進行軟件開發(fā)。CASE把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)方法集成到一個統(tǒng)一而一致的框架中,并且吸收了CAD(計算機輔助設(shè)計)、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)和許多其他計算機領(lǐng)域的原理和技術(shù),因而,CASE領(lǐng)域是一個應(yīng)用、集成和綜合的領(lǐng)域
可以了解
-
軟件:是計算機系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合
-
文檔:是指某種數(shù)據(jù)媒體和其中所記錄的數(shù)據(jù)。在軟件工程中,文檔用來表示對需求、工程或結(jié)果進行描述、定義、規(guī)定、報告或認證的任何書面或圖示的信息。它們描述和規(guī)定了軟件設(shè)計和實現(xiàn)的細節(jié),說明使用軟件的操作命令
-
結(jié)構(gòu)化設(shè)計方法(SD方法):面向數(shù)據(jù)流的設(shè)計是以需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),把信息流映射成軟件結(jié)構(gòu)(信息流的類型決定了映射的方法)
-
結(jié)構(gòu)化分析方法(SA方法):是需求分析中使用最多的方法之一,適用于數(shù)據(jù)處理類型軟件的需求分析。基本思想是采用自頂向下、逐步分解的方法分析整個系統(tǒng),有效地控制系統(tǒng)開發(fā)的復(fù)雜性
-
PSL(問題陳述語言):是用來描述系統(tǒng)的形式語言
-
PSA(問題陳述分析程序):是處理PSL描述的分析程序
-
逐步求精:逐步求精是軟件工程技術(shù)的基礎(chǔ),為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮
-
Alpha測試:Alpha測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導(dǎo)”下進行測試,且開發(fā)者負責記錄發(fā)現(xiàn)的錯誤和遇到的問題。即Alpha測試是在受控的環(huán)境中進行的
-
Beta測試:Beta測試由軟件的最終用戶們在一個或多個客戶場所進行。開發(fā)者通常不在Beta測試的現(xiàn)場,即Beta測試是軟件在開發(fā)者不能控制的環(huán)境中的“真實”應(yīng)用
-
進度安排:軟件項目的進度安排通過把工作量分配給特定的軟件工程任務(wù)并規(guī)定完成各項任務(wù)的起止日期,從而將估算出的項目工作量分布于計劃好的項目持續(xù)期內(nèi)。進度計劃將隨著時間的流逝而不斷演化
-
版本控制:版本控制使用規(guī)程和工具,以管理在軟件工程過程中所創(chuàng)建的配置對象的不同版本,借助于版本控制技術(shù),用戶能通過選擇適當?shù)陌姹緛碇付ㄜ浖到y(tǒng)的配置
-
探索型原型模型:探索型原型模型是把原型用于開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對開發(fā)目標模糊,用戶與開發(fā)者對項目都缺乏經(jīng)驗的情況,通過對原型的開發(fā)來明確用戶的需求
-
演化型原型模型:將原型思想擴展到軟件開發(fā)全過程,就是及早向用戶提交一個原型系統(tǒng),得到用戶許可后,將原型系統(tǒng)不斷擴充演化為最終的軟件系統(tǒng)
-
原型運用的拋棄策略:原型運用的拋棄策略是將原型用于開發(fā)過程的某一階段,促使該階段的開發(fā)結(jié)果更加完整、準確、一致、可靠,該階段結(jié)束后,原型隨之作廢。探索型和實驗型快速原型就是采用此策略
-
增量構(gòu)造模型:是指在需求分析和設(shè)計階段按照瀑布模型的整體方式開展,但是在編碼階段按照增量方式展開。在這種模型下,用戶可以及早的看到部分軟件功能,及早的發(fā)現(xiàn)全面問題, 同時解決問題
-
投資回收期:累積的經(jīng)濟效益等于最初投資費用所需要的時間
-
工程特性:工程特性指根據(jù)軟件開發(fā)項目的需要,總體上考慮的軟件特性。其表現(xiàn)形式有可移植性、開發(fā)工具的可利用性、軟件的可重用性、可維護性
-
信息冗余:信息冗余是指為檢察或糾正信息在運算或傳輸中的錯誤需外加的一部分信息
-
程序設(shè)計環(huán)境:是指用于解決如何將規(guī)范說明轉(zhuǎn)換為可工作的程序問題的一組軟件工具的集合
-
系統(tǒng)合成環(huán)境:是指用于解決把多子系統(tǒng)集成為一個大系統(tǒng)的問題的軟件工具的集合
-
文檔副作用:指對可執(zhí)行文件的修改沒有反映到文檔中產(chǎn)生的錯誤
-
數(shù)據(jù)集成:是指不同軟件工程能相互交換數(shù)據(jù)
-
過程集成:是指CASE系統(tǒng)中嵌入了關(guān)于過程活動、階段、約束和支持這些活動所需工具的知識
-
心理特性:是指影響程序員心理的語言特性。包括歧義性,簡潔性,順序性,局部性和傳統(tǒng)性
-
專家估算方法:依靠一個或多個專家對要求的項目作出估算,其精確性取決于對專業(yè)估算項目的定性參數(shù)的了解和他們的經(jīng)驗
二:面向?qū)ο笤O(shè)計部分
-
面向?qū)ο蠓椒▽W(xué):面向?qū)ο蠓椒ㄊ且环N以數(shù)據(jù)或信息為主線,把數(shù)據(jù)和處理相結(jié)合的方法,即把對象作為由數(shù)據(jù)及可以施加在這些數(shù)據(jù)上的操作所構(gòu)成的統(tǒng)一體。面向?qū)ο蟮姆椒梢杂孟铝蟹匠虂砀爬?#xff1a;OO = object(對象) + classes(類) + inheritance(繼承) + communication with messages(封裝)
-
對象(按照面向?qū)ο蟪绦蛟O(shè)計的角度):對象是具有相同狀態(tài)的一組操作的集合。 在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何事物都可以作為對象,它既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何有明確邊界和意義的東西
-
對象(按照結(jié)構(gòu)化角度):對象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體,這個封裝體有可以唯一地標識它的名字,而且向外界提供一組服務(wù)。對象中的數(shù)據(jù)表示對象的狀態(tài),一個對象的狀態(tài)只能由該對象的操作來改變。每當需要改變對象的狀態(tài)時,只能由其他對象向該對象發(fā)送消息。對象響應(yīng)消息時,按照消息模式找出與之匹配的方法,并執(zhí)行該方法
-
類:“類”是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義,即類是對具有相同屬性和行為的一個或多個對象的描述,包括對怎樣創(chuàng)建該類的新對象的說明。類是支持繼承的抽象數(shù)據(jù)類型,而對象就是類的實例
-
實例:實例就是由某個特定的類所描述的一個具體的對象。類是對具有相同屬性和行為的一組相似的對象的抽象,類在現(xiàn)實世界中并不能真正存在。實際上類是建立對象時使用的“樣板”,按照這個樣板所建立的一個個具體的對象,就是類的實際例子,通常稱為實例
-
屬性:屬性就是類中所定義的數(shù)據(jù),它是對客觀世界實體所具有的性質(zhì)的抽象。類的每個實例都有自己特有的屬性值
-
方法:方法就是對象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。方法描述了對象執(zhí)行操作的算法,響應(yīng)消息的方法
-
消息:消息就是要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。一個消息由接收消息的對象、消息選擇符、零個或多個變元組成
-
封裝:封裝是把數(shù)據(jù)和實現(xiàn)操作的代碼集中起來放在對象內(nèi)部。封裝也就是信息隱藏,通過封裝對外界隱藏了對象的實現(xiàn)細節(jié)
-
繼承:廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。在面向?qū)ο蟮能浖夹g(shù)中,繼承是子類自動地共享父類中定義的數(shù)據(jù)和方法的機制
-
多態(tài):在類等級的不同層次中可以共享一個方法的名字, 不同層次中的每個類各自按自己的需要來實現(xiàn)這個行為
-
對象模型:對象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的數(shù)據(jù)性質(zhì)。它是對對象以及對象彼此間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。對象模型為建立動態(tài)模型和功能模型,提供了實質(zhì)性的框架
-
關(guān)聯(lián):關(guān)聯(lián)表示兩個類的對象之間存在某種語義上的聯(lián)系
-
動態(tài)模型:動態(tài)模型表示瞬時的、行為化的系統(tǒng)的控制性質(zhì),它規(guī)定了對象模型中的對象的合法變化序列
-
功能模型:功能模型表示變化的系統(tǒng)的功能性質(zhì),它指明了系統(tǒng)應(yīng)該做什么,因此更直接地反映了用戶對目標系統(tǒng)的需求
-
UML:統(tǒng)一建模語言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進行說明、可視化和編制文檔的一種標準語言,獨立于任何具體程序設(shè)計語言
-
類圖:顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。類圖不顯示暫時性的信息
-
用例圖:用例模型描述的是外部行為者所理解的系統(tǒng)功能。用例模型的建立是系統(tǒng)開發(fā)者和用戶反復(fù)討論的結(jié)果,它描述了開發(fā)者和用戶對需求規(guī)格所達成的共識
-
面向?qū)ο蠓治?OOA):面向?qū)ο蠓治鼍褪浅槿『驼碛脩粜枨蟛⒔栴}域精確模型的過程
-
腳本:腳本是指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件。腳本描述用戶與目標系統(tǒng)之間的一個或多個典型的交互過程。編寫腳本的過程,就是分析用戶對系統(tǒng)交互行為的要求的過程
-
面向?qū)ο笤O(shè)計(OOD):設(shè)計是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實現(xiàn)方案的過程。從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O(shè)計是一個逐漸擴充模型的過程,即面向?qū)ο笤O(shè)計就是用面向?qū)ο笥^點建立求解域模型的過程
-
重用:是指同一事物不作修改或稍加改動就多次重復(fù)使用。主要有知識重用、方法和標準的重用、軟件成分的重用
-
面向?qū)ο髮崿F(xiàn)(OOP):把面向?qū)ο笤O(shè)計結(jié)果翻譯成用某種程序語言書寫的面向?qū)ο蟪绦?/p>
- 一般-具體關(guān)系:一般-具體結(jié)構(gòu)關(guān)系稱為分類結(jié)構(gòu),也可以說是“或”關(guān)系,或者是“is a”關(guān)系。類的這種層次結(jié)構(gòu)可用來描述現(xiàn)實世界中的一般化的抽象關(guān)系,通常越在上層的類越具有一般性和共性,越在下層的類越具體、越細化
- 整體-部分關(guān)系:整體-部分結(jié)構(gòu)關(guān)系稱為組裝結(jié)構(gòu),也可以說是“與”關(guān)系,或者是“hasa”關(guān)系。類的這種層次結(jié)構(gòu)可用來描述現(xiàn)實世界中的類的組成的抽象關(guān)系,通常越在上層的類越具有整體性,越在下層的類越具有成員性
總結(jié)
以上是生活随笔為你收集整理的【软件工程导论题型大总结】名词解释总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring 事情具体详尽的解释
- 下一篇: .java生成dex文件