




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程(簡(jiǎn)要知識(shí)點(diǎn))軟件生命周期:軟件開發(fā)問題定義(確定題目) 可行性研究 需求分析系統(tǒng)設(shè)計(jì)概要設(shè)計(jì) 詳細(xì)設(shè)計(jì)編碼和單兀測(cè)試綜合測(cè)試I運(yùn)行維護(hù):主要任務(wù)是使軟件持久地滿足用戶的需要一、.軟件過(guò)程五個(gè)模型對(duì)比(瀑布模型、快速原型、增量、螺旋、 噴泉模型)二、可行性研究:1、任務(wù):用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。2、四個(gè)方面:技術(shù)、經(jīng)濟(jì)、操作可行性、法律3、 數(shù)據(jù)流圖四種成分:1、源點(diǎn)/終點(diǎn)2、處理3、數(shù)據(jù)存儲(chǔ)4、數(shù)據(jù) 流三、需求分析:1、任務(wù):確定系統(tǒng)必須完成哪些工作,對(duì)目標(biāo)系統(tǒng)提出完整、清 晰、具體的要求。2、結(jié)構(gòu)化方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方 法。
2、3、實(shí)體聯(lián)系圖:1、數(shù)據(jù)對(duì)象2、屬性3、聯(lián)系(1:1、1: N、M:N四、總體設(shè)計(jì):1. 任務(wù):回答“概括的說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)”,用比較抽象概括的 方式確定系統(tǒng)如何完成預(yù)定的任務(wù),也就是說(shuō)應(yīng)該確定系統(tǒng)的物理配 置方案,并且進(jìn)而確定組成系統(tǒng)的每個(gè)程序結(jié)構(gòu)。2. 系統(tǒng)設(shè)計(jì)階段(確定系統(tǒng)具體實(shí)施方案)、結(jié)構(gòu)設(shè)計(jì)階段(確定 軟件結(jié)構(gòu))3. 模塊獨(dú)立:內(nèi)聚和耦合4. 耦合表示一個(gè)軟件結(jié)構(gòu)內(nèi)各個(gè)模塊之間的互連程度,應(yīng)盡量選用松散耦合的系統(tǒng)M新合性高數(shù)脫令標(biāo)洽控刪合內(nèi)箭洽強(qiáng)_模塊啦It弱5.內(nèi)聚(Cohesion):個(gè)模塊內(nèi)各元素結(jié)合的緊密程度高內(nèi)聚性低功能內(nèi)聚信息內(nèi)聚通f訥聚過(guò)程內(nèi)聚時(shí)間內(nèi)聚邏輯內(nèi)聚巧合
3、內(nèi)聚強(qiáng)摸塊獨(dú)立性弱功能單一功能分散6.面向數(shù)據(jù)流的設(shè)計(jì)方法:變換流和事務(wù)流五、詳細(xì)設(shè)計(jì):1. 任務(wù):確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng), 也就是說(shuō)經(jīng)過(guò)這個(gè) 階段的設(shè)計(jì)工作應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可 以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。2. 過(guò)程設(shè)計(jì)的工具(程序流程圖、盒圖、 PAD圖、判定表、判定樹)七、測(cè)試:1、單元測(cè)試:又稱模塊測(cè)試。每個(gè)程序模塊完成一個(gè)相對(duì)獨(dú)立的子 功能,所以可以對(duì)該模塊進(jìn)行單獨(dú)的測(cè)試。由于每個(gè)模塊都有清晰 定義的功能,所以通常比較容易設(shè)計(jì)相應(yīng)的測(cè)試方案,以檢驗(yàn)每個(gè) 模塊的正確性。2、集成測(cè)試:在單元測(cè)試完成后,要考慮將模塊集成為系統(tǒng)的
4、過(guò)程中可能出現(xiàn)的問 題,例如,模塊之間的通信和協(xié)調(diào)問題,所以在單元測(cè)試結(jié)束之后還 要進(jìn)行集成測(cè)試。這個(gè)步驟著重測(cè)試模塊間的接口, 子功能的組合是 否達(dá)到了預(yù)期要求的功能,全程數(shù)據(jù)結(jié)構(gòu)是否有問題等。3、白盒測(cè)試技術(shù)(邏輯覆蓋、基本路經(jīng)測(cè)試)白盒測(cè)試時(shí)將程序看作是一個(gè)透明的盒子,也就是說(shuō)測(cè)試人員 完全了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。所以測(cè)試時(shí)按照程序內(nèi)部的 邏輯測(cè)試程序、檢驗(yàn)程序中的每條通路是否都能按預(yù)定的要求正確 工作。白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。4、語(yǔ)句覆蓋就是設(shè)計(jì)足夠的調(diào)試用例,使得程序中的每個(gè)語(yǔ)句至少 執(zhí)行一次。5、判定覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得程序中每個(gè)判定的取“真”分支和取“假”分支至
5、少都執(zhí)行一次,判定覆蓋又稱分支覆rm6、條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得程序判定中的每個(gè)條件 能獲得各種可能的結(jié)果。7、判定/條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得判定中的每個(gè)條 件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的8條件組合覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中的條件 的各種可能組合都至少出現(xiàn)一次。9、黑盒測(cè)試技術(shù)(等價(jià)劃分)黑盒測(cè)試時(shí)完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過(guò)程,只按照規(guī) 格說(shuō)明書的規(guī)定來(lái)檢查程序是否符合它的功能要求。黑盒測(cè)試是在 程序接口進(jìn)行的測(cè)試,又稱為功能測(cè)試。1)、黑盒測(cè)試檢查的主要方面有:程序的功能是否正確或完善;數(shù)據(jù)的輸入能否正確接收,輸出是否
6、正確;是否能保證外部信息(如數(shù)據(jù)文件)的完整性等。用黑盒法設(shè)計(jì)測(cè)試用例時(shí),必須用所有可能的輸入數(shù)據(jù)來(lái)檢查程序 是否都能產(chǎn)生正確的輸出2)、等價(jià)類劃分等價(jià)類的劃分在很大程度上依靠的是測(cè)試人員的經(jīng)驗(yàn),下面給出幾條基本原則:(1)如果輸入條件規(guī)定了取值范圍,則可劃分出一個(gè)有效的等價(jià)類(輸入值在此范圍內(nèi))和兩個(gè)無(wú)效的等價(jià)類(輸入值小于最小值、輸 入值大于最大值)。(2)如果輸入條件規(guī)定了輸入數(shù)據(jù)的個(gè)數(shù),則可相應(yīng)地劃分出一個(gè) 有效的等價(jià)類(輸入數(shù)據(jù)的個(gè)數(shù)等于給定的個(gè)數(shù)要求) 和兩個(gè)無(wú)效的 等價(jià)類(輸入數(shù)據(jù)的個(gè)數(shù)少于給定的個(gè)數(shù)要求、輸入數(shù)據(jù)的個(gè)數(shù)多于 給定的個(gè)數(shù)要求)。(3)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一
7、組可能的值,而且程序?qū)@ 組可能的值做相同的處理,則可將這組可能的值劃分為一個(gè)有效的 等價(jià)類,而這些值以外的值劃分成無(wú)效的等價(jià)類。(4)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,但是程序?qū)Σ?同的輸入值做不同的處理,則每個(gè)輸入值是一個(gè)有效的等價(jià)類,此 外還有一個(gè)無(wú)效的等價(jià)類(所有不允許值的集合)。(5)如果輸入條件規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分一 個(gè)有效的等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效的等價(jià)類(從各種角度違 反規(guī)則)。八、維護(hù)(改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù))九、決定軟件可維護(hù)性因素(可理解性、可測(cè)試性、可修改性、可移 植性、可重用性)十、對(duì)象模型1、關(guān)聯(lián)2、聚集3、
8、泛化4、依賴和細(xì)化軟件工程(詳細(xì)復(fù)習(xí)內(nèi)容) 第一章緒論1.1軟件危機(jī)1、軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列 嚴(yán)重問題。(熟記)2、了解軟件危機(jī)主要的一些典型表現(xiàn)。3、出現(xiàn)軟件危機(jī)的原因:4、消除軟件危機(jī)的途徑:首先,我們要對(duì)計(jì)算機(jī)軟件有一個(gè)正確的 認(rèn)識(shí);更重要的是,必須充分認(rèn)識(shí)到軟件開發(fā)不是某種個(gè)體勞動(dòng)的 神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)格、各類人員協(xié)同配合、共同完成的工程項(xiàng)目;最后,應(yīng)該開發(fā)和使用更好的軟件工 具??傊瑸榱私鉀Q軟件危機(jī),既要有技術(shù)措施 (方法和工具),又要有 必要的組織管理措施。1.2軟件工程1、軟件工程:采用工程的概念、原理、技術(shù)和方法來(lái)開發(fā)和
9、維護(hù)軟 件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好 的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù) 它。(熟記)2、了解軟件工程的本質(zhì)特征: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)知識(shí),是軟件開發(fā)項(xiàng)目出現(xiàn)問題的常見原 因。4、軟件工程的基本原理:1 )、用分階段的生命周期計(jì)劃嚴(yán)格管理2 )、堅(jiān)持進(jìn)行階段審評(píng)3
10、)、實(shí)行嚴(yán)格的產(chǎn)品控制4 )、采用現(xiàn)代程序設(shè)計(jì)技術(shù)5 )、結(jié)果應(yīng)能清楚地審查6 )、開發(fā)小組的人員應(yīng)該少而精7 )、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性5、方法學(xué)(范型):在軟件生命周期全過(guò)程中使用的一整套技術(shù)方 法的集合。6、軟件工程方法學(xué)3要素:方法、工具和過(guò)程。7、目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向 對(duì)象方法學(xué)8傳統(tǒng)方法學(xué)也成為生命周期方法學(xué)或結(jié)構(gòu)化范型。9、面向?qū)ο蠓椒▽W(xué)具有的4個(gè)要點(diǎn)。1.3軟件生命周期1、概括地說(shuō),軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)(也 稱為軟件維護(hù))3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階 段。2、軟件定義時(shí)期的任務(wù)3、軟件定義時(shí)期通
11、常進(jìn)一步劃分成 3個(gè)階段:?jiǎn)栴}定義、可行性研 究、需求分析4、維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。5、軟件開發(fā)時(shí)期通常分成4個(gè)階段:總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和 單元測(cè)試、綜合測(cè)試。前兩個(gè)階段又稱為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又 稱為系統(tǒng)實(shí)現(xiàn)。6、軟件生命周期每個(gè)階段的基本任務(wù):?jiǎn)栴}定義、可行性研究、需 求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試。1.4軟件工程生命周期模型(過(guò)程模型):瀑布模型、快速原型模型、增量模型、 螺旋模型、噴泉模型。(對(duì)各種模型要了解)第2章可行性分析 可行性分析的目的:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是 否能夠解決。2.1可行性研究的任務(wù)1. 研究
12、解法的可行性的四個(gè)方面:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可 行性、法律可行性。2. 可行性研究最根本的任務(wù):對(duì)以后的行動(dòng)方針提出建議。3. 可行性研究需要的時(shí)間長(zhǎng)短取決于工程的規(guī)模。2.2可行性研究過(guò)程1. 復(fù)查系統(tǒng)規(guī)模和目標(biāo)2. 研究目前正在試用的系統(tǒng)3. 導(dǎo)出新系統(tǒng)的高層邏輯模型4. 進(jìn)一步定義問題5. 導(dǎo)出和評(píng)價(jià)供選擇的解法6. 推薦行動(dòng)方針7. 草擬開發(fā)計(jì)劃8. 書寫文檔提交審查2.3系統(tǒng)流程圖1、系統(tǒng)流程圖:概括地描繪物理系統(tǒng)的工具。2、系統(tǒng)流程圖的基本思想:用圖形符號(hào)以黑盒子形式描繪組系統(tǒng)的 每個(gè)部件(程序、文檔、數(shù)據(jù)庫(kù)、人工過(guò)程等)。3、P39符號(hào)4、系統(tǒng)流程圖的習(xí)慣畫法:使信息在圖
13、中從頂向下或從左向右流 動(dòng)。5、面對(duì)復(fù)雜的系統(tǒng)時(shí),一個(gè)比較好的方法時(shí)分層次地描繪這個(gè)系 統(tǒng)。2.4數(shù)據(jù)流圖1. 數(shù)據(jù)流圖(DFD :種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入 移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。2. 數(shù)據(jù)流圖的四種基本符號(hào)3. 數(shù)據(jù)存儲(chǔ)(靜止?fàn)顟B(tài))和數(shù)據(jù)流(運(yùn)動(dòng))都是數(shù)據(jù)。4. 數(shù)據(jù)流圖的基本要點(diǎn)是描繪“做什么”,而不是考慮“怎么 做”。5. 星號(hào)(* )是數(shù)據(jù)流之間的“與”關(guān)系;加號(hào)(+)表示“或”關(guān) 系;號(hào)表示只能從中選一個(gè)(互斥關(guān)系)。6. 畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。2.5數(shù)據(jù)字典1. 數(shù)據(jù)字典應(yīng)由對(duì)下列4類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量(即數(shù)據(jù)元素)
14、、數(shù)據(jù)存儲(chǔ)、處理。2. 由數(shù)據(jù)元素組成數(shù)據(jù)的方式的三種基本類型:順序、選擇、重復(fù)。+可選3. 用以下符號(hào)描述由數(shù)據(jù)元素組成數(shù)據(jù)的關(guān)系:二意思是等價(jià)于(或定義為)、+意思是和(即連接兩個(gè)分量)、意思是或(通常 用“|”號(hào)隔開供選擇的分量)、 意思是重復(fù)、()意思是可 選。4. 數(shù)據(jù)字典最重要的用途是作為分析階段的工具。2.6成本/效益分析1. 成本/效益分析的目的:從經(jīng)濟(jì)角度分析開發(fā)一個(gè)特定的新系統(tǒng) 是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出是否投資于這 項(xiàng)開發(fā)工程的決定。2. 軟件開發(fā)成本:主要表現(xiàn)為人力消耗。第3章需求分析1、需求分析是軟件定義時(shí)期的最后一個(gè)階段。2、基本任務(wù):準(zhǔn)確地回答“
15、系統(tǒng)必須做什么? ”這個(gè)問題。3、用于需求分析的結(jié)構(gòu)化分析方法必須遵守下述準(zhǔn)則:(1)、必須理解并描述問題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該應(yīng)該建 立數(shù)據(jù)模型。E-R圖(2)、必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模 型。數(shù)據(jù)流圖(3)、必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建 立行為模型。狀態(tài)圖(4) 、必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展開細(xì)節(jié)。3.1需求分析的任務(wù)4、對(duì)軟件系統(tǒng)的綜合要求:功能需求、性能需求、可靠性和可用性 需求、出錯(cuò)處理需求、接口需求、約束、逆向需求、將來(lái)可能提出 的要求。5、需求分析的任務(wù):確定對(duì)系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導(dǎo)出系統(tǒng)的
16、邏輯模型修正系統(tǒng)開發(fā)計(jì)劃3.2與用戶溝通獲取需求的方法1、訪談、面向數(shù)據(jù)流自頂向下求精、簡(jiǎn)易地應(yīng)用規(guī)格說(shuō)明技術(shù),快 速建立軟件原型。2、結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下求精進(jìn)行需求分析的方 法。3、快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)。3.3分析建模與規(guī)格說(shuō)明1、需求分析過(guò)程應(yīng)建立3種模型:數(shù)據(jù)模型、功能模型、行為模 型。2、數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)。3、狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。3.4實(shí)體-聯(lián)系圖(E-R)E-R圖中包含著實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性3種基本成分第5章總體設(shè)計(jì) 5.1設(shè)計(jì)過(guò)程 總體設(shè)計(jì)過(guò)程通常有兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng) 的具體實(shí)現(xiàn)
17、方案;結(jié)構(gòu)設(shè)計(jì)階段,確定軟件的結(jié)構(gòu)。典型的總體設(shè)計(jì)過(guò)程包括下述 9個(gè)步驟:1 )、設(shè)想選擇的方案需求分析階段得出的數(shù)據(jù)流程圖是總體設(shè)計(jì)的極好的出發(fā)點(diǎn)。2 )、選擇合理的方案對(duì)每個(gè)合理的方案,分析員都應(yīng)準(zhǔn)備下列四份材料:A.系統(tǒng)流程圖B.組成系統(tǒng)的物理兀素清單C.成本/效益分析D.實(shí)現(xiàn)各個(gè)系統(tǒng)的進(jìn)度計(jì)劃3 )、推薦最佳方案4 )、功能分解5 )、設(shè)計(jì)軟件結(jié)構(gòu)軟件結(jié)構(gòu)可以用層次圖或結(jié)構(gòu)圖來(lái)描繪6)、設(shè)計(jì)數(shù)據(jù)庫(kù)7 )、制定測(cè)試計(jì)劃8 )、書寫文檔這個(gè)階段完成的文檔有:系統(tǒng)說(shuō)明、用戶手冊(cè)、測(cè)試計(jì)劃、詳細(xì)的實(shí)現(xiàn)計(jì)劃、數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)果。9 )、審查和復(fù)查5.2設(shè)計(jì)原理1. 模塊化、抽象、逐步求精、信息隱藏和
18、局部化、模塊獨(dú)立2. 模塊是由邊界元素限定的相鄰程序元素的序列,而且有一個(gè)總體 標(biāo)識(shí)符代表它。3. 模塊是構(gòu)成程序的基本構(gòu)件。4. 模塊化就是把程序分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個(gè)模塊 完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成 指定的功能滿足用戶的需求。5. 抽象:把相似的方面集中和概括起來(lái),暫時(shí)忽略它們之間的差 異,或者說(shuō),抽出事物的本質(zhì)特性而暫時(shí)不考慮它們之間的細(xì) 節(jié)。6. 逐步求精是人類解決復(fù)雜問題時(shí)采用的基本方法,也是許多軟件 工程技術(shù)的基礎(chǔ)。定義:為了能集中精力解決主要問題而盡量推 遲對(duì)問題細(xì)節(jié)的考慮。7.8.9.10.11.12.13.14.15.16.17.1
19、8.15信息隱藏原理指出:應(yīng)該這樣設(shè)計(jì)和確定模塊,使得一個(gè)模塊內(nèi) 包含的信息(過(guò)程和數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō),是 不能訪問的。局部化:把一些關(guān)系密切的軟件元素物理地放得彼此靠近。模塊獨(dú)立的概念是模塊化,抽象,信息隱藏和局部化概念的直接模塊獨(dú)立化重要性的原因:第一,有效地模塊化的軟件比較容易開發(fā)出來(lái); 第二,獨(dú)立的模塊化比較容易測(cè)試和維護(hù)。模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別 稱為內(nèi)聚和耦合。耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)入或訪問一個(gè) 模塊的點(diǎn),以及通過(guò)接口的數(shù)據(jù)。如果兩個(gè)模塊彼此間通過(guò)參數(shù)交換信息,而且交換的
20、信息僅 僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。如果傳遞的信息中有控制信息(盡管有時(shí)這種控制信息以數(shù)據(jù) 的形式出現(xiàn)),則這種耦合稱為控制耦合。數(shù)據(jù)耦合是低耦合。最高程度的耦合式內(nèi)容耦合。內(nèi)聚標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò)展。19.偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚 5.3啟發(fā)規(guī)則1. 軟件結(jié)構(gòu)提高模塊獨(dú)立性2. 模塊規(guī)模應(yīng)該適中3. 深度、寬度、扇出和扇入都應(yīng)適當(dāng)4. 模塊的應(yīng)用域應(yīng)該在控制域之內(nèi)5. 力爭(zhēng)降低模塊接口的復(fù)雜程度6. 設(shè)計(jì)單入口單出口的模塊7. 模塊功能應(yīng)該可以預(yù)測(cè)5.4描繪軟件結(jié)構(gòu)的圖形工具1、層次圖和HIPO圖2、結(jié)構(gòu)圖5.5面向數(shù)據(jù)流的
21、設(shè)計(jì)方法1. 面向數(shù)據(jù)流的設(shè)計(jì)方法把信息流映射成軟件結(jié)構(gòu),信息流的類型 決定了映射的方法。2. 信息流分成兩種類型:變化流、事物流(概念)3. 變換分析是一系列設(shè)計(jì)步驟的總稱,經(jīng)過(guò)這些步驟吧具有變換流 特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。4. 變換分析的設(shè)計(jì)步驟。第6章 詳細(xì)設(shè)計(jì)目標(biāo):1.確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng)2. 設(shè)計(jì)出程序的“藍(lán)圖”3. 詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終的程序代碼的質(zhì)量6.1結(jié)構(gòu)程序設(shè)計(jì)1. 概念:結(jié)果程序設(shè)計(jì)是一種設(shè)計(jì)程序的技術(shù),它采用自頂向下逐 步求精的的設(shè)計(jì)方法和單入口但出口的控制結(jié)構(gòu)。2. 三種基本控制結(jié)構(gòu):1 )順序結(jié)構(gòu):相當(dāng)于“ A、B”2 )
22、選擇結(jié)構(gòu):相當(dāng)于 “ If exp then A else B endif;”3)循環(huán)結(jié)構(gòu):相當(dāng)于“ While exp do A ”3. 擴(kuò)充的兩種控制結(jié)構(gòu):1 )多分支結(jié)構(gòu):相當(dāng)于“ CaseI of I=1:C1; I=n:Cn;2)UNTIL 循環(huán)結(jié)構(gòu):相當(dāng)于“ Repeat A until exp; ”6.3過(guò)程設(shè)計(jì)的工具6.3.1程序流程圖程序流程圖:是一種描述程序的控制結(jié)構(gòu)流程和指令執(zhí)行情況 的有向圖。程序流程圖的主要缺點(diǎn):1)程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過(guò)早地 考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。2)程序流程圖中用箭頭代表控制流,因此程序員不受任
23、何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精神,隨意轉(zhuǎn)移控制。3)程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。632盒圖盒圖特點(diǎn):1)功能域明確,可以從盒圖上一眼就看出來(lái)。2)不可能任意轉(zhuǎn)移控制。3)很容易確定局部和全程數(shù)據(jù)的作用域。4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。PAD圖是一種問題分析圖。PAD圖優(yōu)點(diǎn):1)使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號(hào)所設(shè)計(jì)出來(lái)的程序必然是結(jié) 構(gòu)化程序2)PAD圖所描繪的程序結(jié)構(gòu)十分清晰。圖中最左面的豎線是程序的主線,即第一層結(jié)構(gòu)。隨著德程序?qū)哟蔚脑黾樱?PAD圖逐漸向右 延伸,每次增加一個(gè)層次,圖形向右擴(kuò)展豎線。 PAD圖中豎線的 總條數(shù)就是程序的層次數(shù)。3)用PAD圖表現(xiàn)
24、程序邏輯,易懂、易讀、易記。PAD圖是二維樹形結(jié)構(gòu)的圖形,程序從圖中最左豎線上端的結(jié)點(diǎn)開始執(zhí)行,自上而 下,從左向右順序執(zhí)行,遍歷所有結(jié)點(diǎn)。4)容易將PAD圖轉(zhuǎn)換成高級(jí)語(yǔ)言源程序,這種轉(zhuǎn)換可用軟件工具自 動(dòng)完成,從而可省去人工編碼的工作,有利于提咼軟件可靠性和 軟件生產(chǎn)率。5)即可用于表示程序邏輯,也可用于描繪數(shù)據(jù)結(jié)構(gòu)。6)PAD圖的符號(hào)支持自頂向下、逐步求精方法的使用。開始時(shí)設(shè)計(jì)者可以定義一個(gè)抽象的程序,隨著設(shè)計(jì)工作的深入而使用def符號(hào)逐步增加細(xì)節(jié),直至完成詳細(xì)設(shè)計(jì)。判定表判定表由四部分組成:左上部列出所有條件;左下部是所有可能做的動(dòng)作;右上部是表示各種條件組合的一個(gè)矩陣;右下部是和每種條
25、件組合相 對(duì)應(yīng)的動(dòng)作635 判定樹判定樹是判定表的變種。過(guò)程設(shè)計(jì)語(yǔ)言過(guò)程設(shè)計(jì)語(yǔ)言(PDL也稱為偽碼。PDL的優(yōu)點(diǎn):1)可以作為注釋的直接插在源程序中間2)可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成PDl的書寫和編輯工作3)已經(jīng)有自動(dòng)處理PDL的程序存在,而且可以自動(dòng)由 PDL生成程序 代碼。PDL缺點(diǎn):不如圖形工具形象直觀。第7章測(cè)試概念:編碼和測(cè)試統(tǒng)稱為實(shí)現(xiàn)。編碼:把軟件設(shè)計(jì)結(jié)果翻譯成程序。測(cè)試:檢測(cè)程序并改正錯(cuò)誤的過(guò)程。7.2軟件測(cè)試基礎(chǔ)1. 有關(guān)測(cè)試的一些規(guī)則:1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試3)成功的測(cè)試
26、是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試2. 測(cè)試方法1 )黑盒測(cè)試2)白盒測(cè)試3. 測(cè)試步驟單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試4. 單元測(cè)試重點(diǎn):模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行通路、出錯(cuò)處理通路、邊界條 件5. 集成測(cè)試自頂向下集成自頂向下集成是一種遞增的裝配軟件結(jié)構(gòu)的方法,這種應(yīng)用方法非 常廣泛。它需要存根程序,不需要驅(qū)動(dòng)程序。自底向上集成自底向上集成是從軟件結(jié)構(gòu)最底層模塊開始進(jìn)行組裝和測(cè)試,它與 自頂向下結(jié)合方法相反,需要驅(qū)動(dòng)程序,但是不需要存根程序。6、確認(rèn)測(cè)試確認(rèn)測(cè)試的兩種可能的結(jié)果:功能和性能與用戶要求一致,軟件是可以接受的功能和性能與用戶要求有差距7、Alpha 和 Beta 測(cè)試Alpha測(cè)試由用戶在開發(fā)者的場(chǎng)所進(jìn)行,并且在開發(fā)者對(duì)用戶的“指 導(dǎo)”下進(jìn)行測(cè)試。Beta測(cè)試由軟件的最終用戶在一個(gè)或多個(gè)客戶場(chǎng)所進(jìn)行8白盒測(cè)試邏輯覆蓋、語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定 /條件覆蓋、條件 組合覆蓋點(diǎn)覆蓋、邊覆蓋、路徑覆蓋9、黑盒測(cè)試技術(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人臨時(shí)招工合同樣本
- 公司雙方協(xié)議合同樣本
- 分散采購(gòu)農(nóng)藥合同標(biāo)準(zhǔn)文本
- 學(xué)前教育幼兒音樂活動(dòng)
- 農(nóng)村房屋場(chǎng)地出租合同樣本
- 共享鞋柜投放合同樣本
- 2025年03月重慶巫山縣農(nóng)業(yè)農(nóng)村委員會(huì)招募農(nóng)技推廣服務(wù)特聘農(nóng)技員3人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 代購(gòu)電力材料合同樣本
- 出售農(nóng)村木門合同范例
- 農(nóng)村木門合同樣本
- 2023年保康九鼎融資擔(dān)保有限公司招聘筆試模擬試題及答案解析
- 2023高中學(xué)業(yè)水平合格性考試歷史重點(diǎn)知識(shí)點(diǎn)歸納總結(jié)(復(fù)習(xí)必背)
- 導(dǎo)游人員管理法律制度課件
- 2022年江蘇安東控股集團(tuán)有限公司招聘筆試題庫(kù)及答案解析
- 美國(guó)地圖高清中文版
- 金屬監(jiān)督監(jiān)理實(shí)施細(xì)則
- 正確認(rèn)識(shí)汽車太陽(yáng)膜課件
- 工程建筑給排水外文文獻(xiàn)翻譯1
- 曲線上梁的平分中矢坐標(biāo)計(jì)算方法解讀
- DB4201∕T 646-2021 軌道交通工程運(yùn)營(yíng)期結(jié)構(gòu)監(jiān)測(cè)技術(shù)規(guī)程
- 200句話搞定上海中考單詞(精華版)
評(píng)論
0/150
提交評(píng)論