倉庫管理系統(tǒng)課程設計_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  1 需求分析5</b></p><p>  1.1 功能需求5</p><p>  1.2 用戶需求5</p><p>  1.3 系統(tǒng)流圖5</p><p>  1.4 基本數據項及數據

2、結構6</p><p>  1.5 數據流條目7</p><p>  1.6 數據存儲條目7</p><p>  1.7 加工條目7</p><p>  1.8 數據流圖9</p><p>  1.9 安全性要求10</p><p>  1.10 完整性要求11</p>

3、;<p>  2.概念結構設計12</p><p>  3.邏輯結構設計13</p><p>  3.1 關系模型設計13</p><p>  3.2 用戶子模式設計16</p><p>  3.3 系統(tǒng)結構圖20</p><p>  3.4 安全性設計20</p><p&

4、gt;  3.5 完整性設計20</p><p>  4.數據庫物理設計22</p><p>  4.1 建立索引22</p><p>  4.3 確定系統(tǒng)配置22</p><p>  4.4 模塊設計24</p><p>  5.數據庫實施25</p><p>  5.1靜態(tài)備份

5、25</p><p>  5.2 動態(tài)備份25</p><p>  5.3恢復備份25</p><p>  5.4 界面設計26</p><p>  5.6 關鍵代碼29</p><p>  6.系統(tǒng)測試方案32</p><p>  6.1 登錄測試32</p><

6、;p>  6.2 新建用戶測試32</p><p>  6.3 更改用戶測試32</p><p>  6.4 刪除用戶測試32</p><p>  6.5 數據錄入測試33</p><p>  6.6 查詢測試33</p><p>  7.系統(tǒng)主要功能和安裝使用說明34</p><

7、p>  7.1系統(tǒng)功能34</p><p>  7.2.系統(tǒng)安裝說明34</p><p><b>  結束語36</b></p><p><b>  參考文獻37</b></p><p><b>  1 需求分析</b></p><p>

8、<b>  1.1 功能需求</b></p><p>  該系統(tǒng)主要分為三大功能: 管理員功能、信息安全功能、一般用戶功能、報表生成。</p><p>  (1) 管理員功能:產品入庫登記、確認入庫信息、刪除庫內信息、借出信息登記、產品分類管理、添加人員、刪除人員、查詢庫內信息。</p><p>  (2) 信息安全功能:人員權限區(qū)分、事件記

9、錄、數據警告、計劃備份、即時備份、數據恢復;</p><p>  (3) 一般用戶功能:查詢庫內信息、查詢出庫信息、查詢入庫信息、修改本用戶密碼;</p><p>  (4) 報表生成:庫存信息報表生成。</p><p><b>  1.2 用戶需求</b></p><p>  根據用戶需求,該系統(tǒng)應該實現(xiàn)以下功能:

10、</p><p>  (1) 進、出庫管理。對進、出庫信息進行記錄。</p><p>  (2) 查詢功能。倉庫管理對查詢要求高,通過主菜單記錄當前操作用戶的用戶編號,保證了對進、出庫信息錄入負責人的確認。</p><p>  (3) 部門資料管理與庫存報表生成。資料管理包括了人員信息管理,財政支出信息管理,以及各項業(yè)務單據的資料管理。報表主要分類為:日報表,月報表

11、,銷售報表,入庫報表等等。</p><p>  (4) 由于計算機能存貯大量的數據,而且數據只要一次存入,便可多次重復使用,所以管理數據達到完整,統(tǒng)一,原始記錄能保證及時,準確。</p><p>  (5) 許多重復性的工作,都可由計算機去執(zhí)行,從而使管理人員從事務性工作解脫出來,真正變?yōu)閺氖乱恍┬畔⒌姆治?,判斷,決策等創(chuàng)造性的工作。</p><p><b&g

12、t;  1.3 系統(tǒng)流圖</b></p><p>  1.4 基本數據項及數據結構</p><p>  零部件信息。包括的數據項有零件號、零件名稱、規(guī)格、單價、描述。</p><p>  倉庫信息。包括的數據項有倉庫號、已用庫存、庫存總量、負責人、電話號碼。</p><p>  供應商信息。包括的數據項有編號、供應商、電話號碼、

