藥品采購銷售管理系統(tǒng)-免費畢業(yè)設計論文_第1頁
藥品采購銷售管理系統(tǒng)-免費畢業(yè)設計論文_第2頁
藥品采購銷售管理系統(tǒng)-免費畢業(yè)設計論文_第3頁
藥品采購銷售管理系統(tǒng)-免費畢業(yè)設計論文_第4頁
藥品采購銷售管理系統(tǒng)-免費畢業(yè)設計論文_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

藥品采購銷售管理系統(tǒng)畢業(yè)設計論文學校:___________________姓名:___________________學號:___________________同組人員:_______________指導老師:_______________二○○年五月目錄前言 3摘要 3系統(tǒng)概況 5第一章、需求分析 61.1開發(fā)工具選擇 61.2業(yè)務流程分析 6第二章系統(tǒng)實現(xiàn)的理論基礎 92.1、VISUALBASIC6.0簡介 92.2ACCESS數(shù)據(jù)庫介紹 102.3ADO技術 102.4SQL語言 11第三章、系統(tǒng)設計 133.1系統(tǒng)功能分析 133.2、總體方案設計圖 143.3、系統(tǒng)性能分析 153.4、系統(tǒng)功能模塊設計 15第四章.數(shù)據(jù)庫設計 164.1、數(shù)據(jù)庫需求分析 164.2、E-R圖設計 174.3、數(shù)據(jù)庫邏輯結構設計 204.4、創(chuàng)建應用程序結構 23第五章.模塊軟件設計 245.1、開發(fā)業(yè)務邏輯處理組件 245.2、創(chuàng)建組件的通用模塊 245.3、藥品類型信息管理模塊 265.4、藥品信息管理模塊 275.6、進貨信息管理模塊 305.7、采購信息管理模塊 315.8、報損信息管理模塊 325.9、管理員信息管理模塊 33第六章、系統(tǒng)界面具體實現(xiàn) 33測試分析 42總結 43參考文獻 43前言藥品采購管理系統(tǒng)是一個藥店不可缺少的部分,它的內容對于藥店的決策者和管理者來說都至關重要,所以藥品采購管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的采購,查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件信息,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對品質信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高藥店管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套藥品采購管理系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題及解決方法。摘要藥品采購管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。

經過分析,我們使用MICROSOFT公司的VISUALBASIC開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。本系統(tǒng)主要完成對藥店的管理,包括進貨管理,采購管理,庫存管理和員工管理四個方面。系統(tǒng)可以完成對各類信息的瀏覽、查詢、添加、刪除、修改等功能。

系統(tǒng)的核心是采購、庫存查詢和進貨管理三者之間的聯(lián)系,每一個表的修改都將聯(lián)動的影響其它的表,當完成采購或進貨操作時系統(tǒng)會自動地完成相對應信息的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中主要根據(jù)藥品編號和藥品名稱等進行查詢,其目的都是為了方便用戶使用,以求更快的查找到各個物料和產品品質的基本信息。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,系統(tǒng)采用MicrosoftOffice中的Access2000來設計數(shù)據(jù)庫,并使用當前優(yōu)秀的開發(fā)工具—VB6.0,它有著最為靈活的數(shù)據(jù)庫結構,對數(shù)據(jù)庫應用有著良好的支持。

論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點的說明了系統(tǒng)設計的重點、設計思想、難點技術和解決方案。

