2022年軟件工程導(dǎo)論知識(shí)點(diǎn)概要_第1頁(yè)
2022年軟件工程導(dǎo)論知識(shí)點(diǎn)概要_第2頁(yè)
2022年軟件工程導(dǎo)論知識(shí)點(diǎn)概要_第3頁(yè)
2022年軟件工程導(dǎo)論知識(shí)點(diǎn)概要_第4頁(yè)
2022年軟件工程導(dǎo)論知識(shí)點(diǎn)概要_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.1軟件危機(jī)軟件危機(jī)的表現(xiàn)軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)、 使用和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。1)成本難以估計(jì)、成本高。2)軟件開(kāi)發(fā)進(jìn)度估計(jì)不準(zhǔn)確,項(xiàng)目延期比比皆是。3)軟件質(zhì)量得不到保證(功能和性能) 。4)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。5)維護(hù)非常困難 (多樣性、復(fù)雜性、副作用 )。6)軟件通常沒(méi)有適當(dāng)?shù)奈臋n。7)軟件產(chǎn)品供不應(yīng)求,跟不上計(jì)算機(jī)普及速度。產(chǎn)生軟件危機(jī)的原因(1) 與軟件本身的特點(diǎn)有關(guān)(邏輯復(fù)雜,成本高,風(fēng)險(xiǎn)大 ,難于維護(hù) )。(2)與軟件開(kāi)發(fā)與維護(hù)的方法不正確有關(guān):軟件程序(軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合)急于求成 =拔苗助長(zhǎng) (軟件從定義、開(kāi)

2、發(fā)、使用和維護(hù)、廢棄要經(jīng)歷一個(gè)漫長(zhǎng)的生命周期 )各自為陣無(wú)方法學(xué) (應(yīng)要組織良好、管理嚴(yán)密、各類人員協(xié)作共同完成的工程項(xiàng)目)1.2軟件工程定義軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)、心理學(xué)及管理科學(xué)等原理開(kāi)發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本和提高效率為目的。軟件工程包括技術(shù)和管理兩方面的內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。軟件工程的特性:1. 軟件工程關(guān)注于大型程序的構(gòu)造(傳統(tǒng)的程序設(shè)計(jì)技術(shù)和工具是支持小型程序設(shè)計(jì)的)2. 軟件工程的中心課題是控制復(fù)雜性(問(wèn)題分解)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁(yè),共

3、 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁(yè),共 25 頁(yè) - - - - - - - - -3. 軟件經(jīng)常變化(考慮將來(lái)要發(fā)生的變化)4. 開(kāi)發(fā)軟件的效率非常重要(尋求更好、更有效的工具)5. 和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵(運(yùn)用標(biāo)準(zhǔn)和規(guī)程)6. 軟件必須有效地支持它的用戶(軟件要服務(wù)于用戶)7. 在軟件工程領(lǐng)域中通常是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品軟件工程的 7 條基本原理1.用分階段的生命周期計(jì)劃嚴(yán)格管理2.堅(jiān)持進(jìn)行階段評(píng)審3.實(shí)行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計(jì)技術(shù)

4、5.結(jié)果應(yīng)能清楚地審查6.開(kāi)發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性軟件工程方法學(xué)通常把在軟件生命周期全過(guò)程中使用的一整套技術(shù)方法的集合稱為方法學(xué) (methodology),也稱為范型 (paradigm)。目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。軟件工程方法學(xué)包含3 個(gè)要素:方法、工具和過(guò)程。1.3軟件生命周期每階段的基本任務(wù) : 1. 問(wèn)題定義2. 可行性研究3. 需求分析4. 總體設(shè)計(jì)5. 詳細(xì)設(shè)計(jì)6. 編碼和單元測(cè)試7. 綜合測(cè)試8. 軟件維護(hù)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2

5、頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁(yè),共 25 頁(yè) - - - - - - - - -1.4軟件過(guò)程軟件過(guò)程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。通常包括四種基本的過(guò)程活動(dòng):()軟件規(guī)格說(shuō)明; ()軟件開(kāi)發(fā);()軟件確認(rèn);()軟件演進(jìn)軟件過(guò)程模型 : 軟件開(kāi)發(fā)程模型是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。它能直觀表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定要完成的主要活動(dòng)、任務(wù)和開(kāi)發(fā)策略。幾種典型的模型:瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉

6、模型、 rup等。軟件過(guò)程模型的選擇基于項(xiàng)目和應(yīng)用的性質(zhì)、采用的方法工具以及需要的控制和交付的產(chǎn)品。瀑布模型 (waterfall model ): 傳統(tǒng)瀑布模型:規(guī)定了各項(xiàng)軟件工程活動(dòng),包括:制定開(kāi)發(fā)計(jì)劃、需求分析和說(shuō)明、軟件設(shè)計(jì)、程序編碼、測(cè)試、運(yùn)行維護(hù)。并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。特點(diǎn):1、階段間具有順序性和依賴性。2、推遲實(shí)現(xiàn)。3、質(zhì)量保證。優(yōu)點(diǎn):1、 可強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法 (例如,結(jié)構(gòu)化技術(shù));嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔;要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證。2、瀑布模型的成功在很大程度上是由于它基本上是一

7、種文檔驅(qū)動(dòng)的模型。3、瀑布模型適合于用戶需求明確、完整、無(wú)重大變化的軟件項(xiàng)目開(kāi)發(fā) !問(wèn)題:1、不適應(yīng)需求經(jīng)常發(fā)生變更的環(huán)境:在項(xiàng)目的開(kāi)發(fā)過(guò)程精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁(yè),共 25 頁(yè) - - - - - - - - -中,變更可能會(huì)引起混亂。所以,有人形象地把采用線性模型進(jìn)行商業(yè)軟件工程稱之為 “在沙灘上蓋樓房”。 (適合于用戶需求明確、完整、無(wú)重大變化的軟件項(xiàng)目開(kāi)發(fā))2、線性順

