国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

UML建模方法及其在HIS開(kāi)發(fā)中的應(yīng)用

2013-03-16 07:51:50駱鵬傲
關(guān)鍵詞:病員用戶(hù)界面面向?qū)ο?/a>

駱鵬傲

徐州醫(yī)學(xué)院醫(yī)學(xué)信息學(xué)院,江蘇 徐州 221004

醫(yī)院信息系統(tǒng)(hospital information system,HIS)是目前最為復(fù)雜的軟件系統(tǒng)之一,開(kāi)發(fā)此系統(tǒng)時(shí)進(jìn)行可視化建模十分重要。在我們構(gòu)建軟件項(xiàng)目的開(kāi)發(fā)周期中,系統(tǒng)建模是整個(gè)軟件開(kāi)發(fā)中重要和關(guān)鍵的一步。

UML(unified modeling language)又稱(chēng)統(tǒng)一建模語(yǔ)言或標(biāo)準(zhǔn)建模語(yǔ)言,是一種面向?qū)ο蟮慕UZ(yǔ)言,它是運(yùn)用統(tǒng)一的、標(biāo)準(zhǔn)化的標(biāo)記和定義實(shí)現(xiàn)對(duì)軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒?。UML是一個(gè)支持模型化和軟件系統(tǒng)開(kāi)發(fā)的圖形化語(yǔ)言,它為軟件開(kāi)發(fā)的所有階段提供模型化和可視化支持。該課題的開(kāi)發(fā)正是采用基于UML的面向?qū)ο蟮拈_(kāi)發(fā)技術(shù)。

1 總體設(shè)計(jì)

1.1 基于UML的系統(tǒng)分析

UML是面向?qū)ο蠓治龊驮O(shè)計(jì)(OOA&D)的方法,它統(tǒng)一了Booch、Rumbaugh、Jacobson的表示方法,而且對(duì)其作了進(jìn)一步的發(fā)展,其優(yōu)勢(shì)可以歸結(jié)為以下三點(diǎn)[1-2]:

①UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念;

②UML還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長(zhǎng)處,其中也包括非OO方法的影響;

③UML在演變過(guò)程中還提出了模板(Stereotypes)、職責(zé)(Responsibilities)、擴(kuò)展機(jī)制(Extensibility mechanisms)、分布式(Distribution)、并發(fā)(Concurrency)等概念。

1.1.1 建模機(jī)制 任何建模語(yǔ)言都以靜態(tài)建模機(jī)制[1,3-4]為基礎(chǔ),UML 也不例外。UML 的靜態(tài)建模機(jī)制包括用例圖(Use Case diagram)、類(lèi)圖(Classdia gram)、對(duì)象圖(Object diagram)、組件圖(Component diagram)和配置圖(Deployment diagram)。

系統(tǒng)建模不僅要描述靜態(tài)結(jié)構(gòu),同時(shí)要描述系統(tǒng)的行為,也就是描述所建立的模型是否可以執(zhí)行或者執(zhí)行時(shí)的時(shí)序狀態(tài)和其交互關(guān)系。其中,主要用狀態(tài)圖(State diagram)、活動(dòng)圖(Active diagram)、順序圖(Sequence diagram)、協(xié)作圖(Collaboration diagram)四個(gè)圖形來(lái)表現(xiàn),亦把此稱(chēng)為標(biāo)準(zhǔn)建模語(yǔ)言UML的動(dòng)態(tài)建模機(jī)制[1,3-4]。

1.1.2 建模方法 UML首先通過(guò)建立一系列的用例圖,對(duì)系統(tǒng)功能進(jìn)行分析,并以活動(dòng)者與用例之間的關(guān)系表示系統(tǒng)用戶(hù)對(duì)系統(tǒng)功能的要求,從而以圖形化的方式簡(jiǎn)潔明了地分析系統(tǒng)的要求。UML使用活動(dòng)圖對(duì)此進(jìn)行建模[5-6]。

在詳細(xì)設(shè)計(jì)階段,UML根據(jù)交互視圖、狀態(tài)視圖以及活動(dòng)圖內(nèi)的系統(tǒng)詳細(xì)信息,在概要設(shè)計(jì)的基礎(chǔ)上,設(shè)計(jì)出各個(gè)類(lèi)應(yīng)具有的屬性以及方法,并進(jìn)一步確定各個(gè)類(lèi)之間的關(guān)系。最后,在編碼實(shí)現(xiàn)階段,只要選擇一種面向?qū)ο蟮恼Z(yǔ)言,按照這種語(yǔ)言的要求將詳細(xì)設(shè)計(jì)的結(jié)果模型實(shí)現(xiàn)。其分析過(guò)程主要模型及相互關(guān)系如圖1所示(虛線框圖表示分析結(jié)果,實(shí)線框圖表示設(shè)計(jì)過(guò)程中的結(jié)果,箭頭表示驅(qū)動(dòng)關(guān)系)。

