




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、華中科技大學軟件學院 畢業(yè)設計(論文)題目:基于php醫(yī)院網上預約掛號系統(tǒng) 2014 年 11月 20 日華中科技大學軟件學院大學畢業(yè)設計(論文)任務書學院(直屬系):電子信息工程 時間 2014年 5月 20日學 生 姓 名指 導 教 師設計(論文)題目基于php醫(yī)院網上預約掛號系統(tǒng)主要研究內容(1)本課題研究以php+apache框架為主要技術框架的醫(yī)院網上掛號 系統(tǒng)(2)以html技術為客戶端的主要顯示技術(3)以sql數據庫作為系統(tǒng)的數據存儲單元(4)實現“基于php醫(yī)院網上預約掛號系統(tǒng)”研究方法操作系統(tǒng):unix/linux/windows2000或以上版本數據庫:mysql 5.0
2、開發(fā)工具包:jdk version 1.7.2開發(fā)環(huán)境:eclipse-sdk-3.1.2web服務器:apache瀏覽器:ie7.0以上系統(tǒng)軟件:php5、apache 2.2主要技術指標(或研究目標)php語言、apache服務器和mysql數據庫技術主要參考文獻1 飛思科技產品研發(fā)中心.php網站開發(fā)c. 北京:電子工業(yè)出版社,2005年2 屈喜龍,朱杰,等.php開發(fā)動態(tài)網站實例薈萃m. 北京:機械工業(yè)出版社,2006年3月3 張海藩.軟件工程導論m. 北京:清華大學出版社,2004年7月4 許登旺,鄒天思,等.php程序開發(fā)范例寶典m. 北京:人民郵電出版社,2007年10月5 楊則
3、正.對javascript的研究j. 北京:管理科學文摘, 1998,(12).6 張志遠.javascript與客戶端安全j. 廣東:東莞理工學院學報, 2002,(02).7 陶宏才.數據庫原理及設計m. 北京:清華大學出版社,2004年3月8 王涌.php與相關數據庫技術高級指南m. 北京:電子工業(yè)出版社,2004年9 王永紅.使用javascript增強網頁的功能j. 安徽:安徽建筑, 2001,(02).10 徐峰.基于mysql的php數據庫訪問技術 j. 北京:計算機時代, 2001年02期11 施威銘,王超輝.php網頁模塊開發(fā)實例導學m. 北京:中國電力出版社,2007年7月
4、12 陳軍.php+mysql經典案例剖析m. 北京:清華大學出版社,2008年8月13 廖世恩,許宏松.php 4 程序設計m. 北京:機械工業(yè)出版社, 2006年7月14 james lee brent ware .開放源碼網站開發(fā)指南m. 北京:清華大學出版社,2005年4月15 阮文江.javascript 程序設計基礎教程m. 北京:人民郵電出版社, 2009年3月16 廖若雪.php企業(yè)級web應用與開發(fā)m. 北京:機械工業(yè)出版社, 2010年9月說明:一式兩份,一份裝訂入學生畢業(yè)設計(論文)內,一份交學院(直屬系)。華中科技大學軟件學院基于php醫(yī)院網上預約掛號系統(tǒng)摘要inter
5、net互聯(lián)網技術的快速發(fā)展的同時也帶來了社會各個行業(yè)的發(fā)展。它的發(fā)展已經深入到社會的各個角落。作為社會發(fā)展的前沿技術,各行各業(yè)只要對其合理的進行運用,必將會帶來巨大的便捷。成功的運用internet將為醫(yī)療事業(yè)帶來無限便利。在傳統(tǒng)的醫(yī)院掛號過程中,信息處理停留在手工方式,勞動強度大且工作效率低,醫(yī)師護士和管理人員的大量時間都消耗在事務性工作上,病人排隊等候時間長,這些影響了醫(yī)療的秩序,也延誤了患者的病情。而本論文的探索研究方向則為醫(yī)院掛號網站的開發(fā)與實現。本系統(tǒng)采用的是基于廣域網的b/s結構平臺,比c/s有更強的適用范圍,具有更加生動和豐富的表現方式與用戶交流。在此背景下,本文論述了用web語
6、言開發(fā)醫(yī)院管理系統(tǒng)的流程,介紹了基于php+apache+sql server網絡環(huán)境的配置,以及該系統(tǒng)的操作說明。本系統(tǒng)是適應時代發(fā)展的需要,提高管理的效率而開發(fā)設計的。系統(tǒng)的設計框架采用的是已經發(fā)展成熟、php+apache+sql server技術框架,使系統(tǒng)實施更為方便和安全。網頁采用的是jsp技術,它擁有卓越的系統(tǒng)可移植性,同時它與流行的xml等技術也能良好整合,加上mysql數據庫強大的后臺數據支持,奠定了php技術在網絡應用系統(tǒng)開發(fā)中的關鍵地位。它使我們的網頁更加生動、具有表現力。這次畢業(yè)設計開發(fā)了醫(yī)院預約掛號系統(tǒng),該系統(tǒng)是專為解決廣大患者掛號難這個問題。通過本網站患者可以有針對
7、性的快速的找到符合自身的需求的醫(yī)師進行預約掛號。關鍵詞: 醫(yī)院,掛號,phphospital registration and online booking system based on phpabstractinternet the rapid development of internet technology has also brought the development of all sectors of society. its development has deep into every corner of society. as the frontier technolog
8、y and social development, all walks of life as long as the use of its reasonable, will bring great convenience. the successful application of internet will bring infinite convenience for the medical cause.in the traditional hospital registration process, information processing stay in manual mode, h
9、igh labor intensity and low work efficiency, a lot of time doctors and nurses and managers are consumed in the routine work, patient waiting time is long, the effect of the medical order, but also delay the patients condition. and the research direction of this dissertation is the development and im
10、plementation of hospital registration website. the system uses a b/s structure platform based on wide area network, have more scope than c/s, with more vivid and expressive way to communicate with users. under this background, this paper discusses the web language development of hospital management
11、system process, introduces the php+apache+sql server network environment based on the configuration of the system, and the operating instructions. this system is to adapt to the need of development of era, improve the efficiency of management and the development of the design. the design framework o
12、f the system is already mature, php+apache+sql server framework, the implementation of the system is more convenient and secure. webpage using jsp technology, it has excellent portability of the system, at the same time with the popular xml technology can be a good integration, data and mysql powerf
13、ul database support, established a php technique in key status in the network application development system. it makes our webpage more vivid, expressive.this graduation design and development of hospital appointment system, the system is designed to solve the majority of patients registered to this
14、 problem. patients through this website can be found quickly targeted in line with the needs of their own doctors appointment.key words: hospital,registration,php目 錄摘要iabstractii第1章 背景- 1 -1.1課題背景及研究意義- 1 -1.2國內外研究現狀- 2 -1.3本課題研究內容- 2 -1.4在線掛號系統(tǒng)的開發(fā)思想- 2 -第2章 開發(fā)環(huán)境及開發(fā)技術- 3 -2.1 b/s模型- 3 -2.2 php技術- 4
15、-2.3 php工作原理- 5 -2.4 apache技術- 5 -2.5 javascript語言- 5 -2.6軟件環(huán)境- 6 -2.7硬件環(huán)境- 6 -2.8數據庫簡介- 6 -第3章 系統(tǒng)分析- 8 -3.1系統(tǒng)需求分析- 8 -3.2系統(tǒng)可行性分析- 8 -3.3系統(tǒng)的實現目標分析- 8 -3.4系統(tǒng)的功能分析- 9 -3.5系統(tǒng)的性能需求- 10 -3.6系統(tǒng)的數據需求- 10 -3.7系統(tǒng)的運行需求- 10 -3.8系統(tǒng)數據流圖- 10 -第4章 系統(tǒng)設計與實現- 13 -4.1 er圖設計- 13 -4.2數據庫表格設計- 14 -4.3系統(tǒng)數據庫設計- 18 -4.3.1 建
16、立數據庫- 18 -4.3.2 數據庫連接代碼- 19 -4.4系統(tǒng)前臺設計- 19 -4.4.1前臺框架- 19 -4.4.2前臺php代碼- 20 -4.4.3網站前臺首頁的運行效果- 22 -4.5 后臺設計- 22 -4.5.1模塊功能介紹- 22 -4.5.2后臺文件整體結構- 23 -4.5.3后臺管理員模塊- 23 -4.5.4后臺首頁php代碼- 24 -4.5.5后臺登陸php代碼- 25 -4.5.6后臺運行效果圖- 26 -4.6前后臺驗證碼- 29 -4.6.1設置驗證碼的意義- 29 -4.6.2驗證碼的php代碼- 30 -參考文獻- 32 -致謝- 33 -華中科
17、技大學軟件學院第1章 背景1.1課題背景及研究意義隨著經濟與科學技術的高速發(fā)展,信息化的進程不斷加快。隨著計算機性能不斷提高,價格不斷下降,計算機已在醫(yī)院醫(yī)療,教學,科研,管理的各個方面得到越來越廣泛的應用。然而,我國還有部分醫(yī)院的信息處理停留在手工方式,勞動強度大且工作效率低,醫(yī)師護士和管理人員的大量時間都消耗在事務性工作上,病人排隊等候時間長,輾轉過程多,影響了醫(yī)療的秩序。計算機化的醫(yī)院信息系統(tǒng)已成為現代化醫(yī)院運營必不可少的基礎設施與技術支撐環(huán)境。門診掛號系統(tǒng)是整個醫(yī)院管理信息系統(tǒng)的第一個窗口,是病人到醫(yī)院就診要做的第一項工作。它用于收集病人的信息,協(xié)調科室醫(yī)生管理,控制各科室的流量等等。
18、醫(yī)院網上預約掛號系統(tǒng)是一種基于互聯(lián)網的新型掛號系統(tǒng),是衛(wèi)生信息化建設的基礎的項目之一。利用該預約掛號系統(tǒng),用戶就可以在網上預約醫(yī)院的專家、??铺?而無須再受排隊之苦。它能更好的改善就醫(yī)環(huán)境,簡化就醫(yī)環(huán)節(jié),節(jié)約就醫(yī)時間,真正體現了以病人為中心,一切從方便患者出發(fā),符合當今醫(yī)院人性化溫馨服務的理念。目前,門診一直是困擾醫(yī)院提高服務質量的一個復雜環(huán)節(jié),特別是醫(yī)療水平高、門診量大的醫(yī)院,而造成門診質量難以提高的因素主要有兩方面:一方面集中式掛號(現在流行的分層掛號只是相對而言一個范圍較小的集中式掛號),就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷(表現在整個醫(yī)院不同門診時間段及同科室的不同時
19、間段)。高峰期病人掛號排隊長,就診時間長,醫(yī)生熟人插號現象,環(huán)境擁擠混亂,醫(yī)生問診時間短、不仔細、態(tài)度差。而低谷期,醫(yī)生無病人看、溜號,醫(yī)院資源浪費。另一方面專家號(特別是名專家號)難掛,出現倒號、炒號現象,嚴重損害病人利益,影響到醫(yī)院的聲譽。而采用網上預約掛號,可有效的解決這一現象,還通過有效的身份驗證,杜絕倒、炒專家號的現象,提高醫(yī)院門診服務質量,取得良好的社會效益和經濟效益。此外,病人到醫(yī)院就診前對醫(yī)院的相關信息了解不多,對所要掛的??漆t(yī)生的情況又不太了解,只能憑經驗和印象進行選擇,具有較大的盲目性。而當醫(yī)院開通網上掛號預約服務以后,求醫(yī)者只需坐在家中,輕點兒下鼠標,就可以掛上醫(yī)院專家門
20、診號,可以做到“足不出戶選醫(yī)生”。網上預約正悄然改變著都市求醫(yī)者的看病觀念。擁有相對固定的個人醫(yī)生和習慣,預約看病,將不再遙遠,所以應用必將越來越廣泛。1.2國內外研究現狀隨著互聯(lián)網絡的迅猛發(fā)展,internet用戶已呈幾何級數增長,目前已經有很多醫(yī)院投入使用網上掛號系統(tǒng)。據了解,預約掛號在國外頗為普及。在西方國家,病人看病都需要事先進行預約。隨著預約掛號的深入推廣,國內越來越多的醫(yī)院也意識到預約服務在節(jié)約看病時間、分流患者、減輕醫(yī)院壓力上的作用。據了解,盡管存在很多困難,但全國各地的醫(yī)院在嘗試預約掛號的實踐中還是提供了很多有益的做法。廣東省人民醫(yī)院早在2004年就采取了一套相對完整的預約掛號
21、體系,其三種預約方式,按照受歡迎程度排名依此為:電話、現場、網絡,分別占到了預約掛號中 50%、40%、10%。在福建,全省范圍內撥打12320海西健康熱線電話,即可預約到福建省立醫(yī)院等5家醫(yī)院的專家號,只按市話費標準收費,不收取任何信息服務費。在北京,解放軍總醫(yī)院(三零一醫(yī)院)于前不久專門開通了夜間門診電話預約掛號66936619(不收預約費),可以毫不費力地約到各科室的專家,開通不久即見成效,目前已經成功分流了約1/3的患者。此外醫(yī)院還開通手機掛號功能,患者只需要發(fā)送短信就可以進行預約掛號?;颊吒鶕到y(tǒng)提示,輸入姓名、性別、年齡、住址、付費方式、就診卡號、預約時間、預約科室、預約項目、預約
22、醫(yī)師等內容,系統(tǒng)就會根據各門診科室提供的具體情況,安排給患者合適的就診排號位或掛號建議。在患者就診前一天、就診當天、就診前一小時、就診前5分鐘,系統(tǒng)還會以短信的形式多次通知患者。患者如果有事無法就診,通過發(fā)送短信,經過醫(yī)師或護士同意,還可二次預約。1.3本課題研究內容本課題的主要研究的內容是運用php語言、apache服務器和sql數據庫實現管理員對系統(tǒng)的管理、用戶預約掛號等功能的管理和實現,包括前臺模塊和后臺管理模塊。1.4在線掛號系統(tǒng)的開發(fā)思想能夠讓人們使用簡單的上網操作方法,及先進的在線掛號系統(tǒng)開發(fā)方案,從而達到提高系統(tǒng)開發(fā)水平和應用效果的目的。系統(tǒng)應符合在線掛號的規(guī)定,滿足個人看病預約
23、掛號需求,并達到操作過程的直觀、方便、實用等要求。系統(tǒng)采用模塊化的程序設計方法,既便于系統(tǒng)功能模塊的組合,又便于未參與開發(fā)的技術人員補充、維護。第2章 開發(fā)環(huán)境及開發(fā)技術醫(yī)院網上掛號系統(tǒng)是以php+apache框架為主要的技術框架,以html技術為客戶端的主要顯示技術,以sql數據庫作為系統(tǒng)的數據存儲單元。下面我們來介紹下本系統(tǒng)的開發(fā)環(huán)境以及開發(fā)中所用到的相關技術。2.1 b/s模型b/s結構,即browser/server(瀏覽器/服務器)結構,是隨著internet技術的興起,對c/s結構的一種變化或者說是改進的結構。用戶界面完全通過瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在
24、服務器端實現,形成三層結構,是一種全新的軟件系統(tǒng)構造技術。b/s模式最大特點是:用戶可以通過www例覽器去訪問internet上的文本、數據、圖像、動畫、視頻點播和聲音信息,這些信息都是由許許多多的web服務器產生的,而每一個web服務器又可以通過各種方式與數據庫服務器連接,大量的數據實際存放在數據庫服務器中??蛻舳顺藈ww創(chuàng)覽器,一般無須任何用戶程序,只需從web服務器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數據庫有關的指令,由web服務器交給數據庫服務器來解釋執(zhí)行,并返回給web服務器,web服務器又返回給用戶。在這種結構中,將許許多多的網連接到一塊,形成一個巨大的網,即全球網。b/
25、s模型結構圖如圖2.1所示:web服務器datebase服務器php頁面用戶基本操作用戶創(chuàng)建基本信息圖2.1 b/s模型結構圖從上圖可見 這種結構的一個重要的特點是,用戶可以完全不需要安裝客戶端軟件,當然也不需要擔心任何軟件升級和不兼容等任何客戶端所遇到的問題。相比之下,b/s模型的優(yōu)點顯而易見,更適合這個網站的構建,有利于網站的維護和擴充。2.2 php技術最早的web網站是由許多html文件組成的,這些文件就是所謂的靜態(tài)網頁:它們只能為用戶提供靜止的、一成不變的信息。如果發(fā)布的內容發(fā)生了變化,必須手工修改頁面。對于規(guī)模較小的網站來說,這沒有什么大問題,但是對于規(guī)模較大的網站,要跟蹤網頁上的
26、數據變化,手工修改網頁則不啻是一場惡夢。如果想在靜態(tài)網頁上發(fā)布靜態(tài)內容,或與用戶交互,必須使用cgi (common gateway interface,通用網關接口)??梢杂煤芏嗾Z言編寫cgiperl、python、tcl/tk、c、c+以及vb等。用這些語言可以開發(fā)功能強大的cgi程序,特別是perl語言,目前仍然是編寫cgi程序的首選語言。perl語言功能非常的強大,但也比較復雜,掌握它需要一定的時間。另外,用這些語言編寫的cgi程序,每當有一個用戶請求時都會建立一個新的進程來運行該cgi;如果突然有大量的用戶請求出現,可能會出現性能問題(現在有一種稱為fastcgi的技術可以解決這個問
27、題)。因為編寫cgi程序很困難,出現了各種技術來解決這個問題。微軟公司的asp技術就時一種非常優(yōu)秀的解決方案。asp技術可以在windows nt/2000iis上運行,使用vbscript作為腳本語言,可以對多種數據庫及odbc進行操作。asp技術雖然好,但是如果采用這種技術,就意味著使用微軟公司的全套技術。網絡服務器只能使用windows nt/2000,web服務器只能使用iis服務器,數據庫服務器最好使用微軟的sql server 等。asp技術出現后許多公司開始將asp的思想移植到其他平臺上,出現了許多unix平臺上的,基于perl或其他語言的asp技術。這些技術一眼時專有技術,受商
28、業(yè)支持少,平臺適應性也較窄。除了asp外,還有一些類似的技術如allaire的code fusion等。這些技術都可以實現在網頁上動態(tài)發(fā)布信息4。php是一種類似微軟asp技術的web數據庫解決分方案。它是一種嵌入式的腳本語言,用于在web上快速的發(fā)布動態(tài)信息。php是“php hypertext preprocessor”(“php:超文本處理器”)的縮寫。它的許多語法借用了c,perl,以及java的語法,當然也有一些php的特性。php語法的目標是使web開發(fā)者快速編寫動態(tài)網頁。“嵌入式腳本”的意思是腳本可以嵌入到html代碼中。當使用perl何c/c+語言編寫cgi腳本時。必須使用pr
29、intf ,echo等命令或者函數向瀏覽器輸出html代碼。而使用嵌入式的腳本語言時,html代碼可以按照正常的方式編寫(如front page或dream weaver等快速開發(fā)工具生成),需要特別處理的內容(如數據庫瀏覽、查詢、與mail服務器的連接等)通過嵌入到html代碼中的腳本完成。這樣,可以極大的加快開發(fā)速度,腳本的可讀性也很強。php的英文全稱很有意思,php: hypertext preprocessor,一種遞歸的表示方法。和gnu的全稱差不多,gnu是“gnu snot unix”的縮寫。這可能是很多程序員的習慣,很詼諧。2.3 php工作原理php的所有應用程序都是通過w
30、eb服務器(如apache)和php引擎程序解釋執(zhí)行完成的,工作過程: (1)當用戶在瀏覽器地址中輸入要訪問的php頁面文件名,然后回車就會觸發(fā)這個php請求,并將請求傳送給支持php的web服務器。 (2)web服務器接受這個請求,并根據其后綴進行判斷。如果是一個php請求,web服務器從硬盤或內存中取出用戶要訪問的php應用程序,并將其發(fā)送給php引擎程序。 (3)php引擎程序將會對web服務器傳送過來的文件從頭到尾進行掃描并根據命令從后臺讀取,處理數據,并動態(tài)地生成相應的html頁面。(4)php引擎將生成html頁面返回給web服務器。web服務器再將html頁面返回給客戶端瀏覽器。
31、 2.4 apache技術apache是最流行的web服務器端軟件之一??焖?、可靠、可通過簡單的api擴展,perl/python解釋器可被編譯到服務器中,完全免費,完全源代碼開放。apache服務器擁有以下特性:1支持最新的http/1.1通信協(xié)議擁有簡單而強有力的基于文件的配置過程;2 支持通用網關接口;3 支持基于ip和基于域名的虛擬主機;4 支持多種方式的http認證;5 集成perl處理模塊;6 集成代理服務器模塊;7 支持實時監(jiān)視服務器狀態(tài)和定制服務器日志;8 支持服務器端包含指令(ssi);9 支持安全socket層(ssl);10 提供用戶會話過程的跟蹤; 11支持fastcg
32、i;通過第三方模塊可以支持java servlets。 2.5 javascript語言javascript語言是一種基于對象(object)和事件驅動(event driven)并具有安全性能的腳本語言。使用它的目的是與html超級文本語言、javaapplet(java小程序)一起實現在一個web頁面中鏈接多個對象,與web客戶交互作用,從而達到開發(fā)客戶端應用程序的目的。javascript是通過嵌入或調入在標準html語言中實現,它的出現彌補了html語言的缺陷。在javascript語言的配合下,能夠運用php技術開發(fā)出非常漂亮而且交互性強大的動態(tài)web網站來。2.6軟件環(huán)境本系統(tǒng)的的
33、軟件環(huán)境如下:操作系統(tǒng):unix/linux/windows2000或以上版本數據庫:mysql 5.0開發(fā)工具包:jdk version 1.7.2開發(fā)環(huán)境:eclipse-sdk-3.1.2-win32web服務器:apache瀏覽器:ie7.0以上2.7硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下:客戶機:普通pccpu:p4 1.8ghz以上內存:256mb以上能夠運行ie5.0以上或者netscape4.0以上版本的機器分辨率:推薦使用1024*768像素web服務器cpu:p4 2.0ghz內存:1g以上硬盤:80g以上網卡:千兆數據庫服務器cpu:p4 2.0ghz內存:1g以上硬盤:80g以上
34、2.8數據庫簡介由于本系統(tǒng)采用的數據庫為mysql數據庫,所以這里對mysql數據庫的相關知識進行簡單介紹。mysql是一個小型關系型數據庫管理系統(tǒng),開發(fā)者為瑞典mysql ab公司。在2008年1月16號被sun公司收購。目前mysql被廣泛地應用在internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了mysql作為網站數據庫。mysql是一個快速、多線程、多用戶的小型關系型數據庫管理系統(tǒng)。它支持正規(guī)的sql查詢語言和采用多種數據類型,能對數據進行各種詳細的查詢等。mysql提供了一全套的數據庫創(chuàng)建和訪問
35、機制,通過很直觀的方式就可以創(chuàng)建、訪問、修改數據庫的表和項,并且能建立它們之間的各種數據關系。mysql系列從90年代就發(fā)展起來,經過了多年的反展,它已經成為非常成熟的技術,面向中小型企業(yè)級應用。mysql數據庫的特點是數據庫文件小而簡單,不需要運行或者啟動數據庫服務進程就可以使用。通常mysql數據庫文件可以隨網頁文件一起方便地放在網站的目錄中,正是由于這些特點,mysql數據庫通常被用來作為網站開發(fā)的數據庫支持技術。對mysql數據庫的管理采用圖形化管理工具phpmyadmin 。phpmyadmin是一個用php編寫的、基于web的、跨平臺的mysql管理程序,支持簡體中文,使用web瀏
36、覽器作為管理界面。通過phpmyadmin可以進行絕大部分的mysql操作,包括對數據庫級操作,表級操作,以及數據管理等。與其他的大型數據庫例如oracle、db2、sql server等相比,mysql自有它的不足之處,如規(guī)模小、功能有限(mysql的功能效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,mysql提供的功能已經綽綽有余,而且由于mysql是開放源碼軟件,因此可以大大降低總體擁有成本。mysql特點: .使用c和c+編寫,并使用了多種編譯器進行測試,保證源代碼的可移植。.支持aix、freebsd、hp-ux、linux、mac
37、os、novell netware、openbsd、os/2 wrap、solaris、windows等多種操作系統(tǒng)。.為多種編程語言提供了api。這些編程語言包括c、c+、eiffel、java、perl、php、python、ruby和tcl等。 .支持多線程,充分利用cpu資源。.優(yōu)化的sql查詢算法,有效地提高查詢速度。.既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的gb 2312、big5,日文的shift_jis等都可以用作數據表名和數據列名。.提供tcp/ip、odbc和jdbc等多種數據庫連接途徑
38、 。.提供用于管理、檢查、優(yōu)化數據庫操作的管理工具。.可以處理擁有上千萬條記錄的大型數據庫。第3章 系統(tǒng)分析3.1系統(tǒng)需求分析目前,門診一直是困擾醫(yī)院提高服務質量的一個復雜環(huán)節(jié),特別是醫(yī)療水平高、門診量大的醫(yī)院,而造成門診質量難以提高的因素主要有兩方面:一方面集中式掛號(現在流行的分層掛號只是相對而言一個范圍較小的集中式掛號),就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷(表現在整個醫(yī)院不同門診時間段及同科室的不同時間段)。高峰期病人掛號排隊長,就診時間長,醫(yī)生熟人插號現象,環(huán)境擁擠混亂,醫(yī)生問診時間短、不仔細、態(tài)度差。而低谷期,醫(yī)生無病人看、溜號,醫(yī)院資源浪費。另一方面專家號(特別
39、是名專家號)難掛,出現倒號、炒號現象,嚴重損害病人利益,影響到醫(yī)院的聲譽。而采用網上預約掛號,可有效的解決這一現象,還通過有效的身份驗證,杜絕倒、炒專家號的現象,提高醫(yī)院門診服務質量,取得良好的社會效益和經濟效益。為了解決這一問題,我們需要一種能夠方便快捷的掛號方式來滿足各方面的需求,減少排隊掛號的痛苦和時間的浪費,而本課題所研究的基于php的醫(yī)院網上掛號預約系統(tǒng)正好是為了解決這一問題而設計的方案,因此,本系統(tǒng)擁有很大的用戶需求。3.2系統(tǒng)可行性分析網上預約掛號系統(tǒng)是一種基于互聯(lián)網的新型掛號系統(tǒng),是衛(wèi)生信息化建設的基礎項目之一。利用該預約掛號系統(tǒng),用戶就可以在網上預約醫(yī)院的專家、??铺?而無須
40、再受排隊之苦。而當醫(yī)院開通網上掛號預約服務以后,求醫(yī)者只需坐在家中,輕點兒下鼠標,就可以掛上醫(yī)院專家門診號,可以做到“足不出戶選醫(yī)生”。網上預約正悄然改變著都市求醫(yī)者的看病觀念。擁有相對固定的個人醫(yī)生和習慣,預約看病,將不再遙遠,所以應用必將越來越廣泛。從可行性上分析,無論是需求方面,還是技術方面,完全可以對系統(tǒng)進行開發(fā),這樣的方案是可行的。3.3系統(tǒng)的實現目標分析在線掛號系統(tǒng)主要由前臺頁面:index.html、后臺:index.php以及數據庫組成。其主要功能實現基本的在線掛號功能。通過管理后臺可以查看和管理掛號記錄。 前臺頁面:是用戶用來填寫自己的個人信息及預約時間和內容后臺頁面:由醫(yī)院
41、進行登錄并查看。本系統(tǒng)是單用戶掛號查詢系統(tǒng),用戶名為admin,初始密碼123456,密碼可以在后臺自行更改。如果需要修改用戶名,請進入數據庫直接修改。 注意:若前后臺文件放在同一個目錄下,請確保index.html的優(yōu)先級高于index.php。驗證碼需要開啟gd庫。3.4系統(tǒng)的功能分析實現功能包括填寫個人掛號信息、刪除預約信息、后臺查看掛號信息等,主要用php動態(tài)代碼編寫與測試。根據分析得出如下圖所示的在線掛號系統(tǒng)流程圖3.1填寫掛號信息額息退出結束退出系統(tǒng)修改密碼科室修改預約記錄后臺管理界面前臺后臺在線掛號圖3.1 在線掛號系統(tǒng)流程圖3.5系統(tǒng)的性能需求為了保證系統(tǒng)能夠長期,安全,穩(wěn)定,
42、可靠,高效的運行,醫(yī)院網上掛號系統(tǒng)應該滿足以下的性能需求:1、系統(tǒng)處理的準確性系統(tǒng)處理的準確性是系統(tǒng)的必要性能。由于醫(yī)院網上掛號系統(tǒng)的醫(yī)師功能和掛號預約功能對于整個系統(tǒng)的功能和性能舉足輕重。所以在系統(tǒng)的開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。2、系統(tǒng)的易用性醫(yī)院網上掛號系統(tǒng)是直接面對廣大患者的,所以系統(tǒng)應該使用用戶熟悉的術語和中文信息的界面。3.6系統(tǒng)的數據需求1、數據錄入和處理的準確性和實時性系統(tǒng)的大部分數據的輸入都是由管理員手工輸入,所以系統(tǒng)的界面應具有排錯功能,保證系統(tǒng)正常運行。2、數據的一致性和完整性由于有關科室信息和醫(yī)師信息是共享的,所以要保持文檔數據的一致性,對于輸入的數據
43、則要求保持完整性。 3.7系統(tǒng)的運行需求系統(tǒng)軟件:php5,apache 2.2數據庫管理系統(tǒng):mysql硬件要求:pentium iii 450以上, 258m ram,14g hd3.8系統(tǒng)數據流圖軟件需求分析中主要采用結構化分析方法(structured analysis,簡稱sa),sa是面向數據流進行需求分析的方法,像所有的軟件分析方法(如面向對象分析方法、idef方法等等)一樣,sa也是一種建?;顒?,它使用簡單易讀的符號,根據軟件內部數據傳遞、變換的關系,自頂向下逐層分解,描繪滿足功能要求的軟件模型。在系統(tǒng)中主要采用數據流圖(dfd)這種半形式化的描述方式表達需求。它是一種功能模型
44、,以圖形的方式描繪數據在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能。它有四種基本圖形符號: 外部實體:與系統(tǒng)進行交互,但系統(tǒng)不對其進行加工和處理的實體,用帶標記的矩形表示; 加工:對數據進行的交換和處理,用帶標記的圓圈表示; 數據流:在數據加工之間或數據存儲和數據加工之間進行流動的數據,用帶標記的箭頭表示; 數據存儲:在系統(tǒng)中需要存儲的實體,用帶標記的雙實線表示。在多層數據流圖中,頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng),它的輸入流是該系統(tǒng)的輸入數據了,輸出流是該系統(tǒng)的輸出數據;底層流圖是指其加工不需要再做分解的數據流圖,中間層流圖表示對其上層父圖的細化,它的每一步加工可能繼續(xù)細化成
45、子圖。將整個系統(tǒng)看成一個加工,然后找出作用于該加工的外部實體,以及相應的數據輸入和輸出。對于“基于php的醫(yī)院網上掛號系統(tǒng)”而言,整個系統(tǒng)就是一個加工“醫(yī)院網上掛號系統(tǒng)”?!肮芾砣藛T”是數據的源點,“用戶”是數據的終點。另外,管理人員需要添加科室信息和修改信息,說明“科室信息”和“修改信息”是數據流,同樣,“輸入用戶信息”也是數據流。因此得到了第0層dfd圖,如圖3.2所示:圖3.2 第0層dfd圖“科室信息”是管理人員需要添加的一個信息,因此加入一個加工“添加科室信息”,同樣得到“修改醫(yī)師信息”這個加工。數據流“輸入信息”應該由加工“用戶信息”來完成。這樣,“添加科室信息”,“修改醫(yī)師信息”
46、和“用戶信息”三個加工代替了第0層的“醫(yī)院網上掛號系統(tǒng)”,同時增加了“科室”和“醫(yī)師(管理員)”這兩個數據存儲,因此,得到了第1層dfd圖,如圖3.3所示:圖3.3 第1層dfd圖 對第1層dfd圖的一個加工“用戶信息”進行展開,得到了第2層dfd圖,如圖3.4所示:圖3.4 第2層dfd圖第4章 系統(tǒng)設計與實現4.1 er圖設計er模型直接從現實世界抽象出實體類型及實體間聯(lián)系,然后用er圖來表示數據模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。e-r圖為實體-聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現實世界的概念模型。 構成e-r圖的基本要素是實
47、體型、屬性和聯(lián)系,其表示方法為: 實體型:用矩形表示,矩形框內寫明實體名; 屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來; 聯(lián)系:用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1 : 1,1 : n或m : n)。本系統(tǒng)的各實體類的屬性圖如下所示:科 室 信 息科 室 名 稱科 室 概 況圖4.1 科室信息屬性圖管 理 員賬號名密 碼圖4.2 管理員信息屬性圖用 戶姓名年齡附言電話性 別驗證碼來院時間提 交科室 圖4.3 用戶信息屬性圖本系統(tǒng)的e-r圖如圖4.4所示:圖4.4 系統(tǒng)e-r圖4.2數據庫表格設計好的數據結構會影響速度。好
48、的數據庫表設計會影響數據庫操作效率。特別是數據多的時候,如果表的結構不好的話操作的時候條件(where后的內容)會變的非常復雜。sql是關系數據庫中用到的一種語言。所以,為了簡化sql,表的關系(內部和外部)要盡量設計的合理。建表的核心思想和原則為:1)不應該針對整個系統(tǒng)進行數據庫設計,而應該根據系統(tǒng)架構中的組件劃分,針對每個組件所處理的業(yè)務進行組件單元的數據庫設計;不同組件間所對應的數據庫表之間的關聯(lián)應盡可能減少,如果不同組件間的表需要外鍵關聯(lián)也盡量不要創(chuàng)建外鍵關聯(lián),而只是記錄關聯(lián)表的一個主鍵,確保組件對應的表之間的獨立性,為系統(tǒng)或表結構的重構提供可能性。2)采用領域模型驅動的方式和自頂向下
49、的思路進行數據庫設計,首先分析系統(tǒng)業(yè)務,根據職責定義對象。對象要符合封裝的特性,確保與職責相關的數據項被定義在一個對象之內,這些數據項能夠完整描述該職責,不會出現職責描述缺失。并且一個對象有且只有一項職責,如果一個對象要負責兩個或兩個以上的職責,應進行分拆。3)根據建立的領域模型進行數據庫表的映射,此時應參考數據庫設計第二范式:一個表中的所有非關鍵字屬性都依賴于整個關鍵字。關鍵字可以是一個屬性,也可以是多個屬性的集合,不論那種方式,都應確保關鍵字能夠保證唯一性。在確定關鍵字時,應保證關鍵字不會參與業(yè)務且不會出現更新異常,這時,最優(yōu)解決方案為采用一個自增數值型屬性或一個隨機字符串作為表的關鍵字。
50、4)由于第一點所述的領域模型驅動的方式設計數據庫表結構,領域模型中的每一個對象只有一項職責,所以對象中的數據項不存在傳遞依賴,所以,這種思路的數據庫表結構設計從一開始即滿足第三范式:一個表應滿足第二范式,且屬性間不存在傳遞依賴。5)同樣,由于對象職責的單一性以及對象之間的關系反映的是業(yè)務邏輯之間的關系,所以在領域模型中的對象存在主對象和從對象之分,從對象是從1n或nn的角度進一步主對象的業(yè)務邏輯,所以從對象及對象關系映射為的表及表關聯(lián)關系不存在刪除和插入異常。6)在映射后得出的數據庫表結構中,應再根據第四范式進行進一步修改,確保不存在多值依賴。這時,應根據反向工程的思路反饋給領域模型。如果表結
51、構中存在多值依賴,則證明領域模型中的對象具有至少兩個以上的職責,應根據第一條進行設計修正。第四范式:一個表如果滿足bcnf,不應存在多值依賴。7)在經過分析后確認所有的表都滿足二、三、四范式的情況下,表和表之間的關聯(lián)盡量采用弱關聯(lián)以便于對表字段和表結構的調整和重構。并且,我認為數據庫中的表是用來持久化一個對象實例在特定時間及特定條件下的狀態(tài)的,只是一個存儲介質,所以,表和表之間也不應用強關聯(lián)來表述業(yè)務(數據間的一致性),這一職責應由系統(tǒng)的邏輯層來保證,這種方式也確保了系統(tǒng)對于不正確數據(臟數據)的兼容性。當然,從整個系統(tǒng)的角度來說我們還是要盡最大努力確保系統(tǒng)不會產生臟數據,單從另一個角度來說,
52、臟數據的產生在一定程度上也是不可避免的,我們也要保證系統(tǒng)對這種情況的容錯性。這是一個折中的方案。8)應針對所有表的主鍵和外鍵建立索引,有針對性的(針對一些大數據量和常用檢索方式)建立組合屬性的索引,提高檢索效率。雖然建立索引會消耗部分系統(tǒng)資源,但比較起在檢索時搜索整張表中的數據尤其時表中的數據量較大時所帶來的性能影響,以及無索引時的排序操作所帶來的性能影響,這種方式仍然是值得提倡的。9)盡量少采用存儲過程,目前已經有很多技術可以替代存儲過程的功能如“對象/關系映射”等,將數據一致性的保證放在數據庫中,無論對于版本控制、開發(fā)和部署、以及數據庫的遷移都會帶來很大的影響。但不可否認,存儲過程具有性能
53、上的優(yōu)勢,所以,當系統(tǒng)可使用的硬件不會得到提升而性能又是非常重要的質量屬性時,可經過平衡考慮選用存儲過程。10)設計出的表要具有較好的使用性,主要體現在查詢時是否需要關聯(lián)多張表且還需使用復雜的sql技巧。11)設計出的表要盡可能減少數據冗余,確保數據的準確性,有效的控制冗余有助于提高數據庫的性能。在完成系統(tǒng)的er圖之后,需要將er模型轉化為關系模型,也就是說,要設計出數據庫所需要的表格。在這里,選用的是關系數據庫。因為關系數據庫中的二維表格可以很清楚地描述數據之間的聯(lián)系。在系統(tǒng)中定義的表格都嚴格地按照范式的思想和要求完成,數據庫中的所有表格都達到了三范式的要求。根據系統(tǒng)er圖,針對本系統(tǒng)的特點
54、,在對所搜集的數據進行規(guī)范化之后,定義了如下五張表格,分別是用戶信息表、科室信息表、醫(yī)師信息表、時刻表和管理員信息表。通過對這五張表格的操作可以較好地完成系統(tǒng)設計的各項功能,五張表格之間有著不同程度的聯(lián)系10。此軟件文檔系統(tǒng)采用mysql數據庫管理系統(tǒng)。首先在mysql中建立一個數據庫,將其命名為hospital,然后根據數據庫的邏輯結構分析創(chuàng)建5張數據表。五張表的表結構如下(帶k的為主鍵):表4.1 時刻信息表結構字段名稱字段類型說明 id(k)int(16)id序列號timevarchar2(32) 預約時間時刻信息表:用于存放所有可以預約的時間信息蘊含著一定的邏輯性。這個時間是由系統(tǒng)中獲
55、取和電腦本身同步,同時也和網絡同步選用北京時間由代碼實現,無需人工添加自動生成在本系統(tǒng)之中。前臺用戶注冊的時間邏輯和后臺預約記錄的查看都需要此時刻信息表的支持。表4.2 管理員表結構字段名稱字段類型說明 id(k)int(16) id序列號 loginnamevarchar2(16) 登錄賬號 password varchar2(32) 登錄密碼管理員表: 用于存放系統(tǒng)的管理員信息。通過代碼實現可以添加多個管理員,這里的管理員為超級管理員也就是醫(yī)院的領導層,可以提供普通管理員的添加功能,同時擁有普通管理員的功能例如查看預約記錄、刪除預約記錄、添加科室、編輯科室、修改密碼等一系列的功能。表4.3 醫(yī)師信息表結構字段名稱字段類型說明 id(k)int(16)id序列號namevarchar2(32) 醫(yī)師姓名 descriptionvarchar2(32) 醫(yī)師簡介 zhichengvarchar2(32) 醫(yī)師職稱醫(yī)師信息表:用于存放所有醫(yī)師的信息,包括醫(yī)師姓名、醫(yī)師職稱、醫(yī)師簡介、所屬科室等信息。醫(yī)師為普通管理員
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全民國家教育安全日主題班會
- 2025年浙江嘉興海寧市國土空間規(guī)劃設計有限公司招聘筆試參考題庫含答案解析
- 2025年浙江寧波大榭開發(fā)區(qū)海成劇院管理有限公司招聘筆試參考題庫含答案解析
- 2025年甘肅定西市城投國有資產經營有限責任公司招聘筆試參考題庫含答案解析
- 2025年江蘇宜興市公用事業(yè)綜合管理服務有限公司招聘筆試參考題庫含答案解析
- 八年級法制教育專題
- 植物手帳寫生課件
- 安全五精管理課件
- 產品設計分析
- 母乳喂養(yǎng)宣傳教育
- 足浴店消防管理制度
- AI賦能光伏電站視頻監(jiān)控系統(tǒng)解決方案
- 【我的祖國詩朗誦稿董卿】我的祖國詩朗誦稿
- 外墻 吊繩滑板油漆安全施工方案
- 供應商績效評估表績效管理
- 麥克維爾冷水機組使用說明書
- 第三單元整體教學設計 統(tǒng)編版語文八年級上冊
- .司機服務禮儀培訓
- 工廠車輛道閘系統(tǒng)設計方案
- 旅游專業(yè)群建設方案
- 美克爾憩室課件
評論
0/150
提交評論