8、序模型每一步的工作都必須以前一階段的輸出為輸入,這種特征會(huì)導(dǎo)致工作中發(fā)生“阻塞”狀態(tài)。3、由于瀑布模型幾乎完全依賴于書(shū)面的規(guī)格說(shuō)明,很可能導(dǎo)致最終開(kāi)發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。4、是一種整體開(kāi)發(fā)模型,程序的物理實(shí)現(xiàn)集中在開(kāi)發(fā)階段的后期,用戶在最后才能看到自己的產(chǎn)品。在可運(yùn)行的軟件產(chǎn)品交付給用戶之前, 用戶只能通過(guò)文檔來(lái)了解產(chǎn)品是什么樣的。快速原型模型( rapid prototype model)步驟:第一步進(jìn)行試驗(yàn)開(kāi)發(fā),得出產(chǎn)品的“原型” ,其目的在于弄清軟件需求并探索可行性; 第二步在原型的基礎(chǔ)上開(kāi)發(fā)出較為滿意的軟件產(chǎn)品。該模型克服了瀑布模型的部分缺陷, 減少了軟件需求不明確給開(kāi)

9、發(fā)工作帶來(lái)的風(fēng)險(xiǎn)。前提 :(1)是用戶必須積極參與原型的建造, 建造原型僅僅是為了定義需求,之后就必須被全部拋棄(至少是部分拋棄 ),實(shí)際的軟件必須在充分考慮到軟件質(zhì)量和可維護(hù)性之后才被開(kāi)發(fā)。從這個(gè)意義上說(shuō),原型模型又往往被稱為“ 拋棄原型模型 ” 。(2)是必須有快速開(kāi)發(fā)工具可供使用。增量模型 (incremental model) 是一種漸進(jìn)地開(kāi)發(fā)逐步完善的軟件版本的模型,該模型一般首先開(kāi)發(fā)產(chǎn)品的基本部,然后再逐步開(kāi)發(fā)產(chǎn)品的附加部分。整個(gè)軟件產(chǎn)品被分解成許多個(gè)增量構(gòu)件。每個(gè)構(gòu)件由多個(gè)相互作用的功能模塊構(gòu)成,并能夠完成特定的功能。該增量模型表明:必須在開(kāi)始實(shí)現(xiàn)各個(gè)構(gòu)件之前就全部完成需求分析、

10、規(guī)格說(shuō)明和概要設(shè)計(jì),因此風(fēng)險(xiǎn)較小。優(yōu)點(diǎn):是十分有用的一種模型。在克服瀑布模型缺點(diǎn)、減少由于軟件需求不明確而給開(kāi)發(fā)工作帶來(lái)風(fēng)險(xiǎn)方面,確有顯著的效果;縮短產(chǎn)品提交時(shí)間都能夠起到良好的作用。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁(yè),共 25 頁(yè) - - - - - - - - -困難:1、在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開(kāi)發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)

11、得便于按這種方式進(jìn)行擴(kuò)充, 向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過(guò)程必須簡(jiǎn)單、方便,也就是說(shuō),軟件體系結(jié)構(gòu)必須是開(kāi)放的。2、開(kāi)發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨(dú)立的構(gòu)件,因此相互矛盾。除非開(kāi)發(fā)人員有足夠的技術(shù)能力協(xié)調(diào)好。3、多個(gè)構(gòu)件并行開(kāi)發(fā),具有無(wú)法集成的風(fēng)險(xiǎn)螺旋模型 (spiral model) 優(yōu)點(diǎn):對(duì)于高風(fēng)險(xiǎn)的大型軟件,螺旋模型是一個(gè)理想的開(kāi)發(fā)方法。缺點(diǎn):風(fēng)險(xiǎn)驅(qū)動(dòng),需要相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),否則風(fēng)險(xiǎn)更大。適合場(chǎng)合:主要適用于內(nèi)部開(kāi)發(fā)的大規(guī)模軟件項(xiàng)目,隨著過(guò)程的進(jìn)展演化,開(kāi)發(fā)者和用戶能夠更好地識(shí)別和對(duì)待每一個(gè)演化級(jí)別上的風(fēng)險(xiǎn)。只有內(nèi)部開(kāi)發(fā)的項(xiàng)目,才能在風(fēng)險(xiǎn)過(guò)大時(shí)方便地中止項(xiàng)目。如果

12、進(jìn)行風(fēng)險(xiǎn)分析的費(fèi)用接近整個(gè)項(xiàng)目的經(jīng)費(fèi)預(yù)算,則風(fēng)險(xiǎn)分析是不可行的。噴泉模型 (fountain model) 特點(diǎn):噴泉模型的各階段均采用了 “對(duì)象”這一統(tǒng)一范式,整個(gè)過(guò)程看起來(lái)像噴泉從噴出到落下再噴出的周而復(fù)始過(guò)程產(chǎn)生的光滑水柱,體現(xiàn)了軟件創(chuàng)建所固有的迭代和無(wú)間隙的特征。適合場(chǎng)合:噴泉模型主要用于面向?qū)ο蟮能浖?xiàng)目,軟件的某個(gè)部分通常被重復(fù)多次, 相關(guān)對(duì)象在每次迭代中隨之加入漸進(jìn)的軟件成分。rational統(tǒng)一軟件開(kāi)發(fā)過(guò)程rup軟件開(kāi)發(fā)生命周期是一個(gè)二維的軟件開(kāi)發(fā)模型。橫軸代表時(shí)間,體現(xiàn)生命周期特征;縱軸代表工作流,體現(xiàn)了開(kāi)發(fā)過(guò)程的靜態(tài)結(jié)構(gòu)。rup 中的軟件生命周期在時(shí)間上被分解為四個(gè)順序的階

