電子病歷管理系統(tǒng)的設(shè)計畢業(yè)設(shè)計(論文)_第1頁
電子病歷管理系統(tǒng)的設(shè)計畢業(yè)設(shè)計(論文)_第2頁
電子病歷管理系統(tǒng)的設(shè)計畢業(yè)設(shè)計(論文)_第3頁
電子病歷管理系統(tǒng)的設(shè)計畢業(yè)設(shè)計(論文)_第4頁
電子病歷管理系統(tǒng)的設(shè)計畢業(yè)設(shè)計(論文)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、篩崖省照卜境砌汞蘇求事娃邯伐趙獨鄰揮財根秒因酪鍵藹飲唬瀉牟癡 本本科科畢畢業(yè)業(yè)設(shè)設(shè)計計(論論文文) 題目名稱:題目名稱: 醫(yī)院電子病歷系統(tǒng)的設(shè)計 摘摘 要要 本文介紹了一個基于 B/S 結(jié)構(gòu)開發(fā)的電子病歷管理系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)計算 機對病歷的錄入和管理,采用了面向?qū)ο蟮姆治龇椒ê驮O(shè)計思想,使用 JavaWeb 技 術(shù)實現(xiàn)系統(tǒng)的功能。開發(fā)工具采用 MyEclipse2013 和 Tomcat6.0,后臺選用 Oracle 數(shù) 據(jù)庫,比較完整的實現(xiàn)了一個電子病歷管理系統(tǒng)所具備的功能。該系統(tǒng)采用 MVC 模式開發(fā),首先從用戶界面中獲取數(shù)據(jù),然后通過邏輯請求調(diào)用實體類、業(yè)務(wù)類以 及 DAO 類中相關(guān)

2、的業(yè)務(wù)方法來進(jìn)行數(shù)據(jù)處理,最后將數(shù)據(jù)返回給用戶界面層。用 戶界面層在該系統(tǒng)中以 JSP 和 HTML 來予以實現(xiàn),用戶可以在界面上進(jìn)行相應(yīng)的輸 入輸出操作;實體類、業(yè)務(wù)類和 DAO 類組成系統(tǒng)的模型層,該層主要負(fù)責(zé)實現(xiàn)用 戶的業(yè)務(wù)需求;而所有的控制器在該系統(tǒng)中以 Servlet 來予以實現(xiàn)。整個系統(tǒng)分為醫(yī) 務(wù)人員和管理員兩大模塊,醫(yī)務(wù)人員模塊實現(xiàn)了對病人和病歷的相關(guān)管理功能;管 理員模塊實現(xiàn)了對醫(yī)生、科室和密碼的相關(guān)管理功能。 關(guān)鍵詞關(guān)鍵詞:JavaWeb;MVC;Tomcat6.0;Oracle;電子病歷 Abstract This paper introduces a electronic

3、 medical record management system based on B/S structure, the system can realize the input and management of medical record by computer, the analysis method and object oriented design, using technology of JavaWeb to realize the function of system. Using MyEclipse2013 and Tomcat6.0 as the development

4、 tools, and choosing the Oracle database as the backstage, the function of electronic medical records management system can be realized. The system adopts MVC model development, first get the data from the user interface, and then through the logical request call entity class, business class and the

5、 DAO class related business methods for data processing, the data is returned to the user interface layer. Using the JSP and HTML as the User interface layer in the system, the interface for input and output operation can be used by users; the entity class, business class and the DAO class are colle

6、ctively referred to as the systems model layer, the layer is mainly responsible for the implementation of the business needs of users; and all the controller in the system with Servlet to realize. The whole system is divided into medical personnel module and administrator module two big modules, med

7、ical personnel module for the patient and the medical record management function; administrator module for the doctors, departments and password management functions. Key words: JavaWeb; MVC; Tomcat6.0; Oracle; medical record 目目 錄錄 摘摘 要要.I Abstract.II 目目 錄錄.I 第第 1 章章 緒論緒論.1 1.1 選題背景.1 1.2 選題目的.1 1.3

8、 選題意義.2 1.4 課題應(yīng)解決的主要問題.2 1.5 指導(dǎo)思想.2 1.6 國內(nèi)外動態(tài).4 第第 2 章章 方案論證方案論證.5 2.1 系統(tǒng)可行性分析.5 2.1.1 經(jīng)濟(jì)可行性分析.5 2.1.2 技術(shù)可行性分析.5 2.1.3 法律可行性.6 2.1.4 運行、操作可行性分析.6 2.2 方案分析.6 2.2.1 方案分類.6 2.2.2方案比較.6 2.2.3 方案選擇.8 第第 3 章章 需求分析需求分析.9 3.1 系統(tǒng)用戶分析.9 3.2 功能需求分析.10 3.2.1 系統(tǒng)的用例圖設(shè)計.10 3.2.2 系統(tǒng)類圖分析.11 3.3 運行環(huán)境規(guī)定.13 3.3.1 用戶界面.

9、13 3.3.2 設(shè)備要求.13 3.4 性能需求.13 3.4.1 性能.14 3.4.2 可擴展性.14 3.4.3 可用性 .14 3.4.4 易用性 .14 3.4.5 安全性 .14 第第 4 章章 過程論述過程論述.15 4.1 系統(tǒng)概要設(shè)計.15 4.1.1 功能的獨立性和模塊化.15 4.1.2 三層結(jié)構(gòu)設(shè)計思想.15 4.1.3 系統(tǒng)模塊的功能設(shè)計.16 4.1.4 數(shù)據(jù)庫設(shè)計.17 4.2 詳細(xì)設(shè)計及實現(xiàn).22 4.2.1 設(shè)計視圖層.22 4.2.2 設(shè)計控制層.23 4.2.3 設(shè)計對象模型.24 4.2.4 設(shè)計數(shù)據(jù)訪問層 .24 4.2.5 創(chuàng)建數(shù)據(jù)庫與連接數(shù)據(jù)庫

10、.25 4.2.6 登錄模塊.28 4.2.7 管理員模塊.31 4.2.8 醫(yī)務(wù)人員模塊.34 4.2.9 強制登錄驗證.40 4.2.10 安全退出.41 第第 5 章章 系統(tǒng)測試系統(tǒng)測試.42 5.1 白盒測試.42 5.1.1 安全測試.42 5.1.2 白盒測試過程.42 5.2 黑盒測試.44 5.3 測試結(jié)果.45 結(jié)結(jié) 論論.46 致致 謝謝.47 參考文獻(xiàn)參考文獻(xiàn).48 附附 錄錄.49 第第 1 章章 緒論緒論 1.11.1 選題背景選題背景 隨著我國醫(yī)療衛(wèi)生事業(yè)的迅速發(fā)展,醫(yī)學(xué)科學(xué)的不斷進(jìn)步,醫(yī)學(xué)模式的轉(zhuǎn)變和 群眾醫(yī)療觀念的逐步改變,我國的醫(yī)療管理的難度加大,對醫(yī)療管理的

