版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程復(fù)習(xí)第1章基礎(chǔ)知識(shí)2024/2/22ppt課件什么是軟件軟件的定義—軟件由三部分組成:程序:在運(yùn)行時(shí),能提供所希望的功能和性能的指令集數(shù)據(jù):使程序能夠正確運(yùn)行的數(shù)據(jù)文檔:描述程序研制過(guò)程、方法及使用的文檔軟件處理的是信息和邏輯軟件的開(kāi)發(fā),絕不僅僅是編寫(xiě)程序軟件圍繞著邏輯進(jìn)行軟件就是一個(gè)信息交換器產(chǎn)生、管理、獲取、修改、顯示或傳送信息軟件≠程序2024/2/23ppt課件什么是軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。軟件工程(IEEE)1993年,提出軟件工程1)將系統(tǒng)化、規(guī)范化、可量化的工程原則和方法,應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)。2)對(duì)1)中方法的理論研究。2024/2/24ppt課件軟件工程基本原理(開(kāi)發(fā)與維護(hù)的指導(dǎo))用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開(kāi)發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性2024/2/25ppt課件軟件工程方法學(xué)把在軟件生命周期全過(guò)程中使用的一整套技術(shù)的集合稱為方法學(xué)(methodology),也稱范型(paradigm)。軟件工程方法學(xué)三個(gè)要素:方法、工具和過(guò)程。方法是完成軟件開(kāi)發(fā)各項(xiàng)任務(wù)的技術(shù),回答“如何做”;工具是為方法的運(yùn)用提供自動(dòng)或半自動(dòng)軟件支撐環(huán)境,回答“用什么做”;過(guò)程是為獲得高質(zhì)量的軟件要完成的一系列任務(wù)的框架,規(guī)定完成各項(xiàng)任務(wù)步驟,回答“如何控制、協(xié)調(diào)、保證質(zhì)量”。管理方法2024/2/26ppt課件目前使用得最廣泛的軟件工程方法學(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/2/27ppt課件傳統(tǒng)方法的特點(diǎn)生命周期模型軟件過(guò)程劃分為若干個(gè)階段每個(gè)階段有各自的任務(wù)階段之間有某種順序性2024/2/28ppt課件面向?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ì)象彼此間僅能通過(guò)發(fā)送消息互相聯(lián)系-封裝性。數(shù)據(jù):靜態(tài)操作:動(dòng)態(tài)EverythingisObject.2024/2/29ppt課件1.3軟件生命周期
軟件生命周期由軟件定義、軟件開(kāi)發(fā)和運(yùn)行維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又可進(jìn)一步劃分成若干個(gè)階段,每個(gè)階段有各自的任務(wù)。1軟件定義2軟件開(kāi)發(fā)3運(yùn)行維護(hù)2024/2/210ppt課件問(wèn)題定義可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試綜合測(cè)試軟件維護(hù)2024/2/211ppt課件實(shí)際的瀑布模型軟件過(guò)程模型(生命周期模型)2024/2/212ppt課件快速原型模型2024/2/213ppt課件增量模型瀑布模型:力求一次性給用戶完整的系統(tǒng)。增量模型:逐步增加系統(tǒng)功能。需要開(kāi)放的架構(gòu)設(shè)計(jì)。2024/2/214ppt課件完整的螺旋模型2024/2/215ppt課件噴泉模型迭代是OO開(kāi)發(fā)過(guò)程的主要特性。噴泉模型是典型的面向?qū)ο笊芷谀P??!皣娙斌w現(xiàn)了面向?qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫的特性。為避免噴泉模型的過(guò)分無(wú)序,把一個(gè)線性過(guò)程作為總目標(biāo)。迭代
2024/2/216ppt課件噴泉模型迭代:逐步求精階段間沒(méi)有明顯的界限-面向?qū)ο蟮乃枷氡WC了各個(gè)階段開(kāi)發(fā)的一致性。迭代是OO開(kāi)發(fā)過(guò)程的主要特性。噴泉模型是典型的面向?qū)ο笊芷谀P??!皣娙斌w現(xiàn)了面向?qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫的特性。2024/2/217ppt課件可行性與需求分析可行性研究不是解決問(wèn)題,而是確定問(wèn)題是否值得去解決較高層次的系統(tǒng)分析和設(shè)計(jì)過(guò)程需求分析發(fā)現(xiàn)、求精、建模、規(guī)格說(shuō)明和復(fù)審的過(guò)程反復(fù)求精多次細(xì)化,得出對(duì)目標(biāo)系統(tǒng)的完整、準(zhǔn)確和具體的要求。建立數(shù)據(jù)模型、功能模型和行為模型等三種模型。還要寫(xiě)出準(zhǔn)確的軟件需求規(guī)格說(shuō)明。。2024/2/219ppt課件系統(tǒng)流程圖系統(tǒng)流程圖概括描繪物理系統(tǒng)的傳統(tǒng)工具用圖形符號(hào),以黑盒子形式描述組成系統(tǒng)的每個(gè)部件程序、文檔、數(shù)據(jù)庫(kù)、人工過(guò)程2024/2/220ppt課件系統(tǒng)流程圖例子例子每個(gè)符號(hào)用黑盒子形式定義了組成系統(tǒng)的一個(gè)部件。沒(méi)有部件內(nèi)部的具體工作過(guò)程箭頭確定通過(guò)系統(tǒng)的邏輯路徑(信息流動(dòng)路徑)2024/2/221ppt課件
數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換?;蚧蚧蚍?hào)含義數(shù)據(jù)的源點(diǎn)或終點(diǎn)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)加工(數(shù)據(jù)處理)2024/2/222ppt課件加工中常見(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/2/223ppt課件2024/2/224ppt課件把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖2024/2/225ppt課件數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,即對(duì)DFD圖中包含的元素的定義的集合。數(shù)據(jù)字典的用途是供人查閱不了解的條目的解釋。提供分析設(shè)計(jì)過(guò)程中關(guān)于數(shù)據(jù)的描述。數(shù)據(jù)字典與DFD相輔相成。只有DFD和對(duì)應(yīng)的元素的精確定義放在一起,才能構(gòu)成系統(tǒng)的規(guī)格說(shuō)明。2024/2/226ppt課件定義數(shù)據(jù)的方法=意思是等價(jià)于(或定義為);+意思是和(即,連接兩個(gè)分量);[]意思是或(即,從方括弧內(nèi)列出的若干個(gè)分量中選擇一個(gè)),用“|”號(hào)分開(kāi)供選擇的分量;{}意思是重復(fù)(即,重復(fù)花括弧內(nèi)的分量);()意思是可選(即,圓括弧里的分量可有可無(wú))。使用上限和下限進(jìn)一步注釋表示重復(fù)的花括弧。左邊用上角標(biāo)和下角標(biāo)分別表明重復(fù)的上限和下限;左側(cè)標(biāo)明重復(fù)的下限,在閉括弧的右側(cè)標(biāo)明上限。例如:{A}和1{A}5含義相同。152024/2/227ppt課件數(shù)據(jù)字典的實(shí)現(xiàn)CASE工具人工卡片2024/2/228ppt課件
實(shí)體—關(guān)系圖數(shù)據(jù)模型包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、描述數(shù)據(jù)對(duì)象屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。2024/2/229ppt課件某校教學(xué)管理ER圖2024/2/230ppt課件學(xué)生和課程之間的E-R模型學(xué)生和課程之間的多對(duì)多聯(lián)系E-R模型;(b)將多對(duì)多聯(lián)系轉(zhuǎn)換為一對(duì)多聯(lián)系E-R模型選課mn學(xué)號(hào)專業(yè)年級(jí)課名課號(hào)學(xué)時(shí)1n學(xué)號(hào)專業(yè)課名課號(hào)學(xué)時(shí)學(xué)號(hào)課號(hào)n1姓名課程學(xué)生姓名課程學(xué)分學(xué)生年級(jí)選課學(xué)分(a)(b)2024/2/231ppt課件
其他圖形工具Warnier圖2024/2/232ppt課件其他圖形工具(3)IPO圖2024/2/233ppt課件其他圖形工具(2)IPO圖IPO圖是輸入、處理、輸出圖的簡(jiǎn)稱左邊框中列出有關(guān)的輸入中間框中列出主要的處理右邊框中列出產(chǎn)生的輸出處理的順序暗示了執(zhí)行的順序箭頭指出數(shù)據(jù)通信的情況2024/2/234ppt課件總體設(shè)計(jì)總體設(shè)計(jì)概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)主要任務(wù)是通過(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/2/236ppt課件模塊化:就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求??梢杂稍S多程序員分工編寫(xiě)不同的模塊可以使軟件結(jié)構(gòu)清晰,便于擴(kuò)展使軟件容易測(cè)試和調(diào)試,因而有助于提高軟件的可靠性。模塊大小要適中,不過(guò)分細(xì)。2024/2/237ppt課件模塊獨(dú)立模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)來(lái)度量,分別稱為內(nèi)聚和耦合。耦合:衡量不同模塊彼此間互相依賴(連接)緊密程度;內(nèi)聚:衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。2024/2/238ppt課件耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。盡可能松散耦合2024/2/239ppt課件數(shù)據(jù)耦合:特征耦合:控制耦合:外部耦合:公共耦合:內(nèi)容耦合:弱強(qiáng)盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。2024/2/240ppt課件內(nèi)聚:標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)展。簡(jiǎn)單地說(shuō),理想內(nèi)聚的模塊只做一件事情。
2024/2/241ppt課件功能內(nèi)聚:信息內(nèi)聚:通信內(nèi)聚:過(guò)程內(nèi)聚:時(shí)間內(nèi)聚:邏輯內(nèi)聚:巧合內(nèi)聚:強(qiáng)弱設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚。2024/2/242ppt課件改進(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/2/243ppt課件描繪軟件結(jié)構(gòu)的圖形工具層次圖和HIPO圖結(jié)構(gòu)圖2024/2/244ppt課件正文加工系統(tǒng)的層次圖2024/2/245ppt課件正文加工系統(tǒng)的H圖2024/2/246ppt課件結(jié)構(gòu)圖的例子—產(chǎn)生最佳解的一般結(jié)構(gòu)2024/2/247ppt課件軟件結(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/2/248ppt課件變換流和事務(wù)流2024/2/249ppt課件設(shè)計(jì)步驟復(fù)查基本系統(tǒng)模型。復(fù)查并精化數(shù)據(jù)流圖。確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性。確定輸入流和輸出流的邊界,從而孤立出變換中心。完成“第一級(jí)分解”。完成“第二級(jí)分解”。使用設(shè)計(jì)度量和啟發(fā)規(guī)則對(duì)第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。
2024/2/250ppt課件數(shù)字儀表板系統(tǒng)的數(shù)據(jù)流圖精化數(shù)據(jù)流圖數(shù)據(jù)流圖具有變換特性還是事務(wù)特性2024/2/251ppt課件具有邊界的數(shù)據(jù)流圖確定輸入流和輸出流的邊界,從而孤立出變換中心2024/2/252ppt課件第一級(jí)分解的方法2024/2/253ppt課件數(shù)字儀表板系統(tǒng)的第一級(jí)分解完成“第一級(jí)分解”2024/2/254ppt課件第二級(jí)分解的方法2024/2/255ppt課件未經(jīng)精化的輸入結(jié)構(gòu)完成“第二級(jí)分解”2024/2/256ppt課件精化后的數(shù)字儀表板系統(tǒng)的軟件結(jié)構(gòu)軟件結(jié)構(gòu)進(jìn)一步精化2024/2/257ppt課件事務(wù)分析的映射方法2024/2/258ppt課件詳細(xì)設(shè)計(jì)詳細(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/2/260ppt課件結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義如下所述:如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這三種控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。2024/2/261ppt課件過(guò)程設(shè)計(jì)的工具程序流程圖
2024/2/262ppt課件盒圖(N-S圖)2024/2/263ppt課件PAD圖2024/2/264ppt課件判定表2024/2/265ppt課件用判定樹(shù)表示計(jì)算行李費(fèi)的算法判定樹(shù)2024/2/266ppt課件偽碼2024/2/267ppt課件測(cè)試2024/2/269ppt課件回歸測(cè)試(已執(zhí)行過(guò)的測(cè)試用例的子集)包括下述三種不同的測(cè)試用例。檢測(cè)軟件全部功能的代表性測(cè)試用例。專門(mén)針對(duì)可能受修改影響的軟件功能的附加測(cè)試。針對(duì)被修改過(guò)的軟件成分的測(cè)試。2024/2/270ppt課件白盒測(cè)試技術(shù)邏輯覆蓋是設(shè)計(jì)白盒測(cè)試方案的技術(shù)。設(shè)計(jì)測(cè)試方案是測(cè)試階段的關(guān)鍵技術(shù)問(wèn)題。2024/2/271ppt課件語(yǔ)句覆蓋
為暴露程序的錯(cuò)誤,至少每個(gè)語(yǔ)句應(yīng)該執(zhí)行一次。含義是,選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每個(gè)語(yǔ)句至少執(zhí)行一次。2024/2/272ppt課件判定覆蓋
又叫分支覆蓋不僅每個(gè)語(yǔ)句必須至少執(zhí)行一次,而且每個(gè)判定的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次,也就是每個(gè)判定的每個(gè)分支都至少執(zhí)行一次。條件覆蓋
不僅每個(gè)語(yǔ)句至少執(zhí)行一次,而且判定表達(dá)式中每個(gè)條件都取到各種可能的結(jié)果。2024/2/273ppt課件判定/條件覆蓋
判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋,判定/條件覆蓋能同時(shí)滿足這兩種覆蓋標(biāo)準(zhǔn)。選取足夠多的測(cè)試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果。條件組合覆蓋
要求選取足夠多的測(cè)試數(shù)據(jù),使每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。
2024/2/274ppt課件路徑測(cè)試
TomMcCabe提出的一種白盒測(cè)試技術(shù)。首先計(jì)算過(guò)程設(shè)計(jì)結(jié)果的邏輯復(fù)雜度,并以該復(fù)雜度為指南定義執(zhí)行路徑的基本集合,從該基本集合導(dǎo)出的測(cè)試用例可以保證程序中每條語(yǔ)句至少執(zhí)行一次,而且每個(gè)條件在執(zhí)行時(shí)都將分別取true(真)和false(假)值。2024/2/275ppt課件求平均值過(guò)程的流圖使用基本路徑測(cè)試技術(shù)設(shè)計(jì)測(cè)試用例步驟如下。根據(jù)過(guò)程設(shè)計(jì)結(jié)果畫(huà)出相應(yīng)的流圖2024/2/276ppt課件PROCEDUREaverage;/*這個(gè)過(guò)程計(jì)算不超過(guò)100個(gè)在規(guī)定值域內(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/2/277ppt課件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/2/278ppt課件10:IFtotal_valid>011:THENaverage=sum/total_valid;12:ELSEaverage=-999;13:ENDIFENDaverage2024/2/279ppt課件計(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ù)目。使用上述任何一種方法,都可以計(jì)算出流圖的環(huán)形復(fù)雜度為6。2024/2/280ppt課件確定線性獨(dú)立路徑的基本集合對(duì)于所描述的求平均值過(guò)程來(lái)說(shuō),由于環(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/2/281ppt課件設(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/2/282ppt課件路徑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/2/283ppt課件黑盒測(cè)試技術(shù)黑盒測(cè)試著重測(cè)試軟件的功能需求,讓軟件工程師設(shè)計(jì)出能充分檢查程序所有功能需求的輸入條件集。黑盒測(cè)試并不能取代白盒測(cè)試技術(shù),它是與白盒測(cè)試互補(bǔ)的方法,它很可能發(fā)現(xiàn)白盒測(cè)試不易發(fā)現(xiàn)的其他不同類型的錯(cuò)誤。2024/2/284ppt課件黑盒測(cè)試力圖發(fā)現(xiàn)下述類型的錯(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/2/285ppt課件等價(jià)劃分:確定輸入數(shù)據(jù)的有效等價(jià)類和無(wú)效等價(jià)類。邊界值分析錯(cuò)誤推測(cè)2024/2/286ppt課件面向?qū)ο蠡A(chǔ)什么是對(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/2/288ppt課件對(duì)象技術(shù)的優(yōu)勢(shì)穩(wěn)定:較小的需求變化不會(huì)導(dǎo)致系統(tǒng)結(jié)構(gòu)大的改變舉例:某公司的銷(xiāo)售處理系統(tǒng)定單合同出費(fèi)2024/2/289ppt課件對(duì)象技術(shù)的優(yōu)勢(shì)
穩(wěn)定:數(shù)據(jù)和功能都打包在一起,從而改善軟件的再重用性軟件重用能提高質(zhì)量,減少由于編制新的系統(tǒng)代碼而產(chǎn)生的成本File
MgrMacro
EditorMath
UtilitiesText
EditorPrint
UtilitiesFormat
EditorMenusString
UtilitiesSpreadsheetWordProcessorReusable-ComponentRepository2024/2/290ppt課件對(duì)象技術(shù)的優(yōu)勢(shì)面向?qū)ο蟮哪P透淤N切地反映了現(xiàn)實(shí)世界更加準(zhǔn)確地描述公共數(shù)據(jù)和過(guò)程易于理解,尤其對(duì)于使用者現(xiàn)實(shí)世界LaserPrinterExternalDriveComputer對(duì)象圖2024/2/291ppt課件對(duì)象技術(shù)的優(yōu)勢(shì)面向?qū)ο蟮姆椒ㄖС执笠?guī)模開(kāi)發(fā)可以嚴(yán)格定義各個(gè)組件之間的交互減少內(nèi)部的依賴關(guān)系減少集成的問(wèn)題支持并行開(kāi)發(fā)2024/2/292ppt課件對(duì)象技術(shù)的優(yōu)勢(shì)幫助開(kāi)發(fā)多層結(jié)構(gòu)
EquipmentandCustomerspecificCodeProcessesandotherapplicationcodeMajorabstractions,classes,etc.MechanismsH/Wspecificcode,O/Sspecificcodegeneral-purposecode12345ApplicationSpecificApplicationIndependentLessReuseMoreReuse2024/2/293ppt課件面向?qū)ο蟾拍頞bject對(duì)象Class類Instance實(shí)例State狀態(tài)Behavior行為Attribute屬性O(shè)peration操作(Method方法)Inheritance繼承Subclasses子類Superclasses父類Generalization普遍化Polymorphism多態(tài)2024/2/294ppt課件面向?qū)ο蟾拍預(yù)bstraction抽象Encapsulation封裝Association關(guān)聯(lián)Role角色Multiplicity多重性Aggregation聚合Dependencyassociation依賴Package包UseCase用例Scenario腳本Actor2024/2/295ppt課件什么是對(duì)象一個(gè)對(duì)象代表了一個(gè)現(xiàn)實(shí)的或虛構(gòu)的實(shí)體自然實(shí)體概念實(shí)體軟件實(shí)體化學(xué)過(guò)程連接顯示2024/2/296ppt課件對(duì)象的屬性對(duì)象是應(yīng)用中具有明顯邊界和含義的概念、抽象或事物一個(gè)對(duì)象有三個(gè)重要屬性:狀態(tài)行為標(biāo)識(shí)術(shù)語(yǔ)“實(shí)例”是“對(duì)象”的同義詞2024/2/297ppt課件對(duì)象的狀態(tài)一個(gè)對(duì)象的狀態(tài)是它反映于現(xiàn)實(shí)世界的一系列屬性:參數(shù)的數(shù)值(也就是,與對(duì)象有關(guān)系的數(shù)據(jù))它與其它對(duì)象的關(guān)系任一時(shí)刻的歷史狀態(tài)可能的狀態(tài): 停泊運(yùn)營(yíng) 著陸終止班機(jī)7472024/2/298ppt課件對(duì)象的行為定義當(dāng)其它對(duì)象發(fā)出請(qǐng)求時(shí),該對(duì)象如何反應(yīng)由為對(duì)象定義的一系列操作決定班機(jī)747核對(duì)出發(fā)時(shí)間(返回9:27)機(jī)票代理2024/2/299ppt課件對(duì)象的標(biāo)識(shí)
每一個(gè)對(duì)象都有一個(gè)唯一的標(biāo)識(shí),即使其狀態(tài)有可能與其它對(duì)象一樣班機(jī)747on11/10班機(jī)747on11/11班機(jī)747on11/122024/2/2100ppt課件什么是類(Class)
類是一組具有相同結(jié)構(gòu)和行為的對(duì)象的集合共同的結(jié)構(gòu)通過(guò)屬性表現(xiàn)出來(lái)(i.e.數(shù)據(jù))共同的行為通過(guò)操作表現(xiàn)出來(lái)(i.e.功能)班機(jī)747結(jié)構(gòu)班機(jī)號(hào)日期分配的班機(jī)起點(diǎn)終點(diǎn)狀態(tài)行為裝載設(shè)備起飛延遲取消終止2024/2/2101ppt課件類的示例ClassEmployeeStructureNameAddressPositionSalaryStartDateEndDateBehaviorHireFirePromoteIncreaseSalaryRetire2024/2/2102ppt課件類圖:用來(lái)表達(dá)類類圖是一種主要的圖形化對(duì)象表示法類圖顯示類及類之間的關(guān)系一個(gè)類通過(guò)在類圖標(biāo)中的類名(唯一的)來(lái)代表班機(jī)2024/2/2103ppt課件屬性
屬性是類的特征或特性屬性的值是某一特定對(duì)象的屬性值在類中屬性名必須是唯一的每一個(gè)類的實(shí)例都有為這個(gè)類定義的所有屬性的值例如:銀行帳戶類屬性帳號(hào)銀行名稱擁有者金額Mary的銀行帳戶屬性值12345678FirstNationalBankMarySmith$1024.482024/2/2104ppt課件操作
對(duì)象的行為是由為此對(duì)象定義的一系列操作決定的操作訪問(wèn)或修改對(duì)象的屬性值一個(gè)類可能同時(shí)存在多個(gè)實(shí)例,也可能在某一時(shí)刻沒(méi)有實(shí)例一個(gè)類的所有實(shí)例都可以使用在這個(gè)類中定義的操作2024/2/2105ppt課件屬性和操作的標(biāo)記法
在類的圖標(biāo)中描述屬性和操作通常只顯示最重要的屬性和操作,避免圖形混亂屬性顯示在操作上方,操作的名字后跟有()班機(jī)flightNumberdatedeparturetimestatusrelease()takeOff()屬性操作2024/2/2106ppt課件類是生成對(duì)象的模板類是生成對(duì)象的模板類的定義中包含有產(chǎn)生和刪除對(duì)象的操作屬性顯示在操作上方,操作的名字后跟有()一個(gè)類定義了使用哪種數(shù)據(jù)表示法來(lái)描述屬性每一個(gè)實(shí)例都采用有屬性值的數(shù)據(jù)表示法一個(gè)類通過(guò)一系列操作來(lái)定義行為這種操作能在每個(gè)實(shí)例中激活班機(jī)Flight187Flight121Flight7472024/2/2107ppt課件類和對(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/2/2108ppt課件關(guān)系所有的系統(tǒng)都包含了大量的類和對(duì)象對(duì)象通過(guò)與其它對(duì)象的協(xié)作完成系統(tǒng)的功能行為.協(xié)作通過(guò)關(guān)系來(lái)實(shí)現(xiàn)幾種重要的關(guān)系類型:關(guān)聯(lián)聚合依賴?yán)^承2024/2/2109ppt課件示例:關(guān)聯(lián)在一個(gè)工資系統(tǒng)中有下面兩個(gè)類:關(guān)聯(lián)表示了雙向的關(guān)系,例如:給出一個(gè)Person的實(shí)例,我們能夠知道他屬于哪家公司給出一個(gè)Company的實(shí)例,我們能夠知道在其中工作的所有人PersonCompany2024/2/2110ppt課件關(guān)聯(lián)的多重性多重性是指多個(gè)實(shí)例參與一個(gè)關(guān)聯(lián)多重性通過(guò)位于關(guān)聯(lián)線某一端的一個(gè)表達(dá)式或符號(hào)來(lái)表示對(duì)于每個(gè)關(guān)聯(lián)關(guān)系,需要做出兩個(gè)多重性的決定例如,在公司和職員的關(guān)聯(lián)中每個(gè)公司可以雇用多個(gè)職員每個(gè)職員只有一個(gè)從屬公司2024/2/2111ppt課件示例:關(guān)聯(lián)的多重性多重性決定可以揭示建模過(guò)程中隱藏的問(wèn)題職員會(huì)不會(huì)失業(yè)?公司能不能沒(méi)有職員?一個(gè)職員能不能有兩份工作?職員職員雇主公司1..*12024/2/2112ppt課件常用的多重性表示法多重性能解決兩個(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/2/2113ppt課件自反關(guān)聯(lián)自反關(guān)聯(lián)指同一個(gè)類中的對(duì)象的關(guān)系表示同一個(gè)類中多個(gè)對(duì)象的協(xié)作Acoursemayhave manypre-requisitesAcoursemaybeapre-requisite formanyothercoursesPre-requisiteCourse0..*0..*2024/2/2114ppt課件聚合(包含)聚合是一種特殊的關(guān)聯(lián),體現(xiàn)整體和部分的關(guān)系聚合是一種“has-a”或包含的關(guān)系同樣可以使用多重性CompanyDepartment1..*12024/2/2115ppt課件依賴依賴表示一個(gè)對(duì)象需要其它對(duì)象為其提供服務(wù)又可稱為client-supplier關(guān)系
client使用supplier提供的服務(wù)
supplier不需要了解client(s)
單向關(guān)系ControllerDisplayItemcontrols2024/2/2116ppt課件繼承
繼承表示一個(gè)類從其它類中獲得結(jié)構(gòu)和行為(子類/父類)又名普遍化交通工具是一個(gè)父類地面交通工具和空中交通工具是子類VehicleGroundVehicleAirVehicleThearrowpointstowardthesuperclass2024/2/2117ppt課件繼承繼承表示子類從父類繼承時(shí)抽象的層次單繼承:子類只從一個(gè)父類繼承多繼承:子類從多于一個(gè)的父類繼承繼承通常被稱為“is-a”或“kind-of”
一個(gè)子類的實(shí)例也“isa”父類的實(shí)例一個(gè)子類的實(shí)例是“kind-of”父類2024/2/2118ppt課件多層次ACarisakindofGroundVehiclewhichisakindofVehicleVehicleandAirVehicleareancestorsofAirplaneAirVehicleandAirplanearedescendantsofVehicleVehicleGroundVehicleAirVehicleCarTruckAirplaneHelicopter2024/2/2119ppt課件繼承的內(nèi)容屬性操作關(guān)系約束繼承平衡類之間的共同之處2024/2/2120ppt課件繼承屬性屬性在繼承結(jié)構(gòu)的最高一層定義所有子類的實(shí)例能夠繼承這些屬性每個(gè)子類可以增加或重新定義繼承的屬性;但在修改是要加倍注意GroundVehiclelicenseNumberweightCarTrucktonnageAtruckhasthreeattributes:licenseNumberweighttonnage2024/2/2121ppt課件繼承操作屬性在繼承結(jié)構(gòu)的最高一層定義所有子類的實(shí)例能夠繼承這些操作每個(gè)子類可以增加或重新定義繼承的屬性GroundVehiclelicenseNumberweightregister()CarTrucktonnagecalculateTax()Atruckhasthreeattributes:licenseNumberweighttonnageandtwooperations:registercalculateTax2024/2/2122ppt課件繼承關(guān)系
關(guān)系也可以繼承每個(gè)子類都可以分享繼承的關(guān)系GroundVehiclelicenseNumberweightregister()AtruckhasanownerCarTrucktonnagecalculateTax()OwnerPerson1..*andacarhasanowner12024/2/2123ppt課件對(duì)象模型化技術(shù)OMT對(duì)象模型化技術(shù)把分析時(shí)收集的信息構(gòu)造在三類模型中,即對(duì)象模型、功能模型和動(dòng)態(tài)模型。這個(gè)模型化的過(guò)程是一個(gè)迭代過(guò)程。2024/2/2124ppt課件基于三個(gè)模型的分析過(guò)程功能模型著重于系統(tǒng)內(nèi)部數(shù)據(jù)的傳送和處理。功能模型定義“做什么”動(dòng)態(tài)模型定義“何時(shí)做”對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淘寶購(gòu)物合同范例
- 合同解除的狀告3篇
- 轉(zhuǎn)上合同范例
- 合同模板系列車(chē)輛轉(zhuǎn)讓協(xié)議模板3篇
- 車(chē)輛保險(xiǎn)定采購(gòu)合同范例
- 德州正規(guī)賣(mài)房合同范例
- 數(shù)控設(shè)備保養(yǎng)合同范例
- 遂寧個(gè)人保潔合同范例
- 合伙種檳榔合同范例
- 美術(shù)班房屋租賃合同范例
- 軸線翻身課件講稿
- 【企業(yè)盈利能力探析的國(guó)內(nèi)外文獻(xiàn)綜述2400字】
- 全國(guó)職業(yè)院校技能大賽高職組(智慧物流賽項(xiàng))備賽試題庫(kù)(含答案)
- 2024年新人教版三年級(jí)數(shù)學(xué)上冊(cè)《第7單元第2課時(shí) 周長(zhǎng)》教學(xué)課件
- 【核心素養(yǎng)目標(biāo)】浙教版勞動(dòng)一年級(jí)上項(xiàng)目四 任務(wù)一《瓶瓶罐罐做花瓶》教案
- 2024年事業(yè)單位公開(kāi)選調(diào)工作人員報(bào)名及資格審查表
- 2024年全國(guó)(保衛(wèi)管理員安全及理論)知識(shí)考試題庫(kù)與答案
- 幼兒園冬至主題班會(huì)課件
- 畜禽解剖生理第八章生殖系統(tǒng)資料教學(xué)課件
- 《2008遼寧省建設(shè)工程計(jì)價(jià)依據(jù)執(zhí)行標(biāo)準(zhǔn)》大建委發(fā)200875號(hào)
- 清潔灌腸護(hù)理
評(píng)論
0/150
提交評(píng)論