軟件工程總復(fù)習(xí)(徐東升)_第1頁(yè)
軟件工程總復(fù)習(xí)(徐東升)_第2頁(yè)
軟件工程總復(fù)習(xí)(徐東升)_第3頁(yè)
軟件工程總復(fù)習(xí)(徐東升)_第4頁(yè)
軟件工程總復(fù)習(xí)(徐東升)_第5頁(yè)
已閱讀5頁(yè),還剩112頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、單選題(20個(gè)小題,每小題1.5分,共30分)二、填空題(5個(gè)小題,每小題2分,共10分)三、判斷題(10個(gè)小題,每小題1分,共10分)四、名詞解釋題(5個(gè)小題,每小題3分,共15分)五、簡(jiǎn)答題(3個(gè)小題,每小題5分,共15分)六、綜合應(yīng)用題(3個(gè)小題,第1小題6分,第2小題8分,第3小題6分,共20分)考試題型軟件工程課程的內(nèi)容軟件工程學(xué)概述結(jié)構(gòu)化方法學(xué)(生命周期方法學(xué))面向?qū)ο蠓椒▽W(xué)軟件項(xiàng)目管理可行性研究需求分析形式化說(shuō)明技術(shù)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)軟件實(shí)現(xiàn)軟件維護(hù)面向?qū)ο蠓椒▽W(xué)引論面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)面向?qū)ο髮?shí)現(xiàn)

總復(fù)習(xí)第1章軟件工程學(xué)概述學(xué)習(xí)內(nèi)容與重點(diǎn):1.1軟件的概念及其特征(掌握概念,特征要了解)1.2軟件危機(jī)(軟件危機(jī)的概念掌握,典型表現(xiàn)、產(chǎn)生原因消除危機(jī)途徑等要了解)1.3軟件工程(軟件工程的概念要掌握,本質(zhì)特性、原理等要理解,方法學(xué)的概念[也稱(chēng)范型]、包含的要素要記憶,傳統(tǒng)方法學(xué)與面向?qū)ο蠓椒▽W(xué)的要點(diǎn)要理解,并能分析出各自的優(yōu)缺點(diǎn))。1.4軟件生命周期(掌握軟件生命周期的概念、三個(gè)時(shí)期八個(gè)階段的劃分和任務(wù))1.5軟件過(guò)程:又稱(chēng)軟件開(kāi)發(fā)模式,概念要掌握,另外重點(diǎn)掌握幾個(gè)典型的生命周期模型的特點(diǎn)及基本思想,如瀑布模型、快速原型模型、增量模型、螺旋模型,其它常用的幾個(gè)模型的特點(diǎn)要了解,如噴泉模型、RUP統(tǒng)一過(guò)程、XP過(guò)程)。第一章:習(xí)題(凡是要掌握和記憶的概念、原理都可能以填空、名詞解釋或簡(jiǎn)答題的形式進(jìn)行考核,凡是理解的知識(shí)點(diǎn)可能以判斷、選擇的形式進(jìn)行考核,凡是重點(diǎn)掌握的可能以綜合應(yīng)用形式進(jìn)行考核,凡是了解的知識(shí)點(diǎn)很可能不是考查的重點(diǎn),直接考核的概率不大)1-4簡(jiǎn)述結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c(diǎn),并分析它們的優(yōu)缺點(diǎn)。1-6什么是軟件過(guò)程?它與軟件工程方法學(xué)有何關(guān)系?答:軟件過(guò)程是為了開(kāi)發(fā)出高質(zhì)量的軟件產(chǎn)品所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過(guò)程定義了運(yùn)用技術(shù)方法的順序、應(yīng)交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,以及標(biāo)志完成了相應(yīng)開(kāi)發(fā)活動(dòng)的里程碑。軟件過(guò)程是軟件工程方法學(xué)的3個(gè)重要組成(方法、工具與過(guò)程)部分之一。1-7什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說(shuō)明每種模型的適用范圍。第2章可行性研究2.1可行性研究的任務(wù)(可行性研究的目的、任務(wù)或者說(shuō)是內(nèi)容必須要掌握)2.2可行性研究過(guò)程(了解,知道可行性報(bào)告的主要內(nèi)容:系統(tǒng)概述、可行性分析、限制、費(fèi)用、擬定開(kāi)發(fā)計(jì)劃、結(jié)論意見(jiàn))2.3系統(tǒng)流程圖(了解,描述物理系統(tǒng)的工具,基本符號(hào)、系統(tǒng)符號(hào)能看懂)2.4數(shù)據(jù)流圖(功能模型,是本章的重點(diǎn)與難點(diǎn),數(shù)據(jù)流圖的概念、4種基本成分、用途要理解,能根據(jù)系統(tǒng)基本描述畫(huà)出項(xiàng)層、0層、1層數(shù)據(jù)流圖,必然有一個(gè)綜合應(yīng)用題)2.5數(shù)據(jù)字典(重點(diǎn)掌握數(shù)據(jù)字典的概念、包含內(nèi)容及定義數(shù)據(jù)的方法)2.6成本/效益分析(理解貨幣的時(shí)間價(jià)值的概念,會(huì)分析計(jì)算投資回收期、純收入、投資回收率)

2.4數(shù)據(jù)流圖(描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)的邏輯過(guò)程)2.4.1符號(hào)

