軟件工程概論教學(xué)資料:crc

軟件工程概論教學(xué)資料:crc

ID:42051248

大?。?3.50 KB

頁數(shù):7頁

時間:2019-09-07

軟件工程概論教學(xué)資料:crc_第1頁
軟件工程概論教學(xué)資料:crc_第2頁
軟件工程概論教學(xué)資料:crc_第3頁
軟件工程概論教學(xué)資料:crc_第4頁
軟件工程概論教學(xué)資料:crc_第5頁
資源描述:

《軟件工程概論教學(xué)資料:crc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、面向?qū)ο蟮姆治鲞^程可分為兩個階段,即論域分析階段和應(yīng)用分析階段。論域分析論域分析是軟件開發(fā)的基本組成部分,目的是使開發(fā)人員了解空間的組成,建立大致的系統(tǒng)實現(xiàn)環(huán)境。論域分析給出一組抽象,從高層表示論域知識,常常超出當前應(yīng)用的范圍,作為特定系統(tǒng)需求開發(fā)的參考。論域分析實際上是一種學(xué)習,軟件開發(fā)人員在這個階段盡可以地理解當前系統(tǒng)與應(yīng)用有關(guān)的知識。應(yīng)放開思維,放寬考慮的領(lǐng)域,盡可能標識與應(yīng)用有關(guān)的概念。論域分析的邊界可能很模糊,有了廣泛的論域知識,涉及到具體的應(yīng)用時,就可以更快地進入情況,掌握應(yīng)用的核心知識。而

2、且,在用戶改變對目標系統(tǒng)的需求時,廣泛的分析可以幫助我們預(yù)測出目標系統(tǒng)在哪些方面會發(fā)生哪些變化。通常進行小組分析,小組成員可以包括領(lǐng)域?qū)<液头治鰡T等。在分析過程中標識出系統(tǒng)的基本概念:對象、類、方法、關(guān)系等。識別論域的特征,把這些概念集成到論域的模型中。論域的模型中必須包含概念之間的關(guān)系,還有關(guān)于每個單獨概念的全部信息。這里信息起一種膠合作用,把標識出的相關(guān)概念并入論域綜合視圖中去。應(yīng)用分析應(yīng)用分析是依據(jù)在論域分析時建立起來的問題論域模型,并把問題論域用于當前特定的應(yīng)用之中。首先,通過收集到的用戶信息來

3、對論域進行取舍,把用戶需求作為限制來使用,縮減論域的信息量。因此,論域分析的視野大小直接影響到應(yīng)用分析保留的信息量。一般來說,論域分析階段產(chǎn)生的模型并不需要用任何基于計算機系統(tǒng)的程序設(shè)計語言來表示,而應(yīng)用分析階段產(chǎn)生的影響條件則通過某種計算機系統(tǒng)的程序設(shè)計語言來表模型識別的要求可以針對一個應(yīng)用,也可以針對多個應(yīng)用。通常我們著重考慮兩個方面,即應(yīng)用視圖和類視圖。在類視圖中,必須對每個類的規(guī)格說明和操作進行詳細化,并表示出類之間的相互作用。領(lǐng)域模型表示與問題領(lǐng)域相關(guān)的基本業(yè)務(wù)概念,領(lǐng)域建模的工作是,去發(fā)現(xiàn)那

4、些表示與問題領(lǐng)域相關(guān)的事物和概念的類。領(lǐng)域模型的類職責協(xié)作(ClassResponsib訂ityCollavorator,CRC)模型是一組標準索引卡片的集合,這些卡片被分為三部分,如圖4.2所示。類代表相似對象的集合,職責是類所知道或要做的事情,協(xié)作者是一個類為完成其職責與之交互的其他類。類名職責協(xié)作者圖4.2(:RC卡片的布局CRC模型被開發(fā)人員和用戶成功地用于理解整個系統(tǒng)開發(fā)周期中面向?qū)ο蟮膽?yīng)用,CRC模型是一種驚人的用于領(lǐng)域建模的有效工具,也就是說為領(lǐng)域中的基本概念進行建模。CRC建模是一個迭代

5、的過程:發(fā)現(xiàn)類、發(fā)現(xiàn)職責和定義協(xié)作者。一個類代表一組相似對象的集合,一個對象是與所討論的系統(tǒng)之中相關(guān)的一個人、地址、物品、時間或概念。類的名字出現(xiàn)在橫跨CRC卡片頂端的區(qū)域,并且通常是單個名詞或名詞詞組,如顧客、圖書和資源等。使用單個名詞是因為每個類都代表單個對象的泛化形式,所以類名用單數(shù)而不是復(fù)數(shù),類的名稱還應(yīng)該簡要直觀。發(fā)現(xiàn)類,從本質(zhì)上講是一項分析工作,因為它為應(yīng)用程序確定構(gòu)件。使用以下策略來發(fā)現(xiàn)潛在的類:(1)參與者是潛在的類;(2)確定客戶;(3)跟蹤資金流;(4)領(lǐng)域的術(shù)語概念是候選的類;(5

6、)領(lǐng)域中的關(guān)鍵事件是潛在的類;(6)主要用戶界面元素等。類的職責是類知道的或要完成的事情。例如,顧客有名字、地址和電話號碼,這是顧客知道的東西。顧客要借書和還書,這些是顧客要完成的事情。一個類知道和要完成的事情構(gòu)成了類的職責,重要的一點是,類能夠改變它所知道的事情的值,但類不能改變其他類所知道的事情的值。換句話說,類只能更新它們自己的屬性,而不能更新其他類。發(fā)現(xiàn)職責是需求分析的任務(wù),因為它定義某個類是什么,而不管它是如何實現(xiàn)的。對象范型基于以類的形式表示數(shù)據(jù)(類知道的事情)和功能(類要完成的事情)的組合

7、,這也正是為什么CRC建模特別適合面向?qū)ο箝_發(fā)的原因。確定職責的一種方法是,應(yīng)該問自己某個類需要做什么,即某個類必須執(zhí)行那些功能。另一種方法是問自己必須存儲類的一些什么消息。有時一個類要實現(xiàn)某一職責,但卻沒有足夠的信息去完成該職責,就必須依靠與其他類協(xié)作來完成工作。協(xié)作通過以下兩種形式之一完成:即對信息的請求或?qū)ν瓿赡稠椆ぷ鞯恼埱?。僅當類A為類B完成某些事情的時候,類A才顯示為類B的協(xié)作者。這里需要理解的一個重要概念是,協(xié)作必須發(fā)生在一個類需要它自己仍不知道的信息的時候。在面向?qū)ο蟮氖澜缰?,必須講禮貌,

8、去請求信息。這是與面向過程開發(fā)完全不同的思想,在面向過程的世界中,如果需要信息,把它拿來就好了。雖然面向過程方法很直接,但它會導(dǎo)致代碼難以維護。在確定協(xié)作時,以下問題需要注意:?對于任何協(xié)作,總是至少有一個發(fā)起者。換句話說,協(xié)作總是會從某個地方開始的。?有時候協(xié)作者完成工作的主要部分。一個類發(fā)起一項協(xié)作,并不能說明這個類要完成大部分工作。?為了完成一項協(xié)作,一個類必須與其他類協(xié)作,要減少不必要的轉(zhuǎn)手,這樣做通常會有更高的效率。?可能會產(chǎn)生新

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。