[英文摘要]SummaryThissystemchieflyaccomplishesthestockmanagementtothestorehouse,includesbeingputinstorage,goesoutthewarehouseandstocks,andstaff’sinformation,sixaspectssuchassupplier'sinformationaswellascryptogrammanagementetc.Whatthesystemcanaccomplishtovariouskindtheinformationglancesoverandthefunctionsuchasinquiresabout,adds,deletesandmodificationetc.Thesystematicnucleusisisputinstorage,stocksandgoesoutthecontactbetweenthewarehouse,andwhenaccomplishesbeingputinstorageorgoingoutawarehouse,thesystemcanaccomplishvoluntarilythemodificationofstocktoothertableofinfluencethatthemodificationofeverytableallwillbelinkageedwhenoperating.Inquiringaboutthefunctionalsoisoneofsystematicnucleus,namelyhavingthewallscrollsparetoinquireaboutandinquiresaboutwithmanyconditionsinthesystem,alsohavingaccuratelythequerytoinquireaboutwithbluring,notonlythereistheconditionqueryofstaticstateinthesystem,alsohavingtheconditionqueryoftrendsformations,hispurposeallisusingforconvenientuser.Thesystemhascompleteusertoadd,deletesandtheciphermodificationfunction,andhasthereportformandprintsthefunction.TheAccess2000thatthesystemadoptedamongMicrosoftOfficecomesthedesigndatawarehouse,andusebeforeonezorchdevelopmenttool-VB6.0,ithasthemostnimbledatabasestructure,andtheapplicationhasthegoodsupporttothedatawarehouses.Thedevelopmentbackgroundofthisthesubject,courseoffunctionandthedevelopmentthatwillbeaccomplishedwerechieflyintroducedtothesis.Theemphaticexplanationfocalpointofsystemsdesign,designthoughtanddifficultpointtechnologyandsettlementscheme.Thekeyword:thedatabase,SQL'slanguage,vb6.0,'sdatabasepackage,theWarehousemanagement.關鍵字:控件、窗體、數(shù)據(jù)庫,visualbasic語言,藥店,藥品系統(tǒng)概況1、課題名稱《藥品采購管理系統(tǒng)》2、開發(fā)工具VisualBasic6.03、運行環(huán)境(1)、硬件環(huán)境CPU賽揚1.2,內存64Mb以上,硬盤3G以上,(2)、軟件環(huán)境各種操作系統(tǒng),如:windows98/windowsxp/windos2000。第一章、需求分析1.1開發(fā)工具選擇本軟件使用MicrosoftVisualBasic6.0進行編寫。數(shù)據(jù)庫技術的產生與發(fā)展源于對于數(shù)據(jù)的組織和管理。數(shù)據(jù)庫技術是數(shù)據(jù)管理的技術,它隨著數(shù)據(jù)管理任務的需要而產生于20世紀60年代中期。這是一門綜合性技術,涉及操作系統(tǒng),數(shù)據(jù)結構,算法設計和程序設計等知識。數(shù)據(jù)庫技術的基本思想是對數(shù)據(jù)實行集中,統(tǒng)一,獨立的管理,用戶可以最大限度的共享數(shù)據(jù)資源。數(shù)據(jù)庫系統(tǒng)實際上是一個應用系統(tǒng),它是在計算機硬,軟件系統(tǒng)支持下,由用戶,數(shù)據(jù)庫管理系統(tǒng),存儲在存儲設備上的數(shù)據(jù)和數(shù)據(jù)庫應用程序構成的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng),應用程序,用戶組成。數(shù)據(jù)庫的特點:1.實現(xiàn)數(shù)據(jù)共享2.實現(xiàn)數(shù)據(jù)獨立3.減少了數(shù)據(jù)冗余度4.避免了數(shù)據(jù)不一致性5.加強了對數(shù)據(jù)的保護。數(shù)據(jù)庫應用系統(tǒng)(DATABASEAPPLICATIONSYSTEMSDBAS)管理信息系統(tǒng)開放式信息服務系統(tǒng)一個數(shù)據(jù)庫應用系統(tǒng)通常是由數(shù)據(jù)庫和應用程序兩部分組成,它們是在數(shù)據(jù)庫管理系統(tǒng)支持下設計和開發(fā)出來的。1.2業(yè)務流程分析隨著醫(yī)療制度改革的進行,藥品招標采購的逐年規(guī)范和擴大,藥品管理已經成為藥劑科乃至整個醫(yī)院管理的重要內容。傳統(tǒng)的管理模式已經跟不上顧客對快節(jié)奏生活的要求了!隨著計算機的普及和計算機軟件的不斷發(fā)展,越來越多的醫(yī)療機構開始注視計算機這個輔助工具為自己帶來的效益了。醫(yī)院的售藥機構需要通過計算機提高自已工作效率、建立與病人之間的友好關系,提升自己的知名度,提高經濟效益。本次畢業(yè)設計所要完成的藥品管理系統(tǒng)是太原第二熱電廠職工醫(yī)院藥品管理系統(tǒng)標準案例,旨在幫助該醫(yī)院在藥品管理乃至整個醫(yī)院的信息化登上一個新的臺階。系統(tǒng)詳細業(yè)務流程分析圖為:庫存帳庫存帳記錄賬目用料審核已批準預料單生成報表計算預料預料通知倉儲部確認庫存不足補貨單確認物量提貨通知供貨單位催貨單生成催貨單生成補貨單采購部生成入庫單入庫單缺貨通知單倉儲部部長預料單庫存報表車間有關部門未批準預料單第二章系統(tǒng)實現(xiàn)的理論基礎2.1、VISUALBASIC6.0簡介VisualBasic作為當今社會功能強大的可視化開發(fā)工具具有以下幾大特點:(1)成功的簡化了界面的設計過程。它在Windows平臺上提供了圖形用戶界面(GUI)的集成開發(fā)環(huán)境(IDE)。在集成開發(fā)環(huán)境中,你可以選擇想要顯示的工具欄,將按鈕添加并移動到工具欄中,在不固定的或固定的工具欄中以及SDI或MDI界面中進行選擇,VisualBasic的IDE就像飛機的坐艙,完成你工作所需的所有量表和儀器都已經配備好了。采用簡單易學的Basic語言,它既適用于沒有任何編程經驗的開發(fā)者學習,也適合于開發(fā)各種復雜的底層應用程序,使用Basic語言編寫的應用程序簡潔靈巧易于維護,可以說它是一種“天生結構化”的語言。(2)提供了多種向導。利用這些向導,可以快速地完成一般性的任務,例如生成其控件不綁定到數(shù)據(jù)控件上的純代碼窗體,建立查詢,添加工具,制作圖表,以及發(fā)布創(chuàng)建的應用程序等,這樣可以大大加快應用程序的開發(fā)過程。(3)具有強大的數(shù)據(jù)和字符串處理功能。VisualBasic還是一種易于擴充功能的開發(fā)系統(tǒng)。一方面,它可以使用第三方廠家提供的各種VisualBasic使用的控件;另一方面,開發(fā)者也可以使用其他編程語言編寫自己所需的控件,因此它是一種可以不斷擴充功能的開發(fā)系統(tǒng)。(4)提供了IntelliSense技術。當你在VisualBasic的代碼窗口敲進對象名稱的時候,IntelliSense技術會自動向你顯示一些相關的信息,例如對象的屬性和方法等。當一種方法或函數(shù)的參數(shù)被輸入時,IntelliSense有助于確保開發(fā)者們?yōu)閂isualBasic提供正確的變量以及幫助用戶自己編寫正確的函數(shù)。IntelliSense也有助于提高開發(fā)者們的開發(fā)能力,因為他們此時不必再記憶那些復雜的對象屬性及函數(shù)參數(shù)了。2.2ACCESS數(shù)據(jù)庫介紹MicrosoftAccess是微軟公司開發(fā)的第一個面向Windows平臺的桌面數(shù)據(jù)庫管理系統(tǒng),它充分利用了Windows平臺的優(yōu)越性,如圖形界面和Windows的事件驅動機制等。作為Microsoft的office套件產品之一,access已經賣出了近700萬份,成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。Access與許多優(yōu)秀的關系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫程序(如dBASE,Paradox,MicrosoftFoxPro)和服務器、小型積極大型機上的許多SQL數(shù)據(jù)庫。Access還完全支持Microsoft的OLE技術。Access還提供windows操作系統(tǒng)的高級應用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強大而且相當專業(yè)的數(shù)據(jù)庫應用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡短的VBA代碼,那么您的程序決不比專業(yè)程序員潛心開發(fā)的程序差。2.3ADO技術ActiveDataObjects(ADO)微軟最新的數(shù)據(jù)庫訪問技術,它被設計用來同新的數(shù)據(jù)訪問層OLEDBProvider一起協(xié)同工作,以提高通用數(shù)據(jù)訪問(UniversalDataAccess).OLEDB是一個低層的數(shù)據(jù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關系型數(shù)據(jù)庫,以及電子郵件系統(tǒng)及自定義的商業(yè)對象。ADO向我們提供了一個熟悉的,高層的對OLEDB的Automation的封裝接口。對那些熟悉RAO的程序員來說,可以把OLEDB比作是ODBC驅動程序。如同RAO對象是ODBC驅動程序接口一樣,不同的數(shù)據(jù)源要求它們自己的OLEDB提供者(OLEDBProvider)。ADO最重要的三個對象是:Connection,Command,Recordset。(1)Connection對象

Connection對象用于建立與數(shù)據(jù)庫的連接。通過連接可從應用程序訪問數(shù)據(jù)源。它保存諸如指針類型,連接字符串,查詢超時,連接超時和缺省數(shù)據(jù)庫這樣的連接信息。(2)Command對象

在建立Connection后,可以發(fā)出命令操作數(shù)據(jù)源。一般情況下,Command對象可以在數(shù)據(jù)庫中添加,刪除或更新數(shù)據(jù),或者在表中進行數(shù)據(jù)查詢。Command對象在定義查詢參數(shù)或執(zhí)行一個有輸出參數(shù)的存儲過程時非常有用。(3)Recordset對象

