2022年軟件工程知識點總結(jié)_第1頁
2022年軟件工程知識點總結(jié)_第2頁
2022年軟件工程知識點總結(jié)_第3頁
2022年軟件工程知識點總結(jié)_第4頁
2022年軟件工程知識點總結(jié)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 軟件工程(簡要知識點)一、. 軟件過程五個模型對比(瀑布模型、快速原型、增量、螺旋、噴泉模型)二、可行性研究:1、任務(wù):用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。2、四個方面:技術(shù)、經(jīng)濟、操作可行性、法律3、數(shù)據(jù)流圖四種成分: 1、源點 /終點 2、處理 3、數(shù)據(jù)存儲 4、數(shù)據(jù)流三、需求分析:1、任務(wù):確定系統(tǒng)必須完成哪些工作,對目標(biāo)系統(tǒng)提出完整、清晰、具體的要求。問題定義(確定題目)可行性研究需求分析概要設(shè)計詳細(xì)設(shè)計編碼和單元測試綜合測試系統(tǒng)設(shè)計系統(tǒng)實現(xiàn)軟件定義軟件開發(fā)運行維護:主要任務(wù)是使軟件持久地滿足用戶的需要軟件生命周期:精品學(xué)習(xí)資料 可選擇p d f - - - - -

2、 - - - - - - - - - 第 1 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 25 頁 - - - - - - - - -2 2、結(jié)構(gòu)化方法就是面向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法。3、實體聯(lián)系圖: 1、數(shù)據(jù)對象 2、屬性 3、聯(lián)系( 1:1 、1:n、m:n )四、總體設(shè)計:1. 任務(wù):回答“概括的說,系統(tǒng)應(yīng)該如何實現(xiàn)”,用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù),也就是說應(yīng)該確定系統(tǒng)的物理配置方案,并且進而確定組成系統(tǒng)的每個程序結(jié)構(gòu)。2. 系統(tǒng)設(shè)計階段(確

3、定系統(tǒng)具體實施方案)、結(jié)構(gòu)設(shè)計階段(確定軟件結(jié)構(gòu))3. 模塊獨立:內(nèi)聚和耦合4. 耦合表示一個軟件結(jié)構(gòu)內(nèi)各個模塊之間的互連程度,應(yīng)盡量選用松散耦合的系統(tǒng)5. 內(nèi)聚 (cohesion): 一個模塊內(nèi)各元素結(jié)合的緊密程度6. 面向數(shù)據(jù)流的設(shè)計方法:變換流和事務(wù)流精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 25 頁 - - - - - - - - -3 五、詳細(xì)設(shè)計:1. 任務(wù):確定應(yīng)該怎樣具

4、體的實現(xiàn)所要求的系統(tǒng),也就是說經(jīng)過這個階段的設(shè)計工作應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。2. 過程設(shè)計的工具(程序流程圖、盒圖、pad 圖、判定表、判定樹)七、測試:1、單元測試:又稱模塊測試。每個程序模塊完成一個相對獨立的子功能,所以可以對該模塊進行單獨的測試。由于每個模塊都有清晰定義的功能,所以通常比較容易設(shè)計相應(yīng)的測試方案,以檢驗每個模塊的正確性。2、集成測試:在單元測試完成后, 要考慮將模塊集成為系統(tǒng)的過程中可能出現(xiàn)的問題,例如,模塊之間的通信和協(xié)調(diào)問題,所以在單元測試結(jié)束之后還要進行集成測試。 這個步驟著重測試模塊間的接口

5、,子功能的組合是否達到了預(yù)期要求的功能,全程數(shù)據(jù)結(jié)構(gòu)是否有問題等。3、白盒測試技術(shù)(邏輯覆蓋、基本路經(jīng)測試)白盒測試時將程序看作是一個透明的盒子,也就是說測試人員完全了解程序的內(nèi)部結(jié)構(gòu)和處理過程。所以測試時按照程序內(nèi)部的邏輯測試程序、檢驗程序中的每條通路是否都能按預(yù)定的要求正確工作。白盒測試又稱為結(jié)構(gòu)測試。4、語句覆蓋就是設(shè)計足夠的調(diào)試用例,使得程序中的每個語句至少執(zhí)行一次。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - -

