計算機二級C語言輔導(dǎo)-公共基礎(chǔ)知識-第二、三章_第1頁
計算機二級C語言輔導(dǎo)-公共基礎(chǔ)知識-第二、三章_第2頁
計算機二級C語言輔導(dǎo)-公共基礎(chǔ)知識-第二、三章_第3頁
計算機二級C語言輔導(dǎo)-公共基礎(chǔ)知識-第二、三章_第4頁
計算機二級C語言輔導(dǎo)-公共基礎(chǔ)知識-第二、三章_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2021/3/10講解:XX1 第二、三章 程序設(shè)計及軟件工程基礎(chǔ) 2021/3/10講解:XX2 2021/3/10講解:XX3 2.1 程序設(shè)計方法和風(fēng)格 計算機本身僅能識別二進制代碼計算機本身僅能識別二進制代碼“0”0”、“1”1”。 編譯程序和解釋程序編譯程序和解釋程序 編程最直接、最低級的就是編程最直接、最低級的就是機器語言機器語言。 匯編語言匯編語言。 2021/3/10講解:XX4 基本概念:基本概念:編寫程序時所表現(xiàn)出來的特點、習(xí)慣和邏編寫程序時所表現(xiàn)出來的特點、習(xí)慣和邏 輯思路。一般從以下四部分加以規(guī)范:輯思路。一般從以下四部分加以規(guī)范: 源程序中的內(nèi)部文檔:源程序中的內(nèi)部文

2、檔:選擇標(biāo)示符的名字、注釋(序言性和選擇標(biāo)示符的名字、注釋(序言性和 功能性注釋)、程序的視覺組織。功能性注釋)、程序的視覺組織。 數(shù)據(jù)說明:數(shù)據(jù)說明:顯式地說明一切變量、數(shù)據(jù)說明的次序應(yīng)該規(guī)范顯式地說明一切變量、數(shù)據(jù)說明的次序應(yīng)該規(guī)范 化、便于查找變量(按順序排列)、對復(fù)雜數(shù)據(jù)結(jié)構(gòu)應(yīng)注釋化、便于查找變量(按順序排列)、對復(fù)雜數(shù)據(jù)結(jié)構(gòu)應(yīng)注釋 說明說明 語句的結(jié)構(gòu):語句的結(jié)構(gòu):每條語句簡單明了、盡量不用或少用每條語句簡單明了、盡量不用或少用GOTOGOTO語語 句、盡量只采用句、盡量只采用3 3種基本控制結(jié)構(gòu)編程種基本控制結(jié)構(gòu)編程 輸入和輸出:輸入和輸出:對所有輸入數(shù)據(jù)進行校驗和合理性檢查、輸對

3、所有輸入數(shù)據(jù)進行校驗和合理性檢查、輸 入輸出格式保持一致、設(shè)計良好的輸出報表入輸出格式保持一致、設(shè)計良好的輸出報表 2021/3/10講解:XX5 結(jié)構(gòu)化設(shè)計法結(jié)構(gòu)化設(shè)計法 模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分 各程序部分應(yīng)按功能組合各程序部分應(yīng)按功能組合 快速原型法(軟件工程法)快速原型法(軟件工程法) 利用現(xiàn)有的工具和原型方法快速地開發(fā)所要的程序利用現(xiàn)有的工具和原型方法快速地開發(fā)所要的程序 面向?qū)ο蟪绦蛟O(shè)計法面向?qū)ο蟪绦蛟O(shè)計法 以對象為核心,與人類習(xí)慣的思維方法一致以對象為核心,與人類習(xí)慣的思維方法一致 2021/3/10講解:XX6 2.2

4、 結(jié)構(gòu)化程序設(shè)計 對大型的程序設(shè)計,使用一些基本的結(jié)構(gòu)來設(shè)計程序,對大型的程序設(shè)計,使用一些基本的結(jié)構(gòu)來設(shè)計程序, 無論多復(fù)雜的程序,都可以使用這些基本結(jié)構(gòu)按一定的順序無論多復(fù)雜的程序,都可以使用這些基本結(jié)構(gòu)按一定的順序 組合起來。這些基本結(jié)構(gòu)的特點都是組合起來。這些基本結(jié)構(gòu)的特點都是只有一個入口、一個出只有一個入口、一個出 口口。由這些基本結(jié)構(gòu)組成的程序就避免了任意轉(zhuǎn)移、閱讀起。由這些基本結(jié)構(gòu)組成的程序就避免了任意轉(zhuǎn)移、閱讀起 來需要來回尋找的問題。來需要來回尋找的問題。 自頂向下自頂向下 逐步求精逐步求精 模塊化模塊化 限制使用限制使用gotogoto語句語句 2021/3/10講解:XX

