大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件市公開(kāi)課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第1頁(yè)
大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件市公開(kāi)課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第2頁(yè)
大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件市公開(kāi)課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第3頁(yè)
大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件市公開(kāi)課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第4頁(yè)
大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件市公開(kāi)課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第5頁(yè)
已閱讀5頁(yè),還剩130頁(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)介

大連理工大學(xué)軟件學(xué)院軟件工程復(fù)習(xí)大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第1頁(yè)第1頁(yè)第1章基礎(chǔ)知識(shí)2024/5/12大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第2頁(yè)第2頁(yè)什么是軟件軟件定義—軟件由三部分組成:程序:在運(yùn)行時(shí),能提供所希望功效和性能指令集數(shù)據(jù):使程序能夠正確運(yùn)行數(shù)據(jù)文檔:描述程序研制過(guò)程、方法及使用文檔軟件處理是信息和邏輯軟件開(kāi)發(fā),絕不但僅是編寫(xiě)程序軟件圍繞著邏輯進(jìn)行軟件就是一個(gè)信息交換器產(chǎn)生、管理、獲取、修改、顯示或傳送信息軟件≠程序2024/5/13大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第3頁(yè)第3頁(yè)什么是軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)過(guò)程中所碰到一系列嚴(yán)重問(wèn)題。軟件工程(IEEE)1993年,提出軟件工程1)將系統(tǒng)化、規(guī)范化、可量化工程標(biāo)準(zhǔn)和方法,應(yīng)用于軟件開(kāi)發(fā)、運(yùn)行和維護(hù)。2)對(duì)1)中方法理論研究。2024/5/14大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第4頁(yè)第4頁(yè)軟件工程基本原理(開(kāi)發(fā)與維護(hù)指導(dǎo))用分階段生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)施嚴(yán)格產(chǎn)品控制采取當(dāng)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開(kāi)發(fā)小組人員應(yīng)該少而精認(rèn)可不停改進(jìn)軟件工程實(shí)踐必要性2024/5/15大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第5頁(yè)第5頁(yè)軟件工程方法學(xué)把在軟件生命周期全過(guò)程中使用一整套技術(shù)集合稱為方法學(xué)(methodology),也稱范型(paradigm)。軟件工程方法學(xué)三個(gè)要素:方法、工具和過(guò)程。方法是完成軟件開(kāi)發(fā)各項(xiàng)任務(wù)技術(shù),回答“怎樣做”;工具是為方法利用提供自動(dòng)或半自動(dòng)軟件支撐環(huán)境,回答“用什么做”;過(guò)程是為取得高質(zhì)量軟件要完成一系列任務(wù)框架,要求完成各項(xiàng)任務(wù)步驟,回答“怎樣控制、協(xié)調(diào)、確保質(zhì)量”。管理方法2024/5/16大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第6頁(yè)第6頁(yè)當(dāng)前使用得最廣泛軟件工程方法學(xué)。傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。

當(dāng)軟件規(guī)模較大,或?qū)浖枨笫呛螂S時(shí)間改變時(shí)候,使用結(jié)構(gòu)化范型開(kāi)發(fā)軟件往往不成功;另外,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)出軟件,維護(hù)起來(lái)通常都很困難。結(jié)構(gòu)化-靜態(tài)分析,面向?qū)ο螅瓌?dòng)態(tài)分析世界萬(wàn)物是改變傳統(tǒng)方法學(xué)與面向?qū)ο蠓椒▽W(xué)2024/5/17大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第7頁(yè)第7頁(yè)傳統(tǒng)方法特點(diǎn)生命周期模型軟件過(guò)程劃分為若干個(gè)階段每個(gè)階段有各自任務(wù)階段之間有某種次序性2024/5/18大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第8頁(yè)第8頁(yè)面向?qū)ο蠓椒ǎ簩?duì)象作為融合數(shù)據(jù)及在數(shù)據(jù)之上操作行為統(tǒng)一軟件構(gòu)件。把全部對(duì)象都劃分成類(Class)。每個(gè)類都定義了一組數(shù)據(jù)和一組操作。按照父類(或稱為基類)與子類(或稱為派生類)關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)系統(tǒng)(也稱為類等級(jí))。在類等級(jí)中,下層派生類自動(dòng)擁有上層基類中定義數(shù)據(jù)和操作,稱為繼承。對(duì)象彼此間僅能經(jīng)過(guò)發(fā)送消息相互聯(lián)絡(luò)-封裝性。數(shù)據(jù):靜態(tài)操作:動(dòng)態(tài)EverythingisObject.2024/5/19大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第9頁(yè)第9頁(yè)1.3軟件生命周期

軟件生命周期由軟件定義、軟件開(kāi)發(fā)和運(yùn)行維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又可深入劃分成若干個(gè)階段,每個(gè)階段有各自任務(wù)。1軟件定義2軟件開(kāi)發(fā)3運(yùn)行維護(hù)2024/5/110大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第10頁(yè)第10頁(yè)問(wèn)題定義可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試綜合測(cè)試軟件維護(hù)2024/5/111大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第11頁(yè)第11頁(yè)實(shí)際瀑布模型軟件過(guò)程模型(生命周期模型)2024/5/112大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第12頁(yè)第12頁(yè)快速原型模型2024/5/113大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第13頁(yè)第13頁(yè)增量模型瀑布模型:力爭(zhēng)一次性給用戶完整系統(tǒng)。增量模型:逐步增加系統(tǒng)功效。需要開(kāi)放架構(gòu)設(shè)計(jì)。2024/5/114大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第14頁(yè)第14頁(yè)完整螺旋模型2024/5/115大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第15頁(yè)第15頁(yè)噴泉模型迭代是OO開(kāi)發(fā)過(guò)程主要特征。噴泉模型是經(jīng)典面向?qū)ο笊芷谀P?。“噴泉”表示了面向?qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫特征。為預(yù)防噴泉模型過(guò)分無(wú)序,把一個(gè)線性過(guò)程作為總目標(biāo)。迭代

