天津?qū)I?012軟件工程導(dǎo)論_第1頁(yè)
天津?qū)I?012軟件工程導(dǎo)論_第2頁(yè)
天津?qū)I?012軟件工程導(dǎo)論_第3頁(yè)
天津?qū)I?012軟件工程導(dǎo)論_第4頁(yè)
天津?qū)I?012軟件工程導(dǎo)論_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、天津?qū)I?012軟件工程導(dǎo)論軟件工程導(dǎo)論第1章軟件工程學(xué)概述 -1第2章可行性研究-4第3章需求分析-11第4章總體設(shè)計(jì)-17第5章詳細(xì)設(shè)計(jì)-22第6章實(shí)現(xiàn)-32第7章軟件測(cè)試-34第8章軟件維護(hù)-40第1章軟件工程學(xué)概述1、軟件的定義軟件=程序+數(shù)據(jù)結(jié)構(gòu)+文檔:(1)完成特定功能的程序;(2)適合程 序處理的數(shù)據(jù)結(jié)構(gòu);(3)描述程序功能、如何操作和使用的相關(guān)文檔。2、什么是軟件危機(jī)?它的典型表現(xiàn)有哪些?產(chǎn)生它的原因是什么?軟件危機(jī):在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán) 重問題。典型表現(xiàn):(1)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)極不準(zhǔn)確;(2)軟件產(chǎn)品質(zhì)量較差,可靠性低;(3)用戶對(duì)開發(fā)出

2、來的軟件產(chǎn)品不滿意;(4)開發(fā)出來的軟件幾乎是不可維護(hù)的;(5)軟件產(chǎn)品缺少應(yīng)有的文檔資料;(6)軟件產(chǎn)品的供不應(yīng)求??陀^原因(軟件的特征):(1)軟件是開發(fā)的,而不是制造的;軟 件不磨損,但退化;自定義特性使其不同于其他的硬件產(chǎn)品的標(biāo)準(zhǔn) 化,軟件都規(guī)模龐大,而程序的復(fù)雜性是隨其規(guī)模的擴(kuò)大呈指數(shù)增加。主觀原因:對(duì)用戶要求沒有完整和準(zhǔn)確的認(rèn)識(shí)就匆忙編寫程 序;對(duì)軟件的開發(fā)過程的認(rèn)識(shí)不準(zhǔn)確; 對(duì)軟件質(zhì)量的重視不夠是 造成軟件開發(fā)成本激增的主要原因;輕視軟件維護(hù)將是一個(gè)重大的 錯(cuò)誤。3、什么是軟件工程?它的本質(zhì)特征有哪些?軟件工程:采用工程的概念、原理、技術(shù)和方法,并結(jié)合正確的 管理技術(shù)和能夠得到的

3、最先進(jìn)的技術(shù)方法, 經(jīng)濟(jì)有效地開發(fā)和維護(hù)軟 件的一門新興工程學(xué)科。本質(zhì)特征:一般更關(guān)注于大型軟件系統(tǒng)的開發(fā); 其中心任務(wù) 是控制整個(gè)軟件系統(tǒng)的復(fù)雜性;提高軟件開發(fā)的效率;加強(qiáng)人員 和技術(shù)的管理;更好地滿足用戶的需求。4、簡(jiǎn)述軟件工程的基本原理。(分別在每個(gè)要點(diǎn)后補(bǔ)充說明)用分階段的生命周期計(jì)劃嚴(yán)格管理; 堅(jiān)持進(jìn)行階段評(píng)審; 實(shí)行嚴(yán)格的產(chǎn)品控制;采用現(xiàn)代設(shè)計(jì)技術(shù);結(jié)果應(yīng)能清楚地審查; 開發(fā)小組的成員應(yīng)該少而精;承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要 性。5、軟件工程方法學(xué):主要包含 3個(gè)要素,方法、工具和過程; 應(yīng)用最廣泛的有傳統(tǒng)方法學(xué);面向?qū)ο蠓椒▽W(xué)。6、什么是軟件生命周期?它分為哪三個(gè)階段,每個(gè)階段

4、又包含哪幾 個(gè)時(shí)期?軟件生命周期:一個(gè)軟件從定義、開發(fā)、使用和維護(hù),直至最終 被廢棄,需要經(jīng)歷的漫長(zhǎng)時(shí)期。軟件定義問題定義:明確軟件系統(tǒng)需要解決的問題是什么。 確定問題的 性質(zhì);軟件目標(biāo)和規(guī)模;形成書面報(bào)告??尚行匝芯浚捍_定軟件系統(tǒng)是否值得去解。高層次的系統(tǒng)分析 和設(shè)計(jì);估算系統(tǒng)的成本和效益;產(chǎn)生文檔可行性研究報(bào)告 。需求分析:解決這些問題需要系統(tǒng)做什么。 與用戶交流;生成 系統(tǒng)邏輯模型;產(chǎn)生文檔軟件需求規(guī)格說明書。軟件開發(fā)總體設(shè)計(jì)(概要設(shè)計(jì)):應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)。設(shè)計(jì)出實(shí)現(xiàn)目 標(biāo)系統(tǒng)的方案;設(shè)計(jì)軟件結(jié)構(gòu),確定模塊及之間關(guān)系。詳細(xì)設(shè)計(jì)(模塊設(shè)計(jì)):如何具體地實(shí)現(xiàn)這個(gè)系統(tǒng)。詳細(xì)的設(shè)計(jì) 每個(gè)模塊

