陳洪京 王 程
河北省科學院應用數學研究所
UML(統一建模語言Unified Modeling Language)是面向對象建模的一種語言的標準,為開發團隊提供標準通用的設計語言來開發和構建計算機應用。本文以“五位一體”健康體檢信息系統為例,利用統一建模的技術和方法,進行了系統的分析和設計,并給出了系統的具體實現。
隨著社會的進步和科技的發展,人們對健康越來越關注。體檢成為健康生活的一道大門。通過定期體檢,可以盡早的發現潛伏的疾病,及早進行針對性的防范和治療。由于一般意義體檢往往忽視體檢指標內含的危險意義,我們利用傳統中醫的體質辨識、經絡診斷、體適能測試以及心理檢測進行“亞健康”體檢,“未病先治”,再結合常規體檢,建立“五位一體”的健康體檢,通過飲食、起居、體育鍛煉以及環境等方面進行全方位養生,以達到全面了解身體狀況,提高生活質量的目的。
UML 是作為面向對象分析與設計的一種標準表示,提供統一標準以方便不同領域工程人員交流,可以更好地理解問題、加強溝通、獲得設計結果并為最后的代碼提供依據。本文論述了基于 UML 的“五位一體”健康體檢信息系統的分析和設計。
在常規體檢過程中,人們往往只關注體檢結果,而很多體檢指標被忽視,造成體檢沒有發現問題,而身體又感覺不舒服,就是人們常說的亞健康,為了很好的利用體檢的各項指標,對身體健康問題及早的發現,及時給予調整干預,把疾病消滅在萌芽狀態,保護我們的健康,提高生活質量,我們把傳統中醫的體質辨識、經絡診斷、體能測試、心理測試與常規體檢結合,建立“五位一體”的健康體檢模式,全面立體監控健康狀況。
在體檢過程中,監控系統將體檢指標與正常標準進行比較,如發現異常現象,自動及時調取歷史記錄,一并提供給臨床醫生進行綜合診斷,健康營養專家給出調養方案,體能教練提供健身計劃,并且進行跟蹤記錄及時調整。監控系統根據要求隨時打印體檢報告,定期自動更新體檢記錄。
為了確定系統的功能我們進行需求分析。UML 的用例圖是描述擬建系統(Use Case 的集合)和外部環境(Actor 的集合)的關系,能夠形象地描述客戶需求,用例建模包括構件有:用例、角色和系統邊界。本系統擬實現以下功能:
(1)健康體檢信息系統各分系統(包括常規體檢信息、體質辨識、經絡診斷、體適能測試以及心理健康測試)可以將采集到的體檢數據,經過格式化后實時的傳送到主信息系統。
(2)健康體檢信息主系統將采集到的數據與信息庫內的正常值進行比對,當數據出現異常時系統自動調取歷史信息。
(3)當體檢數據異常時,系統記錄自動更新,并打印歷史數據報告。
(4)臨床醫生可以隨時查看體檢數據報告,要求打印報告。
(5)系統按計劃自動更新記錄數據。
根據上述功能需求分析,初步識別出系統的用例為:全面體檢信息系統,體檢數據監控,提供標準體檢數據,體檢報告管理,異常數據報告管理;
角色為:醫師、中醫生、教練、心理咨詢師、體檢人。
頂層用例圖如圖1 所示,角色如表1 所示。

圖1 健康體檢信息系統頂層用例圖

表1 系統中角色的描述模板

表2 對識別的類進行了描述(包括名稱、屬性和操作)。
系統內功能的具體設計及協作關系進行靜態建模和動態建模。
(1)靜態建模
靜態建模描述的是對象間互相關聯的屬性,它不隨時間變化而變化。系統靜態結構的描述包括:類圖、對象圖和包圖。
本系統中的類有:體檢醫師、中醫師、教練、心理咨詢師、體檢人、體檢儀器、標準體檢信息數據庫、體檢信號、主監控系統、體檢報告、報警信號。
圖2 已識別類的描述
(2)動態建模
動態建模是為了恰當分析各種信息處理時序,通過行為和交互來描述對象間相互合作的通信機制及合作過程中的行為時序,包括狀態圖、活動圖、時序圖和合作圖。圖2 給出體檢信息監控系統中“主監控系統”的時序圖,其他情況從略。
(3)設計
通過細化分析階段提取的類的功能,增加了新類來解決諸如數據庫、用戶接口、通訊、設備等技術方面的問題。在結構設計階段,包由系統中具有依賴關系的模型元素構成,圖3 所示的包圖,并按照層次結構組織,分為用戶層、應用層和數據庫層。類圖包化技術能實現模塊之間低偶合度,模塊內部高聚合度。

圖2 “主監測系統”時序圖

圖3 健康體檢信息系統的包圖
本系統采用客戶機/ 服務器結構,由數據庫服務層、應用服務層和客戶機組成,這樣可以讓不同的機型和操作系統之間能夠互相兼容,解決跨平臺開發使用。
本系統選用Orocle 作為后臺數據庫,語言 V C++作為前端開發工具進行編程。
UML 選擇標準化的建模方式,能較準確地理解和分析系統結構,規范了系統開發過程,提高系統的實用性,同時也提高軟件開發效率和軟件的可重復使用性。