醫(yī)院門診收費(fèi)管理系統(tǒng)_第1頁
醫(yī)院門診收費(fèi)管理系統(tǒng)_第2頁
醫(yī)院門診收費(fèi)管理系統(tǒng)_第3頁
醫(yī)院門診收費(fèi)管理系統(tǒng)_第4頁
醫(yī)院門診收費(fèi)管理系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

題目:醫(yī)院門診收費(fèi)管理系統(tǒng)摘要隨著社會的發(fā)展,人們對于自身的健康的關(guān)心程度每日遞增,在現(xiàn)如今的大中小型醫(yī)院里,患者數(shù)量的增多與檢查項(xiàng)目的增多,對于當(dāng)今醫(yī)療系統(tǒng)帶來極大的負(fù)擔(dān),醫(yī)生對于日常的工作越來越復(fù)雜,對于目前的小型醫(yī)院,普通的就醫(yī)診療管理技術(shù)已經(jīng)不能滿足日常的需要與技術(shù)操作。而HIS系統(tǒng)具有掛號收費(fèi),門診醫(yī)生,藥房管理等一系列功能,HIS就診為病人的信息得以共享,提高了信息數(shù)據(jù)間的的聯(lián)系與同步,為醫(yī)護(hù)工作者提供更方便快捷的查詢。HIS系統(tǒng)將在未來醫(yī)療領(lǐng)域有著廣闊的市場。所以,類似于地區(qū)醫(yī)院這種小規(guī)模醫(yī)院對HIS有著強(qiáng)烈的需求。而作為HIS的重要組成部分,醫(yī)院門診管理系統(tǒng)可以用來實(shí)現(xiàn)門診醫(yī)務(wù)的各種信息處理。本論文基于Java的醫(yī)院門診信息管理系統(tǒng)在分析設(shè)計時考慮多種因素,文中詳細(xì)的說明了系統(tǒng)需求分析報告、系統(tǒng)設(shè)計理思路、數(shù)據(jù)庫設(shè)計應(yīng)用安裝、系統(tǒng)實(shí)現(xiàn)過程,演示系統(tǒng)操作,以及測試的方面。在系統(tǒng)分析里,對各個模塊進(jìn)行功能評估,對需求進(jìn)行分層匯總,通過Xmind畫出功能模塊圖,在系統(tǒng)設(shè)計時,構(gòu)思設(shè)計框架,根據(jù)系統(tǒng)功能結(jié)構(gòu)圖,設(shè)計出技術(shù)架構(gòu);系統(tǒng)主頁設(shè)計根據(jù)需求功能進(jìn)行定制,實(shí)現(xiàn)各個功能模塊的便捷利用;在MySQL數(shù)據(jù)庫方面,根據(jù)需求功能,對應(yīng)實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)跟蹤,繪制E-R圖,按功能畫出表的數(shù)據(jù)架構(gòu);在系統(tǒng)實(shí)現(xiàn)階段,為了達(dá)到預(yù)期效果,進(jìn)行同步演示過程中,將部分核心代碼進(jìn)行披露;系統(tǒng)測試時,根據(jù)框架一一對應(yīng)實(shí)現(xiàn)相應(yīng)功能。本系統(tǒng)運(yùn)用了SSH、Struts、Hibernate的框架進(jìn)行開發(fā),通過B/S體系結(jié)構(gòu),使用mysql作為數(shù)據(jù)庫,實(shí)現(xiàn)了病人管理模塊,醫(yī)生管理模塊,科室管理模塊,管理員管理模塊等。使每個角色都實(shí)現(xiàn)了對應(yīng)的功能,全面良好的體現(xiàn)了人機(jī)界面,簡易便捷的操作目的。關(guān)鍵詞:Java;醫(yī)院門診信息管理系統(tǒng);MYSQL;Hibernate;SSH.AbstractWiththedevelopmentofsociety,people'sconcernfortheirhealthisincreasingdaybyday.Intoday'slargeandsmallhospitals,theincreaseofthenumberofpatientsandtheincreaseofinspectionitemsbringgreatburdentothecurrentmedicalsystem.Doctorsaremoreandmorecomplexintheirdailywork.Forthecurrentsmallhospitals,theordinarymedicaltreatmentmanagementtechnologycannolongermeetthedailyneedsTheneedandtechnicaloperationof.Hissystemhasaseriesoffunctions,suchasregistrationcharge,outpatientdoctor,pharmacymanagement,etc.hisvisitmakesitpossibletoshareandutilizetherelatedinformationresourcesofpatientvisit,andhisrealizesdataexchangeanddatasharing.Withthedeepeningofmedicalreform,theimprovementofhospitalmarketizationandtheprogressofinformationtechnology,hiswillplayamoreandmoreimportantroleinthehospitalnomatterfromthehospitalhorizontalbusinessorthehospitalverticalmanagement.Therefore,small-scalehospitalslikeregionalhospitalshaveastrongdemandforhis.ThispaperbasedonJavahospitaloutpatientinformationmanagementsystemintheanalysisanddesigntoconsideravarietyoffactors,thedetaileddescriptionofthesystemrequirementsanalysisreport,systemdesignideas,databasedesignandapplicationinstallation,systemimplementationprocess,demonstrationsystemoperation,andtestingaspects.Inthesystemanalysis,thefunctionofeachmoduleisevaluatedandtherequirementsaresummarizedinlayers.ThefunctionmodulediagramisdrawnthroughXmind.Inthesystemdesign,thedesignframeworkisconceivedandthetechnicalarchitectureisdesignedaccordingtothesystemfunctionstructurediagram.Thedesignofthesystemhomepageiscustomizedaccordingtotherequiredfunctionstorealizetheconvenientuseofeachfunctionmodule;thedesignframeworkisconceived,andthetechnicalarchitectureisdesignedaccordingtothesystemfunctionstructurediagram;thesystemhomepagedesigniscustomizedaccordingtothedemandfunction,soastorealizetheconvenientuseofeachfunctionmodule;intheMySQLdatabase,accordingtothedemandFunction,correspondingtotherealizationofthecorrespondingdatatracking,drawingE-Rdiagram,drawingthetabledataarchitectureaccordingtothefunction;inthesystemimplementationstage,inordertodescribetherealizedfunctionsoftheproject,showthedemonstrationeffectofthefinishedproduct,showthekeycodeofthefunctionrealization;duringthesystemtest,correspondingfunctionsarerealizedaccordingtotheframeworkonebyone.Thissystem,SSH,struts,hibernateandotherusedframeworks,developedb/sarchitecture,usingmysqlasthedatabase,administrationpersonnelinformationmodule,departmentadministrationmodule,informationadministrationmodule,doctorregistrationnewuserinterfaceandotherfunctions.Sothateachrolehasachievedthecorrespondingfunctions,fullyandwellreflectsthehuman-computerinterface,simpleandconvenientoperationpurpose.Keywords:Java;hospitaloutpatientinformationmanagementsystem;MYSQL;Hibernate;SSH.目錄摘要 3Abstract 4引言 8第一章概述 81.1背景及意義 81.2實(shí)驗(yàn)技術(shù)選擇 91.3課題實(shí)現(xiàn)技術(shù)的簡要說明 11第二章系統(tǒng)環(huán)境介紹及相關(guān)理論知識 122.1B/S模式 122.2JSP技術(shù) 132.3Tomcat運(yùn)行原理 132.4SSH實(shí)現(xiàn)原理 14第三章.需求分析 163.1可行性研究 163.1.1技術(shù)可行性 163.2系統(tǒng)分析 173.2.2系統(tǒng)功能分析 173.3系統(tǒng)業(yè)務(wù)描述 18第四章數(shù)據(jù)庫設(shè)計 204.1數(shù)據(jù)模型分析與設(shè)計 204.2建立數(shù)據(jù)庫表的結(jié)構(gòu) 204.3E-R圖結(jié)構(gòu) 23第五章.系統(tǒng)設(shè)計 265.1系統(tǒng)運(yùn)行環(huán)境 265.2系統(tǒng)功能實(shí)現(xiàn)的主要框架 265.2.1SSH框架設(shè)計 275.2.2hibernate配置文件 275.2.3struts配置文件 285.2.4Spring配置文件 28第六章.系統(tǒng)實(shí)現(xiàn) 316.1系統(tǒng)后臺登陸頁面 326.2后臺主操作界面 326.3前臺操作界面 35第七章系統(tǒng)測試 377.1系統(tǒng)測試的目的 37實(shí)驗(yàn)小結(jié) 38參考文獻(xiàn) 38引言第一章概述1.1背景及意義隨著我國經(jīng)濟(jì)的快速發(fā)展,我國醫(yī)療行業(yè)得到快速的發(fā)展,但快增長的同時,我們又暴露出許多弊端。近年來,我國醫(yī)療的改革,使得人們的總體醫(yī)療水平得以提升,但面臨著巨大的醫(yī)療需求的壓力,我們應(yīng)更深層次地提高醫(yī)院信息化管理水平,提供高效便捷的醫(yī)療服務(wù),科學(xué)信息化的醫(yī)院管理計算機(jī)化是最好的途徑。但我國的醫(yī)療信息化,電子化任然在世界上處于中等地位,信息的同步慢,時效長,多等待,勞動強(qiáng)度等原因嚴(yán)重影響著我們的醫(yī)療體系,病人就診慢,就診難,排隊(duì)時間長,流程繁瑣,大大影響患者的醫(yī)療體驗(yàn)。由此看來,信息化的醫(yī)院門診管理系統(tǒng)信息化建設(shè)是改善管理、提高醫(yī)院競爭力的重要手段,不但改變了醫(yī)生的工作環(huán)境與方式,提高工作效率,同時為患者帶來了更好的就診流程,減少了患者奔波,增加了患者的滿意程度。醫(yī)院門診收費(fèi)管理系統(tǒng)主要應(yīng)用于患者就醫(yī)繳費(fèi)的全過程記錄,根據(jù)患者的角度出發(fā),對于患者可能出現(xiàn)的需求記性匯總,把醫(yī)療活動中產(chǎn)生的數(shù)據(jù)進(jìn)收集,分析,判斷,執(zhí)行加工等操作,從而實(shí)現(xiàn)醫(yī)生、患者、管理員之間的聯(lián)動。門診作為病人到醫(yī)院就診要做的第一項(xiàng)工作,門診管理系統(tǒng)整個系統(tǒng)重要的組成部分。本次設(shè)計醫(yī)院門診收費(fèi)管理系統(tǒng),根據(jù)患者的就醫(yī)問診流程,提高患者與醫(yī)生之間信息的高傳遞,提高雙方的工作效率與服務(wù)質(zhì)量,增強(qiáng)信息化管理的。對于小型醫(yī)院來說,功能龐大的綜合性管理系統(tǒng)遠(yuǎn)遠(yuǎn)高于日常需求,對此,我國部分小型醫(yī)院根據(jù)需求,自行建立小型的醫(yī)療管理系統(tǒng),將門診,繳費(fèi),藥房功能結(jié)合一體,既減少了多余的功能,又滿足了日常需求,對于數(shù)據(jù)友好崇恩體現(xiàn),減少醫(yī)生管理員的工作了,方便了患者的使用。本文基于預(yù)期設(shè)計對醫(yī)院門診收費(fèi)管理系統(tǒng)功能進(jìn)行設(shè)計:系統(tǒng)根據(jù)不同模塊進(jìn)行系統(tǒng)的開發(fā)。在各種測試平臺與服務(wù)器上可以實(shí)現(xiàn)應(yīng)用;對于邏輯應(yīng)用可以實(shí)現(xiàn)獨(dú)立,頁面友好;代碼格式化,美觀化,在開發(fā)過程中大大減少了出錯可能。本套系統(tǒng)根據(jù)傳統(tǒng)的管理系統(tǒng),實(shí)現(xiàn)了注冊,登錄,刪除,添加等一系列操作,在此基礎(chǔ)上,管理員可以根據(jù)需求對不同的參數(shù)與數(shù)據(jù)庫進(jìn)行調(diào)整。系統(tǒng)整體易操作,對于醫(yī)生、患者、管理員通俗易用,上手簡單,后期維護(hù)性與可擴(kuò)展性強(qiáng)。1.2實(shí)驗(yàn)技術(shù)選擇本系統(tǒng)使用java開發(fā),使用mysql數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行匯總與存儲,這里分別介紹2個技術(shù)的開發(fā)理由與背景。java的核心優(yōu)勢在于注重移植和跨平臺性,可以根據(jù)編譯器的廠商進(jìn)行規(guī)格變化,適用于多種辦公平臺。java具有安全性,面相對象,簡單性,高性能,分布式,多線程,依依對齊分析。面向?qū)ο竺嫦驅(qū)ο笫且环N程序設(shè)計技術(shù),適用于軟件的開發(fā)設(shè)計。由于C++的局限性,僅僅只能帶有C語言類,對于面向?qū)ο髞碚f不具有徹底性。Java是完全的面向?qū)ο缶幊陶Z言。其中核心的使用對象由類、繼承、封裝、多態(tài)等基本概念來進(jìn)行設(shè)計。從客觀對象構(gòu)造軟件,對軟件系統(tǒng)進(jìn)行設(shè)計,在制作過程中運(yùn)用思維邏輯方式進(jìn)行編輯。面向?qū)ο蟮幕咎卣?.封裝性將類的某些信息隱藏在類的內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實(shí)現(xiàn)對隱藏信息的操作和訪問。只能通過規(guī)定的方法訪問數(shù)據(jù),隱藏類的實(shí)現(xiàn)細(xì)節(jié),方便加入控制語句,方便修改實(shí)現(xiàn)。