5、的算法和數(shù)據(jù)結(jié)構(gòu)。編碼和單元測(cè)試:寫代碼,測(cè)試每個(gè)模塊。選取程序設(shè)計(jì)語(yǔ)言; 寫出容易理解和維護(hù)的程序模塊;對(duì)每一個(gè)模塊進(jìn)行嚴(yán)格的測(cè)試)。綜合測(cè)試:通過各類測(cè)試和調(diào)試來完善軟件。集成測(cè)試+驗(yàn)收測(cè)試(用戶參加);保存測(cè)試計(jì)劃、測(cè)試方案和測(cè)試結(jié)果。運(yùn)行維護(hù)軟件維護(hù):通過各種必須的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的 需要。維護(hù)活動(dòng)有:改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)。7、軟件生命周期的模型瀑布模型(線性模型之一)特點(diǎn):(1)各階段之間有依賴性和嚴(yán)格的順序性;(2)推遲實(shí)現(xiàn) 典型特點(diǎn);(3)嚴(yán)格的階段質(zhì)保;(4)文檔驅(qū)動(dòng)。問題:(1)實(shí)際的項(xiàng)目很少順序嚴(yán)格;(2)用戶往往難以給出具體、正確、完

6、整的要求;(3)開發(fā)人員阻塞狀態(tài)”嚴(yán)重(快速)原型模型特點(diǎn):(1)出品速度快;(2)逐步求精;(3)開發(fā)階段迭代。問題:(1)實(shí)現(xiàn)過程中不應(yīng)有的折衷方案;(2)開發(fā)者急于完成 原型而忽略了整體設(shè)計(jì)和可維護(hù)性;(3)用戶的參與過多也造成了軟 件開發(fā)管理的混亂。適用范圍:結(jié)構(gòu)和算法不復(fù)雜的系統(tǒng)增量模型(漸增模型)特點(diǎn):(1)結(jié)合了線性模型和原型模型的特點(diǎn);(2)每個(gè)增量可 以結(jié)合原型法;(3)系統(tǒng)的問世提前 增量1”問題:開放的軟件體系結(jié)構(gòu);中心思想:漸進(jìn)開發(fā),逐步完善;噴泉模型:典型的面向?qū)ο蟮能浖^程模型之一,“噴泉”較好地體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。第2章可行性研究1、為什么

7、要進(jìn)行可行性研究?目標(biāo):用最小的代價(jià)和盡可能短的時(shí)間判斷問題是否值得去解? ”實(shí)質(zhì):高層次的系統(tǒng)分析和設(shè)計(jì)主要任務(wù):(1)分析和澄清問題定義;(2)導(dǎo)出系統(tǒng)的邏輯模型;(3)探索各種解法并研究每種解法的可行性;(4)制定粗略的進(jìn)度、 建議和計(jì)劃。2、研究軟件工程項(xiàng)目的可行性要從哪幾個(gè)方面著手?技術(shù)可行性;經(jīng)濟(jì)可行性;操作可行性;社會(huì)可行性3、簡(jiǎn)述軟件工程的可行性研究的步驟?(1)復(fù)查系統(tǒng)規(guī)模與目標(biāo):訪問關(guān)鍵人員,復(fù)查確認(rèn)系統(tǒng)規(guī)模 和目標(biāo);清晰描述對(duì)目標(biāo)系統(tǒng)的一切限制和約束。(2)研究目前正在使用的系統(tǒng):了解現(xiàn)有系統(tǒng),實(shí)地考察;注 意現(xiàn)有系統(tǒng)與目標(biāo)系統(tǒng)之間的接口 (功能);運(yùn)行費(fèi)用。(3)導(dǎo)出新

8、系統(tǒng)的高層邏輯模型:從現(xiàn)有的物理系統(tǒng)出發(fā)導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型。(4)導(dǎo)出與評(píng)價(jià)各種方案:(邏輯模型 一一物理解法)評(píng)估 解決方案的可行性;給出實(shí)現(xiàn)進(jìn)度表。(5)推薦行動(dòng)方針:作為結(jié)果之一 是否繼續(xù)開發(fā)? 對(duì)推薦的 系統(tǒng)詳細(xì)的成本/效益分析。(6)草擬初步的開發(fā)計(jì)劃:制定工程進(jìn)度表;開發(fā)人員需求; 設(shè)備與軟件的需求(使用情況說明);估計(jì)軟件生命周期每個(gè)階段的 成本;給出下一個(gè)階段的進(jìn)度表/成本估計(jì)。(7)編寫可行性研究報(bào)告并提交審查4、可行性研究的工具(什么是數(shù)據(jù)流圖、由哪幾部分組成、含義是什么?)(1)系統(tǒng)流程圖:用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè) 部件(程序、文檔、數(shù)據(jù)庫(kù)、人工過程)

