軟件=業(yè)務(wù)架構(gòu)流程組織課件_第1頁
軟件=業(yè)務(wù)架構(gòu)流程組織課件_第2頁
軟件=業(yè)務(wù)架構(gòu)流程組織課件_第3頁
軟件=業(yè)務(wù)架構(gòu)流程組織課件_第4頁
軟件=業(yè)務(wù)架構(gòu)流程組織課件_第5頁
已閱讀5頁,還剩161頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、參考商業(yè)架構(gòu)架構(gòu)軟件軟件組織組織過程過程模型驅(qū)動開發(fā)平臺模型驅(qū)動開發(fā)平臺參考內(nèi)容參考內(nèi)容eXpressApp Framework技術(shù)架構(gòu)思想Mendix初始細(xì)化一Sprint1Sprint2Product BacklogSprint Backlog參考Composite WPFCSLA其他信息系統(tǒng)架構(gòu)商業(yè)軟件MetaEdit+組織個人團隊個人個人團隊團隊組織組織模型驅(qū)動開發(fā)平臺OpenExpressApp platform 產(chǎn)品線/產(chǎn)品族產(chǎn)品設(shè)計周金根周金根2010-2-28 軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider軟件軟件The slides after this

2、divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件軟件商業(yè)組織流程架構(gòu)架構(gòu)軟件業(yè)務(wù)架構(gòu)流程組織原創(chuàng)故事:不死雞和不死牛的故事原創(chuàng)故事:不死雞和不死牛的故事軟件業(yè)務(wù)架構(gòu)流程組織為什么不死?永不消失的需求需求,如同軟件項目一樣,今天完成了,明天又有新需求。普通雞牛和不死雞牛代表什么,有什么區(qū)別? 普通不死 項目項目(一次性) 產(chǎn)品產(chǎn)品(持續(xù)性)雞牛 單個產(chǎn)品單個產(chǎn)品 產(chǎn)品線產(chǎn)品線/產(chǎn)

3、品族產(chǎn)品族要雞還是牛?目標(biāo)階段策略不同,方法不同軟件業(yè)務(wù)架構(gòu)流程組織BAPO模型覆蓋了軟件工程的主要關(guān)注點。這四個關(guān)注點(商業(yè)、架構(gòu)、流程和組織)成為了FEF的四個評估維度。每個維度有五個級別,并且有三到四個方面。軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider商業(yè)商業(yè)The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in t

4、he deck.軟件業(yè)務(wù)架構(gòu)流程組織業(yè)務(wù)領(lǐng)先模型業(yè)務(wù)領(lǐng)先模型軟件業(yè)務(wù)架構(gòu)流程組織麥肯錫麥肯錫7S模型模型以7S架構(gòu)建立的組織,有助于提升效率。7S包括:策略規(guī)劃(strategy)、制度建立(system)、員工選擇(staff)3個硬技巧,和 共同愿景(shared value)、抽象架構(gòu)(structure)、技巧培養(yǎng)(skill)、企業(yè)文化建立(style)4個軟技巧。軟件業(yè)務(wù)架構(gòu)流程組織產(chǎn)品生命周期產(chǎn)品生命周期在產(chǎn)品開發(fā)期間該產(chǎn)品銷售額為零,公司投資不斷增加;在引進期,銷售緩慢,初期通常利潤偏低或為負(fù)數(shù);在成長期銷售快速增長,利潤也顯著增加;在成熟期利潤在達到頂點后逐漸走下坡路;在衰退

5、期間產(chǎn)品銷售量顯著衰退,利潤也大幅度滑落。如圖所示: 軟件業(yè)務(wù)架構(gòu)流程組織市場生命周期市場生命周期曲線表示細(xì)分市場的生命周期;曲線表示生命周期過程中市場投資水平的變化,這里可以理解為促銷投資水平;曲線表示生命周期過程中盈利水平的變化。從圖中可以看到,生命周期的不同階段,市場環(huán)境及主要營銷指標(biāo)的變化趨勢。軟件業(yè)務(wù)架構(gòu)流程組織波士頓矩陣波士頓矩陣:公司戰(zhàn)略方向指南針公司戰(zhàn)略方向指南針縱軸代表市場成長率、橫軸為市場占有率,將事業(yè)劃分為問題兒童(problem child)、明星(star)、金牛(cash cow)、敗犬(dog)四個象限,是制定事業(yè)策略的有效工具。不同象限的投入資源是不一樣。不同象