5、7 2021/3/10講解:XX8 客觀世界中任何一個事物都可以被看成是一個對象客觀世界中任何一個事物都可以被看成是一個對象,面向,面向 對象方法的本質(zhì)就是主張從客觀世界固有的事物出發(fā)來構(gòu)造系對象方法的本質(zhì)就是主張從客觀世界固有的事物出發(fā)來構(gòu)造系 統(tǒng),統(tǒng),系統(tǒng)中的對象及對象之間的關(guān)系能夠如實地反映問題域中系統(tǒng)中的對象及對象之間的關(guān)系能夠如實地反映問題域中 固有的事物及其關(guān)系。固有的事物及其關(guān)系。 結(jié)構(gòu)化的分解突出過程,即結(jié)構(gòu)化的分解突出過程,即如何做如何做(How to do)?(How to do)?它強調(diào)它強調(diào) 代碼的功能是如何實現(xiàn)的;代碼的功能是如何實現(xiàn)的; 面向?qū)ο蟮姆纸馔怀霈F(xiàn)實世界和

6、抽象的對象,即面向?qū)ο蟮姆纸馔怀霈F(xiàn)實世界和抽象的對象,即做什么做什么 (What to do)?(What to do)? 2021/3/10講解:XX9 與人類習(xí)慣的思維方法一致與人類習(xí)慣的思維方法一致 穩(wěn)定性好穩(wěn)定性好 可重用性好可重用性好 易于開發(fā)大型軟件產(chǎn)品易于開發(fā)大型軟件產(chǎn)品 可維護性好可維護性好 2021/3/10講解:XX10 對象對象(Object) (Object) 對象是基本的運行時認(rèn)得實體,它既包括數(shù)據(jù)(對象是基本的運行時認(rèn)得實體,它既包括數(shù)據(jù)(屬性屬性),也),也 包括作用于數(shù)據(jù)的操作(包括作用于數(shù)據(jù)的操作(行為行為)。)。 一個對象把屬性和行為封裝為一個整體一個對象把

7、屬性和行為封裝為一個整體 一個對象通??捎蓪ο竺傩院筒僮饕粋€對象通??捎蓪ο竺?、屬性和操作3 3部分組成部分組成 面向?qū)ο竺嫦驅(qū)ο?Object Oriented, OO) (Object Oriented, OO) 從該問題所涉及的對象入手來研究問題。從該問題所涉及的對象入手來研究問題。 消息消息(Message) (Message) 對象之間進行通信的一種數(shù)據(jù)構(gòu)造,消息包括:接受消息對對象之間進行通信的一種數(shù)據(jù)構(gòu)造,消息包括:接受消息對 象名、消息標(biāo)識符、零個或多個參數(shù)。象名、消息標(biāo)識符、零個或多個參數(shù)。 2021/3/10講解:XX11 類類(Class)(Class) 一個類定義了

8、一組大體上相似的對象。一個類定義了一組大體上相似的對象。 一個類所包含的一個類所包含的方法和數(shù)據(jù)方法和數(shù)據(jù)描述一組對象的共同行為和屬性。描述一組對象的共同行為和屬性。 類是在對象之上的抽象,對象是類的具體化,是類的實例類是在對象之上的抽象,對象是類的具體化,是類的實例 封裝封裝(Encapsulation)(Encapsulation) 將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構(gòu)成一個具有類類型的對象的將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構(gòu)成一個具有類類型的對象的 描述。描述。 對象的內(nèi)部實現(xiàn)受保護,外界不能訪問對象的內(nèi)部實現(xiàn)受保護,外界不能訪問 封裝簡化了程序員對對象的使用封裝簡化了程序員對對象的使

9、用 2021/3/10講解:XX12 繼承繼承(Inheritance)(Inheritance) 繼承是父類和子類之間共享數(shù)據(jù)的方法的機制繼承是父類和子類之間共享數(shù)據(jù)的方法的機制 一個子類可以繼承它的父類(或祖先類)中的屬性和操作一個子類可以繼承它的父類(或祖先類)中的屬性和操作 子類中可以定義自己的屬性和操作子類中可以定義自己的屬性和操作 單重繼承、多重繼承單重繼承、多重繼承 多態(tài)性多態(tài)性(Polymorphism)(Polymorphism) 不同的對象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多不同的對象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多 態(tài)性態(tài)性 多態(tài)的實現(xiàn)受到

