算法設(shè)計(jì)與分析詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
算法設(shè)計(jì)與分析詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
算法設(shè)計(jì)與分析詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
算法設(shè)計(jì)與分析詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
算法設(shè)計(jì)與分析詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、高校醫(yī)務(wù)收費(fèi)管理系統(tǒng)研究項(xiàng)目詳細(xì)設(shè)計(jì)高校醫(yī)務(wù)收費(fèi)管理系統(tǒng)研究項(xiàng)目詳細(xì)設(shè)計(jì)第一部分、引言1.1編寫(xiě)目的本說(shuō)明在概要設(shè)計(jì)的基礎(chǔ)上,對(duì)高校醫(yī)務(wù)收費(fèi)管理系統(tǒng)研究項(xiàng)目的各模塊、程序、子系統(tǒng)分別進(jìn)行了實(shí)現(xiàn)層面上的要求和說(shuō)明。根據(jù)概要設(shè)計(jì)說(shuō)明書(shū)中的設(shè)計(jì)內(nèi)容,編寫(xiě)詳細(xì)設(shè)計(jì)說(shuō)明書(shū),為開(kāi)發(fā)過(guò)程提供系統(tǒng)處理過(guò)程的詳細(xì)說(shuō)明,使系統(tǒng)開(kāi)發(fā)各類(lèi)技術(shù)人員對(duì)整個(gè)系統(tǒng)所需實(shí)現(xiàn)的功能以及系統(tǒng)的功能模塊的劃分、實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的表結(jié)構(gòu)清楚的認(rèn)識(shí),為整個(gè)系統(tǒng)的開(kāi)發(fā)、測(cè)試、評(píng)定和移交的提供基礎(chǔ),本報(bào)告一旦確認(rèn)后將成為系統(tǒng)開(kāi)發(fā)各類(lèi)技術(shù)人員共同遵守的準(zhǔn)則,并為以后的編程工作提供依據(jù)。軟件開(kāi)發(fā)小組的產(chǎn)品實(shí)現(xiàn)成員應(yīng)該閱讀和參考本說(shuō)明進(jìn)行代碼的編寫(xiě)、

2、測(cè)試。1.2背景說(shuō)明:A、 軟件系統(tǒng)的名稱: 高校醫(yī)務(wù)收費(fèi)管理系統(tǒng)研究項(xiàng)目B、 任務(wù)提出者:高校醫(yī)務(wù)人員開(kāi)發(fā)者:醫(yī)務(wù)收費(fèi)系統(tǒng)開(kāi)發(fā)小組實(shí)現(xiàn)完成的系統(tǒng)將在高校醫(yī)務(wù)收費(fèi)的診斷室、門(mén)診、住院部使用,所應(yīng)用的網(wǎng)絡(luò)系統(tǒng)是該系統(tǒng)的內(nèi)部局域網(wǎng)。C、 本系統(tǒng)將是獨(dú)立的系統(tǒng),目前不與高校醫(yī)務(wù)收費(fèi)的財(cái)務(wù)系統(tǒng)和其他資料系統(tǒng)提供接口,所產(chǎn)生的輸出都是獨(dú)立的。本系統(tǒng)將使用SQL Server 2000作為數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng),SQL Server 2000企業(yè)版將由高校醫(yī)務(wù)收費(fèi)自行購(gòu)買(mǎi)。1.3定義IPO圖 輸入/處理/輸出圖,一般用來(lái)描述一個(gè)程序的功能和機(jī)制;VB語(yǔ)言:1991年,美國(guó)微軟公司推出了Visual Basic(可

3、簡(jiǎn)稱VB),目前的最新版本是VB 2005(VB8)中文版。Visual 意即可視的、可見(jiàn)的,指的是開(kāi)發(fā)像windows操作系統(tǒng)的圖形用戶界面(Graphic User Interface,GUI)的方法,它不需要編寫(xiě)大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對(duì)象拖放到屏幕上相應(yīng)的位置即可。SQL全稱是“結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)”,最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEM R開(kāi)發(fā)的一種查詢語(yǔ)言,它的前身是SQUARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來(lái),SQL語(yǔ)言,得

4、到了廣泛的應(yīng)用。醫(yī)務(wù)收費(fèi)系統(tǒng):醫(yī)務(wù)收費(fèi)是幫助醫(yī)務(wù)人員、醫(yī)務(wù)工作人員對(duì)醫(yī)務(wù)收費(fèi)管理軟件。1.4參考資料相關(guān)的文件包括:A、 高校醫(yī)務(wù)收費(fèi)高校醫(yī)務(wù)收費(fèi)管理系統(tǒng)研究項(xiàng)目可行性研究報(bào)告;B、 高校醫(yī)務(wù)收費(fèi)高校醫(yī)務(wù)收費(fèi)管理系統(tǒng)研究項(xiàng)目概要設(shè)計(jì);參考資料: 楊晶 VB程序設(shè)計(jì)教程與實(shí)訓(xùn)北京-科學(xué)出版社 2006 張海潘 軟件工程北京清華大學(xué)出版版社 2003 李昭原 數(shù)據(jù)庫(kù)原理與應(yīng)用科學(xué)出版社 2002 徐蘭芳, 彭冰 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)上海-上海交通大學(xué)出版社 2006 (美)Wendy Boggs UML與Rational Rose 2002從入門(mén)到精通 邱仲潘 等 譯 北京-電子工業(yè)出版社 2002金