6、限的投入資源是不一樣。GE矩陣軟件業(yè)務(wù)架構(gòu)流程組織業(yè)務(wù)戰(zhàn)略矩陣產(chǎn)品客戶地域需求目標(biāo)市目標(biāo)市場業(yè)務(wù)場業(yè)務(wù)范圍范圍1、客戶、客戶:2、需求、需求:3、地域、地域:4、產(chǎn)品、產(chǎn)品:目標(biāo)市目標(biāo)市場定位場定位1、現(xiàn)階段定位:機會尋找、現(xiàn)階段定位:機會尋找者者2、產(chǎn)品生命周期:產(chǎn)品導(dǎo)入、產(chǎn)品生命周期:產(chǎn)品導(dǎo)入期期3、市場生命周期:市場、市場生命周期:市場成熟期成熟期軟件業(yè)務(wù)架構(gòu)流程組織3C策略策略 制定策略時,心中一定要有3C:企業(yè)自身(company)、競爭對手(competitor)、顧客(customer)。顧客價值競爭者成本差公司價值CorporationCompetitionCustomer在可

7、接受價格下尋求最佳效益軟件業(yè)務(wù)架構(gòu)流程組織技術(shù)采用生命周期:跨越鴻溝軟件業(yè)務(wù)架構(gòu)流程組織XXXSWOTXXXSWOT分析分析SWOT分分析析優(yōu)勢:優(yōu)勢:劣勢:劣勢:機會:機會:威脅:威脅:SWOT分析軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider信息系統(tǒng)架構(gòu)信息系統(tǒng)架構(gòu)The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟

8、件業(yè)務(wù)架構(gòu)流程組織山寨完全自己做完全用別人的架構(gòu)如何產(chǎn)生?組合擴展軟件業(yè)務(wù)架構(gòu)流程組織架構(gòu)是什么?架構(gòu)是針對某種特定目標(biāo)系統(tǒng)的具有體系性的、普遍性的問題而提供的通用的解決方案。架構(gòu)往往是對復(fù)雜系統(tǒng)的一種共性的體系抽象。架構(gòu)讓我們能夠正確、合理地理解、設(shè)計和構(gòu)建復(fù)雜的系統(tǒng)。軟件業(yè)務(wù)架構(gòu)流程組織硬件架構(gòu)圖:軟件架構(gòu)圖:軟件業(yè)務(wù)架構(gòu)流程組織業(yè)務(wù)架構(gòu)領(lǐng)域的組件及主題業(yè)務(wù)架構(gòu)領(lǐng)域的組件及主題業(yè)務(wù)架構(gòu)規(guī)程是關(guān)于業(yè)務(wù)的“工作范圍”,并且描述它是如何運作的。軟件業(yè)務(wù)架構(gòu)流程組織解決方案架構(gòu)規(guī)程的領(lǐng)域及主題解決方案架構(gòu)規(guī)程的領(lǐng)域及主題在信息系統(tǒng)開發(fā)和維護項目中處理應(yīng)用、數(shù)據(jù)、技術(shù)和其他解決方案架構(gòu)形式,具體到實

9、現(xiàn)。軟件業(yè)務(wù)架構(gòu)流程組織企業(yè)架構(gòu)規(guī)程的組件及主題企業(yè)架構(gòu)規(guī)程的組件及主題EA 主題主要用于企業(yè)分析、計劃和架構(gòu)治理。關(guān)鍵的業(yè)務(wù)架構(gòu)主題完整地包含于 EA 規(guī)程之中了。軟件業(yè)務(wù)架構(gòu)流程組織企業(yè)架構(gòu)路線圖示例企業(yè)架構(gòu)路線圖示例企業(yè)架構(gòu)領(lǐng)域原則上的關(guān)注點是企業(yè)范圍內(nèi)的業(yè)務(wù)需求的識別、規(guī)范,及優(yōu)先級劃分。軟件業(yè)務(wù)架構(gòu)流程組織 企業(yè)架構(gòu)企業(yè)架構(gòu)開發(fā)協(xié)會(Institute for Enterprise Architecture Development ,IFEAD)概括出了企業(yè)架構(gòu)規(guī)程的重要指導(dǎo)原則:“沒有戰(zhàn)略眼光,就沒有 EA?!睋Q句話說,今天的企業(yè)架構(gòu)關(guān)系著明天的業(yè)務(wù)系統(tǒng)。 此原則的一個重要方面是企

10、業(yè)架構(gòu)是根據(jù)一個戰(zhàn)略性的企業(yè)眼光結(jié)合業(yè)務(wù)和技術(shù)要素的整體規(guī)程軟件業(yè)務(wù)架構(gòu)流程組織EUP 是 RUP 的擴展,它模仿 RUP 的方法,描述過程工作流和活動,而 FEAF 和 Spewak 都繼承于 Zachman Framework。TOGAF 起源于早期的專有 EA 技術(shù)框架,像 Technical Architecture Framework for Information Management (TAFIM),并構(gòu)建在企業(yè)架構(gòu) ANSI 推薦之上(IEEE 1471-2000)。TOGAF 和 RUP 之間的原則差別是 RUP 是技術(shù)架構(gòu)驅(qū)動的,然而,TOGAF 是業(yè)務(wù)架構(gòu)驅(qū)動的。EA 框