Recordset對象只代表一個記錄集,這個記錄集是一個連接的數(shù)據(jù)庫中的表,或者是Command對象的執(zhí)行結果返回的記錄集。在ADO對象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對數(shù)據(jù)的操作幾乎都是在Recordset對象中完成的。Record對象用于指定行,移動行、添加、更改、刪除記錄。2.4SQL語言SQL語言是一種介于關系代數(shù)與關系演算之間的結構化查詢語言,其功能不僅僅是查詢。SQL是一個通用的、功能極強的關系數(shù)據(jù)庫語言。SQL語言之所以能夠為用戶和業(yè)界所接受,并成為國際標準,是因為它是一個綜合的、功能極強同時有簡單易學的語言。SQL語言集數(shù)據(jù)查詢(DataQuery)、數(shù)據(jù)操縱(DataManipulation)、數(shù)據(jù)定義(DataDefinition)和數(shù)據(jù)控制(DataControl)功能于一體,主要特點包括:綜合統(tǒng)一數(shù)據(jù)庫系統(tǒng)的主要功能是通過數(shù)據(jù)庫支持的數(shù)據(jù)語言來實現(xiàn)的。SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風格統(tǒng)一,可以獨立完成數(shù)據(jù)庫生命周期中的全部活動,包括定義關系模式、建立數(shù)據(jù)庫、插入數(shù)據(jù)、查詢、更新、維護、數(shù)據(jù)庫重構、數(shù)據(jù)庫安全性控制等一系列操作要求,這就為數(shù)據(jù)庫應用系統(tǒng)的開發(fā)提供了良好的環(huán)境。用戶在數(shù)據(jù)庫系統(tǒng)投入運行后,還可根據(jù)需要隨時地逐步地修改模式,且并不影響數(shù)據(jù)庫的運行,從而是系統(tǒng)具有良好的可擴展性。(2)高度非過程化非關系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向過程的語言,用其完成某項請求,必須指定存取路徑。而用SQL語言進行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做”,因此無須了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。這不但大大減輕了用戶負擔,而且有利于提高數(shù)據(jù)獨立性。(3)面向集合的操作方式非關系數(shù)據(jù)模型采用的是面向記錄的操作方式,操作對象是一記錄。例如查詢所有平均成績在80分以上的學生姓名,用戶必須一條一條地把滿足條件的學生記錄找出來(通常要說明具體處理過程,即按照哪條路徑,如何循環(huán)等)。而SQL語言采用集合操作方式,不僅操作對象、查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。(4)以同一種語法結構提出兩種使用方式SQL語言既是自含試語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用于聯(lián)機交互的使用方式,用戶可以在終端鍵盤上直接鍵入SQL命令對數(shù)據(jù)庫進行操作;作為嵌入式語言,SQL語言能夠嵌入到高級語言(例如C、COBOL、FORTRAN)程序中,供程序員設計程序時使用。而在兩中不同的使用方式下,SQL語言的語法結構基本上是一致的。這種以統(tǒng)一的語法結構提供兩種不同的使用方式的做法,提供了極大的靈活性與方便性。(5)語言簡捷,易學易用SQL語言功能極強,但由于設計巧妙,語言十分簡捷,完成核心功能只使用了9個動詞:數(shù)據(jù)查詢(SELECT)、數(shù)據(jù)定義(CREATE,DROP,ALTER)、數(shù)據(jù)操作(INSERT,UPDATE,DELETE)和數(shù)據(jù)控制(GRANT,REVOKE)。SQL語言接近英語口語,因此容易學習,容易使用。第三章、系統(tǒng)設計3.1系統(tǒng)功能分析1)基本信息的維護藥品類型的建立與維護,包括藥品類型的新建、修改和刪除等。藥品基本信息管理:包括藥品基本信息的新建、修改和刪除等。供貨商信息管理:包括供貨商信息的新建、修改和刪除等。管理員信息管理:系統(tǒng)管理員的添加、刪除和修改密碼等。2)進貨管理藥品進貨信息管理:藥品進貨信息包括藥品進貨數(shù)量、單價、供貨商等。藥品進貨管理功能完成進貨信息登記、修改和刪除等。分類查看:可以根據(jù)藥品類型來查看某種藥品的進貨情況。更新庫存:進貨信息的變動直接關系到庫存的變化。進貨分析:列出當前進貨量最多的前幾項藥品和進貨量最少的前幾項藥品。庫存分析:列出當前庫存量最多的前幾項藥品和庫存量最少的前幾項藥品。3)采購管理藥品采購信息管理:藥品采購信息包括藥品采購數(shù)量、單價、統(tǒng)計日期等。藥品采購管理功能完成采購信息登記、修改和刪除等。分類查看:可以根據(jù)藥品類型來查看某種藥品的采購情況。更新庫存:采購信息的變動直接關系到庫存的變化。采購分析:列出當前采購量最多的前幾項藥品和采購量最少的前幾項藥品。4)報損管理藥品報損信息管理:藥品報損信息包括藥品報損數(shù)量、報損原因等。藥品報損管理功能完成報損信息登記、修改和刪除等。分類查看:可以根據(jù)藥品類型來查看某種藥品的報損情況。更新庫存:報損信息的變動同樣直接關系到庫存的變化。報損分析:列出當前報損量最多的前幾項藥品和報損量最少的前幾項藥品。3.2、總體方案設計圖主窗體主窗體系統(tǒng)登入退出登入成功失敗藥品類型管理藥品管理藥品進貨管理藥品采購管理藥品報損管理供貨商管理添加藥品類型修改藥品類型刪除藥品類型添加藥品刪除藥品登記進貨藥品刪除進貨藥品登記采購藥品修改進貨藥品登記報損藥品修改報損藥品修改采購藥品添加供貨商刪除供貨商刪除報損藥品刪除采購藥品修改供貨商修改藥品3.3、系統(tǒng)性能分析1)多層結構設計嚴格意義上的三層結構設計,其程序邏輯結構分為用戶界面層、業(yè)務邏輯處理層和數(shù)據(jù)存儲層。本系統(tǒng)采用的上有三層結構進一步擴展而成的多層結構。2)面向對象設計在系統(tǒng)中將藥品類型、藥品等都封裝成相應的類,同時每個類都有自己對應的集合類和操作類,從而再次提高了對數(shù)據(jù)庫操作的安全性和程序的可擴展性。3)指導經營的功能進銷存管理系統(tǒng)并不僅僅能代替?zhèn)鹘y(tǒng)的書面操作,更重要的是它提供了信息分析的功能,只要單擊一個按鈕就可以查到目前采購最好的藥品或是庫存最多的藥品,從而起到指導經營的作用。3.4、系統(tǒng)功能模塊設計按結構化程序設計思想,分析得出如下系統(tǒng)功能模塊圖:藥品采購管理系統(tǒng)藥品采購管理系統(tǒng)藥品類型管理系統(tǒng)藥品管理模塊供貨商管理模塊藥品進貨管理模塊藥品采購管理模塊采購分析模塊用戶管理模塊操作員登入模塊添加藥品類型修改藥品類型刪除藥品類型添加藥品信息 修改藥品信息刪除藥品信息登記進貨信息修改進貨信息刪除進貨信息添加供貨商修改供貨商刪除供貨商登記采購表修改采購記錄刪除采購信息藥品報損管理模塊登記報損信息修改報損記錄刪除報損記錄系統(tǒng)功能模塊圖第四章.數(shù)據(jù)庫設計4.1、數(shù)據(jù)庫需求分析1)針對藥品采購管理系統(tǒng),分別對采購部門、采購部門和庫存保管部門進行詳細的調研和分析,總結出如下的需求信息:藥品按類管理,所以需要有一藥品類型信息。藥品必須屬于一個藥品類型。如果一個藥品類型存在藥品,或存在下級藥品類型,則該類型不可刪除。需要記錄供應藥品信息。在涉及藥品數(shù)量的地方,要給出相應的單位。藥品采購信息單中要包含登記藥品采購數(shù)量、單價等信息。在進貨信息中要包含藥品供應商等信息。藥品報損要有報損原因。進貨、采購、報損操作要有相應操作員信息。只有管理員登錄之后才可以使用系統(tǒng)。默認的管理員不可以刪除。進貨、采購、庫存、報損信息都要可以添加、修改、刪除、分類查找。當進行進貨、采購和報損操作后,能相應更新庫存。需要對進貨、采購、庫存、報損進行分析,總結熱門藥品。2)經上述系統(tǒng)功能分析和需求總結,考慮到將來功能的擴展,設計如下的數(shù)據(jù)項和數(shù)據(jù)結構:藥品類型信息,包括數(shù)據(jù)項有:藥品類型編號、藥品類型名稱等。藥品信息,包括的數(shù)據(jù)項有:藥品編號、藥品名稱、藥品介紹、庫存量等。藥品單位信息,包括單位編號、單位名稱等。供應商信息,包括供應商名稱、介紹等。進貨信息,包括進貨藥品、數(shù)量、單位、單價、進貨時間經手人等。采購信息,包括采購藥品、數(shù)量、單位、單價、登記時間等。報損信息,包括報損藥品、數(shù)量、單位、原因、登記時間等。管理員信息,包括管理員賬號、密碼、是否是默認賬號等。4.2、E-R圖設計本系統(tǒng)根據(jù)以上的設計規(guī)劃出的實體有:藥品類型信息實體、藥品信息實體、藥品單位信息實體、供應商信息實體、進貨信息實體、采購信息實體、報損信息實體和管理員信息實體。各個實體具體的描述E-R圖如下藥品類型信息實體E-R圖藥品類型藥品類型號藥品類型藥品類型號藥品類型名備注藥品信息實體E-R圖藥品藥品藥品名稱藥品編號藥品類型ID庫存量單位信息實體E-R圖單位單位單位編號單位名稱供應商信息實體E-R圖供貨商供貨商供貨商名稱供貨商介紹備注供貨商編號進貨信息實體E-R圖進貨信息進貨信息供應商ID藥品ID進貨單價進貨時間采購信息實體E-R圖采購信息采購信息藥品編號登記日期采購數(shù)量賣出單價報損信息實體E-R圖報損信息報損信息藥品編號登記日期報損數(shù)量報損原因管理員信息實體E-R圖管理員管理員是否默認用戶用戶名密碼4.3、數(shù)據(jù)庫邏輯結構設計首先將藥品采購管理信息系統(tǒng)的數(shù)據(jù)庫概念結構轉化為Access數(shù)據(jù)庫或SQLServer2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,即:數(shù)據(jù)庫的邏輯結構。其各個表格的設計結果如下數(shù)據(jù)表:藥品類型信息表(MerchandiseType)列名數(shù)據(jù)類型字段大小必填字段默認值說明MT_ID_N自動編號長整型是藥品類型號,遞增,主鍵MT_Name_S文本15是藥品類型名MT_RemarkR備注是“”備注數(shù)據(jù)表:藥品信息表(Merchandise)列名數(shù)據(jù)類型字段大小必填字段默認值說明M_Id_N自動編號長整型是藥品編號,遞增,主鍵M_Name_S文本80是藥品名稱M_Introduce_S文本255是藥品介紹M_TypeId_N數(shù)字長整型是1藥品類型IDM_Storage_N數(shù)字長整型是0庫存量M_UnitId_N數(shù)字長整型是1單位編號M_Remark_R備注是“”備注數(shù)據(jù)表:藥品單位信息表(Unit)列名數(shù)據(jù)類型字段大小必填字段默認值說明U_ID_N自動編號長整型是單位編號,遞增,主健U_NAME_S文本10是單位名稱數(shù)據(jù)表:供應商信息表(Provider)列名數(shù)據(jù)類型字段大小必填字段默認值說明P_Id_N自動編號長整型是供貨商編號,主健P_Name_S文本50是供貨商名稱P_Introduce_S文本255是“”供貨商簡介P_Remark_R備注是“”備注數(shù)據(jù)表:進貨信息表(Buy)列名數(shù)據(jù)類型字段大小必填字段默認值說明B_ID_N自動編號長整型是進貨ID,遞增,主健B_ProviderId_N文本長整型是供應商IDB_MerchandiseId_N數(shù)學長整型是藥品IDB_StockDate_D日期短日期是Dare()進貨時間B_Deliver_S文本20是送貨人姓名B_Consignee_S文本20是經手人姓名B_Count_N數(shù)字長整型是0購入量B_StockPrice_N數(shù)字單精度型是0進貨單價B_OperatorId_S文本20是操作員IDB_Remark_R備注是“”備注數(shù)據(jù)表:采購信息表(Sell)列名數(shù)據(jù)類型字段大小必填字段默認值說明S_ID_N自動編號長整型是采購編號,遞增,主鍵S_MerchandiseID_D數(shù)字長整型是藥品IDS_RegDate_D日期短日期是Date()登記日期S_Count_N數(shù)字長整型是0售出數(shù)量S_SellPrice_N數(shù)字單精度型是0賣出單價S_OperatorId_S文本20是“”操作員IDS_Remark_R備注是“”備注數(shù)據(jù)表:報損信息表(Dispose)列名數(shù)據(jù)類型字段大小必填字段默認值說明D_ID_N自動編號長整型是報損編號,遞增,主鍵D_MerchandiseID_N數(shù)字長整型是藥品IDD_RegDate_D日期短日期是Date()登記日期D_Count_N數(shù)字長整型是0報損數(shù)量D_Reason_S文本255是“”報損原因D_Operatorld_S文本20是操作員IDD_Remark_R備注是“”備注數(shù)據(jù)表:管理員信息實體(Admins)列名數(shù)據(jù)類型字段大小必填字段默認值說明A_Account_S文本20是賬號,主鍵A_Pwd_S文本20是密碼A_IsDefault_B是/否是False是否是默認用戶4.4、創(chuàng)建應用程序結構1)創(chuàng)建用戶界面端程序VB中選擇文件-新建工程,打開,選擇VB應用程序向導。設置后將向導生成的模塊命名mdlMain保存與文件夾Merchandise中。2)創(chuàng)建業(yè)務邏輯處理組件新建ActiveXDLL工程-設置工程屬性-加入對ADO的引用。3)創(chuàng)建基本界面組件新建ActiveXDLL工程-設置工程屬性-加入對業(yè)務邏輯組件的引用。4)在界面端程序中使用組件在工程資源管理器中選中工程Merchandise,選擇菜單工程-引用命令。打開引用對話框,在可用的引用列表中選擇BuySellStorageUI和BuySellStorageDB。第五章.模塊軟件設計5.1、開發(fā)業(yè)務邏輯處理組件進銷存業(yè)務處理組件用來處理進銷存管理系統(tǒng)中的業(yè)務邏輯,既負責與界面進行數(shù)據(jù)傳遞,同時也要將界面端的請求應用業(yè)務邏輯之后對數(shù)據(jù)庫進行操作。它包含以下功能:藥品類型信息管理,對應clsMType類和clsMTypes類。藥品信息管理,對應clsMerchandise類和clsMerchandises類。供應商信息管理,對應ClsProvider類和ClsProviders類。進貨信息管理,對應clsBuy類和clsBuys類。采購信息管理,對應clsSell類和clsSells類。報損信息管理,對應clsDispose類和clsDisposes類。管理員信息管理,對應clsAdmini類和clsAdminis類。1、信息管理類加集合類的設計思想在本組件中,每一個模塊的設計都是由這個模塊的信息管理類加與之對應的集合類求實現(xiàn)的。具體完成的功能如下:在信息管理類:實現(xiàn)與單個信息相關的操作,包括添加、修改和刪除。在信息管理集合類:實現(xiàn)與多個信息先觀的操作,主要是根據(jù)不用的條件查找。因此,每個模塊在設計上都是獨立的,除非它在邏輯上有不可分割的關系,如進貨信息的操作,與藥品庫存直接掛鉤,將進貨信息表的操作與藥品表的操作放入到一個事務中,這樣來確保數(shù)據(jù)的安全性與一致性。5.2、創(chuàng)建組件的通用模塊這里需要給組件添加兩個通用模塊,他們分別是:自定義枚舉類clsPunliv:主要功能是保存一些自定義枚舉類型。公共模塊mdlMain:組件初始化的函數(shù)和數(shù)據(jù)庫操作的常用函數(shù)與過程。自定義枚舉類我們已經將新建工程時自動生成的類名稱設為clsPublic,此類沒有其他具體的意義,主要功能是保存一些自定義枚舉類型,,這些枚舉類型在以后其他各類中要經常用到,所以這里首先介紹。組件的公共模塊在工程中添加一個模塊,命名為mdlMain,此模塊有兩個功能:用來連接數(shù)據(jù)庫及相關的初始化操作。存放在對數(shù)據(jù)庫的操作過程中可能用到的一些公共函數(shù)。添加全局變量SubMain()過程——組件啟動入口手動加入SubMain()過程,這個就是剛才在“工程屬性”中指定的啟動對象。這個過程完成ActiveXDLL的初始化工作。在這個過程中假如對g_DBPath的默認設置,并打開數(shù)據(jù)庫連接。在SubMain中的ConnectToDatabase函數(shù),功能是用來連接到數(shù)據(jù)庫。ConnectToDatabase函數(shù)——與數(shù)據(jù)庫建立連接功能:根據(jù)傳入?yún)?shù)是DBAccess還是DBSQLSever來決定連接到Access數(shù)據(jù)庫還是SPLSever數(shù)據(jù)庫。參數(shù)設計:gxDBType類型,參見clsPublic類中的枚舉定義。返回值:Boolean類型,True表示成功,F(xiàn)alse表示失敗。RealString——替換字符串的單引號MaxID——獲取編號的最大值MaxID函數(shù)用來獲取表中當前主健的最大值,這個函數(shù)用于在數(shù)據(jù)庫中添加新記錄后,立即獲取剛才添加記錄的主健值。3)創(chuàng)建模塊類(1)設計、總結公共屬性和方法單個模型的信息管理類有以下共同的屬性和方法:屬性ID方法AddNew()方法Update()方法Delete(lngIDAsLong)方法DeleteEx()多個模型的集合類有以下共同的屬性和方法:方法AddEx方法Clear方法Find(2)創(chuàng)建模板類下面,首先利用類生成器創(chuàng)建一個類clsDBbase,作為模板類,向其中添加一個屬性,名稱為ID,類型為Long,聲明為Let/Get,然后,如下表所示。名稱參數(shù)返回值說明AddNew無gxcAddNew添加數(shù)據(jù)Update無gxcUpdate更新數(shù)據(jù)DeletegxcDelete刪除數(shù)據(jù)DeleteEx無gxcDelete刪除數(shù)據(jù)然后再新建一個集合類clsDBbase,作為集合類的模板類,集合組成選clsDBbase,如下表所示。名稱參數(shù)返回值說明AddNewObjAsclsDBbase無以對象為單位添加元素Clear無清空集合FindOptionallngIDAsLong=-1OptionallngTypeIdAsLong=0clsDBbase查找數(shù)據(jù)(3)使用模板類模板類的使用很簡單,在用類生成器新建類時,只要在“基于”下拉列表框中選擇所需要的模板類即可。5.3、藥品類型信息管理模塊藥品類型信息管理模塊的功能需要由clsMType和clsMTypes兩個類來實現(xiàn),它的主要功能是:添加藥品類型信息。修改藥品類型信息。刪除藥品類型信息。查找藥品類型信息。其他與藥品類型相關的常用操作。1)、藥品類型信息管理類clsMType(1)創(chuàng)建clsMType類并添加屬性藥品類型信息類clsMType用來處理單個藥品類型的信息,實現(xiàn)藥品類型操作的基本功能,如添加、修改、刪除等。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”對話框,選擇“VB類生成器”,使用類生成器向工程中添加clsMType類,基于下拉列表框中選擇clsDBbase。如下表所示。屬性名稱數(shù)據(jù)類型屬性聲明IDLongGet/LetSuperIDLongGet/LetTypeNameStringGet/Let屬性添加完畢并應用后,可以看到在clsMType類中已經自動添加了類的成員變量和屬性。(2)AddNew方法功能:添加耽擱藥品類型。參數(shù)設計:無。返回值:gxcAddNew類型請參考clsPublic類中gxcAddNew枚舉類型的定義。(3)Update方法功能:修改藥品類型。返回值:gxcUpdate類型,請參考clsPublic類中gxcUpdate枚舉類型的定義。(4)Delete方法功能:刪除藥品類型。參數(shù)設計:可選參數(shù)lngID表示藥品類型ID,默認為-1。返回值:gxcDelete類型,請參考clsPublic類中gxcDelete枚舉類型的定義。2)、藥品類型信息管理集合類clsMTypes藥品類型信息集合類clsMTypes用來處理多個藥品類型的信息,其最小的單元是clsMType,它完成與一組藥品類型信息相關的操作,比如查找功能。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”對話框,選擇“VB類生成器”,使用類生成器在工程中添加一個集合類,命名為clsMTypes類,在“基于”下拉列表框中選擇clsDBbases,在“集合組成”欄中選擇clsMType類。應用設置后系統(tǒng)會自動生成一個標準集合類所具有的最基本屬性與方法,另外也加入了clsDBbases中方法的定義。添加AddEx方法(2)添加Find方法功能:根據(jù)給定參數(shù)查找藥品類型,結果以clsMTypes類型返回。參數(shù)設計:一個可選的類型ID,默認值為-1。返回值:clsMTypes類型,一個clsMType的集合。省略參數(shù)時,返回全部藥品類型。5.4、藥品信息管理模塊藥品信息管理模塊的功能需要有clsMerch和clsMerchs兩個類來實現(xiàn),它的主要功能是:添加藥品信息修改藥品信息刪除藥品信息查找藥品信息其他與藥品信息相關的常用操作1)、藥品信息管理類clsMerch(1)創(chuàng)建clsMerch類并添加屬性屬性名稱數(shù)據(jù)類型說明IDLong藥品編號MerchNameString藥品名稱IntroduceInteger藥品介紹TypeIdgxcSex藥品類型IDStorageLong庫存量UnitIDString單位編號RemarkString備注TypeNameString藥品類型名稱AddNew方法功能:添加單個藥品信息參數(shù)設計:無。返回值:gxcAddNew類型,參考clsPublic類中gxcAddNew枚舉類型的定義。Update方法功能:修改藥品信息。參數(shù)設計:無。返回值:gxcUpdate類型,請參考clsPublic類中gxcUpdate枚舉類型的定義。(4)Delete方法功能:刪除藥品信息。參數(shù)設計:可選參數(shù)lngID表示藥品ID,默認為-1。返回值:gxcUpdate類型,請參考clsPublic類中gxcUpdate枚舉類型的定義。藥品信息管理集合類clsMerchs藥品信息集合類clsMerchs用來具體處理多個藥品的信息,其最小的單元是clsMerch,它完成與一組藥品信息相關的操作,比如查找等。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”對話框,選擇“VB類生成器”,使用類生成器在工程中添加一個集合類,命名為clsMerchs類,在“基于”下拉列表框中選擇clsDBbases,在“集合組成”欄中選擇clsMerch類。應用設置后系統(tǒng)會自動生成一個標準集合類所具有的最基本屬性與方法,下面,為clsMerchs添加必要的方法。添加AddEx方法添加Find方法功能:根據(jù)給定參數(shù)查找藥品信息,結果以clsMerchs類型返回。參數(shù)設計:如下表。返回值:clsMerchs類型,一個clsMerch的集合。顯然當上面兩個參數(shù)都不指定時,返回全部藥品。Find參數(shù)設計參數(shù)名參數(shù)類型功能是否可選及默認值說明lngIDLong傳入藥品ID可選,默認值=0如果取默認值,表示不限制藥品IDlngTypeIdLong傳入藥品類型ID可選,默認值=0如果取默認值,表示不限制藥品類型添加FindStorage方法功能:按庫存量排序查找藥品,結果以clsMerchs類型返回。參數(shù)設計:參見下表。返回值:clsMerchs類型,一個clsMerch的集合。FindStorage方法參數(shù)設計參數(shù)名參數(shù)類型功能是否可選及默認值說明IsDescBoolean表示是否采用降序可選,默認值=true無nCountInteger最多顯示多少條記錄可選,默認值=10無5.5、供貨商信息管理模塊供貨商信息管理模塊的功能需要由clsProvider和clsProviders兩個類來實現(xiàn),它的主要功能是:添加供貨商信息。修改供貨商信息刪除供貨商信息查找供貨商信息其他與供貨商信息相關的常用操作。供貨商信息管理類clsProvider創(chuàng)建clsProvider類并添加屬性供貨商信息類clsProvider用來具體處理單條供貨商信息,完成供貨商信息的基本操作功能,如添加、修改、刪除等。clsProvider類的屬性設置屬性名稱數(shù)據(jù)類型說明IDLong供貨商編號ProviderNameString供貨商名稱IntroduceString供貨商簡介RemarkString備注(2)AddNew方法功能:添加單個供貨商信息。參數(shù)設計:無。返回值:gxcAddNew類型,參考clsPublic類中的gxcAddNew枚舉定義。(3)pdate方法功能:修改供貨商信息。參數(shù)設計:無。返回值:gxcUpdate類型,參考clsPublic類中的gxUpdate枚舉類型的定義。Delete方法功能:刪除供貨商信息。參數(shù)設計:可選參數(shù)lngID表示供貨商信息ID,默認為-1。返回值:gxcDelete類型,參考clsPublic類中gxcDelete枚舉類型的定義。在刪除供貨商的同時,必須先刪除與這個供貨商相關的進貨信息,而且要把這兩個操作放在一個事務里面。供貨商信息管理集合類ClsProviders供貨商信息集合類clsProviders用來處理多條供貨商信息,其最小的單元是clsProvider,它完成與一組供貨商信息相關的操作,比如查找等。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”對話框,選擇“VB類生成器”,使用類生成器在工程中添加一個集合類,命名為clsProviders類,在“集合組成”欄中選擇clsProvider類。應用設置后系統(tǒng)會自動生成一個標準集合類所具有的最基本屬性與方法,下面,為clsProviders添加必要的方法。添加AddEx方法添加Find方法功能:根據(jù)給定參數(shù)查找供貨商信息,結果以clsProviders類型返回。參數(shù)設計:一個可選的類型ID,默認值為-1。返回值:clsProviders類型,一個clsProvider的集合。省略參數(shù)是,返回全部供貨商。5.6、進貨信息管理模塊進貨信息管理模塊的功能需要由clsBuy和clsBuys兩個類實現(xiàn),它的主要功能是:添加進貨信息。修改進貨信息。刪除進貨信息。查找進貨信息。按藥品統(tǒng)計分析進貨信息。其他與進貨信息相關的常用操作。進貨信息管理類clsBuy創(chuàng)建clsBuy類并添加屬性屬性名稱數(shù)據(jù)類型說明IDLong進貨IDProviderIdString供應商IDProviderNameString供應商名稱MerchandiseIDLong藥品IDMerchNameString藥品名稱StockDateDate進貨時間DeliverString送貨人姓名ConsigneeString經手人姓名CountLong購入量StockPriceSingle進貨單價OperatorIdString操作員IDRemarkString備注TypeNameString藥品類型名稱StockTimesLong進貨次數(shù)TotalPriceSingle總進貨支出AddNew方法功能:添加單條進貨信息。參數(shù)設計:無。返回值:gxcAddNew類型,請參考clsPublic類中的gxcAddNew枚舉定義。Update方法功能:修改進貨信息。參數(shù)設計:無。返回值:gxcUpdate類型,請參考clsPublic類中gxcUpdate枚舉類型的定義。Delete方法功能:刪除進貨信息。參數(shù)設計:可選參數(shù)lngID表示供貨商信息ID,默認值為-1。返回值:gxcDelete類型,請參考clsPublic類中gxcDelete枚舉類型的定義。進貨信息管理集合類clsBuys添加AddEx方法添加Find方法功能:根據(jù)給定參數(shù)查找進貨信息,結果以clsBuys類型返回。參數(shù)設計:兩個可選參數(shù),一個是進貨編號,另一個是藥品類型編號。返回值:clsBuys類型,一個clsBuy的集合,省略參數(shù)時,返回全部進貨。添加FindStorage方法功能:統(tǒng)計各種藥品的進貨次數(shù)和累計進貨總支出,最后按進貨總支出來排序,結果以clsBuys類型返回,最多返回前nCount條記錄。參數(shù)設計:參加下表參數(shù)名參數(shù)類型功能是否可選及默認值說明IsDescBoolean表示是否采用降序可選,默認值=True無nCountInteger最多顯示多少條記錄可選,默認值=10無返回值:clsBuys類型,一個clsBuy的集合。5.7、采購信息管理模塊采購信息管理模塊的功能需要由clsSell和clsSells兩個類實現(xiàn),它的主要功能是:添加采購信息。修改采購信息。刪除采購信息。查找采購信息。按藥品統(tǒng)計分析采購信息。其他與采購信息相關的常用操作。采購信息類clsSell用來具體處理單條采購信息,完成采購信息的基本操作功能,如添加、修改、刪除等。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”框,選擇“VB類生成器”,使用類生成器在工程中添加clsSell類,如下表所示。屬性名稱數(shù)據(jù)類型說明IDLong采購編號MerchandiseIDLong藥品IDMerchNameString藥品名稱RegDateDate登記日期CountLong售出數(shù)量SellPriceSingle售出單價OperatorIdString操作員IDRemarkString備注TypeNameString藥品類型名稱RegTimeLong登記次數(shù)TotalPriceSingle售出總價clsASell類中的AddNew、Update和Delete方法,與進貨信息中的處理很類似,只是數(shù)據(jù)庫中的字段不同而已。5.8、報損信息管理模塊報損信息管理模塊的功能需要由clsDispose和clsDisposes兩個類來實現(xiàn),它的主要功能是:添加報損信息。修改報損信息。刪除報損信息。查找報損信息。按藥品統(tǒng)計分析報損信息。其他與報損信息相關的常用操作。報損信息類clsDispose用來具體處理單條報損信息,完成報損信息的基本操作功能,如添加、修改、刪除等。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”對話框,選擇“VB類生成器”,使用類生成器在工程中添加clsDispose類,如下表所示。屬性名稱數(shù)據(jù)類型說明IDLong報損編號MerchandiseIDLong藥品IDMerchNameString藥品名稱RegDateDate登記日期CountLong報損數(shù)量ReasonSingle報損原因OperatorIdString操作員IDRemarkString備注RegTimesLong登記次數(shù)TotalCountLong報損總數(shù)量TypeNameString藥品類型名clsDispose類中的AddNew、Update和Delete方法,與進貨信息中的處理很類似,只是數(shù)據(jù)庫中的字段不同而已。5.9、管理員信息管理模塊管理員信息管理模塊的功能需要由clsAdmin和clsAdmins兩個類來實現(xiàn),它的主要功能是:添加管理員信息。修改管理員信息。刪除管理員信息。查找管理員信息。驗證管理員密碼。其他與管理員信息相關的常用操作。管理員信息類clsAdmin用來具體處理單條管理員信息,完成管理員信息的基本操作功能,如添加、修改、刪除和驗證密碼等。選擇菜單[工程]—[添加類模塊]命令,打開“添加類模塊”對話框,選擇“VB類生成器”,使用類生成器在工程中添加clsAdmin類,如下圖所示。屬性名稱數(shù)據(jù)類型說明AccountString管理員賬號PwdString密碼IsDefaultBoolean是否是默認用戶clsAdmin中的AddNew、Update和Delete方法,與以上各類中的處理很類似,只是數(shù)據(jù)庫中的字段不同而已。第六章、系統(tǒng)界面具體實現(xiàn)藥品采購管理系統(tǒng)基本界面組件用來處理進銷存管理系統(tǒng)中與界面相關的操作,既負責與用戶界面層進行數(shù)據(jù)傳遞,同時也要將界面端的請求傳遞給業(yè)務處理層,進一步轉化為數(shù)據(jù)庫操作。它包括以下功能:藥品類型操作管理,對應frmMType窗體和clsOpMType類。藥品操作管理,對應frmMerch窗體和clsOpMerch類。供貨商操作管理,對應frmProvider窗體和clsOpProvider類。進貨操作管理,對應frmBuy窗體和clsOpBuy類。采購操作管理,對應frmSell窗體和clsOpSell類。報損操作管理,對應clsDispose窗體和clsOpDispose類。管理員操作管理,對應frmUser窗體和clsOpAdmin類。信息輸入界面加操作類的設計思想1)每個模塊的組成在本組件中,每一個模塊都是由信息輸入界面與相應的操作類來實現(xiàn)的,具體完成的功能如下:信息輸入界面:可供添加或修改時調用,用來獲取用戶輸入,將用戶輸入封裝到對應的信息管理類中。操作類:可供界面端程序調用,實現(xiàn)了兩個功能:其一是用來調出信息輸入界面,接收用戶輸入,將輸入存入數(shù)據(jù)庫,并給出數(shù)據(jù)庫操作的結果;其二是通過傳引用的方式,向用戶界面端傳入的控件添加數(shù)據(jù),從而在用戶截面端顯示。2)輸入界面的代碼結構為了方便維護和快速開發(fā),每個界面的實現(xiàn)代碼結構都很相似,大多都包括如下的方法:ShowDlg:用來顯示對話框,內部調用Me.ShowvbModal,程序停止在這里。SetStatus:設計對話框控件的默認狀態(tài)。SetDefaultValue:設計對話框的默認值。OKButton_Click:[確定]按鈕單擊處理事件。CheckValid:檢查用戶輸入有效性。SaveValue:保存用戶輸入。CancelButton_Click:[取消]按鈕單擊處理事件。當用戶單擊[確定]或[取消]按鈕后,程序繼續(xù)執(zhí)行ShowDlg函數(shù)后面的語句,用來保存或放棄用戶輸入。3)操作類的代碼結構同樣為了方便維護和快速開發(fā),每個操作類的代碼結構也都很相似,大多包括如下方法:Add:管理增加操作。Modify:管理修改操作。Delete:管理刪除操作。AddToLvw:將單個對象加入列表,或在列表中更新。InitListview:設置ListView的顯示樣式。ObjsToListView:將對象集合顯示到ListView中。FillListView:顯示指定類型對象到列表控件。GetObjFromControl:從列表或樹形圖中得到一個對象。ObjsToCornbo:傳入?yún)?shù)為對象的單向類與組合框。FillCombo:將全部對象加入到組合框中。創(chuàng)建組件的公共模塊為了將來擴展方便,這里加入一個公共模塊,命名為mdlMain,現(xiàn)在只添加一個空的SubMain作為組件的初始化函數(shù)。藥品類型操作管理模塊藥品類型管理模塊實現(xiàn)以下功能:處理添加藥品類型的操作。處理修改藥品類型的操作。處理刪除藥品類型的操作。處理列舉或查找藥品類型的操作。藥品操作管理模塊藥品操作管理模塊實現(xiàn)以下的功能:處理添加藥品的操作。處理修改藥品的操作。處理刪除藥品的操作。處理分析藥品庫存量的操作。處理列舉或查找藥品的操作。供貨商操作管理模塊供貨商操作管理模塊實現(xiàn)以下的功能:處理添加供貨商的操作。處理修改供貨商的操作。處理刪除供貨商的操作。處理列舉或查找供貨商的操作。進貨操作管理模塊進貨操作管理模塊實現(xiàn)以下的功能:處理添加進貨的操作。處理修改進貨的操作。處理刪除進貨的操作。處理分析進貨總支出的操作處理列舉或查找進貨的操作。采購操作管理模塊采購操作管理模塊實現(xiàn)以下的功能:處理添加采購的操作。處理修改采購的操作。處理刪除采購的操作。處理分析采購總收入的操作。處理列舉或查找采購的操作。報損操作管理模塊報損操作管理模塊實現(xiàn)以下的功能:處理添加報損的操作。處理修改報損的操作。處理刪除報損的操作。處理分析報損總數(shù)量的操作。處理列舉或查找報損的操作。管理員信息操作管理模塊管理員信息操作管理模塊實現(xiàn)以下的功能:處理添加管理員信息的操作。處理修改管理員信息的操作。處理刪除管理員信息的操作。處理列舉或查找管理員信息的操作。3。界面端應用程序設計公共模塊的設計在創(chuàng)建用戶界面端應用程序時,向導已經為我們生成了一個名為mdlMain的模塊,我們對這個模塊稍微修改即可使用。添加成員變量修改Main過程用戶登入模塊的設計用戶登入對話框設計用戶登入對話框代碼設計添加成員變量修改Form_Load過程修改[確定]按鈕的處理代碼系統(tǒng)主界面的設計設計主窗體控件布局控件名稱屬性屬性取消功能frmMainCaption進銷存管理系統(tǒng)系統(tǒng)主窗體inlViewSIcon(ListView)ImageHeight16樹形控件和列表框小圖標所使用的圖片ImageWidth16inlViewBIcon(ImageList)ImageHeigh32列表框大圖標所使用的圖片(未用:待擴展)ImageWidth32tvTreeView(TreeView)LineStyleTvwRootLines顯示藥品類型樹ImageListinlViewSIconsstabView(ListView)StyleO-ssStyleTabbedDialog右側選項卡,做容器用TabOrientationO-ssTabOricntationToplvMerch(ListView)lvBuy(ListView)lvSell(ListView)lvDispose(ListView)lvProvider(ListView)FullRowSelectTrue分別用來顯示藥品藥品信息列表進貨信息列表采購信息列表報損信息列表供貨商信息列表GridLinesTrueViewlvwRiportIconimlViewBIconSmallIconimlViewSIion設計選項卡sstabView給sstabView控件添加5個選項卡,選項卡標題分別設置為“藥品庫存”、“進貨記錄”、“采購記錄”、“報損記錄”和“供應商”,分別對應5個ListView。添加菜單添加主界面的處理代碼添加窗體初始化函數(shù)菜單響應函數(shù)樹形控件單擊響應函數(shù)其他代碼用戶管理模塊用戶管理對話框界面設計用戶管理對話框代碼設計經營分析模塊經營分析模塊用來對藥店的運作情況進行分析,具有以下功能:庫存量排行。進貨總量與登記次數(shù)排行。采購總量與登記次數(shù)排行。報損總量與登記次數(shù)排行。經營分析對話框界面設計控件名稱屬性屬性取消功能FrmAnalysis(Form)Caption經營分析經營分析對話框List庫存分析進貨分析采購分析報損分析CboOrder(ComboBox)Style2-DropDownList前↓:降序排列,取前若干項;↑后:降序排列,取后若干項。然后再按由小到大顯示List前↓↑后TxtCount(TextBox)MaxLength3顯示數(shù)量CmdSearch(CommandButtom)Caption查看[查看]按鈕CmdClose(CommandButtom)Caption關閉[關閉]按鈕LvAna(ListView)GridLinesTrue顯示數(shù)據(jù)容器ViewlvwRiport經營分析對話框代碼設計測試分析強制變量聲明選擇菜單[工具]—[選項]命令,打開“選項“對話框”,在“編輯器”屬性頁中,把“要求變量聲明”復選框選上,或者手工在每個文件的開頭加上關鍵字:optionExplicit這樣在編譯時會對沒有聲明的變量報錯,從而減少很多不必要的調試。二、常見錯誤的避免1、數(shù)據(jù)類型不匹配數(shù)據(jù)類型的判斷錯誤,比如一個功能模塊,接受傳入的數(shù)據(jù)為id,要求其值必須是正數(shù)。如果寫程序時傳入的是小數(shù),或者是非數(shù)字的字符串,那么程序將會出現(xiàn)錯誤。又如查詢數(shù)據(jù)表時,使用了WHERE子句,但是數(shù)據(jù)類型不匹配,數(shù)據(jù)庫中字段類型為數(shù)字的值,卻使用了字符串去查詢,就會出現(xiàn)錯誤。2、數(shù)據(jù)與數(shù)據(jù)庫限制相沖突數(shù)據(jù)與數(shù)據(jù)庫限制相沖突,可能是其值超過了數(shù)據(jù)庫的上限和下限。比如在數(shù)據(jù)庫中,用戶名稱字符數(shù)量上限是20個字符,而在程序中沒有對此進行判別,如果一個添加新藥品時名字有21個字符,那么在使用SQL語句插入數(shù)據(jù)與記錄的時候就會出錯。3、變量聲明錯誤最后是一些常識性錯誤,比如在If…Else…EndIf過程中,認為判斷只會執(zhí)行其中的一段代碼,于是在兩段中都使用了DimobjasclsMerch,事實上,編譯器在語法分析階段,是首先將一個函數(shù)內聲明的全部變量都放符號表中,而不管這個變量的聲明是在這個函數(shù)的什么位置。又如在SelectCase中,Case的條件是字符串,但是沒有加引號,就變成了Case一個空變量。4、資源的建立與釋放在將類實例化時,必須使用New關鍵字,未實例化類無法使用,例:誤:DimobjasclsMerchClsMerch.AddNew正:DimobjasclsMerchSetobj=NewclsMerchClsMerch.AddNew同理,在調用Setobj=Nothing后,資源已經釋放,無法再調用類內的方法。5、系統(tǒng)的編譯和發(fā)行3個工程的項目屬性在前面創(chuàng)建項目時均已設置完畢,由于在本系統(tǒng)中生成了名為BuySellstorageDB.dll和BuySellstorageUI.dll的組件,當移植到其他機器使用時,需要先注冊此組件。另外系統(tǒng)中默認的數(shù)據(jù)庫的路徑是與BuySellstorageDB.dll同目錄下的DB文件夾,因此當移植到其他機器時,這個路徑關系依然不能改變??偨Y一個完整的多層結構藥品采購管理系統(tǒng)就創(chuàng)建完畢了。對藥品采購管理系統(tǒng)的設計與實現(xiàn),重點介紹了多層結構的開發(fā)思想,在完成系統(tǒng)搭建的同時還可以體會到軟件工程在項目開發(fā)中各個環(huán)節(jié)的具體應用,并對使用VisualBasic6.0開發(fā)數(shù)據(jù)庫應用程序的方法和技巧有了更一步的掌握。參考文獻胡同森、趙劍鋒等,《VisualBasic6.0程序設計教程》,浙江科學技術出版社,2002年2月第一版,ISBN7-5341-1740-2。任志國、周其力等,《Access2000從入門到精通》,浙江科學技術出版社,2002年2月,ISBN7-5341-1316-4。伍俊良,《VisualBasic課程設計與系統(tǒng)開發(fā)案例》,清華大學出版社,2002年8月第一版,ISBN7-302-05626-9。張瀚文、齊錦剛,《VisualBasic數(shù)據(jù)庫系統(tǒng)開發(fā)實例與解析》,高等教育出版社,2003-11-30出版,ISBN7-04-013331-8。劉鋼,《VisualBasic程序設計與應用案例》,高等教育出版社,2003年7月28日出版,王珊、陳紅,《數(shù)據(jù)庫系統(tǒng)原理教程》,清華大學出版社,1998年7月第1版,ISBN7-302-03009-X/TP.1599。陳佳,《信息管理開發(fā)方法教程》,清華大學出版,1998年5月第1版,7-302-02913-X。晶辰工作室,《VisualBasic6.0中文版實用參考手冊》,電子工業(yè)出版社,1998年9月出版,ISBN7-5053-4922-8。(美)MicrosoftCorporation著/微軟(中國)有限公司譯,《VisualBasic6.0中文版程序員指南》,北京希望電腦公司,1998年11月出版,ISBN7-980021-soundsthatwerealotlikelaughter.'Youthinkit'sfunny,huh?'Wearyinquired.HewalkedaroundtoBilly'sback.Billy'sjacketandshirtandundershirthadbeenhauleduparoundhisshouldersbytheviolence,sohisbackwasnaked.There,inchesfromthetipsofWeary'scombatboots,werethepitifulbuttonsofBilly'sspine.Wearydrewbackhisrightboot,aimedakickatthespine,atthetubewhichhadsomanyofBilly'simportantwiresinit.Wearywasgoingtobreakthattube.ButthenWearysawthathehadanaudience.FiveGermansoldiersandapolicedogonaleashwerelookingdownintothebedofthecreek.Thesoldiers'blueeyeswerefilledwithblearyciviliancuriosityastowhyoneAmericanwouldtrytomurderanotheronesofarfromhome,andwhythevictimshouldlaugh.ThreeTheGermansandthedogwereengagedinamilitaryoperationwhichhadanamusinglyself-explanatoryname,ahumanenterprisewhichisseldomdescribedindetail,whosenamealone,whenreportedasnewsorhistory,givesmanywarenthusiastsasortofpost-coitalsatisfaction.Itis,intheimaginationofcombat'sfans,thedivinelylistlessloveplaythatfollowstheorgasmofvictory.Itiscalled'moppingup.'Thedog,whohadsoundedsoferociousinthewinterdistances,wasafemaleGermanshepherd

溫馨提示

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

評論

0/150

提交評論