圖1 分析過(guò)程主要模型及相互關(guān)系圖

1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

因?yàn)樵撓到y(tǒng)采用的是Oracle關(guān)系數(shù)據(jù)庫(kù)[7],而我們的模型是基于面向?qū)ο蟮?,因此要解決對(duì)象—關(guān)系數(shù)據(jù)庫(kù)之間的映射問(wèn)題。正如前面所討論的,對(duì)于簡(jiǎn)單的對(duì)象,我們可以直接把屬性映射為數(shù)據(jù)庫(kù)中的域,同時(shí)對(duì)域加入約束。例如:門(mén)診排班、劃價(jià)明細(xì)等對(duì)象,就可采用此方法一一映射為數(shù)據(jù)庫(kù)的表。如果對(duì)于存在繼承關(guān)系的復(fù)雜類(lèi),我們所采用的映射方式是將整個(gè)類(lèi)層次映射為單個(gè)表。例如:存在病員類(lèi)、醫(yī)保類(lèi)和自費(fèi)病員類(lèi),其中醫(yī)保和自費(fèi)病員類(lèi)均為繼承病員類(lèi),這時(shí)我們所采用的映射方法為把病員類(lèi)、自費(fèi)、醫(yī)保類(lèi)中的所有屬性映射為病員表中的域,同時(shí)增加一個(gè)費(fèi)用類(lèi)別字段,以區(qū)別病員類(lèi)別。

1.3 模塊設(shè)計(jì)

醫(yī)院管理信息系統(tǒng)是一個(gè)典型的7×24小時(shí)連續(xù)不間斷系統(tǒng),系統(tǒng)一旦運(yùn)行,整個(gè)醫(yī)院的業(yè)務(wù)將依賴(lài)于該系統(tǒng),基于管理及信息量大及實(shí)時(shí)數(shù)據(jù)傳遞等特殊要求,對(duì)系統(tǒng)及網(wǎng)絡(luò)的性能有較高的要求。系統(tǒng)設(shè)計(jì)時(shí)按照軟件工程學(xué)的范疇嚴(yán)格遵循以下原則:

①開(kāi)放性和可擴(kuò)充性;②先進(jìn)性;③高可靠性、安全性;④可維護(hù)性。

醫(yī)院網(wǎng)絡(luò)是一套綜合的信息系統(tǒng),而且醫(yī)院的需求和各種數(shù)據(jù)在不停地變化,因此要求整個(gè)系統(tǒng)具有良好的可管理性,在界面上做到直觀清晰,并提供詳盡完善的技術(shù)手冊(cè),方便系統(tǒng)維護(hù)。

針對(duì)醫(yī)院對(duì)HIS的系統(tǒng)要求,根據(jù)衛(wèi)生部“醫(yī)院信息系統(tǒng)基本功能規(guī)范”,經(jīng)過(guò)仔細(xì)分析調(diào)研與論證,我們將HIS分為業(yè)務(wù)管理模塊和臨床信息模塊。其中,業(yè)務(wù)管理模塊包括:門(mén)診患者管理掛號(hào)劃價(jià)收費(fèi)模塊、藥庫(kù)藥房管理模塊、住院管理模塊、護(hù)士信息管理工作站模塊、財(cái)務(wù)管理與醫(yī)院經(jīng)濟(jì)核算模塊和院長(zhǎng)辦公綜合查詢(xún)與輔助決策支持模塊;臨床信息模塊包括:醫(yī)學(xué)影像圖片信息模塊、檢查檢驗(yàn)信息模塊、電子病歷模塊和遠(yuǎn)程專(zhuān)家模塊。

HIS系統(tǒng)功能模塊如圖2所示。

圖2 HIS系統(tǒng)功能模塊圖

2 設(shè)計(jì)步驟

2.1 用例建模

通過(guò)對(duì)醫(yī)院醫(yī)護(hù)人員和相關(guān)行政人員調(diào)研,根據(jù)醫(yī)院有關(guān)門(mén)診管理的業(yè)務(wù)流程,基于UML使用面向?qū)ο蠓治龇椒▽?duì)門(mén)診系統(tǒng)進(jìn)行分析,得出系統(tǒng)的初步用例模型如圖3所示。

