999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MDA的醫院管理系統的研究與設計

2011-01-01 00:00:00王蕓
計算機時代 2011年1期

摘要:模型驅動架構(MDA)是對象管理組織OMG提出的軟件開發方法,它具有高效地實現系統集成和互操作、解決遺留系統問題、適應業務邏輯的快速變更以及縮短開發周期等優點。文章以一個醫院管理系統項目設計為實例,研究了基于模型驅動架構(MDA)的軟件開發方法,實現了領域模型的建立及領域模型到應用模型的變換。

關鍵詞:模型驅動架構;平臺無關;模型變換;醫院管理系統

0、引 言

傳統的軟件開發存在開發效率比較低、軟件可移植性差、文檔質量低、系統互操作性差等各種問題。對象管理組織OMG在2001年7月提出了全新的軟件開發框架——模型驅動架構(Model-Driven Architecture,MDA)。MDA將建模語言視為編程語言,而不僅僅是設計語言。用建模語言編程可以提高生產效率,改善質量,并使軟件產品生存期更長。

OMG的構想是將目前的開發行為提升到更高的抽象層級——分析模型,把針對特定計算平臺的編碼工作交由機器自動完成,從而達到分離業務邏輯和具體實現平臺的目的,二者相對獨立變化。在傳統的軟件開發方法中,隨著項目的進展,設計階段產生的UML模型和代碼之間的同步會變得愈來愈困難——代碼為了應付新增加的需求和新產生的想法而不斷變化,模型卻一直停留在原地不動,這使得模型在一段時間之后就失去了它的價值。OMG提出了一個根本的解決方案——在MDA中,模型不再是一種輔助工具,而是開發過程的產品。

MDA包括圍繞支持模型驅動開發過程的一系列標準框架,這些標準包括:統一建模語言UML(Unified Modeling Language)、元對象設施MOF(Meta Object Facility)、XML元數據交換XMI(XML Metadata Interchange)、公共倉庫元模型CWM(Common Warehouse Metamodel)等。

1、MDA的基本框架

MDA框架的主要元素包括模型、PIM、PSM、語言、元語言、變換、變換定義以及變換工具。

從開發者的角度看,PSM和PIM是最重要的元素。開發者把注意力集中在開發PIM上,在高抽象層次描述系統軟件,然后,選擇一種或者多種工具來執行對PIM的變換。這些變換工具是按照特定的變換定義開發的。變換的結果是PSM,這個PSM再被變換成代碼。

2、MDA的開發過程

MDA通過模型之間變換來實現軟件的開發。MDA的架構中包含了PIM和PSM兩個重要的部分。應用MDA方法進行軟件開發時,需要開發人員做兩件事情:一是為系統設計平臺無關模型PIM;二是選擇適當的變換規則進行模型變換,使PIM生成PSM。

MDA的軟件開發過程和傳統的軟件開發過程具有相同的開發階段,主要區別是各階段的設計工件不同。傳統軟件開發的設計工件是文檔圖,容易被開發者所理解;MDA的設計工件是精確的模型,能夠被機器所理解。

3、醫院管理系統開發平臺

Compuware公司的OptimalJ是Butler集團評出的最好的MDA工具之一。它實現了MDA規范,通過從可視化的模型中直接產生程序的代碼,從而提高了基于J2EE的應用程序的開發速度。

OpfimalJ有三種主要模型。

(1)Domain模型:Domain模型對應于MDA中的PIM,它是OptimalJ模式驅動開發框架的核心部分。Domain模型包含Class、Service和Use Case模型;同當今絕大多數MDA應用一樣,使用UML表示模型。

(2)Applicafion模型:Application模型對應MDA中的平臺相關模型PSM。

(3)Code模型:Code模型包含Java類和接口的定義。

3.1建立模型

醫院管理系統包含門診掛號系統、門診劃價收費系統、門診醫生工作站、住院病人管理系統、住院費用管理系統、住院醫生工作站、藥房管理系統、院長綜合查詢系統和外部數據接口等。

本文重點討論如下幾個核心模塊:人員管理模塊,住院管理模塊,病案病歷管理系統。各模塊功能描述如下:

(1)人員管理模塊。一個醫院的員工(Employee)只能隸屬于一個部門并且只能屬于一種員工類型。而一個具體醫院的部門(Department)之間的關系實際上是—個樹型結構,一個部門下面可以有多個子部門,每個子部門只能隸屬一個上級部門,而不能同時隸屬于多個上級部門。在醫院管理系統中,我們把員工類型分為:管理人員、醫護人員、后勤人員、服務人員等。不同的用戶在系統中采用不同的識別號進行區分。用戶子模塊的具體設計如圖1所示。

(2)住院管理模塊。在系統中,我們定義一個住院病人可以擁有一張病床:病床的狀態分為有病人使用和空著兩種。

(3)病案病歷管理模塊。不管病人是門診治病,還是住院治療,每個病人都應該有相應的病歷,作為醫院對患者進行診療全過程的完整記錄。

3.2建立PIM

下面給出住院系統的PIM,如圖2所示。在圖2所示的模型中,我們注意到沒有動態方法,這是因為有很多方法OptimalJ可以根據模型之間的關系自動生成。對于OptimalJ不能生成的方法,我們會在系統的PSM中手動添加。這樣做的好處是簡化了轉換的復雜性,易于系統的維護。

3.3PIM到PSM的變換

(1)PlM到關系PSM的變換