或或或數(shù)據(jù)源點(diǎn)或終點(diǎn)變換數(shù)據(jù)的處理數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流圖2.4基本符號(hào)的含義數(shù)據(jù)源點(diǎn)/終點(diǎn):通常是人或部門(mén),可重復(fù)表示;處理:一個(gè)處理框可以代表一系列程序、單個(gè)程序或程序的一個(gè)模塊;數(shù)據(jù)存儲(chǔ):可以表示一個(gè)文件、文件的一部分、數(shù)據(jù)庫(kù)的元素或記錄的一部分等,數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù);把一個(gè)數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)用一個(gè)數(shù)據(jù)去修改數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)從數(shù)據(jù)存儲(chǔ)中讀出一個(gè)數(shù)據(jù)從數(shù)據(jù)存儲(chǔ)中檢索出一批數(shù)據(jù)數(shù)據(jù)流:描繪所有可能的數(shù)據(jù)流向,而不應(yīng)該描繪出現(xiàn)某個(gè)數(shù)據(jù)流的條件,數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù)。通常為單據(jù)或報(bào)表。源點(diǎn):倉(cāng)庫(kù)管理員終點(diǎn):采購(gòu)員處理:產(chǎn)生報(bào)表、處理事務(wù)數(shù)據(jù)流:定貨報(bào)表事務(wù)零件編號(hào)零件名稱(chēng)定貨數(shù)量目前價(jià)格主要供應(yīng)者次要供應(yīng)者零件編號(hào)事務(wù)類(lèi)型數(shù)量數(shù)據(jù)存儲(chǔ):定貨信息——同定貨報(bào)表庫(kù)存清單零件編號(hào)庫(kù)存量庫(kù)存量臨界值第一步:從問(wèn)題描述中提取數(shù)據(jù)流圖的4種成分:源點(diǎn)或終點(diǎn),處理,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流;數(shù)據(jù)流圖的繪制步驟及舉例第二步:繪畫(huà)最高抽象層次的數(shù)據(jù)流圖——基本系統(tǒng)模型由若干個(gè)數(shù)據(jù)源點(diǎn)/終點(diǎn)和一個(gè)處理組成。定貨系統(tǒng)的基本系統(tǒng)模型第三步:細(xì)化基本系統(tǒng)模型,繪畫(huà)(主要)功能級(jí)數(shù)據(jù)流圖定貨系統(tǒng)的功能級(jí)數(shù)據(jù)流圖第4步:

對(duì)系統(tǒng)主要功能進(jìn)一步細(xì)化把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖細(xì)化時(shí)注意:1、當(dāng)進(jìn)一步分解涉及如何具體的實(shí)現(xiàn)一個(gè)功能時(shí)就不應(yīng)該再分解了。2、對(duì)數(shù)據(jù)流圖分層細(xì)化時(shí),不管加工如何變換,一定要保證分解前后的輸入流與輸出流必須相同。

3、對(duì)處理進(jìn)行編號(hào)的方法是:處理1分解為三個(gè)下層處理時(shí),下層處理的編號(hào)是1.1、1.2和1.3,處理2分解為三個(gè)下層處理時(shí),下層處理的編號(hào)是2.1、2.2和2.3。同理,如果處理1.2再分解為兩個(gè)下層處理時(shí),下層處理的編號(hào)是1.2.1和1.2.2。5、將必要的存儲(chǔ)與加工(處理)相匹配;6、在畫(huà)數(shù)據(jù)流圖時(shí)應(yīng)避免線條交叉,必要時(shí)可使用重復(fù)的外部項(xiàng)(源點(diǎn)或終點(diǎn))或數(shù)據(jù)存儲(chǔ)符號(hào);7、用“自頂向下”的方法,逐層畫(huà)出數(shù)據(jù)流圖。每張數(shù)據(jù)流圖吵加工(處理)的個(gè)數(shù)不能超過(guò)7個(gè)(7加減2原則);儲(chǔ)蓄系統(tǒng)數(shù)據(jù)流圖典型作業(yè)題:數(shù)據(jù)流圖的繪制方法患者監(jiān)護(hù)系統(tǒng)的功能級(jí)數(shù)據(jù)流圖第3章需求分析

3.1需求分析的任務(wù)(了解)

3.2與用戶(hù)溝通獲取需求的方法(了解)

3.3分析建模與規(guī)格說(shuō)明(掌握模型的概念,知道需求分析要建立功能模型、數(shù)據(jù)模型、行為模型這三種模型)

3.4實(shí)體-聯(lián)系圖(很重要,但不是本門(mén)課考查重點(diǎn),需要掌握實(shí)體-聯(lián)系圖的基本概念、聯(lián)系的類(lèi)型、會(huì)畫(huà)簡(jiǎn)單系統(tǒng)的E-R圖)

3.5數(shù)據(jù)規(guī)范化(了解)

3.6狀態(tài)轉(zhuǎn)換圖(了解)

3.7其他圖形工具(層次方框圖、Warnier圖、IPO圖的概念,知道這些工具的作用是什么)