5、華市發(fā)達(dá)裝配廠庫(kù)存管理系統(tǒng)KCGL的可行性分析中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)UDC 6813計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南GB 8567-88第二部分、程序系統(tǒng)的結(jié)構(gòu)2.1系統(tǒng)結(jié)構(gòu)在概要設(shè)計(jì)中,系統(tǒng)的在結(jié)構(gòu)描述縱向上劃分為三個(gè)層次,橫向上劃分為九個(gè)相對(duì)獨(dú)立的模塊,如圖1和圖2。數(shù)據(jù)訪問(wèn)對(duì)象ADO連接對(duì)象MS SQL SERVER醫(yī)生管理藥品管理病人管理主界面如:?jiǎn)?dòng)窗口、菜單等工具欄狀態(tài)欄登錄窗口查詢窗口藥品集合對(duì)象醫(yī)生集合對(duì)象病人集合對(duì)象醫(yī)生對(duì)象描述藥品對(duì)象描述病人對(duì)象描述界面層數(shù)據(jù)處理層數(shù)據(jù)訪問(wèn)層帳單對(duì)象描述帳單管理帳單集合對(duì)象圖1:系統(tǒng)邏輯結(jié)構(gòu)的縱向劃分ActiveX 登錄控件ActiveX 數(shù)

6、據(jù)訪問(wèn)組件9數(shù)據(jù)訪問(wèn)ADOSQL Server5醫(yī)生管理6病人管理7藥品管理8帳單管理3數(shù)據(jù)查詢4主界面2登錄驗(yàn)證和安全1登錄子系統(tǒng) 圖2:系統(tǒng)橫向模塊劃分2.2 UML系統(tǒng)建模對(duì)于本系統(tǒng),主要使用UML中的用例圖、時(shí)序圖和協(xié)作圖來(lái)進(jìn)行系統(tǒng)分析,幫助開(kāi)發(fā)人員了解系統(tǒng)功能與系統(tǒng)流程。2.2.1 UML用例視圖描述首先確定醫(yī)務(wù)收費(fèi)系統(tǒng)中的角色。1角色(Actors)的確定在醫(yī)務(wù)收費(fèi)系統(tǒng)中,可以歸納出來(lái)的主要問(wèn)題是:(1)病人要看?。唬?)掛號(hào)操作員提供掛號(hào)服務(wù); (3)醫(yī)生提供病人看病服務(wù);(4)收費(fèi)操作員提供門(mén)診病人劃價(jià)收費(fèi)服務(wù),并將信息輸入到系統(tǒng);(5)取藥員負(fù)責(zé)取藥給病人;(6)住院登記操作

7、員提供住院登記服務(wù),并將信息輸入到系統(tǒng);(7)系統(tǒng)維護(hù)員提供系統(tǒng)相關(guān)的維護(hù)服務(wù)。由于醫(yī)生與病人打交道,給病人診斷病情、開(kāi)藥方等服務(wù),并沒(méi)有直接與系統(tǒng)發(fā)生交互,與系統(tǒng)的交互是通過(guò)劃價(jià)收費(fèi)操作員來(lái)進(jìn)行的,因此可以將醫(yī)生與劃價(jià)收費(fèi)操作員這兩個(gè)對(duì)象用一個(gè)操作員的角色代替,即認(rèn)為劃價(jià)收費(fèi)操作員在所有病人看病的過(guò)程中直接向病人提供服務(wù),并根據(jù)服務(wù)業(yè)務(wù)流程對(duì)系統(tǒng)進(jìn)行操作。這樣不妨礙系統(tǒng)的功能實(shí)現(xiàn)。同樣,取藥操作員并沒(méi)有直接和系統(tǒng)發(fā)生交互,可以不用一個(gè)單獨(dú)的角色。從以上的分析中,可以創(chuàng)建以下角色:(1)病人;(2)掛號(hào)操作員;(3)收費(fèi)操作員;(4)藥品管理員;(5)系統(tǒng)維護(hù)員。在Rational Rose的

8、Use Case View中建立角色如圖3所示。 圖3 在Use Case View中創(chuàng)建角色2創(chuàng)建用例(Use Cases)醫(yī)院信息系統(tǒng)根據(jù)業(yè)務(wù)流程可以分為以下的幾個(gè)用例:(1)病人掛號(hào);(2)掛號(hào)服務(wù);(3)病人看??;(4)病人交費(fèi)取藥;(5)病人按處方配藥;(6)收費(fèi)操作員劃價(jià)扣費(fèi)配藥;(7)分發(fā)藥品;(8)維護(hù)基本信息;(9)用戶注冊(cè);(10)登錄驗(yàn)證。在Rational Rose的Use Case View中創(chuàng)建用例(Use Cases)如圖4所示。圖4 在Use Case View中創(chuàng)建用例3創(chuàng)建角色(Actor)與用例(Use Case)關(guān)系圖Actor和Use Case之間存在

9、的關(guān)聯(lián)關(guān)系通常涉及到Actor和Use Case之間的通信關(guān)聯(lián)關(guān)系。(1)病人的Use Cases關(guān)系圖如圖5所示。病人看?。╢rom User Cases)病人交費(fèi)取藥(from User Cases)病人掛號(hào)(from User Cases)病人按處方配藥(from User Cases)病人(from Actors)圖5 病人的用例關(guān)系圖(2)掛號(hào)操作員的Use Cases關(guān)系圖如圖6所示。掛號(hào)服務(wù)(from User ases)掛號(hào)操作員(from Actors)圖6 掛號(hào)操作員的用例關(guān)系圖(3)收費(fèi)操作員用例的Use Cases關(guān)系圖如圖7所示。收費(fèi)操作員劃價(jià)扣費(fèi)配藥(from Us

10、er Cases)收費(fèi)操作員(from Actors)圖7 收費(fèi)操作員用例關(guān)系圖(4)藥品管理員的Use Cases關(guān)系圖如圖8所示。分發(fā)藥品(from User Cases)退貨(from User Cases)進(jìn)貨(from User Cases)藥品管理員(from Actors)圖8 藥品管理員的用例關(guān)系圖(5)系統(tǒng)維護(hù)員的Use Cases關(guān)系圖如圖9所示。維護(hù)基本信息(from User Cases)系統(tǒng)維護(hù)員(from Actors)用戶注冊(cè)(from User Cases)登錄驗(yàn)證(from User Cases)圖9 系統(tǒng)維護(hù)員的用例關(guān)系圖系統(tǒng)采用Visual Basic 6