2024/5/116大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第16頁(yè)第16頁(yè)噴泉模型迭代:逐步求精階段間沒(méi)有顯著界限-面向?qū)ο笏枷氪_保了各個(gè)階段開(kāi)發(fā)一致性。迭代是OO開(kāi)發(fā)過(guò)程主要特征。噴泉模型是經(jīng)典面向?qū)ο笊芷谀P汀!皣娙北硎玖嗣嫦驅(qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫特征。2024/5/117大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第17頁(yè)第17頁(yè)可行性與需求分析大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第18頁(yè)第18頁(yè)可行性研究不是處理問(wèn)題,而是確定問(wèn)題是否值得去處理較高層次系統(tǒng)分析和設(shè)計(jì)過(guò)程需求分析發(fā)覺(jué)、求精、建模、規(guī)格說(shuō)明和復(fù)審過(guò)程重復(fù)求精一再細(xì)化,得出對(duì)目標(biāo)系統(tǒng)完整、準(zhǔn)確和詳細(xì)要求。建立數(shù)據(jù)模型、功效模型和行為模型等三種模型。還要寫(xiě)出準(zhǔn)確軟件需求規(guī)格說(shuō)明。。2024/5/119大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第19頁(yè)第19頁(yè)系統(tǒng)流程圖系統(tǒng)流程圖概括描繪物理系統(tǒng)傳統(tǒng)工具用圖形符號(hào),以黑盒子形式描述組成系統(tǒng)每個(gè)部件程序、文檔、數(shù)據(jù)庫(kù)、人工過(guò)程2024/5/120大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第20頁(yè)第20頁(yè)系統(tǒng)流程圖例子例子每個(gè)符號(hào)用黑盒子形式定義了組成系統(tǒng)一個(gè)部件。沒(méi)有部件內(nèi)部詳細(xì)工作過(guò)程箭頭確定經(jīng)過(guò)系統(tǒng)邏輯路徑(信息流動(dòng)路徑)2024/5/121大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第21頁(yè)第21頁(yè)數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出過(guò)程中所經(jīng)受變換?;蚧蚧蚍?hào)含義數(shù)據(jù)源點(diǎn)或終點(diǎn)數(shù)據(jù)流數(shù)據(jù)存放加工(數(shù)據(jù)處理)2024/5/122大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第22頁(yè)第22頁(yè)加工中常見(jiàn)關(guān)系符號(hào)表示符號(hào)含義由數(shù)據(jù)A和B共同變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B和數(shù)據(jù)C由數(shù)據(jù)A或B,或者數(shù)據(jù)A和B共同變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B或C,或者同時(shí)變換為數(shù)據(jù)B和C由數(shù)據(jù)A或B其中之一變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B或C其中之一T*T*T+T+TT2024/5/123大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第23頁(yè)第23頁(yè)2024/5/124大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第24頁(yè)第24頁(yè)把處理事務(wù)功效深入分解后數(shù)據(jù)流圖2024/5/125大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第25頁(yè)第25頁(yè)數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息集合,即對(duì)DFD圖中包含元素定義集合。數(shù)據(jù)字典用途是供人查閱不了解條目標(biāo)解釋。提供分析設(shè)計(jì)過(guò)程中關(guān)于數(shù)據(jù)描述。數(shù)據(jù)字典與DFD相輔相成。只有DFD和對(duì)應(yīng)元素準(zhǔn)確定義放在一起,才能組成系統(tǒng)規(guī)格說(shuō)明。2024/5/126大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第26頁(yè)第26頁(yè)定義數(shù)據(jù)方法=意思是等價(jià)于(或定義為);+意思是和(即,連接兩個(gè)分量);[]意思是或(即,從方括弧內(nèi)列出若干個(gè)分量中選擇一個(gè)),用“|”號(hào)分開(kāi)供選擇分量;{}意思是重復(fù)(即,重復(fù)花括弧內(nèi)分量);()意思是可選(即,圓括弧里分量可有可無(wú))。使用上限和下限深入注釋表示重復(fù)花括弧。左邊用上角標(biāo)和下角標(biāo)分別表明重復(fù)上限和下限;左側(cè)標(biāo)明重復(fù)下限,在閉括弧右側(cè)標(biāo)明上限。比如:{A}和1{A}5含義相同。152024/5/127大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第27頁(yè)第27頁(yè)數(shù)據(jù)字典實(shí)現(xiàn)CASE工具人工卡片2024/5/128大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第28頁(yè)第28頁(yè)實(shí)體—關(guān)系圖數(shù)據(jù)模型包含三種相互關(guān)聯(lián)信息:數(shù)據(jù)對(duì)象、描述數(shù)據(jù)對(duì)象屬性及數(shù)據(jù)對(duì)象彼此間相互連接關(guān)系。2024/5/129大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第29頁(yè)第29頁(yè)某校教學(xué)管理ER圖2024/5/130大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第30頁(yè)第30頁(yè)學(xué)生和課程之間E-R模型學(xué)生和課程之間多對(duì)多聯(lián)絡(luò)E-R模型;(b)將多對(duì)多聯(lián)絡(luò)轉(zhuǎn)換為一對(duì)多聯(lián)絡(luò)E-R模型選課mn學(xué)號(hào)專業(yè)年級(jí)課名課號(hào)課時(shí)1n學(xué)號(hào)專業(yè)課名課號(hào)課時(shí)學(xué)號(hào)課號(hào)n1姓名課程學(xué)生姓名課程學(xué)分學(xué)生年級(jí)選課學(xué)分(a)(b)2024/5/131大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第31頁(yè)第31頁(yè)其它圖形工具Warnier圖2024/5/132大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第32頁(yè)第32頁(yè)其它圖形工具(3)IPO圖2024/5/133大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第33頁(yè)第33頁(yè)其它圖形工具(2)IPO圖IPO圖是輸入、處理、輸出圖簡(jiǎn)稱左邊框中列出相關(guān)輸入中間框中列出主要處理右邊框中列出產(chǎn)生輸出處理次序暗示了執(zhí)行次序箭頭指出數(shù)據(jù)通信情況2024/5/134大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第34頁(yè)第34頁(yè)總體設(shè)計(jì)大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第35頁(yè)第35頁(yè)總體設(shè)計(jì)概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)主要任務(wù)是經(jīng)過(guò)仔細(xì)分析軟件規(guī)格說(shuō)明,適當(dāng)?shù)貙?duì)軟件進(jìn)行功效分解,從而把軟件劃分為模塊,而且設(shè)計(jì)出完成預(yù)定功效模塊結(jié)構(gòu)。詳細(xì)設(shè)計(jì)階段詳細(xì)地設(shè)計(jì)每個(gè)模塊,確定完成每個(gè)模塊功效所需要算法和數(shù)據(jù)結(jié)構(gòu)。2024/5/136大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第36頁(yè)第36頁(yè)模塊化:就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)模塊,每個(gè)模塊完成一個(gè)子功效,把這些模塊集成起來(lái)組成一個(gè)整體,能夠完成指定功效滿足用戶需求。能夠由許多程序員分工編寫(xiě)不一樣模塊能夠使軟件結(jié)構(gòu)清楚,便于擴(kuò)展使軟件輕易測(cè)試和調(diào)試,因而有利于提升軟件可靠性。模塊大小要適中,不過(guò)分細(xì)。2024/5/137大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第37頁(yè)第37頁(yè)模塊獨(dú)立模塊獨(dú)立程度能夠由兩個(gè)定性標(biāo)準(zhǔn)來(lái)度量,分別稱為內(nèi)聚和耦合。耦合:衡量不一樣模塊彼此間相互依賴(連接)緊密程度;內(nèi)聚:衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合緊密程度。2024/5/138大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第38頁(yè)第38頁(yè)耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不一樣模塊之間互連程度度量。盡可能渙散耦合2024/5/139大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第39頁(yè)第39頁(yè)數(shù)據(jù)耦合:特征耦合:控制耦合:外部耦合:公共耦合:內(nèi)容耦合:弱強(qiáng)盡可能使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合范圍,完全不用內(nèi)容耦合。2024/5/140大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第40頁(yè)第40頁(yè)內(nèi)聚:標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合緊密程度,它是信息隱蔽和局部化概念自然擴(kuò)展。簡(jiǎn)單地說(shuō),理想內(nèi)聚模塊只做一件事情。