11、要求更高。 而且當(dāng)今計算機信息和網(wǎng)絡(luò)通信技術(shù)的深入發(fā)展為提高醫(yī)院管理水平創(chuàng)造了良好的 條件,醫(yī)院信息管理網(wǎng)絡(luò)系統(tǒng)也因此逐漸在我國各級醫(yī)院中逐步推廣應(yīng)用。 過去開發(fā)醫(yī)院信息系統(tǒng),往往是從各個子系統(tǒng)的不同角度來管理病人信息的不 同部分。隨著系統(tǒng)規(guī)模的擴大,功能越來越復(fù)雜,要從整體把系統(tǒng)的集成與數(shù)據(jù)的 共享,同時兼顧未來的擴充與發(fā)展,從而對系統(tǒng)的設(shè)計要求也越來越高。為了避免 新開發(fā)的系統(tǒng)不斷修修補補甚至推到重來,必須將病歷信息作為一個獨立與具體應(yīng) 用系統(tǒng)的整體來研究,以實現(xiàn)計算機化的病歷也就是電子病歷。因此,電子病歷是 從更深層次上保證醫(yī)院信息系統(tǒng)長期穩(wěn)定發(fā)展的基礎(chǔ)。 電子病歷管理系統(tǒng)的設(shè)計可以實現(xiàn)

12、用計算機來對病歷的管理,給醫(yī)生、病人以 及醫(yī)院的管理員提供了便捷。同時,醫(yī)生可以根據(jù)自己的角色操作不同的權(quán)限,簡 化了患者的看病流程,方便了各個科室醫(yī)務(wù)人員的相互協(xié)作與信息共享。 由此可見,設(shè)計一個電子病歷的管理系統(tǒng),可以加強醫(yī)院的一些醫(yī)療制度的管 理,使其變得更加規(guī)范化和智能化。因此,本次畢業(yè)設(shè)計中我選擇的題目是“醫(yī)院 電子病歷系統(tǒng)的設(shè)計” 。 1.21.2 選題目的選題目的 伴隨著時代的步伐,我們踏進(jìn)了 21 世紀(jì)這個高度信息化的互聯(lián)網(wǎng)時代,這句話 毫不夸張的說明了互聯(lián)網(wǎng)在我們?nèi)粘I钪凶饔?。?dāng)然,醫(yī)院的管理方面也講大量 運用到互聯(lián)網(wǎng)技術(shù),而且當(dāng)今計算機信息和網(wǎng)絡(luò)通信技術(shù)的深入發(fā)展為提高醫(yī)

13、院管 理水平創(chuàng)造了良好的條件,醫(yī)院信息管理網(wǎng)絡(luò)系統(tǒng)也因此逐漸在我國各級醫(yī)院中逐 步推廣應(yīng)用。所以,電子病歷管理系統(tǒng)的設(shè)計可以為醫(yī)院的管理提供更良好的服務(wù)。 本系統(tǒng)主要采用 JavaWeb 技術(shù),主要包括 JSP、Servlet 等技術(shù)的開發(fā),同時加 入了 MYBATIS 框架技術(shù)。系統(tǒng)主要模擬的是軟件工程的設(shè)計思想,嚴(yán)格按照各個 步驟完成系統(tǒng)的各個方面的設(shè)計,研究內(nèi)容主要包括:病人、醫(yī)生、科室、病歷和 用戶等。各個用戶可以根據(jù)自己的角色操作不同的功能來實現(xiàn)對病歷的管理。四年 的大學(xué)生活,學(xué)習(xí)了很多的專業(yè)知識,為了能夠?qū)⑦@些專業(yè)知識運用到實際生活中 來,畢業(yè)之后能夠更好地適應(yīng)社會的需要,所以本次

14、設(shè)計選題考慮的題目更接近于 社會,讓自己的綜合素質(zhì)得到提高,從而使自己能夠和社會順利接軌。 1.31.3 選題意義選題意義 電子病歷設(shè)計具有重大的社會、經(jīng)濟(jì)意義。 第一,電子病歷的應(yīng)用是勢在必行的。 從我國的現(xiàn)實情況看,醫(yī)療體制改革目的是降低醫(yī)療成本,提高醫(yī)療質(zhì)量。電 子病歷(EMR)在近幾年來受到空前的關(guān)注,很多地方開始爭先恐后的建設(shè)以電子 病歷為核心的衛(wèi)生信息平臺。相關(guān)研究認(rèn)為,目前 EMR 軟件正處于成長期。而且 傳統(tǒng)的病歷模式所發(fā)揮的作用是有限的,所以應(yīng)用電子病歷勢在必行。 第二,電子病歷能夠為社會帶來更優(yōu)質(zhì)的服務(wù)。 傳統(tǒng)病歷內(nèi)容是自由文本形式,字跡可能不清,內(nèi)容可能不完整,意思可能模

15、 糊不清;同時保存分散,難以查找,容易丟失;并且,科學(xué)分析時需要轉(zhuǎn)抄,容易 出現(xiàn)潛在錯誤。 電子病歷有關(guān)病人的健康和醫(yī)護(hù)情況完整的、集成的信息體現(xiàn)形式。它的內(nèi)容 更加充分,病歷的書寫更加規(guī)范,不易出錯,減輕書寫強度,在效率方面有很大的 提高。同時電子病歷保存更加簡單,而且查詢方便。可以協(xié)助醫(yī)院提高工作效率, 從而為社會帶來更優(yōu)質(zhì)的服務(wù)。 1.41.4 課題應(yīng)解決的主要問題課題應(yīng)解決的主要問題 本系統(tǒng)主要使用了 JSP、Servlet 等相關(guān)技術(shù),開發(fā)了一個基于中小型醫(yī)院的電 子病歷管理系統(tǒng)。后臺數(shù)據(jù)庫采用 Oracle,以 Windows 為操作平臺,能夠有效的對 醫(yī)院的病歷進(jìn)行管理。同時界面

16、簡潔友好、快速實用且查詢方便。 用戶方面主要分為管理員和醫(yī)務(wù)人員,根據(jù)自己所具備的不同權(quán)限來實現(xiàn)相關(guān) 的操作。承擔(dān)其自己的工作職責(zé)。 管理員方面主要負(fù)責(zé)醫(yī)院內(nèi)部的相關(guān)管理,主要包括對醫(yī)生的管理以及對科室 的管理操作。同時,為了提高醫(yī)院管理的安全性,管理員可以對醫(yī)院內(nèi)部進(jìn)行加密 管理,并且定期更新,為醫(yī)院提供一個更安全的管理環(huán)境。 醫(yī)務(wù)人員方面根據(jù)自己不同的科室進(jìn)行不同的操作,可以實現(xiàn)對病人個人信息 的管理,主要包括信息錄入,以及對錄入完的信息修改、查詢和刪除操作。同時可 以給信息錄入完成的病人填寫病歷,并且實現(xiàn)對病歷的修改、查詢和歸檔操作。如 果需要,可以根據(jù)不同條件查詢相應(yīng)的病歷,對病歷進(jìn)行

17、打印操作。醫(yī)院門診病歷 一般保存年限為 15-20 年,所以,醫(yī)務(wù)人員需要對這些達(dá)到年限的病歷進(jìn)行刪除。 1.51.5 指導(dǎo)思想指導(dǎo)思想 本次畢業(yè)設(shè)計的電子病歷管理系統(tǒng)具有以下特點: (1) 系統(tǒng)采用 B/S 結(jié)構(gòu)開發(fā) B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)1。它是隨著 Internet 技術(shù)的 興起而對 C/S 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面通過 WWW 瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),主要事務(wù)邏輯在 服務(wù)器端(Server)實現(xiàn),形成所謂三層 3-tier 結(jié)構(gòu)。通過這種結(jié)構(gòu)開發(fā),可以使系 統(tǒng)變得更加方便、快捷和

