2025年軟件工程重點難點習(xí)題匯編與解析_第1頁
2025年軟件工程重點難點習(xí)題匯編與解析_第2頁
2025年軟件工程重點難點習(xí)題匯編與解析_第3頁
2025年軟件工程重點難點習(xí)題匯編與解析_第4頁
2025年軟件工程重點難點習(xí)題匯編與解析_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件是計算機系統(tǒng)中與硬件互相依存的另一部分,它是包括程序、數(shù)據(jù)及1.Logicalratherthanphysical(軟件是一種邏輯實體,而非詳細(xì)的物理實體)2.DevelopedorEngineered,notmanufactsense(在研制、開發(fā)活動中被發(fā)明出來,但不能按老式的生產(chǎn)含義加以理解)3.Doesn'twearout(在軟件的運行和有效期間,沒有磨損、老化問題)1.程序設(shè)計階段,約為50至60年代2.程序系統(tǒng)階段,約為60至70年代3.軟件工程階段,約為70年代后來時期特點軟件工程所指程序程序及闡明書程序、文檔及數(shù)據(jù)語言語言高級語言軟件語言*軟件工作范圍程序編寫軟件生存期需求者本人少數(shù)顧客市場顧客開軟的織發(fā)件組開發(fā)小組及大、中型軟件開發(fā)機構(gòu)規(guī)模小型中、小型大、中、小型定量原個人程序設(shè)計技術(shù)小組技術(shù)水平管理水平開技和段發(fā)術(shù)手序庫構(gòu)造化程序設(shè)計數(shù)據(jù)庫,開發(fā)工具,開發(fā)環(huán)境,工程化開發(fā)措施,原則和規(guī)范,網(wǎng)絡(luò)和分布式開發(fā),面向?qū)ο蠹夹g(shù),軟件過程與過程改善者專職維護(hù)人員價格高,存儲容量小,工作可靠性差降價,速度、存靠性有明顯提高向超高速、大容量、微型化及網(wǎng)絡(luò)化方向發(fā)展完全不受重視軟件技術(shù)的發(fā)展不能滿足需求,出現(xiàn)軟件危機展,價格高,未完全掙脫軟件危機軟件危機*軟件需求增長得不到滿足;*軟件生產(chǎn)成本高,價格昂貴;*軟件生產(chǎn)進(jìn)度無法控制;采用工程的概念、原理、技術(shù)和措施來開發(fā)與維護(hù)軟件,把通過時間考驗而證明對的的管理技術(shù)和目前可以得到的最佳的技術(shù)措施結(jié)合起來,這就是軟Boehm曾為軟件工程下了定義:運用現(xiàn)代科學(xué)技術(shù)知識來設(shè)計并構(gòu)造計算FritzBauer:Theestablishmentanduseofsoundengineeringprinciplesinordertandworksefficientlyonrealmachines.軟件工程是建立和使用氣和電子工程師學(xué)會)做出的定義是“軟件工程是開發(fā)、運行、維護(hù)和修復(fù)軟件的系統(tǒng)措施。”它的關(guān)鍵內(nèi)容是“以工程化的方式組織軟件的開發(fā)”,其中波及軟件計1)軟件工程措施為軟件開發(fā)提供了“怎樣做”的技術(shù)。2)軟件工具為軟件工程措施提供自動的或半自動的軟件支撐環(huán)境。3)軟件工程過程指將軟件工程的措施和工具綜合起來,以到達(dá)合理、及時地進(jìn)軟件工程過程(SoftwareEngineeringPro軟件工程過程是指為了獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師采著名的軟件工程專家B.W.Boehm于1983年在一篇論文中提出了軟件工程的七條基本原理。他認(rèn)為這七條原理是保證軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最1.分階段的生命周期計劃嚴(yán)格管理2.堅持進(jìn)行階段評審3.實行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計技術(shù)5.成果應(yīng)能清晰地審查6.開發(fā)小組的人員應(yīng)少而精7.承認(rèn)不停改善軟件工程實踐的必要性1.出較低的開發(fā)成本3.獲得很好的軟件性能5.需要較低的維護(hù)費用4.局部化5.確定性6.一致性7.完備性1.制定計劃3.系統(tǒng)設(shè)計4.程序編寫5.軟件測試6.運行和維護(hù)軟件開發(fā)模型瀑布模型:按照軟件生命周期經(jīng)典模型-瀑布模型的各個階段實行開發(fā)工作長處:1.提供了軟件開發(fā)的基本框架,優(yōu)于“手工作坊”式的開發(fā)措施2.有助于大型軟件開發(fā)過程中人員的組織、管理3.有助于軟件開發(fā)措施和工具的研究與使用,從而提高了大型軟件項目開發(fā)的質(zhì)量和效率缺陷:1.在軟件開發(fā)的初始階段指明軟件系統(tǒng)的所有需求是困難的,有時甚至是不現(xiàn)實的2.需求確定后,顧客和軟件項目負(fù)責(zé)人要等相稱長的時間(通過設(shè)計、編碼、測試、運行)才能得到一份軟件的最初版本。假如顧客對這個軟件提出比較大的修改意見,那么整個軟件項目將會蒙受巨大的人力、財力、時間方面的損失。漸進(jìn)模型(演化模型、原型模型)原型模型在克服瀑布模型缺陷、減少由于軟件需求不明確而給開發(fā)工作帶來風(fēng)險方面,確實有著明顯的效果原型化措施是顧客和軟件開發(fā)人員之間進(jìn)行的一種交互過程,合用于需求不確定性高的系統(tǒng)螺旋模型它是生命周期模型與原型模型的結(jié)合,不僅體現(xiàn)了兩個模型的長處,還增長了新的成分——風(fēng)險分析螺旋模型是支持大型軟件開發(fā)并具有廣泛應(yīng)用前景的模型例題1.開發(fā)軟件時,對于提高軟件開發(fā)人員工作效率至關(guān)重要的是(A)。軟件工程中描述軟件生存周期的瀑布模型一般包括計劃、(B)、設(shè)計、編碼、測試、維護(hù)等幾種階段。其中,設(shè)計階段在管理上又可以依次提成(C)和(D)兩個A:①程序開發(fā)環(huán)境②操作系統(tǒng)的資源管理功能③開發(fā)程序人員數(shù)量④計算機的并行處理能力C、D:①方案設(shè)計②代碼設(shè)計③概要設(shè)計④數(shù)據(jù)設(shè)計⑤運行設(shè)計⑥詳細(xì)設(shè)計⑦故障處理設(shè)計⑧軟件體系2.有人將軟件的發(fā)展過程劃分為4個階段:第一階段(20世紀(jì)50年代)稱為“程序設(shè)計的原始時期”。這時既沒有第二階段(20世紀(jì)60年代)稱為“基本軟件期”。出現(xiàn)了(A),并逐漸普及。伴隨(B)的發(fā)展,編譯技術(shù)也有較大的發(fā)展。第四階段(20世紀(jì)70年代中期至今)稱為“軟件工程時期”,軟件開發(fā)技術(shù)(F)、編碼、單元測試、綜合測試、(G)及其整體有關(guān)的多種管理技術(shù)。A-D:①匯編語言②操作系統(tǒng)③虛擬存儲器概念④高級語言⑤構(gòu)造化程序設(shè)計⑥數(shù)據(jù)庫概念⑦固件⑧模塊化程序設(shè)計E-G:①使用和維護(hù)②兼容性確實認(rèn)③完整性確實認(rèn)④設(shè)計問題定義有關(guān)問題性質(zhì)、工程目的和規(guī)模的書面匯報可行性研究(也稱可行性分析,F(xiàn)easibilityAnalysis)目的就是要用最小的代價在盡量短的時間內(nèi)確定問題與否可以處理。1.深入分析和澄清問題定義。2.導(dǎo)出系統(tǒng)的高層邏輯模型。從系統(tǒng)邏輯模型出發(fā),探索若干種可供選擇的重要解法(即系統(tǒng)實現(xiàn)方案)。對每種解法都應(yīng)當(dāng)至少從下述幾方面研究其可行Economicfeasibility,經(jīng)濟可行性。這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?Technicalfeasibility,技術(shù)可行性。使用既有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?Legalfeasibility,法律可行性。確定系統(tǒng)開發(fā)也許導(dǎo)致的任何侵權(quán)行為、阻礙性后果和責(zé)任。Operationalfeasibility,操作可行性。系統(tǒng)的操作方式在這個顧客組織內(nèi)行得通嗎?3、對后來的行動方針提出提議。基于計算機系統(tǒng)的成本—效益分析是可行性研究的重要內(nèi)容,它用于評估計算機系統(tǒng)的經(jīng)濟合理性。給出系統(tǒng)開發(fā)的成本論證,并將估算的成本與預(yù)期的利潤進(jìn)行對比。成本軟件開發(fā)成本重要體現(xiàn)為人力消耗(乘以平均工資則得到開發(fā)費用)。一般來說,基于計算機系統(tǒng)的成本由四個部分構(gòu)成:1.購置并安裝軟硬件及有關(guān)設(shè)備的費用2.系統(tǒng)開發(fā)費用3.系統(tǒng)安裝、運行和維護(hù)費用4.人員培訓(xùn)費用1、代碼行技術(shù)代碼行技術(shù)是比較簡樸的定量估算措施,也是一種自底向上的估算措施。它把開發(fā)每個軟件功能的成本和實現(xiàn)這個功能需要用的源代碼行數(shù)聯(lián)絡(luò)起來。一般根據(jù)經(jīng)驗和歷史數(shù)據(jù)估計實現(xiàn)一種功能需要的源程序行數(shù)。一旦估計出源代碼行數(shù)后來,用每行代碼的平均成本乘以行數(shù)即可確定軟件的成本。每行代碼的平均成本重要取決于軟件的復(fù)雜程度和開發(fā)小組的工資水平。(1)對規(guī)定設(shè)計的系統(tǒng)進(jìn)行功能分解,直到可以對為實現(xiàn)該功能所規(guī)定的源代碼行數(shù)做出可靠的估算為止。根據(jù)經(jīng)驗和歷史數(shù)據(jù),對每個功能塊估計一種最有利的、最也許的和最不利的LOC值。設(shè)最有利的LOC值為a,最也許的LOC值為m,最不利的LOC值為b,則代碼行的期望(平均)值L計算每個功能塊的價格及工作量,并確定該軟件項目總的估算價格和工作1、背景狀況。問題描述,市場需求等2、系統(tǒng)描述。簡略的范圍描述,計劃目的和階段目的等3、候選方案。候選方案的配置,選擇最終方4、價格利益分析。經(jīng)費概算和預(yù)期經(jīng)濟效益5、技術(shù)冒險評價。包括技術(shù)實力、設(shè)備條件和已經(jīng)有工作基礎(chǔ)6、操作可行性。顧客組織對操作方式的但愿7、法律可行性。系統(tǒng)開發(fā)也許導(dǎo)致的侵權(quán)、違法等8、其他與項目有關(guān)的問題。也許的未來變化所謂軟件需求是指顧客對目的軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等2)系統(tǒng)性能規(guī)定3)運行規(guī)定4)未來也許提出的規(guī)定2、分析系統(tǒng)的數(shù)據(jù)規(guī)定(需求分析的本質(zhì)就是對數(shù)據(jù)和加工進(jìn)行分析)5、開發(fā)原型系統(tǒng)(可選)1、訪談與會議2、書面調(diào)查法3、觀測顧客工作流程1、組織概況1)組織的業(yè)務(wù)狀態(tài)2)業(yè)務(wù)的詳細(xì)內(nèi)容3)輸入輸出信息從六個方面著手:*信息流向*信息種類*運用的目的*信息的使用者和制造者*輸入和輸出地點*輸入和輸出信息量3、存在問題、約束條件4、未來規(guī)定構(gòu)造化分析措施(SA措施)就是面向數(shù)據(jù)流自頂向下逐漸求精進(jìn)行需求分析的措施。分析的過程:面向數(shù)據(jù)流,采用自頂向下、分支分層、逐漸分解、逐漸細(xì)化、逐漸求精,最終貫徹到詳細(xì)加工、基本加工、簡樸加工。用逐漸求解的措施控制系統(tǒng)的復(fù)雜度,使得復(fù)雜系統(tǒng)簡樸化、抽象系統(tǒng)詳細(xì)化。數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型,或者說描繪信息在系統(tǒng)中流動和處理的狀基本系統(tǒng)模型數(shù)據(jù)流分析將系統(tǒng)模型視作一種數(shù)據(jù)變換,它接受多種形式的輸入,通過變換產(chǎn)生多種形式的輸出。輸入2輸出1輸出2例,下圖是一種飛機機票預(yù)定系統(tǒng)的基本系統(tǒng)模型數(shù)據(jù)流圖的成分下圖是機票預(yù)定系統(tǒng)的DFD??梢钥闯?,數(shù)據(jù)流圖是由如下四個基本成分構(gòu)成的:1、數(shù)據(jù)流(用箭頭表達(dá))2、加工(用圓圈表達(dá))3、文獻(xiàn)(用單線或雙線表達(dá))4、數(shù)據(jù)源點和終點(用方框表達(dá))備票1、一種加工并不一定是一種程序。2、一種數(shù)據(jù)存儲也不等同于一種文獻(xiàn)。3、數(shù)據(jù)存儲和數(shù)據(jù)流都是數(shù)據(jù),但所處狀態(tài)不一樣。自頂向下逐層畫DFD的環(huán)節(jié)如下:1)把基本系統(tǒng)模型加上源點和終點作為頂層DFD。2)畫出各層DFD,逐層畫DFD的過程也就是逐層分解的過程。為便于管理,要對分層DFD和圖中的加工進(jìn)行編號。A、子圖的圖號就是分解的父圖中對應(yīng)加工的編號。B、子圖中的加工編號是由子圖號、小數(shù)點、局部次序號構(gòu)成。3)畫出總的DFD。(可選)畫DFD時要注意的幾種問題:1、畫DFD不是畫流程圖。DFD只描述“做什么”,不描述“怎么做”和做的次序。而流程圖表達(dá)對數(shù)據(jù)進(jìn)行加工的次序和細(xì)節(jié)。2、父圖和子圖的平衡。父圖某加工的輸入輸出和分解這個加工的子圖的輸入輸出必須完全一致。3、局部文獻(xiàn)。文獻(xiàn)總是局部于分層DFD的某一層或某幾層。4、分解的深度與層次。逐層分解規(guī)定分解到加工成為足夠簡樸、易于理解的基本加工為止。所謂基本加工就是加工的意義明確、操作單一。不過究竟分解的層次多少合適,應(yīng)當(dāng)根據(jù)問題的復(fù)雜程度來確定。一般來說,可參照1)一種加工的分解,最多不要超過7個子加工。若超過7個時,可以用增長層次的措施來減少子加工數(shù)。2)分解在邏輯上應(yīng)合理、自然,不能硬性分割。3)在保證數(shù)據(jù)流的易理解性的前提下,盡量少分解層次。這樣可以減少層4)分解要均勻。即在一張DFD中,不要有些加工已是基本加工,另某些加工還要分解好幾層。絕對均勻不也許,但不要相差太大。數(shù)據(jù)字典(DD)數(shù)據(jù)字典是有關(guān)數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包括的系統(tǒng)元素(所有數(shù)據(jù)流、加工、文獻(xiàn))的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典是需求規(guī)格闡明書的重要構(gòu)成部分。數(shù)據(jù)流條目是定義數(shù)據(jù)流的。定義的方式一般是列出該數(shù)據(jù)流的各構(gòu)成數(shù)據(jù)項。在定義數(shù)據(jù)流時,一般借助于某些簡樸的符號。如二等價于(定義為)+{…}反復(fù)x={a}x由0個或多種a構(gòu)成m{…}n反復(fù)如x=3{a}8表達(dá)x中至少出現(xiàn)3次a,至多出現(xiàn)8次a()可選(選擇)如x=a+(b)+cb可以在x中出現(xiàn),也可以不出現(xiàn)連接符x=1..9x可取1至9中的任一值如數(shù)據(jù)流“存折”可以定義:存折={戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}50}99戶名=2{字母}24所號=“001”…“999”帳號=“00000001”…“99999999”開戶日=年+月+日性質(zhì)=“1”..“6”印密=“0”存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核日期=年+月+日年=“0001”..“9999”月=“01".."12”日=“01".."31”摘要=1{字母}4支出=金額金額=“0000000.01”..“9999999.99”操作=“00001”..“99999”文獻(xiàn)條目是定義文獻(xiàn)的,一般只需列出文獻(xiàn)的構(gòu)成數(shù)據(jù)項,以及文獻(xiàn)的組織方式如數(shù)據(jù)文獻(xiàn)(數(shù)據(jù)存儲)“存折”可定義為存折={戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}50}9993、加工條目(小闡明)小闡明集中描述一種加工“做什么”,即加工邏輯。所謂加工邏輯是指顧客對這個加工的邏輯規(guī)定,即這個加工的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流的邏輯關(guān)目前用于寫小闡明(加工邏輯闡明)的工具有構(gòu)造化英語、鑒定表和鑒定(欠款超過60天)theconfirmationpendingresolutELSE(accountisingoodstanding)(欠款未超期)(欠款超過60天)ELSE(accountisingoodstanding)(欠款未超期)Issueconfirmationandinvoice單)在某些數(shù)據(jù)處理問題中,某數(shù)據(jù)流圖的加工需要依賴于多種邏輯條件的取值,就是說完畢這一加工的一組動作是由于某一組條件取值的組合引起的。這時使用鑒定表來描述比較合適。下面以“檢查發(fā)貨單”為例,闡明鑒定表的構(gòu)成。1234條件發(fā)貨單金額賒欠狀況>60天≤60天>60天≤60天操作不發(fā)出同意書√發(fā)出同意書√√√發(fā)出發(fā)貨單√√√發(fā)出賒欠匯報√條件茬(ConditionStub)——左上部分條件項(ConditionEntry)——右上部分動作茬(Action動作項(Action例題請用鑒定表表達(dá)下面描述的耗電計費系統(tǒng)中電費的計算措施耗電計費系統(tǒng)可以采用固定價格收費和浮動價格收費兩種方式。若采用固定價格方式收費,對每月耗電100KW·h如下的顧客只征收最低原則費,超過100KW·h的顧客按價格表A收費;若采用浮動價格方式收費,則每月耗電100KW·h如下的顧客按價格表A收費,超過100KW·h的顧客按價格表B收費。條件收費方式固定固定浮動浮動耗電規(guī)模征收最低原則費√按價格表A收費√√按價格表B收費√條件固定固定浮動浮動操作按價格表A收費征收最低原則費按價格表B收費按價格表A收費鑒定樹鑒定樹也是用來體現(xiàn)加工邏輯的一種工具,有時它比鑒定表更直觀。下面把前面的“檢查發(fā)貨單”的例子用鑒定樹表達(dá)。欠款≤60天——發(fā)出批準(zhǔn)書、發(fā)貨單檢查發(fā)貨單我們用DFD描述了系統(tǒng)中數(shù)據(jù)流動和加工的狀況,用DD描述了其中的某些數(shù)據(jù)流、文獻(xiàn)和加工,不過還不能滿足需求分析階段的規(guī)定。任何一種軟件系統(tǒng)都也許有成千上萬個數(shù)據(jù)項,僅僅描述它們是不夠的,更重要的是怎樣把它們以最優(yōu)的方式組織起來,以滿足系統(tǒng)對數(shù)據(jù)的規(guī)定。E-R圖(Entity-Relationship,實體-關(guān)系圖)是現(xiàn)實世界中實體的數(shù)據(jù)側(cè)面;或者說,數(shù)據(jù)對象是現(xiàn)實世界中省略了功能和行為的實體。2、聯(lián)絡(luò)客觀世界中的事物彼此間往往是有聯(lián)絡(luò)的。同樣,應(yīng)用問題中的任何數(shù)據(jù)對象都不是孤立的,它們與其他數(shù)據(jù)對象一定存在多種形式的聯(lián)絡(luò)。N學(xué)教系1聯(lián)絡(luò)可分為三類:1)一對一聯(lián)絡(luò)(1:1)2)一對多聯(lián)絡(luò)(1:N)屬性是實體或聯(lián)絡(luò)所具有的性質(zhì)軟件需求規(guī)格闡明1.引言。編寫目的,項目背景等2.任務(wù)概述。目的,運行環(huán)境等3.數(shù)據(jù)描述。4.功能需求。5.性能需求。6.運行需求。7.其他需求。例題1.軟件需求分析的任務(wù)不應(yīng)包括(A)。進(jìn)行需求分析可使用多種工具,但(B)是不合用的。在需求分析中,分析員要從顧客那里處理的最重要的問題是(C)。需求規(guī)格闡明書的內(nèi)容不應(yīng)當(dāng)包括(D)。該文檔在軟件開發(fā)中具有重要的作用,但其作用不應(yīng)當(dāng)包括(E)。A:①問題分析②信息域分析③構(gòu)造化程序設(shè)計④確定邏輯模型③規(guī)定軟件工作效率怎樣④要讓軟件具有什么樣的構(gòu)造③軟件確認(rèn)準(zhǔn)則④軟件的性能E:①軟件設(shè)計的根據(jù)②顧客和開發(fā)人員對軟件要“做什么”的共③軟件驗收的根據(jù)④軟件可行性分析的根據(jù)2.在構(gòu)造化分析措施中,用以體現(xiàn)系統(tǒng)內(nèi)數(shù)據(jù)的運動狀況的工具有()。A.數(shù)據(jù)流圖B.數(shù)據(jù)詞典C.構(gòu)造化英語D.鑒定表與鑒定樹一旦軟件需求確認(rèn)之后,就進(jìn)入開發(fā)階段。開發(fā)階段由3個互有關(guān)聯(lián)的環(huán)節(jié)構(gòu)成,即設(shè)計、實現(xiàn)(編碼)和測試。從工程管理的角度看,軟件設(shè)計可分為概要設(shè)計/總體設(shè)計和詳細(xì)設(shè)計兩大環(huán)節(jié)。從技術(shù)角度來看,軟件設(shè)計可分為數(shù)據(jù)設(shè)計、系統(tǒng)構(gòu)造設(shè)計和過程設(shè)計。目前越來越多的人把界面設(shè)計也單獨取出作為一種方面。概要設(shè)計基本目的是用比較抽象概括的方式確定系統(tǒng)怎樣完畢預(yù)定的任務(wù),即確定軟件系統(tǒng)的總體構(gòu)造,給出系統(tǒng)中各個構(gòu)成模塊的功能和模塊間的接口。波及的概念重要有:模塊化,抽象與逐漸求精,信息隱藏,模塊獨立在進(jìn)行軟件構(gòu)造設(shè)計時應(yīng)當(dāng)遵照的最重要的原理是模塊獨立原理。采用模塊化原理的長處:1)可以使軟件構(gòu)造清晰,輕易設(shè)計、輕易閱讀和理解、輕易測試和2)提高軟件的可靠性。3)易于軟件開發(fā)工程的組織管理。所謂模塊的獨立性,是指軟件系統(tǒng)中每個模塊只波及軟件規(guī)定的詳細(xì)的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡樸的。模塊獨立性可用兩個定量準(zhǔn)則來度量耦合(coupling):各個模塊之間互相關(guān)聯(lián)的度量內(nèi)聚(cohesion):模塊內(nèi)部各元素之間互相關(guān)聯(lián)的度量耦合共分七級非直接耦合、數(shù)據(jù)耦合、特性耦合/標(biāo)識耦合、控制耦合、外部耦合、公共耦合、內(nèi)容耦合按上述次序,耦合性逐漸升高,模塊獨立性逐漸減少。內(nèi)聚共分七級偶爾內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、次序內(nèi)聚、功能內(nèi)聚按上述次序,內(nèi)聚性逐漸加強,功能趨于單一,模塊獨立性也逐漸加強。軟件概要設(shè)計的目的是力爭增長模塊的內(nèi)聚,盡量減少模塊間的耦合。但增長內(nèi)聚比減少耦合更重要,應(yīng)當(dāng)把更多的注意力集中到提高模塊的內(nèi)聚程度系統(tǒng)構(gòu)造設(shè)計的七條啟發(fā)式原則:1)改善軟件構(gòu)造提高模塊獨立性2)模塊規(guī)模應(yīng)當(dāng)適中3)深度、寬度、扇出和扇入都應(yīng)合適4)模塊的作用范圍應(yīng)在控制范圍之內(nèi)5)力爭減少模塊接口的復(fù)雜程度6)設(shè)計單入口單出口的模塊7)模塊功能應(yīng)當(dāng)可以預(yù)測常見的軟件概要設(shè)計措施有3大類:1)以數(shù)據(jù)流圖為基礎(chǔ)構(gòu)造模塊構(gòu)造的構(gòu)造化設(shè)計措施(SD,StructuredConstructionofPrograms)(Wanier)邏輯構(gòu)造措施3)以對象、類、繼承和通信為基礎(chǔ)的面向?qū)ο蟮脑O(shè)計措施(0OD)構(gòu)造化設(shè)計措施(StructuredDesign,SD)是基于模塊化、自頂向下細(xì)3、映射為軟件構(gòu)造4、細(xì)化后,得到初始構(gòu)造圖5、獲得最終的軟件構(gòu)造圖1.引言。編寫目的,項目背景等2.任務(wù)概述。目的,運行環(huán)境,需求概述,條件與限制等3.總體設(shè)計。處理流程,系統(tǒng)總體構(gòu)造等4.接口設(shè)計。外部接口,內(nèi)部接口等5.數(shù)據(jù)構(gòu)造設(shè)計6.運行設(shè)計7.出錯處理設(shè)計8.其他問題例題1.在眾多的設(shè)計措施中,SD措施是最受人注意的,也是最廣泛應(yīng)用的一種,這種措施可以同分析階段的(A)措施及編程階段的(B)措施前后銜接,SD措施考慮怎樣建立一種構(gòu)造良好的程序構(gòu)造,它提出了評價模塊構(gòu)造質(zhì)量的兩個詳細(xì)原則-塊間聯(lián)絡(luò)和塊內(nèi)聯(lián)絡(luò)。SD措施的最終目的是(C),用于表達(dá)模塊間另一種比較著名的設(shè)計措施是以信息隱藏為原則劃分模塊,這種措施叫C:①塊間聯(lián)絡(luò)大,塊內(nèi)聯(lián)絡(luò)?、趬K間聯(lián)絡(luò)大,塊內(nèi)聯(lián)絡(luò)?、蹓K間聯(lián)絡(luò)小,塊內(nèi)聯(lián)絡(luò)大④塊間聯(lián)絡(luò)小,塊內(nèi)聯(lián)絡(luò)小E:①Jackson②Parnas③Turing④Wirth⑤Dijk2.塊間聯(lián)絡(luò)和塊內(nèi)聯(lián)絡(luò)是評價程序模塊構(gòu)造質(zhì)量的重要原則。聯(lián)絡(luò)的方式、共用信息的作用、共用信息的數(shù)量和接口的(A)等原因決定了塊間聯(lián)絡(luò)的大小。SD措施的總的原則是使每個模塊執(zhí)行(C)功能,模塊間模塊通過(E)語句調(diào)用其他模塊,并且模塊間傳送的參數(shù)應(yīng)盡量(F)。D:①數(shù)據(jù)型②控制型③混合型E:①直接引用②原則調(diào)用③中斷④宏調(diào)用G-H:①作用范圍②控制范圍3.從下列有關(guān)系統(tǒng)構(gòu)造圖的論述中選出對的的論述A.系統(tǒng)構(gòu)造圖中反應(yīng)的是程序中數(shù)據(jù)流的B.系統(tǒng)構(gòu)造圖是精確體現(xiàn)程序構(gòu)造的圖形表達(dá)法。因此,有時可將系統(tǒng)構(gòu)造圖C.個模塊的多種下屬模塊在系統(tǒng)構(gòu)造圖中所處的左D.系統(tǒng)構(gòu)造圖中,上級模塊與其下屬模塊之間的調(diào)用關(guān)系用有向線段表達(dá)。這5.在完畢軟件概要設(shè)計,并編寫出有關(guān)文檔之后,應(yīng)當(dāng)組織對概要設(shè)計工作的分析該軟件的系統(tǒng)構(gòu)造、子系統(tǒng)構(gòu)造,確認(rèn)該軟件設(shè)計與否覆蓋了所有已分析軟件各部分之間的聯(lián)絡(luò),確認(rèn)該軟件的內(nèi)部接口與外部接口與否已經(jīng)明確定義。模塊與否滿足(B)和(C)的規(guī)定。模塊(D)與否在其(E)之供選擇的答案:B:①多功能②高內(nèi)聚③高耦合④高效率⑤可讀性C:①多入口②低內(nèi)聚③低耦合④低復(fù)雜度⑤低強度D-E:①作用范圍②高內(nèi)聚③低內(nèi)聚④取值范圍⑤控制范圍詳細(xì)設(shè)計就是要在總體設(shè)計階段成果的基礎(chǔ)上,考慮怎樣實現(xiàn)定義的軟件系統(tǒng),直到構(gòu)造化程序設(shè)計技術(shù)是進(jìn)行詳細(xì)設(shè)計的邏輯基礎(chǔ)。它采用自頂向下逐漸求精的設(shè)計措程序復(fù)雜性重要指模塊內(nèi)程序的復(fù)雜性。它直接關(guān)聯(lián)到軟件開發(fā)費用的名少、開發(fā)1)代碼行度量法度量程序的復(fù)雜性,最簡樸的措施就是記錄程序的源代碼行數(shù)。該措施的基本考慮是Lipow及其他研究者得出一種結(jié)論:對于少于100個語句的小程序,源代碼行數(shù)與出2)McCabe度量法McCabe度量法是一種基于程序控制流的復(fù)雜性度量措施。McCabe定義的程序復(fù)雜性假如把程序流程圖中每個處理符號都退化成一種結(jié)點,本來聯(lián)結(jié)不一樣處理符號的流2.總體設(shè)計。軟件構(gòu)造3.程序描述。逐一模塊描述其功能、性能、輸入、輸出、算法等例題軟件詳細(xì)設(shè)計工具可分為3類,即圖形工具、設(shè)計語言和表格工具。圖形工具中,(A)簡樸而應(yīng)用廣泛。(B)表達(dá)法中,每個處理過程用一種盒子表達(dá),盒子可以嵌套。(C)可以縱橫延伸,圖形的空間效果好。(D)是一種設(shè)計和描述程序的語言,它是一種面向(E)的語言。供選答案:D:①C②PDL③PROLOGE:①人②機器③數(shù)據(jù)構(gòu)造④對象ABFPTFQT[統(tǒng)考]下面是兩個程序流程圖,試分別用N-S圖ABFPTFQTFPTBFQTWhilePABMcCabe復(fù)雜性度量都為3。(7-6+2)下圖是使用BASIC語言編寫的一種打印A、B、C三數(shù)中最小者的程序流程圖。其中出現(xiàn)了6個GOTO語句,1個向前,5個向后,程序可讀性很差。FF打印CT打印BT試運用基本控制構(gòu)造,將程序中的GOTO語句消printAprintBprintC編碼所謂編碼就是把軟件設(shè)計的成果翻譯成計算機可以“理解”的形式一用某種程序設(shè)計按照軟件工程的措施論,程序的質(zhì)量基本上由設(shè)計的質(zhì)量決定。不過,編碼使用的語例題從下列論述中選出5條符合程序設(shè)計風(fēng)格指導(dǎo)原則的論述。⑩應(yīng)盡量多用GOTO語句從下列有關(guān)模塊化程序設(shè)計的論述中選出5條對的的論述。⑨模塊越小,模塊化的長處越明顯。一般來說,模塊的大小都在10行如下測試軟件測試的目的就是軟件投入生產(chǎn)性運行之前,盡量多地發(fā)現(xiàn)軟件中的錯誤。目前軟1)測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤。2)一種好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤3)一種成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試1)應(yīng)當(dāng)盡早地不停地進(jìn)行軟件測試2)測試用例應(yīng)由測試輸入數(shù)據(jù)和與之相對應(yīng)的預(yù)期輸出成果這兩部分構(gòu)成3)程序員應(yīng)防止檢查自己的程序4)在設(shè)計測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件5)充足注意測試中的群集現(xiàn)象6)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性7)應(yīng)當(dāng)對每個測試成果做全面檢查8)妥善保留測試計劃、測試用例、出錯記錄和最終分析匯報,為維護(hù)提供以便常分單元測試/模塊測試,集成測試,確認(rèn)測試和系設(shè)計測試方案是測試階段的關(guān)鍵技術(shù)問題,基本目的是選用至少許的高效測試數(shù)據(jù),鑒定-條件覆蓋:使得判斷中每個條件的所有也許取值至少執(zhí)行一次,同步每個判條件組合覆蓋:使得每個判斷的所有也許的條設(shè)計測試方案的實用方略是,用黑盒法設(shè)計基本的測試方案,再用白盒法補充某些必應(yīng)當(dāng)認(rèn)識到,軟件測試不僅僅指運用計算機進(jìn)行的測試,還包括人工進(jìn)行的測試(例如,代碼審查)。兩種測試途徑各有優(yōu)缺陷,互相補充,缺一不可。有一種處理單價為1元5角錢的盒裝飲料的自動售貨機軟件。若投入1元5角硬幣,按下“橙汁”、“啤酒”或“紅茶”按鈕,對應(yīng)的飲料就送出來。若投入的是2元硬幣,在送出飲料的同步退還5角硬幣。1)(5分)試運用因果圖法,建立該軟件的因果圖;2)(5分)設(shè)計測試該軟件的所有測試用例。輸入條件(原因)因果圖(加入了兩個中間結(jié)點11和12。11表達(dá)已投幣,12表達(dá)已按鈕)測試用例123456789投入1元5角硬幣11110000000投入2元硬幣00001111000100010001000100010001000100010001中間結(jié)點已投幣11111111000已按鈕11101110111輸出退還5角硬幣00001110000100010000000100010000000100010000軟件測試是軟件質(zhì)量保證的重要手段之一,測試的費用已超過(A)的30%以上。因此,提高測試的有效性十分重要?!案弋a(chǎn)”的測試是指(B)。根據(jù)國標(biāo)GB8566-88《計算機軟件開發(fā)規(guī)范》的規(guī)定,軟件的開發(fā)和維護(hù)劃分為8個階段,其中,單元測試是在(C)階段完畢的,集成測試的計劃是在(D)階段制定的,確認(rèn)測試的計劃是在(E)階段制定:A:①軟件開發(fā)費用②軟件維護(hù)費用B:①用適量的測試用例運行程序,證明被測程序?qū)Φ臒o誤②用適量的測試用例運行程序,證明被測程序符合對應(yīng)的規(guī)定③用少許的測試用例運行程序,發(fā)現(xiàn)被測程序盡量多的錯誤④用少許的測試用例運行程序,糾正被測程序盡量多的錯誤C-E:①可行性研究和計劃②需求分析⑤實現(xiàn)⑥集成測試⑦確認(rèn)測試⑧使用和維護(hù)集成測試也叫做(A)或(B)。一般,在(C)的基礎(chǔ)上,將所有模塊按照設(shè)計規(guī)定組裝成系統(tǒng)。子系統(tǒng)的集成測試尤其稱為(D),它所作的工作是要找出子系統(tǒng)和系統(tǒng)需求規(guī)格闡明之間的(E)。需要考慮的問題是在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)與否會(F);一種模塊的功能與否會對另一種模塊的功能產(chǎn)生不利的影響;各個(G)組合起來,能否到達(dá)預(yù)期規(guī)定的(H);(I)與否有問題;單個模塊的誤差累積起A-D:①單元測試②部件測試③組裝測試④系統(tǒng)測試⑤確認(rèn)測試⑥聯(lián)合測試⑦一致黑盒測試法是通過度析程序的(A)來設(shè)計測試用例的措施。除了測試程序外,它還合用于對(B)階段的軟件文檔進(jìn)行測試。白盒測試法是根據(jù)程序的(C)來設(shè)計測試用例的措施。除了測試程序外,它也合用于對白盒法測試程序時常按照給定的覆蓋條件選用測試用例。(E)覆蓋比(F)嚴(yán)格,它使得每個鑒定的每條分支至少經(jīng)歷一次。(G)覆蓋既是鑒定覆蓋,又是條件覆蓋,但它并不保證使多種條件都能取到所有也許的值。(H)覆蓋比其他條件都要嚴(yán)格,但它不能保證單元測試一般以(I)為主,測試的根據(jù)是(J)。A、C:①應(yīng)用范圍②內(nèi)部邏輯③功能④輸入數(shù)據(jù)B、D:①編碼②軟件詳細(xì)設(shè)計③軟件總體設(shè)計④需求分析E、F、G、H:①語句②鑒定③條件④鑒定/條件⑤多重條件⑥途徑J:①模塊功能規(guī)格闡明②系統(tǒng)模塊構(gòu)造圖③系統(tǒng)需求規(guī)格闡明從下列有關(guān)程序設(shè)計風(fēng)格和軟件測試的論述中,選出5條對的的論述④對于連鎖型分支構(gòu)造,若有n個鑒定語句,則有2"條途徑。⑤盡量采用復(fù)合的條件測試,以防止嵌套的分支構(gòu)造。⑥GOTO語句概念簡樸,使用以便。在某些狀況下,保留GOTO語句反能使寫出的程序愈加簡潔。⑦發(fā)現(xiàn)錯誤多的程序模塊,殘留在模塊中的錯誤也多。⑧黑盒測試措施中最有效的是因果圖法。⑨在做程序的單元測試時,樁(存根)模塊比驅(qū)動模塊輕易編寫。⑩程序效率的提高重要應(yīng)通過選擇高效的算法來實現(xiàn)。答案:④、⑤、⑥、⑦、⑩答案:④、⑤、⑥、⑦、⑩調(diào)試軟件調(diào)試是在進(jìn)行了成功的測試之后才開始的工作。調(diào)試活動由兩部分構(gòu)成:1)確定程序中可疑錯誤確實切性質(zhì)和位置2)對程序(設(shè)計、編碼)進(jìn)行修改,排除這個錯誤幾種重要的調(diào)試措施:強行排錯回溯法排錯歸納法排錯演繹法排錯測試和調(diào)試是軟件測試階段的兩個關(guān)系極端親密的過程,它們一般交替進(jìn)行。測試中的可靠性分析在軟件開發(fā)的過程中,運用測試的記錄數(shù)據(jù),估算軟件的可靠性以控制軟件的質(zhì)量是至關(guān)重要的。推測錯誤的產(chǎn)生頻度估算錯誤產(chǎn)生頻度的一種措施是估算平均失效等待時間MTTF(MeanTimeToFailure)。MTTF估算公式(Shooman模型)是:其中,K是一種經(jīng)驗常數(shù),美國某些記錄數(shù)字表明,K的經(jīng)典值是200;Er是測試之前途序中原有的故障總數(shù);Ir是程序長度(機器指令條數(shù)或簡樸匯編語句條數(shù));t是測試(包括排錯)的時間;Ec(t)是在0-t期間內(nèi)檢出并排除的故障總數(shù)。公式的基本假定是:1)、單位(程序)長度中的故障數(shù)Er/Ir近似為常數(shù),它不因測試與排錯而變化。記錄數(shù)字表明,一般Er/Ir值的變化范圍在0.5*10-2—2*10-2之間。2)、故障檢出率正比于程序中殘留故障數(shù),而MTTF與程序中殘留故障數(shù)成正比。3)、故障不也許完全檢出,但一經(jīng)檢出立即得到改正??煽啃岳鄯e曲線公式例題對一種長度為100,000條指令的程序進(jìn)行測試,記錄下來的數(shù)據(jù)如下:.測試開始,發(fā)現(xiàn)錯誤個數(shù)為0;.通過160小時的測試,合計改正100個錯誤,此時,MTTF=0.4小時;.又通過160小時的測試,合計改正300個錯誤,此時,MTTF=2小時。1)估計程序中固有的錯誤總數(shù)。2)為使MTTF到達(dá)10小時,必須測試和調(diào)試這個程序多長時間?3)給出MTTF與測試時間t之間的函數(shù)關(guān)系得1)解得程序中固有的錯誤總數(shù)Er=350,此外,K=1000。解得x=340(即為使MTTF到達(dá)10小時,需要改正340個錯誤)。由可靠性累積曲線340=350(1-e-.01)得t=(n(35因此求得為使MTTF=10,測試和調(diào)試該程序需要時間約為356小時。3)MTTF與測試時間t之間的函數(shù)關(guān)系:維護(hù)所謂軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。軟件工程學(xué)的重要目的就是提高軟件的可維護(hù)性,減少維護(hù)的代價。軟件可維護(hù)性,是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的規(guī)定進(jìn)行修改、擴充或壓縮的輕易程度。軟件的可理解性、可測試性和可修改性是決定軟件可維護(hù)性的基本原因。軟件維護(hù)一般包括四類活動:1)為了糾正使用過程中暴露出來的錯誤而進(jìn)行的改正性維護(hù);2)為了適應(yīng)外部環(huán)境的變化而進(jìn)行的適應(yīng)性維護(hù);3)為了改善原有的軟件而進(jìn)行的完善性維護(hù);4)為了改善未來的可維護(hù)性和可靠性而進(jìn)行的防止性維護(hù)。在軟件維護(hù)中,影響維護(hù)工作量的程序特性有如下6種:a.系統(tǒng)大小b.程序設(shè)計語言c.系統(tǒng)年齡d.數(shù)據(jù)庫技術(shù)的應(yīng)用e.先進(jìn)的軟件開發(fā)技術(shù)維護(hù)有三種副作用:文檔、代碼、數(shù)據(jù)。軟件維護(hù)工作流程1、確認(rèn)維護(hù)規(guī)定2、由維護(hù)組織管理員確認(rèn)維護(hù)類型嚴(yán)重錯誤改正性維護(hù)用戶請求維護(hù)確定維護(hù)用戶請求維護(hù)維護(hù)非嚴(yán)重錯誤高優(yōu)先級低優(yōu)先級列入日常維護(hù)計劃可理解性:表明人們通過閱讀源代碼和有關(guān)文檔,理解程序及其怎樣運行的輕易程度。可靠性:表明一種程序按照顧客的規(guī)定和設(shè)計目的,在給定的一段時間內(nèi)對的執(zhí)行的概率。可測試性:表明論證程序?qū)Φ男缘妮p易程度??尚薷男裕罕砻鞒绦蜉p易修改的程度。可移植性:表明程序轉(zhuǎn)移到一種新的計算環(huán)境的也許性的大小,或者它表明程序可以輕易地、有效地在多種各樣的計算環(huán)境中運行的輕易程度。效率:表明一種程序能執(zhí)行預(yù)定功能而又不揮霍機器資源的程度??墒褂眯裕簭念櫩陀^點出發(fā),把可使用性定義為程序以便、實用及易于使用的程度。各階段結(jié)束原則問題定義有關(guān)規(guī)模和目的的匯報書可行性研究可行性論證匯報(系統(tǒng)的高層邏輯模型)需求分析需求規(guī)格闡明書(系統(tǒng)的邏輯模型)概要設(shè)計闡明書(系統(tǒng)層次圖或構(gòu)造圖)詳細(xì)設(shè)計闡明書(各模塊內(nèi)部詳細(xì)算法)編碼綜合測試方案和成果實行階段維護(hù)軟件管理成本估算代碼行技術(shù)功能點技術(shù)效益估計系統(tǒng)效益包括經(jīng)濟效益和社會效益兩部分。貨幣的時間價值、純收入、投資回收期、投資回收率進(jìn)度安排進(jìn)度安排是軟件項目管理中的一項重要內(nèi)容。管理復(fù)雜的工程項目非常困難,最佳的措施是把它分解成一系列比較輕易管理的子任務(wù)。不過度解后又輕易只注意對各個子任務(wù)的管理,以致忽視了對工程總體狀況的理解和管理。因此需要有某種工具既支持把項目分Gantt圖能很形象地描繪任務(wù)分解狀況,以及每個子任務(wù)(作業(yè))的開始時間和結(jié)束時間,因此是進(jìn)度計劃和進(jìn)度管理的有力工具,它具有直觀簡要和輕易掌握、輕易繪制的長當(dāng)把一種工程項目分解成許多小任務(wù),并且它們彼此間的依賴關(guān)系又比較復(fù)雜時,僅僅用Gantt圖作為安排進(jìn)度的工具是不夠的,不僅難于作出既節(jié)省資源又保證進(jìn)度的計工程網(wǎng)絡(luò)是制定進(jìn)度計劃時另一種常用的圖形工具,它同樣能描繪任務(wù)分解狀況以及每項作業(yè)的開始時間和結(jié)束時間。此外,它還顯式地描繪各個作業(yè)彼此間的依賴關(guān)系。因在制定進(jìn)度計劃時仔細(xì)考慮和運用工程網(wǎng)絡(luò)中的機動時間,往往可以安排出既節(jié)省資人員組織一般來說,程序設(shè)計小組的規(guī)模應(yīng)當(dāng)較小,視工程規(guī)模以2-8人為宜。主程序員組用經(jīng)驗多、技術(shù)好、能力強的程序員作為主程序員。同步,運用人和計算軟件項目的開發(fā)實踐表明,軟件開發(fā)各個階段所需要的技術(shù)人員類型、層次和數(shù)量是不一樣的。軟件項目的計劃與分析階段只需要少數(shù)人,重要是系統(tǒng)分析員、從事軟件系統(tǒng)論證和概要設(shè)計的軟件高級工程師和項目高級管理人員。概要設(shè)計時增長一部分高級程序員,詳細(xì)設(shè)計時,要增長軟件工程師和程序員,在編碼和測試階段還要增長程序員、軟件測試員。到測試階段結(jié)束時,軟件項目開發(fā)人員的數(shù)量到達(dá)頂峰。軟件運行初期,參與軟件維護(hù)的人員比較多,過早解散軟件開發(fā)人員會給軟件維護(hù)帶來意想不到的困難。軟件運行一段時間后,由于軟件開發(fā)人員參與改正性維護(hù),軟件出錯率會很快衰減,這時軟件開發(fā)人員可以逐漸撤出。假如系統(tǒng)不做適應(yīng)性或完善性維護(hù),需要留守的維護(hù)人員就不多Babich曾說過:“協(xié)調(diào)軟件開發(fā)使得混亂減到最小的技術(shù)叫做配置管理。配置是一種標(biāo)識、組織和控制修改的技術(shù),目的是使錯誤到達(dá)最小并最有效地提高生產(chǎn)率?!避浖渲霉芾?SCM,SoftwareConfigurationManagement)應(yīng)用于整個軟件生存期。由于變更在任何時刻都也許發(fā)生,因此,軟件配置管理活動的目的就是為了標(biāo)識變基線是軟件生存期中各開發(fā)階段末尾的特定點,又稱里程碑得到的軟件配置協(xié)議和軟件配置的正式文本構(gòu)成基線。它的作用是把各階段工作的劃分愈CMM(CapabilityMaturityModel)軟件機構(gòu)能力成熟度模型對建立軟件目的系統(tǒng)而言,所謂復(fù)用(reuse),就是運用某些已開發(fā)的、對建立新軟件系統(tǒng)有用的軟件元素來生成新系統(tǒng)。這里所說的軟件元素可以包括需求規(guī)格闡明、設(shè)計過程、設(shè)計規(guī)格闡明、程序代碼、測試用例、度量等。對于新的軟件開發(fā)項目而言,這些元素或者是構(gòu)成新軟件系統(tǒng)的構(gòu)件,或者能在軟件開發(fā)過程中發(fā)揮某種作用面向?qū)ο?對象+類+繼承+通信對象可以定義為系統(tǒng)中用來描述客觀事物的一種實體,它是構(gòu)成系統(tǒng)的一種基本單位,由一組屬性和一組對屬性進(jìn)行操作的服務(wù)構(gòu)成。三個重要特點:自治性、封裝性、通操作又稱為措施或服務(wù),它描述了對象執(zhí)行的功能,若通過消息傳遞,還可認(rèn)為其他而所謂的消息是一種對象與另一種對象的通信單元,是規(guī)定某個對象執(zhí)行類中定義的把具有相似特性和行為的對象歸結(jié)在一起就形成了類。類是某些對象的模板,抽象地假如某幾種類之間具有共性的部分(信息構(gòu)造和行為),將其抽取出來放在一種一般類中,而將各個類的特有的部分放在特殊類中分別描述,則可建立起特殊類對一般類的繼繼承是軟件開發(fā)中重用概念的關(guān)鍵,此外便于模塊修改,同步繼承可使模塊簡化,導(dǎo)1)形式地闡明所面對的應(yīng)用問題,最終成為軟件系統(tǒng)基本構(gòu)成的對象,尚有系統(tǒng)所必須遵2)明確地規(guī)定構(gòu)成系統(tǒng)的對象怎樣協(xié)同合作,完畢指定的功能。OOA要建立分析模型,有五個層次:類和對象層、屬性層、服務(wù)層、構(gòu)造層、主通過00A建立的系統(tǒng)模型是以概念為中心的,因此稱為概念模型。這樣的模型由一組有關(guān)的類構(gòu)成。構(gòu)造和評審OOA概念模型的次序由5個層次構(gòu)成,即類和對象層、屬性層、服務(wù)層、構(gòu)造層、主題層。這5個層次不是構(gòu)成軟件系統(tǒng)的層次,而是分析過程中的層次也可以說是問題的不一樣側(cè)面。每個層次的工作都為系統(tǒng)的規(guī)格闡明增長了一種構(gòu)成部分。當(dāng)5個層次的工作所有完畢時,OOA的任務(wù)也就完畢了。OOD還是采用這樣五個層次,但分別用在建立系統(tǒng)的四個構(gòu)成成分上:問題論域、人機交互、數(shù)據(jù)管理、任務(wù)管理。OOD模型怎樣用特定的實現(xiàn)技術(shù)建立起一種目的系統(tǒng)。在0OA模型和OOD模型中使用了共同的表達(dá)法,這有助于從分析到設(shè)計的轉(zhuǎn)換,并有助于在目前的設(shè)計和實現(xiàn)中維護(hù)OOA模型。與OOA模型同樣,OOD模型也有5層構(gòu)造,又被劃分為四個部分:問題論域、人機交互、數(shù)據(jù)管理、任務(wù)管理。這些構(gòu)成部分把實現(xiàn)技術(shù)隱藏起來,使之與系統(tǒng)的基本問題論域行為分離開。在0OA中,實際上只波及到問題論域部分,其他3個部分是在OOD中加進(jìn)來的。即,對于問題論域部分只是做深入的細(xì)化,其他3個部分中將識別和定義新的類OMT(ObjectModelingTechnique對象建模技術(shù))以面向?qū)ο笏枷霝榛A(chǔ),通過構(gòu)造一組有關(guān)模型(對象模型、動態(tài)模型和功能模型)來獲得有關(guān)問題的全面認(rèn)識(即問題的領(lǐng)域模型)。對象模型(objectmodel)代表了系統(tǒng)的靜態(tài)的、構(gòu)造方面的特性。動態(tài)模型 (dynamicmodel)代表了系統(tǒng)對象之間的時間的、行為的、控制方面的特性。功能模型 (functionalmodel)重要描述值與值之間的函數(shù)關(guān)系。其中,對象模型是3個模型中最關(guān)鍵的模型,它的作用是描述系統(tǒng)的靜態(tài)構(gòu)造,包括構(gòu)成系統(tǒng)的類和對象,它們的屬性和操作,以及它們之間的關(guān)系。在OMT中,類與類之要想對一種系統(tǒng)理解得比較清晰,首先應(yīng)考察它的靜態(tài)構(gòu)造,即在某一時刻它的對象和這些對象之間互相關(guān)系的構(gòu)造。然后,應(yīng)考察在任何時刻對對象及其關(guān)系的變化。系統(tǒng)的這些波及時序和變化的狀況,用動態(tài)模

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論