圖3 系統(tǒng)分析初期用例模型

2.2 順序圖建模

用例圖很好地描述了系統(tǒng)功能或是目標(biāo),但是卻很難描述系統(tǒng)中存在對(duì)象及其對(duì)象的交互,而UML中的順序圖則在這方面給予補(bǔ)充描述。掛號(hào)用例場(chǎng)景中我們已經(jīng)提到進(jìn)行門(mén)診掛號(hào)的角色是門(mén)診操作員,病員只有通過(guò)他才能與系統(tǒng)交互。操作員向邊界類(lèi)(窗口)發(fā)出消息,進(jìn)行查看病員信息或是添加病員信息,然后返回門(mén)診掛號(hào)信息及病員主要信息,操作員再向邊界類(lèi)發(fā)出查看坐診記錄信息,坐診記錄對(duì)象完成查詢(xún)?nèi)蝿?wù)返回,根據(jù)病員的意見(jiàn)進(jìn)行掛號(hào)并創(chuàng)建掛號(hào)單,同時(shí)根據(jù)設(shè)置的掛號(hào)費(fèi)用對(duì)病員進(jìn)行收費(fèi),創(chuàng)建發(fā)票對(duì)象,發(fā)票對(duì)象向后臺(tái)數(shù)據(jù)庫(kù)發(fā)出記帳消息,后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行記帳,成功后返回成功信息,打印出發(fā)票及掛號(hào)單返回操作員,然后交給病員。掛號(hào)用例場(chǎng)景順序圖如圖4所示。

圖4 掛號(hào)用例場(chǎng)景順序圖

2.3 數(shù)據(jù)服務(wù)層實(shí)現(xiàn)

數(shù)據(jù)服務(wù)層通常是應(yīng)用程序中靜態(tài)特性最強(qiáng)的層,與邏輯業(yè)務(wù)層相比,數(shù)據(jù)結(jié)構(gòu)很少受到改變的影響,因此對(duì)此層我們考慮的較少,當(dāng)然我們也必須建立表單和設(shè)計(jì)表。但是,與數(shù)據(jù)相關(guān)的數(shù)據(jù)訪問(wèn)經(jīng)常發(fā)生,此類(lèi)數(shù)據(jù)通常放在數(shù)據(jù)庫(kù)中。為了實(shí)現(xiàn)的便捷,我們有時(shí)會(huì)把數(shù)據(jù)服務(wù)層進(jìn)一步的劃分,將對(duì)數(shù)據(jù)的邏輯請(qǐng)求從物理訪問(wèn)技術(shù)中分離處理。使用良好面向?qū)ο蟮脑O(shè)計(jì)概念來(lái)構(gòu)建應(yīng)用程序可以進(jìn)一步分離這些層[8-9]。

2.4 中間層實(shí)現(xiàn)

中間層就是應(yīng)用邏輯層,這一層動(dòng)態(tài)性很強(qiáng)。在本開(kāi)發(fā)中,中間層開(kāi)發(fā)主要采用基于組件開(kāi)發(fā)模式。組件是軟件、模塊包或子系統(tǒng)的一個(gè)重要部分,它是概要設(shè)計(jì)在物理上的實(shí)現(xiàn),組件的開(kāi)發(fā)與面向?qū)ο蟮拈_(kāi)發(fā)是密不可分的[10]。

在這一層中包含了前面所討論的多數(shù)實(shí)體類(lèi)。開(kāi)始時(shí),每個(gè)執(zhí)行結(jié)構(gòu)將對(duì)類(lèi)圖中定義的屬性作鏡像,對(duì)每個(gè)屬性將有Get和Set操作,并且所有的屬性都將聲明為私有的屬性,并為每個(gè)實(shí)體類(lèi)將提供一些服務(wù),例如請(qǐng)求檢索自身的信息[11]。同時(shí),這些類(lèi)還必須能夠響應(yīng)更新的請(qǐng)求,因此對(duì)一些表單的永久管理可以由應(yīng)用程序中的其他層完成。因此,在此層中不僅有和用戶(hù)界面層的通信,而且還有與數(shù)據(jù)庫(kù)訪問(wèn)層間的通信。

2.5 用戶(hù)表示層實(shí)現(xiàn)