18、高效。 (2) 系統(tǒng)采用 MVC 設(shè)計模式 MVC 設(shè)計模式,對應(yīng)的分別是模型層(Model),負(fù)責(zé)實現(xiàn)業(yè)務(wù)和數(shù)據(jù);視圖 層(View),負(fù)責(zé)實現(xiàn)輸入/輸出界面;控制層(Controller),主要負(fù)責(zé)從視圖層獲 取數(shù)據(jù),調(diào)用模型層來實現(xiàn)業(yè)務(wù)和數(shù)據(jù),最后跳轉(zhuǎn)到視圖層2。所以,在整個 MVC 模式中,Web 用戶向服務(wù)器提交的所有請求都由控制器接管。接受到請求之后,控 制器負(fù)責(zé)決定應(yīng)該調(diào)用哪個模型來進(jìn)行處理;然后模型根據(jù)用戶請求進(jìn)行相應(yīng)的業(yè) 務(wù)邏輯處理,并返回數(shù)據(jù);最后控制器調(diào)用相應(yīng)的視圖來格式化模型返回的數(shù)據(jù), 并通過視圖呈現(xiàn)給用戶。運用 MVC 模式,可以將業(yè)務(wù)處理和顯示分離,強迫將應(yīng) 用分

19、為模型、視圖和控制器,使開發(fā)者必須考慮應(yīng)用的額外復(fù)雜度,所以用這樣的 模式開發(fā)出來一個電子病歷管理系統(tǒng)更具有可擴展性2。 (3) 安全性設(shè)計 系統(tǒng)中設(shè)計了一個醫(yī)院密碼,該密碼由管理員進(jìn)行更新管理。而醫(yī)院內(nèi)部的醫(yī) 務(wù)人員登陸時需要提供該醫(yī)院密碼加上自己的登錄用戶名和登錄密碼才能登錄獲取 自己的操作權(quán)限,這樣就可以保證該系統(tǒng)是醫(yī)院內(nèi)部人員在使用,進(jìn)一步的提高了 該系統(tǒng)的安全性能。 (4) 面向?qū)ο笤O(shè)計 系統(tǒng)中將醫(yī)生、科室、病人、病歷等都封裝成了 java 中的實體類,并且實體類 之間具有相互的關(guān)聯(lián)關(guān)系,如:一個科室對應(yīng)多個病人,他們的關(guān)系屬于一對多的 關(guān)系;而一個病人對應(yīng)一張病歷,他們就屬于一對一

20、的關(guān)系。同時每個實體類都有 對應(yīng)的數(shù)據(jù)訪問類,可以直接訪問數(shù)據(jù)庫中的數(shù)據(jù),從而提高了對數(shù)據(jù)庫操作的安 全性和程序的可擴展性。 (5) 系統(tǒng)前臺采用 JavaWeb 技術(shù) 系統(tǒng)的前臺主要采用 JavaWeb 技術(shù)。首先,用戶通過訪問客戶端(IE、谷歌、 火狐等瀏覽器)訪問 JSP 頁面,選擇自己要實現(xiàn)的某項業(yè)務(wù),將其提交給服務(wù)器; 然后,服務(wù)器接受到請求之后,通過 Servlet 實現(xiàn)邏輯判斷,調(diào)用具體的業(yè)務(wù)方法來 實現(xiàn)具體的業(yè)務(wù);最后,服務(wù)器將這些業(yè)務(wù)的數(shù)據(jù)響應(yīng)給客戶端,通過 JSP 頁面反 饋給用戶1。如:管理員通過瀏覽器客戶端在地址欄輸入相應(yīng)的訪問該系統(tǒng)的管理 員登錄地址(http:/lo

21、calhost:8888/EMRManager/login/login.jsp)。登錄成功后,選擇自 己需要操作的業(yè)務(wù)來實現(xiàn)具體的功能。同時醫(yī)務(wù)人員也需要通在瀏覽器地址欄輸入 相應(yīng)的訪問該系統(tǒng)的醫(yī)務(wù)人員登錄地址 (http:/localhost:8888/EMRManager/login/doctorlogin.jsp)。登錄成功后,選擇自己需要 操作的業(yè)務(wù)來實現(xiàn)具體的功能。工作原理圖如圖 1-1: 圖 1-1 工作原理圖 1.61.6 國內(nèi)外動態(tài)國內(nèi)外動態(tài) 國外動態(tài):美國是全世界醫(yī)療信息技術(shù)最發(fā)達(dá)的國家,他們研究的電子病歷架 構(gòu)是根據(jù) HIMSS 的電子病歷模型,主要由臨床數(shù)據(jù)倉庫(CDR)

22、、臨床決策支持系 統(tǒng)(CDSS)、受控醫(yī)學(xué)詞匯表(CMV)、計算機化的醫(yī)囑系統(tǒng)(CPOE)、藥品管理系統(tǒng) (EMAR)、臨床文檔應(yīng)用程序、以及企業(yè)級的病人主索引(Enterprise Master Patient Index, EMPI)等組成;在國外的一些做法是:比如,美國,由醫(yī)療對應(yīng)的政府部門 牽頭,統(tǒng)一制定電子病歷認(rèn)證標(biāo)準(zhǔn),必須符合標(biāo)準(zhǔn)的廠商才允許從事醫(yī)療機構(gòu)的電 子病歷實施,同時,對實施符合“有效性應(yīng)用”(meaningful use)的醫(yī)院進(jìn)行獎勵和 補貼,基于 HL7 標(biāo)準(zhǔn)的電子病歷系統(tǒng)得到了非常廣泛的應(yīng)用。 國內(nèi)動態(tài):目前電子病歷在國內(nèi)興起,EMR 軟件正處于成長期。電子病歷有這

23、 樣一些基本的進(jìn)化過程,從傳統(tǒng)的紙質(zhì)病歷、病歷的電子化、結(jié)構(gòu)化電子病歷、具 有安全的醫(yī)療過程管理能力的電子病歷3。當(dāng)前國內(nèi)醫(yī)院使用電子病歷主要用來電 子貯存、查詢、統(tǒng)計、數(shù)據(jù)交換等管理。目前區(qū)域性病歷數(shù)據(jù)交換和共享仍是一個 未解決的問題。電子病歷在國內(nèi)的應(yīng)用層次仍然較低,主要由于缺少法律和政策支 持、安全管理不到位,電子病歷市場有待更進(jìn)一步開發(fā)。業(yè)內(nèi)人士認(rèn)為,目前電子 病歷產(chǎn)品不夠成熟,目前的產(chǎn)品只滿足基本業(yè)務(wù),尚沒有大規(guī)模、成熟的臨床路徑、 決策支持的高級應(yīng)用,對應(yīng)產(chǎn)品也在完善和開發(fā)中。 管理員 醫(yī)務(wù)人員 客戶端服務(wù)器 數(shù) 據(jù) 庫 第第 2 章章 方案論證方案論證 2.12.1 系統(tǒng)可行性分

24、析系統(tǒng)可行性分析 開發(fā)任何一個基于計算機的系統(tǒng)都會受到時間和資源的限制。因此,開發(fā)方在 接受客戶的項目之前,必須根據(jù)客戶可能提供的時間和資源等條件進(jìn)行可行性研究。 可行性研究工作要在初步的需求定義之后進(jìn)行。其主要任務(wù)不是研究如何解決問題, 而是用最小的代價在最短的時間內(nèi)確定該項目是否值得去解決,是否存在可行性研 究方案,即在系統(tǒng)層面上論證系統(tǒng)開發(fā)的可行性。 2.1.1 經(jīng)濟(jì)可行性分析 開發(fā)一個基于計算機的系統(tǒng)主要是為了獲取較好的經(jīng)濟(jì)效益和社會效益。因此 對待開發(fā)系統(tǒng)的經(jīng)濟(jì)可行性論證是很重要的內(nèi)容。首先,本次畢業(yè)設(shè)計的系統(tǒng)是由 學(xué)生自己研究開發(fā),所選用開發(fā)工具為 MyEclipse2013,語言