10、繼承的支持多態(tài)的實現(xiàn)受到繼承的支持 2021/3/10講解:XX13 軟件軟件(software)是計算機系統(tǒng)中與硬件是計算機系統(tǒng)中與硬件(hardware)相相 互依存的另一部分?;ヒ来娴牧硪徊糠?。軟件包括三個部分:程序軟件包括三個部分:程序(program)、 相關(guān)數(shù)據(jù)相關(guān)數(shù)據(jù)(data)、說明文檔、說明文檔(document)。 軟件是一種邏輯實體,不是物理實體,具有抽象性。軟件是一種邏輯實體,不是物理實體,具有抽象性。 軟件沒有明顯的制造過程。軟件沒有明顯的制造過程。 軟件在使用過程中,沒有磨損、老化問題軟件在使用過程中,沒有磨損、老化問題 軟件依賴與硬件和環(huán)境,導(dǎo)致了移植問題軟件依賴

11、與硬件和環(huán)境,導(dǎo)致了移植問題 軟件是復(fù)雜的,而且以后會更復(fù)雜軟件是復(fù)雜的,而且以后會更復(fù)雜 軟件的成本相當(dāng)昂貴軟件的成本相當(dāng)昂貴 軟件工作牽涉到很多社會因素軟件工作牽涉到很多社會因素 2021/3/10講解:XX14 早期的軟件主要指程序,采用個體工作方式,缺少相關(guān)早期的軟件主要指程序,采用個體工作方式,缺少相關(guān) 文檔,質(zhì)量低,維護困難,這些問題稱為文檔,質(zhì)量低,維護困難,這些問題稱為“軟件危機軟件危機”,軟軟 件工程概念的出現(xiàn)源自于軟件危機件工程概念的出現(xiàn)源自于軟件危機。 軟件工程是指應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,軟件工程是指應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理, 以工程化的原則和方

12、法來解決軟件問題的工程。以工程化的原則和方法來解決軟件問題的工程。其目的是提其目的是提 高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。 在給定成本、進度的前提下,開發(fā)出具有有效性、可在給定成本、進度的前提下,開發(fā)出具有有效性、可 靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移 植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。 2021/3/10講解:XX15 )11)抽象:抽象:抽象是事物最基本的特性和行為,忽略非本質(zhì)細節(jié),采用分抽象是事物最基本的特性和行

13、為,忽略非本質(zhì)細節(jié),采用分 層次抽象,自頂向下,逐層細化來控制軟件開發(fā)過程的復(fù)雜性。層次抽象,自頂向下,逐層細化來控制軟件開發(fā)過程的復(fù)雜性。 )2 2信息隱蔽:)信息隱蔽:采用封裝技術(shù),將程序模塊的實現(xiàn)細節(jié)隱蔽起來,使采用封裝技術(shù),將程序模塊的實現(xiàn)細節(jié)隱蔽起來,使 模塊接口盡量簡單。模塊接口盡量簡單。 )3 3模塊化:)模塊化:模塊是程序中相對獨立的成分,一個獨立的編程單位。模模塊是程序中相對獨立的成分,一個獨立的編程單位。模 塊的大小要適中,過大模塊內(nèi)部復(fù)雜性增加,太小整個系統(tǒng)過于復(fù)雜。塊的大小要適中,過大模塊內(nèi)部復(fù)雜性增加,太小整個系統(tǒng)過于復(fù)雜。 )4 4局部化:)局部化:保證模塊間具有松

14、耦合性,模塊內(nèi)部有高內(nèi)聚性。保證模塊間具有松耦合性,模塊內(nèi)部有高內(nèi)聚性。 )5 5確定性:)確定性:軟件中所有概念的表達應(yīng)是確定、無歧義且規(guī)范的。軟件中所有概念的表達應(yīng)是確定、無歧義且規(guī)范的。 )6 6一致性:)一致性:內(nèi)外部接口保持一致,系統(tǒng)規(guī)格說明與行為保持一致。內(nèi)外部接口保持一致,系統(tǒng)規(guī)格說明與行為保持一致。 )7 7完備性:)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實現(xiàn)系統(tǒng)所需功能。軟件系統(tǒng)不丟失任何重要成分,完全實現(xiàn)系統(tǒng)所需功能。 )8 8可驗證性:)可驗證性:遵循容易檢查、測評、評審原則,確保系統(tǒng)正確性遵循容易檢查、測評、評審原則,確保系統(tǒng)正確性 2021/3/10講解:XX16