封裝采用修改屬性可見性的方式,設(shè)為private私有化,創(chuàng)建共有的方法進(jìn)行獲取數(shù)值或修改,用于屬性的讀寫,在getter/setter方法中加入屬性控制語句,對屬性的合法性進(jìn)行判斷,封裝實(shí)際就是講公共使用區(qū)域裝進(jìn)一個class內(nèi),所有的接入口與出口都在這個封裝內(nèi),增強(qiáng)了代碼的復(fù)用率。2.繼承繼承如同類與子類屬性之間的關(guān)系,子類與父類是is-a關(guān)系,對象之間具有抽象的類,就像蘋果與香蕉屬于水果類,白菜,香菜屬于蔬菜類,兩類又同屬于植物類,這種包含于被包含之間的關(guān)系用繼承的關(guān)系定義出來,在類中定義屬性與方法,子類可以繼承父類的屬性和方法,使用繼承優(yōu)化后,將重復(fù)的代碼抽取到父類,子類只需要定義自己特有屬性,公共屬性可以繼承父類,大大提高了代碼的復(fù)用率,方便修改代碼,減少代碼量。3.平臺無關(guān)性平臺無關(guān)性是指語言不受到軟件,運(yùn)行平臺的限制,可以進(jìn)行編譯并執(zhí)行通過。Java編譯出的結(jié)果是字節(jié)碼,通過字節(jié)碼在各大平臺可以實(shí)現(xiàn)通用,只要擁有jdk就可以運(yùn)行,Java最大的優(yōu)勢就在于平臺無關(guān)性。Java編譯過程需要2步,第一步前端編譯,將無關(guān)的目標(biāo)主機(jī)Java中,源語言相關(guān)的進(jìn)行前置編譯,為了將.Java代碼轉(zhuǎn)換為.class代碼。程序會根據(jù)主機(jī)與設(shè)備進(jìn)行整合,選擇對應(yīng)的java版本,根據(jù)JavaAPI標(biāo)準(zhǔn)庫進(jìn)行運(yùn)行,通過用戶界面,實(shí)現(xiàn)主機(jī)功能的全部實(shí)現(xiàn),在運(yùn)行環(huán)境下正常運(yùn)行。Java平臺無關(guān)性的實(shí)現(xiàn),首先,促使使用人員更好的跨平臺應(yīng)用,增加兼容性。其次Java的平臺無關(guān)性正好迎合了“網(wǎng)絡(luò)計算機(jī)”思想。AWT庫為用戶提供各種各樣的用戶減免,將組件同步到平臺上的本地組件,swing庫提供高級組件,但swing不進(jìn)行同步。③分布式分布式通過多個節(jié)點(diǎn)進(jìn)行系統(tǒng)重組,每一個節(jié)點(diǎn)相互關(guān)聯(lián),相互聯(lián)系,將各個計算機(jī)服務(wù)器相互相同,分布式對于用戶而言,是根據(jù)用戶需求定制的服務(wù)器,通過眾多服務(wù)器組成分布式系統(tǒng),分布式系統(tǒng)集合了各種多元服務(wù),集合成統(tǒng)一的整體。例如購物商城,當(dāng)我們訪問商城是,請求的是分布式系統(tǒng)內(nèi)我們想要的多功能服務(wù),整個系統(tǒng)分層次分化,將request處理存儲,負(fù)責(zé)計算,將最后的返回值反饋到用戶。分布式通過模塊化,系統(tǒng)化,使得軟件模塊拆分,因此對于開發(fā)人員開發(fā)效率更高,使得系統(tǒng)的延展性增強(qiáng)。④多線程多線程是根據(jù)資源源的基本單位,一個由多個程序任務(wù)組成的稱為多線程,在計算機(jī)中,通過任務(wù)管理器我們可以發(fā)現(xiàn),許多應(yīng)用程序在運(yùn)行時伴隨著多個子任務(wù),其中每一個任務(wù)都可以看作為一個線程在工作中。在Java中,因?yàn)槌墒斓膉dk開發(fā)包中擁有豐富的技術(shù)支持多線程,方便多線程的編輯工作,實(shí)現(xiàn)多線程通過繼承thread類或runnable接口,通過繼承thread類創(chuàng)建線程,但因此不可以實(shí)現(xiàn)繼承,為了實(shí)現(xiàn)多繼承,通過實(shí)現(xiàn)runnable接口方式,但兩者工作方式與性質(zhì)是一樣的。多線程具有更高的安全性能,每個線程擁有自己獨(dú)立的變量,變量之間不共享,只有在多線程訪問一個變量時,變量才可以統(tǒng)一。⑵MySQL數(shù)據(jù)庫的特點(diǎn)現(xiàn)如今Facebook、Google、Adobe、Alcatel-Lucent和Zappos在內(nèi)的許多世界上規(guī)模最大、發(fā)展最快的組織都依賴MySQL來節(jié)省時間和金錢,為它們的大容量網(wǎng)站、關(guān)鍵業(yè)務(wù)系統(tǒng)和打包軟件提供動力。MySQL數(shù)據(jù)庫通過多線程方式,將存儲引擎框架分裝在多個內(nèi)存池內(nèi),通過多線程,完成數(shù)據(jù)存儲。MySQL為了防止數(shù)據(jù)丟失,采取了內(nèi)存緩沖池重做日志功能,當(dāng)發(fā)生宕機(jī)等突發(fā)以外事故時,數(shù)據(jù)可以通過重做日志方式進(jìn)行找回。MySQL具有數(shù)據(jù)統(tǒng)一性,格式一致性等特點(diǎn),當(dāng)數(shù)據(jù)庫發(fā)生異常時,數(shù)據(jù)庫會產(chǎn)生自我保護(hù)機(jī)制,對異常數(shù)據(jù)進(jìn)行恢復(fù),與當(dāng)前主流的數(shù)據(jù)庫類似,通過重做redo日志,undo頁內(nèi)容進(jìn)行日志提交并進(jìn)行修改。由于MySQL數(shù)據(jù)庫體積小、速度快、成本低、開放源碼,在當(dāng)今有著廣泛的市場空間,擁有著龐大的使用群體,優(yōu)越性能,良好的適配性,對于多種平臺可以完美搭建開發(fā)環(huán)境,是現(xiàn)在目前中小型數(shù)據(jù)庫開發(fā)的首選。1.3課題實(shí)現(xiàn)技術(shù)的簡要說明Java圖形界面給用戶提供一個良好的人機(jī)互動與反饋,通過窗口工具包,AWT的圖形函數(shù)與操作系統(tǒng)相互關(guān)聯(lián),使用Swing對AWT進(jìn)行適配調(diào)整,在圖形編程中,運(yùn)用了大量的java.swing包中的類,使用分組是布局,搭配時間處理機(jī)制,監(jiān)聽事件的對象。根據(jù)布局管理器,在每個容器中對組件元素改變屬性。MySQL通過使用navicat將數(shù)據(jù)庫可視圖形化,更方便快速的鏈接項(xiàng)目,將數(shù)據(jù)庫同步,對于數(shù)據(jù)的添加,刪減,修改,查詢保存以及數(shù)據(jù)保存記錄有著良好的操作環(huán)境。編寫多個數(shù)據(jù)庫,對標(biāo)的信息進(jìn)行相應(yīng)的操作。通過Swing與MySQL的界面搭配使用,更快的實(shí)現(xiàn)了醫(yī)院門診收費(fèi)管理系統(tǒng)的基本功能,對于遇到的問題,通過查找相關(guān)資料,參考文檔,對技術(shù)上的不斷提升,使得我逐步學(xué)會獨(dú)立處理問題。第二章系統(tǒng)環(huán)境介紹及相關(guān)理論知識2.1B/S模式隨著互聯(lián)網(wǎng)發(fā)的快速發(fā)展,主機(jī)端C/S已經(jīng)不能滿足全世界人民的需求,需要有更加方便互聯(lián)互通的共享親要求,于是B/S模式,基于三層C/S這種模式統(tǒng)一了客戶端,讓核心業(yè)務(wù)處理在服務(wù)器端完成,通過web與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。B/S架構(gòu)通過瀏覽器進(jìn)行請求,由服務(wù)器作出響應(yīng)并反饋的方式工作,用戶同過瀏覽器將數(shù)據(jù)上傳到服務(wù)器上,服務(wù)器接收請求后根據(jù)用戶需求將對應(yīng)的數(shù)據(jù)返回到瀏覽器上,用戶可以通過瀏覽器查詢到自己訪問的內(nèi)容,從瀏覽器到服務(wù)器上再到本地程序進(jìn)行執(zhí)行,將許多的網(wǎng)絡(luò)編制一起,形成全球網(wǎng)或內(nèi)網(wǎng),在企業(yè)結(jié)構(gòu)中在此基礎(chǔ)上可以構(gòu)建自己的Internet。2.2JSP技術(shù)Jsp是java服務(wù)器頁面,通過HTML和Java代碼,由文本程序組成。Jsp使用的代碼是java,所以他有Java共同的特性,具有API,平臺無關(guān)性等特性,常應(yīng)用于windows,MAC等多平臺上使用。JSP的工作方式以post與request模式,用戶發(fā)出http請求,JSP收到請求將處理結(jié)果進(jìn)行返回。當(dāng)二次請求時,JSP引擎將Servlet最后將執(zhí)行結(jié)果以html格式通過瀏覽器返回給客戶端,JSP再利用引擎把javac編譯成class文件并進(jìn)行保存,從而加快了執(zhí)行的速度。用圖來表示如下:除了速度的優(yōu)勢外,JSP還有以下的優(yōu)點(diǎn):jsp由于是基于java的,所以它擁有與java語言共同的特點(diǎn)-平臺無關(guān)性,jsp可以跨平臺進(jìn)行應(yīng)用,高效與安全性也得到了傳承Jsp具有與java相似的性質(zhì),具有平臺無關(guān)性,支持多平臺開發(fā),支持多平臺部署,可擴(kuò)展性強(qiáng)。(3)可伸縮性強(qiáng),多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,application集中化事務(wù)處理,java顯示巨大的靈活性與可伸展性。2.3Tomcat運(yùn)行原理Tomcat是JSP/Servlet容器,對于tomcat的配置文件進(jìn)行web項(xiàng)目部署進(jìn)入tomcat的webapp內(nèi),通過main方法啟動,監(jiān)聽本機(jī)上的8080端口,通過獲取端口上的請求調(diào)用方法,根據(jù)方法所在的類,將請求的數(shù)據(jù)進(jìn)行實(shí)例化,并講話方法執(zhí)行,最終將計算結(jié)果返回給用戶。2.4SSH實(shí)現(xiàn)原理

