基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)_第1頁
基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)_第2頁
基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)_第3頁
基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)_第4頁
基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、華中科技大學(xué)軟件學(xué)院 畢業(yè)設(shè)計(論文)題目:基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng) 2014 年 11月 20 日華中科技大學(xué)軟件學(xué)院大學(xué)畢業(yè)設(shè)計(論文)任務(wù)書學(xué)院(直屬系):電子信息工程 時間 2014年 5月 20日學(xué) 生 姓 名指 導(dǎo) 教 師設(shè)計(論文)題目基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)主要研究內(nèi)容(1)本課題研究以php+apache框架為主要技術(shù)框架的醫(yī)院網(wǎng)上掛號 系統(tǒng)(2)以html技術(shù)為客戶端的主要顯示技術(shù)(3)以sql數(shù)據(jù)庫作為系統(tǒng)的數(shù)據(jù)存儲單元(4)實現(xiàn)“基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)”研究方法操作系統(tǒng):unix/linux/windows2000或以上版本數(shù)據(jù)庫:mysql 5.0

2、開發(fā)工具包:jdk version 1.7.2開發(fā)環(huán)境:eclipse-sdk-3.1.2web服務(wù)器:apache瀏覽器:ie7.0以上系統(tǒng)軟件:php5、apache 2.2主要技術(shù)指標(biāo)(或研究目標(biāo))php語言、apache服務(wù)器和mysql數(shù)據(jù)庫技術(shù)主要參考文獻(xiàn)1 飛思科技產(chǎn)品研發(fā)中心.php網(wǎng)站開發(fā)c. 北京:電子工業(yè)出版社,2005年2 屈喜龍,朱杰,等.php開發(fā)動態(tài)網(wǎng)站實例薈萃m. 北京:機(jī)械工業(yè)出版社,2006年3月3 張海藩.軟件工程導(dǎo)論m. 北京:清華大學(xué)出版社,2004年7月4 許登旺,鄒天思,等.php程序開發(fā)范例寶典m. 北京:人民郵電出版社,2007年10月5 楊則

3、正.對javascript的研究j. 北京:管理科學(xué)文摘, 1998,(12).6 張志遠(yuǎn).javascript與客戶端安全j. 廣東:東莞理工學(xué)院學(xué)報, 2002,(02).7 陶宏才.數(shù)據(jù)庫原理及設(shè)計m. 北京:清華大學(xué)出版社,2004年3月8 王涌.php與相關(guān)數(shù)據(jù)庫技術(shù)高級指南m. 北京:電子工業(yè)出版社,2004年9 王永紅.使用javascript增強(qiáng)網(wǎng)頁的功能j. 安徽:安徽建筑, 2001,(02).10 徐峰.基于mysql的php數(shù)據(jù)庫訪問技術(shù) j. 北京:計算機(jī)時代, 2001年02期11 施威銘,王超輝.php網(wǎng)頁模塊開發(fā)實例導(dǎo)學(xué)m. 北京:中國電力出版社,2007年7月

4、12 陳軍.php+mysql經(jīng)典案例剖析m. 北京:清華大學(xué)出版社,2008年8月13 廖世恩,許宏松.php 4 程序設(shè)計m. 北京:機(jī)械工業(yè)出版社, 2006年7月14 james lee brent ware .開放源碼網(wǎng)站開發(fā)指南m. 北京:清華大學(xué)出版社,2005年4月15 阮文江.javascript 程序設(shè)計基礎(chǔ)教程m. 北京:人民郵電出版社, 2009年3月16 廖若雪.php企業(yè)級web應(yīng)用與開發(fā)m. 北京:機(jī)械工業(yè)出版社, 2010年9月說明:一式兩份,一份裝訂入學(xué)生畢業(yè)設(shè)計(論文)內(nèi),一份交學(xué)院(直屬系)。華中科技大學(xué)軟件學(xué)院基于php醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)摘要inter

5、net互聯(lián)網(wǎng)技術(shù)的快速發(fā)展的同時也帶來了社會各個行業(yè)的發(fā)展。它的發(fā)展已經(jīng)深入到社會的各個角落。作為社會發(fā)展的前沿技術(shù),各行各業(yè)只要對其合理的進(jìn)行運(yùn)用,必將會帶來巨大的便捷。成功的運(yùn)用internet將為醫(yī)療事業(yè)帶來無限便利。在傳統(tǒng)的醫(yī)院掛號過程中,信息處理停留在手工方式,勞動強(qiáng)度大且工作效率低,醫(yī)師護(hù)士和管理人員的大量時間都消耗在事務(wù)性工作上,病人排隊等候時間長,這些影響了醫(yī)療的秩序,也延誤了患者的病情。而本論文的探索研究方向則為醫(yī)院掛號網(wǎng)站的開發(fā)與實現(xiàn)。本系統(tǒng)采用的是基于廣域網(wǎng)的b/s結(jié)構(gòu)平臺,比c/s有更強(qiáng)的適用范圍,具有更加生動和豐富的表現(xiàn)方式與用戶交流。在此背景下,本文論述了用web語

6、言開發(fā)醫(yī)院管理系統(tǒng)的流程,介紹了基于php+apache+sql server網(wǎng)絡(luò)環(huán)境的配置,以及該系統(tǒng)的操作說明。本系統(tǒng)是適應(yīng)時代發(fā)展的需要,提高管理的效率而開發(fā)設(shè)計的。系統(tǒng)的設(shè)計框架采用的是已經(jīng)發(fā)展成熟、php+apache+sql server技術(shù)框架,使系統(tǒng)實施更為方便和安全。網(wǎng)頁采用的是jsp技術(shù),它擁有卓越的系統(tǒng)可移植性,同時它與流行的xml等技術(shù)也能良好整合,加上mysql數(shù)據(jù)庫強(qiáng)大的后臺數(shù)據(jù)支持,奠定了php技術(shù)在網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)中的關(guān)鍵地位。它使我們的網(wǎng)頁更加生動、具有表現(xiàn)力。這次畢業(yè)設(shè)計開發(fā)了醫(yī)院預(yù)約掛號系統(tǒng),該系統(tǒng)是專為解決廣大患者掛號難這個問題。通過本網(wǎng)站患者可以有針對

