版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件危機(jī)的概念,內(nèi)容,原因及消除的途徑;概念:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。內(nèi)容: eq oac(,1).對軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。 eq oac(,2).用戶對“已完成”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。 eq oac(,3).軟件產(chǎn)品的質(zhì)量往往靠不住。 eq oac(,4).軟件常常是不可維護(hù)的。 eq oac(,5).軟件通常沒有適當(dāng)?shù)奈臋n資料。 eq oac(,6).軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。 eq oac(,7).軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢。原因:一方面與軟件本身的特點(diǎn)有關(guān),另一
2、方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。消除的途徑:要緩解軟件危機(jī),既要有先進(jìn)的技術(shù)和方法,又需要高水平的組織管理措施。而軟件工程正是綜合了管理和技術(shù)兩方面,研究如何更好地開發(fā)軟件的一門新興學(xué)科。所以,就目前而言,軟件工程是緩解軟件危機(jī)的最好途徑。軟件工程的定義,基本原理;定義:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。基本原理: eq oac(,1).用分段的生命周期計(jì)劃嚴(yán)格管理。 eq oac(,2).
3、堅(jiān)持進(jìn)行階段評(píng)審。 eq oac(,3).實(shí)行嚴(yán)格的產(chǎn)品控制。 eq oac(,4).采用現(xiàn)代程序設(shè)計(jì)技術(shù)。 eq oac(,5).結(jié)果能清楚地審查。 eq oac(,6).開發(fā)小組的人員應(yīng)盡量少而精。 eq oac(,7).承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。軟件工程方法學(xué)的基本概念、內(nèi)容;基本概念:軟件工程方法學(xué)就是指在軟件生命周期全過程中使用的一整套管理和開發(fā)技術(shù)方法的集合。內(nèi)容: eq oac(,1).傳統(tǒng)方法學(xué)(也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型) eq oac(,2).面向?qū)ο蠓椒▽W(xué)。軟件生命周期的具體內(nèi)容,每一個(gè)階段的任務(wù)是什么?結(jié)合具體的工程例子來理解做軟件項(xiàng)目主要分那幾個(gè)階段。軟
4、件生命周期由定義、軟件開發(fā)和運(yùn)行維護(hù)3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。軟件生命周期每個(gè)階段的基本任務(wù): eq oac(,1).問題定義:問題定義階段必須回答的關(guān)鍵問題是:“要解決的問題是什么” eq oac(,2).可行性研究:這個(gè)階段的任務(wù)不是具體解決問題,而是研究問題的范圍,探索這個(gè)問題是否值得去解,是否有可行的解決辦法。 eq oac(,3).需求分析:確定目標(biāo)系統(tǒng)必須具備哪些功能,是用正式文檔準(zhǔn)確地記錄對目標(biāo)系統(tǒng)的需要,這份文檔通常稱為規(guī)格說明書。 eq oac(,4).總體設(shè)計(jì):設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案,制定出實(shí)現(xiàn)最佳方案的詳細(xì)計(jì)劃,設(shè)計(jì)程序的體系結(jié)構(gòu),也就是
5、確定程序由哪些模塊組成以及模塊間的關(guān)系。 eq oac(,5).詳細(xì)設(shè)計(jì):詳細(xì)地設(shè)計(jì)每個(gè)模塊,確定實(shí)現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。 eq oac(,6).編碼和單元測試:寫出正確的容易理解、容易維護(hù)的程序模塊。 eq oac(,7).綜合測試:通過各種類型的測試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求。理解幾個(gè)典型軟件過程的內(nèi)容及其優(yōu)點(diǎn)與缺點(diǎn):瀑布模型、增量模型、快速原型模型、螺旋模型、噴泉模型等;發(fā)方法和工具的研究,從而提高了大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。瀑布模型的缺點(diǎn):(1)開發(fā)過程一般不能逆轉(zhuǎn),否則代價(jià)太大;(2)實(shí)際的項(xiàng)目開發(fā)很難嚴(yán)格按該模型進(jìn)行;(3)客戶往往很難清楚地給出所有的需求
6、,而該模型卻要求如此。(4)軟件的實(shí)際情況必須到項(xiàng)目開發(fā)的后期客戶才能看到,這要求客戶有足夠的耐心。 快速原型模型的優(yōu)點(diǎn):(1)可以得到比較良好的需求定義,容易適應(yīng)需求的變化;(2)有利于開發(fā)與培訓(xùn)的同步;(3)開發(fā)費(fèi)用低、開發(fā)周期短且對用戶更友好。快速原型模型的缺點(diǎn):(1)客戶與開發(fā)者對原型理解不同;(2) 準(zhǔn)確的原型設(shè)計(jì)比較困難;(3) 不利于開發(fā)人員的創(chuàng)新。增量模型的優(yōu)點(diǎn):(1)采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開始不用投入大量人力資源;(2)如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)下一個(gè)增量;(3)可先發(fā)布部分功能給客戶,對客戶起到鎮(zhèn)靜劑的作用。增量模型的缺點(diǎn):(1)并行開發(fā)構(gòu)件有可能
7、遇到不能集成的風(fēng)險(xiǎn),軟件必須具備開放式的體系結(jié)構(gòu);(2)增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。螺旋模型的優(yōu)點(diǎn):(1)設(shè)計(jì)上的靈活性,可以在項(xiàng)目的各個(gè)階段進(jìn)行變更;(2)以小的分段來構(gòu)建大型系統(tǒng),使成本計(jì)算變得簡單容易;(3)客戶始終參與每個(gè)階段的開發(fā),保證了項(xiàng)目不偏離正確方向以及項(xiàng)目的可控性;(4) 隨著項(xiàng)目推進(jìn),客戶始終掌握項(xiàng)目的最新信息 , 從而他或她能夠和管理層有效地交互。 螺旋模型的缺點(diǎn):(1)采用螺旋模型需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),在風(fēng)險(xiǎn)較大的項(xiàng)目開發(fā)中,如果未能夠及時(shí)標(biāo)識(shí)
8、風(fēng)險(xiǎn),勢必造成重大損失;(2)過多的迭代次數(shù)會(huì)增加開發(fā)成本,延遲提交時(shí)間。噴泉模型:噴泉模型與傳統(tǒng)的結(jié)構(gòu)化生存期比較,具有更多的增量和迭代性質(zhì),生存期的各個(gè)階段可以相互重疊和多次反復(fù),而且在項(xiàng)目的整個(gè)生存期中還可以嵌入子生存期。就像水噴上去又可以落下來,可以落在中間,也可以落在最底部。了解可行性研究中的任務(wù)和過程;任務(wù):用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決.過程:(1)復(fù)查系統(tǒng)規(guī)模和目標(biāo) (2)研究目前正在使用的系統(tǒng) (3)導(dǎo)出新系統(tǒng)的高層邏輯模型 (4)進(jìn)一步定義問題 (5)導(dǎo)出和評(píng)價(jià)供選擇的解法 (6)推薦進(jìn)行方針 (7)草擬開發(fā)計(jì)劃 (8)書寫文檔提交審查掌握系統(tǒng)流程圖的概
9、念和方法,會(huì)從具體的案例中抽象出系統(tǒng)流程圖;系統(tǒng)流程圖:是概括地描繪物理系統(tǒng)的傳統(tǒng)工具.它的基本思想是用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件.掌握數(shù)據(jù)流圖的概念和方法,會(huì)從具體的案例中畫出0層數(shù)據(jù)流圖和功能級(jí)數(shù)據(jù)流圖;數(shù)據(jù)流圖有四種基本符號(hào):(1)正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)或終點(diǎn); (2)圓角矩形代表變換數(shù)據(jù)的處理;(3)開口矩形代表數(shù)據(jù)存儲(chǔ); (4)箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。掌握數(shù)據(jù)字典的內(nèi)容、方法、用戶和實(shí)現(xiàn);數(shù)據(jù)字典的內(nèi)容:(1)數(shù)據(jù)流 (2)數(shù)據(jù)流分量(即數(shù)據(jù)元素) (3)數(shù)據(jù)存儲(chǔ) (4)處理由數(shù)據(jù)元素組成數(shù)據(jù)的方式有3種基本類型:(1)順序(2)選擇(3)重復(fù)
10、數(shù)據(jù)字典基本的表示符號(hào): 意思是 等價(jià)于(或定義為); 意思是 和(即,連接兩個(gè)分量); 意思是或(即,從方括弧內(nèi)列出的若干個(gè)分量中選擇一個(gè)),通常用“”號(hào)分開供選擇的分量; 意思是重復(fù)(即,重復(fù)花括弧內(nèi)的分量); ( )意思是可選(即,圓括弧里的分量可有可無)。數(shù)據(jù)字典最重要用途:作為分析階段的工具了解成本/效益分析方法;了解需求分析過程中任務(wù)是什么.基本任務(wù): 問題識(shí)別:雙方確定對問題的綜合需求,這些需求包括功能需求,性能需求,環(huán)境需求,用戶界面需求。 分析與綜合,導(dǎo)出軟件的邏輯模型 編寫文檔:包括編寫需求規(guī)格說明書,初步用戶使用手冊,確認(rèn)測試計(jì)劃,修改完善軟件開發(fā)計(jì)劃理解面向數(shù)據(jù)流自頂向
11、下逐步求精的方法和意義;方法:從數(shù)據(jù)流圖的輸出端著手分析可行性研究階段產(chǎn)生的是高層數(shù)據(jù)流圖從數(shù)據(jù)流圖的輸出端著手分析,這是因?yàn)橄到y(tǒng)的基本功能是產(chǎn)生這些輸出的關(guān)鍵原因輸出數(shù)據(jù)決定了系統(tǒng)必須具有的最基本的組成元素(包括功能和數(shù)據(jù)結(jié)構(gòu)組成)理解分析及建模的意義,需求分析中應(yīng)該建立哪三種模型?有哪些工具來幫助建立這些模型?三種模型:數(shù)據(jù)模型、功能模型、行為模型掌握實(shí)體關(guān)系(E-R)圖的概念,內(nèi)容和實(shí)現(xiàn)方法,能結(jié)合具體實(shí)例建立實(shí)體關(guān)系圖;掌握狀態(tài)圖的概念,內(nèi)容,實(shí)現(xiàn)方法和作用;掌握層次方框圖、warnier圖、IPO圖的概念,內(nèi)容和作用;有窮狀態(tài)機(jī)的概念和內(nèi)容; P77有窮狀態(tài)機(jī):狀態(tài)集、輸入集、轉(zhuǎn)換函
12、數(shù)、初始態(tài)、終態(tài)集總體設(shè)計(jì)是做什么?總體設(shè)計(jì)的過程是怎樣的?總體結(jié)構(gòu)設(shè)計(jì)的目的是什么?總體設(shè)計(jì)的目標(biāo)是將需求分析階段定義的系統(tǒng)模型轉(zhuǎn)換成相應(yīng)的軟件結(jié)構(gòu),以規(guī)定軟件的形態(tài)及各成分間的層次關(guān)系、界面及接口要求??傮w設(shè)計(jì)通常由兩個(gè)過程組成:系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì)階段,確定軟件結(jié)構(gòu)。目的:掌握幾個(gè)設(shè)計(jì)原理,理解他們的內(nèi)容和意義;模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求.2)抽象 3)逐步求精 4)信息隱藏和局部化5)模塊獨(dú)立 它有兩個(gè)定性標(biāo)準(zhǔn)度量:內(nèi)聚和耦合.掌握耦合和內(nèi)聚的概念和
13、內(nèi)容,理解這些原理對設(shè)計(jì)有哪些指導(dǎo)意義;耦合:耦合是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。內(nèi)聚:內(nèi)聚標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程序,它是信息隱藏和局部化概念的自然擴(kuò)展。耦合是影響軟件復(fù)雜程度的一個(gè)重要因素。設(shè)計(jì)時(shí)力爭做到高內(nèi)聚,并且能夠辨認(rèn)出低內(nèi)聚的模塊,有能力通過修改設(shè)計(jì)提高模塊的內(nèi)聚程度并且降低模塊間的耦合程度,從而獲得較高的模塊獨(dú)立性。耦合包含了哪些類型?每個(gè)類型的具體內(nèi)容是什么?要求能通過程序代碼識(shí)別出耦合類型。(1)非直接耦合:就是沒有耦合。(2)數(shù)據(jù)耦合:就是參數(shù)傳遞耦合,它屬于低級(jí)別耦合。(3)標(biāo)記耦合:標(biāo)記耦合指兩個(gè)模塊之間傳遞的是數(shù)據(jù)結(jié)構(gòu)。(4)控制耦合:它
14、屬于中級(jí)別耦合,比如調(diào)度程序與進(jìn)程之間的耦合,就是控制耦合。(5)外部耦合:屬于高級(jí)別耦合(6)公共耦合:指通過一個(gè)公共數(shù)據(jù)環(huán)境相互作用的那些模塊間的耦合。(7)內(nèi)容耦合:屬于最高級(jí)別耦合,例如,一個(gè)模塊利用分支或跳轉(zhuǎn)技術(shù),轉(zhuǎn)入到另一個(gè)模塊中去執(zhí)行,就是內(nèi)容耦合。啟發(fā)性規(guī)則的內(nèi)容及部分概念。 1.改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性 2.模塊規(guī)模應(yīng)該適中 3.深度、寬度、扇出和扇入都應(yīng)適當(dāng) 4.模塊的作用域應(yīng)該在控制域之內(nèi) 5.力爭降低模塊接口的復(fù)雜程度6.設(shè)計(jì)單入口單出口的模塊 7.模塊功能應(yīng)該可以預(yù)測層次圖、HIPO圖和結(jié)構(gòu)圖的內(nèi)容;掌握面向數(shù)據(jù)流的設(shè)計(jì)方法,了解其中涉及到的概念(變換流,事務(wù)流),
15、結(jié)合例子理解變換分析的具體過程。面向數(shù)據(jù)流的設(shè)計(jì)方法把信息映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法。信息流有兩種:(1)變換流 (2)事務(wù)流 (P105)變換流:信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。事務(wù)流:以事務(wù)為中心,數(shù)據(jù)沿輸入通路到達(dá)一個(gè)處理T,這個(gè)處理根據(jù)輸入數(shù)據(jù)的類型在若干個(gè)動(dòng)作序列中選出一個(gè)來執(zhí)行。詳細(xì)設(shè)計(jì)是做什么?詳細(xì)設(shè)計(jì)的根本目標(biāo):確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng)。 什么是結(jié)構(gòu)程序設(shè)計(jì)?如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一
16、個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。人機(jī)界面設(shè)計(jì)問題包含哪些?(1)系統(tǒng)響應(yīng)時(shí)間 (2)用戶幫助設(shè)施 (3)出錯(cuò)信息處理 (4)命令交互掌握設(shè)計(jì)過程中用到的工具:程序流程圖的概念,內(nèi)容和方法;盒圖的概念、內(nèi)容和方法;會(huì)結(jié)合實(shí)例使用這些工具;掌握PAD 圖的概念和內(nèi)容;掌握判定表的概念和內(nèi)容。要結(jié)合實(shí)例來掌握它們。過程設(shè)計(jì)的工具:圖形(程序流程圖、盒圖,PAD圖)、表格(判定表、判定樹)和語言(過程設(shè)計(jì)語言(PDL))三類。程序流程圖:程序流程又稱為程序框圖,它是歷史最悠久、使用最廣泛的描述過程設(shè)計(jì)的方法,然而它也是用得最混亂的一種方法。盒圖:出于要有一種不允許違背結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工
17、具的考慮,Nassi和Shneiderman提出了盒圖,又稱為N-S圖。PAD圖:PAD是問題分析圖的英文縮寫,它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。判定表:一張判定表由4個(gè)部分組成,左上部列出所有條件,左下部是所有可能做的動(dòng)作,右上部是表示各種條件組合的一個(gè)矩陣,右下部是和每種條件組合相對應(yīng)的動(dòng)作。判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對應(yīng)的動(dòng)作。了解結(jié)合Jackson圖來掌握面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法;會(huì)用Jackson程序設(shè)計(jì)方法對具體的實(shí)例進(jìn)行設(shè)計(jì)。數(shù)據(jù)元素彼此之間的邏輯關(guān)系:順序、選擇、重復(fù)元順序結(jié)構(gòu)一個(gè)順序元素由一個(gè)或多個(gè)從左到
18、右的元素組成每個(gè)組成的元素只出現(xiàn)一次選擇結(jié)構(gòu)選擇是“If Then Else”或“Case”的結(jié)構(gòu),而且必須有兩個(gè)或多個(gè)元素使用選擇元素時(shí)根據(jù)指定的條件從這些子元素中選擇一個(gè)子元素重復(fù)結(jié)構(gòu)重復(fù)元素僅由一個(gè)子元素構(gòu)成,表示重復(fù)元素由子元素重復(fù)0次或多次組成掌握幾種測試:單元測試、集成測試、確認(rèn)測試、白盒測試技術(shù)和黑盒測試技術(shù);掌握它們的概念,內(nèi)容和方法;單元測試:單元測試集中監(jiān)測軟件設(shè)計(jì)的最小單元模塊。從這些方面對模塊進(jìn)行測試:(1)模塊接口(2)局部數(shù)據(jù)結(jié)構(gòu)(3)重要的執(zhí)行通路 (4)出錯(cuò)處理通路(5)邊界條件集成測試:是測試和組裝軟件的系統(tǒng)化技術(shù)。測試方法:(1)非漸增式測試 (2)漸增式測
19、試當(dāng)使用漸增方式把模塊結(jié)合到程序中去時(shí),有自頂向下和自底向上的兩種集成策略白盒測試:根據(jù)程序內(nèi)部邏輯結(jié)構(gòu)進(jìn)行測試,來檢驗(yàn)程序內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行。黑盒測試:根據(jù)程序外部特征來進(jìn)行測試,著重測試軟件功能,它并不能取代白盒測試,它是與白盒測試互補(bǔ)的測試方法。對每一種測試方法,理解其具體細(xì)節(jié):比如理解什么是漸增式測試和非漸增式測試,什么是Alpha測試和Beta測試.;Alpha測試:由用戶在開發(fā)者的場所進(jìn)行,并且在開發(fā)者對用戶的指導(dǎo)下進(jìn)行測試。開發(fā)者負(fù)責(zé)記錄發(fā)現(xiàn)的錯(cuò)誤和使用中遇到的問題. Beta測試:由軟件的最終用戶在一個(gè)或多個(gè)客戶場所進(jìn)行.與Alpha測試不同,開發(fā)者通常不
20、在Beta測試的現(xiàn)場,因此,Bate測試時(shí)軟件在開發(fā)者不能控制的環(huán)境中的真實(shí)應(yīng)用。結(jié)合G.J.Myers的觀點(diǎn)理解軟件測試的目的;(教材p150)掌握白盒測試的技術(shù)細(xì)節(jié)(比如:掌握邏輯覆蓋中的8個(gè)覆蓋點(diǎn);掌握基本路徑測試,會(huì)根據(jù)過程設(shè)計(jì)結(jié)果畫出相應(yīng)的流圖;會(huì)計(jì)算流圖的環(huán)形復(fù)雜度;會(huì)計(jì)算出線性獨(dú)立路徑的基本集合);掌握黑盒測試的技術(shù)細(xì)節(jié);白盒測試:軟件的白盒測試是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對象看做一個(gè)打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒
21、測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試。8個(gè)覆蓋點(diǎn):語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點(diǎn)覆蓋、邊覆蓋、路徑覆蓋黑盒測試:黑盒測試著重測試軟件功能。這種方法是把測試對象看做一個(gè)黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。理解軟件維護(hù)的定義、特點(diǎn)和維護(hù)過程;定義:就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改的過程。過程:1、維護(hù)組織2、維護(hù)報(bào)告3、維護(hù)的事件流4、保存維護(hù)記錄5、評(píng)價(jià)維護(hù)活動(dòng)。掌握面向?qū)ο蠓椒▽W(xué)的要點(diǎn),理解面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn);面向
22、對象方法學(xué)的四要點(diǎn)是:對象、類、繼承、消息。優(yōu)點(diǎn):1.與人類習(xí)慣的思維方法一致。2.穩(wěn)定性好 3.可重用性好 4.較易開發(fā)大型軟件產(chǎn)品 5.可維護(hù)性好掌握面向?qū)ο蟮母拍?;面向?qū)ο蟮幕靖拍睿簩ο笫怯擅枋鲈搶ο髮傧嗟臄?shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起的統(tǒng)一體。面向?qū)ο蠼J墙⒛娜齻€(gè)模型?它們的具體內(nèi)容是什么?三個(gè)模型: 對象模型(類圖):描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu); 動(dòng)態(tài)模型(狀態(tài)轉(zhuǎn)換圖):描述系統(tǒng)的控制結(jié)構(gòu); 功能模型(用例圖,數(shù)據(jù)流圖):描述系統(tǒng)功能。建立對象模型的內(nèi)容是什么?在面向?qū)ο蟮姆治龊驮O(shè)計(jì)階段,致力于建立模擬問題領(lǐng)域的對象模型。建立對象模型即包括自底向上的抽象過程,也包括自頂
23、向下的分解過程掌握用UML提供的類圖來建立對象模型的方法。理解類圖的定義、基本符號(hào)和具體內(nèi)容;能結(jié)合實(shí)例掌握類圖中類與類之間的關(guān)系:關(guān)聯(lián)、泛化(繼承)、依賴和細(xì)化。能根據(jù)實(shí)例情況正確判斷出類與類之間的具體關(guān)系類型。關(guān)聯(lián)(Association)表現(xiàn)為變量。類與類之間的聯(lián)接,它使一個(gè)類知道另一個(gè)類的屬性和方法。例如如果A依賴于B,則B體現(xiàn)為A的全局變量。如person類和company類關(guān)聯(lián)關(guān)系有雙向關(guān)聯(lián)和單向關(guān)聯(lián)。雙向關(guān)聯(lián):兩個(gè)類都知道另一個(gè)類的公共屬性和操作。單向關(guān)聯(lián):只有一個(gè)類知道另外一個(gè)類的公共屬性和操作。大多數(shù)關(guān)聯(lián)應(yīng)該是單向的,單向關(guān)系更容易建立和維護(hù),有助于尋找可服用的類。UML圖中
24、實(shí)現(xiàn)使用一條實(shí)線連接相同或不同類泛化(Generalization)表現(xiàn)為繼承或?qū)崿F(xiàn)關(guān)系。具體形式為類與類之間的繼承關(guān)系,接口與接口之間的繼承關(guān)系,類對接口的實(shí)現(xiàn)關(guān)系UML圖中實(shí)現(xiàn)使用一條帶有空心三角箭頭的實(shí)線指向基類。如下依賴(Dependency)表現(xiàn)為函數(shù)中的參數(shù)。是類與類之間的連接,表示一個(gè)類依賴于另一個(gè)類的定義,其中一個(gè)類的變化將影響另外一個(gè)類。例如如果A依賴于B,則B體現(xiàn)為局部變量,方法的參數(shù)、或靜態(tài)方法的調(diào)用。如電視(TV)依賴于頻道(channel)常見的依賴關(guān)系如下:(1)類B以參數(shù)的形式傳入類A的方法。(2)類B以局部變量的形式存在于類A的方法中。(3)類A調(diào)用類B的靜態(tài)方
25、法。UML圖中實(shí)現(xiàn)使用一條帶有箭頭的虛線指向被依賴的類。如下實(shí)現(xiàn)(Realization):指的是一個(gè)類實(shí)現(xiàn)接口(可以是多個(gè))的功能;實(shí)現(xiàn)是類與接口之間最常見的關(guān)系;C中沒有直接的接口而是通過在類中定義純虛函數(shù)來實(shí)現(xiàn)的。UML圖中實(shí)現(xiàn)使用一條帶有空心三角箭頭的虛線指向接口。如下聚合(Aggregat ion)是關(guān)聯(lián)關(guān)系的一種,是強(qiáng)的關(guān)聯(lián)關(guān)系。聚合關(guān)系是整體和個(gè)體的關(guān)系。普通關(guān)聯(lián)關(guān)系的兩個(gè)類處于同一層次上,而聚合關(guān)系的兩個(gè)類處于不同的層次,一個(gè)是整體,一個(gè)是部分。同時(shí),是一種弱的“擁有”關(guān)系。UML圖中實(shí)現(xiàn)使用一條帶有虛心菱形的線來表示組合(Composition)是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系
26、強(qiáng)的關(guān)聯(lián)關(guān)系。它要求普通的聚合關(guān)系中代表整體的對象負(fù)責(zé)代表部分的對象的生命周期。Composition(組合關(guān)系)是一種強(qiáng)的“擁有”關(guān)系,體現(xiàn)了嚴(yán)格的部分和整體的關(guān)系,部分和整體的生命周期一致。他同樣體現(xiàn)整體與部分間的關(guān)系,但此時(shí)整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束;UML圖中實(shí)現(xiàn)使用一條帶有實(shí)心菱形的線來表示幾種關(guān)系所表現(xiàn)的強(qiáng)弱程度依次為:組合聚合關(guān)聯(lián)依賴動(dòng)態(tài)模型的概念、內(nèi)容;功能模型的概念、內(nèi)容和建立功能模型的方法;功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了助記詞對目標(biāo)系統(tǒng)的需求。功能模型由一組數(shù)據(jù)流圖組成。掌握用例
27、圖的概念、內(nèi)容和方法;一幅用例圖包含的模型元素有:系統(tǒng)、行為者、用例及用例之間的關(guān)系。掌握面向?qū)ο蠓治龅幕具^程:三個(gè)子模型與5個(gè)層次;三個(gè)子模型:對象模型、動(dòng)態(tài)模型、功能模型。五個(gè)層次:主層次、類-&-對象層、結(jié)構(gòu)層、屬性層、服務(wù)層。結(jié)合實(shí)例來掌握面向?qū)ο蠓治鲞^程中建立對象模型的方法包含哪些步驟;結(jié)合實(shí)例來掌握面向?qū)ο蠓治鲞^程中建立動(dòng)態(tài)模型的方法包含哪些步驟;結(jié)合實(shí)例來掌握面向?qū)ο蠓治鲞^程中建立功能模型的方法包含哪些步驟;能結(jié)合實(shí)例畫事件跟蹤圖能結(jié)合實(shí)例畫類的能結(jié)合實(shí)例畫出0層數(shù)據(jù)流圖與功能級(jí)數(shù)據(jù)流圖。自測練習(xí)題:一、選擇題1瀑布模型的存在問題是( B ) A用戶容易參與開發(fā) B缺乏靈活性
28、C用戶與開發(fā)者易溝通 D適用可變需求2可行性分析是在系統(tǒng)開發(fā)的早期所做的一項(xiàng)重要的論證工作,它是決定該系統(tǒng)是否開發(fā)的決策依據(jù),因必須給出( B )的回答。 A確定 B行或不行 C正確 D無二義3 系統(tǒng)流程圖是用來 ( D)A描繪程序結(jié)構(gòu)的 B描繪系統(tǒng)的邏輯模型C表示信息層次結(jié)構(gòu)的圖形工具 D描繪物理系統(tǒng)的 4.下列屬于維護(hù)階段的文檔是(C) A.軟件規(guī)格說明B.用戶操作手冊 C.軟件問題報(bào)告D.軟件測試分析報(bào)告5.軟件按照設(shè)計(jì)的要求,在規(guī)定時(shí)間和條件下達(dá)到不出故障,持續(xù)運(yùn)行的要求的質(zhì)量特性稱為(B) A.可用性B.可靠性 C.正確性D.完整性6、快速原型模型的主要特點(diǎn)之一是(D) A.開發(fā)完畢
29、才見到產(chǎn)品 B.及早提供全部完整的軟件產(chǎn)品 C.開發(fā)完畢后才見到工作軟件 D.及早提供工作軟件7、軟件需求分析的主要任務(wù)是準(zhǔn)確地定義出要開發(fā)的軟件系統(tǒng)是( C)A.如何做 B.怎么做C.做什么D.對誰做8.若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè)X,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設(shè)計(jì)這組測試用例的方法是(C) A.條件覆蓋法B.等價(jià)分類法 C.邊界值分析法D.錯(cuò)誤推測法9.研究開發(fā)所需要的成本和資源是屬于可行性研究中的研究的一方面。( B )A.技術(shù)可行性B.經(jīng)濟(jì)可行性C.社會(huì)可行性D.法律可行性10.模塊的內(nèi)聚性最高的
30、是( D )A.邏輯內(nèi)聚B.時(shí)間內(nèi)聚C.偶然內(nèi)聚D.功能內(nèi)聚12. ( C )是把對象的屬性和操作結(jié)合在一起,構(gòu)成一個(gè)獨(dú)立的對象,其內(nèi)部信息對外界是隱蔽的,外界只能通過有限的接口與對象發(fā)生聯(lián)系。 A 多態(tài)性 B 繼承 C 封裝 D 消息二、填空題1. 將數(shù)據(jù)流圖映射為程序結(jié)構(gòu)時(shí), 所用映射方法涉及信息流的類型。其信息流分為 變換流 和 事務(wù)流 兩種類型。2為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的_輸出結(jié)果_兩部分組成。3. 軟件由程序、數(shù)據(jù)、文檔 組成。4. 在學(xué)校中,一個(gè)學(xué)生可以選修多門課程,一門課程可以由多個(gè)學(xué)生選修,那么學(xué)生和課程之間是關(guān)聯(lián) 關(guān)系。5. 軟件工程釆用層次化的方法,每
31、個(gè)層次都包括 過程、方法、工具 三要素。6一個(gè)模塊擁有的直屬下級(jí)模塊的個(gè)數(shù)稱為該模塊的扇出 ,一個(gè)模塊的直接上級(jí)模塊的個(gè)數(shù)稱為該模塊的扇入。三、名詞解釋題1內(nèi)聚性:內(nèi)聚性是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量 2軟件危機(jī):是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。 3完善性維護(hù): 這是指為了改善系統(tǒng)功能或應(yīng)用戶的需要而增加新的功能的維護(hù)工作。 4. 數(shù)據(jù)字典:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義集合5. 程序流圖:程序流程又稱為程序框圖,它是歷史最悠久、使用最廣泛的描述過程設(shè)計(jì)的
32、方法,然而它也是用得最混亂的一種方法。6. 驅(qū)動(dòng)程序7. 數(shù)據(jù)耦合:如果兩個(gè)模塊間的通訊信息是若干參數(shù),其中每一個(gè)參數(shù)都是一個(gè)數(shù)據(jù)元素,稱 數(shù)據(jù)耦合 這種耦合為數(shù)據(jù)耦合。這是模塊之間影響最小的耦合關(guān)系。8. 類圖:類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),表示系統(tǒng)中的類以及類與類之間的關(guān)系。9. Alpha測試與Beta測試Alpha測試:是由用戶在開發(fā)者的場所進(jìn)行,并且在開發(fā)者對用戶的“指導(dǎo)”下進(jìn)行的測試。 Beta測試:由軟件的最終用戶在一個(gè)或多個(gè)客戶場所進(jìn)行,開發(fā)者通常不在Beta測試現(xiàn)場。10. 軟件產(chǎn)品四、簡答題1. 黑盒測試旨在測試軟件是否滿足功能要求,它主要診斷哪幾類錯(cuò)誤?不正確或遺漏的功能; 界
33、面錯(cuò)誤; 數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤; 性能錯(cuò)誤; 初始化和終止條件錯(cuò)誤。瀑布模型、增量模型的優(yōu)缺點(diǎn)瀑布模型的優(yōu)點(diǎn):有利于大型軟件開發(fā)過程中人員的組織、管理,有利于軟件開發(fā)方法和工具的研究,從而提高了大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。瀑布模型的缺點(diǎn):(1)開發(fā)過程一般不能逆轉(zhuǎn),否則代價(jià)太大;(2)實(shí)際的項(xiàng)目開發(fā)很難嚴(yán)格按該模型進(jìn)行;(3)客戶往往很難清楚地給出所有的需求,而該模型卻要求如此。(4)軟件的實(shí)際情況必須到項(xiàng)目開發(fā)的后期客戶才能看到,這要求客戶有足夠的耐心。 增量模型的優(yōu)點(diǎn):(1)采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開始不用投入大量人力資源;(2)如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)
34、下一個(gè)增量;(3)可先發(fā)布部分功能給客戶,對客戶起到鎮(zhèn)靜劑的作用。增量模型的缺點(diǎn):(1)并行開發(fā)構(gòu)件有可能遇到不能集成的風(fēng)險(xiǎn),軟件必須具備開放式的體系結(jié)構(gòu);(2)增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。程序流程圖或者盒圖的5種基本結(jié)構(gòu)的畫法程序流程圖的基本控制結(jié)構(gòu)盒圖的基本控制結(jié)構(gòu)4. 簡述過程設(shè)計(jì)語言(PDL)的特點(diǎn)。過程設(shè)計(jì)語言(簡稱PDL),也稱程序描述語言,又稱為偽碼。它是一種用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言.PDL應(yīng)該具有下述特點(diǎn):關(guān)鍵字的固定語法,它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模
35、塊化的特點(diǎn)。為了使結(jié)構(gòu)清晰和可讀性好,通常在所有可能嵌套使用的控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,iffi(或endif)等。自然語言的自由語法,它描述處理特點(diǎn)。數(shù)據(jù)說明的手段。應(yīng)該既包括簡單的數(shù)據(jù)結(jié)構(gòu)(例如純量和數(shù)組),又包括復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(例如,鏈表或?qū)哟蔚臄?shù)據(jù)結(jié)構(gòu))。模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口描述模式。5. 根據(jù)特定的項(xiàng)目,你會(huì)考慮哪些因素來選擇合適的程序設(shè)計(jì)語言。6. (教材P141) 畫出下列偽碼程序的程序流程圖和盒圖STARTIF p THEN WHILE q DO f END DOELSE BLOCK g n END BLOCKEND IFSTOP7. (教材P141)研究下面的PDL語言(過程設(shè)計(jì)語言,也稱偽碼程序):LOOP: Set I to (START + FINISH)/2 If TABLE(I)=ITEM goto FOUND If TABLE(I)ITEM Set FINISH to (I-1) If (FINISH - START) 1 goto LOOP If TABLE(START)=ITEM goto FOUND
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度租賃房屋租賃解除合同2篇
- 2025年消防器材銷售與消防系統(tǒng)升級(jí)及維護(hù)合同3篇
- 二零二五年度國際時(shí)裝周模特簽約合同4篇
- 消費(fèi)金融行業(yè)2024年信用回顧與2025年展望 -新世紀(jì)
- 二零二五版模具行業(yè)市場調(diào)研合同4篇
- 二零二五版電子設(shè)備模具采購合作協(xié)議4篇
- 2025年金融機(jī)構(gòu)外匯借款合同范本及信用評(píng)估體系3篇
- 貧困助學(xué)金感謝信500字(合集3篇)
- 練習(xí)版2025年度影視制作與發(fā)行合同2篇
- pe波紋管 施工方案
- 大學(xué)生國家安全教育意義
- 2024年保育員(初級(jí))培訓(xùn)計(jì)劃和教學(xué)大綱-(目錄版)
- 河北省石家莊市2023-2024學(xué)年高二上學(xué)期期末考試 語文 Word版含答案
- 企業(yè)正確認(rèn)識(shí)和運(yùn)用矩陣式管理
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 陳閱增普通生物學(xué)全部課件
- 檢驗(yàn)科主任就職演講稿范文
- 人防工程主體監(jiān)理質(zhì)量評(píng)估報(bào)告
- 20225GRedCap通信技術(shù)白皮書
- 燃?xì)庥邢薰究蛻舴?wù)規(guī)范制度
- 延遲交稿申請英文
評(píng)論
0/150
提交評(píng)論