系统分析师范文1:论软件的组件式开发
摘要:
在我所擔任的某移動短消息增值應用系統的規劃和開發工作中,面對移動短消息廣闊的應用領域,和眾多不同行業的ASP,巨大的軟件開發工作量。我們選擇了組件式軟件開發方式,在系統的功能、性能、開發效率和投資等方面都達到了理想的效果。
正文:
2000年10月我開始擔任四川某網絡公司移動短消息增值應用系統(簡稱SMASP)開發部的負責人,主要工作是對SMASP進行規劃并實施開發,為總經理提供SMASP開發的參考方案。SMASP的通信服務提供商為中國聯通公司,服務內容提供商為如:出租車調度系統的出租車管理公司;電碼防偽系統的商用電碼公司;水電氣三表抄表系統的水電氣公司;移動證券系統的證券公司等,還有許多已知的和未知的對移動短消息增值應用有潛在需求的應用領域會不斷地加入到SMASP中來。SMASP首期工程應用到聯通四川公司,二期工程將推廣到山東、河南、廣東、福建、湖北等省市,并逐步推廣應用到全國聯通。由于項目處于起步階段,還沒有定型的系統模型及成功的應用模式,因此,選擇一個好的系統體系結構和開發模式就成為當務之急。
(交流備考794896774)
對領域的選擇。通常一個領域的專用資產要應用到不相關的領域是比較困難的,組件式開發的首要工作是領域工程,在這個領域內提取可被復用的系統對象,創建可復用資產,開發復用組件。而SMASP正好是這樣一個面對具體應用領域的,系統需要不斷升級,有著長期的持續開發需求。因此,在SMASP建設的初級階段,為SMASP創建復用資產是可行的,有回報的。
對組件(COM)式體系結構的選擇。SMASP已經有一部分應用是建立在Windows/NT服務器上了,但考慮到本系統將推廣到全國各地聯通公司,將來的遠程系統維護和遠程操作控制以及系統整體性能的需要,我建議公司將系統后臺應用部分移植到以SUN系統為主的UNIX系統上來,這一建議得到了公司的支持。我們的服務內容提供商是各式各樣的,處在不同的行業,有不同的應用系統在運行,對UNIX、WINDOWS、WINDOWS/NT、LINUX、NETWARE等都有應用,是一個多平臺系統。為對這樣一個多平臺、多應用、長期持續開發的系統選擇一個良好的體系結構和開發方式,將決定在將來的開發實踐中SMASP的質量、連續可用性、可升級維護性、可擴展性、開發工作量和投資等各項指標。經過反復考慮,我們將整個系統劃分為各個獨立的組成對象,各對象獨立工作又相互協調來完成系統的功能,這樣各個獨立的對象就形成了系統的組件。在這些組件中,有些是SMASP內通用的,其功能定義在系統內長期穩定;也有面對不同ASP(服務內容提供商)的各式各樣的組件。這些組件的開發工作均相對獨立,互不干擾,因此可以實現系統的無代演進。
創建復用資產和復用組件。通常可以被復用的資產是在領域內通用性比較好的對象。通過深入的分析,我們決定建立短消息增值應用系統平臺MISPlatform。MISPlatform本身是由多個組件構成的多層次的、組件化的體系結構,在他上面運行的ASP的各種應用也可看作MISPlatform的各個組件。MISPlatform的體系結構,各組件的詳細定義,接口定義,專化規范,大量代碼以及各部分的文檔都是潛在的可復用資產。復用資產和復用組件之間有一定區別,復用資產的范圍相對廣泛,而復用組件則更為具體,通常指可以直接嵌入到目標系統內或獨立運行以完成某一特定功能的程序模塊或對象。并不是所有可復用資產都可以制作成復用組件的,在劃定了復用資產后還要進一步提煉,如我們在MISPlatform中創建的基本表管理組件、索引管理組件、TCP/IP通信組件、接口組件、加密組件等,都具有很好的通用性。
通用接口的定義。在組件式開發中,由于系統是依靠預制的或獨立運行的組件協同工作來達到系統功能目標,各組件之間對信息的交換就成為必然,而要使各組件之間順利交換信息,就需要定義一個各組件都能解析的通信接口。在我們的系統中SORBA(短消息對象請求代理結構)承擔了這個角色,他的定義能為MIS Platform中所有組件識別和解析,成為組件協同工作的紐帶。SORBA的定義要考慮到獨立于平臺、獨立于操作系統、獨立于編譯系統、獨立于開發工具,因為在這個應用范圍廣大的多平臺、長期持續開發的應用系統中,我們無法保證大家都使用相同的開發工具,即使開發工具相同,也不可能保證通信的數據結構絕對不發生改變,因此SORBA的定義的獨立性和靈活性就相當重要。
在各種平臺下實現組件。由于我們的系統是多平臺的,所以復用組件也需要在多平臺下實現。而目前大家討論得多的如COM、CORBA、ActiveX等是以WINDOWS為平臺的,WINDOWS能夠提供給組件的實現方式為DLL或OLE技術。而我認為,這個理解是狹隘的,組件可以以多種方式在多種平臺下實現。在WINDOWS系統上除了DLL和OLE外,還可以使用靜態連接、消息隊列等方式來實現;在UNIX上可以采用靜態連接、消息隊列、共享內存等技術來實現。可以看出,在UNIX和WINDOWS(2000以上版本)上均提供了消息隊列。MISPlatform中獨立運行的組件是通過消息隊列聯系起來的,在UNIX和WINDOWS下均采用這個機制,如加密組件和通信組件之間、短消息處理中心和通信組件之間、通信組件和ASP應用組件之間均通過消息隊列通信。而嵌入式組件如基本表、索引、SORBA接口協議等組件在UNIX下的實現采用的是靜態連接技術,在WINDOWS下采用靜態連接和DLL兩種技術。不管是嵌入組件還是獨立運行的組件,在實現的時候都應當考慮多平臺的需求,組件要獨立于開發工具、具有高度的可塑性、接口清晰可靠。
對第三方開發的支持。我們不能保證在整個SMASP的建設過程中始終都由我們一家承擔所有的軟件開發工作,MISPlatform提供對第三方開發的支持是必須的。第三方開發者只要得到SORBA接口組件“DataPack.DLL”(在Windows下)或“DataPack.Lib”(在Windows下或Unix下),及相關的文檔資料,他們即可訪問MISPlatform,不管MISPlatform如何升級換代,也不管MISPlatform是由什么平臺來提供服務,我們的客戶都不必修改他們的應用系統。
重視培訓工作。我們的多層次組件式體系結構首先是由極少數的幾個核心開發人員所掌握的,而在SMASP的建設工作中,其他軟件人員的工作也是不能忽視的,還有人員的流動更新。大家在SMASP中的工作是協作性的,為了把大家都納入到整個系統的應用體系結構中,必須首先讓大家了解體系結構,熟練掌握可復用資產和復用構件,這樣才能使大家知道自己所做的工作在整個系統中的位置,以及怎樣使自己所做的軟件和整個系統有機地結合起來,怎樣進行組件的專化。最初,我們認為只要將構件的設計文檔等資料共享給大家,我們的程序員就知道去學習和使用,而實際上,這些程序員都養成了不愛看別人軟件及文檔的習慣,他們喜歡無論什么都自己做,所以,盡管我們的SORBA接口和系統體系結構的相關文檔都共享了,但大家只對SORBA接口看了一些,而對體系結構就不怎么關心了,更談不上遵守系統體系結構。培訓工作實際上是非常重要的,沒有培訓工作,大家就很難理解整個系統的體系結構,復用資產也形同虛設。在SMASP的開發中,組件也不是一成不變的,需要升級和增加新的內容,大家對體系結構的認識應當不斷強化,因此,我們培訓工作也需要不斷的開展,持之以恒。
結尾:
綜上所述,在組件式軟件系統開發工作中,我們首先要選定一個領域,然后確定軟件的體系結構,挖掘潛在的可復用資產,創建復用構件,持之以恒的培訓工作,讓我們的軟件人員都在充分理解系統體系結構以后隨心所欲地使用復用構件,我們的組件式開發工作就能達到滿意的效果。
總結
以上是生活随笔為你收集整理的系统分析师范文1:论软件的组件式开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苏神大佬的博客-科学空间
- 下一篇: 社区说|浅谈 WorkManager 的