25、為面向?qū)ο蟮?Java 語 言。數(shù)據(jù)庫方面選用的是系統(tǒng)自帶的 Oracle,所以不存在軟件上的經(jīng)費,同時由于是 個人開發(fā),沒有地點環(huán)境的限制,設(shè)備方面為自己的筆記本電腦,所以也不存在環(huán) 境和設(shè)備方面的開發(fā)費用。而當(dāng)軟件開發(fā)成功后,可以給醫(yī)院的管理方面提供很大 的便捷,能夠帶來很大的經(jīng)濟(jì)效益,所以經(jīng)濟(jì)上是可行的。 2.1.2 技術(shù)可行性分析 技術(shù)可行性是可行性研究的關(guān)鍵內(nèi)容。由于系統(tǒng)分析和定義過程與系統(tǒng)技術(shù)可 行性評估過程同時進(jìn)行,此時系統(tǒng)的功能、性能和目標(biāo)的不確定性會給技術(shù)可行性 論證帶來許多困難。因此,技術(shù)可行性研究室非常重要的內(nèi)容。 為了彌補我技術(shù)上的不足,在假期我參加了一次 java 方

26、面的實訓(xùn),主要研究的 課程有 J2SE、J2EE、Oracle、JSP、Servlet、HTML 和 JS 等方面的內(nèi)容。下面簡單 介紹下這些技術(shù)的作用。 (1) J2SE 是 Java 語言的基礎(chǔ)部分,基礎(chǔ)是做好每一件事情的開始,畢業(yè)設(shè)計需 要用一種專業(yè)的語言來進(jìn)行開發(fā),因為我選擇了 Java 語言作為開發(fā)語言,所以我鞏 固了 J2SE 這部分基礎(chǔ)知識。 (2) J2EE 是 Java 語言的企業(yè)版,主要用于分布式網(wǎng)絡(luò)程序的開發(fā),對 WEB 開 發(fā)很有用。 (3) Oracle 是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,通俗地講 它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合

27、。是目前最流行的客戶端/服 務(wù)器 CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一4。而我也準(zhǔn)備畢業(yè)以后從事相關(guān)的 開發(fā),所以選擇 Oracle 作為本次畢業(yè)設(shè)計的數(shù)據(jù)庫。 (4) HTML 是一種超文本標(biāo)記語言,通過網(wǎng)頁的形式將內(nèi)容顯示給用戶5。通過 該技術(shù)可以將其與 JSP 技術(shù)結(jié)合,從而做成界面,提供用戶輸入輸出。 (5) JS 是一種基于對象和事件驅(qū)動并且具有安全性能的腳本語言,可以用來向 HTML 頁面添加交互行為,比如登錄的安全驗證等。該種語言通常被直接嵌入 HTML 頁面中,這樣能夠加強系統(tǒng)界面的交互6。 (6) Servlet 技術(shù)則是實現(xiàn)邏輯判斷,通過界面的輸入等操作,對其進(jìn)

28、行邏輯處理, 然后調(diào)用相關(guān)的數(shù)據(jù)處理方法,然后實現(xiàn)判斷,最后跳轉(zhuǎn)到相應(yīng)的界面顯示給用戶。 所以該技術(shù)對業(yè)務(wù)的邏輯判斷是不可缺少的。 通過學(xué)習(xí)這些內(nèi)容,加上大學(xué)期間的專業(yè)知識,以及上網(wǎng)查詢相關(guān)的資料,那 么開發(fā)一個基于中小型醫(yī)院的電子病歷管理系統(tǒng)是完全可行的。 2.1.3 法律可行性 本系統(tǒng)的開發(fā)和使用不會侵犯他人的合法權(quán)益,嚴(yán)格參照中華人民共和國計 算機軟件保護(hù)條例的有關(guān)條款進(jìn)行開發(fā),所以也不會觸犯到國家的法律法規(guī)。通 過這兩方面的論述可以確定本系統(tǒng)屬于合法軟件,所以該系統(tǒng)的開發(fā)在法律上是可 行的。 2.1.4 運行、操作可行性分析 本系統(tǒng)的運行操作在中小型醫(yī)院可以的到有效的實施,能夠為醫(yī)生管

29、理病歷方 面提高很大的便捷,并且本系統(tǒng)不會與原有的其他系統(tǒng)相互矛盾,系統(tǒng)的操作規(guī)程 和醫(yī)院的常規(guī)操作流程完全符合,所以在運行、操作方面也是可行的。 2.22.2 方案分析方案分析 2.2.1 方案分類 方案一:開發(fā)技術(shù)選用 JavaWeb 技術(shù),JSP+Servlet+Oracle10g 技術(shù),結(jié)構(gòu)采用 B/S 模式。 方案二:開發(fā)技術(shù)選用微軟的 ASP 技術(shù)+SqlServer2005,結(jié)構(gòu)采用 B/S 模式。 方案三:開發(fā)技術(shù)選 java+ SqlServer2005,結(jié)構(gòu)采用 C/S 模式。 2.2.2 方案比較 1JSP 和 ASP 技術(shù)比較 從結(jié)構(gòu)上來看,JSP 和 ASP 在結(jié)構(gòu)上

30、類似,都是以雙引號作為標(biāo)記符,不同的 是標(biāo)記符里面代碼。ASP 為 JavaScript 或 VBScript 腳本,而 JSP 為 Java 代碼。JSP 將網(wǎng)頁的表現(xiàn)形式和服務(wù)器端的代碼邏輯分開7。作為服務(wù)器進(jìn)程的 JSP 頁面,首 先被轉(zhuǎn)換成 Servlet(一種在服務(wù)器上運行的 java 程序) 。Servlet 支持 HTTP 協(xié)議的 請求和響應(yīng)。當(dāng) JSP 被轉(zhuǎn)換成純 Java 代碼,多個用戶同時請求一個 JSP 頁面時,應(yīng) 用實例化線程來響應(yīng)請求。這些線程由 WEB 服務(wù)器進(jìn)程來管理,和 ASP 的線程管 理器功能類似。同 CGI 為每個請求創(chuàng)建一個進(jìn)程的模式比較,這種方式效率高

31、的多。 從性能和平臺無關(guān)性來看,與 C+、VB 等語言比較,Java 被看作是個效率不 太高的語言,但它以犧牲效率換來了平臺無關(guān)性使 Java 可以在大多數(shù)操作系統(tǒng)上運 行而不需要重新編譯-許多人愿意為此而付出代價。Java 的編譯代碼是一種字節(jié)代 碼,在運行時由操作系統(tǒng)上的一個 Java Virtual Machine(JVM)虛擬機解釋。字節(jié)代碼 可以在所有平臺上遷移,而不需要任何改動。交叉平臺編程傾向于采用所有操作系 統(tǒng)的“最小公分母” ,尤其是使用圖形化界面時(Servlet 不需要任何圖形界面)。 Servlet 比傳統(tǒng)的 java 程序(Applets, java app)要快,因