3.8驗(yàn)證軟件需求(了解)實(shí)體、數(shù)據(jù)對(duì)象關(guān)系或聯(lián)系屬性連接圖3.1實(shí)體關(guān)系圖圖符數(shù)據(jù)模型:圖3.2某校教學(xué)管理ER圖儲(chǔ)戶(hù)存取款電話(huà)號(hào)碼儲(chǔ)蓄所身份證號(hào)碼地址電話(huà)號(hào)碼名稱(chēng)住址姓名到期日期密碼數(shù)額類(lèi)型利率圖2.3計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的實(shí)體-聯(lián)系圖MN狀態(tài)圖中使用的主要符號(hào)狀態(tài)轉(zhuǎn)換圖:建立系統(tǒng)的行為模型,描繪系統(tǒng)的狀態(tài)或引起狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。圖3.5層次方框圖的一個(gè)例子幾種工具圖3.6Warnier圖的一個(gè)例子與層次方框圖一樣,是描述數(shù)據(jù)結(jié)構(gòu)的工具圖3.7IPO圖的一個(gè)例子圖圖3.8改進(jìn)的IPO圖的形式習(xí)題:3-6復(fù)印機(jī)狀態(tài)閑置復(fù)印Do/復(fù)印卡紙Do/報(bào)警缺紙Do/報(bào)警復(fù)印命令完成復(fù)印命令發(fā)生卡紙故障發(fā)現(xiàn)缺紙排除卡紙故障裝好紙第5章總體設(shè)計(jì)本章主要講述內(nèi)容1設(shè)計(jì)過(guò)程:掌握總體設(shè)計(jì)的目的、任務(wù)及總體設(shè)計(jì)的階段組成,了解設(shè)計(jì)過(guò)程的步驟2設(shè)計(jì)原理:重點(diǎn)掌握模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨(dú)立性這幾條設(shè)計(jì)原理的基本概念和重要思想。模塊獨(dú)立性度量標(biāo)準(zhǔn):內(nèi)聚和耦合的概念要掌握,能判斷六種耦合的強(qiáng)弱及類(lèi)型,耦合從弱到強(qiáng)依次為非直接耦合、數(shù)據(jù)耦合、控制耦合、特征耦合(又稱(chēng)外部耦合)、公共耦合、內(nèi)容耦合;能判斷七種內(nèi)聚的高低及類(lèi)型,內(nèi)聚從低到高依次是偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過(guò)程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。3啟發(fā)規(guī)則:理解模塊規(guī)模應(yīng)該適中,深度、寬度、扇出和扇入都應(yīng)適當(dāng),模塊的作用域應(yīng)該在控制域之內(nèi)這幾條規(guī)則。4描繪軟件結(jié)構(gòu)的圖形工具:層次圖和HIPO圖、結(jié)構(gòu)圖,掌握層次圖與圖層方框圖的區(qū)別,了解結(jié)構(gòu)圖是進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)的一個(gè)有力工具)5面向數(shù)據(jù)流的設(shè)計(jì)方法:必須熟練掌握變換分析與事務(wù)分析的方法。會(huì)對(duì)一個(gè)簡(jiǎn)單的數(shù)據(jù)流圖經(jīng)變換分析與事務(wù)分析后映射為相應(yīng)的軟件結(jié)構(gòu)圖5.3正文加工系統(tǒng)的層次圖設(shè)計(jì)工具:層次圖,獲得軟件層次結(jié)構(gòu)圖5.4帶編號(hào)的層次圖(H圖)設(shè)計(jì)工具:帶編號(hào)層次圖圖5.5結(jié)構(gòu)圖的例子——產(chǎn)生最佳解的一般結(jié)構(gòu)設(shè)計(jì)工具:結(jié)構(gòu)圖,設(shè)計(jì)軟件結(jié)構(gòu)的工具5.5.1概念面向數(shù)據(jù)流的設(shè)計(jì)方法把數(shù)據(jù)流映射成軟件結(jié)構(gòu),數(shù)據(jù)流的類(lèi)型決定了映射的方法。數(shù)據(jù)流有兩種類(lèi)型:變換流事務(wù)流5.5面向數(shù)據(jù)流的設(shè)計(jì)方法一、變換流

具有較明確的輸入、變換(或稱(chēng)主加工)和輸出界面的數(shù)據(jù)流圖稱(chēng)為變換型數(shù)據(jù)流圖。如圖所示,該變換中心可以理解為數(shù)據(jù)的加工和處理程序。

讀入原始數(shù)據(jù)校驗(yàn)原始數(shù)據(jù)計(jì)算最優(yōu)結(jié)果編輯打印最優(yōu)結(jié)果輸入變換中心輸出

事務(wù)型數(shù)據(jù)流圖中存在一個(gè)事務(wù)中心(也就是數(shù)據(jù)處理、加工中心),它將輸入分離成若干個(gè)發(fā)散的數(shù)據(jù)流,形成許多活動(dòng)路徑,并根據(jù)輸入值選擇其中一條路徑。處理T稱(chēng)為事務(wù)中心,它完成下述任務(wù):接收輸入數(shù)據(jù);分析每個(gè)事務(wù)以確定它的類(lèi)型;根據(jù)事務(wù)類(lèi)型選取一條活動(dòng)通路要求類(lèi)別處理分房處理調(diào)房處理退房處理住房要求事務(wù)中心活動(dòng)路徑二、事務(wù)流設(shè)計(jì)步驟:(1)復(fù)查基本系統(tǒng)模型確保系統(tǒng)的輸入數(shù)據(jù)和輸出數(shù)據(jù)符合實(shí)際。(2)復(fù)查并精化數(shù)據(jù)流圖對(duì)需求分析階段得出的數(shù)據(jù)流圖認(rèn)真復(fù)查,并且在必要時(shí)進(jìn)行精化。不僅要確保數(shù)據(jù)流圖給出了目標(biāo)系統(tǒng)的正確的邏輯模型,而且應(yīng)該使數(shù)據(jù)流圖中每個(gè)處理都代表一個(gè)規(guī)模適中相對(duì)獨(dú)立的子功能。5.5.2變換分析把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。(3)確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性一個(gè)系統(tǒng)中的所有信息流都可以認(rèn)為是變換流,但是,當(dāng)遇到有明顯事務(wù)特性的信息流時(shí),建議采用事務(wù)分析方法進(jìn)行設(shè)計(jì)。確定數(shù)據(jù)流的全局特性和局部特性。(4)確定輸入流和輸出流的邊界,從而孤立出變換中心輸入流和輸出流的邊界和對(duì)它們的解釋有關(guān),不同設(shè)計(jì)人員可能會(huì)在流內(nèi)選取稍微不同的點(diǎn)作為邊界的位置。(5)完成“第一級(jí)分解”。位于軟件結(jié)構(gòu)最頂層的控制模塊Cm協(xié)調(diào)下述從屬的控制功能:輸入信息處理控制模塊Ca,協(xié)調(diào)對(duì)所有輸入數(shù)據(jù)的接收;變換中心控制模塊Ct,管理對(duì)內(nèi)部形式的數(shù)據(jù)的所有操作;輸出信息處理控制模塊Ce,協(xié)調(diào)輸出信息的產(chǎn)生過(guò)程。第一級(jí)分解方法(6)完成“第二級(jí)分解”處理映射成軟件結(jié)構(gòu)中一個(gè)適當(dāng)?shù)哪K。完成第二級(jí)分解的方法是:從變換中心的邊界開(kāi)始沿著輸入通路向外移動(dòng),把輸入通路中每個(gè)處理映射成軟件結(jié)構(gòu)中Ca控制下的一個(gè)低層模塊;然后沿輸出通路向外移動(dòng),把輸出通路中每個(gè)處理映射成直接或間接受模塊Ce控制的一個(gè)低層模塊;最后把變換中心內(nèi)的每個(gè)處理映射成受Ct控制的一個(gè)模塊。第二級(jí)分解方法(7)運(yùn)用模塊設(shè)計(jì)和優(yōu)化準(zhǔn)則對(duì)第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化為了產(chǎn)生合理的分解,得到盡可能高的內(nèi)聚、盡可能松散的耦合,為了得到一個(gè)易于實(shí)現(xiàn)、易于測(cè)試和易于維護(hù)的軟件結(jié)構(gòu),應(yīng)該對(duì)初步分割得到的模塊進(jìn)行再分解或合并。5.5.3事務(wù)分析雖然在任何情況下都可以使用變換分析方法設(shè)計(jì)軟件結(jié)構(gòu),但是在數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)時(shí),也就是有一個(gè)明顯的“發(fā)射中心”(事務(wù)中心)時(shí),還是以采用事務(wù)分析方法為宜。