13、段:初始、細(xì)化、構(gòu)造和移交。 每個(gè)階段圍繞著9 個(gè)核心工作流分別精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁(yè),共 25 頁(yè) - - - - - - - - -迭代。適合場(chǎng)合:可開(kāi)發(fā)或大或小、分布在各個(gè)領(lǐng)域的項(xiàng)目,表明了 rup 的多功能性和廣泛適應(yīng)性。適合于需求不穩(wěn)定、不全面的軟件項(xiàng)目開(kāi)發(fā)。1.5小結(jié)軟件 =程序+數(shù)據(jù)+文檔軟件危機(jī) : 原因,現(xiàn)象,辦法 (軟件工程學(xué) )軟件工程 :指導(dǎo)計(jì)算機(jī)軟

14、件開(kāi)發(fā)和維護(hù)的一門工程科學(xué)軟件工程 3 個(gè)要素:方法、工具和過(guò)程。軟件生命周期 :定義,開(kāi)發(fā),運(yùn)行維護(hù)軟件過(guò)程 : 瀑布模型,快速原型模型、增量模型、螺旋模型、噴泉模型、 rup等2.1 可行性研究目的:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。2.2 可行性研究的主要內(nèi)容(1) 技術(shù)可行性(2) 經(jīng)濟(jì)可行性(3) 操作可行性(4) 法律可行性(5) 社會(huì)可行性2.3 數(shù)據(jù)流圖1、一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。2、它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程,是精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - -

15、 - 第 6 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁(yè),共 25 頁(yè) - - - - - - - - -系統(tǒng)邏輯功能的圖形表示。3、 設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實(shí)現(xiàn)這些功能。畫數(shù)據(jù)流圖的方法:1、自頂向下,逐步求精2、先畫頂層dfd ,描繪系統(tǒng)的整體邏輯概貌;頂層流圖僅包含一個(gè)加工, 它代表被開(kāi)發(fā)系統(tǒng)。 它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)。3、其次畫中間層流圖:對(duì)上層父圖的處理的細(xì)化,形成子圖。底層流圖是指其加工不需要在

16、做分解的數(shù)據(jù)流圖,它處在最底層。注意:數(shù)據(jù)流圖應(yīng)該分層,并且在把功能級(jí)數(shù)據(jù)流圖細(xì)化后得到的處理超過(guò)9 個(gè)時(shí),應(yīng)該采用畫分圖的辦法。 當(dāng)把一個(gè)處理分解為一系列處理時(shí), 分解前和分解后的輸入輸出數(shù)據(jù)流必須相同!數(shù)據(jù)流圖用途:1、畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。2、分析員把他對(duì)現(xiàn)有系統(tǒng)的認(rèn)識(shí)或?qū)δ繕?biāo)系統(tǒng)的設(shè)想用數(shù)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁(yè),共 25 頁(yè) - - - -

17、 - - - - -據(jù)流圖描繪出來(lái),供有關(guān)人員審查確認(rèn)。3、由于在數(shù)據(jù)流圖中通常僅僅使用4 種基本符號(hào),而且不包含任何有關(guān)物理實(shí)現(xiàn)的細(xì)節(jié),因此,絕大多數(shù)用戶都可以理解和評(píng)價(jià)它。4、數(shù)據(jù)流圖著重描繪系統(tǒng)所完成的功能,其另一個(gè)主要用途是作為輔助物理系統(tǒng)的分析和設(shè)計(jì)的工具。2.4 小結(jié)1、可行性研究的任務(wù) : 技術(shù), 經(jīng)濟(jì),社會(huì)2、可行性研究過(guò)程 : 8 步驟3、數(shù)據(jù)流圖 : 源點(diǎn)或終點(diǎn),處理,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流4、數(shù)據(jù)字典 : 是分析階段的工具,包括流,元素,存儲(chǔ),處理 4 類元素組成。5、成本/效益分析: 從經(jīng)濟(jì)角度判斷是否繼續(xù)投資于這項(xiàng)工程的主要依據(jù)。3.1 需求分析的具體任務(wù)確定對(duì)系統(tǒng)的綜合要

18、求:1、功能需求2、性能需求3、可靠性和可用性需求4、出錯(cuò)處理需求5、接口需求6、約束7、 逆向需求8、將來(lái)可能提出的要求分析系統(tǒng)的數(shù)據(jù)要求 : 建立數(shù)據(jù)模型, 用圖形化的工具描述數(shù)據(jù)結(jié)構(gòu) (如層次方框圖和 warnier 圖) 。導(dǎo)出系統(tǒng)的邏輯模型數(shù)據(jù)流圖、實(shí)體聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典等。修正系統(tǒng)開(kāi)發(fā)計(jì)劃:精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁(yè),共 25 頁(yè) - - - - - -