32、為它們在服務(wù)器端運行,不 需要加載沉重的 GUI(HTML 的 GUI 是非常少的) 。另外,Servlet 的字節(jié)代碼只有 在客戶請求時才執(zhí)行,所以盡管當(dāng)首次調(diào)用 Servlet 時會有幾秒鐘的加載時間,但后 續(xù)的請求相應(yīng)非常迅速,因為服務(wù)器已經(jīng)緩存了運行的 Servlet。當(dāng)前的 JSP 服務(wù)器, 都帶有 java 即時編譯器(JIT) ,因此,JSP 的執(zhí)行比每次都要解釋執(zhí)行的 ASP 代碼 要快,尤其是在代碼中存在循環(huán)操作時,JSP 的速度要快 1 到 2 個數(shù)量級。 再從連接數(shù)據(jù)庫方面來看,ASP 使用 ODBC 通過 ADO 連接數(shù)據(jù)庫,而 Java 通 過一個叫 JDBC 的技術(shù)

33、聯(lián)接數(shù)據(jù)庫。目標(biāo)數(shù)據(jù)庫需要一個 JDBC 驅(qū)動程序-一個數(shù)據(jù) 庫與 Java 的接口,使得 Java 可以用標(biāo)準(zhǔn)的方式訪問數(shù)據(jù)庫。JDBC 不使用服務(wù)器端 的數(shù)據(jù)源。只要有 JDBC 驅(qū)動程序,Java 就可以訪問數(shù)據(jù)庫了。如果一個特定的數(shù) 據(jù)庫沒有 JDBC 驅(qū)動程序,而只有 ODBC 驅(qū)動程序,Java 提供一個 JDBC-ODBC 橋 來將 JDBC 調(diào)用轉(zhuǎn)化為 ODBC 調(diào)用。所有的 Java 編譯器都帶有一個免費的 JDBC- ODBC 橋。理論上,橋可以訪問任何常見的數(shù)據(jù)庫產(chǎn)品。 綜上所述,采用 JSP 技術(shù)優(yōu)越性上會更好。 2Oracle 數(shù)據(jù)庫和 SQL Server 數(shù)據(jù)庫比

34、較 隨著信息技術(shù)的飛速發(fā)展,數(shù)據(jù)處理不僅在數(shù)量上要求越來越大,而且在質(zhì)量 上也要求越來越高。Oracle 數(shù)據(jù)庫在大多數(shù)企業(yè)中受到廣泛使用,而 SQL Server 數(shù) 據(jù)庫也因為和 Windows 的聯(lián)系,在企業(yè)中的使用也是非常廣泛。 操作系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫來說是十分緊要的,在數(shù)據(jù)庫可操作平臺上,Oracle 可在所有主流平臺上運行,Oracle 數(shù)據(jù)庫采用開放的策略目標(biāo),它使得客戶可以選 擇一種最適合他們特定需要的解決方案??蛻艨梢岳煤芏喾N第三方應(yīng)用程序、工 具。對開發(fā)商來說是很大的支持。而 SQL Server 卻只能在 Windows 上運行了,這個 就顯得比較單調(diào)了,但 SQL S

35、ever 在 Window 平臺上的表現(xiàn),和 Windows 操作系統(tǒng) 的整體結(jié)合程度,使用方便性,和 Microsoft 開發(fā)平臺的整合性都比 Oracle 強的很多。 但 Windows 操作系統(tǒng)的穩(wěn)定性及可靠性大家是有目共睹的,再說 Microsoft 公司的 策略目標(biāo)是將客戶都鎖定到 Windows 平臺的環(huán)境當(dāng)中,只有隨著 Windows 性能的 改善,SQL Server 才能進(jìn)一步提高。從操作平臺這點上 Oracle 是完全優(yōu)勝于 SQL Server 的了。 SQL Server 2005 是一個具備完全 Web 支持的數(shù)據(jù)庫產(chǎn)品,提供了可擴展標(biāo)記語 言核心支持以及 Inter

36、net 上和防火墻外進(jìn)行查詢的能力,具有可伸縮性、靈活性、擴 充性好,而且價格便宜等特點,而 Oracle 則有著可靠安全性,速度比 SQL Server 快 上百倍,但其價格在實施中卻比 SQL Server 它高出了幾百倍。 綜上所述,Oracle 和 SQL Server 各自有自己的優(yōu)勢,也有各自的不足。但 Oracle 除了在價格上比較昂貴之外,別的優(yōu)勢都比 SQL Server 更明顯。 3B/S 和 C/S 模式比較 (1) C/S 模式是一種兩層結(jié)構(gòu)的系統(tǒng),第一層在客戶機上安裝了客戶機應(yīng)用程序, 第二層在服務(wù)器上安裝服務(wù)器管理程序。在 C/S 模式的工作過程中,客戶機程序發(fā)出

37、請求,服務(wù)器程序接收并且處理客戶機程序提出的請求,然后返回結(jié)果。C/S 模式具 有以下特點: 1) C/S 模式將應(yīng)用與服務(wù)分離,系統(tǒng)具有穩(wěn)定性和靈活性; 2) C/S 模式配備的是點對點的結(jié)構(gòu)模式,適用于局域網(wǎng),有可靠的安全性; 3) 由于客戶端實現(xiàn)與服務(wù)器端的直接連接,沒有中間環(huán)節(jié),因此響應(yīng)速度快; 4) 在 C/S 模式中,作為客戶機的計算機都要安裝客戶機程序,一旦軟件系統(tǒng)升級, 每臺客戶機都要安裝客戶機程序,系統(tǒng)升級和維護(hù)較為復(fù)雜。 (2) B/S 模式,即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的兩層 C/S 模式發(fā)展起來 的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)是三層結(jié)構(gòu)的 C/S 模式。在用戶的計算機

38、上安裝瀏覽 器軟件,在服務(wù)器上存放數(shù)據(jù)并且安裝服務(wù)應(yīng)用程序,服務(wù)器有 WWW 服務(wù)器和文件 服務(wù)器等。用戶通過瀏覽器訪問服務(wù)器,進(jìn)行信息瀏覽、文件傳輸和電子郵件等服 務(wù)。B/S 模式具有以下特點: 1) 系統(tǒng)開發(fā)、維護(hù)、升級方便,每當(dāng)服務(wù)器應(yīng)用程序升級時,只要在服務(wù)器上 升級服務(wù)應(yīng)用程序即可,用戶計算機上的瀏覽器軟件不需要修改,系統(tǒng)開發(fā)和升級 維護(hù)方便; 2) B/S 模式具有很強的開放性,在 B/S 模式下,用戶通過通用的瀏覽器進(jìn)行訪問, 系統(tǒng)開放性好; 3) B/S 模式的結(jié)構(gòu)易于擴展,由于 Web 的平臺無關(guān)性,B/S 模式的結(jié)構(gòu)可以任意 擴展,可以從包含一臺服務(wù)器和幾個用戶的小型系統(tǒng)擴

39、展成為擁有成千上萬個用戶 的大型系統(tǒng); 4) 用戶使用方便,B/S 模式的應(yīng)用軟件都是基于 Web 瀏覽器的,而 Web 瀏覽器 的界面是類似的。所以,用戶使用起來就更加方便。 從開發(fā)模式上來看 B/S 模式更加靈活,更加方便,所以開發(fā)上選用 B/S 模式會 給用戶帶來更方便的體驗。 2.2.3 方案選擇 通過以上資料的對比,方案一中的 JSP 技術(shù)比 ASP 技術(shù)更加優(yōu)越,同時 B/S 模 式的開發(fā)也能更加方便、靈活,而數(shù)據(jù)庫方面,Oracle 數(shù)據(jù)庫除了在價格上比較昂 貴之外,別的優(yōu)勢都比較明顯,通過這些資料的顯示結(jié)果,并結(jié)合實際的開發(fā)現(xiàn)狀 和掌握的相關(guān)知識掌,最終選擇方案一作為本次畢業(yè)設(shè)