6、 - - - 第 3 頁,共 25 頁 - - - - - - - - -4 5、判定覆蓋就是設(shè)計足夠的測試用例,使得程序中每個判定的取“真”分支和取“假”分支至少都執(zhí)行一次,判定覆蓋又稱分支覆蓋6、條件覆蓋就是設(shè)計足夠的測試用例,使得程序判定中的每個條件能獲得各種可能的結(jié)果。7、判定條件覆蓋就是設(shè)計足夠的測試用例,使得判定中的每個條件都取到各種可能的值,而且每個判定表達式也都取到各種可能的結(jié)果。8、條件組合覆蓋就是設(shè)計足夠的測試用例,使得每個判定中的條件的各種可能組合都至少出現(xiàn)一次。9、黑盒測試技術(shù)(等價劃分)黑盒測試時完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程,只按照規(guī)格說明書的規(guī)定來檢查程序是否

7、符合它的功能要求。黑盒測試是在程序接口進行的測試,又稱為功能測試。1)、黑盒測試檢查的主要方面有:程序的功能是否正確或完善;數(shù)據(jù)的輸入能否正確接收,輸出是否正確;是否能保證外部信息(如數(shù)據(jù)文件)的完整性等。用黑盒法設(shè)計測試用例時,必須用所有可能的輸入數(shù)據(jù)來檢查程序是否都能產(chǎn)生正確的輸出 2 )、等價類劃分精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 25 頁 - - - - - - - -

8、-5 等價類的劃分在很大程度上依靠的是測試人員的經(jīng)驗,下面給出幾條基本原則:(1)如果輸入條件規(guī)定了取值范圍,則可劃分出一個有效的等價類(輸入值在此范圍內(nèi)) 和兩個無效的等價類 (輸入值小于最小值、輸入值大于最大值)。(2)如果輸入條件規(guī)定了輸入數(shù)據(jù)的個數(shù),則可相應(yīng)地劃分出一個有效的等價類 (輸入數(shù)據(jù)的個數(shù)等于給定的個數(shù)要求)和兩個無效的等價類(輸入數(shù)據(jù)的個數(shù)少于給定的個數(shù)要求、輸入數(shù)據(jù)的個數(shù)多于給定的個數(shù)要求)。(3)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序?qū)@組可能的值做相同的處理,則可將這組可能的值劃分為一個有效的等價類,而這些值以外的值劃分成無效的等價類。(4)如果輸入條件規(guī)

9、定了輸入數(shù)據(jù)的一組可能的值,但是程序?qū)Σ煌妮斎胫底霾煌奶幚恚瑒t每個輸入值是一個有效的等價類,此外還有一個無效的等價類(所有不允許值的集合)。(5)如果輸入條件規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分一個有效的等價類(符合規(guī)則)和若干個無效的等價類(從各種角度違反規(guī)則)。八、維護(改正性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護)九、決定軟件可維護性因素 (可理解性、可測試性、可修改性、可移植性、可重用性)十、對象模型 1、關(guān)聯(lián) 2、聚集 3、泛化 4、依賴和細(xì)化精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁,共 25 頁 - - - - -

10、 - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁,共 25 頁 - - - - - - - - -6 軟件工程(詳細(xì)復(fù)習(xí)內(nèi)容)第一章 緒論1.1 軟件危機1、軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。(熟記)2、了解軟件危機主要的一些典型表現(xiàn)。3、出現(xiàn)軟件危機的原因:4、消除軟件危機的途徑:首先,我們要對計算機軟件有一個正確的認(rèn)識;更重要的是,必須充分認(rèn)識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)格、各類人員協(xié)同配合、共同完成的工程項目;最后,應(yīng)該開發(fā)和使用更好的軟件工具。總之,為

11、了解決軟件危機,既要有技術(shù)措施(方法和工具) ,又要有必要的組織管理措施。1.2 軟件工程1、軟件工程:采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。(熟記)2、了解軟件工程的本質(zhì)特征:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁,共 25 頁 - - - - - - - -