事務(wù)設(shè)計(jì)步驟和變換設(shè)計(jì)步驟大部分相同或類(lèi)似,主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同:由事務(wù)流映射成的軟件結(jié)構(gòu)包括一個(gè)接收分支和一個(gè)發(fā)送分支;映射出接收分支結(jié)構(gòu)的方法和變換分析映射出輸入結(jié)構(gòu)的方法很相像,即從事務(wù)中心的邊界開(kāi)始,把沿著接收流通路的處理映射成模塊;發(fā)送分支的結(jié)構(gòu)包含一個(gè)調(diào)度模塊,它控制下層的所有活動(dòng)模塊;然后把數(shù)據(jù)流圖中的每個(gè)活動(dòng)流通路映射成與它的流特征相對(duì)應(yīng)的結(jié)構(gòu)。

通常,一個(gè)實(shí)際系統(tǒng)的數(shù)據(jù)流圖是變換型和事務(wù)型兩種類(lèi)型的混合體。如圖所示,中間的子塊屬事務(wù)型數(shù)據(jù)流,如果把中間子塊視為一個(gè)處理整體的話(huà),整個(gè)程序?qū)僮儞Q型程序。

A(事務(wù)型,A為事務(wù)中心)變換中心輸入輸出混合型數(shù)據(jù)流圖總結(jié):一般說(shuō)來(lái),如果數(shù)據(jù)流不具有顯著的事務(wù)特點(diǎn),最好使用變換分析;反之,如果具有明顯的事務(wù)中心,則應(yīng)該采用事務(wù)分析技術(shù)。機(jī)械地遵循變換分析或事務(wù)分析的映射規(guī)則,可能會(huì)得到一些不必要的控制模塊,如果它們確實(shí)用處不大,那么可以而且應(yīng)該把它們合并。如果一個(gè)控制模塊功能過(guò)分復(fù)雜,則應(yīng)該分解為兩個(gè)或多個(gè)控制模塊,或者增加中間層次的控制模塊。第六章詳細(xì)設(shè)計(jì)6.1結(jié)構(gòu)程序設(shè)計(jì):結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義:如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱(chēng)這個(gè)程序是結(jié)構(gòu)化的。)6.2人機(jī)界面設(shè)計(jì)(了解)6.3過(guò)程設(shè)計(jì)的工具(重點(diǎn)掌握的內(nèi)容:程序流程圖幾種基本控制結(jié)構(gòu)的畫(huà)法,能讀懂程給出程序流程圖表示的算法;掌握盒圖的基本符號(hào),會(huì)用盒圖設(shè)計(jì)一個(gè)程序的算法;掌握PAD圖的基本符號(hào),會(huì)用PAD圖設(shè)計(jì)一個(gè)程序的算法;

會(huì)用判定表與判定樹(shù)表示含有多重嵌套條件的多分支選擇結(jié)構(gòu)的算法;會(huì)使用PDL語(yǔ)言描述N-S圖或PAD圖表示的程序的算法)非結(jié)構(gòu)化程序的結(jié)構(gòu)化處理(復(fù)合判定技術(shù)、重復(fù)元素技術(shù)、標(biāo)志技術(shù))6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法(了解,JACKSON方法)6.5程序復(fù)雜程度的定量度量(重點(diǎn)掌握McCabe方法的映射規(guī)則,能把一個(gè)程序流程圖或PDL語(yǔ)言描述的算法映射為程序流圖,掌握在程序流圖的基礎(chǔ)上定量度量程序復(fù)雜度的三種方法:計(jì)算區(qū)域數(shù);V(G)=E-N+2;V(G)=P+1,其中P是判定結(jié)點(diǎn)數(shù)目。了解Halstead方法)6.4過(guò)程設(shè)計(jì)的工具工具學(xué)習(xí)要點(diǎn):規(guī)定的圖符組織結(jié)構(gòu)和控制條件結(jié)構(gòu)1程序流程圖;2盒圖(N-S圖);PAD圖;判定表;判定樹(shù);PDL(過(guò)程設(shè)計(jì)語(yǔ)言)。6.13種基本的控制結(jié)構(gòu)圖6.2其他常用的控制結(jié)構(gòu)舉例:輸入10個(gè)數(shù),找出其中最大的與最小的數(shù)圖6.5PAD圖的基本符號(hào)(a)順序(P1→P2);(b)選擇(IFCTHENP1ELSEP2);(c)多分支;(d)WHILE型循環(huán);(e)UNTIL型循環(huán);(f)語(yǔ)句標(biāo)號(hào);(g)定義(細(xì)化過(guò)程)圖6.6使用PAD圖提供的定義功能來(lái)逐步求精的例子表6-1用判定表表示計(jì)算行李費(fèi)的算法國(guó)內(nèi)乘客TTTTFFFF頭等艙TFTFTFTF殘疾乘客FFTTFFTT行李重量W<=30KGTFFFFFFFF免費(fèi)X(W-30)X2X(W-30)X3X(W-30)X4XX(W-30)X6XX(W-30)X8X(W-30)X12X圖6.7用判定樹(shù)表示計(jì)算行李費(fèi)的算法定量度量程序復(fù)雜度:McCabe方法1.流圖流圖(程序圖):流圖實(shí)質(zhì)上是“壓縮簡(jiǎn)化了的”程序流程圖,它僅僅描繪程序的控制流程,而對(duì)數(shù)據(jù)的具體操作以及分支、循環(huán)的具體條件不進(jìn)行描述。流圖的組成:流圖由結(jié)點(diǎn)和邊組成。在流圖中用圓表示結(jié)點(diǎn),一個(gè)圓(結(jié)點(diǎn))代表一條或多條語(yǔ)句,一般把程序流程圖中一組順序相鄰的處理框和其后相鄰的一個(gè)菱形判定框映射成流圖中的一個(gè)結(jié)點(diǎn)。流圖中的箭頭線稱(chēng)為邊,它和程序流程圖中的箭頭線類(lèi)似,代表控制流。一個(gè)邊必須終止一個(gè)結(jié)點(diǎn),即使結(jié)點(diǎn)為空語(yǔ)句(如ENDDO、ENDIF等)。圖6.15程序流程圖映射為流圖圖6.16由PDL翻譯成的流圖圖6.17由包含復(fù)合條件的PDL映射成的流圖計(jì)算環(huán)形復(fù)雜度的方法(1)流圖G的環(huán)形復(fù)雜度V(G)=流圖G的所圍成的區(qū)域數(shù)。(2)流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中:E是流圖中邊數(shù),N是結(jié)點(diǎn)數(shù)。(3)流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中:P是流圖中判定(帶有兩個(gè)分叉)結(jié)點(diǎn)的數(shù)目。習(xí)題6-1假設(shè)只有SEQUENCE和DO-WHILE兩種控制結(jié)構(gòu),怎樣利用它們完成IF-THEN-ELSE操作?STARTFlag=TRUEPANDFlagAFlag=FALSE