對于每一個應用,都必須經過從Domain模型到DBMS模型的轉換。將概念上的數據類持久化,生成數據庫Schema是基本步驟。在本系統經過轉換后生成的DBMS模型如圖3所示。

圖3是從Domain模型生成的原始的DBMS模型。如圖所示,我們可以根據需要進行必要的調整,比如調整數據類型或者字符串的長度等。而且這種調整會在下一次從Domain模型到DBMS模型的轉換中保留。

(2)PIM到FAB PSM的變換

EJB層是J2EE架構的關鍵層次。OptimalJ目前只能用來生成J2EE應用,換句話說,Optimatl只支持EJB PSM的變換。UML的PIM模型同EJB PSM模型有著很大不同。它可以簡單地用為每個class生成一個組件的方法來創建EJB組件模型。

EJB數據模式是一組類、屬性、關聯,在數據交互時,它們被EJB組件作為整體來對待。FAB數據類是一個類,它是EJB數據模型的一部分。對于在PIM中使用的關聯的組合聚合(composite aggregation)屬性,一個類如果是某個整體的一部分,那么分組時它就被歸入那個整體所生成的數據模式。

3.4 PSM到代碼的變換

(1)DBMS PSM到代碼的變換

將圖3所示的DBMS PSM變換成SQL Script,其部分代碼片斷如下所示:

CREATE TABLE zygLpatient(

patientlD INTEGER NOT NULL,

patientName VARCHAR(40) NULL,

sex VARCHAR(2) NuLL

aateotBirth DAIE NULL,

patientAddtess VARCHAR(40) NULL,

patientTel VARCHAR(40) NULL,

PARIMAY KEY(patientlD)

):

(2)EJB PSM到代碼的變換

從PIM得到的EJB PSM是一個具有EJB數據模式的PSM,雖然這個PSM已經具有了EJB平臺的相關細節,但是離真正的EJB實現代碼還比較遠。EJB一般分為三種類型:Session Bean、Entity Bean和Message Driven Bean。

在本實例中選擇將FAB PSM變換成為Entity Bean。按照EJB規約,每個Entity Bean都要有一個主鍵類(key class),如果Entity Bean提供遠程客戶視圖,那么就要提供遠程接口和遠程home接口;如果Entity Bean提供本地客戶視圖,就需要本地接口和本地home接口。

為了定義一些FAB組件的屬性,模型變換工具會自動生成用XML寫的描述信息。這些描述信息表述了業務方法和組件的持久化策略。

每個EJB組件都提供了實現EJB數據類的類,每個數據類都有set和get方法,以及在本地維護細粒度的私有屬性。

(3)Web PSM到代碼的變換

應用軟件的Web部分是按照J2EE對Web層的標準實現的。組件是用JSP實現的。每個來自客戶的請求都會實例化一個JSP,產生的結果HTML會被送回瀏覽器。每個Web組件都對應生成一個JSP文件。軟件運行時,JSP會生成HTML頁面,頁面中包含一個表,表中各行對應于同一類型的所有對象,表中各列對應于該類型的屬性,如此便將Web PSM變換成了代碼(可以運行的JSP頁面)。

主站蜘蛛池模板: 亚洲视频二| 亚洲国产精品日韩av专区| yjizz国产在线视频网| 久久精品中文无码资源站| 秋霞一区二区三区| 狠狠综合久久| 精品国产www| 国产欧美在线观看一区| 国产后式a一视频| 又爽又大又黄a级毛片在线视频 | 久草网视频在线| 国产麻豆另类AV| 亚洲人成网站色7799在线播放| 色国产视频| 午夜一区二区三区| 国产精品永久久久久| 午夜无码一区二区三区在线app| 波多野结衣在线一区二区| 国产福利一区视频| 欧美福利在线| 免费观看欧美性一级| 婷婷色中文| 亚洲天堂视频在线播放| 伊人久久婷婷| 久久青草热| 亚洲综合狠狠| yjizz国产在线视频网| 欧美精品啪啪| 天天躁日日躁狠狠躁中文字幕| 伊人色在线视频| 一区二区午夜| 亚洲美女一级毛片| 国产成人免费观看在线视频| 视频二区中文无码| 亚洲国产中文精品va在线播放 | 久久黄色视频影| 精品国产免费第一区二区三区日韩| 亚洲精品第一页不卡| 国产精品偷伦视频免费观看国产| 免费中文字幕在在线不卡| 亚洲成a人片在线观看88| 国产永久免费视频m3u8| 亚洲日本在线免费观看| 红杏AV在线无码| 国产一区二区三区夜色| 国产精品尤物在线| 日本黄色不卡视频| 自偷自拍三级全三级视频 | 国产精品网址你懂的| 国产人碰人摸人爱免费视频| 免费在线色| 日本成人在线不卡视频| 成人午夜视频在线| 国产欧美日韩专区发布| 国产小视频a在线观看| 自慰网址在线观看| 熟女视频91| 欧美精品在线观看视频| 天天操天天噜| 国产不卡网| 无码不卡的中文字幕视频| a毛片在线| 色综合热无码热国产| 青青青伊人色综合久久| 久久精品波多野结衣| 国产区91| 成人福利在线看| 99久久精彩视频| 久久窝窝国产精品午夜看片| 青青网在线国产| 91毛片网| 毛片大全免费观看| 欧美日本在线播放| 国产一区三区二区中文在线| 久久午夜影院| 亚洲人妖在线| 精品无码一区二区三区在线视频 | 久久九九热视频| 国产一区二区精品福利| 色综合天天综合中文网| 亚洲中文字幕无码mv| 国产在线观看高清不卡|