40、計的開發(fā)方案。 第第 3 章章 需求分析需求分析 3.13.1 系統(tǒng)用戶系統(tǒng)用戶分析分析 在系統(tǒng)中根據(jù)用戶不同的操作權(quán)限分為了管理員和醫(yī)務(wù)人員兩大類,同時醫(yī)務(wù) 人員又細(xì)分為門診醫(yī)生和前臺醫(yī)生。而對于系統(tǒng)的參與者還有一個病人,整個系統(tǒng) 就是圍繞病人,對其進(jìn)行寫病歷,到病歷的一些管理,并且可以對需要輸出的病歷 進(jìn)行打印輸出。整個系統(tǒng)的頂級流圖如圖 3.1 所示。 管理員: 負(fù)責(zé)科室管理、醫(yī)生管理和以及醫(yī)院的密碼管理操作??剖业墓芾戆?括科室的創(chuàng)建以及對已有科室的更新和刪除操作;醫(yī)生管理包括醫(yī)生注冊,以及醫(yī) 生信息的更新操作。而密碼管理包括整個醫(yī)院的醫(yī)院密碼的查詢與更新,同時管理 自己的管理員密碼的

41、更新操作。 門診醫(yī)生: 負(fù)責(zé)給病人寫病歷,以及對本科室的病歷的查詢和修改操作,同時, 對信息無誤的病歷進(jìn)行歸檔操作。 前臺醫(yī)生: 負(fù)責(zé)錄入病人的信息,并對病人信息進(jìn)行管理,包括查詢、修改和 刪除操作,同時,對歸檔完成的病歷,可以進(jìn)行查詢和打印的操作,并且,如果病 歷年限大于 15 年,可以對這些病歷進(jìn)行刪除操作。 病 人 信 息 維護(hù) 操作命令 病歷信息 病歷信息 圖 3-1 頂級數(shù)據(jù)流圖 管理員 醫(yī)務(wù)人員 電子病歷管理系統(tǒng) 病人 病歷 文檔病歷 3.23.2 功能需求分析功能需求分析 3.2.1 系統(tǒng)的用例圖設(shè)計 首先管理員登錄系統(tǒng),然后可以進(jìn)行醫(yī)生管理、科室管理和密碼管理三種操作。 醫(yī)生管

42、理是對本醫(yī)院相關(guān)的醫(yī)生進(jìn)行查詢修改,以及信息錄入的操作;科室管理是 對醫(yī)院已有的科室進(jìn)行查看和管理,包括修改信息,新建科室和刪除科室等功能; 密碼管理是對整個醫(yī)院的密碼進(jìn)行查詢和定期更新操作,同時也可以修改自己的管 理員密碼。操作用例圖如圖 3-2 所示。 門診醫(yī)生登錄系統(tǒng)后,可以選擇病人管理、病歷管理和密碼管理操作。病人管 理是給該科室就診的病人填寫病歷;病歷管理是對填寫好的病歷進(jìn)行修改、查看操 作,并且對沒有錯誤的病歷進(jìn)行歸檔操作;密碼管理是對自己的登錄密碼進(jìn)行修改 操作。操作用例圖如圖 3-3 所示。 如圖 3-4 所示,前臺醫(yī)生登錄系統(tǒng)后,可以選擇病人管理、病歷管理和密碼管 圖 3-2

43、 管理員操作用例圖 圖 3-3 門診醫(yī)生操作用例圖 理操作。病人管理包括將病人信息錄入并選擇科別,并且可以信息錄入完成的病人 信息進(jìn)行查詢、修改和刪除;病歷管理是對已經(jīng)歸檔的病歷進(jìn)行查詢,可以根據(jù)不 同的條件選擇不同的查詢方式,同時對查詢出來的病歷進(jìn)行打印輸出操作,如果病 歷年限超過了 15 年,那么可以對這些病歷進(jìn)行刪除操作;密碼管理是將自己的登錄 密碼進(jìn)行修改操作。操作用例圖如圖 3-5 所示。 3.2.2 系統(tǒng)類圖分析 實體類中分為醫(yī)生、科室、病人和病歷四類,醫(yī)生和科室之間的關(guān)聯(lián)關(guān)系是 1 個科室對應(yīng) 0 到多個醫(yī)生,病人和科室的關(guān)聯(lián)關(guān)系是 1 個科室對應(yīng) 0 到多個病人, 而醫(yī)生和病歷

44、間的管理關(guān)系是 1 個醫(yī)生對應(yīng) 1 張病歷,病人和病歷的關(guān)系是 1 個病 人對應(yīng) 1 張病歷,醫(yī)生和病人間就通過病歷聯(lián)系在一起,1 個醫(yī)生可以對應(yīng) 0 到多 個病人,而 1 個病人只能對應(yīng) 1 個醫(yī)生,通過病歷,能夠更好的將這種關(guān)系實現(xiàn)出 來,實體類之間的類圖如圖 3-4 所示。 圖 3-3 前臺醫(yī)生操作用例圖 圖 3-4 實體類之間的類圖 同時系統(tǒng)采用的是 JDBC 項目開發(fā)的分層步驟,分為數(shù)據(jù)訪問層(DAO)、業(yè)務(wù)層 (service)和表示層(view) ,表示層調(diào)用業(yè)務(wù)層的方法實現(xiàn)某個功能,而業(yè)務(wù)層調(diào) 用數(shù)據(jù)訪問層的方法實現(xiàn)具體業(yè)務(wù),數(shù)據(jù)訪問層則是負(fù)責(zé)訪問數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)的 添加、刪除

45、、修改和查詢。其中的數(shù)據(jù)訪問層和業(yè)務(wù)層的類圖如圖 3-5 所示。 3.33.3 運行環(huán)境規(guī)定運行環(huán)境規(guī)定 3.3.1 用戶界面 該系統(tǒng)采用 JavaWeb 技術(shù)的開發(fā),用 JSP 作為用戶界面,提供給用戶的是以瀏 覽器方式訪問的客戶端,界面風(fēng)格簡潔友好,適合大多數(shù)用瀏覽器上網(wǎng)操作的人群, 以大眾操作的方式給以用戶操作,同時能夠方便用戶對病歷的查詢,給用戶提供快 圖 3-5 業(yè)務(wù)調(diào)用時的類圖 捷使用的界面。 3.3.2 設(shè)備要求 該系統(tǒng)采用 B/S 結(jié)構(gòu)開發(fā),以 MVC 模式來實現(xiàn)界面,模型和控制器之間的跳 轉(zhuǎn),同時以 MyEclipse2013 作為開發(fā)工具,TOMCAT6.0 作為服務(wù)器,數(shù)