11、.0的標(biāo)準(zhǔn)EXE工程來(lái)進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)標(biāo)準(zhǔn)包括:1:主程序A、工程類(lèi)型:標(biāo)準(zhǔn)EXE;B、工程名稱:醫(yī)務(wù)收費(fèi)系統(tǒng).vbpC、編譯生成文件:醫(yī)務(wù)收費(fèi)系統(tǒng).EXED、引用的組件:ADO 2.5E、引用的控件:RichEditBox 富文本框;CommanDialogBox 共用對(duì)話框;MSFlexGrid 網(wǎng)格;frmLogin 登錄組件;Microsoft Windows Comman Controls 6.0 SP4 Windows通用組件SP4;Microsoft Windows Comman Controls-2 6.0 SP3 Windows通用組件第二版SP3;2、登錄控件A、 工程類(lèi)型:

12、ActiveX 控件;B、 工程名稱:frmLogin;C、 編譯生成文件:Login.OCX;D、 引用的組件:prjDBAccess;E、 引用的控件:3、數(shù)據(jù)訪問(wèn)控件:A、 工程類(lèi)型:ActiveX DLL;B、 工程名稱:prjDBAccess;C、 編譯生成文件:DBAccess.DLL;D、 引用的組件:ADO 2.5;E、 引用的控件:第三部分、登錄組件設(shè)計(jì)說(shuō)明登錄組件的界面設(shè)計(jì)如圖10:圖10:登錄組件界面設(shè)計(jì)3.1程序描述A、目的和意義:該部分以組件的方式來(lái)提供,向數(shù)據(jù)庫(kù)執(zhí)行指定姓名、密碼的查詢驗(yàn)證,很多系統(tǒng)都具有登錄驗(yàn)證的要求,因此,該組件具有一定的可重用性。B、特點(diǎn)說(shuō)明:

13、用戶(醫(yī)生)輸入管理員告知的姓名和密碼,啟動(dòng)程序后將首先顯示登錄組件組成的登錄界面,一生輸入的姓名、密碼信息,通過(guò)上圖11的數(shù)據(jù)流程圖進(jìn)行檢驗(yàn),并且在出現(xiàn)非法登錄的情況下,以對(duì)話框的形式予以信息輸出。該組件非常駐內(nèi)存,可重用,無(wú)覆蓋要求,順序處理登錄驗(yàn)證,但登錄事務(wù)在數(shù)據(jù)庫(kù)端屬于并發(fā)事務(wù),由數(shù)據(jù)庫(kù)本身進(jìn)行協(xié)調(diào)。3.2功能輸入-處理-輸出采用IPO圖表示如下:輸 出1、驗(yàn)證正確,進(jìn)入系統(tǒng);2、根據(jù)不同的情況,在屏幕上給出錯(cuò)誤提示信息;處 理1、根據(jù)輸入信息執(zhí)行查詢2、根據(jù)查詢結(jié)果進(jìn)行核對(duì)密碼和用戶名是否符合;輸 入1、用戶名稱字符信息2、密碼字符信息圖11:登錄組件:IPO3.3性能精 度:對(duì)在

14、文本框內(nèi)輸入的大小寫(xiě)敏感,姓名和密碼都區(qū)分大小寫(xiě);靈 活 性:用戶輸入按回車(chē)鍵可以進(jìn)行確認(rèn),按ESC鍵表示關(guān)閉當(dāng)前窗口;時(shí)間特性:用戶輸入后的驗(yàn)證時(shí)間在1.5秒之內(nèi);3.4輸人項(xiàng)用戶輸入的姓名,密碼字符信息;這些信息由系統(tǒng)管理員管理,存儲(chǔ)在數(shù)據(jù)庫(kù)表中。3.5輸出項(xiàng)輸入情況輸出情況輸入正確的密碼和口令程序進(jìn)入到系統(tǒng)的主界面系統(tǒng)沒(méi)有任何用戶程序直接退出輸入姓名正確,密碼錯(cuò)誤提示信息“請(qǐng)輸入正確的密碼,請(qǐng)注意密碼的大小寫(xiě)”輸入姓名錯(cuò)誤,密碼正確或者錯(cuò)誤提示信息,“請(qǐng)輸入正確的用戶名,請(qǐng)注意用戶名的大小寫(xiě)”;提示信息為信息符號(hào),參考的輸出結(jié)果如圖12,在屏幕上顯示一個(gè)對(duì)話框:圖12:一個(gè)顯示密碼非法的