7、性的快速的找到符合自身的需求的醫(yī)師進(jìn)行預(yù)約掛號。關(guān)鍵詞: 醫(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國內(nèi)外研究現(xiàn)狀- 2 -1.3本課題研究內(nèi)容- 2 -1.4在線掛號系統(tǒng)的開發(fā)思想- 2 -第2章 開發(fā)環(huán)境及開發(fā)技術(shù)- 3 -2.1 b/s模型- 3 -2.2 php技術(shù)- 4

15、-2.3 php工作原理- 5 -2.4 apache技術(shù)- 5 -2.5 javascript語言- 5 -2.6軟件環(huán)境- 6 -2.7硬件環(huán)境- 6 -2.8數(shù)據(jù)庫簡介- 6 -第3章 系統(tǒng)分析- 8 -3.1系統(tǒng)需求分析- 8 -3.2系統(tǒng)可行性分析- 8 -3.3系統(tǒng)的實現(xiàn)目標(biāo)分析- 8 -3.4系統(tǒng)的功能分析- 9 -3.5系統(tǒng)的性能需求- 10 -3.6系統(tǒng)的數(shù)據(jù)需求- 10 -3.7系統(tǒng)的運(yùn)行需求- 10 -3.8系統(tǒng)數(shù)據(jù)流圖- 10 -第4章 系統(tǒng)設(shè)計與實現(xiàn)- 13 -4.1 er圖設(shè)計- 13 -4.2數(shù)據(jù)庫表格設(shè)計- 14 -4.3系統(tǒng)數(shù)據(jù)庫設(shè)計- 18 -4.3.1 建

16、立數(shù)據(jù)庫- 18 -4.3.2 數(shù)據(jù)庫連接代碼- 19 -4.4系統(tǒng)前臺設(shè)計- 19 -4.4.1前臺框架- 19 -4.4.2前臺php代碼- 20 -4.4.3網(wǎng)站前臺首頁的運(yùn)行效果- 22 -4.5 后臺設(shè)計- 22 -4.5.1模塊功能介紹- 22 -4.5.2后臺文件整體結(jié)構(gòu)- 23 -4.5.3后臺管理員模塊- 23 -4.5.4后臺首頁php代碼- 24 -4.5.5后臺登陸php代碼- 25 -4.5.6后臺運(yùn)行效果圖- 26 -4.6前后臺驗證碼- 29 -4.6.1設(shè)置驗證碼的意義- 29 -4.6.2驗證碼的php代碼- 30 -參考文獻(xiàn)- 32 -致謝- 33 -華中科

17、技大學(xué)軟件學(xué)院第1章 背景1.1課題背景及研究意義隨著經(jīng)濟(jì)與科學(xué)技術(shù)的高速發(fā)展,信息化的進(jìn)程不斷加快。隨著計算機(jī)性能不斷提高,價格不斷下降,計算機(jī)已在醫(yī)院醫(yī)療,教學(xué),科研,管理的各個方面得到越來越廣泛的應(yīng)用。然而,我國還有部分醫(yī)院的信息處理停留在手工方式,勞動強(qiáng)度大且工作效率低,醫(yī)師護(hù)士和管理人員的大量時間都消耗在事務(wù)性工作上,病人排隊等候時間長,輾轉(zhuǎn)過程多,影響了醫(yī)療的秩序。計算機(jī)化的醫(yī)院信息系統(tǒng)已成為現(xiàn)代化醫(yī)院運(yùn)營必不可少的基礎(chǔ)設(shè)施與技術(shù)支撐環(huán)境。門診掛號系統(tǒng)是整個醫(yī)院管理信息系統(tǒng)的第一個窗口,是病人到醫(yī)院就診要做的第一項工作。它用于收集病人的信息,協(xié)調(diào)科室醫(yī)生管理,控制各科室的流量等等。

18、醫(yī)院網(wǎng)上預(yù)約掛號系統(tǒng)是一種基于互聯(lián)網(wǎng)的新型掛號系統(tǒng),是衛(wèi)生信息化建設(shè)的基礎(chǔ)的項目之一。利用該預(yù)約掛號系統(tǒng),用戶就可以在網(wǎng)上預(yù)約醫(yī)院的專家、專科號,而無須再受排隊之苦。它能更好的改善就醫(yī)環(huán)境,簡化就醫(yī)環(huán)節(jié),節(jié)約就醫(yī)時間,真正體現(xiàn)了以病人為中心,一切從方便患者出發(fā),符合當(dāng)今醫(yī)院人性化溫馨服務(wù)的理念。目前,門診一直是困擾醫(yī)院提高服務(wù)質(zhì)量的一個復(fù)雜環(huán)節(jié),特別是醫(yī)療水平高、門診量大的醫(yī)院,而造成門診質(zhì)量難以提高的因素主要有兩方面:一方面集中式掛號(現(xiàn)在流行的分層掛號只是相對而言一個范圍較小的集中式掛號),就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷(表現(xiàn)在整個醫(yī)院不同門診時間段及同科室的不同時

19、間段)。高峰期病人掛號排隊長,就診時間長,醫(yī)生熟人插號現(xiàn)象,環(huán)境擁擠混亂,醫(yī)生問診時間短、不仔細(xì)、態(tài)度差。而低谷期,醫(yī)生無病人看、溜號,醫(yī)院資源浪費(fèi)。另一方面專家號(特別是名專家號)難掛,出現(xiàn)倒號、炒號現(xiàn)象,嚴(yán)重?fù)p害病人利益,影響到醫(yī)院的聲譽(yù)。而采用網(wǎng)上預(yù)約掛號,可有效的解決這一現(xiàn)象,還通過有效的身份驗證,杜絕倒、炒專家號的現(xiàn)象,提高醫(yī)院門診服務(wù)質(zhì)量,取得良好的社會效益和經(jīng)濟(jì)效益。此外,病人到醫(yī)院就診前對醫(yī)院的相關(guān)信息了解不多,對所要掛的??漆t(yī)生的情況又不太了解,只能憑經(jīng)驗和印象進(jìn)行選擇,具有較大的盲目性。而當(dāng)醫(yī)院開通網(wǎng)上掛號預(yù)約服務(wù)以后,求醫(yī)者只需坐在家中,輕點兒下鼠標(biāo),就可以掛上醫(yī)院專家門