15、軟件工具軟件工具(CASE)(CASE):用來輔助軟件開、運行、維護、用來輔助軟件開、運行、維護、 管理、支持等過程中的活動的軟件管理、支持等過程中的活動的軟件 軟件開發(fā)環(huán)境:軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由 軟件工具集和環(huán)境集成機制構(gòu)成軟件工具集和環(huán)境集成機制構(gòu)成 2021/3/10講解:XX17 軟件產(chǎn)品軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程從提出、實現(xiàn)、使用維護到停止使用退役的過程 稱為軟件生命周期。分為軟件定義、軟件開發(fā)及軟件運行維護稱為軟件生命周期。分為軟件定義、軟件開發(fā)及軟件運行維護 3 3個階段。個階段。 )1 1軟件定義

16、階段:)軟件定義階段:包括制定計劃和需求分析。包括制定計劃和需求分析。 制定計劃:確定總目標(biāo);可行性研究;探討解決方案;制定開發(fā)計劃。制定計劃:確定總目標(biāo);可行性研究;探討解決方案;制定開發(fā)計劃。 需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。 )2 2軟件開發(fā)階段:)軟件開發(fā)階段: 軟件設(shè)計:分為概要設(shè)計和詳細設(shè)計兩個部分。軟件實現(xiàn):把軟件設(shè)計轉(zhuǎn)換成軟件設(shè)計:分為概要設(shè)計和詳細設(shè)計兩個部分。軟件實現(xiàn):把軟件設(shè)計轉(zhuǎn)換成 計算機可以接受的程序代碼。計算機可以接受的程序代碼。 軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部

17、分。軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分。 )3 3軟件運行維護階段(生命周期中花費最多的階段):)軟件運行維護階段(生命周期中花費最多的階段):軟件投入運行,軟件投入運行, 并在使用中不斷地維護,進行必要的擴充和刪改。并在使用中不斷地維護,進行必要的擴充和刪改。 2021/3/10講解:XX18 用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面 的期望。的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的 過程。過程。需求分析將創(chuàng)建所需的需求分析將創(chuàng)建所需的數(shù)據(jù)模型數(shù)

18、據(jù)模型、功能模型功能模型和和控制模型控制模型。 需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審 結(jié)構(gòu)化分析方法、面向?qū)ο蠓治龇椒ńY(jié)構(gòu)化分析方法、面向?qū)ο蠓治龇椒?2021/3/10講解:XX19 結(jié)構(gòu)化程序設(shè)計理論在軟件需求分析階段的運用,結(jié)構(gòu)化程序設(shè)計理論在軟件需求分析階段的運用, 其其目的是幫助弄清用戶對軟件的需求。目的是幫助弄清用戶對軟件的需求。 數(shù)據(jù)流圖、數(shù)據(jù)字典、判定數(shù)據(jù)流圖、數(shù)據(jù)字典、判定 樹、判定表樹、判定表 自頂向下,逐層分解自頂向下,逐層分解 2021/3/10講解:XX20 以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處以圖形的方式描

19、繪數(shù)據(jù)在系統(tǒng)中流動和處 理的過程,理的過程,它反映了系統(tǒng)必須完成的邏輯功能,是結(jié)構(gòu)化分析方它反映了系統(tǒng)必須完成的邏輯功能,是結(jié)構(gòu)化分析方 法中用于表示系統(tǒng)邏輯模型的一種工具。法中用于表示系統(tǒng)邏輯模型的一種工具。 加工加工 存儲文件存儲文件 源、源、潭潭 數(shù)據(jù)流數(shù)據(jù)流 加工(轉(zhuǎn)換):加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。 數(shù)據(jù)流:數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,旁邊標(biāo)注數(shù)據(jù)流名。沿箭頭方向傳送數(shù)據(jù)的通道,旁邊標(biāo)注數(shù)據(jù)流名。 存儲文件(數(shù)據(jù)源):存儲文件(數(shù)據(jù)源):表示處理過程中存放各種數(shù)據(jù)的文表示處理過程中存放各種數(shù)據(jù)的文 件。件。 源、潭:源、潭:表示系統(tǒng)和環(huán)

20、境的接口,屬系統(tǒng)之外的實體。表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。 2021/3/10講解:XX21 數(shù)據(jù)流圖的示例數(shù)據(jù)流圖的示例 2021/3/10講解:XX22 對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組 織的列表織的列表,其,其作用是對數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的作用是對數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的 確切解釋確切解釋 。 數(shù)據(jù)字典常包括數(shù)據(jù)字典常包括5 5個部分:個部分:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù) 存儲、數(shù)據(jù)處理。存儲、數(shù)據(jù)處理。 數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心 需求分析階段的最后

