版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大連理工大學(xué)城市學(xué)院軟件工程大作業(yè)學(xué)院(系):計算機工程學(xué)院專業(yè):學(xué)生:講課老師:張應(yīng)博完成日期:6月
大連理工大學(xué)城市學(xué)院《軟件工程》大作業(yè)題目:醫(yī)院患者管理系統(tǒng)分析和設(shè)計成績:總計大作業(yè)67頁表格22表插圖56幅目錄第一章醫(yī)院患者管理系統(tǒng)需求分析 41.導(dǎo)言 42.系統(tǒng)定義 53.應(yīng)用環(huán)境 54.功能規(guī)格 75.性能需求 166.產(chǎn)品提交 177.實現(xiàn)約束 178.簽字 18第二章醫(yī)院患者管理系統(tǒng)概要設(shè)計 191.導(dǎo)言 192.系統(tǒng)分析 192. 界面設(shè)計 204.體系結(jié)構(gòu) 225.數(shù)據(jù)模型 286.模塊設(shè)計 35第三章醫(yī)院患者管理系統(tǒng)詳細設(shè)計 51第四章醫(yī)院患者管理系統(tǒng)編碼實現(xiàn) 821.編碼格式規(guī)范 822.命名規(guī)范 823.聲明規(guī)范 834.目錄規(guī)范 835..代碼實例 83第五章醫(yī)院患者管理系統(tǒng)測試計劃 841.測試項目 842.測試方法 84第六章醫(yī)院患者管理系統(tǒng)部署運營和維護 85第七章總結(jié)與展望 861.本程序的總結(jié)和展望 862.感想 86參考文獻 87
第一章醫(yī)院患者管理系統(tǒng)需求分析1.導(dǎo)言1.1目標該文檔是相關(guān)用戶對于醫(yī)院患者管理系統(tǒng)功效和性能要求,關(guān)鍵描述了醫(yī)院患者管理系統(tǒng)功效需求,是概要設(shè)計階段關(guān)鍵輸入。本文檔預(yù)期讀者是:·設(shè)計人員;·開發(fā)人員;·項目管理人員;·測試人員;·用戶。1.2范圍該文檔是借助于目前系統(tǒng)邏輯模型導(dǎo)出目標系統(tǒng)邏輯模型,處理整個項目系統(tǒng)“做什么”問題。在這里,沒有包含開發(fā)技術(shù),而關(guān)鍵是經(jīng)過建立模型方法來描述用戶需求,為用戶、用戶、開發(fā)方等不一樣參與方提供一個交流平臺。1.3編寫說明JSP,JavaServerPage(Java服務(wù)器頁面)縮寫,一個腳本化語言。UML,UnifiedModelingLanguage(統(tǒng)一建模語言)縮寫,是一個標準建模語言。1.4術(shù)語定義無1.5參考資料[1]《UML說明》,***********************軟件[2]《需求規(guī)格匯報格式標準》,************企業(yè)軟件工程過程化組織1.6版本更新信息本文檔更新統(tǒng)計如表1-1所表示。表1-1版本更新統(tǒng)計修改編號修改日期修改后版本修改位置修改內(nèi)容概述00全部初始公布版本00第3.1節(jié)增加2.系統(tǒng)定義我們分別敘述一下項目標起源、背景,項目標用戶特點和項目標目標。項目起源及背景本項目是為小型醫(yī)院、診所開發(fā)一個簡單患者管理系統(tǒng)。伴隨中國小區(qū)醫(yī)院、小型診所發(fā)展,傳統(tǒng)手工紙質(zhì)化患者管理方法,已經(jīng)日益顯示其不足之處,在處理患者信息數(shù)量、正確性方面全部比較欠缺,信息化、網(wǎng)絡(luò)化也成為這些小型醫(yī)院一個肯定發(fā)展趨勢,患者管理系統(tǒng)作為醫(yī)院信息管理系統(tǒng)是醫(yī)院自動化管理系統(tǒng)得一個關(guān)鍵組成部分,它開發(fā)大大提升了醫(yī)院信息管理規(guī)范化能力。2.2用戶特點本系統(tǒng)用戶全部是網(wǎng)上用戶,包含兩類,一類是患者,她們差異比較大,有計算機應(yīng)用水平比較高很高,有可能很低。另一類是醫(yī)生,她們對業(yè)務(wù)很熟悉,經(jīng)過實際使用,她們對使用管理軟件比較熟悉。另外一類用戶是系統(tǒng)管理員用戶,在實際中,她們可能是醫(yī)院院長或人力資源部主管,系統(tǒng)管理人員對系統(tǒng)很熟悉2.3項目目標本項目設(shè)定目標以下:·系統(tǒng)能夠提供友好用戶界面,使操作人員工作量最大程度降低;·系統(tǒng)含有良好運行效率,能夠達成提升生產(chǎn)率目標;·系統(tǒng)應(yīng)有良好可擴充性,能夠輕易地加入其它系統(tǒng)應(yīng)用;·平臺設(shè)計含有一定超前性,靈活性,能夠適應(yīng)企業(yè)生產(chǎn)配置改變;3.應(yīng)用環(huán)境依據(jù)用戶需求陳說,能夠確定本項目分為用戶端(患者)和管理端(醫(yī)生、超級管理員),用戶端關(guān)鍵功效是為患者提供醫(yī)生信息查詢、就診預(yù)約、查詢預(yù)約信息、查看病歷等。管理端功效為醫(yī)生提供查看預(yù)約患者信息、創(chuàng)建、修改、查看患者病歷信息等功效,為醫(yī)院管理人員進行醫(yī)生添加、刪除管理等。它們關(guān)系圖1-1所表示。圖1-1醫(yī)院患者管理系統(tǒng)步驟圖3.1系統(tǒng)運行網(wǎng)絡(luò)環(huán)境本系統(tǒng)網(wǎng)絡(luò)運行圖圖1-2所表示,不管是用戶端患者用戶還是管理端醫(yī)生用戶、系統(tǒng)管理員用戶全部能夠經(jīng)過網(wǎng)絡(luò)登錄到本系統(tǒng)中?;颊呓?jīng)過網(wǎng)絡(luò)查詢醫(yī)生信息、提交預(yù)約信息;醫(yī)生經(jīng)過網(wǎng)絡(luò)查看預(yù)約患者信息、創(chuàng)建患者病歷、查看、修改病歷發(fā);管理端管理員管理醫(yī)生信息。3.2系統(tǒng)運行硬件環(huán)境本系統(tǒng)硬件環(huán)境以下:用戶機:一般PC·CPU:P41.8GHz以上·內(nèi)存:256MB以上·能夠運行IE5.0以上或Netscape4.0以上版本機器·分辨率:推薦使用1024×768像素或以上Web服務(wù)器·CPU:P41.0GHz·內(nèi)存:1G以上·硬盤:80GB以上·網(wǎng)卡:KMb/s速度數(shù)據(jù)庫服務(wù)器·CPU:P42.0GHz·內(nèi)存:1GB以上·硬盤:80GB以上圖1-2網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖系統(tǒng)運行軟件環(huán)境本系統(tǒng)軟件環(huán)境以下:·操作系統(tǒng):Windows或以上版本·數(shù)據(jù)庫:MySQL·開發(fā)工具包:JDKVersion1.6.0·Web服務(wù)器:Tomcat6.0·瀏覽器:IE6.0以上4.功效規(guī)格我們采取面向?qū)ο蠓治鲎鳛殛P(guān)鍵系統(tǒng)建模方法,使用UML(UnifiedModelingLanguage)作為建模語言。UML為建?;顒犹峁┝藦牟灰粯咏嵌扔^察和展示系統(tǒng)多種特征方法。在UML中,從任何一個角度對系統(tǒng)所作抽象全部可能需要多個模型來描述,而這些來自不一樣角度模型圖最終組成了系統(tǒng)映像。用例描述角色(用戶、外部系統(tǒng)和系統(tǒng)處理)是怎樣和系統(tǒng)交互來完成工作。用例模型提供了一個很關(guān)鍵方法來界定系統(tǒng)邊界和定義系統(tǒng)功效,同時,該模型未來能夠派生出動態(tài)對象模型。設(shè)計用例時,我們遵照下列步驟:1)識別出系統(tǒng)角色。角色能夠是用戶、外部系統(tǒng),甚至是外部處理,經(jīng)過某種路徑和系統(tǒng)交互。關(guān)鍵是著重從系統(tǒng)外部實施者角度來描述系統(tǒng)需要提供哪些功效,并指明這些功效實施者(角色)是誰。盡可能地確保全部角色全部被完全識別出來。2)描述關(guān)鍵用例。能夠采取不停地問自已“這個角色到底想過系統(tǒng)做什么?”來正確地描述用例。3)重新審閱每個用例,為它們下個詳盡定義。4.1角色定義角色或?qū)嵤┱咧负拖到y(tǒng)產(chǎn)生交互外部用戶或外部系統(tǒng)。4.1.1患者患者是指在這個系統(tǒng)中經(jīng)過用戶端提交預(yù)約就診信息人員,這個角色關(guān)鍵參與用戶端注冊系統(tǒng)用戶、醫(yī)生信息查詢、提交預(yù)約就診信息等功效。4.1.2管理用戶管理用戶是指管理端用戶,此角色派生兩個子類,醫(yī)生和系統(tǒng)管理員。醫(yī)生是指在這個系統(tǒng)中經(jīng)過用戶端查看預(yù)約患者信息人員,這個角色關(guān)鍵參與用戶端查看預(yù)約患者信息、創(chuàng)建患者病例、查詢患者病例、修改患者病例等功效。系統(tǒng)管理員是指管理醫(yī)生用戶人員,這個角色關(guān)鍵負責(zé)對管理端醫(yī)生用戶增加、刪除等功效。她也是經(jīng)過管理端登錄對管理端用戶進行設(shè)置,它們關(guān)系圖1-3所表示。圖1-3管理用戶角色關(guān)系4.1.3數(shù)據(jù)庫數(shù)據(jù)庫是一個和系統(tǒng)產(chǎn)生交互外部系統(tǒng),這個角色負責(zé)系統(tǒng)數(shù)據(jù)查詢、增加、刪除和修改等操作。4.2系統(tǒng)主用例圖醫(yī)院患者管理系統(tǒng)能夠分為兩個關(guān)鍵組成部分,一個是用戶端子系統(tǒng)。一個是管理端子系統(tǒng)。用戶端子系統(tǒng)功效關(guān)鍵是指患者、醫(yī)生經(jīng)過登錄網(wǎng)站進行操作功效。管理端子系統(tǒng)功效是醫(yī)院管理人員管理醫(yī)生用戶功效。系統(tǒng)主用例圖1-4所表示。圖1-4系統(tǒng)主用例圖4.3用戶端子系統(tǒng)患者經(jīng)過本網(wǎng)站網(wǎng)站登錄到系統(tǒng)中進行就診預(yù)約、查看病歷信息等,患者經(jīng)過它提交預(yù)約信息,這就是用戶端子系統(tǒng)功效。在用戶端用戶能夠看到能夠預(yù)約醫(yī)生信息。圖1-5是它活動圖。用戶端功效關(guān)鍵包含查看醫(yī)生信息、填寫預(yù)約申請、查看病歷等功效,圖1-6是它用例圖。圖1-5用戶端活動圖圖1-6用戶端功效用例圖用戶端管理這些用例描述以下:1.1:查看醫(yī)生信息。1.2:填寫、提交預(yù)約信息。1.3:查詢預(yù)約情況。1.4:查詢病例信息。4.3.1查看醫(yī)生信息用例描述:患者查看醫(yī)生信息;實施者:患者;前置條件:患者已登錄系統(tǒng);后置條件:查看醫(yī)生信息后,患者可選擇某一位醫(yī)生預(yù)約就診?;A(chǔ)路徑:a)患者登錄到醫(yī)院預(yù)約網(wǎng)頁,顯示現(xiàn)在能夠預(yù)約醫(yī)生列表;b)點擊任何一個醫(yī)生能夠顯示該醫(yī)生在一周天天可預(yù)約人數(shù);4.3.2輸入預(yù)約信息假如患者選中某位醫(yī)生,就能夠開始填寫預(yù)約信息,從患者基礎(chǔ)信息開始,具體描述以下。用例描述:填寫預(yù)約信息;實施者:患者;前置條件:患者已選擇某位醫(yī)生;后置條件:預(yù)約信息提交以后則能夠查看該主治醫(yī)生具體信息?;A(chǔ)路徑:a)基礎(chǔ)信息輸入,包含姓名、性別、年紀、電話、地址、等信息;b)輸入完成后,點擊提交可提交預(yù)約信息。4.3.3查詢預(yù)約情況患者提交預(yù)約信息后可經(jīng)過該功效查詢自己是否預(yù)約成功,具體功效描述以下。用例描述:查詢預(yù)約情況;實施者:患者;前置條件:患者已提交預(yù)約信息;后置條件:無?;A(chǔ)路徑:a)患者點擊頁面左側(cè)“查詢預(yù)約信息”超鏈接;b)若預(yù)約信息已成功提交,則在頁面中間部分顯示預(yù)約信息4.3.4查詢病例信息患者可經(jīng)過本頁面查詢自己病例信息,具體功效描述以下。用例描述:查詢病例信息;實施者:患者;前置條件:患者預(yù)約成功,且完成最少一次就診;后置條件:無。基礎(chǔ)路徑:a)患者點擊頁面左側(cè)“查詢病例”超鏈接;b)若患者完成一次就診,則在頁面中可顯示自己病例信息。4.4管理端子系統(tǒng)管理端子系統(tǒng)關(guān)鍵是提供醫(yī)生和系統(tǒng)管理員使用功效,醫(yī)生使用功效有查詢預(yù)約患者信息、創(chuàng)建病例、查詢患者病例;系統(tǒng)管理員是用功效為添加醫(yī)生賬號和刪除醫(yī)生賬號。圖1-7是管理端用例圖。圖1-7管理端用例圖4.4.1登錄管理登錄到管理端全部些人全部需要經(jīng)過登錄界面進入對應(yīng)管理界面。在登發(fā)界面輸入用戶名和密碼,系統(tǒng)首先判定用戶名和密碼正確性,然后依據(jù)用戶名確定其權(quán)限,不一樣登錄者含有不一樣權(quán)限,依據(jù)登錄者含有權(quán)限將對應(yīng)功效顯示在管理界面上。圖1-8是它活動視圖。圖A-8登錄管理活動視圖4.4.2醫(yī)生賬戶管理模塊關(guān)鍵是完成醫(yī)生賬戶添加和刪除。具體描述以下。用例描述:添加醫(yī)生賬戶;實施者:系統(tǒng)管理員;前置條件:系統(tǒng)管理員已登錄系統(tǒng);后置條件:無?;A(chǔ)路徑:a)進入醫(yī)生賬戶管理界面,首先顯示現(xiàn)在已存在醫(yī)生賬戶;b)點擊“添加”按鈕能夠添加醫(yī)生賬戶,輸入新賬戶相關(guān)信息完成添加;4.4.2刪除醫(yī)生賬戶醫(yī)生賬戶管理模塊關(guān)鍵是完成醫(yī)生賬戶添加和刪除。具體描述以下。用例描述:刪除醫(yī)生賬戶;實施者:系統(tǒng)管理員;前置條件:系統(tǒng)管理員已登錄系統(tǒng);后置條件:無?;A(chǔ)路徑:a)進入醫(yī)生賬戶管理界面,首先顯示現(xiàn)在已存在醫(yī)生賬戶;b)點擊某個醫(yī)生能夠具體瀏覽這個醫(yī)生具體內(nèi)容,同時也能夠?qū)@個賬戶經(jīng)行刪除;4.4.3在網(wǎng)上招聘系統(tǒng)中,要定時維護問卷,因為每個招聘職位全部附有一個磁問卷,應(yīng)聘者必需回復(fù)問卷,才能夠提交簡歷。問卷管理關(guān)鍵是組織問卷,問卷中全部題目全部來自題庫,每份問卷全部有不一樣針對性,針對不一樣招聘需求。具體功效描述以下。用例描述:查看預(yù)約患者信息;實施者:醫(yī)生;前置條件:醫(yī)生已登錄到系統(tǒng);后置條件:無?;A(chǔ)路徑:a)進入醫(yī)生所屬管理界面;b)經(jīng)過點擊“查看預(yù)約患者信息”可顯示已成功提交預(yù)約信息患者列表;c)單擊某一患者能夠查看該患者具體信息;4.4.4患者在就診以后,醫(yī)生應(yīng)為其建立對應(yīng)病例信息,具體功效描述以下。用例描述:創(chuàng)建病例信息;實施者:醫(yī)生;前置條件:醫(yī)生已登錄系統(tǒng);后置條件:無?;A(chǔ)路徑:a)進入醫(yī)生所屬管理界面;b)經(jīng)過點擊左側(cè)導(dǎo)航欄“創(chuàng)建病例”按鈕,在右側(cè)填寫癥狀、診療、處方等病例信息;4.4.5修改病例醫(yī)生為患者建立對應(yīng)病例信息后,也能夠正對對應(yīng)情況對病例經(jīng)行修改,具體功效描述以下。用例描述:修改病例信息;實施者:醫(yī)生;前置條件:醫(yī)生已登錄系統(tǒng);后置條件:無?;A(chǔ)路徑:a)進入醫(yī)生所屬管理界面;b)經(jīng)過點擊左側(cè)導(dǎo)航欄“修改病例”按鈕,在右側(cè)可對癥狀、診療、處方等病例信息進行修改;5.性能需求依據(jù)用戶對本系統(tǒng)要求,確定系統(tǒng)在響應(yīng)時間、可靠性、安全性等方面有較高必能要求。5.1界面需求系統(tǒng)界面要求以下。1)頁面內(nèi)容:專題突出,站點定義、術(shù)語和行文格式統(tǒng)一、規(guī)范、明確、欄目、菜單設(shè)置和布局合理,傳輸信息正確、立即。內(nèi)容豐富,文字正確,語句通順,專用術(shù)語規(guī)范,行文格式統(tǒng)一規(guī)范。2)導(dǎo)航結(jié)構(gòu):頁面含有明確導(dǎo)航指示,且便于了解,方便用戶使用。3)技術(shù)環(huán)境:頁面大小合適,能用多種常見瀏覽器以不一樣分辨率瀏覽,無錯誤鏈接和空鏈接;采取CSS處理,控制字體大小和版面布局。4)藝術(shù)風(fēng)格:界面、版面形象清楚悅目、布局合理,字號大小適宜、字體選擇合理,前后一致,美觀大方,動和靜搭配合適,動靜效果好;色彩友好自然,和專題內(nèi)容相協(xié)調(diào)。5.2響應(yīng)時間需求不管是用戶端還是管理端,當(dāng)用戶登錄,進行任何操作時候,系統(tǒng)應(yīng)該立即地進行反應(yīng),反應(yīng)時間在5秒以內(nèi)。系統(tǒng)應(yīng)能監(jiān)測出多種非正常情況,如和設(shè)備通信中止,無法連接數(shù)據(jù)庫服務(wù)器等,以避免出現(xiàn)長時間等候甚至無響應(yīng)。5.3可靠性需求系統(tǒng)應(yīng)確保7×二十四小時內(nèi)不宕機,確保20人能夠同時在用戶端登錄,此時系統(tǒng)能正常運行,正確提醒相關(guān)內(nèi)容。5.4開放性需求系統(tǒng)應(yīng)含有較強靈活性,以適應(yīng)未來功效擴展需求。5.5可擴展性需求系統(tǒng)設(shè)計要求能夠表現(xiàn)擴展性要求,以適應(yīng)未來功效擴展需求。5.6系統(tǒng)安全性需求系統(tǒng)有嚴格權(quán)限管理功效,各功效模塊需有對應(yīng)權(quán)限方能進入。系統(tǒng)需能夠預(yù)防各類誤操作可能造成數(shù)據(jù)丟失,破壞。預(yù)防用戶非法取得網(wǎng)頁和內(nèi)容。應(yīng)該使用過濾器(Filter)或攔截器,對非法進入頁面進行攔截6.產(chǎn)品提交提交產(chǎn)品為:a)應(yīng)用系統(tǒng)軟件包;b)數(shù)據(jù)庫初始數(shù)據(jù);c)系統(tǒng)開發(fā)過程文檔;系統(tǒng)使用、維護說明文檔,提交方法為CD介質(zhì)。7.實現(xiàn)約束系統(tǒng)實現(xiàn)約束以下:a)操作系統(tǒng)為WindowsXP;b)開發(fā)平臺為:MyEclipse7.1;c)數(shù)據(jù)庫為:MySQL6.0。8.簽字本需求規(guī)格經(jīng)過雙方認可,特簽字如表A-2所例。表A-2需求規(guī)格簽字用戶簽署信息企業(yè)簽署信息單位名稱大連XXX醫(yī)院(蓋章)簽署人姓名簽署日期.5.18單位名稱MJD軟件(蓋章)簽署人姓名簽署日期.5.18
第二章醫(yī)院患者管理系統(tǒng)概要設(shè)計1.導(dǎo)言1.1目標該文檔目標是描述網(wǎng)上招聘系統(tǒng)項目標概要設(shè)計,其關(guān)鍵內(nèi)容包含:·系統(tǒng)功效介紹;·數(shù)據(jù)設(shè)計;·模塊設(shè)計;·界面設(shè)計。本文檔預(yù)期讀者是:·開發(fā)人員;·項目管理人員;·測試人員。1.2范圍該文檔定義了系統(tǒng)結(jié)構(gòu)和單元接口,但未確定單元實現(xiàn)方法,這部分內(nèi)容將在具體設(shè)計/實現(xiàn)中確定。1.3術(shù)語定義UML:UnifiedModelingLanguage(統(tǒng)一建模語言)縮寫,是一個標準建模語言。JSP:JavaServerPage(java服務(wù)器頁面)縮寫,一個腳本化語言。MVC:Model-View-Control(模式-視圖-控制)縮寫,表示一個三層結(jié)構(gòu)體系。JavaBean:用Java語言實現(xiàn)滿足一定功效類。2.系統(tǒng)分析本系統(tǒng)能夠?qū)崿F(xiàn)網(wǎng)上在線招聘,應(yīng)聘者經(jīng)過互聯(lián)網(wǎng)投遞簡歷進行網(wǎng)上測評。同時,招聘單位能夠匯總簡歷,游覽簡歷,并經(jīng)過測評結(jié)果選擇合格簡歷,通知面試,進行面試。方便企業(yè)和求職者交流。系統(tǒng)包含管理端子系統(tǒng)和用戶端子系統(tǒng)。管理端子系統(tǒng)包含題庫管理、問卷管理、職位公布、簡歷管理、面試管理、用戶管理等功效。用戶端子系統(tǒng)包含查詢職位,簡歷錄入,回復(fù)問卷,提交簡歷等功效。圖2-1和圖2-2為用戶端和管理端組成構(gòu)圖。圖B-1用戶端子系統(tǒng)圖示圖B-2管理端子系統(tǒng)界面設(shè)計3.1管理端界面設(shè)計管理端系統(tǒng)管理員界面關(guān)鍵實現(xiàn)添加醫(yī)生賬戶、刪除醫(yī)生賬戶功效。關(guān)鍵界面設(shè)計以下:·登錄界面:經(jīng)過輸入用戶各和密碼實現(xiàn)用戶登錄;·添加醫(yī)生賬戶:填入醫(yī)生編號,姓名、年紀、職稱、專長、科室等信息后點擊“添加”按鈕完成添加;·刪除醫(yī)生賬戶:選擇要刪除醫(yī)生后點擊“刪除”完成以上那個賬戶刪除;·查詢醫(yī)生信息:查詢醫(yī)生賬戶信息,能夠?qū)︶t(yī)生天天可預(yù)約患者數(shù)量進行設(shè)定?!ぷN頁面:登出該患者管理系統(tǒng);具體頁面流圖2-3所表示。3.2用戶端界面設(shè)計用戶端關(guān)鍵為應(yīng)聘者提供網(wǎng)上預(yù)約就診過程,應(yīng)聘者經(jīng)過瀏覽可預(yù)約醫(yī)生信息后可選擇某位醫(yī)生進行預(yù)約,填寫個人信息,提交后,提交預(yù)約信息保留到服務(wù)器端。在用戶界面,患者首優(yōu)異入患者管理系統(tǒng)主界面,注冊患者賬號后即可登錄,點擊“查詢醫(yī)生信息”按鈕能夠查看可預(yù)約醫(yī)生信息,可選擇某位醫(yī)生進行預(yù)約;提交預(yù)約信息后,能夠點擊“查詢預(yù)約信息”按鈕查看自己預(yù)約信息是否成功提交到服務(wù)器;若患者已經(jīng)完成一次就診,且醫(yī)生已經(jīng)為其創(chuàng)建了病例信息,則能夠經(jīng)過點擊“查詢病例”按鈕查看自己病例信息。具體頁面流圖B-4所表示4.體系結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)設(shè)計遵照以下標準。1)系統(tǒng)應(yīng)含有良好適應(yīng)性:能適應(yīng)用戶對系統(tǒng)軟件環(huán)境、管理內(nèi)容、模式和界面要求;2)系統(tǒng)應(yīng)含有可靠性:采取成熟技術(shù)方法和軟件開發(fā)平臺,以確保系統(tǒng)在以后實際應(yīng)用中安全、可靠;3)系統(tǒng)應(yīng)含有很好安全性:應(yīng)提升安全機制和用戶權(quán)限限制機制完善程度,確保數(shù)據(jù)受限訪問;4)系統(tǒng)應(yīng)含有良好可維護性:系統(tǒng)應(yīng)易于維護、安裝;5)系統(tǒng)應(yīng)含有良好可擴展性:系統(tǒng)應(yīng)適應(yīng)未來信息化建設(shè)要求,能方便地進行功效擴展,以建立完善信息集成管理體系。本系統(tǒng)采取體系結(jié)構(gòu),struct是一個基于模型(Model)一視圖(View)一控制器(Controller),即MVC模式應(yīng)用架構(gòu)開源框架。4.1體系結(jié)構(gòu)現(xiàn)在軟件項目中有很多體系結(jié)構(gòu),其中struct是比較流行一個。4.1.1struct體系結(jié)構(gòu)對于開發(fā)Web應(yīng)用,要從頭設(shè)計并開發(fā)出一個可靠、穩(wěn)定框架不是一件輕易事情。伴隨Web開發(fā)技術(shù)日趨成熟,在Web開發(fā)領(lǐng)域出現(xiàn)了部分現(xiàn)成優(yōu)異框架、開發(fā)者能夠直接使用它們,struct就是一個很好框架結(jié)構(gòu),它是在JSPModel2基礎(chǔ)上實現(xiàn)一個MVC框架,在struct框架在模型由實現(xiàn)業(yè)務(wù)邏輯JavaBean或EJB組件組成,控制器由ActionServlet和Action來實現(xiàn),視圖由一組JSP文件組成,圖2-5顯示了Struct實現(xiàn)MVC框架。圖B-3管理端頁面步驟患者網(wǎng)上注冊患者網(wǎng)上注冊患者網(wǎng)上登錄顯示醫(yī)生信息選擇某位可預(yù)約醫(yī)生填寫預(yù)約信息提交查詢預(yù)約信息查詢病例信息圖B-4用戶端頁面步驟其中:·視圖,就是一組JSP文件,這些JSP文件沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標簽,這些標簽?zāi)軌蚴菢藴蔎SP標簽或是用戶化標簽,如struct標簽庫標簽。另外,通常將struct框架中ActionFormBean也劃為視圖模塊,ActionFormBean是一個JavaBean,除了含有部分JavaBean常規(guī)方法外,還包含了部分特殊方法,用于驗證HTML表單數(shù)據(jù)和將其屬性重新設(shè)置為默認值。Struct框架利用ActionFormBean來進行視圖和控制器之間表單數(shù)據(jù)傳輸。Strcut框架將用戶輸入表單數(shù)據(jù)保留在ActionFormBean中,將它傳輸給控制器,控制器能夠?qū)ctionFormBean中數(shù)據(jù)進行修改,JSP文件使用struct標簽讀取修改后ActionFormBean信息,然后重新設(shè)置HTML表單。控制控制器ActionServlet視圖JSPStruct-config.xml模型JavaBeanEJBActionActionAction瀏覽器Web服務(wù)器圖B-5struct實現(xiàn)MVC框架·控制器,控制器由ActionServlet類和Action類實現(xiàn),ActionServlet類是struct框架中關(guān)鍵組件,是這個MVC中央控制器角色。ActionServlet關(guān)鍵負責(zé)接收HTTP請求信息,依據(jù)配置文件struct-config.xml配置信息,將請求轉(zhuǎn)發(fā)給合適Action對象,假如該Action對象不存在,ActionServlet會先創(chuàng)建這個Action對象.Action類負責(zé)調(diào)用模型方法,更新模型狀態(tài),并幫助控制應(yīng)用程序步驟,對于小型簡單應(yīng)用,Action類本身也能夠完成部分實際業(yè)務(wù)邏輯?!つP?,模型表示應(yīng)用程序狀態(tài)和業(yè)務(wù)邏輯,業(yè)務(wù)邏輯常常由JavaBean或EJB組件實現(xiàn)。假如在Web應(yīng)用開發(fā)中套用現(xiàn)成struct框架,就能夠簡化每個開發(fā)階段工作,開發(fā)人員能夠愈加有針對性地分析應(yīng)用需求,無須重新設(shè)計框架,只需在struct框架基礎(chǔ)上,設(shè)計MVC各個模塊包含具體組件,在編碼過程中,能夠充足利用struct提供多種實用類和標簽庫,簡化編碼工作。Struct框架能夠方便快速地將一個復(fù)雜應(yīng)用劃分成模型、視圖和控制器組件,而struct配置文件struct-config.xml能夠靈活地組裝這些組件,以簡化開發(fā)過程。4.1.2系統(tǒng)體系結(jié)構(gòu)依據(jù)系統(tǒng)分析結(jié)果,該系統(tǒng)從結(jié)構(gòu)上應(yīng)滿足:·基于游覽器進行顯示以方便用戶使用;·采取MVC三層體系結(jié)構(gòu),分化各個功效組件;·采取JDBC技術(shù)和數(shù)據(jù)庫通信方便于數(shù)據(jù)庫轉(zhuǎn)換;·采取標簽技術(shù)完成動態(tài)頁面簡單邏輯。本系統(tǒng)體系結(jié)構(gòu)圖B-6所表示,它基礎(chǔ)遵照了struct體系MVC框架規(guī)范。視圖視圖(V)層:用戶界面(瀏覽器)HTML,CSS,DHTML,JavaScript,XML視圖(V)層:服務(wù)器端腳本ConnectsUItoBusinessObjects,JavaServerPages,JavaServlets控制(C)層:分布式組件JavaBean模型(M):數(shù)據(jù)源和持久對象存放ODBC,JDBC,OLEDB,ADO,XML,LDAP圖B-6系統(tǒng)體系結(jié)構(gòu)其中:·表示層,用于和用戶進行交互并顯示結(jié)果。包含全部JSP,提供用戶界面,接收用戶輸入,還包含對應(yīng)ActionFromBean,用來存放表單數(shù)據(jù),并進行表單數(shù)據(jù)驗證;·控制層,包含全部Action類,它完成三項任務(wù),一是進行業(yè)務(wù)邏輯驗證,二是調(diào)用模型組件,三是決定將適宜視圖組件返回給用戶;·模型,包含進行邏輯處理JavaBean等,數(shù)據(jù)庫采取ODBC技術(shù)以提供數(shù)據(jù)庫可移植性。體系結(jié)構(gòu)具體拓撲圖示圖B-7所表示。圖B-7體系結(jié)構(gòu)拓撲圖1)用戶層:用于和企業(yè)信息系統(tǒng)用戶進行交互和顯示依據(jù)特定業(yè)務(wù)規(guī)則進行計算后結(jié)果。本系統(tǒng)將完全采取基于Web(B/S架構(gòu))用戶端,即用戶能夠直接經(jīng)過瀏覽器來訪問和使用本系統(tǒng)。2)中間層:這相當(dāng)于三層標準架構(gòu)中Web應(yīng)用服務(wù)層,支持諸如響應(yīng)用戶請求和查詢等功效。而且由中間層進行邏輯處理,再將處理結(jié)果反饋給用戶或發(fā)送到數(shù)據(jù)庫中。3)服務(wù)層:關(guān)鍵是數(shù)據(jù)庫系統(tǒng),這里數(shù)據(jù)庫系統(tǒng)關(guān)鍵是關(guān)系數(shù)據(jù)庫系統(tǒng)(RDMS)。4.2系統(tǒng)進行環(huán)境下面講述系統(tǒng)運行網(wǎng)絡(luò)結(jié)構(gòu),硬件、軟件環(huán)境。4.2.1網(wǎng)絡(luò)結(jié)構(gòu)圖本系統(tǒng)網(wǎng)絡(luò)拓撲圖圖B-8所表示。圖B-8網(wǎng)絡(luò)拓撲圖其中局域網(wǎng)用戶機關(guān)鍵是企業(yè)內(nèi)部人員能夠使用機器,運程用戶機關(guān)鍵是指經(jīng)過互聯(lián)網(wǎng)登錄系統(tǒng)人員使用機器,能夠是企業(yè)內(nèi)部人,也能夠是應(yīng)聘者。4.2.2硬件環(huán)境本系統(tǒng)硬件環(huán)境以下。1)用戶機:一般PC·CPU:P41.8GHz以上·內(nèi)存:256MB以上·能夠運行IE5.0以上或Netscape4.0以上版本機器·分辨率:推薦使用1024×768像素或以上2)Web服務(wù)器·CPU:P42.0GHz·內(nèi)存:1GB以上·硬盤:80GB以上·網(wǎng)卡:KMb/s速度網(wǎng)卡3)數(shù)據(jù)庫服務(wù)器·CPU:P42.0GHz·內(nèi)存:1GB以上·硬盤:80GB以上4.2.3軟件環(huán)境本系統(tǒng)軟件環(huán)境以下:·操作系統(tǒng):UNIX/Linux/Windows或以上版本·數(shù)據(jù)庫:SQLServer·開發(fā)工具包:JDKVersion1.4.2·開發(fā)環(huán)境:eclipse-SDK-3.1.2win32·Web服務(wù)器:Tomcat·瀏覽器:IE6.0以上1) 數(shù)據(jù)庫及操作系統(tǒng):對于關(guān)鍵數(shù)據(jù)庫來說,選擇一個適宜數(shù)據(jù)庫系統(tǒng)對我們系統(tǒng)運行是很關(guān)鍵,選擇數(shù)據(jù)庫關(guān)鍵原因是要考慮估計會有多少人同時訪問數(shù)據(jù)庫;正常工作時間等級;用來訪問數(shù)據(jù)庫應(yīng)用程序類型;運行數(shù)據(jù)庫服務(wù)器硬件和操作系統(tǒng)類型和管理人員專業(yè)技術(shù)水平?,F(xiàn)在市場上適適用于中小型企業(yè)數(shù)據(jù)庫產(chǎn)品有IBMDB2、MicrosoftSQLServer系列,Oracle系列。全部這些產(chǎn)品全部基于SQL語言。同時,它們還擁有精度復(fù)雜安全控制以適應(yīng)不一樣商業(yè)需要。服務(wù)器操作系統(tǒng)使用WindowsServer考慮到價格原因、易用性,我們使用SQLServer作為系統(tǒng)后臺數(shù)據(jù)庫系統(tǒng),服務(wù)器操作系統(tǒng)采取WindowsServer。2)Web服務(wù)軟件:現(xiàn)在Web服務(wù)器軟件有很多個,成熟而且穩(wěn)定有Apache、Tomcat和MicrosoftIIS,它們占據(jù)著Web服務(wù)器市場最大份額。Tomcat是Sun和Apache合作推出JSPServer,支持Servlet2.2及JSP1.1等版本。而且Tomcat未來將會替換Jserv,成為Apache關(guān)鍵Servlet&JSPEngine。Tomcat在設(shè)計上是以獨立Server實施,而不像Jserv是附在Apche中,這么就更能夠在servlet中,發(fā)揮非HttpServlet能力。Tomcat是Java程序,所以只要有JDK就能夠使用,不需要考慮操作系統(tǒng)平臺。所以這里選擇Tomcat作為Web服務(wù)器。5.數(shù)據(jù)模型本系統(tǒng)數(shù)據(jù)模型設(shè)計內(nèi)容關(guān)鍵是進行數(shù)據(jù)庫設(shè)計。5.1數(shù)據(jù)庫概念結(jié)構(gòu)模型設(shè)計概念設(shè)計用來反應(yīng)現(xiàn)實世界中實體、屬性和它們之間關(guān)系等原始數(shù)據(jù)形式,建立數(shù)據(jù)庫每一幅用戶視圖。圖2-9是系統(tǒng)E-R圖。圖2-9系統(tǒng)E-R圖5.2數(shù)據(jù)庫邏輯結(jié)構(gòu)模型設(shè)計數(shù)據(jù)庫邏輯設(shè)計是將各局部E-R圖進行分解、合并后重新組織起來形成數(shù)據(jù)庫全局邏輯結(jié)構(gòu),包含所確定關(guān)鍵字和屬性、重新確定統(tǒng)計結(jié)構(gòu)、所建立各個數(shù)據(jù)之間相互關(guān)系。依據(jù)本系統(tǒng)需求分析,系統(tǒng)數(shù)據(jù)庫包含了醫(yī)生表、患者表、病歷統(tǒng)計表、預(yù)約統(tǒng)計表、管理員表、醫(yī)生最大可預(yù)約數(shù)表、醫(yī)生目前可預(yù)約數(shù)表。5.3數(shù)據(jù)庫物理結(jié)構(gòu)模型設(shè)計信息存放結(jié)構(gòu)設(shè)計在系統(tǒng)設(shè)計中至關(guān)關(guān)鍵,要考慮到數(shù)據(jù)冗余、系統(tǒng)實施效率、信息控制和維護等方面要求。信息管理離不開數(shù)據(jù)庫支持,我們采取MySQL數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)表具體結(jié)構(gòu)設(shè)計醫(yī)生表(doctor)具體設(shè)計結(jié)構(gòu)。字段名類型備注約束條件默認值DIDVARCHAR(5)醫(yī)生編號主鍵NameVARCHAR(12)姓名索引AgeTINYINT(3)UNSIGNED年紀0PasswordVARCHAR(41)密碼初始化:DIDSexTINYINT(3)UNSIGNED性別1-男0-女1LevelVARCHAR(12)醫(yī)生職稱SectionVARCHAR(20)所屬科室索引SpecialismVARCHAR(20)醫(yī)生擅長PhoneVARCHAR(15)聯(lián)絡(luò)電話
患者表(patient)具體結(jié)構(gòu)字段名類型備注約束條件默認值PIDMEDIUMINT(8)UNSIGNEDAUTO_INCREMENT患者編號主鍵NameVARCHAR(12)姓名UsernameVARCHAR(20)登錄用戶名惟一索引PasswordVARCHAR(41)密碼AgeTINYINT(3)UNSIGNED年紀0SexTINYINT(3)UNSIGNED性別1—男0—女1AddressTINYTEXT家庭住址PhoneVARCHAR(12)聯(lián)絡(luò)電話HistoryINTEGERUNSIGNED患者病歷
病歷表(history)具體結(jié)構(gòu)字段名類型備注約束條件默認值HIDINTUNSIGNED(10)AUTO_INCREMENT病歷統(tǒng)計編號主鍵DoctorVARCHAR(5)主治醫(yī)生編號索引DescriptionTINYTEXT癥狀DiagnoseTINYTEXT診療PatientMEDIUMINT(8)UNSIGNED患者編號索引0RxTINYTEXT處方FinishedTINYINT(1)UNSIGNED就診是否結(jié)束1-是2-否0FDateDATETIME開始時間SDateDATETIME結(jié)束時間預(yù)約統(tǒng)計表(pinqueue)具體結(jié)構(gòu)字段名類型備注約束條件默認值QIDINTUNSIGNED(10)AUTO_INCREMENT統(tǒng)計編號主鍵PatientMEDIUMINT(8)UNSIGNED患者編號索引0DoctorVARCHAR(5)主治醫(yī)生編號索引DayTINYINT(1)UNSIGNED預(yù)約就診時間0-周日1-周一2-周二3-周三4-周四5-周五6-周六0APTINYINT(1)UNSIGNED預(yù)約就診時間0-早晨1-下午0DateDATETIME預(yù)約時間
管理員表(administrator)具體結(jié)構(gòu)字段名類型備注約束條件默認值A(chǔ)IDTINYINT(2)UNSIGNEDAUTO_INCREMENT管理員編號主鍵UsernameVARCHAR(20)登錄時用戶名惟一索引PasswordVARCHAR(41)登錄時密碼EmailVARCHAR(20)電子郵件NameVARCHAR(12)姓名PhoneVARCHAR(15)聯(lián)絡(luò)電話可為空
醫(yī)生最大可預(yù)約數(shù)量表(appointment)具體結(jié)構(gòu)字段名類型備注約束條件默認值DIDVARCHAR(5)醫(yī)生編號主鍵SunATINYINT(3)UNSIGNED周日早晨最大可預(yù)約數(shù)0SunPTINYINT(3)UNSIGNED周日下午最大可預(yù)約數(shù)0MonATINYINT(3)UNSIGNED周一早晨最大可預(yù)約數(shù)0MonPTINYINT(3)UNSIGNED周一下午最大可預(yù)約數(shù)0TueATINYINT(3)UNSIGNED周二早晨最大可預(yù)約數(shù)0TuePTINYINT(3)UNSIGNED周二下午最大可預(yù)約數(shù)0WedATINYINT(3)UNSIGNED周三早晨最大可預(yù)約數(shù)0WedPTINYINT(3)UNSIGNED周三下午最大可預(yù)約數(shù)0ThuATINYINT(3)UNSIGNED周四早晨最大可預(yù)約數(shù)0ThuPTINYINT(3)UNSIGNED周四下午最大可預(yù)約數(shù)0FriATINYINT(3)UNSIGNED周五早晨最大可預(yù)約數(shù)0FriPTINYINT(3)UNSIGNED周五下午最大可預(yù)約數(shù)0SatATINYINT(3)UNSIGNED周六早晨最大可預(yù)約數(shù)0SatPTINYINT(3)UNSIGNED周六下午最大可預(yù)約數(shù)0
醫(yī)生目前可預(yù)約數(shù)量表(currappointment)具體結(jié)構(gòu)字段名類型備注約束條件默認值DIDVARCHAR(5)醫(yī)生編號主鍵SunATINYINT(3)UNSIGNED周日早晨最大可預(yù)約數(shù)0SunPTINYINT(3)UNSIGNED周日下午最大可預(yù)約數(shù)0MonATINYINT(3)UNSIGNED周一早晨最大可預(yù)約數(shù)0MonPTINYINT(3)UNSIGNED周一下午最大可預(yù)約數(shù)0TueATINYINT(3)UNSIGNED周二早晨最大可預(yù)約數(shù)0TuePTINYINT(3)UNSIGNED周二下午最大可預(yù)約數(shù)0WedATINYINT(3)UNSIGNED周三早晨最大可預(yù)約數(shù)0WedPTINYINT(3)UNSIGNED周三下午最大可預(yù)約數(shù)0ThuATINYINT(3)UNSIGNED周四早晨最大可預(yù)約數(shù)0ThuPTINYINT(3)UNSIGNED周四下午最大可預(yù)約數(shù)0FriATINYINT(3)UNSIGNED周五早晨最大可預(yù)約數(shù)0FriPTINYINT(3)UNSIGNED周五下午最大可預(yù)約數(shù)0SatATINYINT(3)UNSIGNED周六早晨最大可預(yù)約數(shù)0SatPTINYINT(3)UNSIGNED周六下午最大可預(yù)約數(shù)0
6.模塊設(shè)計根據(jù)功效分解,本系統(tǒng)分為用戶端管理系統(tǒng)和管理端系統(tǒng)。依據(jù)頁面流設(shè)計,管理端系統(tǒng)又分為用戶登錄、用戶管理、題庫管理、問卷管理、職位公布、簡歷管理、面試管理等7個模塊,圖2-12所表示。圖2-12模塊設(shè)計
第三章醫(yī)院患者管理系統(tǒng)具體設(shè)計1.導(dǎo)言1.1目標該文檔目標是描述《醫(yī)院患者掛你系統(tǒng)系統(tǒng)》項目標具體設(shè)計,其關(guān)鍵內(nèi)容包含:·系統(tǒng)功效介紹;·系統(tǒng)具體設(shè)計簡述;·各個模塊三層劃分;本文檔預(yù)期讀者是:·開發(fā)人員;·項目管理人員;·測試人員。1.2范圍該文檔定義了系統(tǒng)各個模塊和模塊接口,但未確定單位具體實現(xiàn),這部分內(nèi)容將在程序?qū)崿F(xiàn)中確定。1.3編寫說明JSP:JavaServerPage(Java服務(wù)器頁面)縮寫,一個腳本化語言。MVC:Model-View-Control(模式—視圖—控制)縮寫,表示一個三層結(jié)構(gòu)體系。1.4術(shù)語定義Struct:一個框架體系結(jié)構(gòu)。1.6版本更新信息本文檔版更新統(tǒng)計如表3—1所列。表C-1版本更新統(tǒng)計修改編號修改日期修改后版本修改位置修改內(nèi)容概述00全部初始公布版本2.系統(tǒng)設(shè)計概述依據(jù)《醫(yī)院患者管理系統(tǒng)系統(tǒng)》概要設(shè)計,本系統(tǒng)根據(jù)功效分解,能夠分為用戶端子系統(tǒng)和管理端子系統(tǒng)。它們關(guān)系圖3-1所表示,以下將對各個部分分別進行具體設(shè)計。圖3-1系統(tǒng)結(jié)構(gòu)圖3.具體設(shè)計概述因為本系統(tǒng)采取了基于struct體系結(jié)構(gòu)設(shè)計,即MVC三層設(shè)計模式,并采取面向?qū)ο驤ava語言和JSP腳本語言實現(xiàn)。在整個開發(fā)過程中,盡可能采取復(fù)用標準,比如采取標簽庫,統(tǒng)一數(shù)據(jù)庫基礎(chǔ)操作,統(tǒng)一結(jié)果顯示等。本文檔具體設(shè)計關(guān)鍵地根據(jù)structMVC三個層次分別編制視圖層、控制層和模型層模塊偽代碼,為下一步編碼提供基礎(chǔ)。偽代碼(Pseudocode)是一個算法描述語言。使用偽代碼目標是為了使被描述算法能夠輕易地以任何一個編程語言實現(xiàn)。所以,偽代碼必需結(jié)構(gòu)清楚,代碼簡單,可主動性好,而且類似自然語言。4用戶端模塊設(shè)計用戶端運行在公用網(wǎng)上,患者者能夠查看可預(yù)約醫(yī)生信息信息。當(dāng)患者期望預(yù)約某位醫(yī)生時,填寫自己基礎(chǔ)信息,后完成預(yù)約。預(yù)約信息提交后能夠查看自己預(yù)約信息。用戶端頁面設(shè)計如表3-1所列。表3-1用戶端頁面設(shè)計界面JSP功效描述主頁面main.jsp用戶端主頁面患者注冊register.jsp患者完成注冊醫(yī)生信息getDoctorInfo.jsp顯示某醫(yī)生信息病例信息getHistory.jsp顯示自己病例信息登錄login.jsp患者登錄取消預(yù)約cancleAppointment.jsp患者取消預(yù)約主治醫(yī)生信息getCurrentDoctorInfo.jsp顯示患者主治醫(yī)生信息登出logout.jsp患者用戶注銷代碼示例:4.1患者預(yù)約<%@pagecontentType="text/html;charset=gbk"%><%@includefile="../include/ccs.inc"%><%@pageimport="hospital.db.dboperation.*"%><%@pageimport="hospital.db.*"%><%@pageimport="java.sql.*"%><%@includefile="../include/ccs.inc"%><html><head><title>醫(yī)院患者管理系統(tǒng)-預(yù)約</title></head><%intday=Integer.parseInt(request.getParameter("day"));intap=Integer.parseInt(request.getParameter("ap"));Stringdid=request.getParameter("did");String_makeAppointment="";Patientpatient=(Patient)session.getAttribute("patient");if(patient==null) _makeAppointment="請先<ahref=\"/hospital/patient/login.jsp\">登錄</a>";else{ intm=patient.makeAppointment(did,day,ap); switch(m){ case1: _makeAppointment="預(yù)約成功"; break; case0: _makeAppointment="通常異常"; break; case-1: _makeAppointment="數(shù)據(jù)庫異常"; break; case-2: _makeAppointment="已預(yù)約"; break; case-3: _makeAppointment="輸入信息有誤"; break; }}%><bodybgcolor="#FFFFFF"><tablewidth="770"height="423"border="0"align="center"cellpadding="0"cellspacing="1"bgcolor="#000000"> <tr> <tdheight="421"bgcolor="#FFFFFF"> <%@includefile="../include/head.inc"%> <tablewidth="770"height="290"border="0"align="center"cellpadding="0"cellspacing="0"> <tr> <%@includefile="../include/patient.inc"%> <tdwidth="603"align="center"valign="top"> <tablewidth="100%"height="85%"border="0"cellpadding="3"cellspacing="1"bgcolor="#666666"> <tr> <tdwidth="488"height="257"align="center"valign="top"bgcolor="E3EDFF"><br> <p><strong><%=_makeAppointment%></strong></p> </td> </tr> </table> </td> </tr> </table> </td> </tr></table></body></html><%if(patient!=null) patient.closeConnection();%>4.2查詢病例<%@pagecontentType="text/html;charset=gbk"%><%@includefile="../include/ccs.inc"%><%@pageimport="hospital.db.dboperation.*"%><%@pageimport="hospital.db.*"%><%@pageimport="java.sql.*"%><%@includefile="../include/ccs.inc"%><html><head><title>醫(yī)院患者管理系統(tǒng)-病歷查詢</title></head><%Patientpatient=(Patient)session.getAttribute("patient");String_getHistory="";ResultSetrs=null;if(patient==null) _getHistory="請先<ahref=\"/hospital/patient/login.jsp\">登錄</a>";else{intg=patient.getHistory();switch(g){ case1: _getHistory="查詢成功"; rs=patient.getResultSet(); break; case0: _getHistory="通常異常"; break; case-1: _getHistory="數(shù)據(jù)庫異常"; break;}}%><bodybgcolor="#ffffff"><tablewidth="770"height="423"border="0"align="center"cellpadding="0"cellspacing="1"bgcolor="#000000"> <tr> <tdheight="421"bgcolor="#FFFFFF"> <%@includefile="../include/head.inc"%> <tablewidth="770"height="290"border="0"align="center"cellpadding="0"cellspacing="0"> <tr> <%@includefile="../include/patient.inc"%> <tdwidth="603"align="center"valign="top"> <tablewidth="100%"height="85%"border="0"cellpadding="3"cellspacing="1"bgcolor="#666666"><tr> <tdwidth="100%"height="257"align="center"valign="top"bgcolor="E3EDFF"><br> <p><strong><%=_getHistory%></strong></p> <tablewidth="100%"> <tr> <th>醫(yī)生編號</th> <th>癥狀</th> <th>診療</th> <th>處方</th> <th>診療是否結(jié)束</th> <th>診療開始時間</th> <th>診療結(jié)束時間</th> </tr> <%while(rs!=null&&rs.next()){%> <tralign="center"> <td><%=rs.getString("Doctor")%></td> <td><%=Util.decode(rs.getString("Description"))%></td> <td><%=Util.decode(rs.getString("Diagnose"))%></td> <td><%=Util.decode(rs.getString("Rx"))%></td> <td><%=rs.getInt("Finished")%></td> <td><%=rs.getDate("SDate")%></td> <td><%=rs.getDate("FDate")%></td> </tr> <%}%> </table> </td> </tr> </table> </td> </tr> </table></td> </tr></table></body></html><%if(patient!=null) patient.closeConnection();%>5管理員端模塊設(shè)計界面JSP功效描述主頁面main.jsp用戶端主頁面患者注冊register.jsp患者完成注冊醫(yī)生信息getDoctorInfo.jsp顯示某醫(yī)生信息病例信息getHistory.jsp顯示自己病例信息登錄login.jsp患者登錄取消預(yù)約cancleAppointment.jsp患者取消預(yù)約主治醫(yī)生信息getCurrentDoctorInfo.jsp顯示患者主治醫(yī)生信息登出logout.jsp患者用戶注銷6醫(yī)生端模塊設(shè)計界面JSP功效描述主頁面main.jsp醫(yī)生端主頁面患者病例getPatientHistory.jsp患者完成注冊預(yù)約患者信息getPatientInQueue.jsp查詢預(yù)約患者信息病例信息getHistory.jsp顯示自己病例信息登錄login.jsp患者登錄修改病歷updateHistory.jsp修改病歷信息更改密碼updatePassword.jsp醫(yī)生修改密碼登出logout.jsp患者用戶注銷7數(shù)據(jù)庫基礎(chǔ)操作全部模塊全部需要進行數(shù)據(jù)庫操作,應(yīng)該有一個通用、高質(zhì)量數(shù)據(jù)庫操作模塊,其實全部模型層模塊也全部在調(diào)用這個模塊。 13.配置文件Struct應(yīng)用采取兩個基于XML配置文件來配置應(yīng)用,這兩個配置文件為web.xml和strcut-config.xml。web.xml適適用于全部JavaWeb應(yīng)用,它是Web應(yīng)用公布描述文件,在JavaServlet規(guī)范中對它做了定義,對于struct應(yīng)用,在web.xml文件中除了配置JavaWeb應(yīng)用常規(guī)信息,還應(yīng)該配置和struct相關(guān)特殊信息。strcut-config.xml是struct應(yīng)用專有配置文件,實際上,也能夠依據(jù)需要將這個配置文件換為其它文件名。下面給出本項目中web.xml配置文件和strcut-config.xml配置文件配置步驟和范圍,在編碼實施過程中,由開發(fā)經(jīng)理指派專員負責(zé)全部文件具體配置和協(xié)調(diào)。13.1web.xml配置文件下面講述web.xml配置文件配置步驟和范圍。1)配置structActionServlet:在web.xml中配置ActionServlet,關(guān)鍵包含申明ActionServlet(即配置<Servlet>元素)、運行時環(huán)境初始化配置(即配置<Servlet>元素<init-param>子元素)和指定ActionServlet能夠處理哪些URL(即配置<Servlet-mapping>元素)。比如:<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.structs.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struct-config.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern><servlet-mapping>2)配置歡迎文件清單:當(dāng)用戶訪問Web應(yīng)用時,假如沒有指定具體文件名,Web容器能夠自動調(diào)用Web應(yīng)用歡迎文件。<welcome-file-list>元素用來設(shè)置歡迎文件清單。比如:<welcome-file-list><welcome-file>index.jsp</welcome-file><welcome-file>login.jsp</welcome-file></welcome-file-list>3)配置錯誤處理:在系統(tǒng)運行過程中假如錯誤發(fā)生而Struct框架不能處理這種錯誤時,就將錯誤拋給Web容器,為了避免讓用戶看到原始錯誤信息,能夠配置<error>元素及其子元素<error-code>和<exception-type>等。比如:<error><error-code>404</error-code><location>/common/404.jsp</location></error><error><exception-type>java.io.IOException</exception-type><location>/common/system_ioerror.jsp</location></error>4)配置標簽庫:Struct框架提供了部分實用用戶化標簽庫,假如在應(yīng)用中使用了標簽庫,那么必需在配置<taglib>元素中配置,它有兩個子元素,<taglib-url>和<taglib-location>。比如:<taglib><taglb-url>/WEB-INF/structs-bean.tld</taglib-url><taglib-location>/WEB-INF/structs-bean.tld</taqlib-location></taglib>13.2struct-config.xml配置文件Struct框架在開啟時候會讀入其配置文件,依據(jù)它來創(chuàng)建和配置多種組件。Struct配置文件使得開發(fā)者能夠靈活地組裝和配置各個組件,提升了應(yīng)用軟件可擴展性和靈活性。<structs-config>有8個子元素:·<data-sources>;·<form-beans>;·<global-exceptions>;·<global-forwards>;·<action-mappings>;·<controller>;·<message-resources>;·<plug-in>.在配置文件中,必需根據(jù)這個前后次序來配置各個子元素。1)<data-sources>元素:<data-sources>元素用來配置應(yīng)用所需要數(shù)據(jù)源,數(shù)據(jù)源負責(zé)建立和特定數(shù)據(jù)庫連接。<data-sources>元素包含零個或多個<data-sources>子元素,它配置特定數(shù)據(jù)源,能夠包含多個<set-property>。比如:<data-sources><data-sourcekey=“sqlserver”type=“mons.dbcp.jdbc.sqlserver.SQLServerDriver”/><set-propertyproperty=“driverClassName”value=“com.microsoft.jdbc.sqlserver.SQLServerDriver”/><set-propertyproperty=“url”value=“jdbc:Microsoft:sqlserver://:1433;DatabaseName=onlineCV”/><set-propertyproperty=“MaxACTIVE”VALUE=“5/”><set-propertyproperty=“username”value=“sa”/><set-propertyproperty=“password”value=“xiaobo633601”<set-propertyproperty=“autoCommit”value=“true”/></data-source></data-sources>2)<form-beans>元素:<form-beans>元素用來配置多個ActionFormBean。<form-beans>元素包含零個或多個<form-beans>子元素,每個<form-beans>元素又包含多個屬性。比如:<form-beans><form-beanname=“AddJobForm”type=“org.apache.structs.action.DynaActionForm”><form-propertyname=“JobName”type=“java.lang.String”/><form-propertyname=“pubDate”type=“java.lang.String”/><form-propertyname=“EndDate”type=“java.lang.String”/><form-propertyname=“Requirements”type=“java.lang.String”/><form-propertyname=“Description”type=“java.lang.String”/><form-propertyname=“JobNum”type=“java.lang.Integer”/><form-beans><form-beanname=“JobDetailForm”type=“org.apache.structs.action.DynaActionForm”><form-propertyname=“JobID”type=“java.lang.Integer”/><form-propertyname=“JobName”type=“java.lang.String”/><form-propertyname=“PubDate”type=“java.lang.String”/><form-propertyname=“EndDate”type=“java.lang.String”/><form-propertyname=“Description”type=“java.lang.String”/><form-propertyname=“Requiremente”type=“java.lang.String”/><form-propertyname=“JobNum”type=“java.lang.Integer”/><form-bean><form-beans>3)<global-exceptions>元素:<global-exceptions>元素用于配置異常處理,<global-exceptions>元素能夠包含零個或多個<exception>元素。比如:<global-exceptions><exception>Key=“error.invalidlogin”Path=“com/relogin.jsp”Scope=“request”<Type=“netstore.framework.exceptions.InvalidLoginException”/><global-exceptions>4)<global-forwards>元素:<global-forwards>元素用來申明全局轉(zhuǎn)發(fā)關(guān)系,實現(xiàn)Web組件之間相互轉(zhuǎn)發(fā)。<global-forwards>元素由零個或多個<forwards>元素組成。<forwards>元素用于將一個邏輯名映射到特定URL,這么Action類或JSP文件無須指定實際URL,減弱了控制組件和視圖組件之間耦合。比如:<gloal-forwards><forwardname=“toaddjobpre”path=“position/addjob.jsp”/><forwardname=“tojobdetail”path=“position/jobdetail.jsp”/><forwardname=“tojobsearch”path=“position/jspsearchetail.jsp”/><forwardname=“toaddjob”path=“position/joblist.do”/><forwardname=“towrong”path=“position/wrong.jsp”/><forwardname=“tojoblist”path=“position/joblist.jsp”/><forwardname=“tomodifyjob”path=“position/modifyjob.jsp”/><forwardname=“toaddjobvalueexampre”path=“position/selectexam.jsp”/><forwardname=“toaddjobvalueexam”path=“position/addjob.jsp”/><forwardname=“toreturn”path=“position/addjobl.jsp”/><forwardname=“toaddjobexampre”path=“position/selectjobexam.jsp”/><forwardname=“toaddjobexam”path=“position/addjobl.jsp”/><forwardname=“toaddjobexam”path=“position/addjobl.jsp”/><forwardname=“toaddfulljob”path=“position/joblist.do”/><forwardname=“tomodifyjobsubmit”path=“position/joblist.do”/><forwardname=“toupdate”path=“position/addjobl.jsp”/><forwardname=“todeljob”path=“position/joblist.do”/><forwardname=“toupdatemodifyjsp”path=“position/modifyjobsubmit.jsp”/><forwardname=“tomodifyjobvalueexampre”path=“position/modifyselectvalueexam.jsp”/><forwardname=“toomodifyjobexampre”path=“position/modifyselectexam.jsp”/><forwardname=“tomodifyjobvalueexam”path=“position/modifyjobsubmit.jsp”/><forwardname=“tomodifyjobexam”path=“position/modifyjobsubmit.jsp”/><forwardname=“tomodifyupdatejobexam”path=“position/modifyjobsubmit.jsp”/><forwardname=“tomodifydeljobexam”path=“position/modifyjobsubmit.jsp”/><gloal-forwards>5)<action-mappings>元素:<action-mappings>元素包含零個或多個<action>元素,<action>元素描述了從特定請求路徑到對應(yīng)Action類映射。<action>元素能夠包含多個<exception>和<forward>子元素,它們分別配置局部異常處理及請求轉(zhuǎn)發(fā),僅被目前Action所訪問。比如:<action-mappings><actionattribute=“JobDetailForm”name=“JobDetailForm”path=“/position/jobdetail”scope=“request”type=“com.changjiangcompany.structs.action.JobDetailAction”></action><actionattribute=“JobSearchForm”input=“position/joblist.jsp”name=“JobSearchForm”path=“position/jobsearch”scope=“request”type=“com.changjiangcompany.structs.action.JobSearchAction”></action><action-mappings>6)<contoller>元素:<contoller>元素用于配置ActionServlet。比如:<controllerprocessorClass=“share.MyRequestProcessor/”>7)<message-resources>元素:<message-resources>元素用于配置ResourceBundle,ResourceBundle用于存放當(dāng)?shù)鼗⑽谋尽1热纾?lt;message-resourcesparameter=“com.yourcompany.structs.ApplicationResources”/>8)<plug-in>元素:<plug-in>元素用于配置structs插件,假如沒有插件能夠不寫。
第四章醫(yī)院患者管理系統(tǒng)編碼實現(xiàn)1.編碼格式規(guī)范1.1縮進排版4個空格作為縮進排版一個單位。1.2行工度盡可能避免一行長度超出80個字符,用于文檔中例子應(yīng)該使用更短行長,長度通常不超出70個字符。1.3空行空行將邏輯相關(guān)代碼段分隔開,以提升可讀性。下列情況應(yīng)該總是使用兩個空行:·一個源文件兩個片段(section)之間;·類申明和接口申明之間。下列情況應(yīng)該總是使用一個空行:·兩個方法之間;·方法內(nèi)局部變量和方法第一條語句之間;·塊注釋或單行注釋之前;·一個方法內(nèi)兩個邏輯段之間,用以提升可讀性。2.命名規(guī)范命名規(guī)范使程序更易讀,從而更易于了解。它們也能夠提供部分相關(guān)標識符功效信息,以助于了解代碼。2.1包(Packages)Hospital.admin.模塊名.功效此次寫內(nèi)容2.2類(Classes)類名是一個名詞,采取大小寫混合方法,每個單詞首字母大寫。盡可能使你類名簡練而富于描述。使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)。2.3接口(Interfaces)大小寫規(guī)則和類名相同。2.4方法(Methods)方法名是一個動詞,采取大小寫混合方法,第一個單詞首字母大寫,其后單詞首字母大寫。2.5變量(Variabies)采取大小寫混合方法,第一個單詞首字母小寫,其后單詞首字母大寫。變量名不應(yīng)以下劃線或美元符號開頭,盡管這在語法上是許可。變量名應(yīng)簡短且富于描述。變量名選擇應(yīng)該易于記憶,即,能夠指出其用途。盡可能避免單個字符變量名,除非是一次性臨時變量。臨時變量通常被取名為i,j,k,m和n,它們通常見于整形;c,d,e,它們通常見于字符型。3.申明規(guī)范3.1每行申明變量數(shù)量推薦一行一個申明,因為這么以利于寫注釋。亦即:Intleve1;//indentationleve1Intsize;//sizeoftable4.目錄規(guī)范開發(fā)環(huán)境是MyEclipse,開發(fā)以后代碼需要布署到Tomcat服務(wù)器環(huán)境上。所以開發(fā)環(huán)境目錄結(jié)構(gòu)和運行環(huán)境目錄結(jié)構(gòu)是一致,只是在布署運行環(huán)境中,能夠不設(shè)置源代碼目錄。各個目錄說明以下:teacher老師模塊login登錄模塊admin管理員模塊departmentchoose登錄選擇模塊5.代碼實例5.1添加醫(yī)生賬戶<%@pagecontentType="text/html;charset=gbk"%><%@includefile="../include/ccs.inc"%><%@pageimport="hospital.db.dboperation.*"%><%@pageimport="hospital.db.*"%><%@pageimport="java.sql.*"%><html><head><title>醫(yī)院患者管理系統(tǒng)系統(tǒng)-添加醫(yī)生帳戶</title></head><%String_addDoctor="";intage=0,sex=0,spDays[]=newint[14];Stringdid="",name="",level="",spe="",section="",spt="",phone="";;Adminadmin=(Admin)session.getAttribute("admin");if(admin==null) _addDoctor="<ahref=\"login.jsp\">請先登錄</a>";else{if(request.getParameter("add")!=null){ age=Integer.parseInt(request.getParameter("age")); name=request.getParameter("name"); sex=Integer.parseInt(request.getParameter("sex")); did=request.getParameter("did"); level=request.getParameter("level"); section=request.getParameter("section"); spe=request.getParameter("spe");
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一次性竹制餐具供貨與可持續(xù)資源開發(fā)合同2篇
- 幼兒園教研工作制度模版(2篇)
- 人力資源助理的工作職責(zé)(2篇)
- 2025年小學(xué)班主任德育計劃例文(2篇)
- 幼兒園幼兒膳食管理制度范文(2篇)
- 2025年英語教師工作計劃模版(3篇)
- 夏季汛期安全工作方案(2篇)
- 教職工上下班工作制度(2篇)
- 二零二五年度快遞代理權(quán)轉(zhuǎn)讓與業(yè)績考核合同范本3篇
- 2025年幼兒園衛(wèi)生保健工作計劃例文(二篇)
- 合肥市建筑行業(yè)施工安全生產(chǎn)標準化示范工地評選辦法
- 2025年度航空航天材料研發(fā)與應(yīng)用技術(shù)服務(wù)合同2篇
- AEO貿(mào)易安全培訓(xùn)
- 2025年中國財產(chǎn)險行業(yè)市場深度分析及發(fā)展趨勢預(yù)測報告
- 巨量信息流廣告(初級)營銷師認證考試題及答案
- 上海市12校2025屆高三第一次模擬考試英語試卷含解析
- 重慶市渝中區(qū)2023-2024學(xué)年八年級上學(xué)期期末考試數(shù)學(xué)試題含答案及解析
- 【MOOC】教學(xué)研究的數(shù)據(jù)處理與工具應(yīng)用-愛課程 中國大學(xué)慕課MOOC答案
- 0-3歲嬰幼兒心理發(fā)展知到智慧樹期末考試答案題庫2024年秋杭州師范大學(xué)
- (正式版)QB∕T 8049-2024 家用和類似用途微壓富氧艙
- (完整版)宴會預(yù)定單
評論
0/150
提交評論