20、診號,可以做到“足不出戶選醫(yī)生”。網(wǎng)上預(yù)約正悄然改變著都市求醫(yī)者的看病觀念。擁有相對固定的個人醫(yī)生和習(xí)慣,預(yù)約看病,將不再遙遠(yuǎn),所以應(yīng)用必將越來越廣泛。1.2國內(nèi)外研究現(xiàn)狀隨著互聯(lián)網(wǎng)絡(luò)的迅猛發(fā)展,internet用戶已呈幾何級數(shù)增長,目前已經(jīng)有很多醫(yī)院投入使用網(wǎng)上掛號系統(tǒng)。據(jù)了解,預(yù)約掛號在國外頗為普及。在西方國家,病人看病都需要事先進(jìn)行預(yù)約。隨著預(yù)約掛號的深入推廣,國內(nèi)越來越多的醫(yī)院也意識到預(yù)約服務(wù)在節(jié)約看病時間、分流患者、減輕醫(yī)院壓力上的作用。據(jù)了解,盡管存在很多困難,但全國各地的醫(yī)院在嘗試預(yù)約掛號的實踐中還是提供了很多有益的做法。廣東省人民醫(yī)院早在2004年就采取了一套相對完整的預(yù)約掛號

21、體系,其三種預(yù)約方式,按照受歡迎程度排名依此為:電話、現(xiàn)場、網(wǎng)絡(luò),分別占到了預(yù)約掛號中 50%、40%、10%。在福建,全省范圍內(nèi)撥打12320海西健康熱線電話,即可預(yù)約到福建省立醫(yī)院等5家醫(yī)院的專家號,只按市話費(fèi)標(biāo)準(zhǔn)收費(fèi),不收取任何信息服務(wù)費(fèi)。在北京,解放軍總醫(yī)院(三零一醫(yī)院)于前不久專門開通了夜間門診電話預(yù)約掛號66936619(不收預(yù)約費(fèi)),可以毫不費(fèi)力地約到各科室的專家,開通不久即見成效,目前已經(jīng)成功分流了約1/3的患者。此外醫(yī)院還開通手機(jī)掛號功能,患者只需要發(fā)送短信就可以進(jìn)行預(yù)約掛號?;颊吒鶕?jù)系統(tǒng)提示,輸入姓名、性別、年齡、住址、付費(fèi)方式、就診卡號、預(yù)約時間、預(yù)約科室、預(yù)約項目、預(yù)約

22、醫(yī)師等內(nèi)容,系統(tǒng)就會根據(jù)各門診科室提供的具體情況,安排給患者合適的就診排號位或掛號建議。在患者就診前一天、就診當(dāng)天、就診前一小時、就診前5分鐘,系統(tǒng)還會以短信的形式多次通知患者?;颊呷绻惺聼o法就診,通過發(fā)送短信,經(jīng)過醫(yī)師或護(hù)士同意,還可二次預(yù)約。1.3本課題研究內(nèi)容本課題的主要研究的內(nèi)容是運(yùn)用php語言、apache服務(wù)器和sql數(shù)據(jù)庫實現(xiàn)管理員對系統(tǒng)的管理、用戶預(yù)約掛號等功能的管理和實現(xiàn),包括前臺模塊和后臺管理模塊。1.4在線掛號系統(tǒng)的開發(fā)思想能夠讓人們使用簡單的上網(wǎng)操作方法,及先進(jìn)的在線掛號系統(tǒng)開發(fā)方案,從而達(dá)到提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。系統(tǒng)應(yīng)符合在線掛號的規(guī)定,滿足個人看病預(yù)約

23、掛號需求,并達(dá)到操作過程的直觀、方便、實用等要求。系統(tǒng)采用模塊化的程序設(shè)計方法,既便于系統(tǒng)功能模塊的組合,又便于未參與開發(fā)的技術(shù)人員補(bǔ)充、維護(hù)。第2章 開發(fā)環(huán)境及開發(fā)技術(shù)醫(yī)院網(wǎng)上掛號系統(tǒng)是以php+apache框架為主要的技術(shù)框架,以html技術(shù)為客戶端的主要顯示技術(shù),以sql數(shù)據(jù)庫作為系統(tǒng)的數(shù)據(jù)存儲單元。下面我們來介紹下本系統(tǒng)的開發(fā)環(huán)境以及開發(fā)中所用到的相關(guān)技術(shù)。2.1 b/s模型b/s結(jié)構(gòu),即browser/server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著internet技術(shù)的興起,對c/s結(jié)構(gòu)的一種變化或者說是改進(jìn)的結(jié)構(gòu)。用戶界面完全通過瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在

24、服務(wù)器端實現(xiàn),形成三層結(jié)構(gòu),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。b/s模式最大特點是:用戶可以通過www例覽器去訪問internet上的文本、數(shù)據(jù)、圖像、動畫、視頻點播和聲音信息,這些信息都是由許許多多的web服務(wù)器產(chǎn)生的,而每一個web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實際存放在數(shù)據(jù)庫服務(wù)器中??蛻舳顺藈ww創(chuàng)覽器,一般無須任何用戶程序,只需從web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給web服務(wù)器,web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個巨大的網(wǎng),即全球網(wǎng)。b/

