面向對象方法(UML)串口通訊的設計與實現

在最近一個軟硬件集成的企業生產管理應用軟件項目中,用到了不同類型一定數量的硬件設備,包括電子看板、企業客戶生產設備的參數採集和讀卡設備。採用這些設備的目的主要爲軟件系統提供生產現場的設備運行和管理數據,並在現場顯示生產情況。按照系統規劃,這些不同種類的設備是通過485總線與軟件系統進行通訊的,實現全天24小時設備和軟件系統穩定運行和信息採集。爲此係統要實現以下目標:

1)  電子看板數據的上傳和下發;

2)  設備採集器的數據上傳;

3)  讀卡器的數據上傳。

4)  通過數據庫的方式,保存系統數據並自動實現下發處理。
 

 

本人在網上收集和搜索串口通訊實現的相關資料過程中,發現這方面資料較少,且程序的設計和實現比較簡單,由於普遍缺乏較好的設計理念,導致程序的複用性較差。於是我在程序的設計和實現過程中,引入了面向對象分析和設計的理念,通過UML方式提高程序的設計效率,並增加程序的複用性。這樣做的好處是可以增加了程序的可維護性,有效降低了開發難度和開發成本。下面簡單介紹一下該系統的開發思路,爲從事串口通訊開發的同仁提供一點有價值的參考意見。

首先,我們根據系統目標進行了架構的規劃。從分層設計的角度出發將程序分成了以下五層:1-系統表示層:通過程序界面進行一些參數設置和組態監控,如硬件設備通訊地址的設置,各種設備上傳下發的瀏覽等。2-系統業務層:各種設備支持的相關業務邏輯的實現,如從生產管理系統軟件中提取正在執行的加工計劃信息下發到對應工位的電子看板上顯示,以指示該工位的加工要求;並和上傳的生產數據組合成有效的實時生產數據,反映生產狀態。3-系統傳輸層:主要根據各種不同硬件設備的通訊協議,通過解碼和譯碼操作,實現硬件指令和邏輯數據間的轉換和傳輸執行;4-系統收發層:由於要對應不同類型的硬件設備,所以通過抽取數據收發基本操作,形成共同的基類,就是說該類開發穩定後,可很方便的擴展應用到其它種類的設備上,這樣就增加了系統的可維護性和數據傳輸的穩定性。
 
 
這樣程序的架構就設計完成了,接下來要做的工作就是進行不同層中各個業務類的設計了。在這裏不同的設計員可能有自己的設計方法,我的方法是以出口通訊中要實現的主要業務爲線索,利用UML時序圖,反映各個邏輯層不同類的對象之間交互和調用關係,最後抽象出各個類應完成的操作,形成各個類的方法,最終完成類的設計,這樣系統的設計就基本完成了。
 

 

接下來,就可根據程序的要求採用需要的編程語言進行程序的設計了。由於採用了面向對象方法進行程序設計,我們得到了合理而清晰的程序實現方式,程序實現起來目標明確而簡單,調試起來比較容易定位問題,更簡單了。更好的是,程序的複用性提高我們程序的適用性,可以很容易地擴展不同的設備上。該系統由於有了比較好的架構設計,經過一段時間的運行檢驗,證明系統很穩定,達到了預期的設計目標。

 

 

以上是我們在運用面向對象分析設計方法進行串口通訊程序開發的一點心得體會,希望拋磚引玉,對你的工作會有所幫助。如需合作或需要本系統源碼(C#),歡迎感興趣的朋友來電來函交流,不過源碼提供是有償的。
phone:0532-86029688
 
 
 
 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章