19、- - -由分析過(guò)程準(zhǔn)確地估計(jì)系統(tǒng)的成本和進(jìn)度,修正以前制定的開(kāi)發(fā)計(jì)劃。3.2 與用戶溝通獲取需求的方法1、訪談2、面向數(shù)據(jù)流自頂向下逐步求精3、簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)4、快速建立軟件原型(它應(yīng)該實(shí)現(xiàn)用戶看得見(jiàn)的功能,原型要具有快速并容易修改的特點(diǎn))3.3 數(shù)據(jù)規(guī)范化規(guī)范化的目的是:1、消除數(shù)據(jù)冗余,即消除表格中數(shù)據(jù)的重復(fù);2、消除多義性,使關(guān)系中的屬性含義清楚、單一;3、使關(guān)系的“概念”單一化,讓每個(gè)數(shù)據(jù)項(xiàng)只是一個(gè)簡(jiǎn)單的數(shù)或字符串,而不是一個(gè)組項(xiàng)或重復(fù)組;4、方便操作。使數(shù)據(jù)的插入、刪除與修改操作可行并方便;5、使關(guān)系模式更靈活,易于實(shí)現(xiàn)接近自然語(yǔ)言的查詢方式。3.4 狀態(tài)轉(zhuǎn)換圖 (狀態(tài)圖

20、) 通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。狀 態(tài)1、狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。2、系統(tǒng)對(duì)事件的響應(yīng),既可以是做一個(gè)(或一系列 )動(dòng)作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既改變狀態(tài)又做動(dòng)作。3、可分為:初態(tài) (初始狀態(tài) );終態(tài) (最終狀態(tài) );中間狀態(tài)4、 一張狀態(tài)圖中只能有一個(gè)初態(tài), 而終態(tài)則可以有 0 至多個(gè)。事 件事件就是引起系統(tǒng)做動(dòng)作或( 和)轉(zhuǎn)換狀態(tài)的控制信息。符 號(hào)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 9 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f -

21、- - - - - - - - - - - - - 第 9 頁(yè),共 25 頁(yè) - - - - - - - - -1、初態(tài)用實(shí)心圓表示,終態(tài)用一對(duì)同心圓(內(nèi)圓為實(shí)心圓 ) 表示2、中間狀態(tài)用圓角矩形表示,分成上、中、下3 個(gè)部分。3、活動(dòng)表的語(yǔ)法格式:事件名(參數(shù)表)/動(dòng)作表達(dá)式(1)“事件名”可以是任何事件的名稱。在活動(dòng)表中經(jīng)常使用下述 3 種標(biāo)準(zhǔn)事件: entry ,exit和 do。(2) entry事件指定進(jìn)入該狀態(tài)的動(dòng)作,exit事件指定退出該狀態(tài)的動(dòng)作,而do 事件則指定在該狀態(tài)下的動(dòng)作。需要時(shí)可以為事件指定參數(shù)表。(3) 動(dòng)作表達(dá)式描述應(yīng)做的具體動(dòng)作。4、事件表達(dá)式的語(yǔ)法:事件說(shuō)明

22、 守衛(wèi)條件 / 動(dòng)作表達(dá)式(1) 事件說(shuō)明:事件名(參數(shù)表)(2) 動(dòng)作表達(dá)式:當(dāng)狀態(tài)轉(zhuǎn)換開(kāi)始時(shí)執(zhí)行該表達(dá)式。(3) 守衛(wèi)條件是一個(gè)布爾表達(dá)式,如果既有事件說(shuō)明又有守衛(wèi)條件,則當(dāng)事件發(fā)生且守衛(wèi)條件為真是狀態(tài)轉(zhuǎn)換才發(fā)生,如果只有守衛(wèi)條件沒(méi)有事件說(shuō)明,則守衛(wèi)條件為真時(shí), 發(fā)生狀態(tài)轉(zhuǎn)換。5.1 設(shè)計(jì)過(guò)程1. 設(shè)想供選擇的方案; 2. 選取合理的方案; 3. 推薦最佳方案;4. 功能分解; 5. 設(shè)計(jì)軟件結(jié)構(gòu); 6. 設(shè)計(jì)數(shù)據(jù)庫(kù); 7. 制定測(cè)試計(jì)劃; 8. 書(shū)寫文檔; 9. 審查和復(fù)審精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁(yè),共 25 頁(yè)

23、- - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁(yè),共 25 頁(yè) - - - - - - - - -5.2 設(shè)計(jì)原理模塊化1、把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完成一個(gè)子功能, 這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能以滿足用戶的需求。2、模塊是由邊界元素限定的相鄰程序元素的序列,而且有一個(gè)總體標(biāo)識(shí)符代表它。模塊是構(gòu)成程序的基本構(gòu)件。3、過(guò)程、函數(shù)、子程序和宏等,都可作為模塊。4、面向?qū)ο蠓椒▽W(xué)中的對(duì)象是模塊,對(duì)象內(nèi)的方法(或稱為服務(wù))也是模塊。模塊化的好處 :1、可以降低軟件開(kāi)發(fā)的難度;

24、2、可以使程序結(jié)構(gòu)清晰,增加易讀性和易修改性;3、模塊化還有利于提高代碼的可重用性及團(tuán)隊(duì)合作開(kāi)發(fā)大型軟件的可行性。抽象抽象是人類在解決復(fù)雜問(wèn)題時(shí)經(jīng)常采用的一種思維方式,它是指將現(xiàn)實(shí)世界中具有共性的一類事物的相似的、本質(zhì)的方面集中概括起來(lái),而暫時(shí)忽略它們之間的細(xì)節(jié)差異。 結(jié)構(gòu)化程序中自頂向下、逐步求精的模塊劃分思想正是人類思維中運(yùn)用抽象方法解決復(fù)雜問(wèn)題的體現(xiàn)。逐步求精定義:為了能集中精力解決主要問(wèn)題而盡量推遲對(duì)問(wèn)題細(xì)節(jié)的考慮。好處:1、降低了軟件開(kāi)發(fā)中每個(gè)階段的工作難度;2、簡(jiǎn)化了軟件的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程;3、有助于提高軟件的可讀性、可測(cè)試性和可維護(hù)性;4、 在程序設(shè)計(jì)中運(yùn)用抽象的方法還能夠提高代碼