25、s模型結(jié)構(gòu)圖如圖2.1所示:web服務(wù)器datebase服務(wù)器php頁面用戶基本操作用戶創(chuàng)建基本信息圖2.1 b/s模型結(jié)構(gòu)圖從上圖可見 這種結(jié)構(gòu)的一個重要的特點是,用戶可以完全不需要安裝客戶端軟件,當(dāng)然也不需要擔(dān)心任何軟件升級和不兼容等任何客戶端所遇到的問題。相比之下,b/s模型的優(yōu)點顯而易見,更適合這個網(wǎng)站的構(gòu)建,有利于網(wǎng)站的維護(hù)和擴(kuò)充。2.2 php技術(shù)最早的web網(wǎng)站是由許多html文件組成的,這些文件就是所謂的靜態(tài)網(wǎng)頁:它們只能為用戶提供靜止的、一成不變的信息。如果發(fā)布的內(nèi)容發(fā)生了變化,必須手工修改頁面。對于規(guī)模較小的網(wǎng)站來說,這沒有什么大問題,但是對于規(guī)模較大的網(wǎng)站,要跟蹤網(wǎng)頁上的

26、數(shù)據(jù)變化,手工修改網(wǎng)頁則不啻是一場惡夢。如果想在靜態(tài)網(wǎng)頁上發(fā)布靜態(tài)內(nèi)容,或與用戶交互,必須使用cgi (common gateway interface,通用網(wǎng)關(guān)接口)??梢杂煤芏嗾Z言編寫cgiperl、python、tcl/tk、c、c+以及vb等。用這些語言可以開發(fā)功能強(qiáng)大的cgi程序,特別是perl語言,目前仍然是編寫cgi程序的首選語言。perl語言功能非常的強(qiáng)大,但也比較復(fù)雜,掌握它需要一定的時間。另外,用這些語言編寫的cgi程序,每當(dāng)有一個用戶請求時都會建立一個新的進(jìn)程來運(yùn)行該cgi;如果突然有大量的用戶請求出現(xiàn),可能會出現(xiàn)性能問題(現(xiàn)在有一種稱為fastcgi的技術(shù)可以解決這個問

27、題)。因為編寫cgi程序很困難,出現(xiàn)了各種技術(shù)來解決這個問題。微軟公司的asp技術(shù)就時一種非常優(yōu)秀的解決方案。asp技術(shù)可以在windows nt/2000iis上運(yùn)行,使用vbscript作為腳本語言,可以對多種數(shù)據(jù)庫及odbc進(jìn)行操作。asp技術(shù)雖然好,但是如果采用這種技術(shù),就意味著使用微軟公司的全套技術(shù)。網(wǎng)絡(luò)服務(wù)器只能使用windows nt/2000,web服務(wù)器只能使用iis服務(wù)器,數(shù)據(jù)庫服務(wù)器最好使用微軟的sql server 等。asp技術(shù)出現(xiàn)后許多公司開始將asp的思想移植到其他平臺上,出現(xiàn)了許多unix平臺上的,基于perl或其他語言的asp技術(shù)。這些技術(shù)一眼時專有技術(shù),受商

28、業(yè)支持少,平臺適應(yīng)性也較窄。除了asp外,還有一些類似的技術(shù)如allaire的code fusion等。這些技術(shù)都可以實現(xiàn)在網(wǎng)頁上動態(tài)發(fā)布信息4。php是一種類似微軟asp技術(shù)的web數(shù)據(jù)庫解決分方案。它是一種嵌入式的腳本語言,用于在web上快速的發(fā)布動態(tài)信息。php是“php hypertext preprocessor”(“php:超文本處理器”)的縮寫。它的許多語法借用了c,perl,以及java的語法,當(dāng)然也有一些php的特性。php語法的目標(biāo)是使web開發(fā)者快速編寫動態(tài)網(wǎng)頁?!扒度胧侥_本”的意思是腳本可以嵌入到html代碼中。當(dāng)使用perl何c/c+語言編寫cgi腳本時。必須使用pr

29、intf ,echo等命令或者函數(shù)向瀏覽器輸出html代碼。而使用嵌入式的腳本語言時,html代碼可以按照正常的方式編寫(如front page或dream weaver等快速開發(fā)工具生成),需要特別處理的內(nèi)容(如數(shù)據(jù)庫瀏覽、查詢、與mail服務(wù)器的連接等)通過嵌入到html代碼中的腳本完成。這樣,可以極大的加快開發(fā)速度,腳本的可讀性也很強(qiáng)。php的英文全稱很有意思,php: hypertext preprocessor,一種遞歸的表示方法。和gnu的全稱差不多,gnu是“gnu snot unix”的縮寫。這可能是很多程序員的習(xí)慣,很詼諧。2.3 php工作原理php的所有應(yīng)用程序都是通過w

30、eb服務(wù)器(如apache)和php引擎程序解釋執(zhí)行完成的,工作過程: (1)當(dāng)用戶在瀏覽器地址中輸入要訪問的php頁面文件名,然后回車就會觸發(fā)這個php請求,并將請求傳送給支持php的web服務(wù)器。 (2)web服務(wù)器接受這個請求,并根據(jù)其后綴進(jìn)行判斷。如果是一個php請求,web服務(wù)器從硬盤或內(nèi)存中取出用戶要訪問的php應(yīng)用程序,并將其發(fā)送給php引擎程序。 (3)php引擎程序?qū)eb服務(wù)器傳送過來的文件從頭到尾進(jìn)行掃描并根據(jù)命令從后臺讀取,處理數(shù)據(jù),并動態(tài)地生成相應(yīng)的html頁面。(4)php引擎將生成html頁面返回給web服務(wù)器。web服務(wù)器再將html頁面返回給客戶端瀏覽器。

31、 2.4 apache技術(shù)apache是最流行的web服務(wù)器端軟件之一??焖?、可靠、可通過簡單的api擴(kuò)展,perl/python解釋器可被編譯到服務(wù)器中,完全免費(fèi),完全源代碼開放。apache服務(wù)器擁有以下特性:1支持最新的http/1.1通信協(xié)議擁有簡單而強(qiáng)有力的基于文件的配置過程;2 支持通用網(wǎng)關(guān)接口;3 支持基于ip和基于域名的虛擬主機(jī);4 支持多種方式的http認(rèn)證;5 集成perl處理模塊;6 集成代理服務(wù)器模塊;7 支持實時監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志;8 支持服務(wù)器端包含指令(ssi);9 支持安全socket層(ssl);10 提供用戶會話過程的跟蹤; 11支持fastcg