2024/5/141大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第41頁(yè)第41頁(yè)功效內(nèi)聚:信息內(nèi)聚:通信內(nèi)聚:過(guò)程內(nèi)聚:時(shí)間內(nèi)聚:邏輯內(nèi)聚:巧合內(nèi)聚:強(qiáng)弱設(shè)計(jì)時(shí)應(yīng)該力爭(zhēng)做到高內(nèi)聚。2024/5/142大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第42頁(yè)第42頁(yè)改進(jìn)軟件結(jié)構(gòu)提升模塊獨(dú)立性模塊規(guī)模應(yīng)該適中深度、寬度、扇出和扇入都應(yīng)適當(dāng)模塊作用域應(yīng)該在控制域之內(nèi)力爭(zhēng)降低模塊接口復(fù)雜程度設(shè)計(jì)單入口單出口模塊模塊功效應(yīng)該能夠預(yù)測(cè)2024/5/143大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第43頁(yè)第43頁(yè)描繪軟件結(jié)構(gòu)圖形工具層次圖和HIPO圖結(jié)構(gòu)圖2024/5/144大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第44頁(yè)第44頁(yè)正文加工系統(tǒng)層次圖2024/5/145大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第45頁(yè)第45頁(yè)正文加工系統(tǒng)H圖2024/5/146大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第46頁(yè)第46頁(yè)結(jié)構(gòu)圖例子—產(chǎn)生最正確解普通結(jié)構(gòu)2024/5/147大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第47頁(yè)第47頁(yè)軟件結(jié)構(gòu)設(shè)計(jì)方法面向數(shù)據(jù)流設(shè)計(jì)方法目標(biāo)是給出設(shè)計(jì)軟件結(jié)構(gòu)一個(gè)系統(tǒng)化路徑。利用數(shù)據(jù)流圖中“映射“,把數(shù)據(jù)流圖變換成軟件結(jié)構(gòu)。2024/5/148大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第48頁(yè)第48頁(yè)變換流和事務(wù)流2024/5/149大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第49頁(yè)第49頁(yè)設(shè)計(jì)步驟復(fù)查基本系統(tǒng)模型。復(fù)查并精化數(shù)據(jù)流圖。確定數(shù)據(jù)流圖含有變換特征還是事務(wù)特征。確定輸入流和輸出流邊界,從而孤立出變換中心。完成“第一級(jí)分解”。完成“第二級(jí)分解”。使用設(shè)計(jì)度量和啟發(fā)規(guī)則對(duì)第一次分割得到軟件結(jié)構(gòu)深入精化。

