




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、軟件是能夠完成預(yù)定功能和性能,并對(duì)相應(yīng)數(shù)據(jù)進(jìn)行加工的程序和描述程序及其操作的文檔。軟件=程序+數(shù)據(jù)+文檔,程序=算法+數(shù)據(jù)結(jié)構(gòu).2、軟件工程是:(1)將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程,也就是把工程應(yīng)用于軟件;(2) 上述方法的研究。軟件工程三要素:過程、方法和工具。3、軟件生命周期是指軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、運(yùn)行(使用)和維護(hù)直到退役的全過程稱為軟件生存周期,包括軟件定義、開發(fā)、使用和維護(hù)三部分。軟件定義包括問題定義、可行性研究、和需求分析;軟件開發(fā)包括總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試。4、軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇
2、到的一系列嚴(yán)重問題。主要表現(xiàn)為:硬件發(fā)展超過軟件,硬件潛能沒有充分發(fā)揮;軟件產(chǎn)業(yè)的發(fā)展長(zhǎng)期滯后,與硬件發(fā)展不協(xié)調(diào);軟件開發(fā)成本過高;軟件質(zhì)量得不到保證;軟件開發(fā)效率低;難以控制開發(fā)進(jìn)度,工作量估計(jì)困難。產(chǎn)生的主要原因是:軟件的規(guī)模加大、復(fù)雜性提高、性能增強(qiáng);軟件是邏輯產(chǎn)品, 尚未完全認(rèn)識(shí)其本質(zhì)和特點(diǎn);缺乏有效的、系統(tǒng)的開發(fā)、維護(hù)大型軟件項(xiàng)目的技術(shù)手段和管理方法。5、軟件工程目標(biāo)是在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可適應(yīng)性、可追蹤性、可移植性、可互操作性、并滿足用戶需求的軟件產(chǎn)品。6、軟件需求是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。軟件需求分析
3、階段的任務(wù),通過對(duì)問題及環(huán)境的理解、分析,將用戶需求精確化、完全化,最終形成需求規(guī)格說明,描述系統(tǒng)信息、功能和行為。需求分析三階段:?jiǎn)栴}分析,需求描述,需求評(píng)審 驗(yàn)證軟件需求:1、一致性:所有需求必須是一致的,任何一條需求都不能和其他需求相互矛盾;2、完整性:需求必須是完整的,軟件需求規(guī)格說明書應(yīng)該包含用戶對(duì)軟件產(chǎn)品的每一項(xiàng)要求;3、現(xiàn)實(shí)性:指定的需求應(yīng)該是用現(xiàn)實(shí)有的硬件技術(shù)和軟件技術(shù)可以實(shí)現(xiàn)的;4、有效性:需求必須是有效的,確定能解決用戶所面臨的問題,可以達(dá)到開發(fā)該軟件的目的。 需求分析內(nèi)容:功能,信息,行為,約束。需求分析技術(shù)和方法:常見的方法有結(jié)構(gòu)化分析方法(面向數(shù)據(jù)流)和面向?qū)ο蠓治龇?/p>
4、法。7、模塊化是指把軟件劃分為可獨(dú)立命名和編址的部件,每個(gè)部件稱為一個(gè)模塊,當(dāng)把所有模塊組裝到一起時(shí)則獲得滿足問題需要的一個(gè)解。模塊化是軟件唯一能使程序獲得智能化管理的一個(gè)屬性。“模塊”,又稱“組件”。它一般具有如下三個(gè)基本屬性:1功能:描述該模塊實(shí)現(xiàn)什么功能;2邏輯:描述模塊內(nèi)部怎么做;3狀態(tài):該模塊使用時(shí)的環(huán)境和條件。模塊獨(dú)立是指:1、模塊應(yīng)該設(shè)計(jì)得使其所含信息(過程和數(shù)據(jù))對(duì)于那些不需要這些信息的模塊不可訪問;2、每個(gè)模塊只完成一個(gè)相對(duì)獨(dú)立的特定功能;3、模塊之間僅僅交換那些為完成系統(tǒng)功能必須交換的信息,即模塊應(yīng)該獨(dú)立。采用信息隱藏原理指導(dǎo)模塊設(shè)計(jì)優(yōu)點(diǎn):支持模塊的并行開發(fā);減少軟件測(cè)試和
5、軟件維護(hù)的工作量。模塊獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其它的模塊的接口是簡(jiǎn)單的。一般采用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性,即模塊間耦合和模塊內(nèi)聚。8、事務(wù)流數(shù)據(jù)流 在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或者多個(gè)處理,這些處理能夠完成作業(yè)要求的功能,這種數(shù)據(jù)流叫做事務(wù)流數(shù)據(jù)流。面向數(shù)據(jù)流的設(shè)計(jì)方法:交換流和事務(wù)流。事務(wù)流由于基本系統(tǒng)模型呈變換流,故任意系統(tǒng)中的信息均可用變換流刻畫。單個(gè)數(shù)據(jù)項(xiàng)稱為事務(wù)沿傳入路徑(接受通道)進(jìn)入系統(tǒng),由外部形式變換為內(nèi)部形式后到達(dá)事務(wù)中心,事務(wù)中心根據(jù)數(shù)據(jù)項(xiàng)計(jì)值結(jié)果從若干動(dòng)作路徑中選定一條繼續(xù)執(zhí)行。軟件設(shè)計(jì)的基本原理和原則
6、:模塊化,抽象,逐步求精,信息隱蔽和局部化,模塊獨(dú)立。9、內(nèi)聚度是指模塊內(nèi)部各成分彼此結(jié)合的緊密程度。內(nèi)聚度按其高低程度可分為七級(jí),內(nèi)聚度越高越好。低級(jí)內(nèi)聚度:1偶然性內(nèi)聚,模塊內(nèi)各成分為完成一組功能而組合在一起,它們相互之間即使有關(guān)系,也很松散。2邏輯性內(nèi)聚,模塊完成的諸任務(wù)邏輯上相關(guān),如,一個(gè)模塊產(chǎn)生所有與類型無關(guān)的輸出。3時(shí)間性內(nèi)聚,模塊包含的諸任務(wù)必須在同一時(shí)間段內(nèi)執(zhí)行,如一個(gè)初始化模塊。中級(jí)內(nèi)聚度:1過程性內(nèi)聚,模塊具有過程性內(nèi)聚度指,模塊內(nèi)成分彼此相關(guān),并且必須按特定的次序執(zhí)行; 2通信性內(nèi)聚,模塊中各成份都將對(duì)數(shù)據(jù)結(jié)構(gòu)的同一區(qū)域進(jìn)行操作,以達(dá)到通信的目的。高級(jí)內(nèi)聚度:1順序性內(nèi)聚
7、,模塊內(nèi)的各處理成份均與同一功能相關(guān),且這些處理必須順序執(zhí)行,則稱順序內(nèi)聚。2功能性內(nèi)聚,模塊內(nèi)所有成分形成一個(gè)整體,完成單個(gè)功能。 設(shè)計(jì)軟件時(shí)應(yīng)該能夠識(shí)別內(nèi)聚度的高低,并通過修改設(shè)計(jì)盡可能提高模塊內(nèi)聚度,從而獲得較高的模塊獨(dú)立性。10、黑盒測(cè)試是指一種方法是已知產(chǎn)品應(yīng)該具有的功能,通過測(cè)試檢驗(yàn)每個(gè)功能是否都能正常使用。黑盒測(cè)試完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。測(cè)試僅在程序界面上進(jìn)行。設(shè)計(jì)測(cè)試用例旨在說明:軟件的功能是否可操作;程序能否適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并產(chǎn)生正確的輸出結(jié)果或在可能的場(chǎng)景中事件驅(qū)動(dòng)的效果是否盡如人意;能否保持外部信息(如數(shù)據(jù)文件)的完整性。黑盒測(cè)試旨在測(cè)試軟件是否滿足功能要求
8、,它主要診斷下列幾類錯(cuò)誤:1不正確或遺漏的功能;2界面錯(cuò)誤;3數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤;4性能錯(cuò)誤;5初始化和終止條件錯(cuò)誤。白盒測(cè)試是指是已知產(chǎn)品內(nèi)部工作過程,通過測(cè)試檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照產(chǎn)品規(guī)格說明的規(guī)定正常進(jìn)行。白盒測(cè)試法密切關(guān)注處理細(xì)節(jié),針對(duì)程序的每一條邏輯路徑都要分別設(shè)計(jì)測(cè)試用例,檢查分枝和循環(huán)的情況。窮舉測(cè)試不可取,一般選用少量“最有效”,即最有可能暴露錯(cuò)誤的路徑進(jìn)行測(cè)試。白盒測(cè)試的目的是為了找出錯(cuò)誤,所以無論采用黑盒法還是白盒法,設(shè)計(jì)測(cè)試用例時(shí)總是期望用盡可能少的時(shí)間和代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。白盒測(cè)試應(yīng)該根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例,原則是:保證模塊中每一獨(dú)立的路徑至少執(zhí)
9、行一次;保證所有判斷的每一分枝至少執(zhí)行一次;保證每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。11、測(cè)試類型:1、單元測(cè)試:對(duì)象是軟件設(shè)計(jì)的最小單位模塊,依據(jù)是詳細(xì)設(shè)計(jì)描述,單元測(cè)試應(yīng)對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè)模塊可以并行地進(jìn)行測(cè)試(白)。2、組裝測(cè)試:組裝軟件的系統(tǒng)測(cè)試技術(shù),按設(shè)計(jì)要求把通過單元測(cè)試的各個(gè)模塊組裝在一起之后,進(jìn)行綜合測(cè)試以便發(fā)現(xiàn)與接口有關(guān)的各種錯(cuò)誤(白和黑)。3、確認(rèn)測(cè)試:檢查軟件能否按合同要求進(jìn)行工作,即是否滿足軟件需求說明書中的確認(rèn)標(biāo)準(zhǔn)(黑)。12、邊界值分析法:經(jīng)
10、驗(yàn)表明,大多數(shù)錯(cuò)誤都發(fā)生在輸入的邊界值上。為此,專門引入邊界值分析(BVA)技術(shù),旨在選擇測(cè)試用例,強(qiáng)迫程序在邊界值上執(zhí)行。BVA技術(shù)是對(duì)等價(jià)分類技術(shù)的補(bǔ)充,即在一個(gè)等價(jià)類中不是任選一個(gè)元素作為此等價(jià)類的代表進(jìn)行測(cè)試,而是選擇此等價(jià)類邊界上的值。13、維護(hù)活動(dòng)根據(jù)起因可分為改正性維護(hù)、適應(yīng)性維護(hù)、改善性維護(hù)和預(yù)防性維護(hù)四類:1改正性維護(hù)是為診斷和改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的活動(dòng)。2適應(yīng)性維護(hù)是為適應(yīng)環(huán)境的變化而修改軟件的活動(dòng)。3改善性維護(hù)是根據(jù)用戶在使用過程中提出的一些建設(shè)性意見而進(jìn)行的維護(hù)活動(dòng)。4預(yù)防性維護(hù)是為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)。14、變換分析
11、由一系列設(shè)計(jì)步驟組成,經(jīng)過這些步驟就能把具有變換流特點(diǎn)的數(shù)據(jù)流圖,按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。步驟一復(fù)審基本系統(tǒng)模型-基本系統(tǒng)模型指頂級(jí)和所有由外部提供的信息。這一設(shè)計(jì)步驟是對(duì)系統(tǒng)規(guī)格說明書和 軟件需求規(guī)格說明書進(jìn)行評(píng)估。步驟二復(fù)審和精化軟件數(shù)據(jù)流圖-精化軟件需求規(guī)格說明書中的分析模型,直至獲得足夠詳細(xì)的。步驟三確定為變換流還是事務(wù)流-系統(tǒng)內(nèi)部的信息流總可以用變換流表示,倘若具有明顯的事務(wù)特性,還應(yīng)該采用針對(duì)事務(wù)流的映射方法。設(shè)計(jì)人員首先要判定中占主導(dǎo)地位的信息流,并確定其特性,然后孤立出具有變換特性或事務(wù)特性的支流,這些支流將用于精化由主導(dǎo)數(shù)據(jù)流推出的程序結(jié)構(gòu)。步驟四劃定輸入流和輸出流邊
12、界孤立變換中心-輸入、輸出流邊界的劃分可能因人而異,不同的設(shè)計(jì)人員可能把邊界沿著數(shù)據(jù)通道向前推進(jìn)或后退一個(gè)處理框,這對(duì)最后的軟件結(jié)構(gòu)影響不大。步驟五執(zhí)行“一級(jí)分解”導(dǎo)出具有三個(gè)層次的程序結(jié)構(gòu)。步驟六執(zhí)行“二級(jí)分解”-把數(shù)據(jù)流圖中每個(gè)處理框映射成程序結(jié)構(gòu)中一個(gè)適當(dāng)?shù)哪K,二級(jí)分解過程是從變換中心的邊界開始沿輸入、輸出通道向外移動(dòng),把遇到的每個(gè)處理框映射為程序結(jié)構(gòu)中的一個(gè)模塊。步驟七采用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形,改良軟件質(zhì)量。事務(wù)流分析方法和交換分析基本相同,僅在由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。15、事務(wù)分析法可分為七個(gè)步驟,前三步與變換分析法相同,步驟四、找出數(shù)條動(dòng)作路徑的公共源
13、頭,即為事務(wù)中心,確定由事務(wù)中心發(fā)出的每一動(dòng)作路徑的數(shù)據(jù)流特性。步驟五、把數(shù)據(jù)流圖映射為事務(wù)處理型的程序結(jié)構(gòu)-事務(wù)處理型的程序結(jié)構(gòu)由“ 輸入”和“散轉(zhuǎn)”兩部分組成,輸入部分的構(gòu)成方法如變換分析法,即從事 務(wù)處理中心開始,沿輸入通路向外推進(jìn),每個(gè)處理框映射為一個(gè)模塊?!吧⑥D(zhuǎn)”部分頂層為一“散轉(zhuǎn)”模塊,它總控所有對(duì)應(yīng)于每一動(dòng)作路徑的控制模塊,每條動(dòng)作路徑都根據(jù)它的信息流特征映射為一個(gè)程序子結(jié)構(gòu)。步驟六、分解并精化事務(wù)結(jié)構(gòu)以及每條動(dòng)作路徑所對(duì)應(yīng)的結(jié)構(gòu)。步驟七、使用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形,改良軟件質(zhì)量。16、UML(統(tǒng)一建模語言)是面向?qū)ο蠹夹g(shù)發(fā)展的一個(gè)重要里程碑。UML統(tǒng)一了面向?qū)ο蠼?/p>
14、模的基本概念、術(shù)語和表示方法,不僅為面向?qū)ο蟮能浖_發(fā)過程提供了能力豐富的表達(dá)手段,而且也為軟件開發(fā)人員提供了互相交流、分享經(jīng)驗(yàn)的共用語言。UML主要以Booch方法、OMT方法和OOSE方法為基礎(chǔ),同時(shí)也吸收了其他面向?qū)ο蠼7椒ǖ膬?yōu)點(diǎn),形成了一種概念清晰、表達(dá)能力豐富、適用范圍廣泛的面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言。UML通過圖形化的表示機(jī)制從多個(gè)側(cè)面刻畫系統(tǒng)的分析和設(shè)計(jì)模型。UML共定義十種視圖,可分四類:1用例圖-從外部用戶的角度描述系統(tǒng)的功能,并指出功能的執(zhí)行者。2靜態(tài)圖-類圖,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu);對(duì)象圖,對(duì)象圖是類圖的一個(gè)實(shí)例。它描述在某種狀態(tài)下,或者在某一時(shí)間段系統(tǒng)中活躍的對(duì)象及其關(guān)系
15、;包圖,包圖描述系統(tǒng)的分解,表示包以及包之間的關(guān)系,包由子包及類組成,包之間的關(guān)系包括繼承、構(gòu)成與依賴關(guān)系。3行為圖-交互圖、狀態(tài)圖、活動(dòng)圖,它們從不同的側(cè)面刻畫系統(tǒng)的動(dòng)態(tài)行為。交互圖描述對(duì)象之間的消息傳遞。它又可分為順序圖與合作圖兩種形式。順序圖強(qiáng)調(diào)對(duì)象之間消息發(fā)送的時(shí)間序。合作圖更強(qiáng)調(diào)對(duì)象間的動(dòng)態(tài)協(xié)作關(guān)系。合作圖也可通過消息序號(hào)來表示消息傳遞的時(shí)間序。狀態(tài)圖描述類的對(duì)象的動(dòng)態(tài)行為。它包含對(duì)象所有可能的狀態(tài)、活動(dòng)圖描述系統(tǒng)為完成某項(xiàng)功能而執(zhí)行的操作序列,這些在每個(gè)狀態(tài)下能夠響應(yīng)的事件以及事件發(fā)生時(shí)的狀態(tài)遷移與響應(yīng)動(dòng)作。活動(dòng)圖中包含控制流和信息流。控制流表示一個(gè)操作完成后對(duì)其后續(xù)操作的觸發(fā),信
16、息流則刻畫操作之間的信息交換。4實(shí)現(xiàn)圖-描述軟件系統(tǒng)的實(shí)現(xiàn)。構(gòu)件圖描述軟件實(shí)現(xiàn)系統(tǒng)中各組成部件以及它們之間的依賴關(guān)系。部署圖描述軟件系統(tǒng)運(yùn)行環(huán)境的硬件及網(wǎng)絡(luò)的物理體系結(jié)構(gòu)。17、瀑布模型以軟件需求完全確定為前提的,主要思想是1軟件開發(fā)過程與軟件生命周期是一致的2相鄰二階段之間存在因果關(guān)系3需對(duì)階段性產(chǎn)品進(jìn)行評(píng)審;瀑布模型的優(yōu)點(diǎn)是1軟件生命周期模型,使軟件開發(fā)過程可以在分析、設(shè)計(jì)、編碼、測(cè)試和維護(hù)的框架下進(jìn)行;2軟件開發(fā)過程具有系統(tǒng)性、可控性,克服了軟件開發(fā)的隨意性。瀑布模型的缺點(diǎn)是:1項(xiàng)目開始階段用戶很難精確的提出產(chǎn)品需求,由于技術(shù)進(jìn)步,用戶對(duì)系統(tǒng)深入的理解,修改需求十分普遍。2項(xiàng)目開發(fā)晚期才
17、能得到程序的運(yùn)行版本,這時(shí)修改軟件需求和開發(fā)中的錯(cuò)誤代價(jià)很大。3采用線性模型組織項(xiàng)目開發(fā)經(jīng)常發(fā)生開發(fā)小組人員“堵塞狀態(tài)”,特別是項(xiàng)目的開始和結(jié)束。18、結(jié)構(gòu)設(shè)計(jì)法方法將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu) 確定信息流的類型;劃定流界;將數(shù)據(jù)流圖映射為程序結(jié)構(gòu);提取層次控制結(jié)構(gòu);通過設(shè)計(jì)復(fù)審和啟發(fā)式策略精化結(jié)構(gòu)。第三步所用映射方法涉及信息流的類型。信息流分為變換流和事務(wù)流兩種類型。19、依賴倒轉(zhuǎn)原則(DIP)講的是:要依賴于抽象,不要依賴于具體。依賴倒轉(zhuǎn)原則的一種表述是:細(xì)節(jié)應(yīng)當(dāng)依賴于抽象,抽象不應(yīng)當(dāng)依賴于細(xì)節(jié)。另一種描述是:要針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程。意思就是應(yīng)當(dāng)使用接口和抽象類而不是具體類進(jìn)行變量的
18、類型聲明、參數(shù)的類型聲明、方法的返回類型聲明以及數(shù)據(jù)類型的轉(zhuǎn)換等。20、耦合度是指軟件結(jié)構(gòu)中模塊間關(guān)聯(lián)程度的一種度量。耦合度也分為七級(jí):1非直接耦合,兩模塊中任一個(gè)都不依賴對(duì)方能獨(dú)立工作, 這類耦合度最低; 2數(shù)據(jù)耦合,兩模塊通過參數(shù)交換信息,信息僅限于數(shù)據(jù);3控制耦合,傳遞的信息含有控制信息??刂岂詈贤ǔ?huì)增加系統(tǒng)的復(fù)雜性,適當(dāng)分解模塊可望消除控制耦合;4特征耦合,介于數(shù)據(jù)耦合與控制耦合之間;5外部耦合,當(dāng)若干模塊均與同一個(gè)外部環(huán)境關(guān)聯(lián);6公共耦合,若干模塊通過全局的數(shù)據(jù)環(huán)境相互作用, 全局?jǐn)?shù)據(jù)環(huán)境中可能含有全局變量、公用區(qū)、內(nèi)存公共復(fù)蓋區(qū)、任何存儲(chǔ)介質(zhì)上的文件、物理設(shè)備等;7內(nèi)容耦合,一個(gè)
19、模塊使用另 一模塊內(nèi)部的數(shù)據(jù)或控制信息;一個(gè)模塊直接轉(zhuǎn)移到另一模塊內(nèi)部等等。設(shè)計(jì)軟件時(shí)應(yīng)盡量使用數(shù)據(jù)耦合,減少控制耦合,限制外部環(huán)境耦合和公共數(shù)據(jù)耦合,杜絕內(nèi)容耦合。如何將DFD圖轉(zhuǎn)化為結(jié)構(gòu)圖:可通過“變換分析”和“事務(wù)分析”技術(shù),導(dǎo)出“變換型”和“事務(wù)型”初始的模塊結(jié)構(gòu)圖。這兩種方法的思想是首先設(shè)計(jì)頂層模塊,然后自頂向下,逐步細(xì)化,最后得到一個(gè)滿足數(shù)據(jù)流圖所表示的用戶要求的系統(tǒng)的模塊結(jié)構(gòu)圖,即系統(tǒng)的物理模型。1、確定信息流類型2、劃定流界3、將數(shù)據(jù)流圖映射為結(jié)構(gòu)4、提取層次控制結(jié)構(gòu)5、通過計(jì)算復(fù)審和使用啟發(fā)式策略進(jìn)一步精華所得結(jié)構(gòu)如何將DIP轉(zhuǎn)換程序結(jié)構(gòu)圖:依賴倒轉(zhuǎn)原則,要針對(duì)接口編程,不要
20、針對(duì)實(shí)現(xiàn)編程,意思就是應(yīng)當(dāng)使用接口和抽象類而不是具體類進(jìn)行變量的類型聲明,參數(shù)的類型聲明、方法的返回類型聲明,以及數(shù)據(jù)類型的轉(zhuǎn)換等,一個(gè)具體java類應(yīng)當(dāng)只實(shí)現(xiàn)java接口和抽象java類中聲明過的方法,而不應(yīng)當(dāng)給出多余的方法。軟件設(shè)計(jì)在技術(shù)上可分為總體結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、過程設(shè)計(jì)和界面設(shè)計(jì)四個(gè)活動(dòng);在工程上可區(qū)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。軟件設(shè)計(jì)中用到基本概念包括:抽象與逐步求精;模塊化與信息隱藏;軟件總體結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)與軟件過程。軟件總體結(jié)構(gòu)應(yīng)該包括兩方面內(nèi)容:1由系統(tǒng)中所有過程性部件(即模塊)構(gòu)成的層次結(jié)構(gòu), 亦稱為程序結(jié)構(gòu);2輸入輸出數(shù)據(jù)結(jié)構(gòu)。軟件總體結(jié)構(gòu)設(shè)計(jì)的目標(biāo)是產(chǎn)生一個(gè)模塊化
21、的程序結(jié)構(gòu)并明確各模塊之間的控制關(guān)系,此外還要通過定義界面,說明程序的輸入輸出數(shù)據(jù)流,進(jìn)一步協(xié)調(diào)程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。軟件的深度和寬度分別說明控制的層數(shù)和跨度。模塊的“扇出率”指該模塊直接控制的其他模塊數(shù)。模塊的“扇入率”指能直接控制該模塊的模塊數(shù)。如果一個(gè)模塊控制另一模塊,稱前者為“主控”模塊,后者為“從屬”模塊。模塊的可見域指該模塊可直接或間接引用的一組模塊;模塊的連通域指模塊可直接引用的模塊。 面向?qū)ο蠓椒ǎ簩?duì)象+類+繼承+消息通信。對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是其屬性和相關(guān)操作的封裝。 類表示某些對(duì)象在屬性和操作方面的共同特征。 類之間的繼承關(guān)系是現(xiàn)實(shí)世界中遺傳關(guān)系的模擬,它表示類之間的內(nèi)在聯(lián)系 以及對(duì)屬性和操作的共享,即,子類可以沿用父類(被繼承類)的某些特征。子類也可以具有自己獨(dú)有的屬性和操作。 部分整體關(guān)系在O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東中考試題及答案
- 動(dòng)漫分析面試題及答案
- 人的智能與人工智能課件
- 勞動(dòng)合同到期解除協(xié)議書
- 宵夜廚房承包合同范本
- 三人餐飲合伙合同范本
- 定做沙發(fā)采購合同范本
- 子女繼承房產(chǎn)補(bǔ)償協(xié)議書
- 工程入股分紅合同范本
- 安徽小型吊車租賃協(xié)議書
- 軟裝搭配與色彩運(yùn)用考核試卷
- 2025年中國冶金錳礦石市場(chǎng)調(diào)查研究報(bào)告
- 合伙經(jīng)營吊車協(xié)議書
- 地方政府治理中的典型案例試題及答案
- 民辦非企業(yè)會(huì)計(jì)制度
- 2023光伏發(fā)電站快速頻率響應(yīng)檢測(cè)規(guī)程
- 廣東省廣州市2025屆高三下學(xué)期考前沖刺訓(xùn)練(二)英語試卷(含答案)
- 我國戰(zhàn)略性金屬和關(guān)鍵礦產(chǎn)發(fā)展白皮書-2025-05-宏觀大勢(shì)
- 2025年入團(tuán)考試開放機(jī)會(huì)與試題與答案
- 電梯安全管理員培訓(xùn)
- 民辦學(xué)校新學(xué)期課程設(shè)置計(jì)劃
評(píng)論
0/150
提交評(píng)論