25、的可重用性。信息隱藏和局部化1、信息隱藏:設(shè)計(jì)和確定模塊,使得一個(gè)模塊內(nèi)包含的信精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁(yè),共 25 頁(yè) - - - - - - - - -息(過(guò)程和數(shù)據(jù) )對(duì)于不需要這些信息的模塊來(lái)說(shuō),是不能訪問(wèn)的。目的:主要是為了提高模塊的獨(dú)立性,減少將一個(gè)模塊中的錯(cuò)誤擴(kuò)散到其他模塊的機(jī)會(huì)。 模塊之間的信息傳遞只能通過(guò)合法的調(diào)用接口來(lái)實(shí)現(xiàn)。 信息隱蔽對(duì)提高軟件的可讀性和

26、可維護(hù)性都是非常重要的。2、局部化:是指把一些關(guān)系密切的軟件元素物理地放得彼此靠近。如模塊中的局部數(shù)據(jù)元素是局部化的一個(gè)例子。3、局部化和信息隱藏概念是密切相關(guān)的,局部化有助于信息隱藏模塊獨(dú)立模塊的獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。1、耦合:不同模塊之間互連程度的度量。2、內(nèi)聚:模塊功能強(qiáng)度的度量。3、模塊獨(dú)立是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。3、優(yōu)點(diǎn):比較容易開(kāi)發(fā)出有效模塊化(即具有獨(dú)立的模塊 )的軟件;獨(dú)立的模塊比較容易測(cè)試和維護(hù)。4、耦合:(1) 數(shù)據(jù)耦合: 若兩個(gè)模塊之間僅通過(guò)模塊參數(shù)交換信息,且交換的信息全部

27、為簡(jiǎn)單數(shù)據(jù),則稱這種耦合為數(shù)據(jù)耦合。 耦合性最低。(2) 控制耦合: 若模塊之間交換的信息中包含有控制信息(盡管有時(shí)控制信息是以數(shù)據(jù)的形式出現(xiàn)的),則稱這種耦合為控制耦合??刂岂詈鲜侵械瘸潭鹊鸟詈希?它會(huì)增加程序的復(fù)雜性。(3) 特征耦合: 當(dāng)把整個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分?jǐn)?shù)據(jù)元素。(4) 公共環(huán)境耦合: 若兩個(gè)或多個(gè)模塊通過(guò)引用公共數(shù)據(jù)相互聯(lián)系。(5) 內(nèi)容耦合: 一個(gè)模塊訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù);一個(gè)模塊不通過(guò)正常入口而轉(zhuǎn)到另一個(gè)模塊的內(nèi)部;兩個(gè)模塊有一部分程序代碼重疊;一個(gè)模塊有多個(gè)入口(這意味著一個(gè)模塊有幾種功能 )。精品學(xué)習(xí)資料 可選擇p d f - -

28、 - - - - - - - - - - - - 第 12 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 12 頁(yè),共 25 頁(yè) - - - - - - - - -(6) 盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。5、內(nèi)聚:低內(nèi)聚:偶然內(nèi)聚,邏輯內(nèi)聚,時(shí)間內(nèi)聚中內(nèi)聚:過(guò)程內(nèi)聚,通信內(nèi)聚高內(nèi)聚:順序內(nèi)聚,功能內(nèi)聚6、高內(nèi)聚,低耦合6.1 結(jié)構(gòu)程序設(shè)計(jì)1、結(jié)構(gòu)程序設(shè)計(jì)技術(shù):是實(shí)現(xiàn)質(zhì)量要求的基本保證,是詳細(xì)設(shè)計(jì)的邏輯基礎(chǔ)。2、結(jié)構(gòu)程序設(shè)計(jì)定義: 一個(gè)程序的代碼塊

29、僅僅通過(guò)順序、選擇和循環(huán)這三種基本的控制結(jié)構(gòu)進(jìn)行連接;并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口。-3、只用三種基本的控制結(jié)構(gòu)(順序,選擇,循環(huán))就能實(shí)現(xiàn)任何單入口單出口的程序。從而實(shí)現(xiàn)結(jié)構(gòu)程序設(shè)計(jì)。4、三種基本結(jié)構(gòu)的共同特點(diǎn):(1) 只有一個(gè)入口;(2) 只有一個(gè)出口;(3) 結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到;(4) 結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無(wú)終止的循環(huán) )。5、結(jié)構(gòu)程序設(shè)計(jì)的特點(diǎn):(1) 由三種基本結(jié)構(gòu)順序組成的,可以解決任何復(fù)雜的問(wèn)題。(2) 程序內(nèi)不存在無(wú)規(guī)律的轉(zhuǎn)向,只在基本結(jié)構(gòu)內(nèi)才允許存在分支和向前或向后的跳轉(zhuǎn)。6.2 過(guò)程設(shè)計(jì)的工具(1)過(guò)程設(shè)計(jì)是設(shè)計(jì)模塊的詳細(xì)步驟(算法),是詳細(xì)設(shè)計(jì)階

30、段應(yīng)完成的主要工作。(2)過(guò)程設(shè)計(jì)的工具描述程序處理過(guò)程的工具。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁(yè),共 25 頁(yè) - - - - - - - - -程序流程圖的優(yōu)缺點(diǎn) : 主要優(yōu)點(diǎn): 對(duì)控制流程的描繪很簡(jiǎn)明直觀、易于理解, 便于初學(xué)者掌握。主要缺點(diǎn):(1) 本質(zhì)上不是逐步求精的好工具。 -改進(jìn):pad圖(2) 用箭頭代表控制流,描述程序時(shí)可以隨意跳轉(zhuǎn)。 -改進(jìn):n-s圖(3) 不易