9、。注:系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控制過程(程序流程圖)(2)數(shù)據(jù)流程圖:數(shù)據(jù)流圖(Data FloW Diagram)是一種用圖形符 號(hào)表示數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程, 即數(shù)據(jù)流圖描繪數(shù)據(jù)在 軟件中流動(dòng)和被處理的邏輯過程。源點(diǎn)/終點(diǎn)(名詞):表示圖中要處理數(shù)據(jù)的輸入來源或處理結(jié) 果要送往何處。它是數(shù)據(jù)流圖的外圍環(huán)境中的實(shí)體。力口工/變換(動(dòng)賓結(jié)構(gòu)):使用橢圓或圓角矩形表示。它是以數(shù) 據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對(duì)象的,是對(duì)數(shù)據(jù)進(jìn)行處理的單 元,是對(duì)數(shù)據(jù)流進(jìn)行某些操作或變換。數(shù)據(jù)存儲(chǔ)(名詞):和數(shù)據(jù)流一樣都是數(shù)據(jù),僅僅所處的狀態(tài) 不同。數(shù)據(jù)存儲(chǔ)

10、是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動(dòng)中 的數(shù)據(jù)。數(shù)據(jù)流(名詞):沿箭頭方向傳送數(shù)據(jù),指明被加工的數(shù)據(jù)與 流向。(3)熟記DFD的檢查和修改原則及設(shè)計(jì)它的注意事項(xiàng) (p16-17)5、成本/效益分析可用哪些指標(biāo)進(jìn)行度量?成本估計(jì):從經(jīng)濟(jì)角度評(píng)價(jià)開發(fā)一個(gè)新的軟件工程項(xiàng)目是否可 行代碼行技術(shù):軟件成本=每行代碼的平均成本×源代碼行數(shù)任務(wù)分解技術(shù):軟件開發(fā)成本=任務(wù)1的成本+任務(wù)2的成本+自動(dòng)估計(jì)成本技術(shù):使用軟件工具效益分析:有形效益和無形效益。有形效益用貨幣時(shí)間價(jià)值、 投資回收期、純收入等指標(biāo)進(jìn)行度量。無形的效益主要是從性質(zhì)上、心理上進(jìn)行衡量,很難直接進(jìn)行量化。貨幣的時(shí)間價(jià)值(F=P(

11、1+i)n )將 / n年P(guān)=F(1+i) n年It現(xiàn)在投支回收期:累積的經(jīng)濟(jì)效益(現(xiàn)在值)最初的投資所需的時(shí)間純收入=(軟件在整個(gè)生存期之內(nèi)系統(tǒng)的)總累積經(jīng)濟(jì)效益(現(xiàn) 在值)-最初投資6、在企業(yè)管理中使用制圖系統(tǒng)來取代大部分人工工作,每年可節(jié)省 2000元。若軟件生存期5年,則5年可節(jié)省1萬(wàn)元。開發(fā)這個(gè)系統(tǒng) 共投資6000元。設(shè)年利率是6% ,利用上面計(jì)算貨幣現(xiàn)在價(jià)值的公 式,可以算出引入制圖系統(tǒng)后,每年預(yù)計(jì)節(jié)省的錢的現(xiàn)在價(jià)值。如下 表所示,試計(jì)算投資回收期和純收入。年將來值(萬(wàn)元)(1+i)n現(xiàn)在值(萬(wàn)元)累積的現(xiàn)在值(萬(wàn)元)10.21.060.18870.188720.21.12360.

12、17800.366730.21.19100.16790.534640.21.26250.15840.693050.21.33820.14950.8425解:由表中數(shù)據(jù)得第三年的經(jīng)濟(jì)效益為0.5346萬(wàn)元,還差 0.6-0.5346=0.0654萬(wàn)元,則還需 0.0654/0.1584=0.4129年,所以投資回收期為3.4129年;純收入為0.8425-0.6=2425元7、p19第8題頂層數(shù)據(jù)流圖:職工L二竄二T管理系”報(bào)表一財(cái)務(wù)處一級(jí) DFD:-45 -P20第9題:頂層DFD :存款單存單儲(chǔ)戶儲(chǔ)戶銀行儲(chǔ)蓄系統(tǒng)取款單利息清單Data FloW Diagram:儲(chǔ)戶PI密碼儲(chǔ)蓄利率P2核算密

13、碼業(yè)務(wù)員取款單存款佶息二記錄存款信息V打印利息清單P2 打卬存單利息 利息'P4 十算利息It單1 F儲(chǔ)戶利IJ取款信息.1r P6、設(shè)逝利率;P20第10題頂層DFD :文件管理員修改信息最終DFD :文件管修改信息理員主文件修改系統(tǒng)修改報(bào)告文件管理員1接收修改 信息D1修改信息修卄信息2345讀主文件主文件校核記錄正確的片修改原始產(chǎn)生報(bào)告修改文件管LJJJ記錄記錄IJ1 J報(bào)告理員1 r修改后的主文件修改 信息主 文 件的D2 主文件D3 修改后的主文件Entiy-Relation 圖:第3章需求分析P301、需求分析階段的基本任務(wù)是什么?怎樣理解此階段的任務(wù)是“做 什么”而不是“