21、成需求分析階段的最后成 果,通過建立完整的信息描述、詳細的功能和行為描述、性果,通過建立完整的信息描述、詳細的功能和行為描述、性 能需求和設(shè)計約束的說明、合適的驗收標(biāo)準(zhǔn),給出對目標(biāo)軟能需求和設(shè)計約束的說明、合適的驗收標(biāo)準(zhǔn),給出對目標(biāo)軟 件的各種需求。件的各種需求。 2021/3/10講解:XX23 v需求分析主要解決需求分析主要解決“做什么做什么”的問題,而的問題,而軟件軟件 設(shè)計設(shè)計主要解決主要解決“怎么做怎么做”的問題。的問題。 v從技術(shù)觀點來看從技術(shù)觀點來看,軟件設(shè)計包括軟件,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計結(jié)構(gòu)設(shè)計、 數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計、接口設(shè)計接口設(shè)計、過程設(shè)計過程設(shè)計。 結(jié)構(gòu)設(shè)計:結(jié)構(gòu)設(shè)計:

22、定義軟件系統(tǒng)各主要部件之間的關(guān)系。定義軟件系統(tǒng)各主要部件之間的關(guān)系。 數(shù)據(jù)設(shè)計:數(shù)據(jù)設(shè)計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定 義。義。 接口設(shè)計:接口設(shè)計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及 軟件與人之間如何通信。軟件與人之間如何通信。 過程設(shè)計:過程設(shè)計:把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述 2021/3/10講解:XX24 v從工程角度來看從工程角度來看,軟件設(shè)計分兩步完成,即,軟件設(shè)計分兩步完成,即概要概要 設(shè)計設(shè)計和和詳細設(shè)計詳細設(shè)計。 概要設(shè)計:又稱結(jié)構(gòu)設(shè)計概要設(shè)計:又稱結(jié)

23、構(gòu)設(shè)計,將軟件需求轉(zhuǎn)化為軟件,將軟件需求轉(zhuǎn)化為軟件 體系結(jié)構(gòu);確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)體系結(jié)構(gòu);確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù) 庫模式;庫模式;編寫概要設(shè)計文檔、概要設(shè)計文檔評審。編寫概要設(shè)計文檔、概要設(shè)計文檔評審。 詳細設(shè)計:詳細設(shè)計:確定每個模塊的實現(xiàn)算法和局部數(shù)據(jù)確定每個模塊的實現(xiàn)算法和局部數(shù)據(jù) 結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。 2021/3/10講解:XX25 v軟件設(shè)計基本原理:軟件設(shè)計基本原理:抽象抽象、模塊化模塊化、信息隱蔽信息隱蔽和和模塊模塊 獨立性獨立性。 抽象:抽象:抽象是一種思維工具,就是把事物本質(zhì)的共同特

24、性提抽象是一種思維工具,就是把事物本質(zhì)的共同特性提 取出來而不考慮其他細節(jié)。取出來而不考慮其他細節(jié)。 模塊化:模塊化:解決一個復(fù)雜問題時自頂向下逐步把軟件系統(tǒng)劃分解決一個復(fù)雜問題時自頂向下逐步把軟件系統(tǒng)劃分 成較小的、相對獨立但又不相互關(guān)聯(lián)的模塊的過程。成較小的、相對獨立但又不相互關(guān)聯(lián)的模塊的過程。 信息隱蔽:信息隱蔽:模塊的實施細節(jié)對于其他模塊來說是隱蔽的。模塊的實施細節(jié)對于其他模塊來說是隱蔽的。 模塊獨立性:模塊獨立性:軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的 子功能,和軟件系統(tǒng)中其他模塊的接口是簡單的。子功能,和軟件系統(tǒng)中其他模塊的接口是簡單的。

25、模塊獨立性指標(biāo):模塊獨立性指標(biāo):耦合性耦合性和和內(nèi)聚性內(nèi)聚性 模塊劃分原則是:模塊劃分原則是:高內(nèi)聚度,低耦合度高內(nèi)聚度,低耦合度 2021/3/10講解:XX26 v總體設(shè)計(概要設(shè)計)基本任務(wù)總體設(shè)計(概要設(shè)計)基本任務(wù) )1 1設(shè)計軟件系統(tǒng)結(jié)構(gòu))設(shè)計軟件系統(tǒng)結(jié)構(gòu) )2 2數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計 )3 3編寫概要設(shè)計文檔)編寫概要設(shè)計文檔 )4 4 概要設(shè)計文檔評審)概要設(shè)計文檔評審 v軟件結(jié)構(gòu)設(shè)計工具軟件結(jié)構(gòu)設(shè)計工具結(jié)構(gòu)圖結(jié)構(gòu)圖( (程序結(jié)構(gòu)圖程序結(jié)構(gòu)圖) ) 矩形矩形表示模塊,表示模塊,箭頭箭頭表示模塊間的調(diào)用關(guān)系表示模塊間的調(diào)用關(guān)系 用帶注釋的箭頭表示模塊調(diào)用過程