31、表示數(shù)據(jù)結(jié)構(gòu)。 -改進(jìn):pad圖(4) 嵌套的條件選擇表示不清。 -改進(jìn):判定樹(shù)、判定表精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁(yè),共 25 頁(yè) - - - - - - - - -pad圖(問(wèn)題分析圖)pad圖的特點(diǎn):(1) 能展現(xiàn)算法的層次結(jié)構(gòu);精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁(yè),共 25 頁(yè) - - - - - - -

32、- -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁(yè),共 25 頁(yè) - - - - - - - - -(2) 表示形式直觀易懂;(3) 既可用于表示程序邏輯,又可用于描述數(shù)據(jù)結(jié)構(gòu);(4) 支持自頂向下,逐步求精的過(guò)程。判定表當(dāng)算法中包含多重嵌套的條件選擇時(shí),用程序流程圖、盒圖、pad圖等都不易清楚地描述,然而,判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。判定表的優(yōu)缺點(diǎn):優(yōu)點(diǎn):判定表能夠簡(jiǎn)潔而無(wú)歧義地描述處理規(guī)則??梢詫?duì)判定表進(jìn)行校驗(yàn)或化簡(jiǎn)。缺點(diǎn):并不適于作為一種通用的設(shè)計(jì)工具,直觀性不夠。判定樹(shù)判定樹(shù)是用來(lái)表達(dá)加工邏輯的一

33、種工具。比判定表更直觀, 是一種常用的系統(tǒng)分析和設(shè)計(jì)工具。判定樹(shù)的優(yōu)缺點(diǎn):優(yōu)點(diǎn):比判定表更直觀。缺點(diǎn):(1) 不夠簡(jiǎn)潔,數(shù)據(jù)元素重復(fù)多次地寫。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 16 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 16 頁(yè),共 25 頁(yè) - - - - - - - - -(2) 畫判定樹(shù)時(shí)分枝的次序?qū)?jiǎn)潔程序有影響。pdl程序設(shè)計(jì)語(yǔ)言(1) 是一種非形式化、比較靈活的混雜語(yǔ)言。也稱為偽碼。(2) 用于描述模塊內(nèi)部過(guò)程的具體算法

34、,以便在開(kāi)發(fā)人員之間比較精確的進(jìn)行交流。pdl的優(yōu)缺點(diǎn) :優(yōu)點(diǎn):(1)可以作為注釋直接插入到源程序中。有利于pdl和源程序保持一致性。(2) pdl編寫方便。(3)可以由自動(dòng)處理程序?qū)dl生成程序代碼。缺點(diǎn):(1) 不如圖形工具形象直觀。(2) 描述復(fù)雜的條件組合與動(dòng)作間的對(duì)應(yīng)關(guān)系時(shí),不如判定表清晰簡(jiǎn)單。6.5 程序復(fù)雜程度的定量度量mccabe 方法基本原理:根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度(稱為程序的環(huán)形復(fù)雜度) 。采用“流圖”:僅描繪程序的控制流程,完全不表現(xiàn)對(duì)數(shù)據(jù)的具體操作及分支或循環(huán)的具體條件。基本步驟:(1) 將程序流程圖或pdl等映射為流圖。(2) 基于流圖計(jì)算環(huán)

35、形復(fù)雜度, 以定量度量程序的復(fù)雜程度。流圖定義:僅僅描繪程序的控制流程基本符號(hào):圓:表示結(jié)點(diǎn),代表一條或多條語(yǔ)句。箭頭線:邊區(qū)域:由邊和圓圍成的面積基本原則 :精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 17 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 17 頁(yè),共 25 頁(yè) - - - - - - - - -合并原則: 順序處理框和菱形判定框、 順序處理框序列分別合并映射成流圖中的一個(gè)結(jié)點(diǎn)。分解原則: 復(fù)合條件分解為若干個(gè)簡(jiǎn)單條件,每個(gè)簡(jiǎn)單條件映

36、射成流圖中一個(gè)結(jié)點(diǎn)。其他情況下的框映射成流圖中的一個(gè)結(jié)點(diǎn)。計(jì)算環(huán)形復(fù)雜度的方法:(1) 流圖中的環(huán)形復(fù)雜度v(g)= 區(qū)域數(shù)。(2) 流圖 g的環(huán)形復(fù)雜度 v(g)=e -n+2,其中,e是流圖中邊的條數(shù), n 是結(jié)點(diǎn)數(shù)。(3) 流圖 g的環(huán)形復(fù)雜度 v(g)=p+1 ,其中, p是流圖中判定結(jié)點(diǎn)的數(shù)目。環(huán)形復(fù)雜度的用途:(1) 可以用于比較兩個(gè)算法的優(yōu)劣。對(duì)測(cè)試難度的一種定量度量。(2) 作為模塊規(guī)模的精確限度。環(huán)形復(fù)雜度高的程序往往是最困難、最容易出問(wèn)題的程序。 實(shí)踐表明, 模塊規(guī)模以 v(g)10 為宜。7.1 軟件測(cè)試基礎(chǔ)根本目標(biāo)盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的