Flag=TRUEBFlag=FALSEENDTFTF習(xí)題6-2假設(shè)只有SEQUENCE和IF-THEN-ELSE兩種控制結(jié)構(gòu),怎樣利用它們完成DO-WHILE操作?P131,第3題畫(huà)出下列偽碼程序的程序流程圖和盒圖。STARTIFPTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP答:⑴從該偽碼程序轉(zhuǎn)變成的程序流程圖,注意DOWHILE與DOUNTIL結(jié)構(gòu)的嚴(yán)格區(qū)別⑵由該偽碼轉(zhuǎn)變成的盒圖。注意DOWHILE與DOUNTIL結(jié)構(gòu)的嚴(yán)格區(qū)別FTgnqf6-4下圖給出的程序流程圖代表一個(gè)非結(jié)構(gòu)化的程序,請(qǐng)問(wèn):(1)為什么說(shuō)它是非結(jié)構(gòu)化的?(2)設(shè)計(jì)一個(gè)等價(jià)的結(jié)構(gòu)化程序。(3)在(2)題的設(shè)計(jì)中你使用附加的標(biāo)志變量flag了嗎?若沒(méi)用,請(qǐng)?jiān)僭O(shè)計(jì)一個(gè)使用flag的程序;若用了,再設(shè)計(jì)一個(gè)不用flag的程序。答:⑴通常所說(shuō)的結(jié)構(gòu)化程序,是按照狹義的結(jié)構(gòu)程序的定義衡量,符合定義規(guī)定的程序。圖中所示的程序的循環(huán)控制結(jié)構(gòu)有兩個(gè)出口,顯然不符合狹義的結(jié)構(gòu)程序的定義,因此是非結(jié)構(gòu)化的程序。⑵使用附加的標(biāo)志變量flag,至少有兩種方法可以把該程序改造為等價(jià)的結(jié)構(gòu)化程序,圖4-1所示盒圖描述了P條件的DOWHILE循環(huán),圖4-2所示描繪了q條件的DOUNTIL循環(huán)等價(jià)的結(jié)構(gòu)化程序,請(qǐng)注意兩種循環(huán)的控制條件。Flag=TRUEPANDflaggqFTFlag=FALSEFlag=TRUEgqFTFlag=FALSE(NOTq)OR(NOTflag)圖4-1圖4-2P131,第六題用Ashcroft-Manna技術(shù)可以將非結(jié)構(gòu)化的程序轉(zhuǎn)換為結(jié)構(gòu)化程序,圖6.19是一個(gè)轉(zhuǎn)換的例子。⑴你能否從這個(gè)例子總結(jié)出Ashcroft-Manna技術(shù)的一些基本方法?⑵進(jìn)一步簡(jiǎn)化圖1(b)給出的結(jié)構(gòu)化設(shè)計(jì)。圖1答:⑴從這個(gè)例子中看出,Ashcroft-Manna技術(shù)的基本方法是,當(dāng)待改造的程序含有嵌套的非結(jié)構(gòu)化的IF語(yǔ)句時(shí),改造后的程序中增加DO-CASE語(yǔ)句和DO-UNTIL語(yǔ)句,并增加一個(gè)輔助變量I,I的初始值為1。最外層的IF語(yǔ)句在I=1時(shí)執(zhí)行,執(zhí)行完這個(gè)IF語(yǔ)句后把I賦值為隨后應(yīng)該執(zhí)行的內(nèi)層IF語(yǔ)句所對(duì)應(yīng)的CASE標(biāo)號(hào)值。DO-CASE語(yǔ)句的最大分支數(shù)(可執(zhí)行的最大標(biāo)號(hào)值)等于IF語(yǔ)句的個(gè)數(shù)。當(dāng)執(zhí)行完最內(nèi)層的IF語(yǔ)句之后,把I賦值為可執(zhí)行的最大標(biāo)號(hào)值加1,而DO-UNTIL循環(huán)的結(jié)束條件就是I等于這個(gè)值。⑵與圖1(b)等價(jià)的,進(jìn)一步簡(jiǎn)化后的結(jié)構(gòu)化后的結(jié)構(gòu)化程序的流程圖見(jiàn)黑板。STARTAcBeDETFT

