版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-.z.課程設(shè)計(綜合實驗)報告(2015--2016年度第二學期)名稱:課程設(shè)計題目:軟件體系構(gòu)造設(shè)計與分析院系:計算機系班級:學號:學生姓名:〔你的簽名〕指導教師:王曉輝廖爾崇設(shè)計周數(shù):〔1周〕成績:日期:2016年6月19日一、課程設(shè)計(綜合實驗)的目的與要求軟件體系構(gòu)造是軟件工程專業(yè)的專業(yè)必修課。軟件體系構(gòu)造是軟件工程方法學的一個分支,開設(shè)本課程的目的是使學生在了解了軟件工程根底原理、方法、過程的根底上進一步掌握軟件構(gòu)造設(shè)計的根本理論和方法,培養(yǎng)設(shè)計軟件構(gòu)造的根本能力。本課程的根本內(nèi)容包括軟件體系構(gòu)造的根本概念、開展現(xiàn)狀、軟件體系構(gòu)造風格、傳統(tǒng)的軟件體系構(gòu)造、現(xiàn)代軟件體系構(gòu)造等。本課程實驗的目標是培養(yǎng)學生的根底編程能力,其培養(yǎng)目標是程序員;軟件工程課程使學生上升到軟件系統(tǒng)的認識,其培養(yǎng)目標是軟件工程師。本課程教學內(nèi)容屬于軟件工程的概要設(shè)計階段的方法學,其培養(yǎng)目標是軟件架構(gòu)師。 要求完成實驗指導書的實驗一~實驗五〔驗證性實驗〕,實驗九~實驗十一〔設(shè)計綜合性實驗〕。二、設(shè)計〔實驗〕正文實驗一經(jīng)典軟件體系構(gòu)造風格(一)〔1〕概念:管道-過濾器模式的體系構(gòu)造是面向數(shù)據(jù)流的軟件體系構(gòu)造。它最典型的應(yīng)用是在編譯系統(tǒng)。一個普通的編譯系統(tǒng)包括詞法分析器,語法分析器,語義分析與中間代碼生成器,優(yōu)化器,目標代碼生成器等一系列對源程序進展處理的過程。人們可以將編譯系統(tǒng)看作一系列過濾器的連接體,按照管道-過濾器的體系構(gòu)造進展設(shè)計。此外,這種體系構(gòu)造在其它一些領(lǐng)域也有廣泛的應(yīng)用。因此它成為軟件工程和軟件開發(fā)中的一個突出的研究領(lǐng)域。〔2〕體系構(gòu)造:過濾器過濾器管道〔3〕流程圖開場receiver開場receiver啟動sender啟動receiver啟動sender啟動receiver判斷緩沖區(qū)非空否判斷緩沖區(qū)非空是緩沖區(qū)是否有數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù)否阻塞read()是阻塞read()讀取數(shù)據(jù)讀取數(shù)據(jù)完畢完畢2.數(shù)據(jù)抽象和面向?qū)ο筌浖w系構(gòu)造〔體驗繼承構(gòu)造〕(1)概念:面向?qū)ο缶幊淌且环N計算機編程架構(gòu)。OOP的一條根本原則是計算機程序是由單個能夠起到子程序作用的單元或?qū)ο蠼M合而成。OOP到達了軟件工程的三個主要目標:重用性、靈活性和擴展性。為了實現(xiàn)整體運算,每個對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。(2)體系構(gòu)造模型:對象對象對象對象對象對象過程調(diào)用對象對象對象對象抽象數(shù)據(jù)類型(3)流程圖開場開場輸入數(shù)據(jù)輸入數(shù)據(jù)按照不同類型正方形橢圓矩形圓正方形橢圓矩形圓計算計算輸出結(jié)果輸出結(jié)果完畢完畢本例定義了一個抽象類Graph,并在其中定義了一個抽象的計算面積的函數(shù)Area(),通過子類中的具體圖像以及數(shù)據(jù)來計算。實驗二經(jīng)典軟件體系構(gòu)造風格(二)基于事件的隱式調(diào)用風格概念:基于事件的隱式調(diào)用風格的思想是構(gòu)件不直接調(diào)用一個過程,而是觸發(fā)或播送一個或多個事件。系統(tǒng)中的其它構(gòu)件中的過程在一個或多個事件中注冊,當一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程,這樣,一個事件的觸發(fā)就導致了另一模塊中的過程的調(diào)用。從體系構(gòu)造上說,這種風格的構(gòu)件是一些模塊,這些模塊既可以是一些過程,又可以是一些事件的集合。過程可以用通用的方式調(diào)用,也可以在系統(tǒng)事件中注冊一些過程,當發(fā)生這些事件時,過程被調(diào)用?;谑录碾[式調(diào)用風格的主要特點是事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響。這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過程會被調(diào)用,因此,許多隱式調(diào)用的系統(tǒng)也包含顯式調(diào)用作為構(gòu)件交互的補充形式。優(yōu)點:〔1〕為軟件重用提供了強大的支持。當需要將一個構(gòu)件參加現(xiàn)存系統(tǒng)中時,只需將它注冊到系統(tǒng)的事件中。〔2〕為改良系統(tǒng)帶來了方便。當用一個構(gòu)件代替另一個構(gòu)件時,不會影響到其它構(gòu)件的接口。隱式調(diào)用系統(tǒng)的主要缺點有:〔1〕構(gòu)件放棄了對系統(tǒng)計算的控制。一個構(gòu)件觸發(fā)一個事件時,不能確定其它構(gòu)件是否會響應(yīng)它。而且即使它知道事件注冊了哪些構(gòu)件的構(gòu)成,它也不能保證這些過程被調(diào)用的順序?!?〕數(shù)據(jù)交換的問題。有時數(shù)據(jù)可被一個事件傳遞,但另一些情況下,基于事件的系統(tǒng)必須依靠一個共享的倉庫進展交互。在這些情況下,全局性能和資源管理便成了問題?!?〕既然過程的語義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問題。流程圖:開場開場點擊按鈕點擊按鈕生成點擊按鈕事件生成點擊按鈕事件監(jiān)聽器檢測到事件并響應(yīng)此事件監(jiān)聽器檢測到事件并響應(yīng)此事件按鈕與動作事件是常用控制組件的事件,利用btn.addActionListener()函數(shù)將監(jiān)聽器注冊給了按鈕,并通過actionPerformed()函數(shù)判斷事件是否是點擊按鈕觸發(fā)并產(chǎn)生相應(yīng)的響應(yīng),該函數(shù)會遍歷注冊到按鈕監(jiān)聽器集中的所有對象并回調(diào)方法產(chǎn)生相應(yīng)的響應(yīng)。層次軟件體系構(gòu)造概念:層次構(gòu)造是一種操作系統(tǒng)的組織構(gòu)造,其提供了一種隔離操作系統(tǒng)各層功能的模型,是根據(jù)信息的類型、級別、優(yōu)先級等劃分并按照特定的規(guī)則排列的一群硬件或軟件工程。最大特點就是將一個大型復(fù)雜的系統(tǒng)分解成假設(shè)干單向依賴的層次,即每一層都提供一組功能且這些功能只依賴該層以內(nèi)的的各層。體系構(gòu)造:用戶界面層用戶界面層測試工具層測試工具層被測試軟件被測試軟件層說明:每層之間都是有相應(yīng)的過程調(diào)用,而且每層之中也有對應(yīng)的構(gòu)件實驗四MVC風格〔1〕概念:MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示別離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改良和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨特的開展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的構(gòu)造中?!?〕上機流程:本實驗需要自行添加CarFiles和CarImages文件夾并向其中添加所需的文件,然后才能運行〔用myeclipse〕。然后是修改了局部代碼〔流程圖下面〕(3)運行流程開場開場輸入信息輸入信息選擇車輛選擇車輛輸如競拍價格并確認輸如競拍價格并確認判斷是否有車輛判斷是否有車輛圖片Cannotfindthefile否Cannotfindthefile是輸出汽車圖片顯示汽車價格輸出汽車圖片顯示汽車價格實驗九C2模式1.概念:C2體系構(gòu)造風格可以概括為:通過連接件綁定在一起的按照一組規(guī)則運作的并行構(gòu)件網(wǎng)絡(luò)。C2風格中的系統(tǒng)組織規(guī)則如下:〔1〕系統(tǒng)中的構(gòu)件和連接件都有一個頂部和一個底部;〔2〕構(gòu)件的頂部應(yīng)連接到*連接件的底部,構(gòu)件的底部則應(yīng)連接到*連接件的頂部,而構(gòu)件與構(gòu)件之間的直接連接是不允許的;〔3〕一個連接件可以和任意數(shù)目的其它構(gòu)件和連接件連接;〔4〕當兩個連接件進展直接連接時,必須由其中一個的底部到另一個的頂部。2.特點:C2風格是最常用的一種軟件體系構(gòu)造風格。從C2風格的組織規(guī)則和構(gòu)造圖中,我們可以得出,C2風格具有以下特點:〔1〕系統(tǒng)中的構(gòu)件可實現(xiàn)應(yīng)用需求,并能將任意復(fù)雜度的功能封裝在一起;〔2〕所有構(gòu)件之間的通訊是通過以連接件為中介的異步消息交換機制來實現(xiàn)的;〔3〕構(gòu)件相對獨立,構(gòu)件之間依賴性較少。系統(tǒng)中不存在*些構(gòu)件將在同一地址空間內(nèi)執(zhí)行,或*些構(gòu)件共享特定控制線程之類的相關(guān)性假設(shè)。2的體系構(gòu)造:4.程序類圖:5.說明:編寫了一個類,能夠直接計算表達式,并能夠?qū)⒂嬎憬Y(jié)果直接發(fā)送給cal,并顯示出來。實驗十黑盒模型1.概念:黑盒模型即倉庫風格,在倉庫風格中,有兩種不同的構(gòu)件:中央數(shù)據(jù)構(gòu)造說明當前狀態(tài),獨立構(gòu)件在中央數(shù)據(jù)存貯上執(zhí)行,倉庫與外構(gòu)件間的相互作用在系統(tǒng)中會有大的變化??刂圃瓌t的選取產(chǎn)生兩個主要的子類。假設(shè)輸入流中*類時間觸發(fā)進程執(zhí)行的選擇,則倉庫是一傳統(tǒng)型數(shù)據(jù)庫;另一方面,假設(shè)中央數(shù)據(jù)構(gòu)造的當前狀態(tài)觸發(fā)進程執(zhí)行的選擇,則倉庫是一黑板系統(tǒng)。黑板系統(tǒng)主要由三局部組成:〔1〕知識源。知識源中包含獨立的、與應(yīng)用程序相關(guān)的知識,知識源之間不直接進展通訊,它們之間的交互只通過黑板來完成?!?〕黑板數(shù)據(jù)構(gòu)造。黑板數(shù)據(jù)是按照與應(yīng)用程序相關(guān)的層次來組織的解決問題的數(shù)據(jù),知識源通過不斷地改變黑板數(shù)據(jù)來解決問題?!?〕控制??刂仆耆珊诎宓臓顟B(tài)驅(qū)動,黑板狀態(tài)的改變決定使用的特定知識。2.依賴關(guān)系圖:小車行走路線函數(shù)代碼:publicvoidmakeNe*tWorkItem(){count++;if(count<MA*_STEP){//控制單獨一個汽車前進//wm.AddANewWork(newWorkItem(1,random.Ne*t(10),0/*random.Ne*t(30)*/));if(wm.cars.Count!=0){if(wm.cars[0].*>=600-a*60&&e==1){wm.AddANewWork(newWorkItem(1,0,0.5*Math.PI));a++;e++;}elseif(wm.cars[0].y>=600-b*60&&e==2){wm.AddANewWork(newWorkItem(1,0,0.5*Math.PI));b++;e++;}elseif(wm.cars[0].*<=c*60&&e==3){wm.AddANewWork(newWorkItem(1,0,0.5*Math.PI));c++;e++;}elseif(wm.cars[0].y<=d*60&&e==4){wm.AddANewWork(newWorkItem(1,0,0.5*Math.PI));d++;e=1;}else{wm.AddANewWork(newWorkItem(1,0,0));}代碼分析:一開場小車的坐標為〔0,0〕,小車的加速度為0,改變小車方向的函數(shù)與小車的坐標有關(guān),即wm.cars[0].*>=600-a*60等,小車的方向變量為e,每次當e變化時他的行走方向就改變0.5*π,即wm.AddANewWork(newWorkItem(1,0,0.5*Math.PI)),并且每次改變方向,他改變方向前所行走距離都會減少60,這樣逐漸縮小他探索路線的圈的范圍,最終探索全部區(qū)域。實驗十一SOA模式1.概念:面向效勞的體系構(gòu)造〔SOA〕是一個組件模型,它將應(yīng)用程序的不同功能單元〔稱為效勞〕通過這些效勞之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進展定義的,它應(yīng)該獨立于實現(xiàn)效勞的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的效勞可以以一種統(tǒng)一和通用的方式進展交互。它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進展分布式部署、組合和使用。效勞層是SOA的根底,可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。2.優(yōu)勢:對SOA的需要來源于需要使業(yè)務(wù)IT系統(tǒng)變得更加靈活,以適應(yīng)業(yè)務(wù)中的改變。通過允許強定義的關(guān)系和依然靈活的特定實現(xiàn),IT系統(tǒng)既可以利用現(xiàn)有系統(tǒng)的功能,又可以準備在以后做一些改變來滿足它們之間交互的需要。3.特征:SOA的實施具有幾個鮮明的根本特征。實施SOA的關(guān)鍵目標是實現(xiàn)企業(yè)IT資產(chǎn)的最大化作用。要實現(xiàn)這一目標,就要在實施SOA的過程中牢記以下特征:可從企業(yè)外部訪問,隨時可用,粗粒度的效勞接口分級,松散耦合可重用的效勞,效勞接口設(shè)計管理,標準化的效勞接口,支持各種消息模式,準確定義的效勞契約。程序構(gòu)造:開場開場用戶輸入需要查詢的城市,點擊確認按鈕用戶輸入需要查詢的城市,點擊確認按鈕按照網(wǎng)站發(fā)起web效勞adress查詢請求按照網(wǎng)站發(fā)起web效勞adress查詢請求網(wǎng)站效勞器反應(yīng)給程序當?shù)氐奶鞖庑畔⒕W(wǎng)站效勞器反應(yīng)給程序當?shù)氐奶鞖庑畔⒊绦蚝Y選出需要的信息并顯示到用戶界面程序篩選出需要的信息并顯示到用戶界面完畢完畢三、課程設(shè)計〔綜合實驗〕總結(jié)或結(jié)論通過本次實驗,我對于軟件體系構(gòu)造的理解進一步加深,同時也了解到自己與其他人之間的差距,非常感謝實驗過程中教師的悉心教誨,讓我能夠完成這次實驗設(shè)計,下面請允許
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工地物料質(zhì)量保障體系方案
- 熱力管道焊接工藝方案
- 控煙工作活動方案
- 制造企業(yè)安全生產(chǎn)風險控制方案
- 小學數(shù)學綜合實踐活動方案模板
- 科學課程作息時間表教學設(shè)計方案
- 2025年江西省直機關(guān)遴選公務(wù)員面試真題帶題目詳解及答案
- 員工培訓方案制定與實施技巧
- (2025年)腫瘤出科試題及答案
- 工地環(huán)境污染治理實施方案
- DB34T 1948-2013 建設(shè)工程造價咨詢檔案立卷標準
- 鋼鐵制造的工藝流程(內(nèi)部資料)課件
- DB31-T 1448-2023 監(jiān)獄場所消防安全管理規(guī)范
- 公司干部調(diào)研方案
- 無糾紛自愿離婚協(xié)議書
- 四川省高等教育自學考試畢業(yè)生登記表【模板】
- 專題五 以新發(fā)展理念引領(lǐng)高質(zhì)量發(fā)展
- GB/T 22417-2008叉車貨叉叉套和伸縮式貨叉技術(shù)性能和強度要求
- GB/T 20145-2006燈和燈系統(tǒng)的光生物安全性
- GB/T 1.1-2009標準化工作導則 第1部分:標準的結(jié)構(gòu)和編寫
- 長興中學提前招生試卷
評論
0/150
提交評論