2024/5/150大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第50頁(yè)第50頁(yè)數(shù)字儀表板系統(tǒng)數(shù)據(jù)流圖精化數(shù)據(jù)流圖數(shù)據(jù)流圖含有變換特征還是事務(wù)特征2024/5/151大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第51頁(yè)第51頁(yè)含有邊界數(shù)據(jù)流圖確定輸入流和輸出流邊界,從而孤立出變換中心2024/5/152大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第52頁(yè)第52頁(yè)第一級(jí)分解方法2024/5/153大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第53頁(yè)第53頁(yè)數(shù)字儀表板系統(tǒng)第一級(jí)分解完成“第一級(jí)分解”2024/5/154大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第54頁(yè)第54頁(yè)第二級(jí)分解方法2024/5/155大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第55頁(yè)第55頁(yè)未經(jīng)精化輸入結(jié)構(gòu)完成“第二級(jí)分解”2024/5/156大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第56頁(yè)第56頁(yè)精化后數(shù)字儀表板系統(tǒng)軟件結(jié)構(gòu)軟件結(jié)構(gòu)深入精化2024/5/157大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第57頁(yè)第57頁(yè)事務(wù)分析映射方法2024/5/158大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第58頁(yè)第58頁(yè)詳細(xì)設(shè)計(jì)大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第59頁(yè)第59頁(yè)詳細(xì)設(shè)計(jì)階段主要完成界面和程序過(guò)程設(shè)計(jì).過(guò)程設(shè)計(jì)應(yīng)該在數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)和接口設(shè)計(jì)完成之后進(jìn)行.程序員將依據(jù)過(guò)程設(shè)計(jì)寫(xiě)出實(shí)際程序代碼。2024/5/160大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第60頁(yè)第60頁(yè)結(jié)構(gòu)程序設(shè)計(jì)經(jīng)典定義以下所述:假如一個(gè)程序代碼塊僅僅經(jīng)過(guò)次序、選擇和循環(huán)這三種控制結(jié)構(gòu)進(jìn)行連接,而且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化。2024/5/161大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第61頁(yè)第61頁(yè)過(guò)程設(shè)計(jì)工具程序流程圖

2024/5/162大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第62頁(yè)第62頁(yè)盒圖(N-S圖)2024/5/163大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第63頁(yè)第63頁(yè)P(yáng)AD圖2024/5/164大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第64頁(yè)第64頁(yè)判定表2024/5/165大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第65頁(yè)第65頁(yè)用判定樹(shù)表示計(jì)算行李費(fèi)算法判定樹(shù)2024/5/166大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第66頁(yè)第66頁(yè)偽碼2024/5/167大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第67頁(yè)第67頁(yè)測(cè)試大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第68頁(yè)第68頁(yè)2024/5/169大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第69頁(yè)第69頁(yè)回歸測(cè)試(已執(zhí)行過(guò)測(cè)試用例子集)包含下述三種不一樣測(cè)試用例。檢測(cè)軟件全部功效代表性測(cè)試用例。專門針對(duì)可能受修改影響軟件功效附加測(cè)試。針對(duì)被修改過(guò)軟件成份測(cè)試。2024/5/170大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第70頁(yè)第70頁(yè)白盒測(cè)試技術(shù)邏輯覆蓋是設(shè)計(jì)白盒測(cè)試方案技術(shù)。設(shè)計(jì)測(cè)試方案是測(cè)試階段關(guān)鍵技術(shù)問(wèn)題。2024/5/171大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第71頁(yè)第71頁(yè)語(yǔ)句覆蓋

為暴露程序錯(cuò)誤,最少每個(gè)語(yǔ)句應(yīng)該執(zhí)行一次。含義是,選擇足夠多測(cè)試數(shù)據(jù),使被測(cè)程序中每個(gè)語(yǔ)句最少執(zhí)行一次。2024/5/172大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第72頁(yè)第72頁(yè)判定覆蓋

又叫分支覆蓋不但每個(gè)語(yǔ)句必須最少執(zhí)行一次,而且每個(gè)判定每種可能結(jié)果都應(yīng)該最少執(zhí)行一次,也就是每個(gè)判定每個(gè)分支都最少執(zhí)行一次。條件覆蓋

不但每個(gè)語(yǔ)句最少執(zhí)行一次,而且判定表示式中每個(gè)條件都取到各種可能結(jié)果。2024/5/173大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第73頁(yè)第73頁(yè)判定/條件覆蓋

判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋,判定/條件覆蓋能同時(shí)滿足這兩種覆蓋標(biāo)準(zhǔn)。選取足夠多測(cè)試數(shù)據(jù),使得判定表示式中每個(gè)條件都取到各種可能值,而且每個(gè)判定表示式也都取到各種可能結(jié)果。條件組合覆蓋