12、-7 1 )、軟件工程關(guān)注于大型程序的構(gòu)造 2 )、軟件工程的中心課題是控制復(fù)雜性 3 )、軟件經(jīng)常變化 4 )、開發(fā)軟件的效率非常重要 5 )、和諧的合作是開發(fā)軟件的關(guān)鍵 6 )、軟件必須有效地支持它的用戶 7 ) 、在軟件工程的領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品3、缺乏應(yīng)用領(lǐng)域地相關(guān)知識,是軟件開發(fā)項目出現(xiàn)問題的常見原因。4、軟件工程的基本原理: 1 )、用分階段的生命周期計劃嚴(yán)格管理 2 )、堅持進行階段審評 3 )、實行嚴(yán)格的產(chǎn)品控制 4 )、采用現(xiàn)代程序設(shè)計技術(shù) 5 )、結(jié)果應(yīng)能清楚地審查 6 )、開發(fā)小組的人員應(yīng)該少而精 7 )、承認(rèn)不斷改進軟件工程實

13、踐的必要性5、方法學(xué)(范型):在軟件生命周期全過程中使用的一整套技術(shù)方法的集合。6、軟件工程方法學(xué)3 要素:方法、工具和過程。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁,共 25 頁 - - - - - - - - -8 7、目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)8、傳統(tǒng)方法學(xué)也成為生命周期方法學(xué)或結(jié)構(gòu)化范型。9、面向?qū)ο蠓椒▽W(xué)具有的4 個要點。1.3 軟件生命周期

14、1、概括地說,軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也稱為軟件維護) 3 個時期組成,每個時期又進一步劃分成若干個階段。2、軟件定義時期的任務(wù)3、軟件定義時期通常進一步劃分成3 個階段:問題定義、可行性研究、需求分析4、維護時期的主要任務(wù)是使軟件持久地滿足用戶的需要。5、軟件開發(fā)時期通常分成4 個階段:總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試。前兩個階段又稱為系統(tǒng)設(shè)計,后兩個階段又稱為系統(tǒng)實現(xiàn)。6、軟件生命周期每個階段的基本任務(wù):問題定義、可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試。1.4 軟件工程生命周期模型 (過程模型) :瀑布模型、快速原型模型、增量模型

15、、螺旋模型、噴泉模型。(對各種模型要了解)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁,共 25 頁 - - - - - - - - -9 第 2 章 可行性分析可行性分析的目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。2.1 可行性研究的任務(wù)1. 研究解法的可行性的四個方面:技術(shù)可行性、經(jīng)濟可行性、操作可行性、法律可行性。2. 可行性研究最根本的任務(wù):對以后的行動方針提出建議。3.

16、 可行性研究需要的時間長短取決于工程的規(guī)模。2.2 可行性研究過程1. 復(fù)查系統(tǒng)規(guī)模和目標(biāo)2. 研究目前正在試用的系統(tǒng)3. 導(dǎo)出新系統(tǒng)的高層邏輯模型4. 進一步定義問題5. 導(dǎo)出和評價供選擇的解法6. 推薦行動方針7. 草擬開發(fā)計劃8. 書寫文檔提交審查2.3 系統(tǒng)流程圖1、系統(tǒng)流程圖:概括地描繪物理系統(tǒng)的工具。2、系統(tǒng)流程圖的基本思想:用圖形符號以黑盒子形式描繪組系統(tǒng)的每個部件(程序、文檔、數(shù)據(jù)庫、人工過程等)。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 9 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f -

17、 - - - - - - - - - - - - - 第 9 頁,共 25 頁 - - - - - - - - -10 3、p39符號4、系統(tǒng)流程圖的習(xí)慣畫法:使信息在圖中從頂向下或從左向右流動。5、面對復(fù)雜的系統(tǒng)時,一個比較好的方法時分層次地描繪這個系統(tǒng)。2.4 數(shù)據(jù)流圖1. 數(shù)據(jù)流圖(dfd ):一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。2. 數(shù)據(jù)流圖的四種基本符號3. 數(shù)據(jù)存儲(靜止?fàn)顟B(tài))和數(shù)據(jù)流(運動)都是數(shù)據(jù)。4. 數(shù)據(jù)流圖的基本要點是描繪“做什么”,而不是考慮“怎么做”。5. 星號(*)是數(shù)據(jù)流之間的“與”關(guān)系;加號(+)表示“或”關(guān)系;號表示只能從中

18、選一個(互斥關(guān)系)。6. 畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。2.5 數(shù)據(jù)字典1. 數(shù)據(jù)字典應(yīng)由對下列4 類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量(即數(shù)據(jù)元素)、數(shù)據(jù)存儲、處理。2. 由數(shù)據(jù)元素組成數(shù)據(jù)的方式的三種基本類型:順序、選擇、重復(fù)。+可選精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁,共 25 頁 - - - - - - - - -11 3. 用以下符號描述由數(shù)據(jù)元素組成數(shù)據(jù)