14、怎么做”?任務(wù):完整、準(zhǔn)確、清晰、具體地確定系統(tǒng)所要完成的工作。(1)確定對(duì)系統(tǒng)的綜合要求;(2)分析系統(tǒng)的數(shù)據(jù)要求;(3)建立軟件的邏輯模型;(4)編寫軟件需求規(guī)格說明書;(5)需求分析評(píng)審:驗(yàn)證一致性、完整性、現(xiàn)實(shí)性、有效性。2、需求獲取的方法分為幾類,并說出各種方法的特點(diǎn)?、訪談:最原始的獲取用戶需求的技術(shù),時(shí)間長(zhǎng)、片面性;、問卷調(diào)查:通常與用戶訪談組合使用,片面性、面廣;、觀察用戶工作流程:需要對(duì)復(fù)雜流程加深了解或?qū)﹃P(guān)鍵人物 理解不清楚時(shí)使用,耗時(shí)長(zhǎng);、建立聯(lián)合分析小組:由軟件開發(fā)方和客戶方共同組成;、快速原型法:需要多次修改。3、什么是結(jié)構(gòu)化分析方法?該方法使用什么工具描述?結(jié)構(gòu)化分

15、析技術(shù)是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求獲取 的方法,適合于大型數(shù)據(jù)處理類型系統(tǒng)的需求分析。實(shí)體-聯(lián)系圖E-R、數(shù)據(jù)流圖DFD、數(shù)據(jù)字典DD ,描述加工邏輯的結(jié)構(gòu)化語(yǔ)言、判定表和判定樹等。4、什么是E-R圖,由哪幾部分組成,含義各是什么?ER圖,是一種面向問題的數(shù)據(jù)模型,是按照用戶觀點(diǎn)對(duì)數(shù)據(jù)建 立的模型。 實(shí)體:對(duì)軟件必須理解的復(fù)合信息的抽象; 屬性:數(shù)據(jù)對(duì)象的性質(zhì); 聯(lián)系:數(shù)據(jù)對(duì)象彼此之間相互連接的方式,一對(duì)一 1:1、一對(duì)多1: N、多對(duì)多M : N。5、什么是數(shù)據(jù)字典DD ,作用是什么,有哪些條目?DD對(duì)數(shù)據(jù)流圖加以補(bǔ)充說明,是關(guān)于數(shù)據(jù)的信息的集合?;竟δ埽ㄗ饔茫?定義數(shù)據(jù)。復(fù)雜數(shù)據(jù)

16、元素的組成方式:順序;選擇;重復(fù);可選。內(nèi)容:定義DFD中每一個(gè)被命名的圖形元素包含名字及別名、數(shù)據(jù)描述、數(shù)據(jù)定義、數(shù)據(jù)位置、補(bǔ)充說明等。DD:購(gòu)書單=學(xué)生信息+教材信息學(xué)生信息=學(xué)號(hào)+姓名+專業(yè)+年級(jí)教材信息=教材名稱+訂購(gòu)數(shù)量7、DFD如下:DI 庫(kù) 庫(kù) <>倉(cāng)悔1i-TAId按收陽(yáng)務(wù)更新用存清單J處理定貨定貨Zk定貨信£1D2疋貨佶息嚴(yán)主 報(bào)農(nóng)逹貨信息DD:事務(wù)=入庫(kù)零件I出庫(kù)零件到貨報(bào)表=零件信息+供應(yīng)商零件信息=零件編號(hào)+零件名稱+訂貨數(shù)量+目前價(jià)格 供應(yīng)商=主要供應(yīng)商|次要供應(yīng)商8 DFD如下:房產(chǎn)科住戶申請(qǐng)請(qǐng)表住戶詢住房統(tǒng)豐計(jì)表檢查其合法性合法申請(qǐng)表申請(qǐng)表住

17、 戶 信 息二級(jí) DFD:4處理咨詢分退房要求1處理分房3處理 調(diào)房住戶信息文件調(diào)房要求2處理退房退房單分房單單住戶分房分房文件分房要求1.1住戶分?jǐn)?shù)*J.2住戶分?jǐn)?shù)13、校核情況1.4、分房1.5 Sl分房單計(jì)算住 戶分?jǐn)?shù).分?jǐn)?shù) 排序住校核住 戶情況分配L住房J打印 分房單I戶分?jǐn)?shù)信息kIf息住 戶 信 息空 房 信住 房 標(biāo) 準(zhǔn)住房標(biāo)準(zhǔn)文件住戶信息文件退房、調(diào)房類似于分房房租文件分房文件住房標(biāo)準(zhǔn)文件DD條目:列舉“住戶申請(qǐng)表”、其他類似名字:住戶申請(qǐng)表別名:申請(qǐng)表定義:住戶申請(qǐng)表=分房申請(qǐng)表| 退房申請(qǐng)表|調(diào)房申請(qǐng)表分房申請(qǐng)表=申請(qǐng)者信息+分房要10、DFD :報(bào)名者報(bào)名表校核 報(bào)名表扌編