要求選取足夠多測(cè)試數(shù)據(jù),使每個(gè)判定表示式中條件各種可能組合都最少出現(xiàn)一次。

2024/5/174大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第74頁(yè)第74頁(yè)路徑測(cè)試

TomMcCabe提出一個(gè)白盒測(cè)試技術(shù)。首先計(jì)算過(guò)程設(shè)計(jì)結(jié)果邏輯復(fù)雜度,并以該復(fù)雜度為指南定義執(zhí)行路徑基本集合,從該基本集合導(dǎo)出測(cè)試用例能夠確保程序中每條語(yǔ)句最少執(zhí)行一次,而且每個(gè)條件在執(zhí)行時(shí)都將分別取true(真)和false(假)值。2024/5/175大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第75頁(yè)第75頁(yè)求平均值過(guò)程流圖使用基本路徑測(cè)試技術(shù)設(shè)計(jì)測(cè)試用例步驟以下。依據(jù)過(guò)程設(shè)計(jì)結(jié)果畫(huà)出對(duì)應(yīng)流圖2024/5/176大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第76頁(yè)第76頁(yè)P(yáng)ROCEDUREaverage;/*這個(gè)過(guò)程計(jì)算不超出100個(gè)在要求值域內(nèi)有效數(shù)字平均值;同時(shí)計(jì)算有效數(shù)字總和及個(gè)數(shù)。*/INTERFACERETURNSaverage,total_input,total_valid;INTERFACEACCEPTSvalue,minimum,maximum;TYPEvalue[1...100]ISSCALARARRAY;TYPEaverage,total_input,total_valid,minimum,maximum,sumISSCALAR;2024/5/177大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第77頁(yè)第77頁(yè)TYPEiISINTEGER;1:i=1;total_input=total_valid=0;sum=0;2:DOWHILEvalue[i]<>-9993: ANDtotal_input<1004: incrementtotal_inputby1;5: IFvalue[i]>=minimum6: ANDvalue[i]<=maximum7: THENincrementtotal_validby1; sum=sum+value[i];8: ENDIF incrementiby1;9:ENDDO2024/5/178大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第78頁(yè)第78頁(yè)10:IFtotal_valid>011:THENaverage=sum/total_valid;12:ELSEaverage=-999;13:ENDIFENDaverage2024/5/179大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第79頁(yè)第79頁(yè)計(jì)算流圖環(huán)形復(fù)雜度

環(huán)形復(fù)雜度定量度量程序邏輯復(fù)雜性。三種方法來(lái)計(jì)算環(huán)形復(fù)雜度。流圖中區(qū)域數(shù)等于環(huán)形復(fù)雜度。流圖G環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流圖中邊條數(shù),N是流圖中節(jié)點(diǎn)數(shù)。流圖G環(huán)形復(fù)雜度V(G)=P+1,其中P是流圖中判定節(jié)點(diǎn)數(shù)目。使用上述任何一個(gè)方法,都能夠計(jì)算出流圖環(huán)形復(fù)雜度為6。2024/5/180大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第80頁(yè)第80頁(yè)確定線性獨(dú)立路徑基本集合對(duì)于所描述求平均值過(guò)程來(lái)說(shuō),因?yàn)榄h(huán)形復(fù)雜度為6,所以共有6條獨(dú)立路徑。比如,下面列出了6條獨(dú)立路徑:路徑1:1-2-10-11-13路徑2:1-2-10-12-13路徑3:1-2-3-10-11-13路徑4:1-2-3-4-5-8-9-2-路徑5:1-2-3-4-5-6-8-9-2-路徑6:1-2-3-4-5-6-7-8-9-2-

2024/5/181大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第81頁(yè)第81頁(yè)設(shè)計(jì)可強(qiáng)制執(zhí)行基本集合中每條路徑測(cè)試用例選取數(shù)據(jù)使得在測(cè)試每條路徑時(shí)都適當(dāng)設(shè)置好了各個(gè)判定節(jié)點(diǎn)條件。路徑1測(cè)試用例: value[k]=有效輸入值,其中k<i(i定義在下) value[i]=-999,其中2≤i≤100 預(yù)期結(jié)果:基于k正確平均值和總數(shù) 注意,路徑1無(wú)法獨(dú)立測(cè)試,必須作為路徑4、5和6一部分來(lái)測(cè)試。路徑2測(cè)試用例: value[1]=-999

