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