物件導向方法 UML 串列埠通訊的設計與實現

2021-05-22 09:29:46 字數 1187 閱讀 3449

在最近乙個軟硬體整合的企業生產管理應用軟體專案中,用到了不同型別一定數量的硬體裝置,包括電子看板、企業客戶生產裝置的引數採集和讀卡裝置。採用這些裝置的目的主要為軟體系統提供生產現場的裝置執行和管理資料,並在現場顯示生產情況。按照系統規劃,這些不同種類的裝置是通過

485匯流排與軟體系統進行通訊的,實現全天

24小時裝置和軟體系統穩定執行和資訊採集。為此系統要實現以下目標: 1)

電子看板資料的上傳和下發; 2)

裝置採集器的資料上傳; 3)

讀卡器的資料上傳。 4)

通過資料庫的方式,儲存系統資料並自動實現下發處理。

uml方式提高程式的設計效率,並增加程式的復用性。這樣做的好處是可以增加了程式的可維護性,有效降低了開發難度和開發成本。下面簡單介紹一下該系統的開發思路,為從事串列埠通訊開發的同仁提供一點有價值的參考意見。

首先,我們根據系統目標進行了架構的規劃。從分層設計的角度出發將程式分成了以下五層:

1-系統表示層:通過程式介面進行一些引數設定和組態監控,如硬體裝置通訊位址的設定,各種裝置上傳下發的瀏覽等。

2-系統業務層:各種裝置支援的相關業務邏輯的實現,如從生產管理系統軟體中提取正在執行的加工計畫資訊下發到對應工位的電子看板上顯示,以指示該工位的加工要求;並和上傳的生產資料組合成有效的實時生產資料,反映生產狀態。

3-系統傳輸層:主要根據各種不同硬體裝置的通訊協議,通過解碼和解碼操作,實現硬體指令和邏輯資料間的轉換和傳輸執行;

4-系統收發層:由於要對應不同型別的硬體裝置,所以通過抽取資料收發基本操作,形成共同的基類,就是說該類開發穩定後,可很方便的擴充套件應用到其它種類的裝置上,這樣就增加了系統的可維護性和資料傳輸的穩定性。

這樣程式的架構就設計完成了,接下來要做的工作就是進行不同層中各個業務類的設計了。在這裡不同的設計員可能有自己的設計方法,我的方法是以出口通訊中要實現的主要業務為線索,利用

uml時序圖,反映各個邏輯層不同類的物件之間互動和呼叫關係,最後抽象出各個類應完成的操作,形成各個類的方法,最終完成類的設計,這樣系統的設計就基本完成了。

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

物件導向的UML中的關係

如果你確定兩件物件之間是is a的關係,那麼此時你應該使用繼承 比如菱形 圓形和方形都是形狀的一種,那麼他們都應該從形狀類繼承而不是聚合。如果你確定兩件物件之間是has a的關係,那麼此時你應該使用聚合 比如電腦是由顯示器 cpu 硬碟等組成的,那麼你應該把顯示器 cpu 硬碟這些類聚合成電腦類,而...

物件導向UML中類的關係

如果你確定兩件物件之間是is a的關係,那麼此時你應該使用繼承 比如菱形 圓形和方形都是形狀的一種,那麼他們都應該從形狀類繼承而不是聚合。如果你確定兩件物件之間是has a的關係,那麼此時你應該使用聚合 比如電腦是由顯示器 cpu 硬碟等組成的,那麼你應該把顯示器 cpu 硬碟這些類聚合成電腦類,而...

UML與物件導向的前世今生

前面講了物件導向的概念,相信大家對物件導向有了一定的認識,這裡我們再來嘮一嘮uml的前世今生 從20世紀70年代,隨著物件導向程式設計思想的興起,大家越來越發現原來以結構化的面向過程的分析設計方法沒辦法推導和指導物件導向程式設計,面向過程的分析設計還是第一步做什麼,第二步做什麼,但是物件導向卻是以看...