26、中來回傳遞的用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息信息 實心圓箭頭實心圓箭頭表示控制信息,表示控制信息,空心圓箭頭空心圓箭頭表示數(shù)據(jù)信息表示數(shù)據(jù)信息 2021/3/10講解:XX27 v軟件結(jié)構(gòu)設(shè)計工具軟件結(jié)構(gòu)設(shè)計工具結(jié)構(gòu)圖結(jié)構(gòu)圖( (程序結(jié)構(gòu)圖程序結(jié)構(gòu)圖) ) 傳入模塊:傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級模塊。從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級模塊。 傳出模塊:傳出模塊:從上級模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。從上級模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。 變換模塊:變換模塊:從上級模塊取得數(shù)據(jù),進行特定的處理,轉(zhuǎn)換成其他形式,從上級模塊取得數(shù)據(jù),

27、進行特定的處理,轉(zhuǎn)換成其他形式, 再傳送給上級模塊。再傳送給上級模塊。 協(xié)調(diào)模塊:協(xié)調(diào)模塊:對所有下屬模塊進行協(xié)調(diào)和管理的模塊。對所有下屬模塊進行協(xié)調(diào)和管理的模塊。 2021/3/10講解:XX28 v軟件結(jié)構(gòu)設(shè)計工具軟件結(jié)構(gòu)設(shè)計工具結(jié)構(gòu)圖結(jié)構(gòu)圖( (程序結(jié)構(gòu)圖程序結(jié)構(gòu)圖) ) 深度:深度:表示控制的層數(shù)。表示控制的層數(shù)。 寬度:寬度:整體控制跨度整體控制跨度 扇入:扇入:調(diào)用一個給定模塊的模調(diào)用一個給定模塊的模 塊個數(shù)。塊個數(shù)。 扇出:扇出:一個模塊直接調(diào)用的其一個模塊直接調(diào)用的其 他模塊數(shù)他模塊數(shù)。 上級模塊、從屬模塊:上級模塊、從屬模塊:上、下兩層模塊上、下兩層模塊a a和和b b,且有

28、,且有a a調(diào)用調(diào)用b b,則,則a a是上是上 級模塊,級模塊,b b是從屬模塊。是從屬模塊。 原子模塊:原子模塊:樹中位于葉子結(jié)點的模塊。樹中位于葉子結(jié)點的模塊。 2021/3/10講解:XX29 v軟件結(jié)構(gòu)設(shè)計工具軟件結(jié)構(gòu)設(shè)計工具結(jié)構(gòu)圖結(jié)構(gòu)圖( (程序結(jié)構(gòu)圖程序結(jié)構(gòu)圖) ) 面向數(shù)據(jù)流的設(shè)計方法定義了一些不同的映射方面向數(shù)據(jù)流的設(shè)計方法定義了一些不同的映射方 法,利用這些方法可以把法,利用這些方法可以把數(shù)據(jù)流圖數(shù)據(jù)流圖變換成變換成結(jié)構(gòu)圖結(jié)構(gòu)圖表示表示 軟件的結(jié)構(gòu)。軟件的結(jié)構(gòu)。 數(shù)據(jù)流類型:數(shù)據(jù)流類型:變換型和事務(wù)型變換型和事務(wù)型 變換型:變換型:變換型數(shù)據(jù)處理問題的工作過程大致分變換型數(shù)

29、據(jù)處理問題的工作過程大致分 為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù)。為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù)。變換變換 型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。 事務(wù)型:事務(wù)型:事務(wù)型數(shù)據(jù)處理問題的工作機理是事務(wù)型數(shù)據(jù)處理問題的工作機理是接受一接受一 項事務(wù)項事務(wù),根據(jù)事務(wù)處理的特點和性質(zhì),選擇分派一,根據(jù)事務(wù)處理的特點和性質(zhì),選擇分派一 個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。 2021/3/10講解:XX30 v詳細設(shè)計基本任務(wù)詳細設(shè)計基本任務(wù) 為軟件結(jié)構(gòu)圖中的每個模塊為軟件結(jié)構(gòu)圖中的每個模塊確定實現(xiàn)算法和局部數(shù)據(jù)確