11、架選擇軟件業(yè)務(wù)架構(gòu)流程組織介紹 TOGAF軟件業(yè)務(wù)架構(gòu)流程組織TOGAF 架構(gòu)開發(fā)方法(架構(gòu)開發(fā)方法(Architecture Development Method,ADM)軟件業(yè)務(wù)架構(gòu)流程組織TOGAF 與 RUP 的交匯點軟件業(yè)務(wù)架構(gòu)流程組織TOGAF 和 Zachman Framework雖然 TOGAF 和 Zachman Framework (ZF) 屬于一類“企業(yè)框架”,但是它們在方法、組成,和工作范圍上都有差別。ZF 是結(jié)構(gòu)化的(靜態(tài)的)框架,當(dāng)用作方法及框架的工件和元分析的分析和分類的模型時最有效,而 TOGAF 是過程(動態(tài))框架,還包括使用它們的參考過程模型指導(dǎo)。盡管有這些

12、基本的差別,我們還是有很大可能一起應(yīng)用這兩種框架: 利用 ZF 作為工件的字典和交付結(jié)構(gòu),將 TOGAF 用作工件交付過程 用 ZF 設(shè)置轉(zhuǎn)換 TOGAF 和其他解決方案方法之間的工件,例如,RUP 和/或 IT Infrastructure Library (ITIL) 的結(jié)構(gòu) 在實現(xiàn) TOGAF 過程中或之前,利用 ZF 進行現(xiàn)有企業(yè)過程和業(yè)務(wù)模型的間隙分析 利用 ZF 進行 TOGAF 的元分析,這可能導(dǎo)致對其弱點的確定,以及與其他方法的可能接口。 將 ZF 用作設(shè)計 TOGAF 企業(yè)架構(gòu)模型的助手(TOGAF 階段 B-D)軟件業(yè)務(wù)架構(gòu)流程組織TOGAF 和 EUP雖然 EUP 和 T

13、OGAF 都工作于組織層面上,但是它們的范圍不同。EUP,將 RUP 擴展到企業(yè)級,引入了七個新的規(guī)程 企業(yè)架構(gòu)是其中一個 并對它們的應(yīng)用提供指導(dǎo)。雖然大多數(shù) EUP 規(guī)程工作于組織層,并且作為企業(yè)架構(gòu)過程的輸入,但是 EUP 本質(zhì)上不是企業(yè)架構(gòu)開發(fā)框架。(盡管 EUP 可能在 RUP 的未來實現(xiàn)方面進行變更。)對比 EUP,TOGAF 只關(guān)注企業(yè)架構(gòu)規(guī)程。從一開始就期望,并將其創(chuàng)建為企業(yè)架構(gòu)實現(xiàn)的框架。盡 管 EUP 和 TOGAF 在視角上有差別,但是 EUP 所引入的規(guī)程對企業(yè)架構(gòu)實現(xiàn)非常重要。舉例來說,企業(yè)業(yè)務(wù)建模(Enterprise Business Modeling)對于對現(xiàn)有業(yè)

14、務(wù)過程的“構(gòu)架”變更來說是有幫助的,而投資組合管理(Portfolio Management)是企業(yè)架構(gòu)師分析潛能,并監(jiān)控(或 EA 術(shù)語中的治理)正在進行的實現(xiàn)的“必用”工具。軟件業(yè)務(wù)架構(gòu)流程組織TOGAF 實現(xiàn)路線圖實現(xiàn)路線圖對成功的 EA 實現(xiàn)的其他潛在威脅包括缺乏用于獲取并管理 EA 工件的標(biāo)準(zhǔn)工具,并且缺乏標(biāo)準(zhǔn)標(biāo)記符。軟件業(yè)務(wù)架構(gòu)流程組織EA:軟件業(yè)務(wù)架構(gòu)流程組織EA Notation:軟件業(yè)務(wù)架構(gòu)流程組織理解架構(gòu):一組類比理解1:高樓大廈是由鋼筋、水泥和磚塊構(gòu)成。:高樓大廈是由鋼筋、水泥和磚塊構(gòu)成。理解2:信息系統(tǒng)是由數(shù)據(jù)和代碼構(gòu)成。:信息系統(tǒng)是由數(shù)據(jù)和代碼構(gòu)成。理解1:高樓大廈是

15、由一個個樓層、一個個房間構(gòu)成。:高樓大廈是由一個個樓層、一個個房間構(gòu)成。理解2:信息系統(tǒng)是由一個個模塊、一個個對象和組件構(gòu)成。:信息系統(tǒng)是由一個個模塊、一個個對象和組件構(gòu)成。答案1:高樓大廈是由支撐框架、管道系統(tǒng)、強弱電系統(tǒng)、給排水系:高樓大廈是由支撐框架、管道系統(tǒng)、強弱電系統(tǒng)、給排水系統(tǒng)統(tǒng)等構(gòu)成。等構(gòu)成。答案2:信息系統(tǒng)是由組織機構(gòu)、業(yè)務(wù)流程、業(yè)務(wù)功能、業(yè)務(wù)信息:信息系統(tǒng)是由組織機構(gòu)、業(yè)務(wù)流程、業(yè)務(wù)功能、業(yè)務(wù)信息等構(gòu)成。等構(gòu)成。軟件業(yè)務(wù)架構(gòu)流程組織業(yè)務(wù)架構(gòu)信息架構(gòu)技術(shù)架構(gòu)軟件業(yè)務(wù)架構(gòu)流程組織業(yè)務(wù)流程梳理業(yè)務(wù)流程梳理至頂而下的對企業(yè)業(yè)務(wù)進行層層梳理,確保企業(yè)核心價值鏈在您的梳理分析下不失真、不

16、偏離。第一層:企業(yè)流程地圖(使用EVC價值增值鏈法) 第二層:企業(yè)流程區(qū)域(使用EVC價值增值鏈法) 第三層:主流程(使用EPC事件過程鏈) 第四層:子流程(使用EPC事件過程鏈) 第五層:活動(使用活動元素來描述) 軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織企業(yè)價值增值鏈圖企業(yè)價值增值鏈圖(EVC)軟件業(yè)務(wù)架構(gòu)流程組織企業(yè)事件過程鏈圖企業(yè)事件過程鏈圖(EPC)軟件業(yè)務(wù)架構(gòu)流程組織系統(tǒng)1子系統(tǒng)1模塊1根對象子對象1子對象2子對象3模塊2子系統(tǒng)2模塊3系統(tǒng)劃分粒度系統(tǒng)1子系統(tǒng)1模塊1根對象子對象1子對象2子對象3模塊2子系統(tǒng)2模塊3系統(tǒng)1系統(tǒng)2軟件業(yè)務(wù)架構(gòu)流程組織架構(gòu)是藍(lán)圖,是

17、從整體到部分的最高層次的劃分軟件業(yè)務(wù)架構(gòu)流程組織架構(gòu)是關(guān)注點分離軟件業(yè)務(wù)架構(gòu)流程組織架構(gòu)是一種權(quán)衡用友U9產(chǎn)品SOA設(shè)計架構(gòu)遭技術(shù)質(zhì)疑可擴展性可繼承性性能安全可用性可維護性易用性軟件業(yè)務(wù)架構(gòu)流程組織架構(gòu)可以先不做,但一定要先想瓦薩戰(zhàn)艦的故事軟件業(yè)務(wù)架構(gòu)流程組織架構(gòu)是持續(xù)完善的軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider參考參考The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide

18、 to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織最低的價格最快的速度最高的質(zhì)量可持續(xù)的爭競優(yōu)勢:軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織開發(fā)方法?可維護?定制化能力?開發(fā)效率?產(chǎn)品質(zhì)量?MetaEdit+The key benefits of this approach are: Productivity increases by a factor of 5-10: Shorter time to market Developers can concentrate on features and design instead of writing code man

19、ually Product quality improves significantly Full control over both modeling and code generation軟件業(yè)務(wù)架構(gòu)流程組織Domain-Specific ModelingMetacase: The worlds leading supplier of Domain-Specific Modeling (DSM) environments. 軟件業(yè)務(wù)架構(gòu)流程組織.NET Application Framework - DevExpress eXpressApp FrameworkThe fastest wa

20、y to platform independent business applications Feature Details Architecture XPO The UI Model Modularized Architecture Base Class Library Role-based Security Data Validation Localization Reporting Visual Studio IDE Integration 軟件業(yè)務(wù)架構(gòu)流程組織Component-based, Scalable Logical Architecturea software develo

21、pment framework that helps you build a powerful, maintainable business logic layer for Windows, Web, service-oriented and workflow applications. CSLA .NET enables you to create an object-oriented business layer that abstracts and encapsulates your business logic and data. CSLA .NET includes a techno

22、logy-neutral client/server abstraction, allowing you to build your application and then decide at deployment whether to use 2-tier or 3-tier client/server (and 4-tier with Silverlight). CSLA is the result of over 12 years worth of research and development. The .NET implementation of CSLA was started

23、 in 1999, and development continues today, with the addition of CSLA .NET for Silverlight and upcoming support for Silverlight 3.0 and Microsoft .NET 4.0.軟件業(yè)務(wù)架構(gòu)流程組織潤乾報表 類類 Excel 報表設(shè)計模型報表設(shè)計模型 非線性報表模型非線性報表模型 多源填報模型多源填報模型 強關(guān)聯(lián)語義模型強關(guān)聯(lián)語義模型軟件業(yè)務(wù)架構(gòu)流程組織Mendix軟件業(yè)務(wù)架構(gòu)流程組織NovuloModel Driven Development (MDD) plat

24、forms 軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider技術(shù)架構(gòu)思想技術(shù)架構(gòu)思想The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織基于單項目開發(fā)基于單項目開發(fā) 基于產(chǎn)品線開發(fā)基于產(chǎn)品線開發(fā)軟件業(yè)務(wù)架構(gòu)流程組織以獨立技術(shù)為中心以獨立技術(shù)為中心 以業(yè)務(wù)集成平臺為中心以業(yè)務(wù)集成平臺為中心軟件業(yè)務(wù)架構(gòu)流程組

25、織代碼代碼 模型模型軟件業(yè)務(wù)架構(gòu)流程組織業(yè)務(wù)和IT的鴻溝軟件業(yè)務(wù)架構(gòu)流程組織已有的業(yè)務(wù)模型軟件業(yè)務(wù)架構(gòu)流程組織 /添加過濾條件 oSQLInfo := ASubModelInfo.Items0.SQLInfosASubModelInfo.Items0.SQLInfos.IndexOf(oReportMXEntity.Name); oSQLInfo.SQL := oSQLInfo.SQL + Format( Where %0:s.%2:s In ( + select %2:s from %3:s where %5:s and + Exists(Select * from #OrgIDs wher

26、e #OrgIDs.OrgID=%3:s.OrgID) Order By %6:s, oReportMXEntity.Name, sFromClause, oReportEntity.IdentityEntityProperty.Name, oReportEntity.Name, GetFieldClause, GetDateFilterStr, GetOrderByStr); iTBType := Model.Databases0.FindTable(Report).Locate(ReportID, CurrentRecord.AsIntegerReportID).AsIntegerTBTy

27、pe; oCreatedRecordList := OrgReportTable.CreateRecordList(Format( (OrgID=%d) and (ReportID.ReportPID.Type=%d) and (ReportPID=%d) or + (ReportID.Type=%d) and (ReportID=%d) and (BrowserType=%d), CurrentRecord.AsIntegerOrgID, CurrentRecord.AsIntegerType, CurrentRecord.AsIntegerReportID,CurrentRecord.As

28、IntegerType, CurrentRecord.AsIntegerReportID,iTBType);Create table #Report(ReportID int) INSERT INTO #ReportSelect Report.ReportID from Report LEFT JOIN ReportOrgON Report.ReportID=ReportOrg.ReportIDwhere Report.OrgID IS NULL or ReportOrg.OrgID IN(Select OrgID from GetUserOrgRight(UserID)and (BasicF

29、ilter_OrgID IS NULL or Report.OrgID=BasicFilter_OrgID)and (BasicFilter_Type IS NULL or Report.Type=BasicFilter_Type)and (BasicFilter_Name IS NULL or Report.Name like '%'+BasicFilter_Name+'%')and (BasicFilter_BZRID_MC IS NULL or Exists(Select * from User where User

30、.UserID=Report.BZRID and User.Name like '%'+BasicFilter_BZRID_MC+'%') Select Report.* from Report where ReportID in (Select ReportID from #Report) Serializable Table DefaultObject(Catalog = 指標(biāo)管理), Label(項目信息) public class Project : GBusinessBase Required, IsTitle,

31、 ShowInList, ShowInDetail, Label(名稱) public string Name get; set; private void DataPortal_Fetch() using (var ctx = ConnectionManager.GetManager(BusinessDBName) IDb db = DbFactory.Instance.GetDb(ctx.Connection); IQuery q = db.Query(); var list = db.Select(q); foreach (var item in list) this.Add(Proje

32、ct.GetLazy(item.Id); public void CalcProjectCostIndicator() ProjectCostIndicatorList pcIndicators = ProjectCostIndicatorList.GetListByProjectId(project.Id, budgetType); foreach (ProjectCostIndicator item in pcIndicators) item.TotalCost = GetTotalCost(Guid)item.PBSId); (pcIndicators as ISavable).Save

33、() ; 面向數(shù)據(jù)庫開發(fā)面向數(shù)據(jù)庫開發(fā) 面向?qū)ο竺嫦驅(qū)ο筌浖I(yè)務(wù)架構(gòu)流程組織DDD描述DDD時我們強調(diào)的最重要的內(nèi)容有:1. 領(lǐng)域模型歸業(yè)務(wù)代表所有。這就要從業(yè)務(wù)代表的頭腦里抽象概念,并將這些概念嵌入到軟件中,而不能從軟件的角度思考,并試圖影響業(yè)務(wù)代表。2. 技術(shù)團隊是關(guān)鍵的利益相關(guān)者。我們將圍繞具體細(xì)節(jié)據(jù)理力爭。一致的語言、實體、值對象、服務(wù)、資源庫在規(guī)劃階段利用DDD時我們使用的兩個重要原則是:1. 領(lǐng)域模型歸屬于業(yè)務(wù):這意味著技術(shù)團隊的關(guān)鍵角色是聆聽并理解,而不是解釋什么可能、什么不可能。需求抽象要求將概念性的領(lǐng)域模型映射到具體的功能需求上,并在存在不匹配的地 方對業(yè)務(wù)代表提出異議或進行

34、詢問。接著,存在不匹配的地方要么改變領(lǐng)域模型,要么在更高層次上解決功能需求(“你想用此功能達成什么效果?”)。2. 領(lǐng)域模型需要一個權(quán)威的業(yè)務(wù)源:軟件業(yè)務(wù)架構(gòu)流程組織不同復(fù)用層次不同復(fù)用層次思想思想軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider模型驅(qū)動開發(fā)平臺模型驅(qū)動開發(fā)平臺OpenExpressApp platform The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to

35、 any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織沒有創(chuàng)新性的技術(shù),更多的揉合現(xiàn)有技術(shù)和產(chǎn)品中有價值的部分,通過借鑒和整合別人已經(jīng)實踐的方法來提高我們自身的開發(fā)能力。不同于以往為特定開發(fā)角色提供獨立的開發(fā)工具和框架,它基于業(yè)務(wù)模型驅(qū)動開發(fā)指導(dǎo)思想,為業(yè)務(wù)分析人員、軟件設(shè)計和開發(fā)人員提供的一 種集成的開發(fā)平臺提供報表、流程、元數(shù)據(jù)等基礎(chǔ)引擎,具有業(yè)務(wù)建模、領(lǐng)域建模和應(yīng)用建模等模型,并提供權(quán)限、報表等多個通用應(yīng)用模塊。為了支持軟件開 發(fā),還提供基于敏捷思想的軟件項目管理工具、快速原型工具和測試等工具支持。軟件業(yè)務(wù)架構(gòu)流程組織測試測試OpenExpressAppOpenStud

36、io 流程建模流程建模領(lǐng)域建模領(lǐng)域建模項目管理項目管理原型原型UI建模建模EA建模建模OpenToolReportWorkflowMetaEditOpenEngineOpenModule組織權(quán)限組織權(quán)限報表報表審批審批模塊導(dǎo)航模塊導(dǎo)航軟件業(yè)務(wù)架構(gòu)流程組織第一階段主要工作:現(xiàn)在主要做OpenExpressApp框架,已開始在項目中應(yīng)用?,F(xiàn)階段實現(xiàn)主要是基于C/S分布式,參考了ExpressApp Framework(應(yīng)用框架),使用了CSLA作為分布式業(yè)務(wù)對象框架,Composite WPF作為UI框架,還使用了其他一些代碼(如 LiteORM、Flee等)。支持C/S后續(xù)階段主要工作:Open

37、MetaEdit(參考MetaEdit+) OpenReport(參考潤乾報表) OpenWorkflow(使用微軟的WF) OpenStudio(基于OpenExpressApp開發(fā),參考Mendix、Novulo) OpenTool(基于OpenExpressApp開發(fā))軟件業(yè)務(wù)架構(gòu)流程組織UI業(yè)務(wù)層數(shù)據(jù)層OpenORM類庫類庫CSLA應(yīng)用模型WPFASP.Net MVCOpenExpressApp運行期自動生成運行期自動生成Command特定應(yīng)用特定應(yīng)用軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividerMendi

38、xThe slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividereXpressApp FrameworkThe slides after this divider will be grouped into a section a

39、nd given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividerComposite WPFThe slides after this divider will be grouped into a section and given the label you type above. Feel free to move this sl

40、ide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividerCSLAThe slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織Basic Design Goals Validation and maintaining a list of b

41、roken business rules Standard implementation of business and validation rules Tracking whether an objects data has changed (is it “dirty”?) Integrated authorization rules at the object and property levels Strongly typed collections of child objects (parent-child relationships) N-level undo capabilit

42、y A simple and abstract model for the UI developer Full support for data binding in WPF, Windows Forms, and Web Forms Saving objects to a database and getting them back again Custom authentication Other miscellaneous features軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividerMetaEdit+The slides after this d

43、ivider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織MetametamodelObjectRoleRelationshipMetamodelObject XObject YModelInstanceOfSystem in operationCustomer instanceInstanceOfObject X ”customer”InstanceOfRelations

44、hip instanceInstanceOfn GOPRRn Method(ology)ConceptsRulesSymbolsReportsn Product specificationsPropertyGraphModel architecture in MetaEdit+Object Y ”name”軟件業(yè)務(wù)架構(gòu)流程組織91nConceptsGraphObjectPropertyRoleRelationshipnMetaEdit+ has own tool for each metamodeling conceptMetamodeling concepts of GOPRR軟件業(yè)務(wù)架構(gòu)流

45、程組織MetaEdit+ method engineering toolsMetaEdit+ (model)Method Workbench(metamodel)軟件業(yè)務(wù)架構(gòu)流程組織93Apply in software production MetaEdit+ delivers immediately the method to your team (editors, reports, multi-user, multi-platform, etc) Prototype your design; refine and iterate軟件業(yè)務(wù)架構(gòu)流程組織Architecture: integr

46、ated CASE and metaCASEn Windowsn Linuxn Solarisn HP-UXMethod Workbench軟件業(yè)務(wù)架構(gòu)流程組織95ConceptsSymbolsGeneratorsRules1234Steps for implementing DSM軟件業(yè)務(wù)架構(gòu)流程組織961. Design domain concepts Identify domain concepts Map domain concepts accurately to modeling concepts Concentrate on semantics! Enter the concept

47、s in the forms軟件業(yè)務(wù)架構(gòu)流程組織972. Define domain rules Define semantics and rules as they exist in the domain Examples of rule types: Start state may not be directly connected with end state Start state may may be in at most 1 transition relationship State may have substates Actions are reused from class

48、etc.軟件業(yè)務(wù)架構(gòu)流程組織983. Draw symbols (notation) Draw symbols for your concepts with Symbol Editor Graphical behavior in modeling tools is provided automatically Note that symbols are used also in documentation (Word, HTML) and in matrixes軟件業(yè)務(wù)架構(gòu)流程組織994. Implement generators (reports) Reports access concep

49、tual design data in models and generate textual ASCII output (on screen or to files) You may use reports for various purposes: Creating configuration data Generating code Documenting Checking Review etc.軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider其他其他The slides after this divider will be grouped into a section

50、 and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織LiteORMWpf-ContribFleeCaliburnAvalonDockCommandPattern軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section Divider過程過程The slides after this divider will be grouped into a section and given the label you type above. Feel fre

51、e to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織好的過程 具有良好的邊界,提供足夠的結(jié)構(gòu)以指導(dǎo)創(chuàng)新和創(chuàng)造,并控制開發(fā)周期 清晰的定義任務(wù),任務(wù)焦點放在結(jié)果而不是細(xì)節(jié),項目可有效的進行,但仍然可以適用一些非常事件和環(huán)境的變化 為開發(fā)小組負(fù)責(zé)人、項目經(jīng)歷、高層管理者以及客戶提供準(zhǔn)確的金都和狀態(tài)信息,而對開發(fā)人員的時間影響最小 很快會成為習(xí)慣,而不是一系列謹(jǐn)慎的行為。 幫助開發(fā)小組維持質(zhì)量,應(yīng)對復(fù)雜局面 優(yōu)化開發(fā)小組內(nèi)外的溝通 軟件業(yè)務(wù)架構(gòu)流程組織過程是用來改進人們?nèi)绾螀f(xié)同工作的。每個人都有自己的一些過程,每個開發(fā)小組也是如此,無

52、論過程好壞,使之明確清晰是理解發(fā)生了什么事情,明白什么能行,什么行不通的第一步。過程讓人明白自己在干什么,別人在干什么,互相之間有哪些問題和變化,哪些是瓶頸和加速器。軟件業(yè)務(wù)架構(gòu)流程組織Process Map軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織 敏捷是為了快速響應(yīng)需求變化和降低風(fēng)險 敏捷不能保證成功 敏捷把產(chǎn)品和開發(fā)問題及早暴露無論你的想法高明或者不高明,都不如用戶的選擇高明,所以任何美妙的想法,不如先把它簡單地做出一點點,就拿到市場上做實驗,因為一旦對了,你馬上能看到增長,你能迅速跟進。一旦不對,你調(diào)整的成本也很低。軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)

53、流程組織軟件業(yè)務(wù)架構(gòu)流程組織Scrum Master角色轉(zhuǎn)變我的地盤我做主為人民服務(wù)軟件業(yè)務(wù)架構(gòu)流程組織敏捷實踐基于敏捷文化,敏捷團隊來自敏捷個人軟件業(yè)務(wù)架構(gòu)流程組織XP four core valuesXPcommunicationsimplicityfeedbackcourage軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織XP 13 practices 軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織5月份初始初始The slides after this divider will be grouped into a section and given the

54、label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織1. 需求理解以及系統(tǒng)架構(gòu):通過溝通以及查看相關(guān)需求文檔,熟悉指標(biāo)業(yè)務(wù),進行系統(tǒng)架構(gòu)分析,輸出架構(gòu)視圖(1-2周)2開發(fā)方案比選:針對城建合同執(zhí)行時間以及新需求對原有版本的可修改性確定開發(fā)方案 A 基于以前版本修改:研究以前版本技術(shù)實現(xiàn)以及功能差異,進行技術(shù)改造和工作量評估 (額外增加 1周) B 全新開發(fā)3原型開發(fā):根據(jù)比選后方案進行針對性的模塊和功能設(shè)計,輸出原型和總體功能列表(2-3周)軟件業(yè)務(wù)架構(gòu)流程組織完成C

55、/S框架基線細(xì)化一細(xì)化一The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織16.1-6.12 技術(shù)評估階段: 對.Net實現(xiàn)部分實現(xiàn)技術(shù)進行技術(shù)驗證評估內(nèi)容分布式面向?qū)ο蠹軜?gòu): CSLA客戶端組合應(yīng)用: Prism、Caliburn模塊化開發(fā)、模型化開發(fā):eXpressAppFrameworkASP.MVC、Cathar

56、sis 、Silverlight(開發(fā)B/S應(yīng)用時驗證)評估方法 Fit analysis. Determine if the guidance suits your needs. Initial evaluation. Install, run, and examine the guidance. In-depth evaluation. Conduct a thorough examination of the guidance. Adoption. Incorporate the guidance into a composite application. 26.15-7.17 實現(xiàn)C/

57、S框架基線軟件業(yè)務(wù)架構(gòu)流程組織實現(xiàn)標(biāo)準(zhǔn)體系指標(biāo)模板Sprint1The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織Sprint11. 目標(biāo)完成工程指標(biāo)標(biāo)準(zhǔn)體系指標(biāo)模板建立2. backlogPBS建立(3.6)工程屬性規(guī)范和清單匹配(6d)合同科目(2h)指標(biāo)模板(6d)核算單位換算字典(1d)3. 日期安排 sprin

58、t迭代周期:2009-7-20 / 2009-8-14每日晨會:8:308:45 330(預(yù)算組對面會談室)演示會議:2009-8-14 9:00-11:30回顧會議: 2009-8-14 3:00-5:00軟件業(yè)務(wù)架構(gòu)流程組織回顧會議流程回顧會議流程1、介紹會議目標(biāo)和議程;2、擬定會議規(guī)范:a、不指責(zé),堅信每個人在當(dāng)前的工作都是全力以赴的;b、不回避問題;c、盡量少用“你”,多用“我們”;d、不準(zhǔn)用手機;e、不要發(fā)怒;f、對事不對人;h、不討論具體業(yè)務(wù);3、收集數(shù)據(jù):事件、度量、故事;4、產(chǎn)品見解;5、后續(xù)改進措施;6、結(jié)束。軟件業(yè)務(wù)架構(gòu)流程組織完成原始預(yù)算的導(dǎo)入、匹配,生成造價指標(biāo)Spri

59、nt2The slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織Sprint21. 目標(biāo)完成原始數(shù)據(jù)的導(dǎo)入、匹配,生成造價指標(biāo)2. backlog 項目信息(3d) 數(shù)據(jù)導(dǎo)入(6d) 技術(shù)經(jīng)濟指標(biāo)(5d) 其他功能(3d)3. 日期安排 sprint迭代周期:2009-8-17 / 2009-9-11每日晨會:8:308:45

60、(辦公室) 演示會議:2009-9-11 9:00-11:30 回顧會議: 2009-9-11 3:00-5:00軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividerProduct BacklogThe slides after this divider will be grouped into a section and given the label you type above. Feel free to move this slide to any position in the deck.軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織軟件業(yè)務(wù)架構(gòu)流程組織pptPlex Section DividerSprint BacklogThe

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論