19、的關(guān)系:=意思是等價于(或定義為)、 +意思是和(即連接兩個分量)、 意思是或(通常用“| ”號隔開供選擇的分量)、 意思是重復(fù)、()意思是可選。4. 數(shù)據(jù)字典最重要的用途是作為分析階段的工具。2.6 成本/ 效益分析1. 成本/ 效益分析的目的:從經(jīng)濟角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出是否投資于這項開發(fā)工程的決定。2. 軟件開發(fā)成本:主要表現(xiàn)為人力消耗。第 3 章 需求分析1、需求分析是軟件定義時期的最后一個階段。2、基本任務(wù):準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個問題。3、用于需求分析的結(jié)構(gòu)化分析方法必須遵守下述準(zhǔn)則:(1) 、必須理解并描述問題的信息域,

20、根據(jù)這條準(zhǔn)則應(yīng)該應(yīng)該建立數(shù)據(jù)模型。 e-r圖(2)、必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型。數(shù)據(jù)流圖(3) 、必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型。狀態(tài)圖精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁,共 25 頁 - - - - - - - - -12 (4) 、必須對描述信息、功能和行為的模型進行分解,用層次的方式展開細(xì)節(jié)。3.1 需求分析的任務(wù)4、對軟

21、件系統(tǒng)的綜合要求:功能需求、性能需求、可靠性和可用性需求、出錯處理需求、接口需求、約束、逆向需求、將來可能提出的要求。5、需求分析的任務(wù):確定對系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導(dǎo)出系統(tǒng)的邏輯模型修正系統(tǒng)開發(fā)計劃3.2 與用戶溝通獲取需求的方法1、訪談、面向數(shù)據(jù)流自頂向下求精、簡易地應(yīng)用規(guī)格說明技術(shù),快速建立軟件原型。2、結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下求精進行需求分析的方法。3、快速建立軟件原型是最準(zhǔn)確、最有效、最強大的需求分析技術(shù)。3.3 分析建模與規(guī)格說明1、需求分析過程應(yīng)建立3 種模型:數(shù)據(jù)模型、功能模型、行為模型。2、數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)。3、狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。精

22、品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 12 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 12 頁,共 25 頁 - - - - - - - - -13 3.4 實體- 聯(lián)系圖( e-r)e-r圖中包含著實體(即數(shù)據(jù)對象)、關(guān)系和屬性3 種基本成分。第 5 章 總體設(shè)計5.1 設(shè)計過程總體設(shè)計過程通常有兩個主要階段組成:系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計階段,確定軟件的結(jié)構(gòu)。典型的總體設(shè)計過程包括下述9 個步驟: 1 )、設(shè)想選擇的方

23、案需求分析階段得出的數(shù)據(jù)流程圖是總體設(shè)計的極好的出發(fā)點。 2 )、選擇合理的方案對每個合理的方案,分析員都應(yīng)準(zhǔn)備下列四份材料: a.系統(tǒng)流程圖 b.組成系統(tǒng)的物理元素清單 c.成本/ 效益分析 d.實現(xiàn)各個系統(tǒng)的進度計劃 3 )、推薦最佳方案 4 )、功能分解 5 )、設(shè)計軟件結(jié)構(gòu)軟件結(jié)構(gòu)可以用層次圖或結(jié)構(gòu)圖來描繪。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁,共 25 頁 - - - -

24、- - - - -14 6)、設(shè)計數(shù)據(jù)庫 7 )、制定測試計劃 8 )、書寫文檔這個階段完成的文檔有:系統(tǒng)說明、用戶手冊、測試計劃、詳細(xì)的實現(xiàn)計劃、數(shù)據(jù)庫設(shè)計結(jié)果。 9 )、審查和復(fù)查5.2 設(shè)計原理1. 模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨立2. 模塊是由邊界元素限定的相鄰程序元素的序列,而且有一個總體標(biāo)識符代表它。3. 模塊是構(gòu)成程序的基本構(gòu)件。4. 模塊化就是把程序分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。5. 抽象:把相似的方面集中和概括起來,暫時忽略它們之間的差異,或者說,抽出事物的本質(zhì)特性而

