




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、洛 陽 理 工 學(xué) 院課 程 設(shè) 計 報 告 課程名稱 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計 設(shè)計題目 藥店管理系統(tǒng) 專 業(yè) 計算機科學(xué)與技術(shù) 班 級 學(xué) 號 姓 名 完成日期 2017.1.6 課 程 設(shè) 計 任 務(wù) 書設(shè)計題目: 藥店管理系統(tǒng) 設(shè)計內(nèi)容與要求:1.問題描述設(shè)計實現(xiàn)藥店管理系統(tǒng)。能夠?qū)崿F(xiàn)藥品庫存管理、銷售信息管理和查詢功能。 2.基本要求庫存管理:包括藥品入庫、出庫管理,藥品庫存報警,藥品有效期管理(過期報警)。銷售管理:根據(jù)實際銷售自動生成銷售單據(jù)。如果是會員,則藥品價格按95折計算。查詢及統(tǒng)計功能:對指定時間段內(nèi)的出/入庫進(jìn)行查詢/統(tǒng)計,對藥品有效期進(jìn)行查詢/統(tǒng)計,對藥品過期進(jìn)行查詢
2、/統(tǒng)計,對指定時間段內(nèi)的藥品銷售進(jìn)行查詢/統(tǒng)計以及利潤查詢/統(tǒng)計等。能幫顧客查詢藥品信息,能按品名、生產(chǎn)廠家、藥品類別、存貨量進(jìn)行查詢。 指導(dǎo)教師: 2016年 12 月 20 日課 程 設(shè) 計 評 語 成績: 指導(dǎo)教師: 年 月 日洛 陽 理 工 學(xué) 院 課 程 設(shè) 計 報 告目錄第1章需求分析11.1功能需求11.2數(shù)據(jù)需求1第2章 數(shù)據(jù)庫設(shè)計22.1數(shù)據(jù)庫邏輯級設(shè)計22.2 關(guān)系模式22.3基本表3第3章 概要設(shè)計43.1系統(tǒng)結(jié)構(gòu)與模塊功能4第4章 詳細(xì)設(shè)計與實現(xiàn)64.1模塊流程圖64.2界面效果圖及代碼7第5章總結(jié)1415第1章 需求分析1.1功能需求藥店管理系統(tǒng)能夠?qū)崿F(xiàn)藥品庫存、銷售
3、信息管理和查詢功能,根據(jù)實際銷售自動生成銷售單據(jù)。能幫顧客查詢藥品信息,能按品名、生產(chǎn)廠家、藥品類別、存貨量進(jìn)行查詢。庫存管理:包括藥品入庫、出庫管理,藥品庫存報警,藥品有效期管理(過期報警)。銷售管理:根據(jù)實際銷售自動生成銷售單據(jù)。如果是會員,則藥品價格按95折計算。查詢及統(tǒng)計功能:對指定時間段內(nèi)的出/入庫進(jìn)行查詢/統(tǒng)計,對藥品有效期進(jìn)行查詢/統(tǒng)計,對藥品過期進(jìn)行查詢/統(tǒng)計,對指定時間段內(nèi)的藥品銷售進(jìn)行查詢/統(tǒng)計以及利潤查詢/統(tǒng)計等。能幫顧客查詢藥品信息,能按品名、生產(chǎn)廠家、藥品類別、存貨量進(jìn)行查詢。1.2數(shù)據(jù)需求經(jīng)過對學(xué)校附近的藥店的調(diào)研以及在網(wǎng)上查找的資料,藥店藥品管理系統(tǒng)的處理對象主要
4、包括:藥品信息、供應(yīng)商信息、顧客信息、藥品銷售信息、藥品存儲信息等幾個方面。根據(jù)市場需求需要的數(shù)據(jù)組成如下需要的數(shù)據(jù)有操作員、會員、藥品、訂單、廠家、進(jìn)貨單這些實體的組成數(shù)據(jù)有,操作人員需要包括:賬號、密碼、姓名、聯(lián)系電話、郵箱、地址;會員表:賬號、姓名、年齡、聯(lián)系電話、郵箱、地址;藥品信息中含有:藥品ID、藥品名、類別、生產(chǎn)日期、有效期、進(jìn)價、售價、生產(chǎn)廠家;訂單詳情中含有的有:訂單編號、藥品名、購買數(shù)量、售價、購買人員、銷售日期;廠家信息包括:廠家編號、廠家名、電話、地址;進(jìn)藥表、藥品ID、操作員、進(jìn)藥日期、進(jìn)藥數(shù)量第2章 數(shù)據(jù)庫設(shè)計2.1數(shù)據(jù)庫邏輯級設(shè)計E-R如下圖所示存儲N倉庫N1年齡
5、姓名賬號電話郵箱編號品名數(shù)量售價買家日期賬號密碼姓名電話郵箱地址藥品操作員訂單會員提交參照處理廠家生產(chǎn)11廠名類別ID電話地址名稱編號編號數(shù)量生產(chǎn)期有效期進(jìn)價售價批次ID11NNNNN2.2 關(guān)系模式管理員(賬號、密碼、姓名、聯(lián)系電話、郵箱、地址)會員(賬號、姓名、年齡、聯(lián)系電話、郵箱、地址)藥品(藥品ID、藥品名稱、類別、生產(chǎn)廠家編號)倉庫(批次ID、藥品ID、藥品名、類別、生產(chǎn)日期、有效期、進(jìn)價、售價、生產(chǎn)廠家)訂單詳情(訂單編號、藥品名、購買數(shù)量、售價、購買人員、銷售日期、操作員姓名)廠家(廠家編號、廠家名、電話、地址)進(jìn)藥(藥品ID、操作員姓名、進(jìn)藥日期、進(jìn)藥數(shù)量)其中下劃線部分為主鍵
6、2.3基本表根據(jù)需求構(gòu)建表的基本組成。(1)管理員表如圖2-1名稱字段名稱數(shù)據(jù)類型長度主鍵允許空值賬號Mnovarchar10是否密碼Mpasswvarchar20否否姓名Mnamevarchar20否否電話Mphonechar11否是郵箱Memailvarchar20否是地址Maddressvarchar50否是圖2-1(2)會員表如圖2-2名稱字段名稱數(shù)據(jù)類型長度主鍵允許空值會員號Cnovarchar10是否姓名Cnamevarchar20否否年齡Cageint否是電話Cphonechar11否是郵箱Cemailvarchar20否是地址Caddressvarchar50否是圖2-2(3)
7、藥品表如圖2-3名稱字段名稱數(shù)據(jù)類型長度主鍵允許空值編號Dnovarchar10是否品名Dnamevarchar20否否類別Dclassvarchar20否否生產(chǎn)商Snamevarchar20否否 圖2-3(4)供應(yīng)商表如圖2-4名稱字段名稱數(shù)據(jù)類型長度主鍵允許空值編號Snovarchar10是否供應(yīng)商名Snamevarchar20否否電話Sphonechar11否是郵箱Semailvarchar20否是地址Saddressvarchar50否是 圖2-4(5)庫存表如圖2-5名稱字段名稱數(shù)據(jù)類型長度主鍵允許空值批次Lnovarchar10是否藥品IDDnovarchar10否否藥品名Dnam
8、evarchar20否否藥品類別Dclassvarchar20否否數(shù)量Pquantityint否否入庫時間Idatedate否否過期時間out_datedate否否進(jìn)價Dbiddfloat否否售價Dpricefloat否否供應(yīng)商Snamevarchar20否否 圖2-5(6)銷售表如圖2-6名稱字段名稱數(shù)據(jù)類型長度主鍵允許空值訂單Slnovarchar10是否批次Lnovarchar10否否會員IDCnovarchar10否是售價Ddpricefloat否否數(shù)量Mquantityint否否總價Amoneyfloat否否日期Idatedate否否 圖2-6(7)缺貨單表如圖2-7名稱字段名稱數(shù)據(jù)
9、類型長度主鍵允許空值缺貨單號Lnovarchar10是否藥品IDDnovarchar10否否數(shù)量Pquantityint否否日期Pdadedate否否狀態(tài)Astatevarchar10否否 圖2-7第3章 概要設(shè)計3.1系統(tǒng)結(jié)構(gòu)與模塊功能本系統(tǒng)結(jié)構(gòu)主要包括登錄模塊,主界面模塊,添加藥品名模塊,修改和刪除品名模塊,入庫模塊, 會員管理模塊,出售管理模塊,有效期查詢模塊,盈利查詢模塊,缺貨查詢模塊。(1) 登錄界面設(shè)計:為了保護藥店銷售管理系統(tǒng)的安全性,所以設(shè)置必須輸入賬號密碼才能進(jìn)入系統(tǒng)。(2) 主界面設(shè)計:為了讓系統(tǒng)更加簡潔,更加人性化,特加入主界面,能夠讓操作人員更加清晰的找到需要的功能,只
10、要用戶在該界面選擇對應(yīng)的按鈕,他就會彈出與各個相對應(yīng)的界面。(3) 添加品名設(shè)計:為了能夠使自己的藥店更加多元化,更加容易管理,引入添加藥品名稱的設(shè)計。能夠讓使用者更加清晰的知道現(xiàn)如今自己藥店中藥品的種類以及藥品類型,以進(jìn)行更加方便的進(jìn)貨以及添加新的藥品。(4) 修改品名設(shè)計:為了讓使用者在不使用某一家的藥品或者藥品信息更改后進(jìn)行及時的刪除修改。保持藥品庫的實時性。(5) 入庫設(shè)計:能夠在該頁面對已經(jīng)錄入的藥品名進(jìn)行入庫,會自動添加入庫時間,生成一個批次編號,方便管理,能夠在售賣中及時發(fā)現(xiàn)哪批貨物為最先入庫的。(6) 會員管理設(shè)計:進(jìn)行會員系統(tǒng)的設(shè)計能夠讓藥店更好的鎖定固定用戶,在此界面中,使
11、用者可以對會員信息進(jìn)行錄入,修改以及刪除。(7) 出售管理設(shè)計:出售管理中能夠根據(jù)藥品ID以及藥品名稱進(jìn)行搜索,查找藥品然后售賣,并且有會員檢測機制,當(dāng)輸入正確的會員ID后檢測然后進(jìn)行打折。(8) 有效期查詢設(shè)計:能夠?qū)齑嬷械乃幤愤M(jìn)行有效期查詢,當(dāng)有效期低于一定的時間就會在此窗口顯示出來,并且支持對即將過期藥品和已經(jīng)過期的藥品進(jìn)行銷毀處理。(9) 盈利查詢設(shè)計:能夠?qū)σ?guī)定時間范圍的訂單進(jìn)行查詢,并且計算總定價、總售價和總盈利。能夠詳細(xì)顯示藥品批次ID、購買人的ID,時間、數(shù)量。如果是非會員就會顯示出為匿名,默認(rèn)是對所有的訂單進(jìn)行計算查詢(10) 缺貨查詢設(shè)計:自動對售賣過程中的藥品進(jìn)行統(tǒng)計,
12、當(dāng)數(shù)量低于一定數(shù)值的會自動在缺貨單中顯示出來,并且顯示目前狀態(tài),如果進(jìn)行進(jìn)貨后會將未處理改為已處理。(11) 退出功能設(shè)計:此功能比較簡單,僅僅在彈出警告窗口后退出。第4章 詳細(xì)設(shè)計與實現(xiàn)4.1模塊流程圖根據(jù)系統(tǒng)需求做出的模塊之間的大致流程圖如下4-1所示。添加修改入庫會員出售有效期盈利缺貨藥品管理庫存管理銷售管理查詢管理 登錄主界面圖4-14.2界面效果圖及代碼(1)藥店登錄界面如圖4-1 圖4-1主要代碼如下private void loginActionPerformed(ActionEvent evt) String userName=this.UserNameTxt.getText(
13、);String password=new String(this.UserPawTxt.getPassword();if(StringUtil.isEmpty(userName)JOptionPane.showMessageDialog(null, "用戶名不能為空!");return;if(StringUtil.isEmpty(password)JOptionPane.showMessageDialog(null, "密碼不能為空!");return;User user=new User(userName,password);Connection c
14、on=null;try con=dbUtil.getCon();User currentUser=userDao.login(con, user);if(currentUser!=null)dispose();new MainFrm().setVisible(true);elseJOptionPane.showMessageDialog(null, "用戶名或者密碼錯誤!"); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finallytry dbUtil.closeCon
15、(con); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();(2)藥店主界面如圖4-2 圖4-2(3)入庫界面如圖4-3 圖4-3主要代碼:private void DrugAddAction(ActionEvent e)Connection con=null;String dName=dNameTxt.getText();String dClass=dClassTxt.getText();String sName=sNameTxt.getText();String dNo="&quo
16、t;int a = 0;DrugDao drugDao = new DrugDao();Drug drug=new Drug(dNo,dName,dClass,sName);try con=dbUtil.getCon();a=drugDao.insert(con,drug); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();if(a=1)JOptionPane.showConfirmDialog(null, "添加成功");resetValue();elseJOptionP
17、ane.showConfirmDialog(null, "添加失敗");(4)添加藥品如圖4-4 圖4-4(5)修改藥品如圖4-5 圖4-5主要代碼如下:private void drugAddActionPerformed(ActionEvent evt) throws SQLException String pQuantity=this.pQuantityTxt.getText();String dBidd=this.dBiddTxt.getText();String dprice=this.dPriceTxt.getText();String out_date=thi
18、s.out_dateTxt.getText();int row=drugTable.getSelectedRow();String dno=(String)drugTable.getValueAt(row, 0);String dname=(String)drugTable.getValueAt(row, 1);String dclass=(String)drugTable.getValueAt(row, 2);String sname=(String)drugTable.getValueAt(row, 3);if(StringUtil.isEmpty(pQuantity)JOptionPan
19、e.showMessageDialog(null, "數(shù)量不能為空!");return;if(StringUtil.isEmpty(dBidd)JOptionPane.showMessageDialog(null, "進(jìn)價不能為空!");return;if(StringUtil.isEmpty(dprice)JOptionPane.showMessageDialog(null, "售價不能為空!");return;DrugStore drugStore=new DrugStore(dno,dname,dclass,sname,Inte
20、ger.parseUnsignedInt(pQuantity),Float.parseFloat(dBidd),Float.parseFloat(dprice),out_date,mName);Connection con=null;trycon=dbUtil.getCon();int addNum=drugStoreDao.add(con, drugStore);if(addNum=1)JOptionPane.showMessageDialog(null, "入庫成功!");resetValue();elseJOptionPane.showMessageDialog(nu
21、ll, "入庫失敗!");catch(Exception e)e.printStackTrace();JOptionPane.showMessageDialog(null, "入庫失??!");finallytry dbUtil.closeCon(con); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();(6)會員管理界面如圖4-6 圖4-6主要代碼如下:private void custromerAddActionEvent(ActionEvent e)C
22、onnection con=null;String cNo=this.cNoTxt.getText();String cName=this.cNameTxt.getText();String cAge=this.cAgeTxt.getText();String cPhone=this.cPhoneTxt.getText();String cEmail=this.cEmailTxt.getText();String cAddress=this.cAddressTxt.getText();Customer customer = new Customer(cNo,cName,Integer.pars
23、eInt(cAge),cPhone,cEmail,cAddress);try con=dbUtil.getCon();int addNum=customerDao.add(con, customer);if(addNum=1)JOptionPane.showMessageDialog(null, "添加成功!");resetValue();elseJOptionPane.showMessageDialog(null, "添加失?。?quot;); catch (Exception e1) / TODO Auto-generated catch blocke1.pr
24、intStackTrace();(7)出售管理界面如圖4-7 圖4-7主要代碼如下:/監(jiān)聽會員信息事件private void isNotUser1(ActionEvent e2) int row=drugTable.getSelectedRow();Connection con=null;String cNo=this.cNoTxt.getText();custormerDao=new CustomerDao();Customer customer =new Customer(cNo);try con=dbUtil.getCon(); catch (Exception e) / TODO A
25、uto-generated catch blocke.printStackTrace();if(custormerDao.IsCustomer(con,customer)userTxt.setText("是");per=(float) 0.95;elseper=1;userTxt.setText("否");return;/計算總金額事件private void drugActionMoney(MouseEvent arg0)String cmuantity=this.cMuantityTxt.getText();if(StringUtil.isNotEmpty(this.cMuantityTxt.getText()if(Integer.parseInt(cmuantity)<=Integer.parseInt(cM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國雕塑試題及答案大全
- 新疆呼圖壁縣第一中學(xué)2025屆高二物理第二學(xué)期期末聯(lián)考模擬試題含解析
- 浙江省杭州外國語學(xué)校2024-2025學(xué)年高二下生物期末達(dá)標(biāo)檢測模擬試題含解析
- 浙江省衢州市2024-2025學(xué)年物理高二下期末復(fù)習(xí)檢測試題含解析
- 云南省麗江市玉龍縣第一中學(xué)2025屆高二下生物期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 浙江平陽中學(xué)2025屆物理高二下期末經(jīng)典試題含解析
- 鹽城市阜寧縣高二上學(xué)期期中考試物理(必修)試題
- 高端廠房租賃中介服務(wù)傭金合同模板
- 水電工程場地平整與專業(yè)施工機械租賃合同
- 汽車維修鈑噴行業(yè)場地租賃與設(shè)備維護合同
- 湖北省黃岡市(2024年-2025年小學(xué)三年級語文)人教版隨堂測試(下學(xué)期)試卷(含答案)
- 土木工程施工設(shè)計報告
- 四川省瀘州市2024年中考物理試題(含答案)
- 2024屆浙江省臺州市天臺縣英語八年級第二學(xué)期期末達(dá)標(biāo)檢測模擬試題含答案
- 工學(xué)云周報范文200字
- 國開(河北)2024年《法律工作者職業(yè)道德》形考任務(wù)1-4答案
- 山東省濟南市高新區(qū)2023-2024學(xué)年八年級下學(xué)期期末物理試題
- JT-T-1180.2-2018交通運輸企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化建設(shè)基本規(guī)范第2部分:道路旅客運輸企業(yè)
- 2024年遂寧市中考理科綜合真題試卷(含答案解析)
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 2024年國家保安員資格考試題庫及參考答案(完整版)
評論
0/150
提交評論