預(yù)期結(jié)果:average=-999,其它都保持初始值2024/5/182大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第82頁(yè)第82頁(yè)路徑4測(cè)試用例: value[i]=有效輸入值,其中i<100 value[k]<minimum,其中k<i 預(yù)期結(jié)果:其于k正確平均值和總數(shù)路徑5測(cè)試用例: value[i]=有效輸入值,其中i<100 value[k]>maximum,其中k<i 預(yù)期結(jié)果:其于k正確平均值和總數(shù)路徑6測(cè)試用例: value[i]=有效輸入值,其中i<100 預(yù)期結(jié)果:正確平均值和總數(shù)2024/5/183大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第83頁(yè)第83頁(yè)黑盒測(cè)試技術(shù)黑盒測(cè)試著重測(cè)試軟件功效需求,讓軟件工程師設(shè)計(jì)出能充分檢驗(yàn)程序全部功效需求輸入條件集。黑盒測(cè)試并不能取代白盒測(cè)試技術(shù),它是與白盒測(cè)試互補(bǔ)方法,它很可能發(fā)覺(jué)白盒測(cè)試不易發(fā)覺(jué)其它不一樣類型錯(cuò)誤。2024/5/184大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第84頁(yè)第84頁(yè)黑盒測(cè)試力圖發(fā)覺(jué)下述類型錯(cuò)誤:①功效不正確或遺漏了功效;②界面錯(cuò)誤;③數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤;④性能錯(cuò)誤;⑤初始化和終止錯(cuò)誤。白盒測(cè)試在測(cè)試過(guò)程早期階段進(jìn)行,而黑盒測(cè)試主要用于測(cè)試過(guò)程后期。黑盒測(cè)試有意不考慮程序控制結(jié)構(gòu),而把注意力集中于信息域。2024/5/185大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第85頁(yè)第85頁(yè)等價(jià)劃分:確定輸入數(shù)據(jù)有效等價(jià)類和無(wú)效等價(jià)類。邊界值分析錯(cuò)誤推測(cè)2024/5/186大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第86頁(yè)第86頁(yè)面向?qū)ο蠡A(chǔ)大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第87頁(yè)第87頁(yè)什么是對(duì)象技術(shù)基于對(duì)象概念軟件開(kāi)發(fā)方法對(duì)象包含有數(shù)據(jù)及處理數(shù)據(jù)功效函數(shù)在分析、設(shè)計(jì)和實(shí)現(xiàn)整個(gè)過(guò)程中只使用一個(gè)概念對(duì)象開(kāi)發(fā)方法能夠處理軟件危機(jī)中大多數(shù)問(wèn)題方法對(duì)象=數(shù)據(jù)+功效2024/5/188大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第88頁(yè)第88頁(yè)對(duì)象技術(shù)優(yōu)勢(shì)穩(wěn)定:較小需求改變不會(huì)造成系統(tǒng)結(jié)構(gòu)大改變舉例:某企業(yè)銷售處理系統(tǒng)定單協(xié)議出費(fèi)2024/5/189大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第89頁(yè)第89頁(yè)對(duì)象技術(shù)優(yōu)勢(shì)

穩(wěn)定:數(shù)據(jù)和功效都打包在一起,從而改進(jìn)軟件再重用性軟件重用能提升質(zhì)量,降低因?yàn)榫幹菩孪到y(tǒng)代碼而產(chǎn)生成本File

MgrMacro

EditorMath

UtilitiesText

EditorPrint

UtilitiesFormat

EditorMenusString

UtilitiesSpreadsheetWordProcessorReusable-ComponentRepository2024/5/190大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第90頁(yè)第90頁(yè)對(duì)象技術(shù)優(yōu)勢(shì)面向?qū)ο竽P陀淤N切地反應(yīng)了現(xiàn)實(shí)世界愈加準(zhǔn)確地描述公共數(shù)據(jù)和過(guò)程易于了解,尤其對(duì)于使用者現(xiàn)實(shí)世界LaserPrinterExternalDriveComputer對(duì)象圖2024/5/191大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第91頁(yè)第91頁(yè)對(duì)象技術(shù)優(yōu)勢(shì)面向?qū)ο蠓椒ㄖС执笠?guī)模開(kāi)發(fā)能夠嚴(yán)格定義各個(gè)組件之間交互降低內(nèi)部依賴關(guān)系降低集成問(wèn)題支持并行開(kāi)發(fā)2024/5/192大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第92頁(yè)第92頁(yè)對(duì)象技術(shù)優(yōu)勢(shì)幫助開(kāi)發(fā)多層結(jié)構(gòu)

EquipmentandCustomerspecificCodeProcessesandotherapplicationcodeMajorabstractions,classes,etc.MechanismsH/Wspecificcode,O/Sspecificcodegeneral-purposecode12345ApplicationSpecificApplicationIndependentLessReuseMoreReuse2024/5/193大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第93頁(yè)第93頁(yè)面向?qū)ο蟾拍頞bject對(duì)象Class類Instance實(shí)例State狀態(tài)Behavior行為Attribute屬性O(shè)peration操作(Method方法)Inheritance繼承Subclasses子類Superclasses父類Generalization普遍化Polymorphism多態(tài)2024/5/194大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第94頁(yè)第94頁(yè)面向?qū)ο蟾拍預(yù)bstraction抽象Encapsulation封裝Association關(guān)聯(lián)Role角色Multiplicity多重性Aggregation聚合Dependencyassociation依賴Package包UseCase用例Scenario腳本Actor2024/5/195大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第95頁(yè)第95頁(yè)什么是對(duì)象一個(gè)對(duì)象代表了一個(gè)現(xiàn)實(shí)或虛構(gòu)實(shí)體自然實(shí)體概念實(shí)體軟件實(shí)體化學(xué)過(guò)程連接顯示2024/5/196大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第96頁(yè)第96頁(yè)對(duì)象屬性對(duì)象是應(yīng)用中含有顯著邊界和含義概念、抽象或事物一個(gè)對(duì)象有三個(gè)主要屬性:狀態(tài)行為標(biāo)識(shí)術(shù)語(yǔ)“實(shí)例”是“對(duì)象”同義詞2024/5/197大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第97頁(yè)第97頁(yè)對(duì)象狀態(tài)一個(gè)對(duì)象狀態(tài)是它反應(yīng)于現(xiàn)實(shí)世界一系列屬性:參數(shù)數(shù)值(也就是,與對(duì)象相關(guān)系數(shù)據(jù))它與其它對(duì)象關(guān)系任一時(shí)刻歷史狀態(tài)可能狀態(tài): 停泊運(yùn)行 著陸終止班機(jī)7472024/5/198大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第98頁(yè)第98頁(yè)對(duì)象行為定義當(dāng)其它對(duì)象發(fā)出請(qǐng)求時(shí),該對(duì)象怎樣反應(yīng)由為對(duì)象定義一系列操作決定班機(jī)747查對(duì)出發(fā)時(shí)間(返回9:27)機(jī)票代理2024/5/199大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第99頁(yè)第99頁(yè)對(duì)象標(biāo)識(shí)每一個(gè)對(duì)象都有一個(gè)唯一標(biāo)識(shí),即使其狀態(tài)有可能與其它對(duì)象一樣班機(jī)747on11/10班機(jī)747on11/11班機(jī)747on11/122024/5/1100大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第100頁(yè)第100頁(yè)什么是類(Class)