此層的實(shí)現(xiàn)也稱(chēng)為用戶(hù)界面設(shè)計(jì)。用戶(hù)界面層的設(shè)計(jì),一般采用的是原型法。原型作為對(duì)項(xiàng)目參與者來(lái)說(shuō)是一個(gè)非常好的演示工具。用戶(hù)界面的設(shè)計(jì)是一項(xiàng)復(fù)雜的任務(wù),需要廣泛的技能來(lái)支持。用戶(hù)界面設(shè)計(jì)需要遵循如下的設(shè)計(jì)原則[12]:①結(jié)構(gòu)原則;②簡(jiǎn)化原則;③可見(jiàn)性原則;④反饋原則;⑤設(shè)計(jì)標(biāo)準(zhǔn)并堅(jiān)持使用;⑥合理使用顏色;⑦不要?jiǎng)?chuàng)建擁擠的用戶(hù)界面。

2.6 用戶(hù)界面層實(shí)現(xiàn)

我們將類(lèi)型層次化,前面的類(lèi)和接口的建模其本質(zhì)就是對(duì)業(yè)務(wù)/領(lǐng)域類(lèi)和處理類(lèi)進(jìn)行建模。對(duì)于該系統(tǒng)來(lái)說(shuō),用戶(hù)界面由可視化很強(qiáng)的軟件開(kāi)發(fā),因此,完全可以使用用戶(hù)界面流程圖來(lái)說(shuō)明,如圖5所示。

圖5 用戶(hù)界面流程圖

2.6.1 病員信息錄入界面 在病員信息錄入界面為便于用戶(hù)錄入,日期、民族、費(fèi)別、市縣、省份等字段為有限可選,因此提供下拉按鈕進(jìn)行選擇。對(duì)于病員如果不想提供詳細(xì)信息,那么只需點(diǎn)擊基本信息按鈕則屏蔽掉。病員信息錄入界面如圖6所示。

圖6 病員信息錄入界面圖

2.6.2 掛號(hào)界面 在掛號(hào)界面中,首先選擇病員:若為自費(fèi)患者,按快捷鍵F6自動(dòng)選擇病歷卡,在卡號(hào)欄中錄入正確的病歷卡號(hào)就會(huì)自動(dòng)從病員信息庫(kù)中檢索出病員信息;若為醫(yī)?;颊邉t單擊F7,自動(dòng)讀取醫(yī)???,檢索出醫(yī)保患者的信息。選擇初診復(fù)診狀態(tài):選擇初診自動(dòng)加收病歷工本費(fèi)。對(duì)于科室和醫(yī)師的選擇:在科室欄中錄入科室的拼音碼或五筆碼回車(chē),右部列表中會(huì)自動(dòng)顯示當(dāng)班科室和專(zhuān)家的信息,使用上下箭頭選擇。選擇完畢,會(huì)自動(dòng)根據(jù)不同的科室或?qū)<疑上嚓P(guān)的費(fèi)用。在左側(cè)欄中顯示掛號(hào)名稱(chēng)和費(fèi)別,當(dāng)點(diǎn)擊右下方掛號(hào)按鈕時(shí),在界面下方顯示總合計(jì)。掛號(hào)界面如圖7所示。

圖7 掛號(hào)界面圖

2.6.3 劃價(jià)收費(fèi)界面 在劃價(jià)收費(fèi)界面中,若選擇的“卡類(lèi)別”是病歷卡,輸入卡號(hào),按回車(chē)鍵,如果病員存在,顯示患者姓名、費(fèi)別;若不存在則顯示錯(cuò)誤信息,對(duì)于科室和醫(yī)師,則根據(jù)下拉菜單進(jìn)行選擇。界面中部為藥品明細(xì)輸入窗口,同樣可在“類(lèi)別”和“名稱(chēng)”輸入欄輸入拼音碼或五筆碼快速選擇。根據(jù)藥品的名稱(chēng)則自動(dòng)彈出單價(jià),單價(jià)不可輸入和更改,當(dāng)輸入數(shù)量時(shí),則自動(dòng)產(chǎn)生金額。劃價(jià)收費(fèi)界面如圖8所示。

圖8 劃價(jià)收費(fèi)界面

2.6.4 病員發(fā)票查詢(xún)界面實(shí)現(xiàn) 在病員發(fā)票查詢(xún)界面中,可根據(jù)用戶(hù)的需求進(jìn)行定向查詢(xún),如根據(jù)病員ID、根據(jù)卡類(lèi)別、卡號(hào)、姓名及其使用姓名五筆碼或拼音碼進(jìn)行簡(jiǎn)單查詢(xún),同時(shí)根據(jù)查詢(xún)結(jié)果選擇是否查看詳細(xì)信息還是進(jìn)行信息修改。

