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