32、i;通過第三方模塊可以支持java servlets。 2.5 javascript語言javascript語言是一種基于對象(object)和事件驅(qū)動(event driven)并具有安全性能的腳本語言。使用它的目的是與html超級文本語言、javaapplet(java小程序)一起實現(xiàn)在一個web頁面中鏈接多個對象,與web客戶交互作用,從而達(dá)到開發(fā)客戶端應(yīng)用程序的目的。javascript是通過嵌入或調(diào)入在標(biāo)準(zhǔn)html語言中實現(xiàn),它的出現(xiàn)彌補(bǔ)了html語言的缺陷。在javascript語言的配合下,能夠運(yùn)用php技術(shù)開發(fā)出非常漂亮而且交互性強(qiáng)大的動態(tài)web網(wǎng)站來。2.6軟件環(huán)境本系統(tǒng)的的

33、軟件環(huán)境如下:操作系統(tǒng):unix/linux/windows2000或以上版本數(shù)據(jù)庫:mysql 5.0開發(fā)工具包:jdk version 1.7.2開發(fā)環(huán)境:eclipse-sdk-3.1.2-win32web服務(wù)器:apache瀏覽器:ie7.0以上2.7硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下:客戶機(jī):普通pccpu:p4 1.8ghz以上內(nèi)存:256mb以上能夠運(yùn)行ie5.0以上或者netscape4.0以上版本的機(jī)器分辨率:推薦使用1024*768像素web服務(wù)器cpu:p4 2.0ghz內(nèi)存:1g以上硬盤:80g以上網(wǎng)卡:千兆數(shù)據(jù)庫服務(wù)器cpu:p4 2.0ghz內(nèi)存:1g以上硬盤:80g以上

34、2.8數(shù)據(jù)庫簡介由于本系統(tǒng)采用的數(shù)據(jù)庫為mysql數(shù)據(jù)庫,所以這里對mysql數(shù)據(jù)庫的相關(guān)知識進(jìn)行簡單介紹。mysql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典mysql ab公司。在2008年1月16號被sun公司收購。目前mysql被廣泛地應(yīng)用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫。mysql是一個快速、多線程、多用戶的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它支持正規(guī)的sql查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進(jìn)行各種詳細(xì)的查詢等。mysql提供了一全套的數(shù)據(jù)庫創(chuàng)建和訪問

35、機(jī)制,通過很直觀的方式就可以創(chuàng)建、訪問、修改數(shù)據(jù)庫的表和項,并且能建立它們之間的各種數(shù)據(jù)關(guān)系。mysql系列從90年代就發(fā)展起來,經(jīng)過了多年的反展,它已經(jīng)成為非常成熟的技術(shù),面向中小型企業(yè)級應(yīng)用。mysql數(shù)據(jù)庫的特點是數(shù)據(jù)庫文件小而簡單,不需要運(yùn)行或者啟動數(shù)據(jù)庫服務(wù)進(jìn)程就可以使用。通常mysql數(shù)據(jù)庫文件可以隨網(wǎng)頁文件一起方便地放在網(wǎng)站的目錄中,正是由于這些特點,mysql數(shù)據(jù)庫通常被用來作為網(wǎng)站開發(fā)的數(shù)據(jù)庫支持技術(shù)。對mysql數(shù)據(jù)庫的管理采用圖形化管理工具phpmyadmin 。phpmyadmin是一個用php編寫的、基于web的、跨平臺的mysql管理程序,支持簡體中文,使用web瀏

36、覽器作為管理界面。通過phpmyadmin可以進(jìn)行絕大部分的mysql操作,包括對數(shù)據(jù)庫級操作,表級操作,以及數(shù)據(jù)管理等。與其他的大型數(shù)據(jù)庫例如oracle、db2、sql server等相比,mysql自有它的不足之處,如規(guī)模小、功能有限(mysql的功能效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,mysql提供的功能已經(jīng)綽綽有余,而且由于mysql是開放源碼軟件,因此可以大大降低總體擁有成本。mysql特點: .使用c和c+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植。.支持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查詢算法,有效地提高查詢速度。.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的gb 2312、big5,日文的shift_jis等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。.提供tcp/ip、odbc和jdbc等多種數(shù)據(jù)庫連接途徑

38、 。.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。第3章 系統(tǒng)分析3.1系統(tǒng)需求分析目前,門診一直是困擾醫(yī)院提高服務(wù)質(zhì)量的一個復(fù)雜環(huán)節(jié),特別是醫(yī)療水平高、門診量大的醫(yī)院,而造成門診質(zhì)量難以提高的因素主要有兩方面:一方面集中式掛號(現(xiàn)在流行的分層掛號只是相對而言一個范圍較小的集中式掛號),就診人員流量不均、具有不確定性,有明顯的就診高峰和低谷(表現(xiàn)在整個醫(yī)院不同門診時間段及同科室的不同時間段)。高峰期病人掛號排隊長,就診時間長,醫(yī)生熟人插號現(xiàn)象,環(huán)境擁擠混亂,醫(yī)生問診時間短、不仔細(xì)、態(tài)度差。而低谷期,醫(yī)生無病人看、溜號,醫(yī)院資源浪費(fèi)。另一方面專家號(特別

39、是名專家號)難掛,出現(xiàn)倒號、炒號現(xiàn)象,嚴(yán)重?fù)p害病人利益,影響到醫(yī)院的聲譽(yù)。而采用網(wǎng)上預(yù)約掛號,可有效的解決這一現(xiàn)象,還通過有效的身份驗證,杜絕倒、炒專家號的現(xiàn)象,提高醫(yī)院門診服務(wù)質(zhì)量,取得良好的社會效益和經(jīng)濟(jì)效益。為了解決這一問題,我們需要一種能夠方便快捷的掛號方式來滿足各方面的需求,減少排隊掛號的痛苦和時間的浪費(fèi),而本課題所研究的基于php的醫(yī)院網(wǎng)上掛號預(yù)約系統(tǒng)正好是為了解決這一問題而設(shè)計的方案,因此,本系統(tǒng)擁有很大的用戶需求。3.2系統(tǒng)可行性分析網(wǎng)上預(yù)約掛號系統(tǒng)是一種基于互聯(lián)網(wǎng)的新型掛號系統(tǒng),是衛(wèi)生信息化建設(shè)的基礎(chǔ)項目之一。利用該預(yù)約掛號系統(tǒng),用戶就可以在網(wǎng)上預(yù)約醫(yī)院的專家、??铺?而無須

