




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告課程名稱:軟件設(shè)計(jì)與體系結(jié)構(gòu)姓 名:陳宇翔系:軟件工程系專 業(yè):軟件工程年 級(jí):2007學(xué) 號(hào):070481024指導(dǎo)教師:王李進(jìn)職 稱:講師2009年12月16日實(shí)驗(yàn)項(xiàng)目列表序號(hào)實(shí)驗(yàn)項(xiàng)目名稱成績(jī)指導(dǎo)教師1ACME軟件體系結(jié)構(gòu)描述語(yǔ)言應(yīng)用2SOA實(shí)踐3MDA實(shí)踐 4MVC實(shí)踐5產(chǎn)品族實(shí)踐6軟件體系結(jié)構(gòu)風(fēng)格實(shí)踐平均成績(jī)福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告學(xué)院: 計(jì)算機(jī)與信息學(xué)院 專業(yè): 軟件工程系 年級(jí): 2007 姓名: 陳宇翔 學(xué)號(hào): 070481024 課程名稱: 軟件設(shè)計(jì)與體系結(jié)構(gòu) 實(shí)驗(yàn)時(shí)間: 2009-10-28 實(shí)驗(yàn)室 田實(shí)驗(yàn)室312、313 計(jì)算
2、機(jī)號(hào) 024 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)1:ACME軟件體系結(jié)構(gòu)描述語(yǔ)言應(yīng)用一、實(shí)驗(yàn)?zāi)康?)掌握軟件體系結(jié)構(gòu)描述的概念2)掌握應(yīng)用ACMESTUDIO工具描述軟件體系結(jié)構(gòu)的基本操作二、實(shí)驗(yàn)學(xué)時(shí) 2學(xué)時(shí)。三、實(shí)驗(yàn)方法由老師提供軟件體系結(jié)構(gòu)圖形樣板供學(xué)生參考,學(xué)生在樣板的指導(dǎo)下修改圖形,在老師的指導(dǎo)下進(jìn)行軟件體系結(jié)構(gòu)描述。四、實(shí)驗(yàn)環(huán)境計(jì)算機(jī)及ACMESTUDIO。五、實(shí)驗(yàn)內(nèi)容利用ACME語(yǔ)言定義軟件體系結(jié)構(gòu)風(fēng)格,修改ACME代碼,并進(jìn)行風(fēng)格測(cè)試。六、實(shí)驗(yàn)操作步驟 一、導(dǎo)入Zip文檔建立的一個(gè)Acme Project,并且命名為AcmeLab2。如下圖:接著導(dǎo)入ZIP文檔,導(dǎo)入完ZIP文檔后顯示的
3、如下圖:二、修改風(fēng)格在AcmeLab2項(xiàng)目中,打開families下的TieredFam.acme.如下圖:修改組件外觀 1. 在組件類型中,雙擊DataNodeT; 在其右邊的編輯器中,將產(chǎn)生預(yù)覽;選擇Modify按鈕,將打開外觀編輯器對(duì)話框。 2. 首先改變圖形:找到Basic shape section,在Stock image dropdown menu中選擇Repository類型.3. 在Color/Line Properties section修改填充顏色為深藍(lán)色。 4. 在顏色對(duì)話框中選擇深藍(lán)色,并單擊 OK. 5. 修改圖形的邊框顏色為綠色 7. 單擊Label tab,在F
4、ont Settings section, 設(shè)置字體顏色為白色,單擊OK 產(chǎn)生的圖形如下圖:添加新元素類型1. 在Component Types section選擇New按鈕2. 在對(duì)話框中,類型名稱輸入LogicNodeT . 3. 選擇TierNodeT 為父類型. 4. 單擊 Finish. 5. 按照修改外觀的步驟,修改LogicNodeT的外觀:填充顏色為淺綠色,邊框顏色為黑色,大小為2,其他默認(rèn)。 產(chǎn)生的圖形如下圖:添加新屬性類型 1. 選擇Property Types 2. 選擇New按鈕 3. 在對(duì)話框中,類型名稱為TierPropT 4. 類型選擇enum5. 值為:clie
5、nt, logic, data6. 單擊OK. 添加屬性 1. 激活屬性視圖頁(yè)2. 雙擊TierNodeT 3. 選擇Properties tab 4. 右擊空白位置,或者單擊圖標(biāo), 選擇新建屬性 5. 屬性名為tier. 6. 類型為TierPropT(找不到,則直接輸入TieredFam.TierPropT)7.單擊 OK. 添加規(guī)則 1. 單擊Family editor中的TieredFam (Press to select). 2. 選擇屬性視圖中的規(guī)則頁(yè) 3. 單擊 生成新規(guī)則 4. 規(guī)則名為hostCheck,選擇invariant單選項(xiàng) 5. 在規(guī)則框中輸入(直接粘貼過去) Fo
6、rall t1 : TierNodeT in self.Components | !t1.allowShareHost - (Forall t2 : TierNodeT in self.Components | t1 != t2 - t1.host != t2.host) 6. 單擊 Parse Rule 以確認(rèn)無語(yǔ)法錯(cuò)誤,有錯(cuò)誤,要重新寫。 7. 在標(biāo)簽中輸入 “Tier nodes respect host assignment.” 8. 在出錯(cuò)標(biāo)簽中輸入 “Two nodes that cannot share a host must not reside on the same hos
7、t.” 9. 單擊OK 。若前面有語(yǔ)法錯(cuò)誤,按鈕是灰色的 10. 保存. Acme代碼編輯 1. 查看編輯器底端的區(qū)域,有3個(gè)區(qū):Overview, Acme Source and Family TieredFam. 選擇Source 2. 在代碼中找到TierNodeT 3. 復(fù)制其中的屬性內(nèi)容 4. 定位至ClientNodeT,粘貼剛才復(fù)制的內(nèi)容 5. 把tier屬性的值賦值為client. Component Type ClientNodeT extends TierNodeT with Property tier : TierPropT = client; 6. 同樣把復(fù)制的內(nèi)容粘貼
8、在LogicNodeT和 DataNodeT中,前者的tier值為logic,后者的tier值為data. 7. 單擊TieredFam editor tab,若有錯(cuò),將指出錯(cuò)誤 添加可視變量1. 編輯LogicNodeT 組件的外觀 2. 選擇Variants tab. 3. 單擊 New 創(chuàng)建新的變量 4. 名為:Not logic tier. 5. 選擇基于條件的單選按鈕 6. 下拉菜單選擇allowSharedHost, 條件選擇=, 值輸入false 7. 設(shè)置填充顏色為深綠色 8. 單擊 OK 測(cè)試風(fēng)格 1.在Navigator的AcmeLab2中,單擊右鍵, 在彈出式菜單中選擇N
9、ew Acme System. 2. 系統(tǒng)名為TestSystem. 4. 單擊Next. 5. 在風(fēng)格類型中,選擇的內(nèi)容如下圖所示。 6.單擊FinishNotice the palette of types on the left from which you can drag and drop an element to create an instance. 7.在右邊的palette面板中,拖入 4個(gè) client nodes和1個(gè)logic node ,并具有4個(gè)ports ,同時(shí)拖入4個(gè)connectors ,實(shí)現(xiàn)客戶端和邏輯層的連接。七、總結(jié)通過這次實(shí)驗(yàn),我已經(jīng)初步掌握了Acm
10、eStudio這個(gè)軟件的用法,也初步對(duì)于三層體系結(jié)構(gòu)風(fēng)格的理解有了一定的認(rèn)識(shí),讓我們初步對(duì)于軟件體系結(jié)構(gòu)的構(gòu)造有了一定的了解,也使得我們?cè)谲浖w系構(gòu)建的時(shí)候有很多好的軟件可以進(jìn)行應(yīng)用。對(duì)我們進(jìn)行軟件體系結(jié)構(gòu)的做法有了一定的參考。以上就是我對(duì)這次實(shí)驗(yàn)的總結(jié)。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告學(xué)院: 計(jì)算機(jī)與信息學(xué)院 專業(yè): 軟件工程系 年級(jí): 2007 姓名: 陳宇翔 學(xué)號(hào): 070481024 課程名稱: 軟件設(shè)計(jì)與體系結(jié)構(gòu) 實(shí)驗(yàn)時(shí)間: 2009-11-4 實(shí)驗(yàn)室 田實(shí)驗(yàn)室312、313 計(jì)算機(jī)號(hào) 024 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)2:SOA實(shí)踐一、實(shí)驗(yàn)?zāi)康?)初步了解SOA的體系結(jié)構(gòu)2)
11、掌握用Web service技術(shù)實(shí)現(xiàn)SOA二、實(shí)驗(yàn)學(xué)時(shí) 2學(xué)時(shí)。三、實(shí)驗(yàn)方法根據(jù)實(shí)驗(yàn)指導(dǎo)書,實(shí)現(xiàn)web service。四、實(shí)驗(yàn)環(huán)境計(jì)算機(jī)及VS2005。五、實(shí)驗(yàn)內(nèi)容Web service實(shí)現(xiàn)。六、實(shí)驗(yàn)操作步驟內(nèi)容一:Web Services實(shí)現(xiàn)步驟:1 創(chuàng)建WEB服務(wù)1) 打開VS.NET2005,新建一個(gè)網(wǎng)站,在對(duì)話框中選擇“ASP.NET WEB服務(wù)”,選擇好位置,把Website1改為“IMPLEMENTWS”,單擊確定。2)展開解決方案資源管理器,在“APP_CODE”下創(chuàng)建3個(gè)文件夾,依次命名為:DA,Model,Util,見下圖:3)右擊DA文件夾,選擇添加新項(xiàng),新增一個(gè)類:Da
12、taAccess.cs,按同樣的方法,在MODEL和UTIL文件夾中,添加入下圖所示的類。4)右擊項(xiàng)目,選擇添加引用(注意不是Web引用),選擇瀏覽頁(yè),定位拷貝的DLL,見下圖5)完成DATA.CS的代碼6)完成DataAccess.CS的代碼 7)完成ActivityIdHeader.cs8)雙擊Service.CS文件,完成代碼9)編譯,并運(yùn)行,查看效果。一個(gè)WEB服務(wù)編寫完成。2 創(chuàng)建WINDOWS應(yīng)用1)右擊解決方案,選擇添加-新項(xiàng)目2)按下圖完成:3)右擊項(xiàng)目,選擇添加引用(注意不是Web引用),選擇瀏覽頁(yè),定位拷貝的DLL,見下圖4)右擊項(xiàng)目,新建文件夾,并在其下新增一個(gè)類,并完成
13、代碼,如下圖所示5)添加Web引用,右擊項(xiàng)目,選擇添加WEB引用,在URL中輸入,WEB服務(wù)的地址,然后單擊前進(jìn),可以修改引用名,單擊“添加引用”按鈕6)雙擊FORM1.CS,在窗體上放置一個(gè)按鈕和一個(gè)標(biāo)簽,其中標(biāo)簽命名為Result,按鈕的text為“get data”7)雙擊按鈕,完成以下代碼8)右擊項(xiàng)目,新增一個(gè)類:UptoLogEvents.cs9)雙擊PROGRAM.CS,完成代碼10)設(shè)置APPFORWEBSERVICE為啟動(dòng)項(xiàng)目,運(yùn)行,查看結(jié)果七、總結(jié)通過這次試驗(yàn),我了解了應(yīng)用VS2008進(jìn)行我們基于web服務(wù)的編程 的做法。也使得我對(duì)于VS這個(gè)系列的軟件都認(rèn)識(shí)有了一個(gè)比較深刻的
14、理解。也使得我初步了解SOA的體系結(jié)構(gòu)。并且基本上掌握用Web service技術(shù)實(shí)現(xiàn)SOA。雖然在制作中還是有很多問題,但是都經(jīng)過自己查閱和一系列的指點(diǎn)都完成了。并且在相關(guān)科目的一起協(xié)作下,發(fā)現(xiàn)這個(gè)實(shí)驗(yàn)對(duì)我的幫助很大。以上就是我對(duì)這個(gè)實(shí)驗(yàn)的總結(jié)。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告學(xué)院: 計(jì)算機(jī)與信息學(xué)院 專業(yè): 軟件工程系 年級(jí): 2007 姓名: 陳宇翔 學(xué)號(hào): 070481024 課程名稱: 軟件設(shè)計(jì)與體系結(jié)構(gòu) 實(shí)驗(yàn)時(shí)間: 2009-11-11至25 實(shí)驗(yàn)室 田實(shí)驗(yàn)室312、313 計(jì)算機(jī)號(hào) 024 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)3:MDA實(shí)踐一、實(shí)驗(yàn)?zāi)康?)初步了解MDA的框架。2)了
15、解PSM到CODE的過程。3)掌握應(yīng)用ECO實(shí)現(xiàn)MDA過程。二、實(shí)驗(yàn)學(xué)時(shí) 6學(xué)時(shí)。三、實(shí)驗(yàn)方法根據(jù)實(shí)驗(yàn)指導(dǎo)書,實(shí)現(xiàn)Staruml、ECO。四、實(shí)驗(yàn)環(huán)境計(jì)算機(jī)及STARUML和VS2005。五、實(shí)驗(yàn)內(nèi)容(1)StarUML實(shí)踐六、實(shí)驗(yàn)操作步驟實(shí)驗(yàn)內(nèi)容一:StarUML實(shí)踐1. 安裝:首先,我們必須先安裝將要使用的軟件。StarUML ,是一個(gè)開放源碼軟件, 遵循GPL協(xié)議許可(GNU公共許可證) ,并免費(fèi)提供下載。 2. 啟動(dòng)安裝以后就可以啟動(dòng)該程序。 3. 添加新工程在New Project By Approach的對(duì)話框會(huì)彈出。選擇“Empty Project”并且按下確定。4. 選擇模塊在
16、右邊的“Model Explorer”框中選定“Untitled”模塊。5. 添加模塊通過“Model”主菜單,或右擊選定的模型,可以 Add/Model 6. 添加類圖通過“Model”主菜單,或右擊選定模型,可以“Add Diagram/Class Diagram”:7. 設(shè)置profile通過“Model/Profile.”菜單去設(shè)置工程所需的profile。這決定了工程所使用的規(guī)則和約定。根據(jù)語(yǔ)言,選擇不同的Profile,比如JAVA,一定要包含JAVA Porfile這一項(xiàng)目;比如C#,一定要包含C# Porfile這一項(xiàng)目。 8. 保存工程保存工程,命名為L(zhǎng)AB3.UML 9.
17、創(chuàng)造圖表從默認(rèn)就在屏幕的左邊的“Toolbox”選擇“類”圖標(biāo),然后左鍵單擊diagram窗口的某處。這樣就使用通用名字創(chuàng)造了一個(gè)新的類。雙擊,將類改名為Circle。 10. 添加屬性右擊圖中的目標(biāo),在彈出菜單中選擇“Add”中的“Attribute”(被標(biāo)示為綠色),為其添加一個(gè)屬性(或者域),填入期望的名字“_radius”。 l 具體的數(shù)據(jù)類型,在屬性面板(右下側(cè)的窗口) ,由雙打字,在類型時(shí)段。 在窗體右下邊的Properties面板中,找到“Type”輸入框,輸入double作為_radius屬性的類型。l 類的內(nèi)部數(shù)據(jù)(域/屬性)都是私有的,因?yàn)樗麄兪菄?yán)格由類內(nèi)部使用的。所以,在
18、Properties面板中將_radius設(shè)置為“私有”11. 繼續(xù)進(jìn)行設(shè)計(jì)重復(fù)同樣的過程,添加所謂的名字叫做Rectangle的類和double型的私有成員_width和_height。 12. 創(chuàng)造 IShape interface l 從toolbox中,選擇“Interface”,并點(diǎn)擊圖表的某處。將其改名為IShape。創(chuàng)建以后,選中它。l 在頂部工具欄,選擇 “Stereotype Display” 下拉按鈕,將值改變?yōu)椤癗one”。這將改變以往的圓形形狀,使其變?yōu)槌砷L(zhǎng)方形。 l 還是在頂部工具欄,取消選中 Suppress Operations 。這將使我們能夠看到接口所擁有的方
19、法。 l 向IShape 接口添加返回值為double的getArea方法。 n 可以通過右擊interface的圖標(biāo),在彈出菜單中點(diǎn)擊紅色的“Operation”按鈕,然后輸入getArea。n 設(shè)定返回值類型。在“Model Explorer”中展開IShape節(jié)點(diǎn),右擊你剛剛創(chuàng)建的getArea方法,并選擇“Add Parameter”。在“Properties”框中,將參數(shù)的名子變?yōu)榭?,將“DirectionKind”變?yōu)椤癛ETURN”,將“Type”變?yōu)閐boule。l 將IShape和getArea的IsAbstract屬性框打上勾,他們?cè)趫D標(biāo)上的名字將變?yōu)樾斌w。這是UML的標(biāo)準(zhǔn)
20、,表示這是接口或者其他純虛實(shí)體。 13. 添加類和接口的關(guān)系l 可以通過從toolbox中選擇表示“Realization”的箭頭,并從Circle拖拽向IShape,使Circle實(shí)現(xiàn)接口IShape。重復(fù)同樣的過程,為Rectangle添加實(shí)現(xiàn)關(guān)系。這是添加了Circle 和 Rectangle對(duì)于IShape接口的實(shí)現(xiàn)關(guān)系。 n 如果想使連接線表現(xiàn)為直角的方式,右擊連接線,并選擇 Format/Line Style/Rectilinear菜單。你通過這種方式,使箭頭重疊在一起,可以使你的圖看起來更整潔。 14. 添加類基于接口的行為l 由于Circle和Rectangle類都實(shí)現(xiàn)了ISh
21、ape接口,就必須有同樣的行為(方法)。n 在“Model Explorer”面板中,復(fù)制getArea法(按Ctrl-C或者右鍵點(diǎn)擊并選擇Copy菜單),并粘貼到Circle和Rectangle類。 n 這些實(shí)現(xiàn)了的方法在Circle和Rectangle類中都不是抽象的,而是具體的。這是因?yàn)樗麄儗?shí)際上是執(zhí)行一些特定行為(例如,為一個(gè)圓形和長(zhǎng)方形分別計(jì)算面積) ,所以不要勾選IsAbstract框。 15. 添加Pizza類 l 向Pizza添加double型的私有域_price。l 添加返回double類型的共有操作getPrice。16. 為Pizza類添加IShape 的引用l 從too
22、lbox中選擇 DirectedAssociation 箭頭,點(diǎn)擊Pizza類,并向IShape拖拽 。n 選中箭頭,在右邊的“Properties”框上,將name一欄改為“has-a”,“End1.Aggregation” 一欄改為“AGGREGATE”(這個(gè)圖示說明Pizza和shape對(duì)象是“聚合“的關(guān)系)。n 將“End2.Name”一欄改為_shape 。這樣就自動(dòng)為Pizza添加一個(gè)名字為_shape,使用IShape接口的私有域,的所謂_shape型ishape以pizza餅。 n 將“End2.Visibility”改為私有。 l 為_shape創(chuàng)建一個(gè)“獲得者”方法,名字叫
23、做getShape,返回IShape 。這就是創(chuàng)建一個(gè)行為,名字是getShape,返回IShape 。 17. 為pizza類添加構(gòu)造函數(shù)l 為Pizza添加構(gòu)造函數(shù),右擊,在彈出的“Add” 菜單中選擇“Operation”。從這里,增加一個(gè)普通的帶有dboule型price參數(shù)和IShape類型shape參數(shù)的操作 l 增加一個(gè)輸入?yún)?shù),就像之前增加了一個(gè)返回型的輸出參數(shù)一樣,你指定的參數(shù)的名稱,如價(jià)格和形狀等,以及適當(dāng)?shù)臄?shù)據(jù)類型。 l 為Circle增加一個(gè)帶有double型的radius參數(shù)的構(gòu)造函數(shù)。l 為Rectangle增加一個(gè)帶有double型width和height參數(shù)的構(gòu)
24、造函數(shù)。 18. 添加Test_Pizza類為了說明UML類圖更多的功能,又增加了一個(gè)叫做“Test_Pizza”的類,它用作測(cè)試目的,并使用到Pizza和IShape類。 l 兩個(gè)類之間的關(guān)系有多種形式。舉例來說,一個(gè)類可以實(shí)例化另一個(gè)類,而不是將其作為一個(gè)成員。又或,一類的方法可能需要另一個(gè)類作為輸入?yún)?shù),保留一個(gè)引用僅僅是為這個(gè)方法的執(zhí)行。 l 通過從toolbox中選擇“Dependency”箭頭,從一個(gè)類拖向他所以來的類,來添加不通類之間的依賴關(guān)系。在這個(gè)例子中, Test_Pizza 依賴于Pizza,Circle和Rectangle類,因?yàn)樗鼘?shí)例化了它們。 l 從Properti
25、es box選擇name屬性,或者雙擊圖表上的“依賴線”,可以為依賴關(guān)系添加標(biāo)簽。特別的是,當(dāng)一類實(shí)例化另一個(gè)類,我們會(huì)把依賴線叫做“instantiates”。 l 你可以選中并拖動(dòng)依賴線的標(biāo)簽,以達(dá)到更美觀的效果。l 依賴關(guān)系不會(huì)影響代碼生成。 19. 生成代碼: l 根據(jù)不同的語(yǔ)言,選擇不同的菜單,若JAVA,點(diǎn)擊主菜單的“Tools-Java”菜單,選擇“Generate Code”;若C#,點(diǎn)擊主菜單的“Tools-C#”菜單,選擇“Generate Code”。l 從對(duì)話框中選擇你的模塊(這里可能Model1),點(diǎn)擊“Next”。l 為了使你的模塊或者圖標(biāo)的所有類都生成stub c
26、ode,選擇“Select All”然后按“Next”。 l 選擇一個(gè)有效的輸出目錄,“Next”。 l 若C#,請(qǐng)務(wù)必選中“Generate the Documentation by C#Doc”,“Generate empty C#Doc”,若JAVA,請(qǐng)務(wù)必選中“Generate the Documentation byJAVADoc”,“Generate empty JAVADoc”,所有其他復(fù)選框不選中,“Next”。 l 現(xiàn)在StarUML將從你的圖產(chǎn)生代碼,點(diǎn)擊“Finish”退出對(duì)話框。 l 現(xiàn)在,您可以編輯生成的代碼,以增加應(yīng)用。 20. 添加實(shí)現(xiàn)代碼現(xiàn)在就開始定義程序?qū)嶋H做
27、的事情,例如,為圖標(biāo)中的類描述添加實(shí)現(xiàn)代碼。 21. 逆向工程 StarUML還可以從現(xiàn)有的Java/C#代碼創(chuàng)建一個(gè)類圖,這被稱為“reverse engineering”,當(dāng)想從現(xiàn)有的代碼生成圖表,或者你修改了SU生成的代碼,并且想在圖表中反應(yīng)出來的時(shí)候,逆向工程功能就非常有用了。l 到主菜單欄中選擇“Tools/C#或Java/Reverse Engineer.”,可以將現(xiàn)有的代碼逆向工程。 l 選擇C#/Java代碼所在的目錄,并點(diǎn)擊“Add”或“Add All”按鈕,將它們包括在逆向工程過程中,然后單擊“Next” l 選擇想將類加入的模塊,這里可能是“Model1”,然后“Next
28、”。 l 在Option Setup里面: n 確認(rèn)“public”,“package”,“protected”和“private”是選中的(這是默認(rèn)設(shè)置)。n 同樣,在默認(rèn)情況下,單選按鈕“Create the field to the Attribute”也是選中的。 n 除非你想SU創(chuàng)建其他東西,例如布局很糟糕的包含所有類的圖表,不要選中“Create Overview Diagram”框。n 當(dāng)你對(duì)選項(xiàng)做了檢查后,點(diǎn)擊“Run”。n 點(diǎn)擊完成退出對(duì)話框時(shí),就完成了。 l SU會(huì)向模塊添加導(dǎo)入的類,但不是的圖表。為了將它添加到圖,只需要簡(jiǎn)單地從Model Explorer拖動(dòng)它們即可。
29、七、總結(jié)通過這次實(shí)驗(yàn),我初步了解MDA的框架。并且了解PSM到CODE的過程。還掌握應(yīng)用ECO實(shí)現(xiàn)MDA過程。并且在應(yīng)用StarUML這個(gè)軟件在制作UML圖和轉(zhuǎn)換成代碼的這些步驟有了一個(gè)系列的了解。并且發(fā)現(xiàn)這樣也符合我們軟件工程的面向?qū)ο蟮乃枷?。通過這樣的驗(yàn)證性的實(shí)驗(yàn)使我對(duì)于這些的實(shí)驗(yàn)有了一個(gè)進(jìn)一步的了解。所以。通過這次試驗(yàn)我得到的收獲就是這個(gè)。以上就是我的總結(jié)。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告學(xué)院: 計(jì)算機(jī)與信息學(xué)院 專業(yè): 軟件工程系 年級(jí): 2007 姓名: 陳宇翔 學(xué)號(hào): 070481024 課程名稱: 軟件設(shè)計(jì)與體系結(jié)構(gòu) 實(shí)驗(yàn)時(shí)間: 2009-12-2 實(shí)驗(yàn)室 田實(shí)驗(yàn)室312、3
30、13 計(jì)算機(jī)號(hào) 024 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)4:MVC實(shí)踐一、實(shí)驗(yàn)?zāi)康?)初步了解軟件體系設(shè)計(jì)的基本概念2)應(yīng)用設(shè)計(jì)模式實(shí)現(xiàn)MVC二、實(shí)驗(yàn)學(xué)時(shí) 2學(xué)時(shí)。三、實(shí)驗(yàn)方法根據(jù)實(shí)驗(yàn)指導(dǎo)書,實(shí)現(xiàn)MVC。四、實(shí)驗(yàn)環(huán)境計(jì)算機(jī)及VS2005。五、實(shí)驗(yàn)內(nèi)容利用Observer模式實(shí)現(xiàn)MVC。六、實(shí)驗(yàn)操作步驟步驟:1)打開VS.NET2005,新建一個(gè)項(xiàng)目,項(xiàng)目類型選擇Windows,模板選擇Windows應(yīng)用程序,名稱為MVC_IMPL,選擇好位置,單擊確定。2)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中選擇“接口”,名稱為Observer.cs,單擊添加按鈕。3)同樣方法,添加Subject.CS接口。
31、4)雙擊Observer.CS文件,在接口里面定義一個(gè)方法: void sendNotify(string message);5)雙擊Subject.CS文件,在接口里面定義一個(gè)方法: void registerInterest(Observer obs);6)展開解決方案資源管理器,將FORM1.CS修改為Controller.CS,在彈出的信息框中,單擊確定按鈕,單擊窗體,在窗體的屬性對(duì)話框中,設(shè)置Text屬性為:顏色Controller。修改后效果如下圖1所示圖17)單擊圖上的紅色圓圈的圖標(biāo)。8)從左邊的工具欄見圖,拖一個(gè)GroupBox控件至窗體上,并拖動(dòng)位置和設(shè)置大小效果,在屬性對(duì)話
32、框中,設(shè)置其Text屬性為:顏色選擇器,如圖所示。9)從工具箱拖三個(gè)radioButton控件,name屬性分別設(shè)置為rbtnRed,rbtnGreen,rbtnBlue,Text屬性分別設(shè)置為 “紅色”,“綠色”,“藍(lán)色”,并設(shè)置好位置,效果如圖3所示。10)切換至代碼模式,添加using System.Collections引用,添加controller的父接口:Subject,并添加一個(gè)私有成員,效果見圖4。圖411)定義單擊單選按鈕方法,代碼如圖5所示。圖512)實(shí)現(xiàn)Subject接口的registerInterest方法,如圖6所示。圖613)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中
33、選擇“Window窗體”,名稱為ViewList.cs,單擊添加按鈕。14)將ViewList窗體的Text屬性設(shè)置為:列表視圖。15)從工具欄中拖入ListBox控件,設(shè)置Name為lbColor。16)切換至代碼模式,添加ViewList的父接口:Observer。17)實(shí)現(xiàn)接口的方法,見圖8。圖818)定義Init方法,見圖9。圖919)修改ViewList的構(gòu)造函數(shù),見圖10。圖1020)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中選擇“Window窗體”,名稱為ViewColor.cs,單擊添加按鈕。21)將ViewColor窗體的Text屬性設(shè)置為:顏色視圖。22)從工具欄中拖入Pic
34、tureBox控件,設(shè)置Name為pbColor,設(shè)置BackColor為ActiveCaptionText。23)切換至代碼模式,添加using System.Collections引用,添加ViewColor的父接口:Observer,并定義一些私有成員,效果見圖11。圖1124)定義PictureBox繪圖方法,見圖12。圖1225)定義Init方法,見圖13。圖1326)實(shí)現(xiàn)接口的方法,見圖14。圖1427)修改ViewColor的構(gòu)造函數(shù),見圖15圖1528)切換至Controller的代碼模式,添加Init方法,并在Controller類的構(gòu)造函數(shù)中調(diào)用它,見圖16。圖16七、總結(jié)
35、通過這次試驗(yàn),我知道了在C#下進(jìn)行窗口化設(shè)計(jì)的程序的基本的做法,也對(duì)于MVC的設(shè)計(jì)模式有了一定的了解,這個(gè)實(shí)驗(yàn)結(jié)束后,我基本上掌握了MVC模式的設(shè)計(jì),也進(jìn)一步加強(qiáng)了自己對(duì)于VS2008這個(gè)集成的變成環(huán)境的認(rèn)識(shí)和理解,使得我在以后的編程過程中對(duì)于這些有了很深刻的了解。以上就是我對(duì)于這個(gè)實(shí)驗(yàn)的總結(jié)和我的收獲福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告學(xué)院: 計(jì)算機(jī)與信息學(xué)院 專業(yè): 軟件工程系 年級(jí): 2007 姓名: 陳宇翔 學(xué)號(hào): 070481024 課程名稱: 軟件設(shè)計(jì)與體系結(jié)構(gòu) 實(shí)驗(yàn)時(shí)間: 2009-12-9 實(shí)驗(yàn)室 田實(shí)驗(yàn)室312、313 計(jì)算機(jī)號(hào) 024 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)5:產(chǎn)品族
36、實(shí)踐一、實(shí)驗(yàn)?zāi)康?)初步了解軟件產(chǎn)品線和產(chǎn)品族的概念2)應(yīng)用設(shè)計(jì)模式實(shí)現(xiàn)產(chǎn)品族二、實(shí)驗(yàn)學(xué)時(shí) 2學(xué)時(shí)。三、實(shí)驗(yàn)方法根據(jù)實(shí)驗(yàn)指導(dǎo)書,實(shí)現(xiàn)MVC。四、實(shí)驗(yàn)環(huán)境計(jì)算機(jī)及VS2005。五、實(shí)驗(yàn)內(nèi)容利用抽象工廠模式實(shí)現(xiàn)產(chǎn)品族。六、實(shí)驗(yàn)操作步驟內(nèi)容:利用抽象工廠模式實(shí)現(xiàn)產(chǎn)品族步驟:1)打開VS.NET2005,新建一個(gè)項(xiàng)目,項(xiàng)目類型選擇Windows,模板選擇Windows應(yīng)用程序,名稱為PL_IMPL,選擇好位置,單擊確定。2)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中選擇“類”,名稱為Plant.cs,單擊添加按鈕,并完成如圖1所示的代碼。圖13)同樣方法,添加Garden.CS類,并完成如圖2所示的代碼
37、。圖24)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中選擇“類”,名稱為VeggieGarden.cs,單擊添加按鈕,并完成如圖3所示的代碼。圖35)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中選擇“類”,名稱為MeatGarden.cs,單擊添加按鈕,并完成如圖4所示的代碼。圖46)右擊項(xiàng)目,選擇“添加-新建項(xiàng)”,在模板中選擇“組件類”,名稱為GardenPicture.cs,單擊添加按鈕,并完成如圖5所示的代碼。圖57)單擊菜單,選擇“生成-生成解決方案”,或者按F6。8)展開解決方案資源管理器,將FORM1的Text屬性設(shè)置為:“農(nóng)/牧場(chǎng)主”。9)在工具箱中,展開項(xiàng)目組件(本實(shí)驗(yàn)是PL_IMPL
38、組件),將組件GardenPicture拖入Form1窗體,并設(shè)置BackColor屬性為:ActiveCaptionText;BorderStyle為:Fixed3D;并調(diào)整好大小,見圖6。圖610)從工具箱中,拖放3個(gè)CheckBox和2個(gè)RadioButton,屬性設(shè)置見表1,見圖6。表1控件Name屬性Text屬性CheckBox1ckbCenterCenterCheckBox2ckbBorderBorderCheckBox3ckbShadeShadeRadioButton1rbtnVeggie農(nóng)場(chǎng)RadioButton2rbtnMeat牧場(chǎng)11)選中Form1.cs,單擊解決方案資源管理器中的“查看代碼”圖標(biāo)。12)在Form1類中,完成如圖7所示的代碼。圖713)切換至Form1.cs的設(shè)計(jì)環(huán)境,單擊rbtnVeggie(農(nóng)場(chǎng)單選框),并輸入如下代碼:14)切換至Form1.cs的設(shè)計(jì)環(huán)境,單擊rbtnMeat(牧場(chǎng)單選框),并輸入如下代碼:15)切換至Form1.cs的設(shè)計(jì)環(huán)境,單擊ckbCenter(Center多選框),并輸入如下代碼:16)切換至Fo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 院內(nèi)美化合同協(xié)議書5篇
- 2025年榆林普通貨運(yùn)從業(yè)資格證模擬考試
- 2025年大理貨運(yùn)員初級(jí)考試題庫(kù)
- 2025年高中化學(xué)新教材同步 必修第一冊(cè) 第4章 第3節(jié) 第2課時(shí) 化學(xué)鍵 分子間作用力
- 107-廣播對(duì)講系統(tǒng)
- 空間環(huán)境監(jiān)測(cè)系統(tǒng)產(chǎn)業(yè)分析報(bào)告
- 個(gè)人汽車公用租賃合同范本
- 勞務(wù)派遣住宿合同范本
- 中學(xué)化學(xué)教學(xué)工作總結(jié)
- 個(gè)人自查自糾整改報(bào)告
- 林規(guī)發(fā)〔2016〕58號(hào)防護(hù)林造林工程投資估算指標(biāo)
- 非公開發(fā)行公司債券的法律意見書模版
- 汽車空調(diào)技術(shù)與維修教案
- 城市軌道交通乘客服務(wù)課件(完整版)
- 圍手術(shù)期肺部感染
- 北師大版語(yǔ)文選修《蕭蕭》ppt課件1
- 大學(xué)生職業(yè)素養(yǎng)課件-5第五單元學(xué)會(huì)有效溝通-PPT課件
- 煤礦2021年重大安全風(fēng)險(xiǎn)分析預(yù)判防控報(bào)告全文
- 《傷逝》_魯迅課件__大學(xué)語(yǔ)文(基礎(chǔ)教育)
- 《談骨氣》課文閱讀(共2頁(yè))
- 高考成績(jī)證明模板
評(píng)論
0/150
提交評(píng)論