46、據(jù)庫采用 Oracle,因此,環(huán)境需求必須滿足這些軟件的需求。 (1) 硬件環(huán)境 根據(jù)目前的開發(fā)環(huán)境,擬定該系統(tǒng)采用 PC 機一臺作為終端機(客戶端和服務(wù) 器在同一臺計算機上) 。 PC 機的基本要求如下: 處理器(CPU):酷睿 i5 3500 3.40GHz 主板:NEC L4A-3 芯片組:英特爾 i915PM/GM 03 內(nèi)存:2 GB ( 爾必達(dá) DDR2 800MHz ) 硬盤:西數(shù) WDC WD2500BEVT-22ZCT0 ( 500 GB / 5400 轉(zhuǎn)/分 ) 顯卡:ATI Mobility Radeon HD 4500/5100 Series ( 512 MB / 精英

47、 ) (2) 軟件環(huán)境 該系統(tǒng)的開發(fā)為 JavaWeb 開發(fā),所以會運用到相關(guān)的開發(fā)工具和對應(yīng)的數(shù)據(jù)庫 來予以實現(xiàn)具體軟件環(huán)境需求如下: 操作系統(tǒng):Windows XP/Windows 7 Java 編譯環(huán)境:JDK0 Web 服務(wù)器:Tomcat6.0 開發(fā)工具:MyEclipse2013 數(shù)據(jù)庫:Oracle 10g 3.43.4 性能需求性能需求 該系統(tǒng)作為醫(yī)院電子病歷管理系統(tǒng),負(fù)責(zé)提供給醫(yī)院一個簡單快捷的管理病歷 的系統(tǒng)軟件。那么,在性能上就必須滿足一定的用戶需求才能達(dá)到該系統(tǒng)的特點。 3.4.1 性能 系統(tǒng)是面向用戶所開發(fā)的,用戶在使用時,必須達(dá)到相應(yīng)的效率才能體現(xiàn)出該

48、 系統(tǒng)的優(yōu)越性。首先,該系統(tǒng)可以使用局域網(wǎng)來進(jìn)行訪問,這樣就不會因網(wǎng)絡(luò)信號 的質(zhì)量來限制用戶的訪問傳輸率;其次,系統(tǒng)中采用分頁查詢技術(shù),考慮到醫(yī)院的 信息量比較大,那么如果從總表中查詢數(shù)據(jù),訪問那么速率將會受到極大的限制, 而采用分頁查詢,的話每次取出的數(shù)據(jù)就是固定的條數(shù),這樣就減少了查詢的時間, 從而提高了服務(wù)器的響應(yīng)效率;最后,該系統(tǒng)采用連接池技術(shù),就是在訪問數(shù)據(jù)庫 時不許要創(chuàng)建連接,直接從連接池里取出連接對象進(jìn)行連接操作,這樣可以減少創(chuàng) 建連接的時間,這時加上一個 ThreadLocal 對象將訪問用戶的線程和對應(yīng)的連接綁定 到一起,使多用戶并發(fā)訪問互不影響,這樣就實現(xiàn)了醫(yī)院里多個醫(yī)生同

49、時訪問該系 統(tǒng)的功能,并且數(shù)據(jù)互不影響,同時數(shù)據(jù)還能實現(xiàn)共享。 3.4.2 可擴展性 該系統(tǒng)是一個電子病歷管理系統(tǒng),著重突出了病歷的管理方面,而門診,配藥 等功能只是簡單的實現(xiàn)或者沒有予以實現(xiàn),那么這些地方就可以和門診系統(tǒng)和藥品 管理系統(tǒng)等系統(tǒng)結(jié)合,加以擴展,實現(xiàn)為一個完整的醫(yī)院管理系統(tǒng)。所以該系統(tǒng)具 備有效的擴展空間,具有可擴展性。 3.4.3 可用性 在正常使用該系統(tǒng)的情況下,可以確保使用過程正確有效的執(zhí)行,并且通過事 務(wù)控制,把一套完整的操作作為一個事務(wù),如果某個操作遇到突發(fā)事件,如斷電等 導(dǎo)致操作失敗,那么事務(wù)將回滾到操作前,保證數(shù)據(jù)的完整性,避免在使用過程中 發(fā)生各種異常情況而造成重

50、大的損失。 3.4.4 易用性 該系統(tǒng)是以網(wǎng)頁客戶端的形式予以訪問,只要用戶會瀏覽網(wǎng)頁就會操作該系統(tǒng), 界面簡潔并且友好,能夠為查詢等相關(guān)操作提供方便,對于醫(yī)院來說,運用該系統(tǒng) 管理病歷比傳統(tǒng)方式管理病歷更加優(yōu)越,能夠為醫(yī)務(wù)人員節(jié)省大量的時間,所以該 系統(tǒng)是非常實用的。 3.4.5 安全性 該系統(tǒng)采用密碼驗證登錄功能,同時,設(shè)定了一條醫(yī)院密碼,該密碼有管理員 負(fù)責(zé)管理,可以定期更新,該醫(yī)院的醫(yī)務(wù)人員登錄時需要提供該密碼才能夠登錄。 該系統(tǒng)加入了強制登錄驗證,如果用戶登錄后半小時內(nèi)沒有操作,那么該用戶請求 服務(wù)器的 Session Id 會失效,那么這時該用戶還要操作里面的內(nèi)容時,會自動跳轉(zhuǎn) 到

51、登錄界面,如果用戶退出后點瀏覽器的后退操作又回到退出前的操作界面,再次 操作時也將會跳轉(zhuǎn)到登錄界面強制用戶登錄,所以該系統(tǒng)在保護(hù)用戶內(nèi)部數(shù)據(jù)時是 相當(dāng)安全的。 第第 4 章章 過程論述過程論述 4.14.1 系統(tǒng)概要設(shè)計系統(tǒng)概要設(shè)計 系統(tǒng)概要設(shè)計又稱為總體設(shè)計。首先對于開發(fā)一個電子病歷管理系統(tǒng),開發(fā)方 法采用面向?qū)ο蟮脑O(shè)計方法,并采用 MVC 模式的三層結(jié)構(gòu)的開發(fā),是功能具有獨立 性和模塊化。 4.1.1 功能的獨立性和模塊化 JSP 技術(shù)是在 HTML 的基礎(chǔ)上嵌入了 java 代碼。兩種標(biāo)記混雜在一起,在一定 程度上給開發(fā)帶來了方便。但是,混雜在一起也容易導(dǎo)致開發(fā)人員出錯,而且出錯 后調(diào)試

52、程序比較復(fù)雜,不容易用工具設(shè)置斷點來檢測。三層結(jié)構(gòu)設(shè)計使用 Servlet 專 注進(jìn)行邏輯判斷,控制頁面跳轉(zhuǎn),JSP 專注進(jìn)行頁面顯示,而數(shù)據(jù)邏輯層只負(fù)責(zé)數(shù) 據(jù)處理,這樣最大限度的提高了開發(fā)效率。 同時,系統(tǒng)將復(fù)雜操作的各個功能獨立分割出來,作為各個小模塊予以實現(xiàn), 在需要用到特定功能的地方通過調(diào)用小模塊實現(xiàn)的方法即可,這樣避免了代碼的冗 余,同時提高了代碼的復(fù)用性。更重要的是使整個系統(tǒng)的層次機構(gòu)更加的清晰,為 以后功能模塊的增加提供能方便。 4.1.2 三層結(jié)構(gòu)設(shè)計思想 該系統(tǒng)采用“用戶界面業(yè)務(wù)處理層數(shù)據(jù)訪問層”的三層結(jié)構(gòu)設(shè)計,三層結(jié)構(gòu) 具體實現(xiàn)就是將整個設(shè)計分為:表示層(UI) 、業(yè)務(wù)層(

53、BLL) 、數(shù)據(jù)訪問層(DAL) 。 劃分層次的目的是使各層之間的調(diào)用具有高類聚的特點,同時降低了代碼之間的耦 合性。 表示層(UI):用于提供用戶輸入和輸出的界面,通過邏輯判斷,顯示給用戶。 業(yè)務(wù)層(BLL):用于實現(xiàn)用戶的具體業(yè)務(wù)功能。 數(shù)據(jù)訪問層(DAL):用于實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的添加、刪除、修改和查詢。 工作原理如圖 4-1 所示。 4.1.3 系統(tǒng)模塊的功能設(shè)計 (1) 管理員模塊 管理員模塊分為三個大的操作,包括醫(yī)生管理、科室管理和密碼管理,醫(yī)生管 理分為醫(yī)生注冊、醫(yī)生修改和醫(yī)生查詢操作,醫(yī)生注冊即是將醫(yī)生的信息錄入到數(shù) 據(jù)庫中并為其給定登錄賬號名和密碼;醫(yī)生修改就是將錄入信息有誤