基于UML的面向?qū)ο蠼J窃撥浖_(kāi)發(fā)的一個(gè)亮點(diǎn)。使用.NET平臺(tái)的可視化開(kāi)發(fā)界面友好且控件豐富。醫(yī)院管理信息系統(tǒng)的成功運(yùn)行證明了統(tǒng)一建模語(yǔ)言可以滿(mǎn)足醫(yī)院系統(tǒng)的復(fù)雜要求,在開(kāi)發(fā)過(guò)程中,進(jìn)一步體會(huì)到了面向?qū)ο蠹夹g(shù)復(fù)用性高、可維護(hù)性好的特點(diǎn)。但在系統(tǒng)設(shè)計(jì)中也存在一定的問(wèn)題,這就需要我們?cè)谝院蟮膽?yīng)用中不斷改進(jìn)和提高。

[1]劉超,張莉.可視化面向?qū)ο蠼<夹g(shù)-標(biāo)準(zhǔn)建模語(yǔ)言UML教程[M].北京:航空航天大學(xué)出版社,1999:39-44

[2]Roff J.UML 基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2008:131-139

[3]蔣慧,吳禮發(fā).UML Programming Guide設(shè)計(jì)核心技術(shù)[M].北京:希望電子出版社,2011:149-161

[4]Joseph Schmuller.UML 基礎(chǔ)、案例與應(yīng)用[M].北京:人民郵電出版社,2002:81-85

[5]歐陽(yáng)明.Client/Server體系結(jié)構(gòu)發(fā)展[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,1997,12(11):50-52

[6]王燦輝.用三層模式開(kāi)發(fā)計(jì)算機(jī)等級(jí)考試系統(tǒng)[J].福州大學(xué)學(xué)報(bào),2010,(5)::87-90

[7]馮凱,劉占書(shū),崔毅.談醫(yī)院數(shù)據(jù)庫(kù)從8i到10g升級(jí)的步驟和方法[J].中國(guó)醫(yī)學(xué)教育技術(shù),2010,24(1):45-46

[8]宗梅,馬小平.基于.NET的三層Client/Server結(jié)構(gòu)及其應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,(1):37-41

[9]李學(xué)軍,審瑞民.構(gòu)建基于Windows DNA的三層應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,(8):31-33

[10]李東紅,董春麗.多層次 Client/Server結(jié)構(gòu)及其應(yīng)用[J].信息工程大學(xué)學(xué)報(bào),2010,4(1):73-76

[11]Scott W.Ambler.The Object Primer The Application Developer'sGuide to Object Orientation and the UML(Second Edition)[M].北京:機(jī)械工業(yè)出版社,2010:99-110

[12]邵維忠,楊芙清.面向?qū)ο蟮南到y(tǒng)分析設(shè)計(jì)[M].北京:清華大學(xué)出版社,2011:137-151

猜你喜歡
病員用戶(hù)界面面向?qū)ο?/a>
自然用戶(hù)界面在智能家居系統(tǒng)中的應(yīng)用路徑創(chuàng)新研究:生成式人工智能技術(shù)的調(diào)節(jié)作用
包裝工程(2023年16期)2023-08-25 11:40:58
基于CiteSpace的國(guó)外用戶(hù)界面體驗(yàn)圖譜量化分析
老年艾滋病患者抗病毒治療的綜合護(hù)理對(duì)策
腦卒中后抑郁的心理護(hù)理研究
面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開(kāi)發(fā)
面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
UI用戶(hù)界面色彩設(shè)計(jì)研究
流行色(2017年12期)2017-10-26 03:08:44
面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
基于B/S的跨平臺(tái)用戶(hù)界面可配置算法研究
加強(qiáng)護(hù)理員規(guī)范化管理 提高病員滿(mǎn)意度
资溪县| 新竹县| 客服| 崇阳县| 密山市| 高邑县| 清流县| 贡嘎县| 澄江县| 逊克县| 竹山县| 松潘县| 交城县| 萍乡市| 永康市| 朝阳市| 顺昌县| 莱州市| 怀宁县| 怀远县| 阿尔山市| 赤峰市| 巫山县| 广东省| 厦门市| 蓬安县| 深水埗区| 宝应县| 华池县| 克山县| 崇左市| 河北区| 常熟市| 独山县| 临漳县| 尚义县| 奈曼旗| 页游| 泸水县| 望谟县| 宁国市|