15、對(duì)話框信息3.6算法本部分沒(méi)有采用自定義的算法。3.7流程邏輯登錄組件的邏輯流程如下:YN=0密碼不正確>0無(wú)此姓名的醫(yī)生=-1開(kāi)始結(jié)束顯示登錄窗體輸入醫(yī)生姓名、登錄密碼clsLogin>3次顯示主窗口圖13:登錄組件:數(shù)據(jù)流程圖3.8接口接口設(shè)計(jì)包括組件提供給外部的接口和對(duì)數(shù)據(jù)訪問(wèn)組件的調(diào)用接口,這些接口構(gòu)成了該ActiveX 控件實(shí)現(xiàn)的內(nèi)容:A、 提供給外部的接口:屬性:UserName:登錄的用戶名稱,字符數(shù)據(jù)類(lèi)型,可讀寫(xiě);UserPWD:登錄的用戶密碼,字符數(shù)據(jù)類(lèi)型,可讀寫(xiě);方法:Login(Byval strDBName As String,byVal TableName

16、,Byval DBType AS Long) As Long功 能:提供登錄驗(yàn)證;參數(shù)描述:StrDBName 數(shù)據(jù)庫(kù)的名稱或者數(shù)據(jù)庫(kù)物理文件位置;TableName 存儲(chǔ)用戶信息的表名稱;DBType 數(shù)據(jù)庫(kù)的類(lèi)型,例如是Access數(shù)據(jù)庫(kù)還是SQL Server數(shù)據(jù)庫(kù);返 回 值:0 錯(cuò)誤的用戶名稱;1 正確的用戶名稱和錯(cuò)誤的密碼;2 正確的用戶名稱和用戶密碼,登錄成功;4 用戶表中無(wú)任何記錄;事件:LogError(Byval strError String As Long):觸發(fā)時(shí)間:登錄完成后觸發(fā);參數(shù)描述:strError 錯(cuò)誤描述信息;空表示無(wú)錯(cuò),登錄成功;說(shuō)明:提供事件和Log

17、in方法的返回值,便于用戶在使用控件的時(shí)候,可以自定義錯(cuò)誤信息和使用控件提供的錯(cuò)誤信息。B、 數(shù)據(jù)訪問(wèn)層的接口:屬性:DBNAME、TABLENAME、DBTYPE屬性的設(shè)置;方法:OPENDB、QUERY事件:ONOPENDB、ONQUERY以上的屬性、方法,全部在控件的Login事件中調(diào)用,屬性、方法和事件的參數(shù)說(shuō)明,在prjDBACCESS組件設(shè)計(jì)中有詳細(xì)的描述;3.9存儲(chǔ)分配本程序在高級(jí)語(yǔ)言Visual Basic進(jìn)行編碼,直接的內(nèi)存分配由VB運(yùn)行時(shí)分配。本組件內(nèi)所依賴的變量、結(jié)構(gòu)要求全部在組件元素內(nèi)申明。3.10注釋設(shè)計(jì)注釋設(shè)計(jì)請(qǐng)參考Visual Basic 可視化程序設(shè)計(jì)的附錄部分

18、。本部分代碼的實(shí)現(xiàn),應(yīng)按照該注釋規(guī)范來(lái)進(jìn)行。3.11限制條件控件所依賴的的ActriveX DLL prjDBACCESS必須存在。該控件在使用的時(shí)候,必須經(jīng)過(guò)注冊(cè),并且在運(yùn)行時(shí),客戶端程序必須安裝有VB運(yùn)行時(shí)的動(dòng)態(tài)連接庫(kù)。在運(yùn)行時(shí),所輸入的用戶名稱不能超過(guò)32個(gè)字母或者16個(gè)漢字;所輸入的用戶密碼也不能超過(guò)32個(gè)字母,不允許輸入漢字信息。3.12測(cè)試計(jì)劃本模塊在單元測(cè)試時(shí)候使用到的測(cè)試用例包括:ZS_MA_Login_1、ZS_MA_Login_2、ZS_MA_Login_3所規(guī)定的內(nèi)容及步驟;組合測(cè)試用例包括:ZS_MA_Login_1、ZS_MA_Login_2、ZS_MA_Login_

19、3、ZS_MA_ZH_1、ZS_ZH_Login_2、ZS_ZH_Login_3;所規(guī)定的內(nèi)容及步驟;系統(tǒng)測(cè)試用例包括:ZS_MA_Login_1、ZS_MA_Login_2、ZS_MA_Login_3、ZS_MA_INTERFACE_1、ZS_XT_Login_1、ZS_ XT _Login_2、ZS_MA_ XT _3;測(cè)試日期、測(cè)試人員安排請(qǐng)參考測(cè)試計(jì)劃,測(cè)試用例的具體內(nèi)容,請(qǐng)參考測(cè)試用例說(shuō)明。3.13尚未解決的問(wèn)題本組件聚集性不強(qiáng),驗(yàn)證的模塊可以改善為包括數(shù)據(jù)訪問(wèn)的獨(dú)立代碼,而不依賴于數(shù)據(jù)訪問(wèn)組件。在組件的屬性增加的時(shí)候,應(yīng)提供屬性袋、屬性頁(yè)面這些設(shè)置工具。第四部分、主界面設(shè)計(jì)說(shuō)明在圖

