魏慶


摘要:隨著軟件系統規模越來越大、越來越復雜,在教學中讓學生能夠領會整個系統的結構成為一個難題。本文主要對面向教學的軟件架構建模進行分析,并描述了軟件架構模型開發過程,進而講解了基本架構設計的方法,最后使用實例應用進行了分析。
關鍵詞:教學;軟件;體系;架構
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)36-0271-02
一、軟件架構概述
軟件架構有五種建模,分別是框架模型、結構模型、功能模型、過程模型和動態模型。而最常用的模型則是動態模型和結構模型。(1)結構模型。這是在諸多軟件架構建模中最普遍直觀的構建模型。(2)框架模型。該模型針對的是一些特殊問題,其焦點是整體的結構,從而能夠建立起適應具體問題的結構。(3)動態模型。動態模型主要對系統的“大顆粒”的行為性質進行研究,它是上述兩種模型的補充。(4)過程模型。該模型的主要作用是研究構造一個軟件系統所需要的過程及步驟,并分析結果。(5)功能模型。功能模型的作用是將軟件體系結構看作由功能模塊按層次組成的群組,上層的服務從下層獲得。
二、軟件架構模型開發過程
1.邏輯視圖(logic view)。該視圖的主要作用是功能需求的支持,即系統會給最終用戶提供的服務。邏輯視圖里面,系統會被分解成某些來自問題領域的功能抽象。
2.開發視圖(development view)。該視圖的主要作用是組織和管理軟件模塊。該視圖的焦點是程序包,其中涵蓋了源程序、SDK,以及第三方的類庫、框架,甚至還包括中間件。
3.進程視圖(process view)。運行特性是該視圖的焦點所在,其關注的主要方面是非功能性需求。線程、進程等運行時概念是其重點關注的對象,而通信、同步、并發等問題也是其考慮的方面。
4.物理視圖(physical view)。其作用是建立軟件到硬件的映射。通信和系統拓撲結構是其能夠重點解決的問題。系統可以運行在不同的網絡節點上,而節點上的視圖組件則可以對應網絡的不同節點。
5.場景(scenario)。其作用是為建立不同類型的視圖的關系,在體系結構的設計中,它能使得設計者建立視圖和體系結構的構件之間的關系。
三、軟件基本架構設計
1.數據流風格的架構。數據流風格的架構在數據流路線上,處理過程遵循“自頂向下、逐步求精”的原則。該過程依賴于執行過程,而不是依賴于數據的先后到達順序。在實踐中,最典型的數據流風格實例就是管道/過濾器和批作業序列。
2.倉庫風格的體系架構。倉庫風格的組件共分兩種,一是中央數據結構,它用于描述當前狀態,二是獨立組建,它的作用是用于中央數據存儲執行,倉庫和外組件間的相互作用在實際系統中會有一些變化。系統中的組件通常包括數據存儲區,以及與這些存儲區進行交互的處理單元和進程,連接器的作用是訪問存儲區;如果輸入流中某類時間觸發進程執行的選擇,那么倉庫蛻變為一個傳統型數據庫。
3.調用/返回風格的體系構架。在該類系統構架中,其風格有如下幾種:①面向對象概念中的對象體系結構風格;②主-子程序風格;③層次型系統風格。其中,主-子程序風格體系架構主要應用在結構化程序設計中,成為一種經典的編程模式。而一般為了大大提高程序的可更改性,可以將程序劃分為若干個小片段,這也是此體系的主要特點,它的調用/返回關系較明確。
四、應用實例
1.SOA體系架構。SOA可以用任何一種編程語言來實現,可以與其他技術結合在一起使用,作為服務條件,WSDL可以與編程語言結合在一起生成服務。圖2是一個完全的標準架構來實現SOA架構Web服務。而圖3則是一個使用MVC模式表述的SOA架構。
2.SOA在企業中的應用。從2009年到2012這三年對于SOA而言,是從技術推廣的初期進入縱深發展的階段,也是SOA發展周期中的重要階段。作為一整套徹底改變企業IT核心的基礎架構,一種已廣為企業所認可的技術方案,SOA在各行業的規模化應用趨勢不減。傳統的集成方法已經不能適應基于企業現代業務變化不斷產生的需求,其具有相對復雜、昂貴、不靈活等缺點。SOA描述了一套完善的開發模式從而使得客戶端應用連接到服務上得以實現,這些模式基于UDDI,用于描述服務、通知及發現服務、與服務進行通信。SOA可以直接為WEB服務接口做一層封裝,然后可以對外提供WEB服務接口,進一步使系統應用轉換為可以實現的服務,與修改現有系統架構是不同的。基于SOA架構的平臺化軟件已經成功應用于中石化、中石油、中移動、三一重機等各行業的領軍企業。SOA架構已經成為中間件軟件供應商爭奪的新焦點。SOA架構應用于中國長航南京長江油運公司,在最初的應用過程中,企業內部形成了“信息孤島”這一現狀,并且企業信息化的現狀與業務需求發展不匹配,信息化程度的提高是亟須解決的問題,借此對內部流程進行簡化和優化,提升決策、實現信息共享,反應速度、風險和成本都因此降低了,同時增加了投資收益。實現統一消息中心、流程集成、應用集成是基于SOA的架構開發Web Service應用系統在MB/MQ和WPS的支持下能夠完成的工作。
五、結語
隨著軟件系統日趨復雜化,能夠清晰把握整個系統的結構顯得越來越重要。在用于教學案例的軟件設計和開發過程中,進行軟件體系架構要根據不同的應用領域選擇體系結構。面向服務的體系架構是一種新興的軟件設計和架構思想,從設計分析,到技術實現,都基于XML標準,從而使得它的靈活性和異質性得到了保證。
參考文獻:
[1]劉真.軟件體系結構[M].北京:中國電力出版社,2004.
[2]萬建成,盧雷.軟件體系結構的原理、組成與應用[M].科學出版社,2002.
[3]王斐,祝開艷.面向服務的架構(SOA)及其應用模型研究[J].科技資訊,2007,(07).
[4]陳述.設備管理系統的軟件架構[J].電腦編程技巧與維護,2009,(10).endprint