周子涵
摘要:近年來,軟件產品制造行業已經提出了一種較為創新的軟件設計方法,即基于結構的軟件開發項目工程。它普遍深受開發者的喜愛,并且在國際市場上發展得很快。該方法基于面向對象的技術,以對象類組件作為構建系統的基礎模塊,通過對組件的選取、實例化和集成來構建一個新的應用系統?;诮M件的軟件工程的主要關鍵在于把需求集合分解成為自上而下的組件集合,并將這些組件由下至上地組合起來運用在目標應用系統中。如果整個系統的研究和開發完全是基于面向對象的技術,那么首先我們就可以在這個領域內建立一個對象的模型,然后從這些對象模型中提取和生成組件庫。本文就基于構件的軟件開發模型及其實現進行探究。
關鍵詞:構件;軟件開發;模型
有些系統很有可能已經搭建起關系型的數據庫,積累了大量的資料,并且研究和開發了一些相關的應用程序;或者,初步分析計算機工作很有可能就已經依照了結構化的軟件工程設計的方式來完成。為了進一步或者再次重新設計和開發此類系統,一方面是想要繼承其現有的研究工作和成果,同時也想要在其實現的過程中盡可能多地采取使用面向對象的技術手段來改善各種應用系統的設計與維護,減少了重復的編碼,縮短了開發期,提高系統的可理解度,減少了維護人員的工作量等,以有效地解決此種類型系統的設計與開發。本文綜合分析了結構化的方法與面向對象的方法優點,提出了一種基于架構的軟件開發模型。
一、基于構件的軟件開發模型
在對系統進行結構化需求分析和詳細設計(包括關系數據庫設計)后,得到系統的數據流圖(DFD)和功能結構圖(SC)。在此基礎上,首先提取系統所需的各種功能模塊,然后確定應用系統的總體框架,然后對各個組件進行詳細劃分,確定各組件需要實現的功能。組件的劃分應該合理,以免造成不必要的重復和困難。
第一步,根據項目負責人領導下的工作組需求分析和詳細設計形成的SC圖,確定應用的整體框架,并繪制出整體框架的功能圖---包括每個具體的功能模塊,一個完整的SC圖就是應用的整體框架圖;根據DFD圖,確定各功能的外部關系和實現條件。
第二步,在項目負責人的指導帶領下,工作組進一步地確定和規劃各種功能性的組件,尋找到一些可重新復用的組件并正確地定義它們之間的接口關系;同時根據一個問題域來設置一些基礎類,并將這些基礎類數據存儲到一個基礎庫中,供以后的各個過程使用。而且這些基礎的類庫都要與應用程序共享提交到用戶手里。
第三步是由項目負責人將定義的組件分發給編碼人員。對于可視化組件,還應提供組件的設計界面。在詳細的設計過程中,應該要做到的是完成各個組件之間的接口。如果還沒有做到這一步驟,就應該通過分割可以復用的組件第二步來完成。編碼器人員負責完成各個組件的代碼編碼與調試;同時由專門組織編碼工作人員負責對不可重新使用的軟件(模塊)進行代碼編碼與調試,實現整個應用程序的整體框架。在編碼過程中,可以通過使用一種面向對象的編程語言方法來確定該個組件內部類型以及其運算方法、屬性和類之間的相互關系。
第四步是組裝應用系統和系統級調試。
二、信息系統的構件化結構
在采取結構化的方法對組件進行了需求分析并進行詳盡的設計后,就能夠充分運用上述模型來確定信息系統的部件結構。對于每一個組件,確定它們外部的接口,操作接口及要實現的功能。本文主要以通用查詢組件為例,說明了查詢組件劃分及定義過程。
確保所選組件均能作為一種可重用的組件,并準確地定義其之間的接口。通用型查詢在整個應用領域的系統中非常常見(其他各個應用領域需求不盡相同),而且這些需求非常相似,它們都可以解決一個完全相同的問題,因此它們是可識別、通用、獨立、完整的,具備將其作為一個可重用組件開發的基本條件。通用查詢組件接口:輸入條件包括用戶名、注冊權限及與數據庫之間的相互鏈接字符串;未退出。
三、構件的設計與實現
在設計組件時,需要考慮實際因素,如程序的分配方法、操作環境、開發工具和編程語言。例如,系統采用客戶/服務器模式,編程語言為PowerBuild6.0。PB6.0提供了一種用于管理程序的PBL機制,它可以將實現某些功能的資源和代碼存儲在PBL中,從而導致了程序調試及安裝工作變為簡易。您同樣可以將組件直接放入PBL中,而無需再次生成OLE或DLL文件;另一方面,也就是我們可以直接生成DLL文件或者通過OLE技術將PBD文件直接連接到整個應用程序中,實現了組件運行時的動態連接,從而更好地充分發揮了整個組件的功能和可重用性。
對于單個組件,可以根據分析階段獲得的接口需求定制組件的用戶界面,并結合開發工具的特點進行定制。查詢結果時,切換窗口顯示查詢結果。接口描述:一個列表框用于顯示可查詢的數據庫表名,另一個列表框用于在選擇表時顯示表的所有名稱," select "頁面用于自動顯示選擇字段名,"其中"頁面用于自動設置一個查詢條件與時間表之間的關系," order "頁面用于自動設置多條時間表所有記錄信息的顯示順序,使用一個查詢按鈕自動啟動查詢的功能,使用一個保存語句按鈕將所需要設置的查詢條件自動保存成"文件",歷史查詢按鈕則是用于從一個文件中直接導入先前已經設置的查詢條件,還有一個隱藏的顯示框,它來自動顯示所搜索到的事情。
結束語:
本文所要求的開發模式實現是將結構化的方法與面向對象的方法相結合而來。在使用該系統的模型來設計或者開發特定的系統時,需要首先完成以下任務:提取組件;檢查各個組件執行人員和用例;繪制組件以了解該組件做的事情;確定類及其屬性和運算;確定用戶界面;確定數據庫接口;確定組件接口,以及確定組件屬性后處理。
參考文獻:
[1]袁小玲,吳業福.組件技術--企業管理信息系統開發的新方法[J].計算機工程與應用.1998,35(9)56~57
[2]Ivar Jocobson,Grady Booch.Games rumbaugh.the unified soft-ware development process[M].Addison Wesley Longman,Inc.1999.
[3]陳松.組件化程序開發模式〔J〕.計算機工程與應用,1998,35(9):33~35