18、制 準(zhǔn)考證C. J岀 輸證 考 準(zhǔn)報(bào)名者開考課程考生信息開考課程考生名冊(cè)DD條目名字:報(bào)名表別名:報(bào)名單定義:報(bào)名表=報(bào)名者信息+課程名11、DD條目:服務(wù)電話=分機(jī)號(hào)碼I外線號(hào)碼分機(jī)號(hào)碼=8201.8299外線號(hào)碼=0+市話號(hào)碼長(zhǎng)號(hào)碼長(zhǎng)號(hào)碼=區(qū)號(hào)+市話號(hào)碼區(qū)號(hào)=000.300 市話號(hào)碼=局號(hào)+分局號(hào)局號(hào)=455325999分局號(hào)=4數(shù)字字符412、見第二章第10題13、DD條目:用戶標(biāo)示符=字母字符+字母數(shù)字串字母數(shù)字串=0字母字符I數(shù)字字符714、見教材P32.第4章總體設(shè)計(jì)1、總體設(shè)計(jì)的主要目的和任務(wù)是什么 ?目的:概括地說,系統(tǒng)應(yīng)該如何實(shí)現(xiàn);結(jié)構(gòu)設(shè)計(jì)任務(wù):系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的具體實(shí)

19、現(xiàn)方案;階段,確定系統(tǒng)的軟件結(jié)構(gòu)2、什么是結(jié)構(gòu)化設(shè)計(jì),通常把結(jié)構(gòu)化設(shè)計(jì)分為哪兩個(gè)階段?SD,面向(基于)數(shù)據(jù)流的設(shè)計(jì)方法;分為系統(tǒng)設(shè)計(jì)階段和結(jié)構(gòu)設(shè) 計(jì)階段。3、軟件結(jié)構(gòu)設(shè)計(jì)原理(名詞解釋)模塊:由邊界元素限定的相鄰程序元素的序列 ,而且由一個(gè)總體標(biāo) 識(shí)符代表它。模塊化:解決一個(gè)復(fù)雜的問題時(shí),自頂向下逐層把軟件系統(tǒng)劃分 成若干個(gè)能完成特定子功能的模塊的過程。抽象:抽出事物本質(zhì)特性而不考慮細(xì)節(jié)(具體一 抽象一 具體); 逐步求精:為了能集中精力解決主要問題而盡量推遲考慮問題的細(xì) 節(jié)。信息隱藏:設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息對(duì)于不 需要這些信息的模塊來說,是不能訪問的。局部化:把一些關(guān)系

20、密切的軟件元素物理地放得彼此靠近;優(yōu)點(diǎn):防止錯(cuò)誤的擴(kuò)大與傳播。模塊獨(dú)立性:每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的特定子功能, 并且和其 他模塊之間的聯(lián)系最少切接口簡(jiǎn)單。I、耦合:一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊間的相互聯(lián)系緊密程度(耦合強(qiáng)弱取決于接口的復(fù)雜程度、調(diào)用方式及傳遞的信息 )。耦合度由低到高: 無直接耦合:模塊間沒有直接聯(lián)系,不傳遞任何信息; 數(shù)據(jù)耦合:模塊間有調(diào)用關(guān)系,傳遞簡(jiǎn)單數(shù)據(jù)值; 控制耦合:模塊間調(diào)用時(shí)傳遞的是控制變量; 特征耦合:模塊間調(diào)用時(shí)傳遞的是某些特征數(shù)據(jù); 公共耦合:模塊間通過一個(gè)公共數(shù)據(jù)環(huán)境相互作用; 內(nèi)容耦合:模塊間調(diào)用時(shí)直接使用模塊的內(nèi)部數(shù)據(jù)或經(jīng)非正常 人口轉(zhuǎn)入另一個(gè)模塊。H、內(nèi)聚

21、:模塊內(nèi)各元素彼此結(jié)合的緊密程度。內(nèi)聚度由低中高依次為: 偶然內(nèi)聚:元素間沒有任何聯(lián)系; 邏輯內(nèi)聚:模塊內(nèi)執(zhí)行幾個(gè)邏輯相似的功能,通過參數(shù)確定執(zhí) 行哪一個(gè)模塊(選擇結(jié)構(gòu)); 時(shí)間內(nèi)聚:把需要同時(shí)執(zhí)行的動(dòng)作組合在一起; 過程內(nèi)聚:模塊內(nèi)部的處理是相關(guān)的且以特定的次序執(zhí)行; 通信內(nèi)聚:所處理的元素在同一數(shù)據(jù)結(jié)構(gòu)上,或使用相同的輸 入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù); 順序內(nèi)聚:所處理的元素密切相關(guān)于同一功能且順序執(zhí)行; 功能內(nèi)聚:所有數(shù)據(jù)元素共同完成一個(gè)功能,缺一不可。皿、力爭(zhēng)做到高內(nèi)聚低耦合,兩者矛盾時(shí)內(nèi)聚更重要應(yīng)予以更多重視。4、試比較軟件結(jié)構(gòu)圖與層次圖的異同同:都是描繪軟件結(jié)構(gòu)的圖形工具,圖中的一

