資源描述:
《第32講程序設(shè)計(jì)與軟件開發(fā)基礎(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、第32講程序設(shè)計(jì)與軟件開發(fā)基礎(chǔ)(六)教學(xué)目標(biāo)及基本要求:理解結(jié)構(gòu)化設(shè)計(jì)方法,能利用該方法提供的常用工具解決實(shí)際問題,掌握測(cè)試與調(diào)試的概念,了解白盒測(cè)試與黑盒測(cè)試的概念,能進(jìn)行簡(jiǎn)單的測(cè)試用例設(shè)計(jì)和實(shí)施,了解靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試。教學(xué)重點(diǎn):測(cè)試和調(diào)試的基本概念,白盒測(cè)試與黑盒測(cè)試。教學(xué)難點(diǎn):面向數(shù)據(jù)流的設(shè)計(jì)方法,白盒測(cè)試與黑盒測(cè)試。教學(xué)內(nèi)容:1.結(jié)構(gòu)化設(shè)計(jì)方法2.軟件測(cè)試及調(diào)試教學(xué)時(shí)間:1學(xué)時(shí)主要內(nèi)容:7.4.3結(jié)構(gòu)化設(shè)計(jì)方法1.軟件設(shè)計(jì)的基本概念(1)軟件設(shè)計(jì)的基礎(chǔ)v概念軟件設(shè)計(jì)是軟件工程的重要階段,是一個(gè)把軟件需求轉(zhuǎn)換為軟件表示的過程。v基本目標(biāo)軟件設(shè)計(jì)
2、的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),即軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。v步驟從工程管理角度來看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。?概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì)):將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式。?詳細(xì)設(shè)計(jì):確立每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。(2)軟件設(shè)計(jì)的基本原則①抽象:是一種思維工具,就是把事物本質(zhì)的共同特性提取出來而不考慮其他細(xì)節(jié)。②模塊化:是指把一個(gè)待開發(fā)的軟件分解成若干小的簡(jiǎn)單的部分。③信息隱蔽:是指在一個(gè)模塊內(nèi)包含的信息,對(duì)于不需要這些
3、信息的其他模塊來說是不能訪問的。④模塊獨(dú)立性:是指每個(gè)模塊只寫成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。模塊的獨(dú)立程度是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。一個(gè)優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合。2.概要設(shè)計(jì)(1)概要設(shè)計(jì)的任務(wù)①設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu):在需求分析階段,已經(jīng)把系統(tǒng)分解成層次結(jié)構(gòu),而在概要設(shè)計(jì)階段,需要進(jìn)一步分解,劃分為模塊以及模塊的層次結(jié)構(gòu)。②數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì):數(shù)據(jù)設(shè)計(jì)是實(shí)現(xiàn)需求定義和規(guī)格說明過程中提出的數(shù)據(jù)對(duì)象的邏輯表示。③編寫概要設(shè)計(jì)文檔:需要編寫的文檔有概要設(shè)
4、計(jì)說明書、數(shù)據(jù)庫(kù)設(shè)計(jì)說明書、集成測(cè)試計(jì)劃等。④概要設(shè)計(jì)文檔評(píng)審。(2)概要設(shè)計(jì)的圖形工具常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖,它描述了軟件系統(tǒng)的層次和分塊結(jié)構(gòu)關(guān)系。模塊用一個(gè)矩形表示,矩形內(nèi)注明模塊的功能和名字;箭頭表示模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。結(jié)構(gòu)圖的有關(guān)術(shù)語如下。?深度:表示控制的層數(shù)。?上級(jí)模塊、下級(jí)模塊:調(diào)用模塊中上級(jí)模塊,被調(diào)用模塊是下級(jí)模塊。?寬度:整體控制跨度(最大模塊數(shù)的層)的表示。?扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。?扇出:一個(gè)模塊直接調(diào)用的其他模塊數(shù)。
5、?原子模塊:樹中位于葉子節(jié)點(diǎn)的模塊。(3)面向數(shù)據(jù)流的設(shè)計(jì)方法典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。①變換型:是指信息沿輸入通道進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形成,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。②事務(wù)型:在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。(4)設(shè)計(jì)的準(zhǔn)則①提高模塊獨(dú)立性。②模塊規(guī)模適中。③深度、寬度、扇出和扇入適當(dāng)。④使模塊的作用域在該模塊的控制域內(nèi)。⑤應(yīng)減少模塊的接口和界面的復(fù)雜性。⑥設(shè)計(jì)成單入口、單出口的模
6、塊。⑦設(shè)計(jì)功能可預(yù)測(cè)的模塊。3.詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)的任務(wù)是為軟件結(jié)構(gòu)圖中的每個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。常用的過程圖形設(shè)計(jì)工具如下。(1)程序流程圖程序流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計(jì)表示工具,通常稱為程序框圖。程序流程圖表達(dá)直觀、清晰,易于學(xué)習(xí)掌握,且獨(dú)立于任何一種程序設(shè)計(jì)語言。構(gòu)成程序流程圖的最基本圖符及含義如下所示?!颉嚎刂屏鳌酢。杭庸げ襟E◇ :邏輯條件(2)N-S圖為了避免程序圖在描述程序邏輯時(shí)的隨意性與靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常把這種圖稱為N-S圖。N-S
7、圖的基本圖符及表示的5種控制結(jié)構(gòu)如圖7-20所示。任務(wù)1任務(wù)2任務(wù)3條件elsethen判定條件循環(huán)體循環(huán)體判定條件條件=1=2…=nABCD圖7-20N-S圖圖符與構(gòu)成的5種控制結(jié)構(gòu)(3)PAD圖PAD圖是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,它是繼程序流程圖和方框圖之后,提出的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的圖形表示工具。PAD圖的基本圖符及表示的控制結(jié)構(gòu)如圖7-21所示。條件AB選擇型順序型BAWHILEAWHILE重復(fù)型UNTIL重復(fù)型UNTILB圖7-21PAD圖圖符與構(gòu)成的5種控制結(jié)構(gòu)除了以上3種工具外,還有
8、判定表、判定樹和結(jié)構(gòu)化自然語言PDL等描述工具。7.4.4軟件測(cè)試及調(diào)試1.軟件測(cè)試的目的與任