40、再受排隊之苦。而當(dāng)醫(yī)院開通網(wǎng)上掛號預(yù)約服務(wù)以后,求醫(yī)者只需坐在家中,輕點兒下鼠標(biāo),就可以掛上醫(yī)院專家門診號,可以做到“足不出戶選醫(yī)生”。網(wǎng)上預(yù)約正悄然改變著都市求醫(yī)者的看病觀念。擁有相對固定的個人醫(yī)生和習(xí)慣,預(yù)約看病,將不再遙遠(yuǎn),所以應(yīng)用必將越來越廣泛。從可行性上分析,無論是需求方面,還是技術(shù)方面,完全可以對系統(tǒng)進(jìn)行開發(fā),這樣的方案是可行的。3.3系統(tǒng)的實現(xiàn)目標(biāo)分析在線掛號系統(tǒng)主要由前臺頁面:index.html、后臺:index.php以及數(shù)據(jù)庫組成。其主要功能實現(xiàn)基本的在線掛號功能。通過管理后臺可以查看和管理掛號記錄。 前臺頁面:是用戶用來填寫自己的個人信息及預(yù)約時間和內(nèi)容后臺頁面:由醫(yī)院

41、進(jìn)行登錄并查看。本系統(tǒng)是單用戶掛號查詢系統(tǒng),用戶名為admin,初始密碼123456,密碼可以在后臺自行更改。如果需要修改用戶名,請進(jìn)入數(shù)據(jù)庫直接修改。 注意:若前后臺文件放在同一個目錄下,請確保index.html的優(yōu)先級高于index.php。驗證碼需要開啟gd庫。3.4系統(tǒng)的功能分析實現(xiàn)功能包括填寫個人掛號信息、刪除預(yù)約信息、后臺查看掛號信息等,主要用php動態(tài)代碼編寫與測試。根據(jù)分析得出如下圖所示的在線掛號系統(tǒng)流程圖3.1填寫掛號信息額息退出結(jié)束退出系統(tǒng)修改密碼科室修改預(yù)約記錄后臺管理界面前臺后臺在線掛號圖3.1 在線掛號系統(tǒng)流程圖3.5系統(tǒng)的性能需求為了保證系統(tǒng)能夠長期,安全,穩(wěn)定,

42、可靠,高效的運(yùn)行,醫(yī)院網(wǎng)上掛號系統(tǒng)應(yīng)該滿足以下的性能需求:1、系統(tǒng)處理的準(zhǔn)確性系統(tǒng)處理的準(zhǔn)確性是系統(tǒng)的必要性能。由于醫(yī)院網(wǎng)上掛號系統(tǒng)的醫(yī)師功能和掛號預(yù)約功能對于整個系統(tǒng)的功能和性能舉足輕重。所以在系統(tǒng)的開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。2、系統(tǒng)的易用性醫(yī)院網(wǎng)上掛號系統(tǒng)是直接面對廣大患者的,所以系統(tǒng)應(yīng)該使用用戶熟悉的術(shù)語和中文信息的界面。3.6系統(tǒng)的數(shù)據(jù)需求1、數(shù)據(jù)錄入和處理的準(zhǔn)確性和實時性系統(tǒng)的大部分?jǐn)?shù)據(jù)的輸入都是由管理員手工輸入,所以系統(tǒng)的界面應(yīng)具有排錯功能,保證系統(tǒng)正常運(yùn)行。2、數(shù)據(jù)的一致性和完整性由于有關(guān)科室信息和醫(yī)師信息是共享的,所以要保持文檔數(shù)據(jù)的一致性,對于輸入的數(shù)據(jù)

43、則要求保持完整性。 3.7系統(tǒng)的運(yùn)行需求系統(tǒng)軟件:php5,apache 2.2數(shù)據(jù)庫管理系統(tǒng):mysql硬件要求:pentium iii 450以上, 258m ram,14g hd3.8系統(tǒng)數(shù)據(jù)流圖軟件需求分析中主要采用結(jié)構(gòu)化分析方法(structured analysis,簡稱sa),sa是面向數(shù)據(jù)流進(jìn)行需求分析的方法,像所有的軟件分析方法(如面向?qū)ο蠓治龇椒?、idef方法等等)一樣,sa也是一種建模活動,它使用簡單易讀的符號,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪滿足功能要求的軟件模型。在系統(tǒng)中主要采用數(shù)據(jù)流圖(dfd)這種半形式化的描述方式表達(dá)需求。它是一種功能模型

44、,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能。它有四種基本圖形符號: 外部實體:與系統(tǒng)進(jìn)行交互,但系統(tǒng)不對其進(jìn)行加工和處理的實體,用帶標(biāo)記的矩形表示; 加工:對數(shù)據(jù)進(jìn)行的交換和處理,用帶標(biāo)記的圓圈表示; 數(shù)據(jù)流:在數(shù)據(jù)加工之間或數(shù)據(jù)存儲和數(shù)據(jù)加工之間進(jìn)行流動的數(shù)據(jù),用帶標(biāo)記的箭頭表示; 數(shù)據(jù)存儲:在系統(tǒng)中需要存儲的實體,用帶標(biāo)記的雙實線表示。在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng),它的輸入流是該系統(tǒng)的輸入數(shù)據(jù)了,輸出流是該系統(tǒng)的輸出數(shù)據(jù);底層流圖是指其加工不需要再做分解的數(shù)據(jù)流圖,中間層流圖表示對其上層父圖的細(xì)化,它的每一步加工可能繼續(xù)細(xì)化成