22、個(gè)矩形框代表一個(gè) 模塊,框間連線表示調(diào)用關(guān)系;異:層次圖適于在自頂向下設(shè)計(jì)軟件的過程中使用; 結(jié)構(gòu)圖中還 有帶注釋的箭頭表示模塊間的信息傳遞,還包括助記符號(hào)(菱形表選 擇調(diào)用、弧形箭頭表循環(huán)調(diào)用)。5、什么是HlPo圖?H (帶編號(hào)的層次)圖+每個(gè)模塊的IPO圖(與每個(gè)方框?qū)?yīng)有一 張IPO圖來描繪這個(gè)模塊的處理工程)6、模塊獨(dú)立性準(zhǔn)則、軟件結(jié)構(gòu)形態(tài)特征準(zhǔn)則分別是什么?模塊獨(dú)立性準(zhǔn)則:通過模塊分解(獨(dú)立成一個(gè)子功能模塊)或合 并(功能相關(guān)模塊),力求做到低耦合高內(nèi)聚,保持模塊相對(duì)獨(dú)立性。模塊的控制域包含作用域:通過上移判斷點(diǎn)、下移受判斷影響 的模塊加以改進(jìn)。軟件結(jié)構(gòu)的形態(tài)特征準(zhǔn)則:深度、寬度適

23、當(dāng);扇入數(shù)大比 較好;不能把功能無關(guān)的元素湊在一起形成超級(jí)模塊; 頂扇出數(shù) 高,中扇出數(shù)較低,底扇入數(shù)高。模塊大小準(zhǔn)則:50-150條語(yǔ)句左右,1-2頁(yè)紙。模塊的接口準(zhǔn)則:設(shè)計(jì)簡(jiǎn)單、功能可預(yù)測(cè)、劃分適當(dāng)。7、數(shù)據(jù)流圖轉(zhuǎn)換成軟件結(jié)構(gòu)圖:(DFD)sc:Get f2Get f4f2f4主模塊f9 f11f2Get flGet f3將 f2、f4變換成f9、f11PUt f9PUt f11f9f11f10f9f11f10PUt f10f12PUt f128第11題DFD如下:人事處基本工資出勤率廠接收基本"Y4»工資和岀勤率V - J基本工資計(jì)算扣除額)扣除額軟件結(jié)構(gòu)圖SD如下:

24、出勤率獎(jiǎng)計(jì)算獎(jiǎng)金職工紙質(zhì)工資表計(jì)算工資總額工資總額A計(jì)算稅金稅工資詳細(xì)信息工資詳細(xì)信息生成工資表丿工資表Z打印工資表V J第5章詳細(xì)設(shè)計(jì)1、詳細(xì)設(shè)計(jì)的目的和主要任務(wù)?(P66第1題)為軟件結(jié)構(gòu)圖(SC圖或HC圖)中的每一個(gè)模塊確定采用的算法和 塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具給出清晰的描述.設(shè)計(jì)出程序的“藍(lán)圖”,編寫軟件的“詳細(xì)設(shè)計(jì)說明書”.2、詳細(xì)設(shè)計(jì)的工具有哪些,簡(jiǎn)要介紹?程序流程圖:對(duì)控制流程的描繪很直觀;不能逐步求精,可理 解性差;可隨意轉(zhuǎn)移控制,違背結(jié)構(gòu)程序設(shè)計(jì)的原則。盒圖/N-S圖/CHAPIN圖:不能任意轉(zhuǎn)移控制;功能域(特定控制結(jié)構(gòu)的作用域)明確;很容易確定局部和全程數(shù)據(jù)的作

25、用 域;適合結(jié)構(gòu)化程序設(shè)計(jì)方法,對(duì)于非結(jié)構(gòu)化程序無法表示。PAD圖:使用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這 種圖翻譯成程序代碼比較容易;所描繪程序結(jié)構(gòu)清晰、易讀、易懂、 易記;支持自頂向下、逐步求精方法的使用。PDL (過程設(shè)計(jì)語(yǔ)言):用于描述功能模塊的算法設(shè)計(jì)和加 工細(xì)節(jié)的語(yǔ)言,稱為設(shè)計(jì)程序用語(yǔ)言,它是一種偽碼,不能被編譯; 方便書寫和編輯,描述復(fù)雜條件組合時(shí)也不如判定表方便。判定表和判定樹:確定條件;每個(gè)條件取值;畫出初步 判定表;簡(jiǎn)化后的判定表。判定樹適合于描述加工中具有多個(gè)策略, 而且每個(gè)策略和若干條件有關(guān)的邏輯功能; 數(shù)據(jù)元素重復(fù)書寫,分枝 的次序可能影響最終判定樹的簡(jiǎn)介程度。