25、暫時不考慮它們之間的細(xì)節(jié)。6. 逐步求精是人類解決復(fù)雜問題時采用的基本方法,也是許多軟件工程技術(shù)的基礎(chǔ)。定義:為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)的考慮。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁,共 25 頁 - - - - - - - - -15 7. 信息隱藏原理指出:應(yīng)該這樣設(shè)計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。

26、8. 局部化:把一些關(guān)系密切的軟件元素物理地放得彼此靠近。9. 模塊獨立的概念是模塊化,抽象,信息隱藏和局部化概念的直接結(jié)果。10.模塊獨立化重要性的原因:第一,有效地模塊化的軟件比較容易開發(fā)出來;第二,獨立的模塊化比較容易測試和維護。11.模塊的獨立程度可以由兩個定性標(biāo)準(zhǔn)度量,這兩個標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合。12.耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。13.耦合的強弱取決于模塊間接口的復(fù)雜程度,進入或訪問一個模塊的點,以及通過接口的數(shù)據(jù)。14.如果兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。15.如果傳遞的信息中有控制信息 (盡管有時這種控制

27、信息以數(shù)據(jù)的形式出現(xiàn)),則這種耦合稱為控制耦合。16.數(shù)據(jù)耦合是低耦合。17.最高程度的耦合式內(nèi)容耦合。18.內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴展。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁,共 25 頁 - - - - - - - - -16 19.偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚5.3 啟發(fā)規(guī)則1. 軟件結(jié)構(gòu)提高模塊獨立性2. 模塊規(guī)模應(yīng)該適中

28、3. 深度、寬度、扇出和扇入都應(yīng)適當(dāng)4. 模塊的應(yīng)用域應(yīng)該在控制域之內(nèi)5. 力爭降低模塊接口的復(fù)雜程度6. 設(shè)計單入口單出口的模塊7. 模塊功能應(yīng)該可以預(yù)測5.4 描繪軟件結(jié)構(gòu)的圖形工具1、層次圖和 hipo圖2、結(jié)構(gòu)圖5.5 面向數(shù)據(jù)流的設(shè)計方法1. 面向數(shù)據(jù)流的設(shè)計方法把信息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法。2. 信息流分成兩種類型:變化流、事物流(概念)3. 變換分析是一系列設(shè)計步驟的總稱,經(jīng)過這些步驟吧具有變換流特點的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。4. 變換分析的設(shè)計步驟。第 6 章詳細(xì)設(shè)計精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - -

29、- - - - 第 16 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 16 頁,共 25 頁 - - - - - - - - -17 目標(biāo): 1. 確定應(yīng)該怎樣具體的實現(xiàn)所要求的系統(tǒng) 2. 設(shè)計出程序的“藍(lán)圖” 3. 詳細(xì)設(shè)計的結(jié)果基本決定了最終的程序代碼的質(zhì)量6.1 結(jié)構(gòu)程序設(shè)計1. 概念:結(jié)果程序設(shè)計是一種設(shè)計程序的技術(shù),它采用自頂向下逐步求精的的設(shè)計方法和單入口但出口的控制結(jié)構(gòu)。2. 三種基本控制結(jié)構(gòu): 1 )順序結(jié)構(gòu):相當(dāng)于“ a、b” 2 )選擇結(jié)構(gòu):相當(dāng)于“ if exp then

30、a else b endif;” 3) 循環(huán)結(jié)構(gòu):相當(dāng)于“ while exp do a ”3. 擴充的兩種控制結(jié)構(gòu): 1 )多分支結(jié)構(gòu):相當(dāng)于“ case i of i=1:c1; i=n:cn; ” 2)until 循環(huán)結(jié)構(gòu):相當(dāng)于“ repeat a until exp;”6.3 過程設(shè)計的工具6.3.1 程序流程圖程序流程圖:是一種描述程序的控制結(jié)構(gòu)流程和指令執(zhí)行情況的有向圖。程序流程圖的主要缺點:1) 程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - -

31、 - 第 17 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 17 頁,共 25 頁 - - - - - - - - -18 2) 程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的精神,隨意轉(zhuǎn)移控制。3) 程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。6.3.2 盒圖盒圖特點:1) 功能域明確,可以從盒圖上一眼就看出來。2) 不可能任意轉(zhuǎn)移控制。3) 很容易確定局部和全程數(shù)據(jù)的作用域。4) 很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。pad圖是一種問題分析圖。 pad圖優(yōu)點:1)