20、14中很容易看清楚整個(gè)程序的結(jié)構(gòu),用戶也可以很方便的從菜單和工具欄各小項(xiàng)功能模塊及工具欄很快的進(jìn)入各個(gè)模塊。圖14 主界面窗體設(shè)計(jì)包括菜單欄設(shè)計(jì)、工具欄設(shè)計(jì)、狀態(tài)條設(shè)計(jì),下面就分別進(jìn)行簡(jiǎn)單的說(shuō)明。4.1程序描述主窗體的代碼不是很復(fù)雜,主要是對(duì)各個(gè)功能的導(dǎo)航和顯示狀態(tài)條導(dǎo)航信息,具體有菜單點(diǎn)擊處理程序、工具條快捷按鈕處理程序、狀態(tài)度顯示處理程序。程序說(shuō)明:主窗體代碼;程序模塊名稱:mainform.frm;重要控件:Toolbar、狀態(tài)欄StatusBar、圖像列表Imagelist、CrystalReport控件。 (1)菜單處理代碼。由于系統(tǒng)涉及到權(quán)限問(wèn)題,因此每次進(jìn)行菜單處理程序前,應(yīng)該對(duì)

21、該用戶的權(quán)限進(jìn)行檢查,判斷該用戶是否具有該項(xiàng)操作的權(quán)利。4.2功能輸入-處理-輸出采用IPO圖表示如下:輸 出1、驗(yàn)證權(quán)利,進(jìn)入子系統(tǒng);2、根據(jù)不同的情況,在屏幕上給出錯(cuò)誤提示信息;處 理根據(jù)相應(yīng)的輸入鏈接到相應(yīng)的模塊輸 入1、人員管理2、收費(fèi)管理.圖15:主界面組件:IPO4.3性能精 度:通過(guò)鼠標(biāo)點(diǎn)擊或快捷鍵進(jìn)入子模塊靈 活 性:用戶鼠標(biāo)點(diǎn)擊可以進(jìn)行確認(rèn),按ESC鍵表示關(guān)閉當(dāng)前窗口;時(shí)間特性:用戶輸入后的驗(yàn)證時(shí)間在1秒之內(nèi);4.4輸人項(xiàng)通過(guò)鼠標(biāo)點(diǎn)擊或快捷鍵,無(wú)輸入項(xiàng)4.5輸出項(xiàng)提示信息為信息符號(hào),參考的輸出結(jié)果如圖16,在屏幕上顯示一個(gè)對(duì)話框:圖16:一個(gè)顯示限制權(quán)利的對(duì)話框信息4.6算法

22、本部分沒(méi)有采用自定義的算法。4.7流程邏輯登錄組件的邏輯流程如下:開(kāi)始顯示主界面點(diǎn)擊相應(yīng)欄無(wú)權(quán)限權(quán)限判斷=-1進(jìn)入子模塊圖17:登錄組件:數(shù)據(jù)流程圖4.8接口接口設(shè)計(jì)包括組件提供給外部的接口和對(duì)數(shù)據(jù)訪問(wèn)組件的調(diào)用接口,這些接口構(gòu)成了該ActiveX 控件實(shí)現(xiàn)的內(nèi)容:'作為檢查操作員使用權(quán)限的函數(shù),該函數(shù)通過(guò)截取user_load表中的ql_flag字段來(lái)判斷該操作員所具有的權(quán)限和使用范圍'ql_flag字段的設(shè)置Public Function check_qx(qx_flag As String, i As Integer) As BooleanDim temp As Inte

23、gerIf qx_flag <> "" Then temp = Mid(qx_flag, i, 1) If temp = 0 Then MsgBox "您無(wú)權(quán)限使用該功能!", vbOKOnly + vbExclamation, "注意了:)" check_qx = False Else check_qx = True End IfElse MsgBox "未經(jīng)管理員授權(quán),您無(wú)權(quán)限使用所有功能!", vbOKOnly + vbExclamation, "注意了:)" check_qx

24、 = FalseEnd IfEnd Function檢查權(quán)限后,如果該用戶擁有該項(xiàng)權(quán)限的話,則進(jìn)入菜單處理程序:Private Sub sjlr_Click()'調(diào)用函數(shù)判斷是否擁有權(quán)限使用各種功能t = check_qx(czry_flag, 6)If t = True Then 如果用戶擁有該權(quán)限,則進(jìn)入菜單處理程序,否則出現(xiàn)警告信息。 mainform.StatusBar1.Panels(1).Text = "狀態(tài): 藥費(fèi)輸入" frmlrsj.ShowEnd IfEnd Sub(2)工具欄處理代碼。工具欄上的快捷按鈕用來(lái)打開(kāi)醫(yī)務(wù)收費(fèi)系統(tǒng)軟件中某個(gè)特定的窗體。

25、通過(guò)工具欄,用戶可以方便地直接打開(kāi)經(jīng)常使用的功能,工具欄的實(shí)現(xiàn)代碼示例如下:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Key 判斷所按下的工具欄按鈕的名稱 Case "query" 如果是查詢編輯人員 t = check_qx(czry_flag, 1)檢查當(dāng)前用戶是否擁有操作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 查詢編輯人員" frmqu

26、eryperson.Show 顯示frmqueryperson窗體 End If Case "input" 如果是數(shù)據(jù)輸入 t = check_qx(czry_flag, 6) 檢查當(dāng)前用戶是否擁有操作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 藥費(fèi)輸入" frmlrsj.Show 顯示frmlrsj窗體 End If Case "drdc" 如果是每月數(shù)據(jù)導(dǎo)出 t = check_qx(czry_flag, 17)檢查當(dāng)前用戶是否擁有操作權(quán)限 If t

27、= True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 每月數(shù)據(jù)導(dǎo)出" frmimport.Show vbModal顯示frmimport窗體 End If Case "book" 如果是查詢報(bào)表 t = check_qx(czry_flag, 13) 檢查當(dāng)前用戶是否擁有操作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 查詢報(bào)表" frmquerybook.Show 顯示frmquerybook窗體 En