13、地址。</p><p>  部門信息。包括的數據項有部門號、名稱、電話。</p><p><b>  1.5 數據流條目</b></p><p>  1.6 數據存儲條目</p><p><b>  1.7 加工條目</b></p><p><b>  1.8 數

14、據流圖</b></p><p>  本系統(tǒng)的頂層數據流圖</p><p><b>  細化后的數據流圖</b></p><p>  貨物入庫信息管理細化</p><p>  貨物出庫信息管理細化</p><p><b>  1.9 安全性要求</b></p&

15、gt;<p>  系統(tǒng)安全性要求至少達到TCSEC(TDI)的C1級。即只提供了非常初級的自主安全保護。能夠實現(xiàn)對用戶和數據的分離,進行自主存取控制(DAC),保護或限制用戶權限的傳播。實行用戶標識與鑒別,具有數據備份和日志審計功能。</p><p>  1.10 完整性要求</p><p>  每個關系中都至少要有一個主鍵,并且都有一個聚集索引(Clustered Inde

16、x)。關系與關系之間通過主外鍵關聯(lián)。定義屬性上的約束條件,定義觸發(fā)器。</p><p><b>  2.概念結構設計</b></p><p><b>  3.邏輯結構設計</b></p><p>  3.1 關系模型設計</p><p>  倉庫表storehouse</p><

17、p><b>  零件表parts</b></p><p>  供應商supplier</p><p><b>  部門表dept</b></p><p>  庫存表storage</p><p><b>  供應表supply</b></p><p&g

18、t;  部門需求表demand</p><p>  零件歸還表restore</p><p>  零部件采購計劃表stock</p><p>  入庫表warehousing</p><p>  出庫表stockout</p><p>  3.2 用戶子模式設計</p><p>  倉庫信息視圖

19、storehouse_view</p><p>  零部件庫存視圖parts_storage_view</p><p>  零部件入庫視圖warehousing_view</p><p>  零部件出庫視圖stockout_view</p><p>  零部件計劃采購視圖stock_view</p><p>  部門需

20、求視圖demand_view</p><p>  供應商零件供應視圖supply_view</p><p>  零部件歸還入庫視圖restore_view</p><p><b>  3.3 系統(tǒng)結構圖</b></p><p><b>  3.4 安全性設計</b></p><p

21、>  用戶類別有:信息查詢員inf,倉庫管理員dba和系統(tǒng)管理員sys。他們的權限分別為:</p><p>  信息查詢員inf:只有信息查詢的權限。</p><p>  倉庫管理員dba:具有信息查詢,更新,刪除,報單打印權限。</p><p>  系統(tǒng)管理員sys:除具有倉庫管理員dba所有權限外,還具有用戶管理,數據恢復備份。</p

22、><p><b>  3.5 完整性設計</b></p><p>  各表中各個字段的完整性約束已在“4.1 關系模型設計”中各表的“約束”列做了詳細說明。</p><p><b>  觸發(fā)子設計:</b></p><p><b>  零件入庫觸發(fā)子</b></p>

23、<p>  設置觸發(fā)子parts_warehousing_update,當warehousing表插入或更新一條新記錄后,更新storage表的零件存量Now_volume和更新storehouse表的已用存量Used_volume。</p><p>  設置觸發(fā)子parts_warehousing_delete,當warehousing表刪除一條(錯誤)記錄前,更新storage表的零件存量Now_v

24、olume和更新storehouse表的已用存量Used_volume</p><p><b>  零件出庫觸發(fā)子</b></p><p>  設置觸發(fā)子parts_stockout_update,當stockout表插入或更新一條新記錄后,更新storage表的零件存量Now_volume和更新storehouse表的已用存量Used_volume。</p&g

25、t;<p>  設置觸發(fā)子parts_warehousing_delete,當stockout表刪除一條(錯誤)記錄前,更新storage表的零件存量Now_volume和更新storehouse表的已用存量Used_volume</p><p><b>  零件歸還入庫觸發(fā)子</b></p><p>  設置觸發(fā)子parts_restore_updat