32、使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的pad符號所設(shè)計出來的程序必然是結(jié)構(gòu)化程序2) pad圖所描繪的程序結(jié)構(gòu)十分清晰。圖中最左面的豎線是程序的主線,即第一層結(jié)構(gòu)。隨著德程序?qū)哟蔚脑黾?,pad圖逐漸向右延伸,每次增加一個層次,圖形向右擴展豎線。pad圖中豎線的總條數(shù)就是程序的層次數(shù)。3) 用 pad圖表現(xiàn)程序邏輯,易懂、易讀、易記。pad圖是二維樹形結(jié)構(gòu)的圖形,程序從圖中最左豎線上端的結(jié)點開始執(zhí)行,自上而下,從左向右順序執(zhí)行,遍歷所有結(jié)點。4) 容易將 pad圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。精品學(xué)習(xí)資料 可選擇p d f -

33、- - - - - - - - - - - - - 第 18 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 18 頁,共 25 頁 - - - - - - - - -19 5) 即可用于表示程序邏輯,也可用于描繪數(shù)據(jù)結(jié)構(gòu)。6) pad圖的符號支持自頂向下、逐步求精方法的使用。開始時設(shè)計者可以定義一個抽象的程序,隨著設(shè)計工作的深入而使用def 符號逐步增加細(xì)節(jié),直至完成詳細(xì)設(shè)計。判定表判定表由四部分組成:左上部列出所有條件;左下部是所有可能做的動作;右上部是表示各種條件組合的一個矩陣;右下部是和每種

34、條件組合相對應(yīng)的動作6.3.5 判定樹判定樹是判定表的變種。過程設(shè)計語言過程設(shè)計語言( pdl )也稱為偽碼。pdl的優(yōu)點:1) 可以作為注釋的直接插在源程序中間2) 可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成pdl 的書寫和編輯工作3) 已經(jīng)有自動處理pdl的程序存在,而且可以自動由pdl生成程序代碼。pdl缺點:不如圖形工具形象直觀。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 19 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 19

35、頁,共 25 頁 - - - - - - - - -20 第 7 章測試概念:編碼和測試統(tǒng)稱為實現(xiàn)。編碼:把軟件設(shè)計結(jié)果翻譯成程序。測試:檢測程序并改正錯誤的過程。7.2 軟件測試基礎(chǔ)1. 有關(guān)測試的一些規(guī)則:1) 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程2) 好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試3) 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試2. 測試方法1)黑盒測試2)白盒測試3. 測試步驟單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試4、單元測試重點:模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行通路、出錯處理通路、邊界條件5、集成測試自頂向下集成自頂向下集成是一種遞增的裝配軟件結(jié)構(gòu)的

36、方法,這種應(yīng)用方法非常廣泛。它需要存根程序,不需要驅(qū)動程序。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 20 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 20 頁,共 25 頁 - - - - - - - - -21 自底向上集成自底向上集成是從軟件結(jié)構(gòu)最底層模塊開始進行組裝和測試,它與自頂向下結(jié)合方法相反,需要驅(qū)動程序,但是不需要存根程序。6、確認(rèn)測試確認(rèn)測試的兩種可能的結(jié)果:功能和性能與用戶要求一致,軟件是可以接受的功能和性能與用戶要求有差距7

37、、alpha 和 beta 測試alpha 測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導(dǎo)”下進行測試。beta 測試由軟件的最終用戶在一個或多個客戶場所進行8、白盒測試邏輯覆蓋、語句覆蓋、判定覆蓋、條件覆蓋、判定/ 條件覆蓋、條件組合覆蓋點覆蓋、邊覆蓋、路徑覆蓋9、 黑盒測試技術(shù)等價劃分、邊界值分析、錯誤推斷10、調(diào)試調(diào)試過程調(diào)試途徑:蠻干法、回溯法、原因排除法精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 21 頁,共 25 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 21 頁,共 25 頁 - - - - - - - - -22 第 8 章維護8.1 軟件維護定義1. 軟件維護就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。2. 維護的種類:改正性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護8.2 軟件的可維護性決定軟件可維護性的因素可理解性、可測試性、可修改性、可移植性、可重用性文檔是影響軟件可維護性的決定因素。包括: 1)用戶文檔2)系統(tǒng)文檔第 9 章面向?qū)ο蠓椒▽W(xué)引論精品學(xué)習(xí)資料 可選擇p d

溫馨提示

  • 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

提交評論