28、d If Case "exit" 如果是退出 End 退出系統(tǒng)End SelectEnd Sub4.9存儲(chǔ)分配本程序在高級(jí)語(yǔ)言Visual Basic進(jìn)行編碼,直接的內(nèi)存分配由VB運(yùn)行時(shí)分配。本組件內(nèi)所依賴的變量、結(jié)構(gòu)要求全部在組件元素內(nèi)申明。4.10注釋設(shè)計(jì)本部分代碼的實(shí)現(xiàn),應(yīng)按照該注釋規(guī)范來(lái)進(jìn)行。4.11限制條件控件所依賴的的ActriveX DLL prjDBACCESS必須存在。該控件在使用的時(shí)候,必須經(jīng)過(guò)注冊(cè),并且在運(yùn)行時(shí),客戶端程序必須安裝有VB運(yùn)行時(shí)的動(dòng)態(tài)連接庫(kù)。在運(yùn)行時(shí),用戶端的計(jì)算機(jī)必須有鼠標(biāo)或觸摸板等點(diǎn)輸入設(shè)備。4.12測(cè)試計(jì)劃本模塊的輸入基本有鼠標(biāo)點(diǎn)擊

29、來(lái)完成,不需要特殊的測(cè)試用例4.13尚未解決的問(wèn)題本模塊的快捷鍵還不完善。第五部分、操作人員管理設(shè)計(jì)說(shuō)明操作人員維護(hù)模塊的運(yùn)行界面如圖18所示圖18 操作人員維護(hù)界面操作人員管理系統(tǒng)主要是用來(lái)管理對(duì)該軟件進(jìn)行操作的工作人員,同時(shí)系統(tǒng)所提供的用戶權(quán)限設(shè)置能夠提高系統(tǒng)的安全性,并對(duì)不同性質(zhì)的人員給予不同的權(quán)限5.1程序描述主窗體的代碼不是很復(fù)雜,界面設(shè)計(jì)主要是利用了樹(shù)型控件來(lái)實(shí)現(xiàn)的程序模塊名稱:frmsq;重要控件:TreeView、圖像列表Imagelist等;相關(guān)數(shù)據(jù)庫(kù)表:user_load。該窗體主要實(shí)現(xiàn)增加用戶、刪除用戶、對(duì)用戶進(jìn)行授權(quán),主要是面向管理人員對(duì)操作人員的操作進(jìn)行管理,滿足不同

30、層次的人員對(duì)系統(tǒng)不同的需求。5.2功能操作人員管理系統(tǒng)主要是用來(lái)管理對(duì)該軟件進(jìn)行操作的工作人員,同時(shí)系統(tǒng)所提供的用戶權(quán)限設(shè)置能夠提高系統(tǒng)的安全性,并對(duì)不同性質(zhì)的人員給予不同的權(quán)限,為了方便集中管理數(shù)據(jù)庫(kù)表和數(shù)據(jù)源,我們把數(shù)據(jù)庫(kù)的連接放到Global.bas模塊中,應(yīng)用ADO接口技術(shù)直接和SQL Server 2000數(shù)據(jù)庫(kù)服務(wù)器建立連接。5.3性能精 度:通過(guò)鼠標(biāo)點(diǎn)擊或快捷鍵進(jìn)入子模塊,對(duì)在文本框內(nèi)輸入的大小寫(xiě)敏感,姓名和密碼都區(qū)分大小寫(xiě)靈 活 性:用戶鼠標(biāo)點(diǎn)擊可以進(jìn)行確認(rèn),按E鍵表示關(guān)閉當(dāng)前窗口;時(shí)間特性:用戶輸入后的驗(yàn)證時(shí)間在1秒之內(nèi);5.4輸人項(xiàng)通過(guò)鼠標(biāo)點(diǎn)擊或快捷鍵。用戶輸入的姓名,密碼

31、字符信息;這些信息由系統(tǒng)管理員管理,存儲(chǔ)在數(shù)據(jù)庫(kù)表中5.5輸出項(xiàng)提示信息為信息符號(hào),參考的輸出結(jié)果如圖19,在屏幕上顯示一個(gè)對(duì)話框:圖19:一個(gè)顯示刪除管理員的對(duì)話框信息5.6算法該窗體主要實(shí)現(xiàn)對(duì)用戶授權(quán),用戶的授權(quán)是采用0,1編碼來(lái)實(shí)現(xiàn)的。如果該用戶擁有某項(xiàng)權(quán)限,則該權(quán)限為1;反之,則為0。5.7流程邏輯登錄組件的邏輯流程如下:開(kāi)始進(jìn)入新增授權(quán)刪除關(guān)閉退出圖20:操作人員維護(hù)模塊數(shù)據(jù)流程圖5.8接口接口設(shè)計(jì)包括組件提供給外部的接口和對(duì)數(shù)據(jù)訪問(wèn)組件的調(diào)用接口,這些接口構(gòu)成了該ActiveX 控件實(shí)現(xiàn)的內(nèi)容,該窗體主要實(shí)現(xiàn)增加用戶、刪除用戶、對(duì)用戶進(jìn)行授權(quán),主要是面向管理人員對(duì)操作人員的操作進(jìn)行

