藥品進銷存管理系統(tǒng)說明論文
《藥品進銷存管理系統(tǒng)說明論文》由會員分享,可在線閱讀,更多相關《藥品進銷存管理系統(tǒng)說明論文(32頁珍藏版)》請在裝配圖網上搜索。
1、 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 裝 ┊ ┊ ┊ ┊ ┊ 訂 ┊ ┊ ┊ ┊ ┊ 線 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 畢業(yè)設計(論文)報告紙 目 錄 前 言 3 第一章 概述 4 1.1系統(tǒng)介紹 4 1.2本系統(tǒng)設計目標及意義 4 1.2.1本系統(tǒng)開發(fā)設計思想 4 1.2.2 開發(fā)的目的 4 1.2.3 開發(fā)的意義 4 1.3 開發(fā)思路和主要內容 5 1.3.1 開發(fā)思路 5 1.3.2
2、 開發(fā)的主要內容 5 1.4數據庫Access 2003介紹 5 1.5 JAVA語言介紹 6 1.6 系統(tǒng)預覽 6 第二章 系統(tǒng)的分析與設計 8 2.1需求分析 8 2.2系統(tǒng)結構設計圖如圖3所示 8 2.3 數據流圖如圖4 10 2.4 部分數據字典 10 2.5 E-R圖 11 2.6 模塊功能說明 12 2.7 開發(fā)及運行環(huán)境 13 2.7.1.硬件要求 13 2.7.2.軟件要求 13 第三章 數據庫詳細設計 15 3.1數據庫表設計 15 3.1.1、用戶表user 15 3.1.2、庫存藥品明細表的設計 15 第四章 編碼實現與測試
3、17 4.1編碼中的類屬性見表5 17 4.2管理員登陸編碼實現 17 4.2.1管理員登錄編碼實現 17 4.3藥品進銷存管理系統(tǒng)模塊 19 4.3.1 藥品查詢編碼實現 19 4.3.2 新貨入庫的編碼實現 21 4.3.3 藥品出售的編碼實現 22 4.3.4 庫存報警的編碼實現 25 4.4單元測試 26 4.4.1管理員登錄測試 27 4.4.2藥品查詢測試 27 4.4.2新貨入庫測試 27 4.4.3藥品出售測試 28 4.4.4庫存報警測試 28 第五章 總結與展望 29 5.1 總結 29 5.2 心得體會 29 致 謝 31 參考文
4、獻 32 前 言 本次畢業(yè)設計的題目是進銷存管理系統(tǒng),要求利用JAVA完成管理平臺設計,構造所用的類庫;使用Access數據庫存儲數據,限單機使用。 在當今這個信息化的社會中,誰能更有效的利用自身資源,掌握更全面、更準確的信息,更快的做出科學的決策,誰就能順應社會的潮流,在激烈的競爭中站穩(wěn)腳跟,并同時給企業(yè)帶來更高的回報。 近年來,隨著我國經濟與高科技的飛速發(fā)展,商業(yè)企業(yè)間競爭日益激烈,各商家企業(yè)都在進行著一場變革,無論是
5、從生產效率、銷售渠道或是管理方法,都要求能更好的順應社會發(fā)展的大環(huán)境,提高企業(yè)自身價值。由于傳統(tǒng)的信息處理速度慢、效率低而難以適應當前社會要求經濟高效的狀況,這就需要通過利用 計算機的高速處理和大存儲量來尋求一種新的辦法進行管理。 管理是企業(yè)工作的核心,管理信息的重要作用不容忽視,所以每個大企業(yè)都把信息管理放在重要位置,管理工作的成敗取決于能否做出有效的決策,而有效的、正確的決策則取決于來自外界的、內部的正確信息??茖W的進步和生產的發(fā)展使人類的意識總量不斷增長,生產社會化趨勢的擴大和社會對產品需求的多樣化,生產經營活動中涉及內外部的信息量的迅速膨脹等因素,對信息進行收集、加工、傳遞等過程的時
6、間性和準確性都提出了更高要求。計算機這個高效率工具能解決人們的這種客觀要求,事實證明計算機被廣泛用于軍事、科技、經濟、商務等各方面,且獲得了巨大成功。近些年應用于管理領域也獲得了成功。今天,計算機主要應用于科學技術計算、生產控制和管理等方面,成為企業(yè)管理中的重要手段,它不僅用于數據處理,而且也成為決策的有力工具。計算機把生產經營過程中巨大的數據流收集、組織起來經過加工處理轉換成為對各級管理人員做決策的有用信息,輔助企業(yè)各項業(yè)務活動的進行。計算機技術與通信技術的結合,促進了現代化信息技術的發(fā)展。世界上大多數發(fā)達國家都十分重視計算機在管理中的應用,大多企業(yè)將全部投資的10%用于計算機方面,其中的7
7、0%用于管理,其作用可見一般。在管理方面計算機應用已發(fā)展成為專門的管理信息系統(tǒng)(MIS)。 藥品進銷存管理系統(tǒng)包括藥品的進倉管理,藥品的庫存管理,還有藥品的銷售管理。它是小型醫(yī)院和藥店信息化管理的重要組成部分.藥品管理是一項瑣碎、復雜而又十分細致的工作。手工進行藥品日常的進銷存等工作,容易出現“開空單”的現象,且呆賬、錯賬時有發(fā)生。正是藥品管理的這種重復性、規(guī)律性、時間性,使得藥品管理計算機信息化成為可能。計算機進行藥品的進銷存管理工作,不僅能夠保證藥品的進銷存的核算正確無誤,而且還可以提高藥店的銷售效率,實現藥店藥品進銷存管理的系統(tǒng)化、規(guī)范化和自動化。 第一章 概述 1.
8、1系統(tǒng)介紹 本藥品進銷存管理系統(tǒng)是由JAVA語言+ Access 2003完成總體設計的。 1.2本系統(tǒng)設計目標及意義 通過開發(fā)這個藥品管理系統(tǒng),使藥品進銷存管理工作系統(tǒng)化,規(guī)范化,自動化,從而達到提高管理效率的目的。 1.2.1本系統(tǒng)開發(fā)設計思想 盡量采用現有軟硬件環(huán)境,及先進的管理系統(tǒng)開發(fā)方案,提高系統(tǒng)開發(fā)水平和應用效果的目的;系統(tǒng)應符合企業(yè)管理的規(guī)定,滿足日常管理的需要,并達到操作過程中的直觀,方便,實用,安全等要求;系統(tǒng)采用模塊化程序設計方法,這樣既便于系統(tǒng)功能的各種組合,又便于未參與開發(fā)的技術維護人員補充,維護;系統(tǒng)應具備數據庫維護功能,及時根據用戶需求進行數據的添加,刪除
9、,修改等操作。 1.2.2 開發(fā)的目的 由于藥店每天的銷售量特別大,而藥店一直采用手工操作,尤其藥品銷售部分存在工作量大效率低、雇用人員多、服務質量差、日常銷售數據經常出錯、庫存查詢困難、顧客需求信息不能及時掌握等問題。隨著社會經濟的迅速發(fā)展,面對藥品銷售業(yè)日益嚴酷競爭的現實,加強管理、提高工作效率和改善服務質量成了急待解決的問題。而解決這些問題的關鍵措施之一就是建立實用、先進、高效的醫(yī)藥管理系統(tǒng),引進創(chuàng)新的經營機制,適應新形式下企業(yè)的生存和發(fā)展。 1.2.3 開發(fā)的意義 “藥品進銷存管理系統(tǒng)” 的開發(fā)應用,能集中處理藥品的進銷存業(yè)務,嚴格規(guī)范公司的應收應付管理,并利用先進的管理模式對
10、提高倉儲管理的工作效率和對市場的反應能力進行幫助,能高效益、低庫存、保證服務質量的滿足藥品銷售日常管理的需要,使其采用現代化管理手段以適應藥品銷售的發(fā)展。 1.3 開發(fā)思路和主要內容 1.3.1 開發(fā)思路 使用結構化方法將把信息系統(tǒng)開發(fā)的初步設想,按照可行性研究后畫好的數據流圖,根據輸出要求沿數據流圖回溯,看輸出及運算所得到的信息是否滿足輸出要求。進行總體設計和詳細設計,包括設想供選擇的方案,選擇合理的方案,推薦最佳的方案,功能分解,設計軟件結構。自上向下分解,數據庫設計根據數據字典進行數據庫的邏輯設計。系統(tǒng)實施后轉變成為實際可以交付用戶使用的信息系統(tǒng)。 1.3.2 開發(fā)的主要內容
11、 信息系統(tǒng)開發(fā)包括三個方面的內容:系統(tǒng)分析,系統(tǒng)設計,系統(tǒng)實施。其需要做大量復雜的工作,系統(tǒng)分析階段就是按系統(tǒng)規(guī)劃所定的某個開發(fā)項目范圍內明確系統(tǒng)開發(fā)的目標和用戶的信息需求,提出系統(tǒng)的邏輯方案。系統(tǒng)設計是根據新系統(tǒng)得邏輯方案進行軟、硬件系統(tǒng)的設計。系統(tǒng)實施是系統(tǒng)設計付諸于實施。除此之外,還包括項目管理、系統(tǒng)支持等。這些工作一般需要交叉并行進行。信息系統(tǒng)開發(fā)又是在一定的時間范圍中進行,從某一時間開始,到另一時間結束。按照時間順序,以及信息系統(tǒng)開發(fā)工作的綜合特征,可以把信息系統(tǒng)開發(fā)過程劃分成開始、細化、構建和移交四個階段。每一項工作都要經過一個或幾個階段,在每一個工作階段中,有需要經過多次迭代過
12、程。及時編寫文檔,并進行復查和復審防止文檔和系統(tǒng)脫節(jié),造成維護的困難。 企業(yè)系統(tǒng)規(guī)劃法實現的主要步驟如圖所示:事實上它與自上而下的分析和自下而上的實施的原則是基本一致的。 1.4數據庫Access 2003介紹 Access 2003 擁有一套功能強大的應用工具,其完善程度足以滿足專業(yè)開發(fā)人員的需要。雖然如此,新手也能十分容易的學習和掌握該產品。通過創(chuàng)建或使用強大的數據庫解決方案,您能夠更為輕松地組織、訪問和共享信息資源。與傳統(tǒng)的數據庫管理系統(tǒng)相比,Access 2003具有以下一些特點: (1) Access 2003提供了許多便捷的可視化操作工具(表生成器、查詢設計器、報表設
13、計器、數據訪問頁設計器等)和向導(如數據向導、表向導、查詢向導、報表向導等,以便用戶能夠快捷的構造一個簡單的信息管理系統(tǒng)。 (2) Access 2003作為Office套裝辦公自動化軟件的重要組件之一,能夠與Word、Excel等辦公軟件進行數據的交換與共享,構成一個集文字處理、圖表生成和數據管理于一體的功能強大的辦公自動化處理系統(tǒng)。 (3) Access 2003提供了許多宏操作,用戶只需按照一定的順序組織這些宏操作,就可以在不編寫任何程序的情況下,實現工作的自動化,如迅速打開報表和窗體等。 (4) Access 2003提供了大量的函數,如數字函數、財務函數、日期和時間函數等
14、,讓用戶在窗體、查詢、報表中創(chuàng)建復雜的計算表達式。 (5)如果要執(zhí)行復雜或專業(yè)的操作,Access 2003提供了Visual Basic for Application(簡稱VBA)程序設計語言,讓數據庫開發(fā)人員構造比較高級的信息管理系統(tǒng)。 (6) Access 2003不僅具有眾多簡單的傳統(tǒng)數據庫管理工具,同時還進一步增強了與Web的集成,以便更加方便地共享跨越各種平臺和不同用戶級別的數據。 1.5 JAVA語言介紹 JAVA是一種簡單、面向對象、分布式、強韌性、安全、結構中立、可移植、直譯、高性能、 多線程而且動態(tài)的語言。 JAVA語言有著廣泛的應用前景,大體上可以從以下
15、幾個方面來考慮其應用: (1)所有面向對象的應用開發(fā),包括面向對象的事件描述、處理、綜合等; (2)計算過程的可視化、可操作化的軟件開發(fā); (3)動態(tài)畫面的設計,包括圖形圖像的調用; (4)交互操作的設計(選擇交互、定向交互、控制流程等); (5)Internet的系統(tǒng)管理功能模塊的設計,包括Web頁面的動態(tài)設計、管理和交互操作設等; (6)Internet(企業(yè)內部網)上的軟件開發(fā)(直接面向企業(yè)內部用戶的軟件); (7)與各類數據庫連接查詢的SQL語句實現; (8)其他應用類型的程序。 1.6 系統(tǒng)預覽 (1)系統(tǒng)登陸界面如圖1所示。 圖1 (2)系統(tǒng)運行的主界面
16、如圖2所示。它的界面設計簡潔,易操作,易上手。 圖2 第二章 系統(tǒng)的分析與設計 2.1需求分析 藥品進銷存系統(tǒng)具有不同于其他行業(yè)的特點:需要對藥品存貯、銷售進行完善的管理。它一般因該包括以下幾個特點: (1)藥品調價頻繁,且品種繁多,增加了藥品銷售定價的難度。 (2)藥品來貨驗收登記中的審查有效期環(huán)節(jié)容易出錯,錯收過期或有效期不足的藥品。 (3)手工模式下的藥品庫存難以及時掌握,雖然采取了每日進行缺貨登記的措施來控制存,卻增加了登記尚未缺貨藥品庫存的多余工作,費時費力。 (4)不能及時了解每種藥品的所剩有效期,使一些藥品錯過退貨期限,造
17、成過期藥品庫存堆積,帶來嚴重的經濟損失。 通過設計幾個典型的功能模塊,實現藥店日常運營的全面自動化管理,可廣泛用于各類中小型藥店醫(yī)院。 本藥品進銷存系統(tǒng)需要完成的功能主要有: (1)藥品的入庫,包括藥品的編號入庫,以及該藥品的其他相關信息。 (2)藥品的添加,即在原由的藥品入庫的基礎上對藥品的數量進行添加。 (3)藥品的查詢,可以對庫中的藥品進行查詢分析。 (4)藥品的銷售,要求輸入藥品編號和數量計算總體的價格和找零,實現一天銷售金額統(tǒng)計和打印。 (5)庫存報警,在某種藥品的數量小于一定數量時該庫存就就報警提醒入貨。 2.2系統(tǒng)結構設計圖如圖3所示 圖3 2.3 數
18、據流圖如圖4 圖4 2.4 部分數據字典 數據流圖描述了系統(tǒng)的分解,但沒有對圖中各成分進行說明,數據字典就是為了數據流圖的每個數據流、文件、加工,以及組成數據流或文件的數據項作出說明。 因篇幅限制,每樣僅舉例說明 數據流條目: 新貨入庫 = 藥品編號+藥品名稱+供貨商+進貨價格+進貨的數量+生產日期+保質期+藥品的簡介(包括藥品的功能和藥品的中西藥分類) 各類財務統(tǒng)計報表 = 倉庫材料消耗匯總(成本項目) + 倉庫材料消耗匯總(按車間) + 材料收發(fā)存明細A + 材料收發(fā)存明細B +材料收發(fā)存明細C + 材料收發(fā)存分類匯總表 + 木材消耗匯總表。 文件條目: 文件
19、名稱:藥品庫存文件。 簡述:保存藥品的基本資料。 組成:藥品ID+藥品名稱+藥品單價+藥品的供貨商+藥品的庫存數量+保質期+藥品的簡介 文件名稱:藥品銷售文件。 簡述:保存所有銷售的文件。 組成:藥品ID+藥品名稱+供貨商+藥品單價+所賣藥品總價格+原來庫存+剩余庫存+進貨日期+藥品保質期+藥品簡介+今天的總收入 數據項條目: 名稱:藥品編號 簡述:因為許多地方用到編號,藥品編號分四個字段(大大分類+大分類+分類+小分類),可以將材料分門別類。 2.5 E-R圖 系統(tǒng)總體E-R圖如圖5所示: 圖5 藥品進貨管理模塊如圖6所示: 圖6
20、 2.6 模塊功能說明 (1)登陸驗證功能:主要功能為身份驗證,防止非法用戶進入系統(tǒng)。 實現方法如圖7所示: 圖7. 登陸驗證實現方法 (2)新貨入庫模塊:主要對新藥品的各類屬性(如生產日期,供貨商,保質期,數量等等。)進行詳細的列出后,再添加入庫。 (3)藥品出售功能:主要是在藥品進行零售時,計算藥品的價格,藥品出庫的數量,庫中所剩藥品的數量和應找金額數。 (4)庫存報警功能:該功能主要是在某種藥品數量少于一定數值時,進行庫存報警,提醒藥品進貨人員對該藥品的進貨。 (5)藥品查詢功能:該模塊主要是對藥品進行查詢,它可以通過藥品的ID進行查詢,也可以通過藥品的名稱進行查詢。
21、 (6)打印銷售清單功能:每次銷售打印銷售清單,存入銷售明細表,根據它可生成各種報表。 2.7 開發(fā)及運行環(huán)境 2.7.1.硬件要求 CPU:300MHz以上的處理器。 內存:128MB,推薦256MB。 硬盤:150MB以上剩余空間。 顯示像素:最低800*600,最佳效果1024*768。 2.7.2.軟件要求 操作系統(tǒng):WindowsXP SP2。 數據庫:Microsoft Office Access 2003。 語言環(huán)境:JAVA 1.6.0
22、 第三章 數據庫詳細設計 數據庫設計在信息管理系統(tǒng)中舉足輕重,重要性甚至超過中間組件層和客戶端應用程序設計。合理的設計不僅能提高數據庫訪問的效率,維護數據完整性與一致性,還能降低應用程序設計和編碼的難度,并可以迅速適應系統(tǒng)需求將來所進行的擴展。 數據庫設計一般包括三個步驟:數據庫需求分析、數據庫概念結構設計和數據庫邏輯結構設計。在需求分析階段,要考慮到現有的及將來可能擴展的用戶需求。概念結構設計是根據需求分析得到的數據項和數據結構,設計相關實體和關系。 3.1數據庫表設計 本數據庫分為兩張表格。 3.1.1、用戶表user 該表主要是保存用戶和其
23、所使用的密碼。 名 稱 字段名稱 數據類型 主 鍵 非 空 用戶名 User 文本 NO YES 密碼 Password 文本 NO YES 權限種別 Quanxian 文本 NO YES 表1 3.1.2、庫存藥品明細表的設計 庫存藥品明細表的主要作用是記錄藥店所進藥品的詳細信息和庫存數量的表。 (1)確定庫存藥品明細表中包含的信息。 字段名 數據類型 說明 是否為主鍵 藥品編號 數字 藥品編號 是 藥品名稱 文本 藥品名稱 否 供貨商 文本 供貨商名稱 否 庫存數量 數字 庫內剩余數量 否 單價
24、 貨幣 藥品單價 否 生產日期 數字 藥品生產日期 否 保質期 文本 藥品保質期 否 備注 文本 藥品簡介 否 表2 (2)確定庫存藥品明細表的字段屬性。 根據表2可以列出庫存藥品明細表的字段屬性。 字段名 數據類型 字段大小 說 明 格 式 藥品編號 數字 整型 藥品編號 無 藥品名稱 文本 50 藥品名稱 無 供貨商 文本 50 供貨商名稱 無 庫存數量 數字 整型 庫內剩余數量 無 單價 貨幣 整型 藥品單價 貨幣 生產日期 數字 不適用 藥品生產日期 日期 保質期 文本 50
25、 藥品保質期 無 備注 文本 50 藥品簡介 無 表3 (3)確定庫存藥品明細表的默認字段值。 字段名 數據類型 說 明 默認值 藥品編號 數字 藥品編號 無 藥品名稱 文本 藥品名稱 無 供貨商 文本 供貨商名稱 無 庫存數量 數字 庫內剩余數量 無 單價 貨幣 藥品單價 無 生產日期 數字 藥品生產日期 無 保質期 文本 藥品保質期 無 備注 文本 藥品簡介 無 表4 第四章 編碼實現與測試 在這一階段的設計中,編碼實現是該系統(tǒng)開發(fā)的比較重要的環(huán)節(jié),系統(tǒng)維護與管理的絕大部分
26、的功能實現全部靠這一部分的編碼,在論文的這一部分主要是給各個模塊的關鍵技術的實現加以說明,詳細的代碼在附錄中程序清單中全部列出。 測試分為單元測試和綜合測試,單元測試是在每一個模塊完成時進行的測試,這部分的測試是附加在每一個模塊的編碼的后面的,當每一個模塊完成時對其進行測試,看該模塊的功能是否能實現,發(fā)現問題及時解決,以確系統(tǒng)維護與管理系統(tǒng)可以安全可靠的運行。 綜和測試是在各個模塊功能實現以后進行的。 4.1編碼中的類屬性見表5 名稱 類型 文本 JLabel mid JLabe 藥品編碼 JLabel mname JLabe 藥品名稱 JButton bsell
27、JButton 查詢 JButton cancel JButton 取消 JLabel mnum JLabel 出售數量 JLabel fukuan JLabel 所附金額 JLabel OfferName JLabel 供貨商 JLabel Mprice JLabel 進貨價格 JLabel Amount JLabel 數量 JLabel Mdate JLabel 生產日期 JLabel bzq JLabel 保質期 JButton qued JButton 保存 JButton prin JButton 打印 表5 4.2管
28、理員登陸編碼實現 4.2.1管理員登錄編碼實現 1. 檢查管理員姓名和密碼是否正確 當密碼正確時顯示進入按鈕,進入管理員維護主頁。否則,顯示錯誤原因。主要代碼如下: void bt1Click() { String user=t1.getText().trim().toString(); String pwd=t2.getText().trim().toString(); //下面是sql數據庫查詢語句 String sqll="select * from user where user='"+user+"'";
29、 DBtool.ConDb(); //連接數據庫 ResultSet rs = DBtool.executeQuery(sqll);//執(zhí)行語句 if (rs.next()) { if (rs.getString("password").equals(pwd)) { if(rs.getString("quanxian").equals("Yes"))
30、 new Brows(true); else new Brows(false); MyClose(); } else { JOptionPane.showMessageDialog(null, "密碼錯誤!"); t1.setText("");
31、 t2.setText(""); } } else { JOptionPane.showMessageDialog(null, "用戶名不存在!"); t1.setText(""); t2.setText(""); } } 執(zhí)行結果如下圖所示 圖8 登陸窗體 圖9 管理員密碼錯誤時顯示 4.3藥品進銷存管
32、理系統(tǒng)模塊 本模塊的功能主要是管理員登陸后對系統(tǒng)進行維護,它又可以分為以下幾個子模塊,分別為藥品查詢模塊,新貨添加模塊,添加貨物模塊,藥品出售模塊,庫存報警,下面是對每一個子模塊的編碼實現。 4.3.1 藥品查詢編碼實現 查詢藥品是根據管理員輸入藥品名稱或藥品ID,點擊查詢后,首先從頁面讀取輸入信息,打開數據庫,看是否有與輸入藥品名稱或藥品ID相匹配的藥品,如果有則顯示所要查找的藥品的詳細信息。否則顯示無此藥品。驗證是否有此藥品及查詢藥品的主要代碼是: public void bsellClick(){ String sid=tid.getText().trim().toString
33、(); String sname=tname.getText().trim().toString(); String sqll; ResultSet rs=null; DBtool.ConDb(); if(sid.equals("")&&sname.equals("")) JOptionPane.showMessageDialog(null, "請輸入藥品ID或名稱"); else if(!sname.equals("")){
34、 sqll="select * from drg where name='"+sname+"'"; rs = DBtool.executeQuery(sqll); } else if(!sid.equals("")){ sqll="select * from drg where id='"+sid+"'"; rs = DBtool.executeQuery(sqll); }
35、 if (rs!=null&&rs.next()) { StringBuffer sb=new StringBuffer(); String ss="您所查詢的藥品信息如下\n***************************\n"+"藥品ID:"+rs.getString("id")+"\n"+"藥品名稱:"+rs.getString("name")+"\n"; String sd="供貨商:"+rs.getString("offername")+"\n"+"藥品單價:"+rs.getString("p
36、rice")+"\n"+"剩余庫存:"+rs.getString("amount")+"\n"; String sf="進貨日期:"+rs.getString("date")+"\n"+"藥品保質期:"+rs.getString("bzq")+"\n"+"藥品簡介:"+rs.getString("intro"); sb.append(ss); sb.append(sd); sb.append(sf); intro.
37、setText(sb.toString()); }else{ intro.setText("對不起!庫存沒有此藥品?。?!"); } } 執(zhí)行結果如下圖所示 圖10 4.3.2 新貨入庫的編碼實現 新貨入庫是進貨人員將某種新進藥品的所有詳細信息輸入后,點擊保存后,首先從頁面讀取藥品信息,打開數據庫,把新的藥品信息添加到數據庫中。該模塊的主要實現編碼如下: public void quedClick(){ String sid
38、=tid.getText().trim().toString(); String sname=tname.getText().trim().toString(); String sofferName=tOfferName.getText().trim().toString(); String sprice=tPrice.getText().trim().toString(); String samount=tAmout.getText().trim().toString(); String sdate=t
39、date.getText().trim().toString(); String sbzq=tbzq.getText().trim().toString(); String sintro=intro.getText().trim().toString(); String sqll="INSERT INTO drg VALUES('"+sid+"','"+sname+"','"+sofferName+"','"+sprice+"','"+samount+"','"+sdate+"','"+sbzq+"','"+sintro+"')";
40、 if(!sid.equals("")&&!sname.equals("")){ DBtool.ConDb(); DBtool.executeUpdate(sqll); JOptionPane.showMessageDialog(null,"添加成功"); cancelClick(); }else{ JOptionPane.showMessageDialog(null,"請?zhí)砑铀幤稩D和名稱");
41、 } } 執(zhí)行結果如下圖所示 圖11 4.3.3 藥品出售的編碼實現 藥品的出售是銷售人員將藥品的ID或名稱,出售數量,和顧客所付金額輸入,點擊出售后,首先從頁面讀取所出售藥品的信息,打開數據庫,找到與其匹配的藥品,計算其總價和應找金額,顯示起藥品的詳細信息和所找金額。該模塊的主要實現編碼如下: public void bsellClick(){ String sid=tid.getText().trim().toString(); String sname=tname.getText().trim().toString();
42、 String snum=tnum.getText().trim().toString(); String qian=kuan.getText().trim().toString(); Double dqian=new Double(0); if(!qian.equals("")) dqian=new Double(qian); Integer num=new Integer(0); if(!snum.equals("")) num=new Integer(snum); String sqll; ResultSet rs=null; DBto
43、ol.ConDb(); if(sid.equals("")&&sname.equals("")) JOptionPane.showMessageDialog(null, "請輸入藥品ID或名稱"); else if(!sname.equals("")&&!snum.equals("")){ sqll="select * from drg where name='"+sname+"'"; rs = DBtool.executeQuery(sqll
44、); } else if(!sid.equals("")&&!snum.equals("")){ sqll="select * from drg where id='"+sid+"'"; rs = DBtool.executeQuery(sqll); } if(snum.equals("")){ intro.setText("!請輸入您所
45、出售的數量!"); }else if(qian.equals("")){ intro.setText("!請輸入您所付金額!"); }else{ if (rs!=null&&rs.next()) { String nnn=rs.getString("amount").toString(); Integer number=new Integer(nnn);
46、 String money=rs.getString("price").toString(); Integer allMoney=new Integer(num.intValue()*(new Integer(money))); int allm=allMoney.intValue(); dqian=new Double(dqian.doubleValue()-(double)allm); Brows.montotal=new In
47、teger(Brows.montotal.intValue()+allm); if(number.intValue()>num.intValue()){ number=new Integer(number.intValue()-num.intValue()); StringBuffer sb=new StringBuffer(); String ss="您出售藥品的信息如下\n***************************\n";
48、String sd="藥品ID:"+rs.getString("id")+"\n"+"藥品名稱:"+rs.getString("name")+"\n"+"供貨商:"+rs.getString("offername")+"\n"+"藥品單價:"+money+"\n"+"所賣藥品總價格:"+allm+"元\n"+"原來庫存:"+nnn+"\n"+"剩余庫存:"+number.toString()+"\n"+"應找金額:"+dqian.doubleValue()+"\n"; String sf="進貨日期:"+rs.getString("date")+"\n"
49、+"藥品保質期:"+rs.getString("bzq")+"\n"+"藥品簡介:"+rs.getString("intro")+"\n"; Brows.total.append(sd); Brows.total.append(sf+"---------------------------\n"); sb.append(ss); sb.append(sd); sb.append(sf);
50、 intro.setText(sb.toString()); String upd="update drg set amount='"+number.toString()+"'where id='"+sid+"'"; DBtool.executeUpdate(upd); }else{ intro.setText("對不起!庫存不夠\n"+"剩余庫存:"+nnn); }
51、 } else { intro.setText("您所賣的藥品沒有庫存?。。。。?!"); } } } 執(zhí)行結果如下圖所示 圖12 4.3.4 庫存報警的編碼實現 該模塊是進貨人員輸入庫存少于的數量,點擊查詢后,首先從頁面讀取所出售藥品的信息,打開數據庫,找到藥品庫存數量少于所輸入的數量的藥品,顯示所有少于該數量的藥品名稱和庫存數量。該模塊的主要實現編碼如下: public void bsellClick(){
52、 String sid=tid.getText().trim().toString(); Integer inum=null; if(!sid.equals("")) inum=new Integer(sid); String sqll; ResultSet rs=null; DBtool.ConDb(); if(sid.equals("")) JOptionPane.showMessageDialog(null, "請輸入藥品ID或名稱"); e
53、lse if(!sid.equals("")){ sqll="select * from drg where amount<='"+inum.intValue()+"'"; rs = DBtool.executeQuery(sqll); } for(int i=0;i<20;i++){ if (rs!=null&&rs.next()){ String sd=rs.getString("nam
54、e"); tab.setValueAt(sd,i+1,0); String sf=rs.getString("amount"); tab.setValueAt(sf,i+1,1); }else{ continue; } } } 執(zhí)行結果如下圖所示 圖13
55、 4.4單元測試 由于本系統(tǒng)是單機使用版本,所以測試主要是在每一個模塊代碼完成后進行調試,在測試中主要看各模塊的功能是否實現。 由于自己本身能力的局限性,所以做編寫的代碼,即使經過反復檢查也難免出錯所以在本階段力求使用有限的時間找出盡可能多的錯誤,力求系統(tǒng)盡量正確。以下是題庫維護與管理的部分測試用例。 4.4.1管理員登錄測試 1. 管理員姓名和密碼正確 管理員:admin(正確) 密 碼:123(正確) 按下登錄,顯示密碼正確信息,管理員可以登錄。 2. 管理員或密碼錯誤 管理員:admin (正確) 管理員:xxxx (錯誤) 密 碼:
56、2222 (錯誤) 密 碼:123 (正確) 以上兩組測試結果顯示錯誤信息,管理員不能登錄。 4.4.2藥品查詢測試 1.正確的輸入 藥品ID: 1001 藥品名稱: 按下查詢鍵,顯示藥品ID所對應藥品的詳細內容。 藥品ID: 藥品名稱:白加黑 按下查詢鍵,顯示藥品名稱所對應藥品的詳細內容。 2.查看是否成功 在查詢結果一欄中顯示藥品的詳細信息。 4.4.2新貨入庫測試 1.正確的輸入 藥品編號: 1004 藥品名稱:感康 供貨商:北京同人堂 進貨價格:10 數量:100 生產日期:2007.5.3 保質期:10個月 藥品
57、簡介:治療感冒藥物 點擊保存鍵,顯示保存成功。 2.查看是否成功 在查詢藥品模塊的藥品ID攔中填寫1004查詢,在查詢結果一欄中顯示剛才保存藥品的詳細信息。 4.4.3藥品出售測試 1.正確的輸入 藥品ID: 1001 藥品名稱: 出售數量:1 所付金額:100 按下出售鍵 2.查看是否成功 在出售信息中顯示所出售藥品的纖細信息,和總價格,應找金額 4.4.4庫存報警測試 1.正確的輸入 請輸入庫存少于的數量: 100 點擊查詢 2.查看是否成功 在查詢結果中顯示出庫中所有庫存數量小于100的藥品名稱和藥品的數量
58、 第五章 總結與展望 5.1 總結 隨著經濟的全球化以及中國經濟改革的逐漸深化,制造業(yè)面臨著越來越激烈的競爭,改善企業(yè)內部以及整個供應鏈各個環(huán)節(jié)的管理、調度及資源配置,迅速適應客戶的新需求和市場新機遇的能力,是中國企業(yè)贏得競爭勝利的決定性因素,而快速有效地實施企業(yè)資源計劃系統(tǒng)是被實踐證明了的提高企業(yè)競爭力的最有效的方法之一。從根本上說,企業(yè)就是一個利用資源(人、財、物、時間),為客戶創(chuàng)造價值的組織,ERP就是對這些資源進行計劃、調度、控制、衡量、改進的管理技術和信息系統(tǒng)?,F今的企業(yè)并不只是人力資源、資金和產品的組合,它還應該包括供應、銷售、市場營銷、客戶服務、需求預測,以及其他更
59、多的東西。如果一個ERP系統(tǒng)真正想要最大限度地提高其生產能力,它必須能夠非常融洽地和其他關鍵性的商務領域進行交流。 當前, 隨著經濟的全球化以及中國經濟改革的逐漸深化,制造業(yè)面臨著越來越激烈的競爭,改善企業(yè)內部以及整個供應鏈各個環(huán)節(jié)的管理、調度及資源配置,迅速適應客戶的新需求和市場新機遇的能力,是中國企業(yè)贏得競爭勝利的決定性因素。設計本系統(tǒng)正是為了適應這種形勢。在有限的時間內憑個人之力是很難實現所有的功能。因此系統(tǒng)有基本目標和長遠目標。系統(tǒng)設計基本的目標是盡可能實現物流控制自動化,長遠目標是實現ERP管理。 系統(tǒng)投入使用后,將大大減少公司的管理部門的勞動量,改善了藥店內部以及整個供應鏈各個
60、環(huán)節(jié)的管理、調度及資源配置,使得管理合理規(guī)范。盡量合理的控制物流,尤其是藥品庫存的控制,它既防止藥品供應滯后于對他們的要求,也防止了藥品過早地出產和進貨,以免增加庫存,造成物資和資金的積壓。 本系統(tǒng)采用JAVA為主要開發(fā)工具,結合Access數據庫管理系統(tǒng)。既考慮了系統(tǒng)的需求,又兼顧了運行的效率,以及今后系統(tǒng)的功能拓展等。具有運行效率、開發(fā)周期短、擴展能力強、技術規(guī)范等特點。 主要技術包括:財務上的存貨概念知識、關系數據庫技術。 當然,系統(tǒng)還有需要改進的地方。例如本系統(tǒng)的幫助系統(tǒng)還很欠缺。這一點對于沒有電腦操作經驗的使用者來說是很重要的。 5.2 心得體會 通過本管理系統(tǒng)的開
61、發(fā),我對軟件開發(fā)過程有了更清晰的了解,首先是問題定義、需求分析,然后是功能設計、詳細設計等,并對軟件測試的方法、手段有了較深的理解,同時對制造業(yè)的流程有了一個系統(tǒng)的認識。在開發(fā)過程還認真學習了與系統(tǒng)相關的知識,極大地拓寬了我的知識面,我感到收獲不小。 在系統(tǒng)的開發(fā)初期,必須要熟悉藥店進銷存的管理流程,初步了解ERP的相關知識,這樣才能進入到設計的過程中去。從開始熟悉這些知識到對整體設計有了解,再從概要設計、詳細設計到開始編碼,以及最后的測試,整個過程感覺很充實,雖然遇到了不少困難,但當我通過自己查資料、或是向指導老師請教以及向同事請教,而設計出解決方案并成功實現時,那種成就感和滿足感足以鼓勵
62、自己加班加點的辛苦。 因為以前有過使用JAVA設計管理軟件的經驗,在這次設計的過程中,我遇到專業(yè)知識方面的困難不是非常多,主要困難集中在庫存管理知識、藥品進貨知識、藥品銷售知識等方面的不足上。尤其是銷售方面的知識,比如說怎樣實現藥品銷售時的金額統(tǒng)計和打印等,在實際的開發(fā)中我深刻的體會到了自己做課程設計和實際客戶的要求之間的距離,比如庫存的操作問題,庫存操作中需要隨時對庫存中的藥品數量進行了解和以有藥品的添加,而以前從未了解過這方面的知識,所以無從下手。這是我當時遇到的最束手無策問題,整整查了兩天的有關于庫存操作的具體流程及特殊情況的處理知識,又和一些相關人員進行相應的討論之后才使這個問題得以
63、解決。 還有就是操作界面的方面問題,盡管在設計的過程中,我們時刻考慮到了操作界面的友好性,但實際情況是遠遠不能滿足客戶的要求,考慮到軟件使用群體將是一群幾乎沒有任何電腦操作經驗的人,所以我設計的界面比較簡單、實用,各個操作都一目了然。 經過這3個月的畢業(yè)設計實習,確實學到了不少的東西,同時也深感自己知識的欠缺。雖然即將畢業(yè),但在以后的學習工作中,一定要繼續(xù)堅持不段地學習新興的專業(yè)知識及相關的非專業(yè)知識,只有這樣才能緊跟時代的潮流。 致 謝 在論文完成之際,我首先要向指導老師劉曉春老師表示最真摯的謝意。劉曉春老師認真負責的工作
64、態(tài)度,嚴謹的治學精神和深厚的理論水平都使我收益匪淺。無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學習都是一種巨大的幫助,感謝他耐心的輔導。 在論文寫作期間,父母也給予了我物質和精神上的極大支持。 我還要特別感謝各位同學給予了我無私的幫助,正是在他們的鼓勵和幫助之下,我得以順利完成論文。 由于本人學識有限,加之時間倉促,文中不免有錯誤和待改進之處,真誠歡迎各位師長、同學提出寶貴意見。 參考文獻 [1]日本工業(yè)會ERP研究所 編著 華連普ERP研發(fā)小組 譯著 《ERP入門》 華連普科技股份有限公司發(fā)行。 [2]蘇瑞,曹斌編著
65、《Access數據庫系統(tǒng)項目開發(fā)實踐》 科學出版社出版。 [3]王誠君編著《中文Access2003新編教程》 清華大學出版社。 [4]孫惠民編著《ERP系統(tǒng)規(guī)劃與典型案例--利用Access2003開發(fā)中小型ERP系統(tǒng)》 清華大學出版社。 [5]廖望編著《中文Access2003案例經典》 冶金工業(yè)出版社。 [6] 凱際資訊工作室編著《Access進銷存管理數據庫開發(fā)》 中國青年出版社。 [7] 夏邦貴,劉凡馨編著《Access2003數據庫開發(fā)經典實例精解》 機械工業(yè)出版社。 [8]袁海寧,張光瑞編著《Java程序設計教程》科學出版社。 [9]求是科技編著《Java數據庫系統(tǒng)開發(fā)實例導航》人民郵電出版社。 [10]黃明,梁旭編著《Java信息系統(tǒng)設計與開發(fā)實例》 機械工業(yè)出版社。 [11]Russel Winder,Graham Roberts編著 竇巍 譯著《Java軟件開發(fā)》 人民郵電出版社。 [12]邱桃榮編著《Java語言程序設計教程》 機械工業(yè)出版社。 [13]孫印杰編著《Java編程案例精解》 電子工業(yè)出版社。 [14]魏海平編著《標準Java2類庫使用手冊》 電子工業(yè)出版社。 第 32 頁 共 32 頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。