26、3、結(jié)構(gòu)化程序設(shè)計(jì)的基本原則?在詳細(xì)設(shè)計(jì)中所有模塊都使用單入口、單出口的順序、選擇、循 環(huán)三種基本控制結(jié)構(gòu).4、 比較面向數(shù)據(jù)流和面向數(shù)據(jù)結(jié)構(gòu)兩類設(shè)計(jì)方法的異同?(第8題) 同:(1) 遵守結(jié)構(gòu)程序設(shè)計(jì)“由頂向下”逐步細(xì)化的原則 ,并以其為共同的基礎(chǔ);(2) 均服從“程序結(jié)構(gòu)必須適應(yīng)問題結(jié)構(gòu)”的基 本原則,各自擁有從問題結(jié)構(gòu)(包括數(shù)據(jù)結(jié)構(gòu))導(dǎo)出程序結(jié)構(gòu)的一組映 射規(guī)則。異:(1) 面向數(shù)據(jù)流的設(shè)計(jì)以數(shù)據(jù)流圖為基礎(chǔ),在分析階段用DFD表示軟件的邏輯模型,在設(shè)計(jì)階段按數(shù)據(jù)流類型,將數(shù)據(jù)流圖轉(zhuǎn) 換為軟件結(jié)構(gòu)。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ), 從問題的數(shù) 據(jù)結(jié)構(gòu)出發(fā)導(dǎo)出它的程序結(jié)構(gòu);(2) 面向數(shù)

27、據(jù)流的設(shè)計(jì)的最終目標(biāo) 是軟件的最終SC圖,面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)的最終目標(biāo)是程序的過程性描述。5、JaCkSOn方法分為哪幾個(gè)步驟來完成設(shè)計(jì)?x1Un til Lx>0 Z2siyidefz1z>0z2y>0s2y2(第10題)Jackson圖如下:(第11題)N-S圖K: X2 /123Do while x3CdePAD 圖:defgNh(第12題)判定表:判定條件可能取值表:條件名稱取值符號(hào)取值數(shù)性別男M2女F職工年齡<25 歲A325 40 歲B40 50 歲C文化程度初中J3高中S大學(xué)U計(jì)算組合數(shù):2*3*3=18判定表:1、102、11OOCD, LCOL457、

28、16&171314性 別-MMM-FF職工年AAABBCCBB齡文化JSUJSJSJS程度學(xué) 習(xí)電 工鉗工車工技 術(shù) 員協(xié) 管 員(4)PSeudoCode 如下:If 年齡=25 thenif文化程度=初中then脫產(chǎn)學(xué)習(xí)endifif文化程度=高中then 電工en difen difif 25 年齡=40 the nif文化程度=中學(xué)thenif性別=男the n鉗工else車工en difen difif文化程度=大學(xué)then技術(shù)員en difen difif 40 年齡=50 the nif文化程度=中學(xué)then交通協(xié)管員endifif文化程度=大學(xué)then技術(shù)員endif

29、en dif(第13題)判定表如下: (1)判定條件的可能取值:條件名稱取值符號(hào)取值數(shù)行李重量 30W2>30U機(jī)艙等級(jí)頭等F2其他O是否為國(guó)內(nèi)乘客是Y2否N健康狀況正常Z2殘疾C 計(jì)算條件組合數(shù):2*2*2*2=16(3)判定表18910111213141516行 李 重量WUUUUUUUU機(jī) 艙 等 級(jí)-FFFFOOOO是 否 為 國(guó)-YYNNYYNN內(nèi) 乘 客健 康 狀 況-ZCZCZCZC行 李 收 費(fèi) 價(jià) 格( 元)0(U-30)*4(U-30)*2(U-30)*8(U-30)*4(U-30)*6(U-30)*3(U-30)*12(U-30)*6判定樹如下:頭譽(yù)奩國(guó) l<

30、具他攝M>頭答倉(cāng)外國(guó)乘客IKtt廳李貶童5<=JII匸常理一t-30) »4 找疚乘客(VY-30>馮IE常桀一VVVIn *6 殘換兼客-<W-30) »4疋常束客- -(W-JO) *83fe U -3l,x®IE常乘客fwjr Sll第6章實(shí)現(xiàn)1、程序設(shè)計(jì)語(yǔ)言可以分為哪幾類?面向機(jī)器語(yǔ)言:機(jī)器語(yǔ)言、匯編語(yǔ)言;高級(jí)語(yǔ)言:通用語(yǔ)言(BASIC、C等)、專用語(yǔ)言(PRoLoGLISP)2、什么是編碼風(fēng)格,為了編好程序,應(yīng)遵守哪些規(guī)則?在不影響程序正確性和效率的前提下,有效、合理地編排和組織 程序的基本原則。程序內(nèi)部文檔:標(biāo)示符(命名及說明)