類是一組含有相同結(jié)構(gòu)和行為對(duì)象集合共同結(jié)構(gòu)經(jīng)過(guò)屬性表現(xiàn)出來(lái)(i.e.數(shù)據(jù))共同行為經(jīng)過(guò)操作表現(xiàn)出來(lái)(i.e.功效)班機(jī)747結(jié)構(gòu)班機(jī)號(hào)日期分配班機(jī)起點(diǎn)終點(diǎn)狀態(tài)行為裝載設(shè)備起飛延遲取消終止2024/5/1101大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第101頁(yè)第101頁(yè)類示例ClassEmployeeStructureNameAddressPositionSalaryStartDateEndDateBehaviorHireFirePromoteIncreaseSalaryRetire2024/5/1102大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第102頁(yè)第102頁(yè)類圖:用來(lái)表示類類圖是一個(gè)主要圖形化對(duì)象表示法類圖顯示類及類之間關(guān)系一個(gè)類經(jīng)過(guò)在類圖標(biāo)中類名(唯一)來(lái)代表班機(jī)2024/5/1103大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第103頁(yè)第103頁(yè)屬性屬性是類特征或特征屬性值是某一特定對(duì)象屬性值在類中屬性名必須是唯一每一個(gè)類實(shí)例都有為這個(gè)類定義全部屬性值比如:銀行帳戶類屬性帳號(hào)銀行名稱擁有者金額Mary銀行帳戶屬性值12345678FirstNationalBankMarySmith$1024.482024/5/1104大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第104頁(yè)第104頁(yè)操作對(duì)象行為是由為此對(duì)象定義一系列操作決定操作訪問(wèn)或修改對(duì)象屬性值一個(gè)類可能同時(shí)存在多個(gè)實(shí)例,也可能在某一時(shí)刻沒(méi)有實(shí)例一個(gè)類全部實(shí)例都能夠使用在這個(gè)類中定義操作2024/5/1105大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第105頁(yè)第105頁(yè)屬性和操作標(biāo)識(shí)法在類圖標(biāo)中描述屬性和操作通常只顯示最主要屬性和操作,預(yù)防圖形混亂屬性顯示在操作上方,操作名字后跟有()班機(jī)flightNumberdatedeparturetimestatusrelease()takeOff()屬性操作2024/5/1106大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第106頁(yè)第106頁(yè)類是生成對(duì)象模板類是生成對(duì)象模板類定義中包含有產(chǎn)生和刪除對(duì)象操作屬性顯示在操作上方,操作名字后跟有()一個(gè)類定義了使用哪種數(shù)據(jù)表示法來(lái)描述屬性每一個(gè)實(shí)例都采取有屬性值數(shù)據(jù)表示法一個(gè)類經(jīng)過(guò)一系列操作來(lái)定義行為這種操作能在每個(gè)實(shí)例中激活班機(jī)Flight187Flight121Flight7472024/5/1107大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第107頁(yè)第107頁(yè)類和對(duì)象關(guān)系每一個(gè)對(duì)象都是某一個(gè)類實(shí)例每一個(gè)類在某一時(shí)刻都有零個(gè)或更多實(shí)類是靜態(tài);它們存在、語(yǔ)義和關(guān)系在序執(zhí)行前就已經(jīng)定義好了對(duì)象是動(dòng)態(tài);它們?cè)诔绦驁?zhí)行時(shí)能夠被建和刪除2024/5/1108大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第108頁(yè)第108頁(yè)關(guān)系全部系統(tǒng)都包含了大量類和對(duì)象對(duì)象經(jīng)過(guò)與其它對(duì)象協(xié)作完成系統(tǒng)功效行為.協(xié)作經(jīng)過(guò)關(guān)系來(lái)實(shí)現(xiàn)幾個(gè)主要關(guān)系類型:關(guān)聯(lián)聚合依賴?yán)^承2024/5/1109大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第109頁(yè)第109頁(yè)示例:關(guān)聯(lián)在一個(gè)工資系統(tǒng)中有下面兩個(gè)類:關(guān)聯(lián)表示了雙向關(guān)系,比如:給出一個(gè)Person實(shí)例,我們能夠知道他屬于哪家企業(yè)給出一個(gè)Company實(shí)例,我們能夠知道在其中工作全部些人PersonCompany2024/5/1110大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第110頁(yè)第110頁(yè)關(guān)聯(lián)多重性多重性是指多個(gè)實(shí)例參加一個(gè)關(guān)聯(lián)多重性經(jīng)過(guò)位于關(guān)聯(lián)線某一端一個(gè)表示式或符號(hào)來(lái)表示對(duì)于每個(gè)關(guān)聯(lián)關(guān)系,需要做出兩個(gè)多重性決定比如,在企業(yè)和職員關(guān)聯(lián)中每個(gè)企業(yè)能夠雇用多個(gè)職員每個(gè)職員只有一個(gè)隸屬企業(yè)2024/5/1111大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第111頁(yè)第111頁(yè)示例:關(guān)聯(lián)多重性多重性決定能夠揭示建模過(guò)程中隱藏問(wèn)題職員會(huì)不會(huì)失業(yè)?企業(yè)能不能沒(méi)有職員?一個(gè)職員能不能有兩份工作?職員職員雇主企業(yè)1..*12024/5/1112大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第112頁(yè)第112頁(yè)慣用多重性表示法多重性能處理兩個(gè)問(wèn)題關(guān)聯(lián)是強(qiáng)制(不包含零個(gè))或隨意(包含零個(gè))?一個(gè)實(shí)例能夠連接其它實(shí)例最大數(shù)目?慣用多重性表示法:1 只有一個(gè)0..* 零或更多1..* 一個(gè)或更多0..1 零或一個(gè)* 零或更多3..7 指定范圍(3or4or5or6or7)1..3,7 結(jié)合使用(1or2or3or7)2024/5/1113大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第113頁(yè)第113頁(yè)自反關(guān)聯(lián)自反關(guān)聯(lián)指同一個(gè)類中對(duì)象關(guān)系表示同一個(gè)類中多個(gè)對(duì)象協(xié)作Acoursemayhave manypre-requisitesAcoursemaybeapre-requisite formanyothercoursesPre-requisiteCourse0..*0..*2024/5/1114大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第114頁(yè)第114頁(yè)聚合(包含)聚合是一個(gè)特殊關(guān)聯(lián),表示整體和部分關(guān)系聚合是一個(gè)“has-a”或包含關(guān)系一樣能夠使用多重性CompanyDepartment1..*12024/5/1115大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第115頁(yè)第115頁(yè)依賴依賴表示一個(gè)對(duì)象需要其它對(duì)象為其提供服務(wù)又可稱為client-supplier關(guān)系