dCDFTFEND第7章實(shí)現(xiàn)1、程序設(shè)計(jì)語(yǔ)言的分類(lèi)(機(jī)器、匯編、高級(jí)、第四代語(yǔ)言)2、了解程序設(shè)計(jì)語(yǔ)言的選擇和編碼風(fēng)格(掌握編碼的概念)3、掌握軟件測(cè)試的概念及目標(biāo),了解軟件測(cè)試的準(zhǔn)則4、掌握兩種軟件測(cè)試方法的概念:黑盒測(cè)試、白盒測(cè)試。了解軟件測(cè)試的步驟和測(cè)試階段的信息流。5、掌握調(diào)試的概念,了解調(diào)試的過(guò)程和調(diào)試的途徑。6、掌握軟件可靠性、可用性的概念,掌握術(shù)語(yǔ)錯(cuò)誤和故障的含義。7、掌握估算MTTF的方法,會(huì)利用Shooman(舒曼)模型進(jìn)行相關(guān)參數(shù)的計(jì)算,并能建立MTTF與測(cè)試時(shí)間τ之間的函數(shù)關(guān)系。8、掌握植入錯(cuò)誤法與分別測(cè)試法估算錯(cuò)誤總數(shù)的方法。1.符號(hào)估算MTTF時(shí)使用到下列符號(hào)ET——測(cè)試之前程序中故障總數(shù);IT——程序長(zhǎng)度(機(jī)器指令總數(shù));τ——測(cè)試(包括調(diào)試)時(shí)間;Ed(τ)——在0至τ期間發(fā)現(xiàn)的錯(cuò)誤數(shù);

Ec(τ)——在0至τ期間改正的錯(cuò)誤數(shù);7.9.2估算平均無(wú)故障時(shí)間MTTF的方法3.估算平均無(wú)故障時(shí)間MTTF

因?yàn)槠骄鶡o(wú)故障時(shí)間與單位長(zhǎng)度程序中剩余的故障數(shù)εr(τ)成反比,所以:其中:K為常數(shù),它的值根據(jù)經(jīng)驗(yàn)選取,經(jīng)典值是200。由上式變換后得到程序中改正的錯(cuò)誤數(shù):根據(jù)對(duì)軟件平均無(wú)故障時(shí)間的要求,可以估計(jì)需要改正多少個(gè)錯(cuò)誤后,測(cè)試工作就可以結(jié)束。估算平均無(wú)故障時(shí)間的公式,可以評(píng)價(jià)軟件測(cè)試的進(jìn)展情況。假設(shè)人為地植入的錯(cuò)誤數(shù)為Ns,經(jīng)過(guò)一段時(shí)間的測(cè)試之后發(fā)現(xiàn)ns個(gè)植入的錯(cuò)誤,此外還發(fā)現(xiàn)了n個(gè)原有的錯(cuò)誤。如果可以認(rèn)為測(cè)試方案發(fā)現(xiàn)植入錯(cuò)誤和發(fā)現(xiàn)原有錯(cuò)誤的能力相同,則能夠估計(jì)出程序中原有錯(cuò)誤的總數(shù)為

=n/ns×Ns

Ns

n

ns其中:是故障總數(shù)ET的估計(jì)值;

如果認(rèn)為測(cè)試員甲發(fā)現(xiàn)的故障是有標(biāo)記的,即程序中有標(biāo)記的故障總數(shù)為B1,那么測(cè)試員乙發(fā)現(xiàn)的B2個(gè)故障中有bc個(gè)是有標(biāo)記的。所以可以估計(jì)出測(cè)試前程序中的故障總數(shù)為:其中,是故障總數(shù)ET的估計(jì)值。每隔一定時(shí)間,分析員分析兩名測(cè)試員的測(cè)試結(jié)果,來(lái)估計(jì)錯(cuò)誤總數(shù)。幾次估計(jì)結(jié)果差不多時(shí),用其平均值作為錯(cuò)誤總數(shù)的估計(jì)值。(3)集成測(cè)試結(jié)束時(shí),總共改正了多少個(gè)錯(cuò)誤?還有多少錯(cuò)誤潛伏在程序中?由Shooman公式可知:MTTF=IT/(K*(ET-EC(t)))聯(lián)立方程得