54、的醫(yī)生信息進(jìn) 行修改,醫(yī)生查詢就是查看醫(yī)生的詳細(xì)信息。科室管理分為新建科室、查詢科室、 表示層 JSP 實現(xiàn)界面輸入 輸出,Servlet 實 現(xiàn)頁面跳轉(zhuǎn)。 業(yè)務(wù)層 實現(xiàn)用戶需要的各 種業(yè)務(wù)功能 數(shù)據(jù)訪問層 實現(xiàn)對數(shù)據(jù)庫中數(shù) 據(jù)的添加、刪除、 修改和查詢 業(yè)務(wù)方法 業(yè)務(wù)對象 數(shù)據(jù)訪問方法 數(shù)據(jù)結(jié)果 圖 4-1三層結(jié)構(gòu)工作原理圖 修改科室和刪除科室。新建科室是將建好科室的信息錄入數(shù)據(jù)庫 (2) 醫(yī)務(wù)人員模塊 醫(yī)務(wù)人員模塊分為門診醫(yī)生和前臺醫(yī)生,門診醫(yī)生可操作的功能為病人管理、 病歷管理和密碼管理。病人管理是給科室為該科別的病人寫病歷;病歷管理就是將 寫好病歷的信息進(jìn)行修改和查詢,同時對填寫無誤的

55、病歷進(jìn)行歸檔操作,歸檔后, 將無法進(jìn)行修改操作;密碼管理則是對自己密碼進(jìn)行更改,修改后,將返回登錄界 面重新登錄。前臺醫(yī)生可操作的功能也有病人管理、病歷管理和密碼管理。其中病 人管理是將病人的信息添加到數(shù)據(jù)庫,并且為該病人選科別,同時對錄入完信息的 病人可以進(jìn)行修改,查詢和刪除操作;病歷管理包括通過身份信息或者是醫(yī)療保險 卡號碼查詢對應(yīng)病歷,并且可以通過病人需要將其打印,這里所管理的病歷都是已 經(jīng)歸檔了的病歷;密碼管理則是對自己密碼進(jìn)行更改,修改后,也將返回登錄界面 重新登錄。 具體實現(xiàn)如圖 4-2 所示。 4.1.4 數(shù)據(jù)庫設(shè)計 電子病歷管理系統(tǒng)是一個以數(shù)據(jù)庫應(yīng)用系統(tǒng),該系統(tǒng)所操作的信息數(shù)據(jù)

56、都將保 存于數(shù)據(jù)庫中,在數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程中數(shù)據(jù)庫的設(shè)計是尤其重要的。通過 對數(shù)據(jù)庫的設(shè)計來實現(xiàn)各種業(yè)務(wù)的需求。 (1) 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計: 該設(shè)計階段是在需求分析的基礎(chǔ)上,設(shè)計出各種對象的實體,該實體能夠滿足 用戶的各種功能需求,擬定各個實體之間的關(guān)系,分清楚這些關(guān)系有助于后期的邏 電子病歷 管理系統(tǒng) 醫(yī)務(wù)人員 管理員 醫(yī)生管理 科室管理 密碼管理 門診醫(yī)生 前臺醫(yī)生 病人管理 病歷管理 密碼管理 病人管理 病歷管理 密碼管理 圖 4-2系統(tǒng)功能模塊圖 輯結(jié)構(gòu)的設(shè)計。 該階段不需要考慮所采用的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)類型和 PC 機器類型等 問題,該階段可用工具有很大。采用最多的分析

57、方式為 E-R 圖8,加上別的許多計 算機的輔助工具進(jìn)行輔助設(shè)計,下面將用 E-R 圖的方法進(jìn)行該系統(tǒng)的數(shù)據(jù)庫概念結(jié) 構(gòu)設(shè)計。 E-R 圖中有: 實體:用方框來表示,方框里面為實體的名稱。 實體的各個屬性:用橢圓來表示,橢圓里面為屬性的名稱。 實體間的聯(lián)系:用菱形來表示,菱形里面為聯(lián)系的名稱。 同時用實線將實體,屬性和聯(lián)系連接起來。具體實現(xiàn)見圖 4-3 所示。 各個實體都具有自己的屬性,見 4-4 到 4-9 所示。 n 管理員 管理 科室 醫(yī)務(wù)人員 醫(yī)院密碼 管理 管理 管理 醫(yī)務(wù)人員 管理 病人 病歷 個人密碼 修改 個人密碼 修改 1 1n 1 1 1 1 1 1 1 1 n n 圖 4

58、-3系統(tǒng)功能 E-R 圖 Users Password Username 圖 4-4管理員用戶屬性圖 Patient id age name sexemrno nation country mobile ismarried idno address category 圖 4-5病人屬性圖 Users passid pass 圖 4-6醫(yī)院密碼屬性圖 Category name idcreatetime e phone 圖 4-7科室屬性圖 (2) 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計: 根據(jù)該系統(tǒng)的需求,需要建立以下數(shù)據(jù)庫表。 1) 管理員表:用于存放管理員登錄用戶名和密碼的相關(guān)數(shù)據(jù)。 2) 科室表:用于存放醫(yī)

59、院已有科室的信息,包括科室電話等。 3) 醫(yī)院密碼表:用于存放醫(yī)院密碼。 4) 醫(yī)生表:用于存放醫(yī)院醫(yī)生的信息,包括科室信息和登錄信息等。 5) 病人表:用于存放病人的信息,包括選擇的科別。 id Med patient history symptom reasondoctor treattime chufang yizhu 圖 4-8病歷屬性圖 Doctor id passwordusername category country ismarried edu email mobile idno sex age name 圖 4-9醫(yī)生屬性圖 6) 病歷表:用于存放病歷信息。 同時為了功能需求

60、,需要創(chuàng)建一張拷貝病人和病歷信息的表,表中字段和病人 表以及病歷表中的字段完全一致,拷貝的目的是為了更好地保存,并將病人表和病 歷表中相關(guān)的數(shù)據(jù)刪除,保證數(shù)據(jù)的可靠性,以及實現(xiàn)數(shù)據(jù)的歸檔。實現(xiàn)拷貝后的 數(shù)據(jù)不允許更改,只能查閱。根據(jù)表格的設(shè)想,設(shè)計出對應(yīng)的表格。 如表 4-1 所示為管理員表,用于存放管理員登錄用戶名和密碼的相關(guān)數(shù)據(jù)。 表 4-1 管理員表 FieldTypeNot NullpkDefaultComment usernamevarchar2 (10)Noyes用戶名 passwordVarchar2 (15)No密碼 如表 4-2 所示為科室表,用于存放醫(yī)院已有科室的信息,包括

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論