30、定實現(xiàn)算法和局部數(shù)據(jù) 結(jié)構(gòu)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié) v常用設(shè)計工具常用設(shè)計工具 2021/3/10講解:XX31 通過合理的設(shè)計通過合理的設(shè)計測試用例測試用例以最少的人力和時間發(fā)現(xiàn)潛在以最少的人力和時間發(fā)現(xiàn)潛在 的各種錯誤和缺陷的各種錯誤和缺陷 保證系統(tǒng)質(zhì)量(滿足需求規(guī)格)和可靠性保證系統(tǒng)質(zhì)量(滿足需求規(guī)格)和可靠性 由開發(fā)人員、用戶一起完成由開發(fā)人員、用戶一起完成 人工測試(靜態(tài)測試):人工測試(靜態(tài)測試):評審軟件文檔或程序,評審軟件文檔或程序,包括代包括代 碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。碼檢查、靜態(tài)結(jié)構(gòu)分析、代

31、碼質(zhì)量度量。不實際運行軟不實際運行軟 件件,主要通過人工進行。,主要通過人工進行。 機器測試(動態(tài)測試):機器測試(動態(tài)測試):通過運行軟件通過運行軟件,來檢驗結(jié)果的,來檢驗結(jié)果的 正確性。正確性。主要包括主要包括白盒測試白盒測試方法和方法和黑盒測試黑盒測試方法。方法。 2021/3/10講解:XX32 將軟件看成透明的白盒,將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié) 構(gòu)來設(shè)計測試?yán)樱瑢Τ绦虻穆窂胶瓦^程進行測試構(gòu)來設(shè)計測試?yán)?,對程序的路徑和過程進行測試,檢,檢 查是否滿足設(shè)計的要求查是否滿足設(shè)計的要求 保證所測模塊中保證所測模塊中每一獨立路徑每一獨立路徑至少

32、執(zhí)行一次;至少執(zhí)行一次; 保證所測模塊保證所測模塊所有判斷的所有判斷的每一分支至少執(zhí)行一次;每一分支至少執(zhí)行一次; 保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少 各執(zhí)行一次;各執(zhí)行一次; 驗證驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。的有效性。 2021/3/10講解:XX33 v測試用例測試用例根據(jù)程序根據(jù)程序內(nèi)部邏輯內(nèi)部邏輯設(shè)計,主要用于軟件的設(shè)計,主要用于軟件的單單 元測試元測試。 v用例主要設(shè)計方法有用例主要設(shè)計方法有 邏輯覆蓋:邏輯覆蓋:指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)

33、 計技術(shù)。計技術(shù)。 基本路徑測試:基本路徑測試:根據(jù)軟件過程性描述中的控制流程確定程序的環(huán)根據(jù)軟件過程性描述中的控制流程確定程序的環(huán) 路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試 用例,對每一條獨立執(zhí)行路徑進行測試。用例,對每一條獨立執(zhí)行路徑進行測試。 2021/3/10講解:XX34 v邏輯覆蓋設(shè)計的基本內(nèi)容(利用測試用例)邏輯覆蓋設(shè)計的基本內(nèi)容(利用測試用例) 語句覆蓋:語句覆蓋:使得程序每一個語句至少都能被執(zhí)行一次。使得程序每一個語句至少都能被執(zhí)行一次。 路徑覆蓋:路徑覆蓋:使程序中所有的可能的路徑都至少經(jīng)歷一次。使