26、e,當restore表插入或更新一條新記錄后,更新storage表的零件存量Now_volume和更新storehouse表的已用存量Used_volume。</p><p>  設置觸發(fā)子parts_restore_delete,當restore表刪除一條(錯誤)記錄前,更新storage表的零件存量Now_volume和更新storehouse表的已用存量Used_volume</p><

27、p><b>  4.數據庫物理設計</b></p><p><b>  4.1 建立索引</b></p><p><b>  各表索引設計如下:</b></p><p>  確定數據的存放位置:該數據庫的數據文件都存放在MySQL的安裝目錄的/data/warehouse文件夾下.</p&

28、gt;<p>  4.3 確定系統(tǒng)配置</p><p><b>  運行環(huán)境</b></p><p>  操作系統(tǒng):Windows 2003或WindowsXP,以上</p><p>  數據庫系統(tǒng):5.1.29-rc-community-log MySQL Community Server (GPL)</p>&l

29、t;p>  開發(fā)平臺:C++Builder 6.0+MyDAC 5.70.0.42 for C++Builder 6 </p><p><b>  數據庫配置</b></p><p>  #適合于內存256M--512M的用戶。用于服務器搭建</p><p><b>  [client]</b></p>

30、<p><b>  port=3306</b></p><p><b>  [mysql]</b></p><p>  default-character-set=gbk</p><p><b>  [mysqld]</b></p><p><b>  p

31、ort=3306</b></p><p>  basedir="D:/PC_webserver/mysql/"</p><p>  datadir="D:/PC_webserver/mysql/Data/"</p><p>  default-character-set=gbk</p><p&g

32、t;  default-storage-engine=INNODB</p><p>  sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"</p><p>  max_connections=447</p><p>  query_cache_size

33、=12M</p><p>  table_cache=128</p><p>  tmp_table_size=8M</p><p>  thread_cache_size=4</p><p>  myisam_max_sort_file_size=100G</p><p>  myisam_max_extra_sor

34、t_file_size=100G</p><p>  myisam_sort_buffer_size=16M</p><p>  key_buffer_size=32M</p><p>  read_buffer_size=64K</p><p>  read_rnd_buffer_size=256K</p><p>

35、  sort_buffer_size=2M</p><p>  innodb_data_home_dir="D:/PC_webserver/mysql/datafiles/"</p><p>  innodb_additional_mem_pool_size=2M</p><p>  innodb_flush_log_at_trx_commit=

36、1</p><p>  innodb_log_buffer_size=1M</p><p>  innodb_buffer_pool_size=29M</p><p>  innodb_log_file_size=10M</p><p>  innodb_thread_concurrency=8</p><p>  l

37、og=D:\PC_webserver\mysql\log\sql.log </p><p>  log-output=FILE</p><p><b>  4.4 模塊設計</b></p><p><b>  倉庫管理HIPO圖</b></p><p><b>  5.數據庫實施</

38、b></p><p><b>  5.1靜態(tài)備份</b></p><p>  服務器不再進行數據更新,定期進行備份,使用mysqldump命令進行在線非塊備份。</p><p>  全局備份:完整備份數據庫</p><p>  shell>mysqldump --user=root --password=t

39、he_mysql_root_password \</p><p>  --result-file=outputfile.sql --databases warehouse</p><p>  局部備份:備份具體某些表</p><p>  shell>mysqldump --user=root --password=the_mysql_root_passwor

40、d \</p><p>  --result-file=outputfile.sql --databases warehouse table_name</p><p><b>  5.2 動態(tài)備份</b></p><p>  運行服務器進行數據更新,用FLUSH LOGS或mysqladmin flush-logs清空日志進行定期增量備份。&l

41、t;/p><p>  如果mysqld在運行則停止,然后用--log-bin[=file_name]選項來啟動。當想要進行增量備份時(包含上一次完全備份或增量備份之后的所有更改),應使用FLUSH LOGS回滾二進制日志。然后,你需要將從最后的完全或增量備份的某個時刻到最后某個點的所有二進制日志復制到備份位置。這些二進制日志為增量備份。下次進行完全備份時,還應使用FLUSH LOGS或mysqlhotcopy --f