37、軟件系統(tǒng)交給用戶使用。軟件測(cè)試準(zhǔn)則(1) 所有測(cè)試都應(yīng)該能追溯到用戶需求。(2) 應(yīng)該遠(yuǎn)在測(cè)試開(kāi)始之前就制定出測(cè)試計(jì)劃。(3) 把 pareto 原理應(yīng)用到軟件測(cè)試中。 (測(cè)試發(fā)現(xiàn)的錯(cuò)誤中的80% 很可能是由程序中20% 的模塊造成的。)(4) 應(yīng)該從 “ 小規(guī)模” 測(cè)試開(kāi)始,并逐步進(jìn)行 “ 大規(guī)?!?測(cè)試(5) 窮舉測(cè)試是不可能的。(6) 為了達(dá)到最佳的測(cè)試效果,應(yīng)該由獨(dú)立的第三方從事測(cè)試工作。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 18 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - -

38、 - - - - - - - - - 第 18 頁(yè),共 25 頁(yè) - - - - - - - - -測(cè)試方法測(cè)試步驟(1) 模塊測(cè)試;(2) 子系統(tǒng)測(cè)試;(3) 系統(tǒng)測(cè)試;(4) 驗(yàn)收測(cè)試;(5) 平行運(yùn)行7.2 白盒測(cè)試技術(shù)邏輯覆蓋以程序的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)測(cè)試用例的技術(shù)。(1)語(yǔ)句覆蓋使程序中每個(gè)語(yǔ)句至少執(zhí)行一次。(2)判定覆蓋使每個(gè)判定的真假分支都至少執(zhí)行一次。(3)條件覆蓋使每個(gè)判定的每個(gè)條件的可能取值至少執(zhí)行一次。(4)判定/條件覆蓋每個(gè)條件的所有可能取值至少執(zhí)行一次;使每個(gè)判定的真假分支都至少執(zhí)行一次。(5)條件組合覆蓋所有可能的條件取值組合至少執(zhí)行一次。 滿足條件組合覆蓋的測(cè)試數(shù)

39、據(jù), 也一定滿足判定覆蓋、 條件覆蓋和判定/條件覆蓋標(biāo)準(zhǔn)。覆蓋標(biāo)準(zhǔn)相對(duì)較強(qiáng),但是也不意味著所有的路徑都能被執(zhí)行到。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 19 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 19 頁(yè),共 25 頁(yè) - - - - - - - - -(6)路徑覆蓋使程序中每條可能路徑都至少執(zhí)行一次??刂平Y(jié)構(gòu)測(cè)試基本路徑測(cè)試(常用)第 1 步:畫出程序流圖第 2 步:計(jì)算程序的環(huán)形復(fù)雜度p (表示程序基本路徑集中的獨(dú)立路徑數(shù)的上限)第

40、 3 步:確定獨(dú)立路徑的基本集合第 4 步:從該基本集合導(dǎo)出測(cè)試用例第 5 步:執(zhí)行測(cè)試用例第 6 步:寫測(cè)試報(bào)告條件測(cè)試條件成分的類型包括布爾算符、布爾變量、布爾括?。ɡㄗ『?jiǎn)單條件或復(fù)合條件) 、關(guān)系算符及算術(shù)表達(dá)式。循環(huán)測(cè)試(1)簡(jiǎn)單循環(huán);(2)嵌套循環(huán);(3)串接循環(huán)7.3 黑盒測(cè)試技術(shù)黑盒測(cè)試著重測(cè)試軟件功能。黑盒測(cè)試并不能取代白盒測(cè)試,它是與白盒測(cè)試互補(bǔ)的測(cè)試方法, 它很可能發(fā)現(xiàn)白盒測(cè)試不易發(fā)現(xiàn)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 20 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - -

41、 - - - - - - - - - - - 第 20 頁(yè),共 25 頁(yè) - - - - - - - - -的其他類型的錯(cuò)誤。黑盒測(cè)試力圖發(fā)現(xiàn)下述類型的錯(cuò)誤:功能不正確或遺漏了功能;界面錯(cuò)誤;數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤;性能錯(cuò)誤;初始化和終止錯(cuò)誤。黑盒測(cè)試技術(shù):(1) 等價(jià)劃分法:把程序的輸入域劃分成若干個(gè)數(shù)據(jù)類,據(jù)數(shù)據(jù)類導(dǎo)出測(cè)試用例。(2) 邊界值分析法。 (3) 錯(cuò)誤推測(cè)法。(4) 因果圖法等9.1 面向?qū)ο蟮母拍?)對(duì)象對(duì)象是封裝了數(shù)據(jù)和行為的通信單位。2)類類是對(duì)具有相同數(shù)據(jù)和相同操作的一組對(duì)象的定義,即類是對(duì)具有相同屬性和行為的對(duì)象的描述。3)消息對(duì)象之間進(jìn)行通信的構(gòu)造或結(jié)構(gòu)。

42、消息分為請(qǐng)求消息和完成消息兩種 ( 由消息模式描述 )。消息模式:發(fā)送對(duì)象、接收對(duì)象、內(nèi)容4)封裝面向?qū)ο蟮囊粋€(gè)重要原則。封裝是指在面向?qū)ο蟮某绦蛑校褦?shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來(lái)放在對(duì)象內(nèi)部。5)繼承面向?qū)ο竺枋鲱愔g相似性的重要機(jī)制,子類自動(dòng)地共享基類中定義的數(shù)據(jù)和方法的機(jī)制。6)多態(tài)性允許每個(gè)對(duì)象以自己最合適的方式去響應(yīng)共同的消息,從而增強(qiáng)軟件的靈活性和可復(fù)用性。7) 重載函數(shù)重載是指在同一作用域內(nèi)具有多個(gè)同名的函數(shù),這些函數(shù)具有若干個(gè)不同的參數(shù)特征;運(yùn)算符重載是指同一個(gè)運(yùn)算符可以施加于不同類型的操作數(shù)上。9.4 對(duì)象模型對(duì)象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì)。它是對(duì)模擬客觀世界

