架構設計-策略與過程課件_第1頁
架構設計-策略與過程課件_第2頁
架構設計-策略與過程課件_第3頁
架構設計-策略與過程課件_第4頁
架構設計-策略與過程課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

架構設計:策略與過程溫昱wenyu@架構設計:策略與過程溫昱1議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道2思考:C++語言的細節思考:C++語言的細節3思考:C++語言與分而治之思考:C++語言與分而治之4思考:動態場景思考:動態場景5分而治之的兩種方式分而治之的兩種方式6議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道7軟件開發(黑盒)軟件開發(黑盒)8功能vs.結構功能vs.結構9軟件開發(灰盒)軟件開發(灰盒)10架構設計不僅關心結構“力量是一種關系。”結構是否適應功能?架構設計不僅關心結構“力量是一種關系。”結構是否適應功能?11架構的位置完成從功能到結構的轉換架構的位置完成從功能到12原來如此原來如此13架構在生命周期中的作用架構在生命周期中的作用14議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道15策略1:全面認識需求真正重視非功能需求之后,需求空間平面被“拉”成了立方體。策略1:全面認識需求真正重視非功能需求之后,需求空間平面被“16需求層次論需求層次論17需求層次論來源:《SoftwareRequirements》需求層次論來源:《SoftwareRequirements18付諸實踐建立自己的、多維的、Checklist式的“需求分類圖譜”。實用!付諸實踐建立自己的、多維的、實用!19策略2:關鍵需求決定架構是防守,更是進攻!防守:務實,甚至不得已進攻:為了更好的架構策略2:關鍵需求決定架構是防守,更是進攻!20從功能到結構來源:IvarJacobson從功能到結構來源:IvarJacobson21“關鍵需求決定架構”的原因來源:IvarJacobson“關鍵需求決定架構”的原因來源:IvarJacobson22付諸實踐

organizedocumentsprocessmakeadiagramexplaintechnicalwriterretrievedocumentsaccesstoFVSdetectconflictsaccesstoPVSdetectloadbalanceexaminedeliberationssend/receiveane-mailparticipantscoordinatorprogrammeranalystdesigneranalystdesignerFVSFVSIFsourcesdiagramsCVSlogdetectdetectIFPVSoperateoperatePVSIFloadanalyzeanalyzedetectIFmailsextractsummarydetectstructuredeliberationthreadsexamineIFexaminemailIFsendreceivemakemakeIFrecordexplanationrecordIFprocessIFprocessProcessedorganizeIForganizedocumentsinXMLretrieveretrieveIFconflicts來源:KoichiroOchimizu付諸實踐organizeprocessmakeaexp23特別提醒不同時期,劃分需求重要等級的尺度不同!特別提醒不同時期,劃分需求重要等級的尺度不同!24策略3:多視圖探尋架構著名的4+1視圖……可根據情況增減……策略3:多視圖探尋架構著名的4+1視圖……254+1視圖4+1視圖26概念圖概念圖27上下文圖(數據流圖語法)上下文圖(數據流圖語法)28上下文圖(UseCase語法)上下文圖(UseCase語法)29策略4:盡早驗證架構驗證架構的技術可分為兩種:原型法(RUP稱為可執行架構)框架化(FrameworkFirst)策略4:盡早驗證架構驗證架構的技術可分為兩種:30原型法原型法31可執行架構RUP中的可執行架構(executablearchitecture),即垂直進化原型。可執行架構RUP中的可執行架構(executablearc32架構框架化CommonspotHotspotFramework多種分類方法:技術框架業務框架(針對不同領域)白盒框架(玻璃盒為特例)黑盒框架灰盒框架ApplicationFrameworkMiddlewareFrameworkInfrastructureFramework垂直框架水平框架架構框架化CommonspotHotspotFramew33總結:架構設計策略全面認識需求關鍵需求決定架構多視圖探尋架構盡早驗證架構總結:架構設計策略全面認識需求34議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道35架構分析架構分析36架構設計架構設計37謝謝大家!謝謝大家!38架構設計:策略與過程溫昱wenyu@架構設計:策略與過程溫昱39議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道40思考:C++語言的細節思考:C++語言的細節41思考:C++語言與分而治之思考:C++語言與分而治之42思考:動態場景思考:動態場景43分而治之的兩種方式分而治之的兩種方式44議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道45軟件開發(黑盒)軟件開發(黑盒)46功能vs.結構功能vs.結構47軟件開發(灰盒)軟件開發(灰盒)48架構設計不僅關心結構“力量是一種關系。”結構是否適應功能?架構設計不僅關心結構“力量是一種關系。”結構是否適應功能?49架構的位置完成從功能到結構的轉換架構的位置完成從功能到50原來如此原來如此51架構在生命周期中的作用架構在生命周期中的作用52議程分而治之之道架構在軟件開發中的“位置”架構設計策略架構設計過程議程分而治之之道53策略1:全面認識需求真正重視非功能需求之后,需求空間平面被“拉”成了立方體。策略1:全面認識需求真正重視非功能需求之后,需求空間平面被“54需求層次論需求層次論55需求層次論來源:《SoftwareRequirements》需求層次論來源:《SoftwareRequirements56付諸實踐建立自己的、多維的、Checklist式的“需求分類圖譜”。實用!付諸實踐建立自己的、多維的、實用!57策略2:關鍵需求決定架構是防守,更是進攻!防守:務實,甚至不得已進攻:為了更好的架構策略2:關鍵需求決定架構是防守,更是進攻!58從功能到結構來源:IvarJacobson從功能到結構來源:IvarJacobson59“關鍵需求決定架構”的原因來源:IvarJacobson“關鍵需求決定架構”的原因來源:IvarJacobson60付諸實踐

organizedocumentsprocessmakeadiagramexplaintechnicalwriterretrievedocumentsaccesstoFVSdetectconflictsaccesstoPVSdetectloadbalanceexaminedeliberationssend/receiveane-mailparticipantscoordinatorprogrammeranalystdesigneranalystdesignerFVSFVSIFsourcesdiagramsCVSlogdetectdetectIFPVSoperateoperatePVSIFloadanalyzeanalyzedetectIFmailsextractsummarydetectstructuredeliberationthreadsexamineIFexaminemailIFsendreceivemakemakeIFrecordexplanationrecordIFprocessIFprocessProcessedorganizeIForganizedocumentsinXMLretrieveretrieveIFconflicts來源:KoichiroOchimizu付諸實踐organizeprocessmakeaexp61特別提醒不同時期,劃分需求重要等級的尺度不同!特別提醒不同時期,劃分需求重要等級的尺度不同!62策略3:多視圖探尋架構著名的4+1視圖……可根據情況增減……策略3:多視圖探尋架構著名的4+1視圖……634+1視圖4+1視圖64概念圖概念圖65上下文圖(數據流圖語法)上下文圖(數據流圖語法)66上下文圖(UseCase語法)上下文圖(UseCase語法)67策略4:盡早驗證架構驗證架構的技術可分為兩種:原型法(RUP稱為可執行架構)框架化(FrameworkFirst)策略4:盡早驗證架構驗證架構的技術可分為兩種:68原型法原型法69可執行架構RUP中的可執行架構(executablearchitecture),即垂直進化原型。可執行架構RUP中的可執行架構(executablearc70架構框架化CommonspotHotspotFramework多種分類方法:技術框架業務框架(針對不同領域)白盒框架(玻璃盒為特例)黑盒框架灰盒框架ApplicationFrameworkMiddlewar

溫馨提示

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

評論

0/150

提交評論