32、管理,滿足不同層次的人員對(duì)系統(tǒng)不同的需求。Private SubCommand3_Click () '刪除操作人員的命令按鈕'顯示對(duì)話框,是否刪除操作人員t = MsgBox("你是否確定刪除該操作員!", vbOKCancel, "確定嗎?")If t = 1 Then '如果返回1,則進(jìn)行刪除操作 '判斷是否有記錄,如果沒(méi)有記錄,則提示選擇操作人員 If rsdel.BOF = True Or rsdel.EOF = True Then t = MsgBox("請(qǐng)選擇操作員姓名!", vbOKOnl

33、y, "無(wú)記錄") Else '否則進(jìn)行刪除,并顯示成功刪除操作人員對(duì)話框 rsdel.Delete t = MsgBox("成功刪除操作員姓名!", vbOKOnly, "成功") End If tvwdb.Nodes.Clear '清除TreeView中節(jié)點(diǎn)的內(nèi)容 tvwdb.Sorted = True '設(shè)置sorted屬性為真 Set mnode = tvwdb.Nodes.Add() mnode.Text = "操作員姓名"'節(jié)點(diǎn)顯示“操作員姓名” mnode.Image

34、= 2 '設(shè)置節(jié)點(diǎn)的圖表為imagelist1中的圖2 Set rspsw = New ADODB.Recordset rspsw.open"select*from user_load",cn,adOpenStatic,adLockPessimistic Do Until rspsw.EOF '用rspsw中的記錄對(duì)treeview進(jìn)行加載 Set mnode = tvwdb.Nodes.Add(1, tvwChild) '添加treeview的孩子 mnode.Text = rspsw.Fields("user_name") &

35、#39;使其文本為rspsw字段中的用戶名 mnode.Image = 1 '設(shè)置節(jié)點(diǎn)的圖表為imagelist1中的圖1 rspsw.MoveNext '記錄往后移動(dòng)一條 LoopElse Exit SubEnd If'將用戶數(shù)據(jù)庫(kù)表中的用戶名加載到treeview控件中Private SubPrivate Sub loadtreeview() tvwdb.Sorted = True '將treeview的排序設(shè)為真Set mnode = tvwdb.Nodes.Add() mnode.Text = "操作員姓名"'節(jié)點(diǎn)顯示“操作員

36、姓名” mnode.Image = 2 '設(shè)置節(jié)點(diǎn)的圖表為imagelist1中的圖2If cn.State = 1 ThenElse Call condatabase '連接數(shù)據(jù)庫(kù)End If Set rspsw = New ADODB.Recordset '打開(kāi)rspsw記錄集 rspsw.open "select * from user_load", cn, adOpenStatic, adLockPessimistic Do Until rspsw.EOF '用rspsw中的記錄對(duì)treeview進(jìn)行加載 Set mnode = tv

37、wdb.Nodes.Add(1, tvwChild) '添加treeview的孩子 mnode.Text = rspsw.Fields("user_name") '使其文本為rspsw字段中的用戶名 mnode.Image = 1 '設(shè)置節(jié)點(diǎn)的圖表為imagelist1中的圖1 rspsw.MoveNext '記錄往后移動(dòng)一條 LoopEnd SubPrivate Sub Form_Load() '窗體加載過(guò)程 Call loadtreeview '調(diào)用loadtreeview過(guò)程End SubPrivate Sub tvwd

38、b_NodeClick(ByVal Node As MSComctlLib.Node) '處理nodeclick事件If Node.Index = 1 Then '如果只有一個(gè)根節(jié)點(diǎn),則退出程序 Exit SubEnd IfCall check_condatabase '檢查是否連接數(shù)據(jù)庫(kù),如果連接了則放棄,否則連接If Node.Parent.Index = 1 Then '是根節(jié)點(diǎn) nodename = Node.Text '將刪除的變量賦值給nodename Set rsdel = New ADODB.Recordset '獲得該節(jié)點(diǎn)的用戶

39、名的所有資料 rsdel.open "select * from user_load where user_name='" & nodename & "'", cn, _ adOpenStatic, adLockPessimisticEnd IfEnd Sub5.9存儲(chǔ)分配本程序在高級(jí)語(yǔ)言Visual Basic進(jìn)行編碼,直接的內(nèi)存分配由VB運(yùn)行時(shí)分配。本組件內(nèi)所依賴的變量、結(jié)構(gòu)要求全部在組件元素內(nèi)申明。5.10注釋設(shè)計(jì)本部分代碼的實(shí)現(xiàn),應(yīng)按照該注釋規(guī)范來(lái)進(jìn)行。5.11限制條件控件所依賴的的ActriveX DLL prj

40、DBACCESS必須存在。該控件在使用的時(shí)候,必須經(jīng)過(guò)注冊(cè),并且在運(yùn)行時(shí),客戶端程序必須安裝有VB運(yùn)行時(shí)的動(dòng)態(tài)連接庫(kù)。在運(yùn)行時(shí),用戶端的計(jì)算機(jī)必須有鼠標(biāo)或觸摸板等點(diǎn)輸入設(shè)備。5.12測(cè)試計(jì)劃本模塊的輸入基本有鼠標(biāo)點(diǎn)擊來(lái)完成,不需要特殊的測(cè)試用例,在增加管理員是具體的測(cè)試用例和登錄測(cè)試用例相同,這里不再一一例舉。5.13尚未解決的問(wèn)題本模塊的沒(méi)有尚未解決的問(wèn)題。第六部分、人員基本信息管理模塊設(shè)計(jì)說(shuō)明人員基本信息管理模塊的運(yùn)行界面如圖21所示圖21人員基本信息管理模塊界面基本人員信息管理主要實(shí)現(xiàn)了人員信息的編輯、批處理人員信息、醫(yī)生信息維護(hù)和醫(yī)療費(fèi)率調(diào)整4個(gè)模塊。6.1程序描述程序說(shuō)明:基本人員信