10=10000/(K*(ET-15))

15=10000/(K*(ET-25))解得K=33.33ET=45100=10000/(33.33*(45-EC))解得EC=42故當(dāng)MTTF要達(dá)到100小時(shí),在集成測(cè)試時(shí)必須總共改正42個(gè)錯(cuò)誤,尚有3個(gè)錯(cuò)誤潛伏在程序中。第8章維護(hù)1、掌握軟件維護(hù)的定義、分類(lèi),對(duì)每一種維護(hù)的概念都要清楚(改正、適應(yīng)、完善、預(yù)防)2、清楚軟件工程的主要目的:1)提高軟件的可維護(hù)性;2)減少軟件維護(hù)所需要的工作量,降低軟件系統(tǒng)的總成本。3、了解軟件維護(hù)的特點(diǎn):1)結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)差別很大;2)維護(hù)的代價(jià)高昂(維護(hù)代價(jià)分有形代價(jià)、無(wú)形代價(jià)與生產(chǎn)率代價(jià));3)維護(hù)的問(wèn)題很多。4、了解軟件維護(hù)的過(guò)程。5、掌握可維護(hù)性定義,知道決定軟件可維護(hù)性的主要因素:1)可理解性;2)可測(cè)試性;3)可修改性;4)可移植性;5)可重用性6、了解可維護(hù)性復(fù)審和預(yù)防性維護(hù)。7、掌握軟件再工程過(guò)程模型所定義的6類(lèi)活動(dòng),掌握逆向工程、正向工程的概念。第13章軟件項(xiàng)目管理1、了解估算軟件規(guī)模的技術(shù):1)代碼行技術(shù);2)功能點(diǎn)技術(shù)。并能說(shuō)出兩種估算計(jì)術(shù)的優(yōu)缺點(diǎn)。2、了解工作量估算的幾種常用技術(shù):1)靜態(tài)單變量模型;2)動(dòng)態(tài)多變量模型;3)COCOMO2模型。3、制訂進(jìn)度計(jì)劃是本章重點(diǎn),涉及如下幾項(xiàng)技術(shù):1)了解估算開(kāi)發(fā)時(shí)間的模型;2)了解Gantt圖繪制;3)掌握用工程網(wǎng)絡(luò)圖求出關(guān)鍵路徑的方法(計(jì)算EET、LET、機(jī)動(dòng)時(shí)間)4、能說(shuō)出民主制程序員組、主程序員組、現(xiàn)代程序員組三種人員組織方式的優(yōu)缺點(diǎn)。5、掌握軟件質(zhì)量的概念,了解影響軟件質(zhì)量的因素,掌握軟件質(zhì)量保證措施:基于非執(zhí)行的測(cè)試(復(fù)審或評(píng)審,具體方法有走查和審查);基于執(zhí)行的測(cè)試(軟件測(cè)試);程序正確性證明。6、掌握軟件配置管理、軟件配置項(xiàng)、基線的概念,了解軟件配置過(guò)程。7、掌握能力成熟度模型的基本思想,了解CMM定義能力成熟度的5個(gè)等級(jí)(從低到高依次為初始級(jí)(1級(jí))、可重復(fù)級(jí)(2級(jí))、已定義級(jí)(3級(jí))、已管理級(jí)(4級(jí))和優(yōu)化級(jí)(5級(jí))。例題:假設(shè)一項(xiàng)工程分解成9個(gè)子任務(wù),根據(jù)下表給出的信息,畫(huà)出工程網(wǎng)絡(luò)圖,計(jì)算每個(gè)事件的最早時(shí)刻和最遲時(shí)刻,找出關(guān)鍵路徑。子任務(wù)標(biāo)識(shí)完成任務(wù)時(shí)間依賴(lài)關(guān)系a8b10c8a,bd9ae5bf3c,dg2dh4f,gi3e,f期中考試試題解析一、單項(xiàng)選擇題(每小題1.5分,共30分)()1.“軟件危機(jī)”產(chǎn)生的主要原因是

A.軟件日益龐大B.開(kāi)發(fā)方法不當(dāng)C.開(kāi)發(fā)人員編寫(xiě)程序能力差D.沒(méi)有維護(hù)好軟件()2.軟件工程學(xué)的一個(gè)重要目標(biāo)是

。A.提高程序的執(zhí)行效率B.降低程序?qū)Υ鎯?chǔ)空間的要求C.提高軟件的可理解性D.提高軟件的可維護(hù)性()3.編寫(xiě)程序的工作量通常占用軟件開(kāi)發(fā)總工作量的

。A.80%B.60%

C.40%D.20%()4.?dāng)?shù)據(jù)字典是對(duì)數(shù)據(jù)定義信息的集合,它所定義的對(duì)象都包含于

A.?dāng)?shù)據(jù)流圖B.程序框圖

C.軟件結(jié)構(gòu)D.方框圖()5.可行性分析是在系統(tǒng)開(kāi)發(fā)的早期所做的一項(xiàng)重要的開(kāi)發(fā)的決策依據(jù),因此必須給出

的回答。

A.確定B.行或不行

C.正確D.無(wú)二義ADDAB()6.需求分析階段最重要的技術(shù)文檔之一是

