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