SSH是由structs,spring,hibernate三種框架集合的一個整體,在目前階段具有良好的市場,是一種較為主流的開源框架。SSH框架有4部分組成,表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層。由于SSH框架具有良好的結(jié)構(gòu)框架,在后期修改、維護(hù)Web應(yīng)用程序等方面具有卓越的效果。Structs是基礎(chǔ)架構(gòu),主要負(fù)責(zé)MVC的分離,structs通過ibernate框架對持久層提供支持,通過模型的對java的接口實(shí)現(xiàn)編寫。Spring通過IOC與AOP,用于項(xiàng)目松耦合,hibernate讓實(shí)體類和數(shù)據(jù)庫建立關(guān)系,觸發(fā)操作sql語句,與前臺數(shù)據(jù)進(jìn)行交互交流,因?yàn)镾SH框架可以通過多種平臺進(jìn)行搭建,大大減少了人為的工作量。從以下幾個角度來闡述這個問題在項(xiàng)目開發(fā)過程中,很多數(shù)據(jù)需要進(jìn)行流程指定,收集數(shù)據(jù),需求分析,為了提高效率,我們要從多角度出發(fā),根據(jù)需求,將系統(tǒng)模塊化處理,使用抽象化技術(shù),增加系統(tǒng)的可擴(kuò)展性,將系統(tǒng)多層次,多模塊,抽象接口等方式,將系統(tǒng)按需分配,便于以后擴(kuò)展或重構(gòu)。在項(xiàng)目開發(fā)的過程中,有時突入而來的功能添加,導(dǎo)致項(xiàng)目有可能要重構(gòu),改造,容易出現(xiàn)大量變更,所以在做項(xiàng)目之前,提前做好從函數(shù)到文件模塊到采用框架,顆粒度可能發(fā)生變更,我們必須準(zhǔn)備對應(yīng)的變化,既能方便個人并行開發(fā),又能靈活進(jìn)行修改、擴(kuò)展或重構(gòu)。復(fù)用化,規(guī)格化,模式化技術(shù)的更新,系統(tǒng)重構(gòu):為了降低錯誤,節(jié)省時間,減少人力與物力的消耗,規(guī)避人為操作失誤導(dǎo)致的不確定性,隱藏的風(fēng)險,程序是會根據(jù)人的操作進(jìn)行執(zhí)行。通過復(fù)用化,規(guī)格化,模式化減少對應(yīng)的錯誤,實(shí)現(xiàn)程序的全應(yīng)用開發(fā)。對于一個項(xiàng)目越復(fù)雜越需要分工,對于項(xiàng)目的每一個部分,合理的分配可以提高效率,節(jié)省時間成本,對于個人而言,整體需要一個大局的全局觀,對項(xiàng)目的功能與實(shí)際項(xiàng)目中的對比,形成對結(jié)構(gòu)有哪些部分,明白該部分哪些構(gòu)造,起什么作用,在具體實(shí)現(xiàn)前,想好整個邏輯,數(shù)據(jù)流是什么樣的,邏輯分支有哪些,在沒有限制條件的情況下,盡量在動手前且代碼。第三章.需求分析3.1可行性研究可行性研究的目的是在短時間內(nèi)通過對問題的集中討論,通過適當(dāng)?shù)姆椒?,用盡可能小的代價完成規(guī)定的需求,對于技術(shù)支持性,操作可行性,經(jīng)濟(jì)可行性等需要具體分析。3.1.1技術(shù)可行性本系統(tǒng)數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫,該數(shù)據(jù)庫擁有高效性與安全性,安全高效實(shí)用,本系統(tǒng)后臺采用Eclipse平臺開發(fā)綜上所述,本系統(tǒng)的設(shè)計與開發(fā)在eclipse平臺上開發(fā)是具有可行性的。3.1.2經(jīng)濟(jì)可行性(1)系統(tǒng)的運(yùn)行僅需1人就可以實(shí)現(xiàn)平臺的全部運(yùn)轉(zhuǎn)(2)系統(tǒng)可以匯總醫(yī)生、患者、管理員的全部行為,不會造成資源溢出所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。3.1.3.操作上的可行性本系統(tǒng)是結(jié)合實(shí)際工作需要而開發(fā),對于硬件與軟件需求低,通過測試監(jiān)測,調(diào)試debug等行為可以對所有流程進(jìn)行操作,因此該項(xiàng)目符合相關(guān)的工作實(shí)際操作。從操作方講有項(xiàng)目操作更好完成的基礎(chǔ)和可行性。從前面分析看,軟件與硬件都滿足開發(fā)需求,技術(shù)層面需求也滿足開發(fā)需求,在操作可實(shí)行階段具有保障基礎(chǔ)。3.2系統(tǒng)分析3.2.1系統(tǒng)需求分析本系統(tǒng)根據(jù)市面調(diào)查的醫(yī)院管理系統(tǒng),根據(jù)主流的平臺管理系統(tǒng)進(jìn)行綜合性集成,采用java、SSH框架進(jìn)行設(shè)計。3.2.2系統(tǒng)功能分析本系統(tǒng)需要完成的總?cè)蝿?wù)主要有:1.管理員信息:用戶添加刪減,藥品添加刪減,網(wǎng)頁主頁面編輯2.科室管理:醫(yī)生的添加,科室創(chuàng)建,圖片管理添加3.病房管理:病人的查看、添加、刪除、編輯;4.醫(yī)生信息管理:開具藥品、查詢操作、修改、刪除;5.病人管理:掛號,繳費(fèi),查詢操作;病人的功能:對網(wǎng)站首頁,醫(yī)院簡介,醫(yī)生風(fēng)采,動態(tài)新聞具有瀏覽查看功能;擁有門診掛號,病歷掛號功能;查看醫(yī)生處方藥品;掛號結(jié)果查詢:查看、繳費(fèi);醫(yī)生的功能:1.對網(wǎng)站首頁,醫(yī)院簡介,醫(yī)生風(fēng)采,動態(tài)新聞具有瀏覽查看功能;對預(yù)約患者進(jìn)行診斷,開具處方藥品;對病人進(jìn)行病房檢測報告;4.病房檢查,病房統(tǒng)計,病房繳費(fèi)統(tǒng)計以上分析是系統(tǒng)將要實(shí)現(xiàn)的功能??偟脑O(shè)計圖:系統(tǒng)功能需求分析圖3.3系統(tǒng)業(yè)務(wù)描述本系統(tǒng)分系統(tǒng)管理員和用戶(醫(yī)生、學(xué)生)共計3個用戶權(quán)限。功能圖如下:頁面功能圖展示1頁面功能圖展示23.2.4用戶登錄流程圖第四章數(shù)據(jù)庫設(shè)計4.1數(shù)據(jù)模型分析與設(shè)計概念模型具有數(shù)據(jù)模型的通用模式,它具有獨(dú)立性,高穩(wěn)定性。通過E-R模型,根據(jù)本系統(tǒng)的設(shè)計,將分為醫(yī)生、管理員、病人三種角色進(jìn)行設(shè)計,其中管理員擁有網(wǎng)站編輯操作與高于其他二者的權(quán)限操作,將管理員的權(quán)限表單獨(dú)創(chuàng)建,并將管理員id與passwrod單獨(dú)放在一張表中。患者表根據(jù)需求,將個人信息表,掛號表,藥品表作為一個集合,防止各個角色之間發(fā)生權(quán)限錯亂。本課題的關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)可分為幾個表來表示:掛號檢查(t_Appoint)、新聞公告(t_Gonggao)、醫(yī)院簡介(t_Jichu)、科室(t_Keshi)、管理員(t_Manager)、用戶表(t_user)藥品信息(t_Yaopin)、病房信息(t_bed)、病房檢查信息(t_bed_appoint)。4.2建立數(shù)據(jù)庫表的結(jié)構(gòu)掛號檢查表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵IdINT(11)11否掛號編號danhaoVARCHAR(255)255是NULL否掛號科室keshiVARCHAR(255)255是否關(guān)聯(lián)病人userINT(11)11是NULL否檢查項(xiàng)目清單jcxmcontentVARCHAR(255)255否藥品清單ypcontentVARCHAR(255)255是NULL否費(fèi)用合計feiyongDouble(11)11是否繳費(fèi)狀態(tài)stautsVARCHAR(255)255是NULL否疾病診斷描述contentVARCHAR(255)255是否添加時間createtimeDATETIME是NULL否刪除狀態(tài)appointlockINT(11)11是病房檢查表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵IdINT(11)11否掛號編號danhaoVARCHAR(255)255是NULL否掛號病房BedVARCHAR(255)255是否關(guān)聯(lián)病人userINT(11)11是NULL否檢查項(xiàng)目清單jcxmcontentVARCHAR(255)255否藥品清單ypcontentVARCHAR(255)255是NULL否費(fèi)用合計feiyongDouble(11)11是否繳費(fèi)狀態(tài)stautsVARCHAR(255)255是NULL否診斷描述contentVARCHAR(255)255是否添加時間createtimeDATETIME是NULL否刪除狀態(tài)appointlockINT(11)11是新聞公告表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵IdINT(11)11否公告標(biāo)題biaotiVARCHAR(255)255是否公告內(nèi)容contentVARCHAR(255)255是NULL否添加時間createtimeDATETIME是否刪除狀態(tài)gonggaolockINT(11)11是NULL醫(yī)院簡介表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵IdINT(11)11否簡介contentVARCHAR(255)255是否醫(yī)院圖片imgpathVARCHAR(255)255是NULL否添加時間createtimeDATETIME是否刪除狀態(tài)gonggaolockINT(11)11是NULL科室表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵IdINT(11)11否科室名nameVARCHAR(255)255是NULL否科室編號bianhaoVARCHAR(255)255是否科室類型leixingVARCHAR(255)255是否科室介紹contentVARCHAR(255)255是NULL否添加時間createtimeDATETIME是否刪除狀態(tài)keshilockINT(11)11是NULL管理員表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵idINT(11)11否用戶名usernameVARCHAR(255)255是NULL否密碼passwordVARCHAR(255)255是NULL否刪除狀態(tài)deletestatusINT(11)11是NULL否添加時間createtimeDATETIME是NULL用戶表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵idINT(11)11否用戶名usernameVARCHAR(255)255是否密碼passwordVARCHAR(255)255是否真實(shí)姓名truenameVARCHAR(255)255是否手機(jī)號telephoneVARCHAR(255)255是否籍貫jiguanVARCHAR(255)255是否家庭地址addressVARCHAR(255)255是否性別xingbieVARCHAR(255)255是否年齡ageVARCHAR(255)255是否郵箱emailVARCHAR(255)255是否角色roleINT(11)11是否關(guān)聯(lián)科室keshiINT(11)11是否職稱zhichengVARCHAR(255)255是否醫(yī)生介紹contentVARCHAR(255)255是否擅長shangchangVARCHAR(255)255是否醫(yī)生照片imgpathVARCHAR(255)255是否添加時間createtimeDATETIME是否涂改刪除userlockINT(11)11是藥品信息表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵idINT(11)11否藥品名nameVARCHAR(255)255是NULL否藥品單位danweiVARCHAR(255)255是NULL否藥品價格priceVARCHAR(255)255是NULL否藥品說明contentVARCHAR(255)255是NULL否刪除狀態(tài)deletestatusINT(11)11是NULL否添加時間createtimeDATETIME是NULL病床表是否主鍵字段名字段描述數(shù)據(jù)類型長度可空約束缺省值備注是主鍵IdINT(11)11否病床名nameVARCHAR(255)255是NULL否編號bianhaoVARCHAR(255)255是否介紹contentVARCHAR(255)255是NULL否添加時間createtimeDATETIME是否刪除狀態(tài)keshilockINT(11)11是NULL4.3E-R圖結(jié)構(gòu)這幾個表對應(yīng)的E-R圖如下圖。第五章.系統(tǒng)設(shè)計5.1系統(tǒng)運(yùn)行環(huán)境硬件環(huán)境本套系統(tǒng)開發(fā)環(huán)境在Windows10系統(tǒng)下進(jìn)行開發(fā),需要4G以上內(nèi)存,10G以上硬盤存儲保證程序順利運(yùn)行,在軟件方面,使用eclipse,數(shù)據(jù)庫方面使用MySQL7.0,通過navicat建立連接,使用谷歌瀏覽器進(jìn)行展示。5.2系統(tǒng)功能實(shí)現(xiàn)構(gòu)造5.2.1SSH框架設(shè)計SSH框架就是由struts,spring,hibernate的簡稱,采用框架協(xié)同使用,提高代碼的復(fù)用率,減少錯誤出現(xiàn)比例,提高開發(fā)效率。5.2.2hibernate配置文件<hibernate-configuration><session-factory><!--加載連接池的配置配置文件--><propertyname="proxool.pool_alias">DBPool</property><propertyname="proxool.xml">proxool.xml</property><propertyname="vider_class">org.hibernate.connection.ProxoolConnectionProvider</property><!--EchoallexecutedSQLtostdout--><propertyname="show_sql">true</property><propertyname="format_sql">true</property><propertyname="dialect">org.hibernate.dialect.MYSQLDialect</property> <!--EnableHibernate'sautomaticsessioncontextmanagement--><propertyname="current_session_context_class">thread</property> <propertyname="hibernate.hbm2ddl.auto">update</property><mappingclass="model.User"/><mappingclass="model.Gonggao"/><mappingclass="model.Manager"/><mappingclass="model.Keshi"/><mappingclass="model.Jichu"/><mappingclass="model.Appoint"/><mappingclass="model.Yaopin"/></hibernate-configuration>這是Hibernate配置文件,加載數(shù)據(jù)庫,顯示當(dāng)前MySQL語句。5.2.3struts配置文件<struts><constantname="struts.objectFactory"value="spring"></constant><constantname="struts.i18n.encoding"value="UTF-8"></constant><packagename="common"extends="struts-default"namespace="/"> <actionname="method"class="manageAction"><resulttype="dispatcher">${url}</result><resultname="redirect"type="redirect">${url}</result></action></package></struts>這是struts的配置文件,處理jsp請求,將跳轉(zhuǎn)進(jìn)行配置5.2.4Spring配置文件spring的基礎(chǔ)配置文件,該文件的作用主要對事物管理進(jìn)行配置<beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><propertyname="configLocation"><value>classpath:hibernate.cfg.xml</value></property> </bean><!--配置事務(wù)管理器--><beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"><refbean="sessionFactory"/></property> </bean><!--配置事務(wù)的傳播特性--><tx:adviceid="txAdvice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="insert*"propagation="REQUIRED"/><tx:methodname="delete*"propagation="REQUIRED"/><tx:methodname="update*"propagation="REQUIRED"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><!--那些類的哪些方法參與事務(wù)--><aop:config><aop:pointcutid="allManagerMethod"expression="execution(*dao.*.*(..))"/><aop:advisorpointcut-ref="allManagerMethod"advice-ref="txAdvice"/></aop:config></beans>使用IOC主要功能,對象實(shí)例化,轉(zhuǎn)換IOC模式<beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd/schema/aop/schema/aop/spring-aop-2.0.xsd/schema/tx/schema/tx/spring-tx-2.0.xsd"><beanid="manageAction"class="action.ManageAction"><propertyname="userDao"><refbean="userDao"/></property><propertyname="gonggaoDao"><refbean="gonggaoDao"/></property><propertyname="managerDao"><refbean="managerDao"/></property><propertyname="keshiDao"><refbean="keshiDao"/></property><propertyname="jichuDao"><refbean="jichuDao"/></property><propertyname="appointDao"><refbean="appointDao"/></property><propertyname="yaopinDao"><refbean="yaopinDao"/></property></bean>本段代碼是把ManageAction實(shí)例化的代碼,原理也是spring的IOC模式。<beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd/schema/aop/schema/aop/spring-aop-2.0.xsd/schema/tx>"/schema/tx/spring-tx-2.0.xsd"><beanid="userDao"class="dao.impl.UserDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="gonggaoDao"class="dao.impl.GonggaoDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean> <beanid="managerDao"class="dao.impl.ManagerDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean> <beanid="keshiDao"class="dao.impl.KeshiDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean> <beanid="jichuDao"class="dao.impl.JichuDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="appointDao"class="dao.impl.AppointDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="yaopinDao"class="dao.impl.YaopinDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean></beans>第六章.系統(tǒng)實(shí)現(xiàn)6.1系統(tǒng)后臺登陸頁面6.1.1登錄界面其實(shí)現(xiàn)代碼如下:publicvoidlogin()throwsIOException{HttpServletRequestrequest=ServletActionContext.getRequest();HttpServletResponseresponse=ServletActionContext.getResponse();Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");Useruser=userDao.selectBean("whereusername='"+username+"'andpassword='"+password+"'anduserlock=0");if(user!=null){HttpSessionsession=request.getSession();session.setAttribute("user",user);response.setCharacterEncoding("gbk");PrintWriterwriter=response.getWriter();writer.print("<scriptlanguage='javascript'>alert('登陸成功');window.location.href='index.jsp';</script>");}else{response.setCharacterEncoding("gbk");PrintWriterwriter=response.getWriter();writer.print("<scriptlanguage='javascript'>alert('用戶名或者密碼錯誤');window.location.href='login.jsp';</script>");}}6.2后臺主操作界面6.2.1主操作界面6.3前臺操作界面6.3.1前臺操作界面其部分實(shí)現(xiàn)代碼如下:publicvoidregister()throwsException{HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse();Stringusername=.URLDecoder.decode(request.getParameter("username"),"utf-8");Stringpassword=.URLDecoder.decode(request.getParameter("password"),"utf-8");Stringtruename=.URLDecoder.decode(request.getParameter("truename"),"utf-8");Stringzhuanye=.URLDecoder.decode(request.getParameter("zhuanye"),"utf-8");Stringbanji=.URLDecoder.decode(request.getParameter("banji"),"utf-8");Stringtelephone=.URLDecoder.decode(request.getParameter("telephone"),"utf-8");Stringjiguan=.URLDecoder.decode(request.getParameter("jiguan"),"utf-8");Stringaddress=.URLDecoder.decode(request.getParameter("address"),"utf-8");Stringxingbie=.URLDecoder.decode(request.getParameter("xingbie"),"utf-8");Stringage=.URLDecoder.decode(request.getParameter("age"),"utf-8");Useruser=userDao.selectBean("whereusername='"+username+"'anduserlock=0");if(user==null){user=newUser();user.setCreatetime(newDate());user.setPassword(password);user.setTruename(truename);user.setUsername(username);user.setZhuanye(zhuanye);user.setBanji(banji);user.setTelephone(telephone);user.setJiguan(jiguan);user.setAddress(address);user.setXingbie(xingbie);user.setAge(age);user.setRole(2);userDao.insertBean(user);ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");response.getWriter().write("注冊成功!您的用戶名"+user.getUsername()+"");}else{ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");response.getWriter().write("該用戶名已經(jīng)存在,請

溫馨提示

  • 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

提交評論