資源描述:
《系統(tǒng)架構=業(yè)務架構+軟件架構教學提綱.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、08九月2021第1頁第8章系統(tǒng)架構設計對于軟件系統(tǒng)來說,描述系統(tǒng)架構一般涉及到兩個方面的內(nèi)容:業(yè)務架構和軟件架構。這兩方面內(nèi)容分別針對于人們對業(yè)務領域的理解和對系統(tǒng)領域的理解。這兩者是需要和諧統(tǒng)一的,前者從業(yè)務需求的角度出發(fā),理清物理結構圖和邏輯結構圖,劃分出每個子模塊。確定為什么要這么劃分,各個子模塊之間如何交互,每個子模塊具有哪些接口;后者從解決技術上討論,著重討論采用什么樣的技術,如何分層,采用哪些好的技術特性,采用這些技術特性會為我們的工作帶來哪些好處,為什么要這么做等。08九月2021第2頁第8章系統(tǒng)架構設計8.1業(yè)務架構8.2業(yè)務架構分析8.3軟件架構8.4軟
2、件架構設計8.5軟件架構與框架8.6軟件架構的“4+1”視圖模型8.7組件圖8.8部署圖08九月2021第4頁8.1業(yè)務架構2.解答問題業(yè)務架構描述了業(yè)務領域主要的業(yè)務模塊及其組織結構。業(yè)務架構在先啟階段建立,在精化階段得以改進(關于先啟階段、精化階段等內(nèi)容請讀者參見第3章的RUP統(tǒng)一過程的相關內(nèi)容)。業(yè)務架構的目的是為業(yè)務領域建立一個維護和擴展的結構,描述業(yè)務的構成。業(yè)務架構對我們理解客戶業(yè)務,尤其是對軟件開發(fā)行業(yè)確定解決方案起著非常重要的作用。08九月2021第5頁8.1業(yè)務架構3.分析問題軟件開發(fā)一直在追求構件化,就像建房子一樣來構建系統(tǒng),用一塊一塊砌成不同形狀的磚頭
3、來搭建自己想要的房子。在很多人看來,構件化開發(fā)是技術問題。即隨著技術的發(fā)展,各種先進的架構和技術框架能夠越來越多地解決復雜的現(xiàn)實問題,總有一天,我們能夠利用一個極其靈活和強大的技術架構,將現(xiàn)實中的業(yè)務像搭房子一樣構建出整個系統(tǒng)。但是,技術架構僅僅提供了您搭建房子的手段和方法,從可行性上給予您支持,您是否想過您砌成大大小小不同形狀的磚頭是什么呢?它們從何而來呢?8.1業(yè)務架構可見,喜歡和迷信技術的我們又忘了一個基本原則:技術服務于業(yè)務。盡管我們知道怎么樣搭建房子,而手中卻沒有可用的磚頭,怎么能建好房子呢?正所謂巧婦難為無米之炊啊。軟件、技術通通是服務于業(yè)務的,技術只是保證做好
4、系統(tǒng)的手段,一個好的軟件其根本還在于業(yè)務的理解上。8.1業(yè)務架構SAP是業(yè)界著名的ERP軟件產(chǎn)品,它之所以能夠做到通用,即使在不同行業(yè)間實施也只需很小的開發(fā)工作量,絕大部分需求都是通過配置來完成的。不是因為SAP采用了多么先進的技術架構,而是因為SAP把業(yè)務做到了極致,它已經(jīng)砌好了那些可以搭建不同業(yè)務平臺的各式各樣的磚塊。再復雜和迥異的需求,都可以用這些磚塊搭建出來。這些磚塊,就是業(yè)務架構。8.1業(yè)務架構在項目開發(fā)過程中,當我們獲得了一份需求時,如果不建立業(yè)務架構,那么這份需求對我們來說就是一盤沙子,每次我們都要從頭把沙子做成磚塊,一點點辛苦地開發(fā)程序。而建立業(yè)務架構的工作
5、,就是要把沙子變成各式各樣的磚塊、部件,從部件做起而不是從沙子做起,像拼圖一樣,拼出我們的世界來。8.1業(yè)務架構但這項工作是非常困難的,需要非常精深的行業(yè)知識。并且不是一朝一夕就可行的,必須通過幾個甚至幾十個項目的累積,才有可能總結出可用的拼圖。在開發(fā)項目時,僅將業(yè)務架構作為項目中的一項工作,它可能不會對你當前的項目帶來什么好處,但是隨著每一個項目的積累,不斷地修正和豐富業(yè)務架構,手中可用的磚塊就會越來越多,越來越豐富??傆幸惶欤憧梢杂闷磮D來完成項目中大部分的業(yè)務需求,也就是行業(yè)解決方案的形成。8.2業(yè)務架構分析分析工作往往被模糊化,經(jīng)常的情況是需求弄清楚以后直接進入設計
6、階段,例如詳細的表結構、類方法、屬性、頁面原型等,然后就進入編碼階段了。那么分析與設計之間究竟存在什么樣的差別呢?從工作任務上來說,分析做的是需求的計算機概念化;設計做的是計算機概念實例化。從抽象層次上來說,分析高于實現(xiàn)語言、實現(xiàn)方式;而設計則基于特定的語言和實現(xiàn)方式。因此分析的抽象層次高于設計的抽象層次。從角色上來說,分析由系統(tǒng)分析師承擔的,而設計則由設計師來承擔。從產(chǎn)出物上來說,分析的典型成果是分析模型和組件模型,設計的成果是設計類、程序包等。8.2業(yè)務架構分析系統(tǒng)分析是在不考慮具體實現(xiàn)語言和實現(xiàn)方式的情況下,將需求在軟件架構和框架下進行的計算機模擬。系統(tǒng)分析的目的是確
7、定系統(tǒng)應當做成什么樣的設想,而系統(tǒng)設計的目的是將這些設想轉化為可實施的步驟。如果類比于房屋裝修,分析相當于繪制設計圖,而設計則相當于繪制施工圖。分析決定哪個地方用哪個物品來裝飾,設計決定如何裝飾,用什么工具來裝飾。8.2業(yè)務架構分析事實上,經(jīng)過分析之后,已經(jīng)決定了系統(tǒng)要做成什么樣子,已經(jīng)完成了從需求到系統(tǒng)的轉換過程。至于接下來是用JAVA還是C#,是用J2EE還是.NET,是用兩層結構還是用三層結構,是用工廠模式還是用適配器模式就已經(jīng)不是問題的重點了。不論采取什么樣的實現(xiàn)方式,得到的結果無非是程序運行效率的高低、擴