client使用supplier提供服務(wù)supplier不需要了解client(s)單向關(guān)系ControllerDisplayItemcontrols2024/5/1116大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第116頁(yè)第116頁(yè)繼承繼承表示一個(gè)類從其它類中取得結(jié)構(gòu)和行為(子類/父類)又名普遍化交通工具是一個(gè)父類地面交通工具和空中交通工具是子類VehicleGroundVehicleAirVehicleThearrowpointstowardthesuperclass2024/5/1117大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第117頁(yè)第117頁(yè)繼承繼承表示子類從父類繼承時(shí)抽象層次單繼承:子類只從一個(gè)父類繼承多繼承:子類從多于一個(gè)父類繼承繼承通常被稱為“is-a”或“kind-of”一個(gè)子類實(shí)例也“isa”父類實(shí)例一個(gè)子類實(shí)例是“kind-of”父類2024/5/1118大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第118頁(yè)第118頁(yè)多層次ACarisakindofGroundVehiclewhichisakindofVehicleVehicleandAirVehicleareancestorsofAirplaneAirVehicleandAirplanearedescendantsofVehicleVehicleGroundVehicleAirVehicleCarTruckAirplaneHelicopter2024/5/1119大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第119頁(yè)第119頁(yè)繼承內(nèi)容屬性操作關(guān)系約束繼承平衡類之間共同之處2024/5/1120大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第120頁(yè)第120頁(yè)繼承屬性屬性在繼承結(jié)構(gòu)最高一層定義全部子類實(shí)例能夠繼承這些屬性每個(gè)子類能夠增加或重新定義繼承屬性;但在修改是要加倍注意GroundVehiclelicenseNumberweightCarTrucktonnageAtruckhasthreeattributes:licenseNumberweighttonnage2024/5/1121大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第121頁(yè)第121頁(yè)繼承操作屬性在繼承結(jié)構(gòu)最高一層定義全部子類實(shí)例能夠繼承這些操作每個(gè)子類能夠增加或重新定義繼承屬性GroundVehiclelicenseNumberweightregister()CarTrucktonnagecalculateTax()Atruckhasthreeattributes:licenseNumberweighttonnageandtwooperations:registercalculateTax2024/5/1122大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第122頁(yè)第122頁(yè)繼承關(guān)系關(guān)系也能夠繼承每個(gè)子類都能夠分享繼承關(guān)系GroundVehiclelicenseNumberweightregister()AtruckhasanownerCarTrucktonnagecalculateTax()OwnerPerson1..*andacarhasanowner12024/5/1123大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論復(fù)習(xí)課件第123頁(yè)第123頁(yè)對(duì)象模型化技術(shù)OMT對(duì)象模型化技術(shù)把分析時(shí)搜集信息結(jié)構(gòu)在三類模型中,即對(duì)象模型、功效模型和動(dòng)態(tài)模型。這個(gè)模型化過(guò)程是一個(gè)迭代過(guò)程。2024/5/1124大連理工大學(xué)軟件學(xué)院大連理工大學(xué)軟件工程導(dǎo)論

溫馨提示

  • 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)論