31、;注解(序言、描述性注解);布局(階梯式)語(yǔ)句構(gòu)造及書寫:構(gòu)造規(guī)則;書寫原則輸入/輸出:輸入設(shè)計(jì)原則;輸出設(shè)計(jì)原則效率:有良好編碼風(fēng)格的基礎(chǔ)上提咼效率3、程序復(fù)雜度度量McCabe方法:根據(jù)程序控制流環(huán)形復(fù)雜度定量度量程序復(fù)雜度。 程序流程圖-> 流圖 環(huán)形復(fù)雜度a.V=區(qū)域數(shù)/判斷節(jié)點(diǎn)+1 /邊-節(jié)點(diǎn)+2 V三10(10更科學(xué)的上限)、可加性V+V<A與B)HalStead方法:根據(jù)運(yùn)算符和操作數(shù)的總個(gè)數(shù)度量程序復(fù)雜度N實(shí)=N(運(yùn)算符出現(xiàn)次數(shù))+2(操作數(shù)出現(xiàn)次數(shù))H預(yù)=n 1log 2n1+ nog 2n2(n 1不同運(yùn)算符個(gè)數(shù),n 2不同操作數(shù)個(gè)數(shù))E 誤=N實(shí) log 2(

32、n 1+n2)/3000(P74第5題)判定條件個(gè)數(shù)為3,故環(huán)型復(fù)雜度 V=3+1=4流圖如下:第7章軟件測(cè)試1、軟件測(cè)試的目標(biāo)(定義)、準(zhǔn)則。2、軟件測(cè)試方法(1) 測(cè)試時(shí)是否需要執(zhí)行被測(cè)軟件?靜態(tài)測(cè)試:特性分析無須執(zhí)行借助軟件評(píng)審文檔或程序編程標(biāo)準(zhǔn) 減少錯(cuò)誤。 主要方法:個(gè)人代碼走查;小組代碼檢查;代碼評(píng)審; 靜態(tài)結(jié)構(gòu)分析;代碼質(zhì)量度量。動(dòng)態(tài)測(cè)試:實(shí)際運(yùn)行輸入用例判定結(jié)果檢驗(yàn)正確性可靠性有效性。主要方法:白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試(2) 測(cè)試是否針對(duì)內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法?白盒測(cè)試:結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序的測(cè)試;內(nèi)部細(xì)節(jié)邏輯路徑規(guī)約及程序清單。黑盒測(cè)試:功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或

33、基于規(guī)格說明的測(cè)試; 用戶觀 點(diǎn) 當(dāng)作黑盒 只考慮程序輸入輸出和程序功能 根據(jù)需求規(guī)格說 明書設(shè)計(jì) 推斷測(cè)試結(jié)果的正確性。3、軟件測(cè)試過程單元測(cè)試:將每個(gè)模塊作為一個(gè)獨(dú)立的實(shí)體來測(cè)試。測(cè)試重點(diǎn):模塊間的接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行通路(選擇、循環(huán)等)、出錯(cuò)處理通路、邊界條件環(huán)境:驅(qū)動(dòng)模塊,用來模擬被測(cè)試模塊的上一級(jí)模塊;樁模塊,用來模擬被測(cè)試模塊工作中所有的調(diào)用模塊。集成測(cè)試:按照概要設(shè)計(jì)的要求組裝獨(dú)立模塊成為子系統(tǒng)或系統(tǒng),同時(shí)經(jīng)過測(cè)試來發(fā)現(xiàn)接口錯(cuò)誤的一種系統(tǒng)化的測(cè)試。 單元測(cè)試完成后為什么還需要集成測(cè)試?數(shù)據(jù)穿過接口時(shí)可能丟失;一模塊對(duì)另一模塊由于疏忽而造成的有害 影響;子功能組合起來可能

34、不產(chǎn)生預(yù)期的主功能; 全程數(shù)據(jù)結(jié)構(gòu)可能 有問題等錯(cuò)誤。集成測(cè)試方法:(1)非漸增式:分模塊測(cè)試一次性組裝所有模塊集成測(cè)試(2)漸增式(集成測(cè)試中較多使用):分模塊測(cè)試逐個(gè)模塊組裝 直到集成測(cè)試漸增方式集成策略:自頂向下、自底向上和三明治集成。系統(tǒng)測(cè)試:將經(jīng)過集成測(cè)試的軟件作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的 一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等元素結(jié)合 在一起,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試 測(cè)試內(nèi)容包括: 功能測(cè)試:圖形界面測(cè)試、功能測(cè)試 性能測(cè)試:配置測(cè)試、時(shí)間性能測(cè)試、壓力測(cè)試、容量測(cè)試、安全 性測(cè)試、恢復(fù)測(cè)試、兼容性測(cè)試、備份測(cè)試、可用性測(cè)試確認(rèn)測(cè)試/驗(yàn)收測(cè)試:驗(yàn)證軟件的功能和性能及其它特性是 否與用戶的要求一致。分類:Alpha測(cè)試(開發(fā)者+用戶):由用戶在開發(fā)者的場(chǎng)所進(jìn)行,并且在 開發(fā)者對(duì)用戶的“指導(dǎo)”下進(jìn)行測(cè)試。Beta測(cè)試(用戶+開發(fā)者):由軟件的最終用戶們?cè)谝粋€(gè)或多個(gè)客 戶場(chǎng)所進(jìn)行,用戶把出現(xiàn)的問題反饋給開發(fā)者?;貧w測(cè)試:重新執(zhí)行已經(jīng)做過的測(cè)試的某個(gè)子集, 以保

溫馨提示

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

評(píng)論

0/150

提交評(píng)論