。A.項(xiàng)目開(kāi)發(fā)計(jì)劃B.設(shè)計(jì)說(shuō)明書(shū)C.需求規(guī)格說(shuō)明書(shū)D.可行性分析報(bào)告()7.為了提高模塊的獨(dú)立性,模塊內(nèi)部最好是_____。A.邏輯內(nèi)聚B.時(shí)間內(nèi)聚C.功能內(nèi)聚D.通信內(nèi)聚()8.需求分析階段的任務(wù)是確定

__。

A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具

C.軟件開(kāi)發(fā)費(fèi)D.軟件系統(tǒng)的功能()9.一個(gè)成功的測(cè)試可以

_。

A.表明程序沒(méi)有錯(cuò)誤B.發(fā)現(xiàn)所有錯(cuò)誤

C.提高軟件可靠性D.發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯(cuò)誤()10.

_是軟件生存期中的一系列相關(guān)軟件工程活動(dòng)的集合,它由軟件規(guī)格說(shuō)明、軟件設(shè)計(jì)與開(kāi)發(fā)、軟件確認(rèn)、軟件改進(jìn)等活動(dòng)組成。A軟件過(guò)程B軟件工具C質(zhì)量保證D軟件工程CDCDA()11.軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的

A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口

C.功能D.編程()12.程序的三種基本控制結(jié)構(gòu)是_____。

A.過(guò)程、子程序積分程序B.順序、選擇和重復(fù)

C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移()13.軟件測(cè)試方法中,黑盒測(cè)試方法和白盒測(cè)試方法是常用的方法,其中黑盒測(cè)試方法主要用于測(cè)試

__。

A.結(jié)構(gòu)合理性B.軟件外部功能C.程序正確性D.程序內(nèi)部邏輯()14.在軟件開(kāi)發(fā)和維護(hù)的過(guò)程中,為了定量地評(píng)價(jià)軟件質(zhì)量,必須對(duì)軟件特性進(jìn)行

____。

A.測(cè)試B.度量C.評(píng)審D.維護(hù)()15、在各種不同的軟件需求中,功能需求描述了用戶(hù)使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說(shuō)明,

是從各個(gè)角度對(duì)系統(tǒng)的約束和限制,反映了應(yīng)用對(duì)軟件系統(tǒng)質(zhì)量和特性的額外要求。A業(yè)務(wù)需求B功能要求C非功能需求D用戶(hù)需求BABBC()16.快速原型模型的主要特點(diǎn)之一是______。

A.開(kāi)發(fā)完畢才見(jiàn)到產(chǎn)品

B.及早提供全部完整的軟件產(chǎn)品C.開(kāi)發(fā)完畢后才見(jiàn)到工作軟件

D.及早提供工作軟件()17.因計(jì)算機(jī)硬件和軟件環(huán)境的變化而做出的修改軟件的過(guò)程稱(chēng)為_(kāi)___。

A.校正性維護(hù)

B.適應(yīng)性維護(hù)C.完善性維護(hù)

D.預(yù)防性維護(hù)()18.如果某種內(nèi)聚要求一個(gè)模塊中包含的任務(wù)必須在同一段時(shí)間內(nèi)執(zhí)行,則這種內(nèi)聚為

_。A.時(shí)間內(nèi)聚B.邏輯內(nèi)聚C.通信內(nèi)聚D.信息內(nèi)聚()19.為高質(zhì)量地開(kāi)發(fā)軟件項(xiàng)目,在軟件結(jié)構(gòu)設(shè)計(jì)時(shí),必須遵循

原則。A.信息隱蔽

B.質(zhì)量控制C.程序優(yōu)化

D.?dāng)?shù)據(jù)共享()20.

DFD中的每個(gè)加工至少需要

_。

A.

一個(gè)輸入流B.

一個(gè)輸出流C.

一個(gè)輸入或輸出流D.

一個(gè)輸入流和一個(gè)輸出流

DBAAD二、填空題(每小題2分,共10分)1.軟件由程序、

、

組成。2、軟件的定義階段包括:

、

、需求分析。3.總體設(shè)計(jì)過(guò)程通常有兩個(gè)主要階段組成:

階段和

階段。4.將數(shù)據(jù)流圖映射為程序結(jié)構(gòu)時(shí),所用映射方法涉及信息流的類(lèi)型。其信息流分為

____

____

兩種類(lèi)型。5.在學(xué)校中,一個(gè)學(xué)生可以選修多門(mén)課程,一門(mén)課程可以由多個(gè)學(xué)生選修,那么學(xué)生和課程之間是

__關(guān)系。數(shù)據(jù)文檔問(wèn)題定義可行性研究系統(tǒng)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)變換流事務(wù)流多對(duì)多關(guān)聯(lián)三、判斷題(每小題1分,共10分)1.軟件開(kāi)發(fā)小組人數(shù)越多越好。()2.軟件測(cè)試的目的是為了證明一個(gè)軟件的設(shè)計(jì)沒(méi)有錯(cuò)誤,只有沒(méi)有任何錯(cuò)誤的軟件才能使用。()3.在可行性研究中最難決斷和最關(guān)鍵的問(wèn)題是技術(shù)可行性。()4.軟件測(cè)試中,應(yīng)該盡量窮盡所有的數(shù)據(jù),以便保證測(cè)試的質(zhì)量。()5.對(duì)象是屬性和相關(guān)操作的封裝。()6.設(shè)計(jì)階段的輸出是編碼階段的輸入。()7.流程圖用三個(gè)基本的控制構(gòu)件分支、循環(huán)、重復(fù)來(lái)表示。()8.改造程序結(jié)構(gòu),要降低藕合度,提高內(nèi)聚度。()9.計(jì)算機(jī)軟件由文檔和數(shù)據(jù)組成。()10.軟件開(kāi)發(fā)采用了軟件工程之后,就不會(huì)發(fā)生軟件危機(jī)了。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論