45、子圖。將整個系統(tǒng)看成一個加工,然后找出作用于該加工的外部實體,以及相應(yīng)的數(shù)據(jù)輸入和輸出。對于“基于php的醫(yī)院網(wǎng)上掛號系統(tǒng)”而言,整個系統(tǒng)就是一個加工“醫(yī)院網(wǎng)上掛號系統(tǒng)”?!肮芾砣藛T”是數(shù)據(jù)的源點,“用戶”是數(shù)據(jù)的終點。另外,管理人員需要添加科室信息和修改信息,說明“科室信息”和“修改信息”是數(shù)據(jù)流,同樣,“輸入用戶信息”也是數(shù)據(jù)流。因此得到了第0層dfd圖,如圖3.2所示:圖3.2 第0層dfd圖“科室信息”是管理人員需要添加的一個信息,因此加入一個加工“添加科室信息”,同樣得到“修改醫(yī)師信息”這個加工。數(shù)據(jù)流“輸入信息”應(yīng)該由加工“用戶信息”來完成。這樣,“添加科室信息”,“修改醫(yī)師信息”

46、和“用戶信息”三個加工代替了第0層的“醫(yī)院網(wǎng)上掛號系統(tǒng)”,同時增加了“科室”和“醫(yī)師(管理員)”這兩個數(shù)據(jù)存儲,因此,得到了第1層dfd圖,如圖3.3所示:圖3.3 第1層dfd圖 對第1層dfd圖的一個加工“用戶信息”進(jìn)行展開,得到了第2層dfd圖,如圖3.4所示:圖3.4 第2層dfd圖第4章 系統(tǒng)設(shè)計與實現(xiàn)4.1 er圖設(shè)計er模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用er圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機(jī)無關(guān),用戶容易接受。e-r圖為實體-聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。 構(gòu)成e-r圖的基本要素是實

47、體型、屬性和聯(lián)系,其表示方法為: 實體型:用矩形表示,矩形框內(nèi)寫明實體名; 屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來; 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(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數(shù)據(jù)庫表格設(shè)計好的數(shù)據(jù)結(jié)構(gòu)會影響速度。好

48、的數(shù)據(jù)庫表設(shè)計會影響數(shù)據(jù)庫操作效率。特別是數(shù)據(jù)多的時候,如果表的結(jié)構(gòu)不好的話操作的時候條件(where后的內(nèi)容)會變的非常復(fù)雜。sql是關(guān)系數(shù)據(jù)庫中用到的一種語言。所以,為了簡化sql,表的關(guān)系(內(nèi)部和外部)要盡量設(shè)計的合理。建表的核心思想和原則為:1)不應(yīng)該針對整個系統(tǒng)進(jìn)行數(shù)據(jù)庫設(shè)計,而應(yīng)該根據(jù)系統(tǒng)架構(gòu)中的組件劃分,針對每個組件所處理的業(yè)務(wù)進(jìn)行組件單元的數(shù)據(jù)庫設(shè)計;不同組件間所對應(yīng)的數(shù)據(jù)庫表之間的關(guān)聯(lián)應(yīng)盡可能減少,如果不同組件間的表需要外鍵關(guān)聯(lián)也盡量不要創(chuàng)建外鍵關(guān)聯(lián),而只是記錄關(guān)聯(lián)表的一個主鍵,確保組件對應(yīng)的表之間的獨立性,為系統(tǒng)或表結(jié)構(gòu)的重構(gòu)提供可能性。2)采用領(lǐng)域模型驅(qū)動的方式和自頂向下

49、的思路進(jìn)行數(shù)據(jù)庫設(shè)計,首先分析系統(tǒng)業(yè)務(wù),根據(jù)職責(zé)定義對象。對象要符合封裝的特性,確保與職責(zé)相關(guān)的數(shù)據(jù)項被定義在一個對象之內(nèi),這些數(shù)據(jù)項能夠完整描述該職責(zé),不會出現(xiàn)職責(zé)描述缺失。并且一個對象有且只有一項職責(zé),如果一個對象要負(fù)責(zé)兩個或兩個以上的職責(zé),應(yīng)進(jìn)行分拆。3)根據(jù)建立的領(lǐng)域模型進(jìn)行數(shù)據(jù)庫表的映射,此時應(yīng)參考數(shù)據(jù)庫設(shè)計第二范式:一個表中的所有非關(guān)鍵字屬性都依賴于整個關(guān)鍵字。關(guān)鍵字可以是一個屬性,也可以是多個屬性的集合,不論那種方式,都應(yīng)確保關(guān)鍵字能夠保證唯一性。在確定關(guān)鍵字時,應(yīng)保證關(guān)鍵字不會參與業(yè)務(wù)且不會出現(xiàn)更新異常,這時,最優(yōu)解決方案為采用一個自增數(shù)值型屬性或一個隨機(jī)字符串作為表的關(guān)鍵字。

50、4)由于第一點所述的領(lǐng)域模型驅(qū)動的方式設(shè)計數(shù)據(jù)庫表結(jié)構(gòu),領(lǐng)域模型中的每一個對象只有一項職責(zé),所以對象中的數(shù)據(jù)項不存在傳遞依賴,所以,這種思路的數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計從一開始即滿足第三范式:一個表應(yīng)滿足第二范式,且屬性間不存在傳遞依賴。5)同樣,由于對象職責(zé)的單一性以及對象之間的關(guān)系反映的是業(yè)務(wù)邏輯之間的關(guān)系,所以在領(lǐng)域模型中的對象存在主對象和從對象之分,從對象是從1n或nn的角度進(jìn)一步主對象的業(yè)務(wù)邏輯,所以從對象及對象關(guān)系映射為的表及表關(guān)聯(lián)關(guān)系不存在刪除和插入異常。6)在映射后得出的數(shù)據(jù)庫表結(jié)構(gòu)中,應(yīng)再根據(jù)第四范式進(jìn)行進(jìn)一步修改,確保不存在多值依賴。這時,應(yīng)根據(jù)反向工程的思路反饋給領(lǐng)域模型。如果表結(jié)