34、程序中所有的可能的路徑都至少經(jīng)歷一次。 判定覆蓋:判定覆蓋:保證程序中每個判斷的每個取值分支(保證程序中每個判斷的每個取值分支(T T或或F F) 至少經(jīng)歷一次。至少經(jīng)歷一次。 條件覆蓋:條件覆蓋:保證程序中每個判斷的每個條件的可能取值保證程序中每個判斷的每個條件的可能取值 至少執(zhí)行一次。至少執(zhí)行一次。 判斷判斷- -條件覆蓋:條件覆蓋:使判斷中每個條件的所有可能取值至少使判斷中每個條件的所有可能取值至少 執(zhí)行一次,同時每個判斷的所有可能取值分支至少執(zhí)行一執(zhí)行一次,同時每個判斷的所有可能取值分支至少執(zhí)行一 次。次。 2021/3/10講解:XX35 將軟件看成黑盒子,將軟件看成黑盒子,不考慮程

35、序內(nèi)部細節(jié)、結(jié)構(gòu)和實現(xiàn)方不考慮程序內(nèi)部細節(jié)、結(jié)構(gòu)和實現(xiàn)方 式,僅僅測試軟件的基本功能是否滿足需要。式,僅僅測試軟件的基本功能是否滿足需要。 黑盒測試主要用于軟件的確認(rèn)測試。黑盒測試主要用于軟件的確認(rèn)測試。 根據(jù)程序的根據(jù)程序的功能說明來功能說明來設(shè)計測試用例,基本設(shè)計方法有設(shè)計測試用例,基本設(shè)計方法有 等價類劃分法:等價類劃分法:典型黑盒測試方法,將程序的所有可能的輸入數(shù)據(jù)典型黑盒測試方法,將程序的所有可能的輸入數(shù)據(jù) 劃分成若干部分(及若干等價類),然后從每個等價類中選取數(shù)據(jù)作劃分成若干部分(及若干等價類),然后從每個等價類中選取數(shù)據(jù)作 為測試用例。為測試用例。 邊界值分析法:邊界值分析法:它

36、是對各種輸入、輸出范圍的邊界情況設(shè)計測試用它是對各種輸入、輸出范圍的邊界情況設(shè)計測試用 例的方法。例的方法。 錯誤推測法:錯誤推測法:人們可以靠經(jīng)驗和直覺推測程序中可能存在的各種人們可以靠經(jīng)驗和直覺推測程序中可能存在的各種 錯誤,從而有針對性地編寫檢查這些錯誤的用例。錯誤,從而有針對性地編寫檢查這些錯誤的用例。 2021/3/10講解:XX36 單元測試:單元測試:對軟件的最小單位對軟件的最小單位模塊進行測試,目的是發(fā)模塊進行測試,目的是發(fā) 現(xiàn)各現(xiàn)各模塊內(nèi)部模塊內(nèi)部可能存在的各種錯誤??赡艽嬖诘母鞣N錯誤。 集成測試:集成測試:將模塊組裝起來后進行測試,主要目的是發(fā)現(xiàn)將模塊組裝起來后進行測試,主

37、要目的是發(fā)現(xiàn) 與與接口有關(guān)接口有關(guān)的錯誤。的錯誤。 確認(rèn)測試:確認(rèn)測試:用戶根據(jù)合同進行,確認(rèn)用戶根據(jù)合同進行,確認(rèn)系統(tǒng)系統(tǒng)功能和性能的可功能和性能的可 接受性。接受性。 系統(tǒng)測試:系統(tǒng)測試:將軟件系統(tǒng)與硬件、外設(shè)及其他元素結(jié)合在一將軟件系統(tǒng)與硬件、外設(shè)及其他元素結(jié)合在一 起,對起,對整個軟件系統(tǒng)整個軟件系統(tǒng)進行測試,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合進行測試,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合 或與之矛盾的地方。或與之矛盾的地方。 2021/3/10講解:XX37 測試對象:測試對象:對軟件的最小單位對軟件的最小單位模塊模塊進行測試。進行測試。 目的:目的:發(fā)現(xiàn)各發(fā)現(xiàn)各模塊內(nèi)部模塊內(nèi)部可能存在的各種錯誤??赡艽?/p>

38、在的各種錯誤。 測試用例設(shè)計:測試用例設(shè)計:根據(jù)根據(jù)程序的內(nèi)部結(jié)構(gòu)程序的內(nèi)部結(jié)構(gòu),其依據(jù)是,其依據(jù)是詳細設(shè)詳細設(shè) 計說明書和源程序。計說明書和源程序。 測試技術(shù):測試技術(shù):通常以通常以白盒測試白盒測試為主,輔之以為主,輔之以黑盒測試黑盒測試 單元測試內(nèi)容:單元測試內(nèi)容:模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、錯誤模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、錯誤 處理測試和邊界測試處理測試和邊界測試。 2021/3/10講解:XX38 測試對象:測試對象:將模塊組裝起來后進行測試。將模塊組裝起來后進行測試。 目的:目的:發(fā)現(xiàn)與發(fā)現(xiàn)與接口有關(guān)接口有關(guān)的錯誤的錯誤 測試用例設(shè)計:測試用例設(shè)計:依據(jù)依據(jù)概要設(shè)計說明書概要設(shè)計說明書 2021/3/10講解:XX39 任務(wù):任務(wù):驗證驗證軟件的有

溫馨提示

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

最新文檔

評論

0/150

提交評論