醫(yī)院藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第1頁(yè)
醫(yī)院藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第2頁(yè)
醫(yī)院藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第3頁(yè)
醫(yī)院藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第4頁(yè)
醫(yī)院藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本科生畢業(yè)論文(設(shè)計(jì))本科生畢業(yè)論文(設(shè)計(jì)) 題 目: 鶴壁煤礦集團(tuán)醫(yī)院藥品管理系統(tǒng) 的設(shè)計(jì)與實(shí)現(xiàn) 姓 名: 王 洋 學(xué) 院: 信息科學(xué)技術(shù)學(xué)院 專(zhuān) 業(yè): 網(wǎng)絡(luò)工程 班 級(jí): 網(wǎng)絡(luò)工程 102 班 學(xué) 號(hào): 19310204 指導(dǎo)教師: 朱淑鑫 職稱(chēng): 講師 2014 年 5 月 20 日 南京農(nóng)業(yè)大學(xué)教務(wù)處制 目錄 摘要 1 1緒論 .2 1.1 選題背景 2 1.2 當(dāng)前研究現(xiàn)狀 2 1.3 選題的目的和意義 2 2需求分析 .2 2.1 可行性分析 4 2.1.1 技術(shù)可行性. 4 2.1.2 開(kāi)發(fā)環(huán)境可行性.4 2.1.3 運(yùn)行可行性.4 2.2 需求分析 4 3總體設(shè)計(jì) .9 3.1 系統(tǒng)模塊設(shè)計(jì) 9 3.1.1 系統(tǒng)功能模塊設(shè)計(jì).9 3.1.2 系統(tǒng)功能模塊描述.9 3.1.3 系統(tǒng)主要功能的 uml 順序圖表示 10 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì) .13 3.2.1 系統(tǒng)數(shù)據(jù)分析13 3.2.2 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)16 4系統(tǒng)詳細(xì)設(shè)計(jì) 19 4.1 系統(tǒng)運(yùn)行環(huán)境的設(shè)置 .19 4.1.1 系統(tǒng)需求的硬件環(huán)境19 4.1.2 系統(tǒng)需求的軟件環(huán)境19 4.2 開(kāi)發(fā)環(huán)境介紹 .19 4.2.1 軟件開(kāi)發(fā)工具19 4.2.2 數(shù)據(jù)庫(kù)開(kāi)發(fā)工具20 4.2.3 相關(guān)開(kāi)發(fā)技術(shù)簡(jiǎn)介20 4.3 系統(tǒng)主界面設(shè)計(jì) .21 4.3.1 用戶(hù)登錄界面設(shè)計(jì)21 4.3.2 主程序界面設(shè)計(jì)22 4.4 藥品入庫(kù)管理模塊設(shè)計(jì) .23 4.4.1 首次入庫(kù)模塊23 4.4.2 追加入庫(kù)模塊25 4.4.3 入庫(kù)記錄查詢(xún)模塊設(shè)計(jì)26 4.5 藥品銷(xiāo)售相關(guān)模塊設(shè)計(jì) .28 4.6 查詢(xún)明細(xì)模塊設(shè)計(jì) .30 4.6.1 藥庫(kù)明細(xì)查詢(xún)模塊30 4.6.2 藥品緊缺查詢(xún)模塊31 4.7 藥品退貨模塊設(shè)計(jì) .32 4.8 廠商模塊設(shè)計(jì) .33 4.8.1 廠商信息管理模塊33 4.8.2 廠商黑名單管理模塊35 5系統(tǒng)測(cè)試和應(yīng)用 37 5.1 系統(tǒng)測(cè)試 .37 5.1.1 單元測(cè)試37 5.1.2 集成測(cè)試37 5.2 開(kāi)發(fā)測(cè)試的難點(diǎn)及解決方法 .38 5.2.1 漢字自動(dòng)轉(zhuǎn)換拼音38 5.2.2 數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程中實(shí)現(xiàn)模糊查詢(xún)38 5.3 系統(tǒng)應(yīng)用說(shuō)明 .39 5.3.1 信息設(shè)置模塊39 5.3.2 入庫(kù)信息管理模塊39 5.3.3 銷(xiāo)售管理模塊40 6結(jié)論 41 6.1 總結(jié) .41 6.2 不足和展望 .41 致謝 .42 參考文獻(xiàn) .42 0 鶴壁煤礦集團(tuán)醫(yī)院藥品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 網(wǎng)絡(luò)工程專(zhuān)業(yè) 王洋 指導(dǎo)教師 朱淑鑫 摘要:隨著迅速發(fā)展的計(jì)算機(jī)技術(shù),多數(shù)醫(yī)院為了節(jié)約資源,提高工作效率,開(kāi)始逐步利用計(jì)算機(jī) 軟件來(lái)輔助管理。本文首先闡述了醫(yī)院藥品管理系統(tǒng)的開(kāi)發(fā)背景、可行性分析及需求分析,并利用 uml 模型圖的方式形象地描述了系統(tǒng)內(nèi)各個(gè)對(duì)象之間的關(guān)系。接著利用數(shù)據(jù)庫(kù) e-r 圖表示了數(shù)據(jù) 庫(kù)設(shè)計(jì)模式及數(shù)據(jù)表的結(jié)構(gòu),并簡(jiǎn)要介紹了系統(tǒng)開(kāi)發(fā)的環(huán)境配置。最后,利用各個(gè)模塊設(shè)計(jì)及測(cè)試 的截圖和說(shuō)明文字相結(jié)合的方式,詳細(xì)闡述了本系統(tǒng)主要模塊的設(shè)計(jì)和測(cè)試過(guò)程。最終在各項(xiàng)工作 完成的前提下,使用 c#.net 語(yǔ)言開(kāi)發(fā)了具有藥品管理、藥品銷(xiāo)售、明細(xì)查詢(xún)等多功能管理系統(tǒng)。 關(guān)鍵詞:藥品管理;數(shù)據(jù)庫(kù);系統(tǒng)開(kāi)發(fā);visual c# design of hebi colliery hospital medicine management system student majoring in network engineering wang yang tutor zhu shuxin abstract: with the rapid development of computer technology, the hospital in order to save resources, improve work efficiency, gradually increasing use of computer management software. first of all, this paper describes the development background of hospital medicine management systems, feasibility analysis and demand analysis, and using uml model diagram describes the relationship between the individual objects within the system. then the database e-r diagram shows the structure of the database design patterns and data tables, and briefly describes the system development environment configuration. at the end of the paper, the use of the design and testing of each module screenshots and captions combination, expounds in detail the design and testing process of main modules of this system. key words: medicine management; database; system development; visual c# 1 1 緒論 1.1 選題背景 隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,人們經(jīng)濟(jì)水平的提高,不少負(fù)面的問(wèn)題也漸漸出現(xiàn), 其中以各類(lèi)疾病的產(chǎn)生為首要難題,這同樣加大了醫(yī)院保衛(wèi)人們健康的責(zé)任。相比現(xiàn) 代高效率的工作方式,傳統(tǒng)醫(yī)院的手工作業(yè)形式,不僅工作繁瑣,而且人為處理錯(cuò)誤 率較高,這不但給醫(yī)院造成了一定損失,對(duì)病人的病情也有不利影響。計(jì)算機(jī)技術(shù)的 高速發(fā)展使得人們開(kāi)始越來(lái)越多地利用它來(lái)解決各種繁瑣的問(wèn)題。藥品管理系統(tǒng)利用 計(jì)算機(jī)實(shí)現(xiàn)了對(duì)醫(yī)院藥庫(kù)及藥品的各項(xiàng)管理,以往那些工作繁瑣、容易出錯(cuò)的數(shù)據(jù)處 理問(wèn)題可以讓計(jì)算機(jī)來(lái)替代人工進(jìn)行,這不僅極大地減輕了管理人員的工作負(fù)擔(dān),而 且藥物的管理記錄也可以隨時(shí)查詢(xún),讓藥物的管理更加透明化。 1.2 研究現(xiàn)狀 計(jì)算機(jī) 80 年代初就被引進(jìn)了我國(guó)醫(yī)療系統(tǒng),當(dāng)時(shí)以 ibm 公司的 m340 小型計(jì)算機(jī) 為主流,大多數(shù)應(yīng)用在教學(xué)和科研項(xiàng)目。80 年代中期,伴隨著蘋(píng)果個(gè)人電腦的上市和 basic 語(yǔ)言的廣泛使用,一部分醫(yī)院開(kāi)始研發(fā)小型的系統(tǒng)管理軟件,如人事管理軟件 等;80 年代后期,隨著 xt286 計(jì)算機(jī)的出現(xiàn),加之 dbaselll 和 unix 操作系統(tǒng)的研 發(fā)成功,一部分醫(yī)院開(kāi)始建立小型的內(nèi)部網(wǎng)絡(luò),并開(kāi)發(fā)了關(guān)于部門(mén)之間管理的信息系 統(tǒng),如病房管理,藥房管理等。進(jìn)入 90 年代后,novell 網(wǎng)和 foxbase 等數(shù)據(jù)庫(kù) 迅速發(fā)展,完善的醫(yī)院管理系統(tǒng)的實(shí)現(xiàn)成為可能,于是一部分有實(shí)力的醫(yī)院開(kāi)始研發(fā) 自己醫(yī)院的管理系統(tǒng)。 隨著我國(guó)醫(yī)藥事業(yè)的發(fā)展,我國(guó)藥品管理方面發(fā)展相對(duì)滯后的實(shí)際情況卻與此不 相符合,雖然有技術(shù)人員不斷開(kāi)發(fā)出新的藥品管理系統(tǒng)供醫(yī)院使用,但受到開(kāi)發(fā)周期 等諸多因素的影響,藥品系統(tǒng)管理軟件的發(fā)展仍舊落后于藥品的發(fā)展,總結(jié)下來(lái)有如 下幾點(diǎn):(1)老版本的數(shù)據(jù)庫(kù)軟件安全性不高,讀取、修改信息時(shí)錯(cuò)誤率較高,甚至 會(huì)導(dǎo)致數(shù)據(jù)丟失,造成巨大損失。 (2)工作負(fù)荷方面,原有的系統(tǒng)因?yàn)閿?shù)據(jù)庫(kù)表的限 制及當(dāng)時(shí)開(kāi)發(fā)需求的限制,已經(jīng)無(wú)法滿(mǎn)足管理人員的需求。 (3)局限性方面,現(xiàn)有的 操作系統(tǒng)在處理速度和兼容性上已經(jīng)適應(yīng)不了實(shí)際的需要,由于平臺(tái)的更新,對(duì)現(xiàn)有 系統(tǒng)的改進(jìn)性維護(hù)已不能解決面臨的問(wèn)題。 (4)由于醫(yī)療用品的發(fā)展,各種先進(jìn)醫(yī)療 器械的出現(xiàn),醫(yī)院對(duì)管理方面的不斷改革,現(xiàn)有系統(tǒng)已無(wú)法滿(mǎn)足要求。 進(jìn)入 21 世紀(jì)后,特別是 2003 年 sars 災(zāi)難過(guò)后,我國(guó)的醫(yī)療衛(wèi)生系統(tǒng)開(kāi)始真正 意識(shí)到醫(yī)院信息系統(tǒng)的重要性,并開(kāi)始著手進(jìn)行系統(tǒng)的深入研究和推廣應(yīng)用1。 1.3 選題的目的和意義 在現(xiàn)今醫(yī)療技術(shù)高速發(fā)展的前提下,純?nèi)斯や浫牖蛟缙诤?jiǎn)單的藥品管理軟件逐漸 不能滿(mǎn)足用戶(hù)的要求,落后的系統(tǒng)間接影響了醫(yī)院管理人員的工作效率, 基于以上的 幾點(diǎn)原因,本次畢業(yè)設(shè)計(jì)提出了藥品管理系統(tǒng)的設(shè)計(jì)目標(biāo)。 藥品管理系統(tǒng)使醫(yī)院管理趨于信息化,同時(shí)讓藥庫(kù)管理人員能簡(jiǎn)便地利用藥庫(kù)信 息做出正確的判斷,更重要的是計(jì)算機(jī)作為管理工具可以讓藥庫(kù)管理更加規(guī)范化,并 提高管理效率,減少管理人員的工作量,使藥品管理可以有條不紊地進(jìn)行下去。 2 2 需求分析 可行性分析 在軟件的開(kāi)發(fā)流程中,可行性分析是一種普遍采用的研究項(xiàng)目工程的方法。它通 過(guò)各種有效的手段對(duì)工程項(xiàng)目進(jìn)行分析,從技術(shù)、運(yùn)行等多個(gè)方面加以評(píng)價(jià)。 2.1.1 技術(shù)可行性 本系統(tǒng)開(kāi)發(fā)使用的是當(dāng)前流行的 visual c#.net 語(yǔ)言,該語(yǔ)言直觀規(guī)范,初學(xué)者也 可以很好的使用該語(yǔ)言來(lái)進(jìn)行系統(tǒng)開(kāi)發(fā)。而且,使用該語(yǔ)言開(kāi)發(fā)的軟件適用范圍很廣, 可以很好地應(yīng)用于安裝有 windows 平臺(tái)的計(jì)算機(jī)上,所以從技術(shù)方面是可行的。 2.1.2 開(kāi)發(fā)環(huán)境可行性 從軟件系統(tǒng)開(kāi)發(fā)的可行性和靈活性考慮,本系統(tǒng)的軟件開(kāi)發(fā)環(huán)境選擇了當(dāng)前流行 的 visual c#.net 語(yǔ)言來(lái)進(jìn)行前臺(tái)的開(kāi)發(fā),而后臺(tái)則選用了功能強(qiáng)大的 sql server 2008 數(shù)據(jù)庫(kù)作為數(shù)據(jù)管理平臺(tái)。 從硬件角度來(lái)說(shuō),本系統(tǒng)要求相對(duì)較低,一般情況下,計(jì)算機(jī)硬盤(pán)空間應(yīng)不小于 5g,內(nèi)存應(yīng)不小于 1gb。當(dāng)然,硬件環(huán)境的配置越好,軟件系統(tǒng)的開(kāi)發(fā)與運(yùn)行效率相 對(duì)就相應(yīng)地提高,可行性相應(yīng)也會(huì)大幅提高。 2.1.3 運(yùn)行可行性 隨著計(jì)算機(jī)技術(shù)的普及,醫(yī)藥經(jīng)營(yíng)企業(yè)逐漸借助計(jì)算機(jī)軟件輔助醫(yī)院藥品的管理, 所以藥品管理系統(tǒng)成為了藥品經(jīng)營(yíng)企業(yè)實(shí)現(xiàn)藥品管理智能化、信息化的重要工具。對(duì) 于多數(shù)醫(yī)院來(lái)說(shuō),利用計(jì)算機(jī)來(lái)管理藥品,不僅可以提高藥品管理的效率,而且可以 給醫(yī)院帶來(lái)先進(jìn)的管理思想。市場(chǎng)的需求和技術(shù)的支持,最終會(huì)有更多優(yōu)秀的藥品管理 信息系統(tǒng)軟件的出現(xiàn),并在今后的競(jìng)爭(zhēng)中得到不斷完善和優(yōu)化。根據(jù)以上分析,該系統(tǒng) 在運(yùn)行方面是可行的。 2.2 需求分析 用戶(hù)對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能等方面的期望叫做軟件需求。它通過(guò)對(duì) 應(yīng)用問(wèn)題及其環(huán)境的理解與分析,將涉及的信息、功能及系統(tǒng)行為抽象為模型,最終 形成需求分析說(shuō)明。需求分析是介于系統(tǒng)分析和軟件設(shè)計(jì)階段之間的重要橋梁。 本系統(tǒng)針對(duì)的是鶴壁煤礦集團(tuán)醫(yī)院藥房,所以出發(fā)點(diǎn)必須滿(mǎn)足小型醫(yī)院藥品管理 的需求。通過(guò)對(duì)鶴煤醫(yī)院藥庫(kù)的了解分析,管理人員主要對(duì)藥品的入庫(kù)、退貨及銷(xiāo)售 進(jìn)行管理,所以系統(tǒng)的開(kāi)發(fā)將從這些需求展開(kāi)。鑒于該醫(yī)院藥品流動(dòng)較少,而且是建 立在內(nèi)部流動(dòng)的基礎(chǔ)上,故在功能方面主要有以下幾個(gè)需求: (1)用戶(hù)管理,包括用戶(hù)密碼修改、用戶(hù)權(quán)限修改等功能; (2)藥品入庫(kù)管理,包括藥品首次入庫(kù)管理、入庫(kù)藥品維護(hù)、入庫(kù)藥品記錄查詢(xún) 和藥品入庫(kù)統(tǒng)計(jì); (3)藥品銷(xiāo)售管理,包括藥品銷(xiāo)售、查詢(xún)及藥物反饋信息管理; (4)查詢(xún)明細(xì)功能,包括藥品明細(xì)查詢(xún)、銷(xiāo)售查詢(xún)及藥品緊缺查詢(xún)功能; (5)藥庫(kù)退貨管理,包括退貨功能、退貨記錄查詢(xún) (6)廠商的信譽(yù)管理,包括查詢(xún)退貨廠商及黑名單管理 3 (7)相關(guān)信息的設(shè)置,包括采購(gòu)員信息管理、藥品信息管理、藥品調(diào)價(jià)、廠商信 息管理和消費(fèi)者信息管理 同時(shí),本系統(tǒng)是針對(duì)醫(yī)院內(nèi)部工作人員使用的,外部人員無(wú)法接觸到內(nèi)部計(jì)算機(jī), 故對(duì)于系統(tǒng)用戶(hù)來(lái)說(shuō),只需要用戶(hù)類(lèi)型分為三種,即系統(tǒng)管理員、藥房管理員、藥庫(kù) 管理員,這些用戶(hù)各司其職,管理著不同的方面。 uml 用例圖表示從軟件系統(tǒng)的外部使用者的角度看到的各項(xiàng)系統(tǒng)功能,并清晰地 說(shuō)明軟件系統(tǒng)地邊界,即用例圖中的所有用例的集合構(gòu)成目標(biāo)軟件系統(tǒng)應(yīng)該提供的功 能。 系統(tǒng)管理員擁有最高的權(quán)限,可以對(duì)整個(gè)系統(tǒng)進(jìn)行管理,包括基本信息設(shè)置、用 戶(hù)管理、廠商管理等,用例圖如圖 2-1 所示: 系統(tǒng)管理員 基本信息設(shè)置 用戶(hù)管理 藥品入庫(kù)管理 藥品銷(xiāo)售管理 藥庫(kù)查詢(xún) 退貨模塊 藥品調(diào)價(jià) 廠商管理 圖 2-1 系統(tǒng)管理員用例圖 藥庫(kù)管理員只擁有藥庫(kù)的管理權(quán)限,可以對(duì)藥品的入庫(kù)或者退貨進(jìn)行管理,包括 藥品入庫(kù)、藥品調(diào)價(jià)等,如圖 2-2 所示: 藥庫(kù)管理員 藥品入庫(kù)管理 藥庫(kù)查詢(xún) 退貨模塊 藥品調(diào)價(jià) 圖 2-2 藥庫(kù)管理員用例圖 4 藥房管理員只擁有藥房的管理權(quán)限,但是擁有查詢(xún)藥品庫(kù)存的權(quán)限,用例圖如圖 2-3 所示: 藥房管理員 藥品銷(xiāo)售管理 藥庫(kù)查詢(xún) 圖 2-3 藥房管理員用例圖 根據(jù)基本的了解分析,加之用戶(hù)的基本需求,可以得到藥品管理系統(tǒng)的基本用例 圖,如圖 2-4 所示: 藥品管理系統(tǒng) 系統(tǒng)管理員 藥房管理員 藥庫(kù)管理員 廠商 消費(fèi)者 基本信息設(shè)置 廠商管理 用戶(hù)管理 密碼修改 * * * * * * 藥品入庫(kù)藥品退貨 * * * * 庫(kù)存管理 藥品銷(xiāo)售 藥品調(diào)價(jià) * * * * * 圖 2-4 系統(tǒng)基本用例圖 在用戶(hù)需求的基礎(chǔ)上,藥品管理系統(tǒng)的工作流程有以下幾個(gè)方面組成:首先是登 錄名和密碼的認(rèn)證,接下來(lái)是權(quán)限的自動(dòng)區(qū)分,單一權(quán)限的管理員是無(wú)法執(zhí)行本權(quán)限 外的其他功能,接著各個(gè)管理員開(kāi)始通過(guò)各個(gè)模塊進(jìn)行工作,最后數(shù)據(jù)庫(kù)更新數(shù)據(jù)退 出管理系統(tǒng)。利用 uml 的活動(dòng)圖表示如圖 2-5 所示: 5 初始化窗口 輸入用戶(hù)名密碼 判斷權(quán)限 提示用戶(hù)名或者密碼錯(cuò)誤 系統(tǒng)管理員藥庫(kù)管理員藥房管理員 信息設(shè)置藥品入庫(kù)藥品銷(xiāo)售 密碼正 確 密碼錯(cuò) 誤 更新數(shù)據(jù) 要求用戶(hù)重新 輸入 藥品退貨 圖 2-5 用戶(hù)活動(dòng)圖 6 3總體設(shè)計(jì) 根據(jù)對(duì)前期系統(tǒng)的可行性分析及需求分析,可以得出系統(tǒng)總體設(shè)計(jì)模塊及相關(guān)的 設(shè)計(jì)方法,為代碼的編寫(xiě)提供了指導(dǎo)性思想。 系統(tǒng)模塊設(shè)計(jì) 3.1.1 系統(tǒng)功能模塊設(shè)計(jì) 一系列樹(shù)狀的矩形框組成的,描繪系統(tǒng)層次結(jié)構(gòu)的模型圖叫層次方框圖。從頂層 功能的分類(lèi)開(kāi)始,沿著圖中各條路徑分支細(xì)化,直至確定了系統(tǒng)功能的全部結(jié)構(gòu)為止。 本系統(tǒng)主要由用戶(hù)管理、入庫(kù)管理、退貨管理等七大模塊組成,如圖 3-1 所示: 圖 3-1 系統(tǒng)功能模塊圖 3.1.2 系統(tǒng)功能模塊描述 本藥品管理系統(tǒng)共分為七大模塊,所有模塊之間都是緊密關(guān)聯(lián)的,每個(gè)模塊的功 能都在了解分析的基礎(chǔ)上開(kāi)發(fā)創(chuàng)建。依據(jù)上述的分析,系統(tǒng)在各個(gè)模塊的基礎(chǔ)上將每 個(gè)模塊再分為幾個(gè)小模塊。 1. 用戶(hù)管理分為五個(gè)模塊: (1)密碼修改:當(dāng)前用戶(hù)可以修改當(dāng)前的登錄密碼 (2)鎖屏:用戶(hù)暫時(shí)離開(kāi)時(shí)保護(hù)系統(tǒng)不被他人操作 (3)用戶(hù)管理:本模塊是系統(tǒng)管理員用來(lái)管理用戶(hù)權(quán)限及添加、刪除用戶(hù)的,普通 用戶(hù)無(wú)法執(zhí)行 (4)重新登錄 (5)退出 2. 入庫(kù)管理分為三個(gè)模塊: 7 (1)首次入庫(kù):藥品首次進(jìn)入藥品倉(cāng)庫(kù)時(shí)入庫(kù)信息的錄入 (2)追加入庫(kù):藥庫(kù)已有藥品再次進(jìn)入藥庫(kù)時(shí)入庫(kù)信息的錄入 (3)入庫(kù)記錄查詢(xún):管理員查詢(xún)藥品進(jìn)入倉(cāng)庫(kù)的記錄 3. 藥品銷(xiāo)售管理分為兩個(gè)模塊: (1)藥品銷(xiāo)售:藥房管理員對(duì)藥品進(jìn)行銷(xiāo)售及銷(xiāo)售信息的管理 (2)藥品銷(xiāo)售查詢(xún):管理員對(duì)藥品銷(xiāo)售的情況及銷(xiāo)售記錄進(jìn)行查詢(xún) 4. 查詢(xún)明細(xì)分為三個(gè)模塊: (1)藥庫(kù)明細(xì)管理:查詢(xún)整個(gè)藥庫(kù)的藥品流向,例如某藥品入庫(kù)日期,銷(xiāo)售日期等 (2)庫(kù)存查詢(xún):對(duì)倉(cāng)庫(kù)中存在的藥品數(shù)量進(jìn)行查詢(xún),便于工作人員管理 (3)藥品緊缺查詢(xún):查詢(xún)藥庫(kù)中剩余數(shù)量不足的藥品以便追加入庫(kù) 5. 退貨管理分為兩個(gè)模塊 (1)藥庫(kù)退貨:工作人員可以對(duì)某些存在問(wèn)題的藥品進(jìn)行退貨處理 (2)退貨記錄查詢(xún):可以查詢(xún)本藥品系統(tǒng)所有出現(xiàn)過(guò)的退貨情況及其細(xì)節(jié) 6. 廠商信譽(yù)管理分為兩個(gè)模塊 (1)退貨廠商查詢(xún):可以查詢(xún)出現(xiàn)過(guò)藥品退貨的廠商詳細(xì)信息 (2)廠商黑名單:將經(jīng)常性出現(xiàn)退貨的廠商信息添加至黑名單中,工作人員可以查 詢(xún) 7. 信息設(shè)置模塊分為很多小模塊,主要是系統(tǒng)管理員對(duì)藥品管理的信息進(jìn)行設(shè)置,這 里不再贅述 3.1.3 系統(tǒng)主要功能的 uml 順序圖表示 將交互關(guān)系表示為一個(gè)二維的 uml 模型圖叫做順序圖。該圖的縱向表示時(shí)間軸, 橫向表示在協(xié)作中各獨(dú)立對(duì)象的類(lèi)元角色。類(lèi)元角色用生命線表示,當(dāng)對(duì)象存在時(shí), 角色便用一條虛線表示,當(dāng)對(duì)象的過(guò)程處于激活狀態(tài)時(shí),生命線便是一個(gè)雙道線6。 根據(jù)上述需求分析及初步建模,我們得到了藥品管理系統(tǒng)主要功能在時(shí)間上的工 作流程。下面將按功能分別闡述本系統(tǒng)運(yùn)行的時(shí)間邏輯順序。 首先是藥品入庫(kù)的功能,這個(gè)功能在時(shí)間邏輯上需要先由藥品廠商進(jìn)行報(bào)價(jià),接 著藥庫(kù)管理員確認(rèn),將入庫(kù)信息錄入數(shù)據(jù)庫(kù)中,之后藥品管理系統(tǒng)自動(dòng)更新數(shù)據(jù),將 入庫(kù)清單打印出來(lái)交給管理人員,由管理人員開(kāi)具收據(jù)給生產(chǎn)廠商。整個(gè)過(guò)程涉及數(shù) 據(jù)的大部分由計(jì)算機(jī)完成,用 uml 順序圖表示如圖 3-2 所示: 8 藥庫(kù)管理員 藥品入庫(kù)界面藥品 顯示入庫(kù)成功并顯示入庫(kù)信息 廠商 打印收據(jù)入庫(kù)記錄信息 藥品追加信息錄入更新藥品入庫(kù)信息 入庫(kù)記錄信息 顯示成功信息并顯示入庫(kù)信息打印收據(jù) 藥品報(bào)價(jià) 藥品入庫(kù)信息錄入添加藥品入庫(kù)信息 圖 3-2 入庫(kù)模塊順序圖 然后就是藥品出售前調(diào)價(jià)功能的時(shí)間邏輯順序了。在藥品入庫(kù)之后,廠商的報(bào)價(jià) 信息也一同錄入,藥庫(kù)調(diào)價(jià)人員根據(jù)市場(chǎng)行情和藥品報(bào)價(jià)來(lái)衡量藥品出售的價(jià)格,之 后將最終的價(jià)格錄入系統(tǒng),藥品管理系統(tǒng)會(huì)自動(dòng)計(jì)算出調(diào)價(jià)百分比供工作人員參考, 最后將調(diào)價(jià)信息顯示給管理人員。用 uml 順序圖表示如圖 3-3 所示: 藥庫(kù)管理員 藥品調(diào)價(jià)界面藥品 廠商 1.藥品報(bào)價(jià)2.藥品信息及報(bào)價(jià) 3.藥品價(jià)格調(diào)整 4.藥品價(jià)格6.調(diào)整價(jià)格顯示 5.銷(xiāo)售價(jià)格變更 圖 3-3 藥品調(diào)價(jià)順序圖 調(diào)價(jià)完畢后就要考慮藥品銷(xiāo)售的問(wèn)題了。在時(shí)間邏輯上,消費(fèi)者提出購(gòu)買(mǎi)某藥品, 由藥房管理員通過(guò)系統(tǒng)查詢(xún)?cè)撍幤沸畔?,在管理系統(tǒng)得到該藥品信息后,將信息返回 9 到管理員處,然后管理員進(jìn)行收費(fèi)等工作,最后將藥品出售小票和藥品一并交還給消 費(fèi)者完成藥品銷(xiāo)售工作。用 uml 順序圖表示如圖 3-4 所示: 顧客藥房管理員 1.購(gòu)買(mǎi)藥品() 藥品銷(xiāo)售界面藥品 4.藥品信息 5.顯示藥品信息 7.銷(xiāo)售小票打印 2.需求信息錄入3.獲取藥品信息 更新銷(xiāo)售信息 圖 3-4 藥品銷(xiāo)售順序圖 藥品退貨類(lèi)似于藥品入庫(kù)的逆過(guò)程,由藥庫(kù)管理員確認(rèn)退貨藥品信息,之后管理 系統(tǒng)更新數(shù)據(jù)庫(kù)信息,將退貨藥品發(fā)回生產(chǎn)廠商即完成退貨流程。用 uml 順序圖表示 如圖 3-5 所示: 藥庫(kù)管理員 藥品入庫(kù)界面藥品 顯示退貨成功 廠商 藥品退貨 退貨藥品信息藥品信息查詢(xún) 更新退貨藥品信息 圖 3-5 藥品退貨順序圖 10 查詢(xún)模塊總體來(lái)說(shuō)時(shí)間邏輯順序相差不大,基本先由管理員輸入查詢(xún)信息,選擇 查詢(xún)類(lèi)型,之后有藥品管理系統(tǒng)自動(dòng)完成相關(guān)的查詢(xún)工作,并將查詢(xún)到的信息反饋給 管理員。用 uml 順序圖表示如圖 3-6 所示: 管理員 藥品查詢(xún)界面藥品 3.藥品信息4.顯示藥品信息 1.獲取查詢(xún)信息和類(lèi)別2.查詢(xún)藥品信息 圖 3-6 查詢(xún)順序圖 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)指在給定的數(shù)據(jù)庫(kù)服務(wù)、操作系統(tǒng)和硬件環(huán)境下,怎樣將用戶(hù)的需求 表示出來(lái),并將它抽象成有效的數(shù)據(jù)庫(kù)結(jié)構(gòu)。數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程可分為兩大階段:數(shù) 據(jù)庫(kù)系統(tǒng)的分析階段和數(shù)據(jù)庫(kù)表的設(shè)計(jì)階段。 3.2.1 系統(tǒng)數(shù)據(jù)分析 系統(tǒng)數(shù)據(jù)分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步,數(shù)據(jù)分析過(guò)程同數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)密切相 關(guān),需要確定、編制、組織、篩選應(yīng)用程序所使用的信息2。 在本系統(tǒng)中,經(jīng)上述分析得到,主要的實(shí)體包括管理員用戶(hù)、藥品、廠商、消費(fèi) 者,其余部分都是有這些實(shí)體屬性信息組合完成。下面將一一分析這些實(shí)體在數(shù)據(jù)庫(kù) 中的表示方式。 對(duì)于本藥品管理系統(tǒng)的用戶(hù)主體,首先用戶(hù)名和密碼是必需的兩個(gè)屬性,對(duì)于本 藥品管理系統(tǒng),由于使用環(huán)境是醫(yī)院內(nèi)部局域網(wǎng),能接觸到本系統(tǒng)的人員較少,故用 戶(hù)的權(quán)限屬性包含的值也較少,即系統(tǒng)管理員、藥房管理員、藥庫(kù)管理員,這三種權(quán) 限足夠滿(mǎn)足該醫(yī)院的日常使用。用數(shù)據(jù)庫(kù)實(shí)體圖表示用戶(hù)關(guān)系如圖 3-7 所示: 圖 3-7 系統(tǒng)用戶(hù) e-r 圖 11 藥品信息作為藥品管理系統(tǒng)中最為關(guān)鍵的組成部分,其屬性信息會(huì)影響眾多數(shù)據(jù) 庫(kù)表的信息,故應(yīng)含有如下屬性:藥品編號(hào)(作為區(qū)分藥品的唯一憑據(jù)) ,藥品名稱(chēng), 藥品拼音碼,藥品類(lèi)型,藥品種類(lèi),藥品單位,藥品生產(chǎn)廠商編號(hào),藥品廠商名稱(chēng), 藥品功效,藥品禁忌,藥品給藥方式。這些屬性詳細(xì)描述了藥品全方位的信息,給藥 品的管理帶來(lái)便利,同時(shí)也為其他數(shù)據(jù)庫(kù)表的信息表示打下基礎(chǔ)。用數(shù)據(jù)庫(kù)實(shí)體圖表 示藥品信息如圖 3-8 所示: 圖 3-8 藥品信息 e-r 圖 在第二章需求分析中,我們已經(jīng)知道,藥品的報(bào)價(jià)信息直接或間接影響了整個(gè)藥 品入庫(kù)、銷(xiāo)售的過(guò)程,而報(bào)價(jià)這個(gè)流程是由廠商來(lái)完成的,所以說(shuō)廠商也是本藥品管 理系統(tǒng)中不可缺少的實(shí)體之一。廠商這個(gè)實(shí)體包含的屬性有:廠商編號(hào)(作為區(qū)分廠 商的唯一憑據(jù)) ,廠商名稱(chēng),廠商地址,廠商聯(lián)系人,廠商電話(huà),廠商郵箱,廠商銀行 賬號(hào),廠商進(jìn)貨次數(shù),廠商退貨次數(shù)。這些屬性全部或部分會(huì)影響到多個(gè)表的信息。 利用數(shù)據(jù)庫(kù)實(shí)體圖表示如圖 3-9 所示: 圖 3-9 廠商 e-r 圖 藥品的銷(xiāo)售必然需要消費(fèi)者的參與,消費(fèi)者作為藥品管理系統(tǒng)中藥品的最終流向, 需要包含以下屬性來(lái)保證銷(xiāo)售信息記錄的準(zhǔn)確性:消費(fèi)者編號(hào)(作為區(qū)分消費(fèi)者的唯 一憑據(jù)) ,消費(fèi)者姓名,消費(fèi)者性別,消費(fèi)者年齡,身份證號(hào),消費(fèi)者電話(huà),利用以上 屬性來(lái)記錄藥品的最終流向。用數(shù)據(jù)庫(kù)實(shí)體圖表示如圖 3-10 所示: 12 圖 3-10 消費(fèi)者 e-r 圖 其余數(shù)據(jù)庫(kù)表基本都由以上主體的屬性組成,這些主體及他們之間的關(guān)系共同組 成了本藥品管理系統(tǒng)的數(shù)據(jù)庫(kù)基本結(jié)構(gòu)。如圖 3-11 是本系統(tǒng)的基本 e-r 圖: 圖 4-11 系統(tǒng) e-r 圖 3.2.2 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì) 詳細(xì)數(shù)據(jù)庫(kù)表的設(shè)計(jì)作為數(shù)據(jù)庫(kù)設(shè)計(jì)的第二步,也是最重要的一步,決定了整個(gè) 系統(tǒng)的數(shù)據(jù)保存及流動(dòng)。通過(guò)之前與用戶(hù)的交流、對(duì)系統(tǒng)的需求分析和總體模塊的設(shè) 計(jì),便可對(duì)本系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行詳細(xì)設(shè)計(jì),根據(jù)了解分析的實(shí)際情況,本藥品管理系 統(tǒng)創(chuàng)建了名稱(chēng)為 hospital_info 的數(shù)據(jù)庫(kù),利用這個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)醫(yī)院藥品的相關(guān)信息、 13 廠商的基本信息、消費(fèi)者基本信息及各種數(shù)據(jù)記錄。在本數(shù)據(jù)庫(kù)中共創(chuàng)建了 19 張數(shù)據(jù) 庫(kù)表,包括 baojia 藥品報(bào)價(jià)表、caigou 入庫(kù)表、caigouyuan 采購(gòu)員表、customer 消費(fèi)者 表、email 郵件記錄表、heimingdan 黑名單表、mingxi 明細(xì)表、tiaojia 調(diào)價(jià)表、usertime 記錄時(shí)間表、yp_danwei 藥品單位表、yp_leixing 藥品類(lèi)型表、yp_zhonglei 藥品種類(lèi)表、 yp_information 藥品基本信息表,changshang 廠商表,users 用戶(hù)表,tuihuo 退貨表、 xiaoshou 銷(xiāo)售記錄表、kucun 庫(kù)存記錄表等,這些表相互聯(lián)系緊密,共同完成本藥品管 理系統(tǒng)的數(shù)據(jù)庫(kù)記錄工作。 下面簡(jiǎn)要介紹下數(shù)據(jù)庫(kù)中八個(gè)重要的表的組成: 1. 系統(tǒng)用戶(hù)表結(jié)構(gòu)如表 3-1 所示 表 3-1 系統(tǒng)用戶(hù)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 usernamevarchar 20 登錄名y passwordvarchar 50 登錄密碼n powervarchar 20 登陸權(quán)限n 2. 藥品信息表結(jié)構(gòu)如表 3-2 所示 表 3-2 藥品信息表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 yp_num intnull藥品編號(hào)y yp_name varchar 100 藥品名稱(chēng)n yp_pinyin varchar 50 拼音碼n yp_leixing varchar 20 藥品類(lèi)型n yp_zhonglei varchar 20 藥品種類(lèi)n yp_danwei varchar 20 藥品單位n yp_cs_num intnull廠商編號(hào)n yp_cs_name varchar 100 廠商名稱(chēng)n yp_gongxiao varcharmax藥品功效n yp_jinji varcharmax藥品禁忌n yp_geiyaofangshi varchar 30 給藥方式n 3. 廠商信息表結(jié)構(gòu)如表 3-3 所示 表 3-3 廠商信息表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 cs_num intnull廠商編號(hào)y cs_name varchar 100 廠商名稱(chēng)n cs_address varchar 100 廠商地址n cs_lianxiren varchar 20 廠商聯(lián)系人n cs_dianhua varchar 50 廠商電話(huà)n cs_email varchar 50 廠商郵箱n 14 cs_bank varchar 40 廠商銀行卡號(hào)n cs_jinhuocishu intnull廠商進(jìn)貨次數(shù)n cs_tuihuocishu intnull廠商退貨次數(shù)n 4. 退貨記錄表結(jié)構(gòu)如表 3-4 所示 表 3-4 退貨記錄表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 th_num intnull退貨自動(dòng)編號(hào)y th_yp_num int null 退貨藥品編號(hào) n th_yp_name varchar 100 退貨藥品名稱(chēng)n th_cs_num intnull退貨廠商編號(hào)n th_cs_name varchar 100 退貨廠商名稱(chēng)n th_yp_leixing varchar 20 退貨藥品類(lèi)型n th_yp_danwei varchar 20 退貨藥品單位n th_shuliang floatnull退貨數(shù)量n th_yuanyin floatmax退貨原因n th_date datetimenull退貨日期n 5. 消費(fèi)者信息表結(jié)構(gòu)如表 3-5 所示 表 3-5 消費(fèi)者信息表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 customer_num int null 顧客編號(hào) y customer_name varchar 30 顧客姓名 n customer_sex varchar 10 顧客性別 n customer_age int null 顧客年齡 n customer_idcard varchar 50 顧客身份證號(hào) n customer_dianhua varchar 30 顧客電話(huà) n 6. 消費(fèi)記錄表結(jié)構(gòu)如表 3-6 所示 表 3-6 消費(fèi)記錄表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 xs_num int null 銷(xiāo)售自動(dòng)編號(hào) y xs_yp_num int 100 銷(xiāo)售藥品編號(hào) n xs_yp_name varchar 100 銷(xiāo)售藥品名稱(chēng) n xs_yp_leixing varchar 30 銷(xiāo)售藥品類(lèi)型 n xs_yp_zhonglei varchar 30 銷(xiāo)售藥品種類(lèi) n cs_yp_danwei varchar 20 銷(xiāo)售藥品單位 n xs_cs_num int null 廠商編號(hào) n xs_cs_name varchar 100 廠商名稱(chēng) n xs_jiage float null 銷(xiāo)售單價(jià) n 15 xs_customer_num int null 顧客編號(hào) n xs_customer_name varchar 30 顧客姓名 n xs_shuliang flaot null 銷(xiāo)售數(shù)量 n xs_date datetime null 銷(xiāo)售日期 n 7.藥庫(kù)明細(xì)表結(jié)構(gòu)如表 3-7 所示 表 3-7 藥庫(kù)明細(xì)表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 mx_num int null 明細(xì)自動(dòng)編號(hào) y mx_yp_num int null 藥品編號(hào) n mx_yp_name varchar 100 藥品名稱(chēng) n mx_yp_cs_num int null 廠商編號(hào) n mx_yp_cs_name varchar 100 廠商名稱(chēng) n mx_yp_rk_date datetime null 藥品入庫(kù)日期 n mx_yp_rk_shuliang float null 藥品入庫(kù)數(shù)量 n mx_yp_rk_caigouyuan_num int null 入庫(kù)采購(gòu)員編號(hào) n mx_yp_xs_date datetime null 銷(xiāo)售日期 n mx_yp_xs_shuliang float null 銷(xiāo)售數(shù)量 n mx_yp_xs_customer_num int null 顧客編號(hào) n mx_yp_xs_customer_name varchar 30 顧客名字 n mx_yp_th_date datetime null 退貨日期 n mx_yp_th_shuliang float null 退貨數(shù)量 n 8.采購(gòu)員信息表結(jié)構(gòu)如表 3-8 所示 表 3-8 采購(gòu)員信息表結(jié)構(gòu)表 字段名字段類(lèi)型長(zhǎng)度對(duì)應(yīng)中文名稱(chēng)是否主鍵 cgy_num int null 采購(gòu)員編號(hào) y cgy_name varchar 20 采購(gòu)員姓名 n cgy_sex varchar 10 采購(gòu)員性別 n cgy_age int null 采購(gòu)員年齡 n cgy_idcard varchar 50 身份證號(hào) n cgy_dianhua varchar 30 采購(gòu)員電話(huà) n cgy_pic image null 采購(gòu)員照片 n 16 4 系統(tǒng)詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)表示對(duì)該系統(tǒng)進(jìn)行詳細(xì)的設(shè)計(jì),在總體設(shè)計(jì)的基礎(chǔ)上進(jìn)一步明確系統(tǒng)結(jié) 構(gòu),詳細(xì)地介紹系統(tǒng)的各個(gè)模塊,為系統(tǒng)的開(kāi)發(fā)實(shí)現(xiàn)和測(cè)試做準(zhǔn)備。 系統(tǒng)運(yùn)行環(huán)境的設(shè)置 4.1.1 系統(tǒng)需求的硬件環(huán)境 在提到系統(tǒng)運(yùn)行是否成功的時(shí)候,首先就是從物理設(shè)備上考慮,即系統(tǒng)硬件環(huán)境 的配置問(wèn)題。本藥品管理系統(tǒng)在實(shí)施運(yùn)行過(guò)程中,需要普通計(jì)算機(jī)一臺(tái),包括鍵盤(pán)、 鼠標(biāo)等基本輸入設(shè)備,也可添加更多輔助輸入設(shè)備。計(jì)算機(jī)相關(guān)的硬件配置最低要求 是處理器型號(hào)在 pentium iv 以上,內(nèi)存在 1gb 以上,硬盤(pán)應(yīng)至少保留空余空間在 1gb 以上,而且計(jì)算機(jī)應(yīng)含有一個(gè)網(wǎng)卡來(lái)確??梢赃B接至醫(yī)院局域網(wǎng)。這是硬件環(huán)境的基 本要求,當(dāng)然這些要求并不是完全固定的,在條件允許的情況下,如果可以采用更好 的物理配置,隨著配置的增高,系統(tǒng)運(yùn)行的速度也會(huì)隨之提高。 4.1.2 系統(tǒng)需求的軟件環(huán)境 在外部硬件環(huán)境支持的條件下,系統(tǒng)運(yùn)行同樣需要相應(yīng)軟件環(huán)境的支持。由于本 系統(tǒng)是基于 windows 平臺(tái)開(kāi)發(fā),故其運(yùn)行的硬件環(huán)境需要安裝有 windows 操作系統(tǒng)。 同時(shí),本系統(tǒng)是基于微軟的.net 平臺(tái)開(kāi)發(fā),故計(jì)算機(jī)中還需要安裝 microsoft .net framework 環(huán)境。從上述可知,為了讓本系統(tǒng)得以運(yùn)行,同時(shí)保證較高的運(yùn)行效率, 客戶(hù)端計(jì)算機(jī)中必須安裝 windows xp/windows 7 平臺(tái),且需要安裝配置了 microsoft .net framework 3.5 及其以上版本;服務(wù)器端的計(jì)算機(jī)中必須安裝 windows server 2003 及其以上版本,且安裝配置了 microsoft sql server 2008 數(shù)據(jù)庫(kù)。 4.2 開(kāi)發(fā)環(huán)境介紹 4.2.1 軟件開(kāi)發(fā)工具 本藥品管理系統(tǒng)是基于 c#.net 語(yǔ)言開(kāi)發(fā),c#是微軟公司發(fā)布的一種面向?qū)ο蟮摹?運(yùn)行于.net framework 之上的高級(jí)程序設(shè)計(jì)語(yǔ)言,它包括了諸如單一繼承、接口、與 java 幾乎同樣的語(yǔ)法和編譯成中間代碼再運(yùn)行的過(guò)程3。c#是一種安全的、穩(wěn)定的、 簡(jiǎn)單的、優(yōu)雅的,由 c 和c+衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它綜合了vb簡(jiǎn)單的可 視化操作和 c+的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言 特性和便捷的面向組件編程的支持成為.net開(kāi)發(fā)的首選語(yǔ)言3,4。 使用 c#.net 開(kāi)發(fā)必然需要相應(yīng)的開(kāi)發(fā)工具,我使用的是 microsoft visual studio 2010。visual studio 是微軟公司設(shè)計(jì)的軟件開(kāi)發(fā)環(huán)境,由于它具有使用方便、簡(jiǎn)單易學(xué)、 功能豐富等諸多優(yōu)點(diǎn),故它成為了最流行的 windows 應(yīng)用程序的開(kāi)發(fā)工具之一。加上 本系統(tǒng)是基于 c/s 架構(gòu)的軟件,visual studio 在前臺(tái)頁(yè)面設(shè)計(jì)方面具有明顯的優(yōu)勢(shì), 控件使用方式簡(jiǎn)單隨意,故成為了本系統(tǒng)開(kāi)發(fā)的首選環(huán)境 4.2.2 數(shù)據(jù)庫(kù)開(kāi)發(fā)工具 sql server 2008 是在 microsoft 的數(shù)據(jù)平臺(tái)上發(fā)布的,可以組織管理任何數(shù)據(jù)的數(shù) 據(jù)庫(kù)軟件。它可以將非結(jié)構(gòu)化、半結(jié)構(gòu)化和結(jié)構(gòu)化的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中,也可 以對(duì)數(shù)據(jù)進(jìn)行查詢(xún)、搜索、同步、報(bào)告和分析等操作。 17 sql server 2008 允許在使用了 microsoft .net 和 visual studio 開(kāi)發(fā)的自定義應(yīng) 用程序中使用數(shù)據(jù),也允許在面向服務(wù)的架構(gòu)中使用數(shù)據(jù)。這些數(shù)據(jù)信息工作人員可 以通過(guò)常見(jiàn)的工具直接訪問(wèn)。 由于 sql server 2008 具有可信任、高效和智能等眾多優(yōu)點(diǎn),所以它成為了本藥品 管理系統(tǒng)信息存儲(chǔ)的首選數(shù)據(jù)庫(kù)。 4.2.3 相關(guān)開(kāi)發(fā)技術(shù)簡(jiǎn)介 數(shù)據(jù)庫(kù)觸發(fā)器技術(shù) 觸發(fā)器是針對(duì)數(shù)據(jù)表(庫(kù))的特殊存儲(chǔ)過(guò)程,當(dāng)這個(gè)表發(fā)生了 insert、update 或 delete 操作時(shí),會(huì)自動(dòng)激活執(zhí)行,可以處理各種復(fù)雜的操作4。本系統(tǒng)用到了觸發(fā)器 的以下功能: 1. 修改或添加其它數(shù)據(jù)表中的數(shù)據(jù):當(dāng)一個(gè) sql 語(yǔ)句對(duì)數(shù)據(jù)表進(jìn)行操作時(shí),觸發(fā)器 可以根據(jù)該 sql 語(yǔ)句的操作情況對(duì)另一個(gè)表進(jìn)行相應(yīng)操作。 2. 更改原本要操作的 sql 語(yǔ)句:觸發(fā)器可以修改原本要操作的 sql 語(yǔ)句 本系統(tǒng)中創(chuàng)建觸發(fā)器的代碼如下所示: create trigger ruku_mingxi on dbo.caigou for insert as insert into dbo.mingxi (mx_yp_num,mx_yp_name,mx_yp_rk_date,mx_yp_rk_shuliang) select cg_yp_num,cg_yp_name,cg_date,cg_shuliang from inserted 代碼的作用是管理系統(tǒng)對(duì) caigou 入庫(kù)記錄表進(jìn)行插入操作時(shí),將同樣的信息插入 到 mingxi 藥庫(kù)明細(xì)表中。 數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程 數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程就是指在數(shù)據(jù)庫(kù)系統(tǒng)中,一些為了完成特定功能的 sql 語(yǔ)句集 合,這些語(yǔ)句集合經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶(hù)可以通過(guò)調(diào)用這些語(yǔ)句集的名字并 給出參數(shù)來(lái)執(zhí)行它2。以后要使用數(shù)據(jù)庫(kù)中已定義好的存儲(chǔ)過(guò)程時(shí),只需在程序中調(diào) 用,即可自動(dòng)完成數(shù)據(jù)庫(kù)命令。使用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程具有以下優(yōu)點(diǎn): 1. 存儲(chǔ)過(guò)程只是在開(kāi)發(fā)時(shí)進(jìn)行一次編譯,以后每次執(zhí)行存儲(chǔ)過(guò)程都不需再重新編譯。 而一般 sql 語(yǔ)句每執(zhí)行一次就必須編譯一次,所以使用存儲(chǔ)過(guò)程可提高數(shù)據(jù)庫(kù)執(zhí)行效 率。 2. 存儲(chǔ)過(guò)程可以重復(fù)多次使用,可以大大減少數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的工作量 3. 系統(tǒng)安全性高,數(shù)據(jù)庫(kù)中可設(shè)定只有具有權(quán)限的用戶(hù)才能使用某些存儲(chǔ)過(guò)程 本系統(tǒng)中創(chuàng)建存儲(chǔ)過(guò)程的代碼舉例如下: create procedure 登陸 username varchar(20),password varchar(20) as select * from users where username=username and password=password 數(shù)據(jù)庫(kù)連接技術(shù) ado.net 18 由于本系統(tǒng)開(kāi)發(fā)使用的數(shù)據(jù)庫(kù)連接技術(shù)是 ado.net,所以在此對(duì)該技術(shù)做簡(jiǎn)單介 紹。 ado.net 是一種非連接的數(shù)據(jù)訪問(wèn)技術(shù),只有在需要時(shí)才會(huì)形成一個(gè)到數(shù)據(jù)源的 連接,使用完畢后就關(guān)閉連接。訪問(wèn)者可以對(duì)相關(guān)數(shù)據(jù)做出修改,但是這種修改冰沒(méi) 有立即更新至數(shù)據(jù)庫(kù),而只是保存在本地,在需要進(jìn)行修改時(shí),要再次打開(kāi)連接4。 這種做法在網(wǎng)絡(luò)環(huán)境中優(yōu)勢(shì)是可以明顯降低網(wǎng)絡(luò)的流量。 連接數(shù)據(jù)庫(kù)并執(zhí)行調(diào)用存儲(chǔ)過(guò)程的代碼如下所示: static sqlconnection conn; conn = new sqlconnection(“data source=; initial catalog=my_hospital;integrated security=true“); conn.open(); sqlcommand sqlcom = new sqlcommand(“登陸“, db.getconnection(); sqlcom.commandtype = commandtype.storedprocedure; sqlcom.parameters.add(“username“, sqldbtype.varchar, 20).value = name; sqlcom.parameters.add(“password“, sqldbtype.varchar, 20).value = pwd; sqldatareader read = sqlcom.executereader(); 4.3 系統(tǒng)主界面設(shè)計(jì) 在上述一系列準(zhǔn)備工作之后,進(jìn)入了系統(tǒng)界面的設(shè)計(jì)階段。 4.3.1 用戶(hù)登錄界面設(shè)計(jì) 在進(jìn)入主界面前將初始化登錄頁(yè)面,在這里將會(huì)根據(jù)用戶(hù)輸入的信息來(lái)判斷信息 的正確性,并記錄登錄用戶(hù)的相應(yīng)信息。登陸界面如圖 4-1 所示: 圖 4-1 登陸界面 1. 實(shí)現(xiàn)目標(biāo) 當(dāng)運(yùn)行主程序時(shí)自動(dòng)彈出,根據(jù)數(shù)據(jù)庫(kù)中的用戶(hù)信息驗(yàn)證用戶(hù)輸入的信息是否正 確,如果正確便進(jìn)入藥品管理系統(tǒng)主頁(yè)面,如果不正確則提示用戶(hù)。登錄模塊流程圖 如圖 4-2 所示: 19 開(kāi)始 輸入用戶(hù) 名和密碼 初始化數(shù)據(jù)訪 問(wèn)對(duì)象 密碼正確? 執(zhí)行查詢(xún) 是否退出? 退出 獲取用戶(hù)信息 并記錄該信息 進(jìn)入藥庫(kù)主頁(yè) 是否 是 否 圖 4-2 登陸流程圖 2. 實(shí)現(xiàn)過(guò)程 頁(yè)面名稱(chēng):login.cs 控件的屬性設(shè)置和作用如表 4-1 所示。 表 4-1 名稱(chēng)主要屬性設(shè)置作用 username輸入用戶(hù)名 password passwordchar=* 輸入用戶(hù)密碼 button1 確定 button2 重置 4.3.2 主程序界面設(shè)計(jì) 本系統(tǒng)基于 c/s 模式下開(kāi)發(fā)的,通過(guò)運(yùn)行初始化登陸到界面。主界面的整體結(jié)構(gòu) 為菜單式結(jié)構(gòu)。主要包括菜單項(xiàng)、快捷鍵以及主窗體。 系統(tǒng)主界面如圖 4-3 所示: 20 圖 4-3 主界面圖 1. 實(shí)現(xiàn)目標(biāo) 當(dāng)點(diǎn)擊上面的菜單時(shí)會(huì)調(diào)出相應(yīng)的功能模塊,在進(jìn)入主頁(yè)前初始化登陸程序,也 就是說(shuō)只有登陸才能進(jìn)入到主頁(yè)來(lái),并且記錄登錄傳過(guò)來(lái)的用戶(hù)名以及登錄時(shí)間等信 息。在主頁(yè)下方顯示系統(tǒng)時(shí)間、用戶(hù)名以及用戶(hù)的登錄時(shí)間。 2.實(shí)現(xiàn)過(guò)程 頁(yè)面名稱(chēng):main.cs 控件的屬性設(shè)置和作用如表 4-2 所示: 表 4-2 名稱(chēng)主要屬性設(shè)置作用 timer1 即時(shí)觸發(fā) menustrip1 創(chuàng)建菜單 toolstrip1 創(chuàng)建快捷欄 statustrip1 主頁(yè)的下邊框 toolstripbutton快捷鍵 toolstripmenuitem菜單項(xiàng) 4.4 藥品入庫(kù)管理模塊設(shè)計(jì) 入庫(kù)管理主要是對(duì)藥品的采購(gòu)進(jìn)行相應(yīng)的操作,下面包含三個(gè)子模塊,即首次入 庫(kù)模塊、追加入庫(kù)模塊、入庫(kù)記錄查詢(xún)模塊。 4.4.1 首次入庫(kù)模塊 藥品首次入庫(kù)就是藥品的第一次進(jìn)入倉(cāng)庫(kù),需要將信息錄入數(shù)據(jù)庫(kù),主要是對(duì)數(shù) 據(jù)表的添加操作,界面如圖 4-4 所示: 21 圖 4-4 首次入庫(kù)界面 1.實(shí)現(xiàn)目標(biāo) 當(dāng)點(diǎn)擊確認(rèn)按鈕時(shí)將所填數(shù)據(jù)添加到相應(yīng)的表中。在填寫(xiě)時(shí)藥品編號(hào)時(shí),系統(tǒng)會(huì)自 動(dòng)前端匹配相應(yīng)編號(hào)供管理員選擇,在藥品編號(hào)確定之后,跟藥品相關(guān)的信息全部會(huì) 自動(dòng)補(bǔ)全,這些信息均由其他數(shù)據(jù)庫(kù)表提供,管理員只需輸入采購(gòu)數(shù)量和選擇采購(gòu)日 期即可。 2.實(shí)現(xiàn)過(guò)程 頁(yè)面名稱(chēng):yp_shouciruku.cs 控件的屬性設(shè)置和作用如表 4-3 所示: 表 4-3 名稱(chēng)主要屬性設(shè)置作用 datagridview1 顯示入庫(kù)信息表的信息 datatimepicker1 選擇輸入入庫(kù)日期 textbox1 輸入采購(gòu)員編號(hào) textbox2 輸入藥品編號(hào) textbox3 輸入藥品名稱(chēng) textbox4 顯示藥品單位 textbox5 顯示藥品類(lèi)型 textbox6 顯示藥品種類(lèi) textbox7 輸入入庫(kù)數(shù)量 textbox8 顯示廠商編號(hào) textbox9 顯示廠商名稱(chēng) textbox10 顯示采購(gòu)價(jià)格 button1 確定添加 button2 重置 button3 返回 22 printdialog1document=printdocument1 彈出打印窗口 printdocument1 設(shè)置打印文本和格式 timer1 設(shè)置計(jì)時(shí)器來(lái)控制自動(dòng)匹配 4.4.2 追加入庫(kù)模塊 藥品追加入庫(kù)是對(duì)與首次入庫(kù)相對(duì)應(yīng)藥品信息的表的修改操作,界面如圖 4-5 所 示: 圖 4-5 追加入庫(kù)界面 1.實(shí)現(xiàn)目標(biāo) 當(dāng)點(diǎn)擊 datagridview 時(shí)將數(shù)據(jù)放到下面的控件中,根據(jù)入庫(kù)的信息對(duì)數(shù)據(jù)庫(kù)進(jìn)行相 應(yīng)操作,并且可以根據(jù)藥品編號(hào)進(jìn)行相應(yīng)的查找操作,將查找到的數(shù)據(jù)顯示在 datagridview 和相應(yīng)控件上。并且在操作時(shí)將采購(gòu)員編號(hào)、藥品編號(hào)、藥品名稱(chēng)、藥品 單位、藥品類(lèi)型、藥品種類(lèi)、廠商編號(hào)、廠商名稱(chēng)、采購(gòu)單價(jià)設(shè)為只讀,使用戶(hù)無(wú)法 修改以上信息。同時(shí),點(diǎn)擊打印按鈕,可以打印當(dāng)前該條入庫(kù)清單。 2.實(shí)現(xiàn)過(guò)程 頁(yè)面名稱(chēng):yp_zhuijiaruku.cs 控件的屬性設(shè)置和作用如表 4-4 所示: 表 4-4 名稱(chēng)主要屬性設(shè)置作用 datagridview1 顯示入庫(kù)信息表的信息 datatimepicker1 選擇輸入追加日期 textbox1 輸入追加采購(gòu)員編號(hào) textbox2 顯示藥品編號(hào) 23 textbox3 顯示藥品名稱(chēng) textbox4 顯示藥品單位 textbox5 顯示藥品類(lèi)型 textbox6 顯示藥品種類(lèi) textbox7 輸入追加數(shù)量 textbox8 顯示廠商編號(hào) textbox9 顯示廠商名稱(chēng) textbox10 顯示采購(gòu)價(jià)格 button1 確定追加 button2 返回 button3 打印該條入庫(kù)清單 4.4.3 入庫(kù)記錄查詢(xún)模塊設(shè)計(jì) 藥品入庫(kù)記錄查詢(xún)即通過(guò)輸入關(guān)鍵詞查詢(xún)藥品進(jìn)入倉(cāng)庫(kù)的記錄,也可以通過(guò)選擇 查詢(xún)類(lèi)型來(lái)縮小查詢(xún)范圍。非按時(shí)間查詢(xún)界面如圖 4-6 所示,按時(shí)間查詢(xún)界面如圖 4-7 所示: 圖 4-6 入庫(kù)記錄查詢(xún) 24 圖 4-7 入庫(kù)記錄查詢(xún) 1.實(shí)現(xiàn)目標(biāo) 本系統(tǒng)提供了按采購(gòu)員編號(hào)、按藥品編號(hào)、按日期和按廠商編號(hào)四種類(lèi)型來(lái)查詢(xún), 選擇了查詢(xún)類(lèi)型之后,在輸入查詢(xún)內(nèi)容后,點(diǎn)擊查找按鈕,系統(tǒng)便可按用戶(hù)要求模糊 查詢(xún)數(shù)據(jù)庫(kù)并將查到的數(shù)據(jù)顯示在 datagridview 中,而且在點(diǎn)擊其中任意一項(xiàng)信息時(shí), 其詳細(xì)信息會(huì)自動(dòng)填充到下方的控件中。 2.實(shí)現(xiàn)過(guò)程 用戶(hù)需要先選擇查詢(xún)類(lèi)型,之后輸入查詢(xún)內(nèi)容,最后執(zhí)行查詢(xún),具體流程圖如圖 4-8 所示: 圖 4-8 查詢(xún)流程圖 頁(yè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論