41、息管理窗體;程序模塊名稱:frmqueryperson;重要控件:DataGrid,ADODC等;相關(guān)數(shù)據(jù)庫(kù)表:rmk等。6.2功能基本人員信息管理系統(tǒng)主要是用來(lái)管理學(xué)生、醫(yī)生、教師、退休職工等人員信息?;救藛T管理編輯查詢?nèi)藛T批處理人員學(xué)生數(shù)據(jù)導(dǎo)入醫(yī)生信息維護(hù)醫(yī)藥費(fèi)用調(diào)整 圖22基本人員信息管理系統(tǒng)功能為了方便集中管理數(shù)據(jù)庫(kù)表和數(shù)據(jù)源,我們把數(shù)據(jù)庫(kù)的連接放到Global.bas模塊中,應(yīng)用ADO接口技術(shù)直接和SQL Server 2000數(shù)據(jù)庫(kù)服務(wù)器建立連接。6.3性能精 度:通過(guò)鼠標(biāo)點(diǎn)擊或快捷鍵進(jìn)入子模塊,對(duì)在文本框內(nèi)輸入的大小寫(xiě)敏感,姓名和密碼都區(qū)分大小寫(xiě)靈 活 性:用戶鼠標(biāo)點(diǎn)擊可以進(jìn)行

42、確認(rèn),按 退出 表示關(guān)閉當(dāng)前窗口;時(shí)間特性:用戶輸入后的驗(yàn)證時(shí)間在1秒之內(nèi);6.4輸人項(xiàng)通過(guò)大部分鼠標(biāo)點(diǎn)擊輸入或快捷鍵。在調(diào)整或增加人員時(shí),用戶輸入的姓名,密碼字符信息;這些信息由系統(tǒng)管理員管理,存儲(chǔ)在數(shù)據(jù)庫(kù)表中6.5輸出項(xiàng)在查詢模塊中,“查詢”按鈕單擊事件代碼。以下為對(duì)基本人員信息進(jìn)行查詢的代碼,該查詢功能可以按編號(hào)、姓名進(jìn)行查詢,并實(shí)現(xiàn)模糊查詢,即用戶輸入部分字段就可以查到所需的數(shù)據(jù)。查詢相關(guān)人員時(shí)的輸出結(jié)果如圖23:圖23 一個(gè)顯示查詢相關(guān)人員信息6.6算法本部分沒(méi)有采用自定義的算法。6.7流程邏輯基本人員信息管理組件的邏輯流程如下:開(kāi)始基本人員管理編輯查詢費(fèi)調(diào)整信息調(diào)整批處理修改刪出除

43、批調(diào)整增加修改刪除增加刪除退出結(jié)束增加圖24:基本人員信息模塊數(shù)據(jù)流程圖6.8接口接口設(shè)計(jì)包括組件提供給外部的接口和對(duì)數(shù)據(jù)訪問(wèn)組件的調(diào)用接口,這些接口構(gòu)成了該ActiveX 控件實(shí)現(xiàn)的內(nèi)容,對(duì)公費(fèi)醫(yī)療對(duì)象的工齡、定額、補(bǔ)償金等字段進(jìn)行批處理,并能夠定期的刪除畢業(yè)學(xué)生的基本信息,減輕了操作人員的勞動(dòng)強(qiáng)度,減少了因輸入過(guò)多數(shù)據(jù)而導(dǎo)致的錯(cuò)誤。實(shí)現(xiàn)模糊查詢,即用戶輸入部分字段就可以查到所需的數(shù)據(jù)。Private Sub Command1_Click () '查詢按鈕單擊事件If Option3.Value = False Then If Option1.Value = False And Op

44、tion2.Value = False Then MsgBox "請(qǐng)選擇要查詢的數(shù)據(jù)性質(zhì)!", vbOKOnly + vbExclamation, "注意了:)" Exit Sub End If If Text1.Text = "" Then '如果文本框的字段為空 MsgBox "請(qǐng)輸入您想查詢的數(shù)據(jù)內(nèi)容!", vbOKOnly + vbExclamation, "注意了:)" Text1.SetFocus '設(shè)置text1為焦點(diǎn) Exit Sub '退出子過(guò)程 End

45、 IfEnd IfDim strfind As String '定義一字符串變量,用于存放sql語(yǔ)句If Option1.Value = True Then '如果選中了按“號(hào)碼”條件查詢 Select Case Combo1.Text '獲得按什么方式查詢 Case "字段任何部分" '如果選擇的是按字段任何部分查詢 strfind = "select * from rmk where 號(hào)碼 like '" & "%" & Text1. Text & "%&q

46、uot; & "'" 按字段任何部分查找號(hào)碼為T(mén)ext1.text的sql語(yǔ)句 Case "整個(gè)字段" '如果選擇的是按整個(gè)字段查詢 strfind = "select * from rmk where 號(hào)碼='" & Text1.Text & "'" '按整個(gè)字段查找號(hào)碼=Text1.text的sql語(yǔ)句 Case "字段開(kāi)頭部分" '如果選擇的是按字段開(kāi)頭部分查詢 strfind = "select * fro

47、m rmk where 號(hào)碼 like '" & Text1.Text & "%" & "'" '按字段開(kāi)頭部分查找號(hào)碼為T(mén)ext1.text開(kāi)頭的sql語(yǔ)句 End Select '結(jié)束查找ElseIf Option2.Value = True Then '如果選中了按“姓名”條件查詢 Select Case Combo1.Text Case "字段任何部分" strfind = "select * from rmk where 姓名 like '" & "%" & Text1.Text & "%" & "'" '按字段任何部分查找姓名為T(mén)ext1.text的sql語(yǔ)句 Cas

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論