42、lushlogs回滾二進制日志。</p><p>  另外可以使用事件對某個表數據進行自動定時備份,但那樣占用相當的數據庫系統(tǒng)資源處理事件,會影響服務器的性能。</p><p><b>  5.3恢復備份</b></p><p><b>  1) 靜態(tài)數據恢復</b></p><p>  假定所備份

43、的數據庫已經存在,以管理員身份登錄數據庫,輸入命令:</p><p>  >use backup_database_name;</p><p>  >source backup_name.sql;</p><p><b>  2) 動態(tài)數據恢復</b></p><p>  1. 恢復原mysqldump備

44、份,或二進制備份。</p><p>  2. 執(zhí)行下面的命令重新更新二進制日志:</p><p>  shell>mysqlbinlog hostname-bin.[0-9]* | mysql</p><p><b>  5.4 界面設計</b></p><p>  登錄界面和用戶管理界面</p>

45、<p><b>  信息查詢界面</b></p><p>  零件信息管理界面和部門信息管理界面</p><p>  供應商信息管理界面和零件入庫管理界面</p><p>  零件出庫管理界面和零件還庫管理界面</p><p>  零件供應管理界面和部門需求管理界面</p><p> 

46、 計劃采購管理界面和倉庫管理界面</p><p><b>  主界面界面</b></p><p><b>  5.6 關鍵代碼</b></p><p><b>  創(chuàng)建用戶并分配權限</b></p><p>  修改用戶(包括權限重新分配)</p><p&g

47、t;  根據不用用戶分配不同的功能</p><p><b>  6.系統(tǒng)測試方案</b></p><p><b>  6.1 登錄測試</b></p><p><b>  輸入空賬號</b></p><p>  輸入不存在的賬號密碼</p><p>  

48、輸入正確的賬號和錯誤的密碼</p><p>  輸入正確賬號和空密碼</p><p>  6.2 新建用戶測試</p><p>  創(chuàng)建一個已存在的賬號</p><p>  創(chuàng)建每種用戶類型的空密碼的賬號</p><p>  正常創(chuàng)建每種用戶類型的賬號(非空密碼)</p><p>  創(chuàng)建每種用

49、戶類型的空賬號且空密碼</p><p>  創(chuàng)建每種用戶類型的非空密碼的空賬號</p><p>  6.3 更改用戶測試</p><p>  更改每種用戶類型已存在的用戶</p><p>  更改每種用戶類型一個不存在的用戶</p><p>  每種用戶類型將一個非空密碼的用戶改為空密碼</p><

50、p>  每種用戶類型將一個空密碼的用戶改為空密碼</p><p>  每種用戶類型將一個用戶只更改權限</p><p>  每種用戶類型更改一個空賬號密碼的用戶</p><p>  每種用戶類型更改一個空帳戶但密碼非空</p><p>  6.4 刪除用戶測試</p><p>  刪除一個不存在的用戶</p

51、><p>  刪除一個已存在的用戶</p><p><b>  刪除一個空用戶</b></p><p>  6.5 數據錄入測試</p><p><b>  錄入一條空記錄</b></p><p>  錄入一條以上全部數據項非空記錄</p><p>  錄

52、入一條以上只填必填數據項的記錄</p><p>  錄入一條以上只填非必填數據項的記錄</p><p>  對具有外鍵關聯(lián)的表錄入一條以上檢驗外鍵約束的記錄</p><p>  錄入一條以上正確的記錄</p><p>  錄入一條以上檢驗其他自定義完整性約束的記錄</p><p><b>  6.6 查詢測試

53、</b></p><p>  正常查詢一條以上記錄</p><p>  查詢各種查非所查的記錄</p><p>  查詢各種不對應選項的查詢</p><p>  7.系統(tǒng)主要功能和安裝使用說明</p><p><b>  7.1系統(tǒng)功能</b></p><p>