43、實(shí)體的對(duì)象以及對(duì)象彼此間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 21 頁(yè),共 25 頁(yè) - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 21 頁(yè),共 25 頁(yè) - - - - - - - - -類圖的基本符號(hào)1. 定義類uml 中類的圖形符號(hào)為長(zhǎng)方形,分成上、中、下3 個(gè)區(qū)域(下面兩個(gè)區(qū)域可省略) ,分別放類的名字、屬性和服務(wù)。類名應(yīng)該是富于描述性的、簡(jiǎn)潔的而且無(wú)二義性的。2. 定義屬性u(píng)ml 描述屬性的語(yǔ)法格式如下: 可見(jiàn)性 屬

44、性名:類型名=初值 性質(zhì)串 屬性的可見(jiàn)性(即訪問(wèn)性):共有的 (public)、私有的(private)和保護(hù)的 (protected),分別用加號(hào) (+) 、減號(hào) (-)和井號(hào) (#) 表示。3. 定義服務(wù)服務(wù)也就是操作, uml 描述操作的語(yǔ)法格式如下:可見(jiàn)性操作名(參數(shù)表): 返回值類型 性質(zhì)串 參數(shù)表是用逗號(hào)分隔的形式參數(shù)的序列。描述一個(gè)參數(shù)的語(yǔ)法: 參數(shù)名: 類型名= 默認(rèn)值 表示關(guān)系的符號(hào)1. 關(guān)聯(lián)關(guān)聯(lián)表示兩個(gè)類的對(duì)象之間存在某種語(yǔ)義上的聯(lián)系。1)普通關(guān)聯(lián):類與類之間存在連接關(guān)系就可以用普通關(guān)聯(lián)表示。2)關(guān)聯(lián)的角色:在任何關(guān)聯(lián)中都會(huì)涉及到參與此關(guān)聯(lián)的對(duì)象所扮演的角色(即起的作用)

45、,如果沒(méi)有顯式標(biāo)出角色名,則意味著用類名作為角色名。3)限定關(guān)聯(lián):通常用在一對(duì)多或多對(duì)多的關(guān)聯(lián)關(guān)系中,可以把模型中的重?cái)?shù)從一對(duì)多變成一對(duì)一,或從多對(duì)多簡(jiǎn)化成多對(duì)一。4)關(guān)聯(lián)類:說(shuō)明關(guān)聯(lián)的性質(zhì)可能需要一些附加信息。關(guān)聯(lián)類通過(guò)一條虛線與關(guān)聯(lián)連接。關(guān)聯(lián)類與一般類一樣, 也有屬性、操作和關(guān)聯(lián)。 關(guān)聯(lián)中的每個(gè)連接與關(guān)聯(lián)類的一個(gè)對(duì)象相聯(lián)系。2. 聚集也稱為聚合,是關(guān)聯(lián)的特例。聚集表示類與類之間的關(guān)系是整體與部分的關(guān)系1)共享聚集:在聚集關(guān)系中處于部分方的對(duì)象可同時(shí)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 22 頁(yè),共 25 頁(yè) - - - - - - -

46、- -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 22 頁(yè),共 25 頁(yè) - - - - - - - - -參與多個(gè)處于整體方對(duì)象的構(gòu)成。 一般聚集和共享聚集的圖示符號(hào),都是在表示關(guān)聯(lián)關(guān)系的直線末端緊挨著整體類的地方畫一個(gè)空心菱形。2)組合聚集:如果部分類完全隸屬于整體類,部分與整體共存,整體不存在了部分也會(huì)隨之消失(或失去存在價(jià)值了) ,則該聚集稱為組合聚集 (簡(jiǎn)稱為組成)。組成關(guān)系用實(shí)心菱形表示。3. 泛化就是通常所說(shuō)的繼承關(guān)系,它是通用元素和具體元素之間的一種分類關(guān)系。 具體元素完全擁有通用元素的信息,并且還可以附加一些其他信息。 用一端為

47、空心三角形的連線表示泛化關(guān)系,三角形的頂角緊挨著通用元素。1)普通泛化:普通泛化與繼承基本相同。沒(méi)有具體對(duì)象的類稱為抽象類。 抽象類通常作為父類, 用于描述其他類 (子類)的公共屬性和行為。 圖示抽象類時(shí), 在類名下方附加一個(gè)標(biāo)記值 abstract。2)受限泛化:給泛化關(guān)系附加約束條件,以進(jìn)一步說(shuō)明該泛化關(guān)系的使用方法或擴(kuò)充方法。3)多重繼承:一個(gè)子類可以同時(shí)多次繼承同一個(gè)上層基類。9.5 動(dòng)態(tài)模型動(dòng)態(tài)模型表示瞬時(shí)的、行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對(duì)象模型中的對(duì)象的合法變化序列。9.6 功能模型用例圖一幅用例圖包含的模型元素有系統(tǒng)、 行為者、用例及用例之間的關(guān)系。1)用例:表示系統(tǒng)提供的服務(wù),主要刻畫系統(tǒng)如何被參與者使用。 use case 是 uml中一個(gè)非常重要的概念。用例是對(duì)一組動(dòng)作序列的抽象描述, 系統(tǒng)執(zhí)行這些動(dòng)作序列, 將產(chǎn)生相應(yīng)的結(jié)果。用例也可以理解為參與者為了使用系統(tǒng)提供的某一完整功能而和系統(tǒng)之間發(fā)生的一段對(duì)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論