51、構(gòu)中存在多值依賴,則證明領(lǐng)域模型中的對象具有至少兩個以上的職責(zé),應(yīng)根據(jù)第一條進(jìn)行設(shè)計修正。第四范式:一個表如果滿足bcnf,不應(yīng)存在多值依賴。7)在經(jīng)過分析后確認(rèn)所有的表都滿足二、三、四范式的情況下,表和表之間的關(guān)聯(lián)盡量采用弱關(guān)聯(lián)以便于對表字段和表結(jié)構(gòu)的調(diào)整和重構(gòu)。并且,我認(rèn)為數(shù)據(jù)庫中的表是用來持久化一個對象實例在特定時間及特定條件下的狀態(tài)的,只是一個存儲介質(zhì),所以,表和表之間也不應(yīng)用強(qiáng)關(guān)聯(lián)來表述業(yè)務(wù)(數(shù)據(jù)間的一致性),這一職責(zé)應(yīng)由系統(tǒng)的邏輯層來保證,這種方式也確保了系統(tǒng)對于不正確數(shù)據(jù)(臟數(shù)據(jù))的兼容性。當(dāng)然,從整個系統(tǒng)的角度來說我們還是要盡最大努力確保系統(tǒng)不會產(chǎn)生臟數(shù)據(jù),單從另一個角度來說,

52、臟數(shù)據(jù)的產(chǎn)生在一定程度上也是不可避免的,我們也要保證系統(tǒng)對這種情況的容錯性。這是一個折中的方案。8)應(yīng)針對所有表的主鍵和外鍵建立索引,有針對性的(針對一些大數(shù)據(jù)量和常用檢索方式)建立組合屬性的索引,提高檢索效率。雖然建立索引會消耗部分系統(tǒng)資源,但比較起在檢索時搜索整張表中的數(shù)據(jù)尤其時表中的數(shù)據(jù)量較大時所帶來的性能影響,以及無索引時的排序操作所帶來的性能影響,這種方式仍然是值得提倡的。9)盡量少采用存儲過程,目前已經(jīng)有很多技術(shù)可以替代存儲過程的功能如“對象/關(guān)系映射”等,將數(shù)據(jù)一致性的保證放在數(shù)據(jù)庫中,無論對于版本控制、開發(fā)和部署、以及數(shù)據(jù)庫的遷移都會帶來很大的影響。但不可否認(rèn),存儲過程具有性能

53、上的優(yōu)勢,所以,當(dāng)系統(tǒng)可使用的硬件不會得到提升而性能又是非常重要的質(zhì)量屬性時,可經(jīng)過平衡考慮選用存儲過程。10)設(shè)計出的表要具有較好的使用性,主要體現(xiàn)在查詢時是否需要關(guān)聯(lián)多張表且還需使用復(fù)雜的sql技巧。11)設(shè)計出的表要盡可能減少數(shù)據(jù)冗余,確保數(shù)據(jù)的準(zhǔn)確性,有效的控制冗余有助于提高數(shù)據(jù)庫的性能。在完成系統(tǒng)的er圖之后,需要將er模型轉(zhuǎn)化為關(guān)系模型,也就是說,要設(shè)計出數(shù)據(jù)庫所需要的表格。在這里,選用的是關(guān)系數(shù)據(jù)庫。因為關(guān)系數(shù)據(jù)庫中的二維表格可以很清楚地描述數(shù)據(jù)之間的聯(lián)系。在系統(tǒng)中定義的表格都嚴(yán)格地按照范式的思想和要求完成,數(shù)據(jù)庫中的所有表格都達(dá)到了三范式的要求。根據(jù)系統(tǒng)er圖,針對本系統(tǒng)的特點

54、,在對所搜集的數(shù)據(jù)進(jìn)行規(guī)范化之后,定義了如下五張表格,分別是用戶信息表、科室信息表、醫(yī)師信息表、時刻表和管理員信息表。通過對這五張表格的操作可以較好地完成系統(tǒng)設(shè)計的各項功能,五張表格之間有著不同程度的聯(lián)系10。此軟件文檔系統(tǒng)采用mysql數(shù)據(jù)庫管理系統(tǒng)。首先在mysql中建立一個數(shù)據(jù)庫,將其命名為hospital,然后根據(jù)數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析創(chuàng)建5張數(shù)據(jù)表。五張表的表結(jié)構(gòu)如下(帶k的為主鍵):表4.1 時刻信息表結(jié)構(gòu)字段名稱字段類型說明 id(k)int(16)id序列號timevarchar2(32) 預(yù)約時間時刻信息表:用于存放所有可以預(yù)約的時間信息蘊(yùn)含著一定的邏輯性。這個時間是由系統(tǒng)中獲

55、取和電腦本身同步,同時也和網(wǎng)絡(luò)同步選用北京時間由代碼實現(xiàn),無需人工添加自動生成在本系統(tǒng)之中。前臺用戶注冊的時間邏輯和后臺預(yù)約記錄的查看都需要此時刻信息表的支持。表4.2 管理員表結(jié)構(gòu)字段名稱字段類型說明 id(k)int(16) id序列號 loginnamevarchar2(16) 登錄賬號 password varchar2(32) 登錄密碼管理員表: 用于存放系統(tǒng)的管理員信息。通過代碼實現(xiàn)可以添加多個管理員,這里的管理員為超級管理員也就是醫(yī)院的領(lǐng)導(dǎo)層,可以提供普通管理員的添加功能,同時擁有普通管理員的功能例如查看預(yù)約記錄、刪除預(yù)約記錄、添加科室、編輯科室、修改密碼等一系列的功能。表4.3 醫(yī)師信息表結(jié)構(gòu)字段名稱字段類型說明 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)系上傳者。文件的所有權(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

提交評論