54、  本系統(tǒng)的主要功能如下表所示:</p><p>  不同的用戶類型具有不同的功能。</p><p>  7.2.系統(tǒng)安裝說明</p><p>  由于MyDAC插件的關系,插件存在著“MyDAC trial version requies C++Builder IDE”(MyDAC試用版依賴于C++Builder IDE),所以安裝有點麻煩。運行此程序必須安裝C+

55、+Builder 6.0、MyDAC 5.70和MySQL 5.1,運行此程序前必須先運行C++Builder IDE。</p><p>  數據庫連接及數據導入。安裝好MySQL后以管理員登錄,登錄后輸入命令:</p><p>  >create database warehouse character set gbk;</p><p>  導入數據,輸入命

56、令:</p><p>  >use warehouse;</p><p>  >source warehouse.sql;(如果warehouse.sql文件不是在當前目錄,請指明warehouse.sql的詳細目錄)</p><p><b>  創(chuàng)建程序默認用戶:</b></p><p>  >cr

57、eate user 'inf'@'localhost' identified by 'inf';</p><p>  >create user 'dba'@'localhost' identified by 'dba';</p><p>  >create user 'sys

58、'@'localhost' identified by 'sys';</p><p><b>  數據庫連接:</b></p><p>  進入Windows的控制面板,在控制面板中找到【數據源(ODBC)】選項并雙擊,進入【ODBC數據源管理器】對話框。如果控制面板中沒有該選項可以在Windows目錄下查找“odbcad32.

59、exe”可執(zhí)行文件并運行它。</p><p>  選擇【系統(tǒng)DSN】選項卡并單擊【添加】按鈕,出現(xiàn)創(chuàng)建新數據源窗體,從中選擇【MySQL ODVBC 5.1 Drive】項。</p><p>  單擊【完成】按鈕,出現(xiàn)數據源參數設置窗體,從中輸入數據源的名稱及數據源指向的服務器名稱,本例輸入的是warehouse和localhost,端口號為3306,數據庫選擇warehouse,填寫完賬

60、號密碼后點擊【test】,測試成功后點擊【OK】退出配置,完成MySQL的ODBC數據源的建立。</p><p><b>  結束語</b></p><p>  在這次數據庫課程設計中,我學習到很多知識,開始時真的不知道該怎么做,倉庫管理系統(tǒng)到底要創(chuàng)建哪些表,表里到底要有哪些數據項,這些都很模糊。在老師的指導下才知道怎樣去做。我認為,需求分析真的很重要。在需求設計階段

61、,把系統(tǒng)的功能勾畫出來,分析系統(tǒng)的數據字典、數據流向,畫出E-R圖,根據E-R圖數據庫設計關系模型,這樣一步步下來,自己對倉庫管理系統(tǒng)有更多的了解,對后面的程序編程也明朗了。在數據庫設計的時候也花了不少的時間,多次的在數據庫關系模型、E-R圖和數據字典之間循環(huán)修改,重復的修改完整性定義,優(yōu)化表格。在定義check完整時發(fā)現(xiàn)MySQL的check完整性定義失效,翻書發(fā)現(xiàn)原來MySQL對check的完整性定義還沒有強化。等數據關系模型最終確

62、定了,才開始設計索引和觸發(fā)子。之后的編程就簡單多了。在數據庫設計期間,我是在設計的過程中就去創(chuàng)建數據庫,建表,所以當修改完整性定義和數據項時現(xiàn)得相當麻煩,因為有主鍵外鍵的完整性定義在修改時就不好做了。最終結論,我把數據庫設計完后才去創(chuàng)建數據庫創(chuàng)建完整性定義等等,還有一點是創(chuàng)建表時最好也把后面程序功能的需要考慮進來。在這次數據庫課程設計中真的學到不少。</p><p><b>  參考文獻</b&g

63、t;</p><p>  [1] 數據庫系統(tǒng)概論(第四版) 王珊 薩師煊 高等教育出版社 2006.5</p><p>  [2] 軟件工程(第二版) 李代平等編著 清華大學出版社 2008.1</p><p>  [3] MySQL開發(fā)者SQL權威指南 (荷)Rick F.van der Lans 著 許杰星 李強等譯 機械工業(yè)出版社 2008.1</

溫馨提示

  • 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

提交評論