陳洪京 王 程
河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所
UML(統(tǒng)一建模語言Unified Modeling Language)是面向?qū)ο蠼5囊环N語言的標(biāo)準(zhǔn),為開發(fā)團隊提供標(biāo)準(zhǔn)通用的設(shè)計語言來開發(fā)和構(gòu)建計算機應(yīng)用。本文以“五位一體”健康體檢信息系統(tǒng)為例,利用統(tǒng)一建模的技術(shù)和方法,進(jìn)行了系統(tǒng)的分析和設(shè)計,并給出了系統(tǒng)的具體實現(xiàn)。
隨著社會的進(jìn)步和科技的發(fā)展,人們對健康越來越關(guān)注。體檢成為健康生活的一道大門。通過定期體檢,可以盡早的發(fā)現(xiàn)潛伏的疾病,及早進(jìn)行針對性的防范和治療。由于一般意義體檢往往忽視體檢指標(biāo)內(nèi)含的危險意義,我們利用傳統(tǒng)中醫(yī)的體質(zhì)辨識、經(jīng)絡(luò)診斷、體適能測試以及心理檢測進(jìn)行“亞健康”體檢,“未病先治”,再結(jié)合常規(guī)體檢,建立“五位一體”的健康體檢,通過飲食、起居、體育鍛煉以及環(huán)境等方面進(jìn)行全方位養(yǎng)生,以達(dá)到全面了解身體狀況,提高生活質(zhì)量的目的。
UML 是作為面向?qū)ο蠓治雠c設(shè)計的一種標(biāo)準(zhǔn)表示,提供統(tǒng)一標(biāo)準(zhǔn)以方便不同領(lǐng)域工程人員交流,可以更好地理解問題、加強溝通、獲得設(shè)計結(jié)果并為最后的代碼提供依據(jù)。本文論述了基于 UML 的“五位一體”健康體檢信息系統(tǒng)的分析和設(shè)計。
在常規(guī)體檢過程中,人們往往只關(guān)注體檢結(jié)果,而很多體檢指標(biāo)被忽視,造成體檢沒有發(fā)現(xiàn)問題,而身體又感覺不舒服,就是人們常說的亞健康,為了很好的利用體檢的各項指標(biāo),對身體健康問題及早的發(fā)現(xiàn),及時給予調(diào)整干預(yù),把疾病消滅在萌芽狀態(tài),保護(hù)我們的健康,提高生活質(zhì)量,我們把傳統(tǒng)中醫(yī)的體質(zhì)辨識、經(jīng)絡(luò)診斷、體能測試、心理測試與常規(guī)體檢結(jié)合,建立“五位一體”的健康體檢模式,全面立體監(jiān)控健康狀況。
在體檢過程中,監(jiān)控系統(tǒng)將體檢指標(biāo)與正常標(biāo)準(zhǔn)進(jìn)行比較,如發(fā)現(xiàn)異?,F(xiàn)象,自動及時調(diào)取歷史記錄,一并提供給臨床醫(yī)生進(jìn)行綜合診斷,健康營養(yǎng)專家給出調(diào)養(yǎng)方案,體能教練提供健身計劃,并且進(jìn)行跟蹤記錄及時調(diào)整。監(jiān)控系統(tǒng)根據(jù)要求隨時打印體檢報告,定期自動更新體檢記錄。
為了確定系統(tǒng)的功能我們進(jìn)行需求分析。UML 的用例圖是描述擬建系統(tǒng)(Use Case 的集合)和外部環(huán)境(Actor 的集合)的關(guān)系,能夠形象地描述客戶需求,用例建模包括構(gòu)件有:用例、角色和系統(tǒng)邊界。本系統(tǒng)擬實現(xiàn)以下功能:
(1)健康體檢信息系統(tǒng)各分系統(tǒng)(包括常規(guī)體檢信息、體質(zhì)辨識、經(jīng)絡(luò)診斷、體適能測試以及心理健康測試)可以將采集到的體檢數(shù)據(jù),經(jīng)過格式化后實時的傳送到主信息系統(tǒng)。
(2)健康體檢信息主系統(tǒng)將采集到的數(shù)據(jù)與信息庫內(nèi)的正常值進(jìn)行比對,當(dāng)數(shù)據(jù)出現(xiàn)異常時系統(tǒng)自動調(diào)取歷史信息。
(3)當(dāng)體檢數(shù)據(jù)異常時,系統(tǒng)記錄自動更新,并打印歷史數(shù)據(jù)報告。
(4)臨床醫(yī)生可以隨時查看體檢數(shù)據(jù)報告,要求打印報告。
(5)系統(tǒng)按計劃自動更新記錄數(shù)據(jù)。
根據(jù)上述功能需求分析,初步識別出系統(tǒng)的用例為:全面體檢信息系統(tǒng),體檢數(shù)據(jù)監(jiān)控,提供標(biāo)準(zhǔn)體檢數(shù)據(jù),體檢報告管理,異常數(shù)據(jù)報告管理;
角色為:醫(yī)師、中醫(yī)生、教練、心理咨詢師、體檢人。
頂層用例圖如圖1 所示,角色如表1 所示。
圖1 健康體檢信息系統(tǒng)頂層用例圖
表1 系統(tǒng)中角色的描述模板
表2 對識別的類進(jìn)行了描述(包括名稱、屬性和操作)。
系統(tǒng)內(nèi)功能的具體設(shè)計及協(xié)作關(guān)系進(jìn)行靜態(tài)建模和動態(tài)建模。
(1)靜態(tài)建模
靜態(tài)建模描述的是對象間互相關(guān)聯(lián)的屬性,它不隨時間變化而變化。系統(tǒng)靜態(tài)結(jié)構(gòu)的描述包括:類圖、對象圖和包圖。
本系統(tǒng)中的類有:體檢醫(yī)師、中醫(yī)師、教練、心理咨詢師、體檢人、體檢儀器、標(biāo)準(zhǔn)體檢信息數(shù)據(jù)庫、體檢信號、主監(jiān)控系統(tǒng)、體檢報告、報警信號。
圖2 已識別類的描述
(2)動態(tài)建模
動態(tài)建模是為了恰當(dāng)分析各種信息處理時序,通過行為和交互來描述對象間相互合作的通信機制及合作過程中的行為時序,包括狀態(tài)圖、活動圖、時序圖和合作圖。圖2 給出體檢信息監(jiān)控系統(tǒng)中“主監(jiān)控系統(tǒng)”的時序圖,其他情況從略。
(3)設(shè)計
通過細(xì)化分析階段提取的類的功能,增加了新類來解決諸如數(shù)據(jù)庫、用戶接口、通訊、設(shè)備等技術(shù)方面的問題。在結(jié)構(gòu)設(shè)計階段,包由系統(tǒng)中具有依賴關(guān)系的模型元素構(gòu)成,圖3 所示的包圖,并按照層次結(jié)構(gòu)組織,分為用戶層、應(yīng)用層和數(shù)據(jù)庫層。類圖包化技術(shù)能實現(xiàn)模塊之間低偶合度,模塊內(nèi)部高聚合度。
圖2 “主監(jiān)測系統(tǒng)”時序圖
圖3 健康體檢信息系統(tǒng)的包圖
本系統(tǒng)采用客戶機/ 服務(wù)器結(jié)構(gòu),由數(shù)據(jù)庫服務(wù)層、應(yīng)用服務(wù)層和客戶機組成,這樣可以讓不同的機型和操作系統(tǒng)之間能夠互相兼容,解決跨平臺開發(fā)使用。
本系統(tǒng)選用Orocle 作為后臺數(shù)據(jù)庫,語言 V C++作為前端開發(fā)工具進(jìn)行編程。
UML 選擇標(biāo)準(zhǔn)化的建模方式,能較準(zhǔn)確地理解和分析系統(tǒng)結(jié)構(gòu),規(guī)范了系統(tǒng)開發(fā)過程,提高系統(tǒng)的實用性,同時也提高軟件開發(fā)效率和軟件的可重復(fù)使用性。