藥品管理系統需求分析_第1頁
藥品管理系統需求分析_第2頁
藥品管理系統需求分析_第3頁
藥品管理系統需求分析_第4頁
藥品管理系統需求分析_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、安徽工業大學畢業設計(論文)任務書課題名稱藥店管理系統設計與實現學 院 計算機學院專業班級網絡工程 網061班姓 名王義龍學 號069074228畢業設計(論文)的主要內容:一、進行調研,了解、分析用戶對“藥店管理系統”的設計要求。二、熟練掌握一種程序設計語言,掌握其數據庫開發、訪問技術。三、根據課題要求,軟件完成如下功能:1, 對系統用戶的增刪改查等操作的實現;2, 對職工的人事管理;3,對藥品的進銷存;特殊情況的處理,還有根據用戶權限的不同設置模塊的功能開放.四、要求軟件設計界面友好、使用方便,程序執行安全、可靠。五、完成與設計內容有關的外文資料翻譯,譯文約5000字。六、撰寫畢業論文并提

2、交設計軟件及清單一份。起止時間:2010年3月1日至2010年6月7日共14周指 導 教 師簽 字系 主 任簽 字院 長簽 字目錄第一章 概述51.1 系統開發背景和意義51.2 開發環境5第二章 需求分析72.1 任務概述72.2 功能需求72.3 性能需求72.4 數據描述(數據流圖+數據字典)8第三章 系統總體設計143.1 業務流程143.2 系統功能模塊圖143.3 系統流程圖16第四章 詳細設計184.1 程序流程圖184.2 程序輸入輸出描述234.2.1 用戶管理模塊234.2.2 職員管理模塊234.2.3 銷售管理模塊234.2.4 進貨管理模塊234.2.5 貨存轉移模塊

3、234.2.6 財務信息模塊234.3 數據庫的設計244.3.1 數據庫的概念結構設計和ER圖244.3.2 數據庫的邏輯設計264.3.3 數據庫的物理設計27第五章 測試分析報告476.1 什么是軟件測試476.2軟件測試的目的476.3 測試計劃和要點476.3.1 藥品以及藥品管理模塊測試要點476.3.2 銷售管理測試要點476.3.3 進貨管理測試要點476.3.4 職工信息測試要點466.4 部分測試圖476.5 測試結論49總結50參考文獻51 第一章 概述如何利用現代信息技術使企業擁有快速、高效的市場反映能力和高度的效率,已是醫藥經營企業,特別是醫藥連鎖經營企業特別關心的問

4、題。盡快建立一個功能齊備的藥品進、出庫管理系統,完善現代企業的信息化管理機制,已成為醫藥企業生存發展的當務之急。通過開發這個藥品管理系統,使藥品進銷存管理工作系統化,規范化,自動化,從而達到提高管理效率的目的。本系統開發設計思想是實現藥品管理的數字化。盡量采用現有軟硬件環境,及先進的管理系統開發方案,提高系統開發水平和應用效果的目的。系統應符合企業管理的規定,滿足日常管理的需要,并達到操作過程中的直觀、方便、實用、安全等要求,系統采用模塊化程序設計方法,這樣既便于系統功能的各種組合,又便于未參與開發的技術維護人員補充,維護。系統應具備數據庫維護功能,及時根據用戶需求進行數據的添加,刪除,修改等

5、操作。1.1 系統開發背景和意義此次畢業設計的選題是由我校計算機學院統一選題。本次的畢業設計是一個可以充分地鍛煉自己的動手實踐能力以及考核四年大學所學知識的積累的機會。針對我的實際情況,結合四年來對計算機軟件的熟練程度以及對數據庫的了解,經過與指導老師以及小組成員的協商,我選擇了藥品管理系統軟件設計與開發這個課題。這是一個屬于實際的課題,如果順利,我們所設計的藥品管理系統將實際應用到中國最廣大的售藥系統中去,對于初涉社會的我們來說,無疑是一個非常好地鍛煉機會。考慮到該系統屬于一個規模較大、較為復雜的數據庫系統,對計算機的性能要求較高,決定使用MyEclipse7.0開發此系統。此次畢業設計選題

6、范圍是相當廣泛且實用的,含蓋了目前大部分計算機軟件類開發的課題,給我們很大的自由發展的空間。可以每個學生挑選出最合適的課題,更適合同學們的興趣和價值取向。選擇此課題對我來說有著不同的意義,應該來說此課題更接近于實際開發的全過程。同時對編程、數據庫調用、結構化查詢語言STRUCTURED QUERY LANGUAGE等方面是一個比較綜合的考驗。讓我在此過程中得到很好的鍛煉。隨著醫療制度改革的進行,藥品招標采購的逐年規范和擴大,藥品管理已經成為藥劑科乃至整個醫院管理的重要內容。傳統的管理模式已經跟不上顧客對快節奏生活的要求了!隨著計算機的普及和計算機軟件的不斷發展,越來越多的醫療機構開始注視計算機

7、這個輔助工具為自己帶來的效益了。醫院的售藥機構需要通過計算機提高自已工作效率、對藥品實現進銷存管理和職工管理,提高經濟效益本次畢業設計我們秉承良好的治學之風,除了嚴格按照畢業設計進度表來安排我的設計情況,同時加強我與指導李老師聯系和交流。同時這是一個面向實際應用的課題,和基礎調研更是尤為顯得重要,為最終能夠成為一個成功的案例而努力。 1.2 開發環境開發環境的選擇會影響到數據庫的設計,所以在這里給出圖書管理系統開發與運行環境的選擇如下:開發環境:Window 7 旗艦版開發工具:MyEclipse7.0數據庫版本: 數據庫引擎: MyISAM第二章 需求分析 2.1 任務概述藥品管理系統是為了

8、加強藥品管理,以便更好地對藥品進行監督和管理,對售藥機構人員的工作,起到了高效性、準確性管理而開發。本系統主要包含系統用戶管理模塊、藥品管理模塊、銷售管理模塊、進貨管理模塊、存貨轉移管理模塊。藥品管理系統是以合理、全面、準確的藥品編碼體系為基礎,提供了對藥品數量、金額、有效期的全面管理,統一的藥價管理機制規范了藥品的價格。系統能隨時提供藥庫的庫存、藥品流向和消耗,還能根據現有庫存,藥品有效期提供采購計劃或應暫停采購的藥品清單,以提高資金的利用率,避免不必要的損失,方便快捷的途徑對藥基本信息進行定期的更新和刪除等管理。 2.2 功能需求一功能劃分藥品管理系統分為系統用戶管理、藥品銷售管理、藥品庫

9、存管理、進貨管理、職工管理、查詢與報表分析。二功能描述(1)系統用戶管理:允許添加刪除用戶(只有管理員才可以修改),任意權限的用戶允許更改自己的密碼,添加或刪除職工,修改職工,對藥品進行銷售和庫存的控制的資料。(2) 藥品進貨管理:當企業需要增加新的銷售藥品時,利用此模塊可以添加新的藥品信息,刪除舊的藥品信息,修改已存在的藥品信息,提供所有與藥品相關的各類信息,初始化庫存,初始化供應商相關信息。(3)藥品銷售管理:藥品統一的價格銷售,對已查詢銷售單,可以對藥品的價格進行控制。(4)庫存轉移管理:實際生活中容易發生藥品過期和損毀,此時利用此模塊對過期的藥品和損毀的藥品進行清理。(6)職工管理:&

10、#160; 對藥品企業進行職工的管理,對職工進行增加,修改,刪除,查詢等操作。(7)查詢與報表分析:此功能并未單獨作為一個模塊,而是分布在各個模塊中,各個模塊產生業務時,可以在各模塊的相應功能按鈕上選擇查詢。2.3 性能需求為了保證系統能夠長期、安全、穩定、可靠、高效的運行,藥品管理系統應該滿足以下的性能需求:1、系統處理的準確性和及時性系統處理的準確性和及時性是系統的必要性能。在系統設計和開發過程中,要充分考慮系統當前和將來可能承受的工作量,使系統的處理能力和響應時間能夠滿足學校對信息處理的需求。2、系統的開放性和系統的可擴充性藥品管理系統在開發過程中,應該充分考慮以后的可擴充性。例如用戶查

11、詢的需求也會不斷的更新和完善。所有這些,都要求系統提供足夠的手段進行功能的調整和擴充。而要實現這一點,應通過系統的開放性來完成,既系統應是一個開放系統,只要符合一定的規范,可以簡單的加入和減少系統的模塊,配置系統的硬件。通過軟件的修補、替換完成系統的升級和更新換代。3、系統的易用性和易維護性圖書管理系統是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統能夠提供良好的用戶接口,易用的人機交互界面。要實現這一點,就要求系統應該盡量使用用戶熟悉的術語和中文信息的界面;針對用戶可能出現的使用問題,要提供足夠的在線幫助,縮短用戶對系統熟悉的過程。4、系統的標準性系統在設計開發使用過

12、程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業標準。5、系統的先進性目前計算系統的技術發展相當快,做為藥品管理系統工程,在系統的生命周期盡量做到系統的先進,充分完成企業信息處理的要求而不至于落后。這一方面通過系統的開放性和可擴充性,不斷改善系統的功能完成。另一方面,在系統設計和開發的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發展前途的產品。6、系統的響應速度藥品管理系統系統在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統計分析時,根據所需數據量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。2.4 數據描述

13、(數據流圖+數據字典)經過調研,我們發現,一個藥店最基本的工作流程是進貨和銷售。消費者選擇藥店進行購物,藥店通過我們的藥店管理系統進行藥品的銷售及銷售后的庫存整理。流程簡介:2.4.1 要求A.為每種藥品設置編號,輸入藥品的信息,以便于管理人員對藥品進行管理,也便于核對修改B.為職工設置庫,便于操作員對職工進行管理C.為供貨商設置庫,便于操作員及時與供貨商聯系貨源D.設置系統權限E.藥品價格分為進貨價、零售價和批發價2.4.2 目標A.使藥品銷售的信息能及時得到統計、查詢B.方便操作員的操作,達到簡單、易用的效果C.提高操作員的工作效率D.提高操作的正確率E.提高系統的可靠性及安全性管理人員顧

14、客藥品管理系統圖2.1 藥品管理系統基本流程以上便是我們這個藥品管理系統的總體數據流程圖,通過上述的這幅圖片,我們可以清楚地了解到該系統的大致情況,有兩個數據源/終點,分別是客戶、用戶。而該系統進一步地功能顯示在下圖中可以得到解釋。控制信息管理人員統計信息銷售統計管理進出貨管理職工管理圖2.2 管理人員的數據流圖銷售人員通過輸入藥品編號,查出系統中存在的藥品,通過醫生看病以及配藥,考慮所售藥品的價格,將病人所要購買的藥品列入藥品清單中,最后的銷售入庫存系統將此次的交易數據保存到數據庫中,最終完成交易,將藥品交給病人手中。經過對數據流程分析,提示出現行系統具有4個主要模塊:藥品信息系統、藥品庫存

15、管理系統、供應商管理系統、藥品銷售系統。通過它們我們的藥品管理系統才成為了一個能夠成功的軟件。首先是藥品信息系統:在這個模塊中由用戶或管理員輸入所有藥品的基本信息即藥品的初始化。第二個是藥品庫存管理系統:在這里這個系統有兩個功能,一是查出現有藥庫中的所有過期藥品,更新現有的數據庫;二是實現藥品入庫,避免藥品空缺造成的銷售問題。第三個是供應商管理系統:供應商是藥品進貨時,從何處購得的一種記錄方法,通過供應商可以方便的再次進貨。最后一個是藥品銷售系統:在這個模塊中,管理人員可以很方便地對銷售情況進行查看,顯示當天的銷售金額并備份所有的數據庫表。藥品管理系統與3個外部實體有關:顧客、藥房銷售人員和系

16、統管理員。其中系統管理人員擁有所有信息資料添加、刪除和修改的權限,而藥房銷售人員只具有普通權限不能對信息資料做任何的刪除操作。以上只是整個系統的總體流程,大概顯示了一次一個用戶完整交易的全部過程。在這里我們還要對這個數據流程進行進一步詳細的分解。反饋結果購藥要求消費者 購藥及退貨圖2.3 消費者的數據流圖消費者通過選購,選購好合適的藥品,到管理者處登記結賬,發生銷售管理。管理者通過藥品編號,錄入系統需要銷售的數量,系統生成倉庫中是否有足夠的藥品。發生銷售之后產生銷售單和銷售金額,消費者付款拿貨。銷售管理完成。當消費者發現購買的藥品不符合要求,管理者在認真核實之后,予以退款,發生退貨。

17、此時管理者要在系統的壞貨轉移中,將不合格藥品轉移到不合格倉庫中。圖2.4 系統數據流圖圖2.5 詳細數據流圖2.4.3 數據字典數據流項目:1.名字:用戶信息(admin)別名:無流量:每天上十次來源:用戶基本信息表去向:核對用戶信息定義:用戶信息用戶名用戶密碼+權限2.名字:藥品信息別名:無流量:每天上十次來源:藥品表去向:核對藥品庫存初始化、核對出庫信息、核對入庫信息定義:藥品信息藥品編號 + 藥品名稱 + 藥品建成 + 藥品規格 + 藥品產地 + 批號 +進價 + 批發價 + 零售價 + 供應商 + 類別 + 有效期 + 備注.3.名字:庫存信息別名:無流量:每天上十次來源:庫存表去向:

18、核對藥品庫存查詢、核對進貨單、核對銷售單定義:庫存信息ID 藥品編號 + 藥品名稱供應商編號 + 單價 + 數量 + 入庫日期 + 倉庫類別.4.名字:供應商信息別名:無流量:每天上十次來源:供應商表去向:反饋給用戶,核對進貨單定義:供應商信息ID供貨商編號供貨商名+地區+備注5.名字:銷售單單信息別名:無流量:每天上十次來源:銷售單單表去向:反饋給用戶定義:銷售單信息ID藥品編號 + 藥品名稱 + 數量 銷售日期 + 銷售數量 + 銷售收入2.4.4 存儲條目:1.文件名:用戶基本信息表別名:無存儲方式:隨機存儲存儲頻率:每天上十次定義:用戶基本信息表用戶名用戶密碼 + 權限2.文件名:藥品

19、表別名:無存儲方式:隨機存儲存儲頻率:每天上十次定義:藥品表藥品編號 + 藥品名稱 + 藥品建成 + 藥品規格 + 藥品產地 + 批號 +進價 + 批發價 + 零售價 + 供應商 + 類別 + 有效期 + 備注.3.數據項條目:項名:藥品類型別名:無描述:用戶輸入試題的類型定義:藥品類型所有藥品規定類型位置:藥品表4.處理條目:1.處理名:藥品添加處理邏輯:用戶添加藥品信息執行頻率:每天上十次2.處理名:庫存初始化處理邏輯:用戶初始化藥品庫存表執行頻率:進貨上十次3.處理名:入庫處理邏輯:用戶添加進貨單執行頻率:每天上十次4.處理名:銷售處理邏輯:用戶添加銷售單執行頻率:每天上十次第三章 系統

20、總體設計3.1 業務流程根據需求分析的得到的現行業務處理流程,在用戶反復研究后,首先確定目標系統的業務流程,其處理流程如圖3.1。用戶驗證藥品登記管理員登陸 合法用戶登記后的藥品銷售和庫存整理管理員退出登陸圖3.1 藥品管理系統的業務流程針對業務流程,現具體描述其功能如下:1.用戶登錄:系統對用戶合法性進行檢查。2.藥品入庫:對新購進的藥品分類進行編號,并把藥品基本信息錄入計算機。3.藥品銷售:對已入庫的藥品,銷售人員可以進行銷售。4.藥品進貨:對已入庫的藥品,管理人員可以進行貨存控制。5.存貨轉移:對于已經過期或者損壞的藥品,可以進行處理。 6.信息查詢:對藥品的各種變動情況的查詢。7.職員

21、管理:對藥店的職工進行管理。3.2 系統功能模塊圖藥品管理系統模塊是用JAVA SWING進行設計,MYSQL作為后臺數據庫管理系統。系統管理模塊分為用戶登錄、進貨管理、銷售管理、職工管理和壞貨轉移;用戶管理模塊主要是新增用戶,修改用戶,查詢用戶,刪除用戶;進貨管理模塊主要有供應商創始,進貨,進貨單查詢,藥品創始;銷售管理模塊主要有銷售,修改價目表,銷售單查詢;職工管理有添加職工,處理職工。系統體系結構框圖如下圖:藥品管理系統銷售管理進貨管理壞貨轉移職工管理用戶管理過期處理損毀處理處理職工添加職工銷售單查詢修改價目表銷售藥品創始進貨單查詢進貨供應商創始刪除用戶修改用戶新增用戶查詢用戶圖3.2

22、藥品管理系統功能模塊圖3.3 系統流程圖依據軟件工程的基本原理,綜合以上分析給出系統流程圖如圖3.4所示。用戶登陸藥品創始庫存創始進貨登陸銷售退出圖3.2 系統的處理流程圖 說明: 用戶通過登陸界面登陸系統時,第一次使用系統時需要進行藥品的創始,即將各個藥品的詳細信息依次錄入系統,第一次使用系統時同樣要初始化庫存,將現有的藥品情況錄入系統,接下來通過進貨模塊進行進貨,進貨時要為每一個供應商進行供應商創始,當發生銷售時銷售藥品,并對庫存進行相應的出來,退出時推出系統。第四章 詳細設計4.1 程序流程圖依據軟件工程的基本原理,詳細設計階段的根本任務是確定應該怎樣具體實現所要求的系統,也就是說,經過

23、這個階段的設計工作,應該得出對目標系統的精確描述,從而在系統實現階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。具體來說就是把經過總體設計得到的各個模塊詳細的加以描述。本系統采用支持面向對象的Eclipse作為開發工具,運用了J2SE的SWing的技術,更加的方便了程序員的工作。程序對系統配置要求較高。在此給出軟件系統的主要模塊,如圖4.1所示。職工管理銷售管理進貨管理壞貨轉移用戶管理圖4.1 主程序模塊圖 根據以上主程序的模塊圖,我們可以得出下面的關于各個模塊的程序流程圖,如圖4.2所示。 開始用戶類型管理員系統管理員職工管理壞貨轉移進貨管理銷售管理用戶管理退出系統結束圖4.2 總

24、體流程圖說明:用戶登陸系統時,系統判斷用戶的級別,如果為系統管理員,則可以進行用戶的用戶管理,如果是管理員,則可以進行相應的銷售管理,進貨管理,壞貨轉移,職工管理,管理員點擊退出按鈕時,退出系統。用戶登陸 失敗用戶核對操作成功成功用戶管理用戶管理操作圖4.3 用戶登陸流程說明:用戶根據已知的用戶名和密碼登錄系統,只有登錄成功才能進行系列的用戶管理、庫存管理、銷售管理,職工管理的操作。用戶登陸藥品添加錄入藥品核對藥品信息失敗藥品表 成功成功圖4.4 藥品創始流程用戶登陸庫存管理輸入庫存庫存創始操作成功操作失敗成功庫存表圖4.5 存貨創始流程用戶 登陸銷售管理操作失敗 銷售單錄入核對信息操作成功成

25、功庫存表圖4.6 銷售流程用戶 登陸壞貨轉移核對信息 錄入壞貨信息操作失敗操作成功 成功庫存表圖4.7 壞貨轉移流程說明:用戶登陸后進行藥品的相關管理,通過藥品創始,為系統初始化一些藥品及添加新的代售藥品。通過存貨創始將具體進貨的藥品錄入庫存中,銷售成功則對庫存做相應的修改。當藥品損壞或者過期時,應當對庫存做相應的調整。用戶用戶登陸職員管理核對信息錄入職員信息操作成功成功職員列表失敗圖4.7 職員管理說明:管理員通過職工管理模塊進行職工的管理,添加職工后,錄入到職員列表中。4.2 程序輸入輸出描述4.2.1 用戶登陸模塊1.輸入項目:輸入用戶名及密碼。2.輸出項目:打開系統。4.2.2 用戶管

26、理模塊1.輸入項目:與用戶相關的所有信息。2.輸出項目:操作結果的顯示,出錯彈出對話框。4.2.3 銷售管理模塊1.輸入項目:選擇藥品編號,藥品的進銷價格。2.輸出項目:操作結果的顯示,出錯彈出對話框。4.2.4 進貨管理模塊1.進貨項目:供應商的詳細信息,倉庫的詳細信息,藥品的數量。2.輸出項目:藥品的有關資料的顯示,進貨單列表4.2.5 壞貨管理模塊1.輸入項目:發生意外無法使用的藥品編號。2.輸出項目:操作結果的顯示。4.2.6 職工管理模塊1.輸入項目:職工的詳細信息。2.輸出項目:根據用戶的輸入顯示相應的結果。4.3 數據庫的設計4.3.1 數據庫的概念結構設計和ER圖在需求分析階段

27、已完成該系統所有的數據分析。根據該階段所建立的概念模型,已經得出滿足系統設計要求的幾個關系描述,該階段的主要工作就是把前一階段的成果轉化為具體的數據庫。概念結構設計就是要找出實體和他們之間的聯系,去除非本質的東西。實體是名詞,在ER 圖中設計中就是所說的表。比如“藥品”,“庫存”。 行為是動詞,在ER 圖中設計時一般不考慮行為,它是業務邏輯,在詳細設計才有設計,是方法。比如 “銷售”,“進貨”等等。 在設計ER圖時時強調的是不同實體之間關系,不是行為。比如:藥品 "銷售" 庫存,“轉移”是一種關系,不是行為。在某種情況下,“銷售”是一個關系表,將“藥品”和“庫存”聯系起來。

28、 在找出實體后,我們要根據分析來定義實體的屬性,就是表的列。比如藥品有ID,名稱,進價,銷價,簡介等等; 庫存有ID,名稱,數量等等。 “庫存”可擁有 0-MANY 的“藥品”,而藥品同樣屬于0-MANY 的庫存。所以是多對多的關系根據以上的分析給出下面的概念結構設計得E-R圖如圖4.3所示。用戶表權限用戶名用戶名圖4.8 用戶E-R圖有效期 零售商別名藥品表零售價ID批發價藥品名備注進價產地規格類別圖4.9 藥品E-R圖供應商 備注地區編號供應商名圖4.10 供應商E-R圖庫存表 藥品名藥品編號零售價數量供應商編號圖4.11 庫存E-R圖價格銷售單銷售單編號數量藥品名藥品ID圖4.12 供應

29、商E-R圖職工表郵編職工號地址證件號電話性別職工名圖4.12 職員E-R圖零售商有效期規格產地別名ID進價類別零售價批發價藥品表備注藥品名n供貨銷售單編號1備注庫存初始化地區藥品IDm銷售單供應商藥品名供應商名m銷售進貨編號價格n數量n庫存表n1藥品編號零售價數量藥品名供應商編號圖4.13 實體聯系E-R圖4.3.2 數據庫的邏輯設計藥品管理管理系統主要涉及到4個表,即:藥品信息表、藥品入庫表、藥品出庫表和庫存表。藥品信息表:這張表是用來存儲藥品信息的。藥品添加以后它的信息就會儲存到這張表中,其中包含:藥品編號、藥品名稱、化學名稱、規格、藥品類別、劑型、批號及廠商。其中藥品編號是主鍵,非空且唯

30、一。其余信息可以為空,并在數據表建立的時候給他們相應的規定好數據類型。藥品入庫表:這張表是用來存儲入庫表單信息的,所有入庫單信息都包含在這張表中。包括:入庫單號、藥品編號、批號、入庫日期、有效日期、進價、預售價、數量、整量單位、散量單位及驗收人。其中入庫單號是主鍵,非空且唯一。藥品出庫表:這張表是用來存儲出庫表單信息的,所有出庫信息都包含在這張表單中。它的字段有:出庫單號、藥品編號、批號、數量、出庫日期及驗收人。其中出庫單號是主鍵,非空且唯一。藥品庫存表:這張表是用來存儲庫存信息的,所有初始化的庫存信息和出庫入庫信息改變后的信息都會被記錄下來。它字段有:庫存號、藥品編號、批號、藥品名稱、數量、

31、整量單位、散量單位、入庫日期、有效日期、進價、預售價、庫存下限及驗收人。4.3.3 數據庫的物理設計 數據庫設計有幾個范式,一般我們要做到的是第三范式,即數據表中沒有冗余字段以及同一個表中的字段沒有函數依賴關系,冗余字段即在一個表中已經保存過的信息,在另一個表中就不應該存在,如果需要的話,可以通過表間的關聯來得到,函數依賴性就是一個表中的字段間不應該有計算關系,如一個表中有單價字段、數量字段,就不應該有一個總金額字段。如果程序運行過程中需要總金額,可以實時計算。不過在一些較常用的表中,我們可以適當地保留冗余字段,這樣,在程序運行過程中可以減少由于表間互相關聯而使用速度降低等問題。這就是所謂的第

32、四范式。數據表設計時,最好不要使用用戶輸入的信息作為主鍵,每一個數據表自己定義一個主鍵,添加信息是由程序自動添加,這樣就可以減少數據更新時產生的錯誤。表與表相關聯的外鍵最好是由程序自動生成的主鍵,這樣數據庫就比較規范了。另外,數據表設計時一般都應該有一些標志字段,標志字段可以定義成CHAR(1)或BIT型。建議實際應用中定義成CHAR(1)字段可以存儲多種可能的狀態,在最初設計時,可能我們沒有考慮到的一些情況,在程序后來的開發中,可以通過設計標志字段為不同的 值來解決,這樣就避免了修改數據庫結構。 數據庫初期設計時一定要謹慎,把所有可能的情況都考慮進去,即使當時沒有用到,也要將它留在數據庫中作

33、為備用字段以便將來擴充。 程序一旦開始編碼,就應該盡量避免再修改數據庫。因為如果數據庫結構一旦改變,所有與修改的數據表相關的業務都有可能受到影響,而某些影響還很難看到,這樣就容易形成一個惡性循環。錯誤越改越多,越改越亂,最終導致程序的失敗。PB的數據窗口與其他語言的數據控件不一樣,它的很多東西是預編譯的。即使你一個模塊已經調試無誤,但只要數據庫結構改動。相應的模塊就一定要重新修改,否則一定會出問題。藥品管理系統數據庫中各個表的設計結果如下面幾個表格所示。每個表格表示為數據庫中的一個表。表4.14 藥品信息表Medicine列名數據類型允許空值默認值描述mid(PK)Varchar(8)N藥品編

34、號mnameVarchar(40)N藥品名稱mshortnameVarchar(10)Y藥品建成mnorsVarchar(4)N規格mareaVarchar(40)N藥品產地mlotVarchar(10)N批號minprifloatN0進價mwprifloatN0批發價mprifloatN0零售價MconVarchar(8)N供應商McateVarchar(20)N類別Musetimedecimal(10,0)N有效期memoVarchar(40)Y備注表4.15 用戶表User列名數據類型允許空值默認值描述Username(PK)Varchar(20)N用戶名passwordVarchar(

35、8)N密碼rankintN1權限表4.16 供應商表Supplier列名數據類型允許空值默認值描述spid(PK)Varchar(8)N供應商編號spnameVarchar(8)N供應商名SpareaVarchar(8)N地區SpmenoVarchar(40)Y備注表4.17 銷售單表SalesOrder列名數據類型允許空值默認值描述Soid(PK)Varchar(8)N銷售單編號midVarchar(8)N藥品編號MnameVarchar(40)N藥品名SnumintN0數量pricedoubleN0單價表4.18 職工表Staff列名數據類型允許空值默認值描述Staffid(PK)Varc

36、har(8)N職工編號staffnameVarchar(20)N職工名稱Staffsexvarchar(2)N性別stafftelvarchar(12)N電話staffaddvarchar(40)Y地址Staffcardvarchar(40)N身份證staffzipvarchar(6)Y備注表4.19 貨存表Stock列名數據類型允許空值默認值描述Mid(PK)Varchar(8)N職工編號mnameVarchar(20)N職工名稱mpricefloatN性別mnumintN電話spidvarchar(8)Y地址timedatetimeN身份證statusintN存貨類別 第五章 測試分析報告

37、6.1 什么是軟件測試 軟件測試就是在受控制的條件下對系統或應用程序進行操作并評價操作結果的過程,所謂控 制條件應包括正常條件與非正常條件。 軟件測試過程中應該故意地去促使錯誤的發生,也就是事情在不該出現的時候出現或者在應 該出現的時候沒有出現。從本質上說,軟件測試是“探測”,在“探測”中發現軟件的毛病。 軟件測試貫穿于軟件定義與開發的整個周期 ,軟件的需求規格說明書 ,結構設計及程序編 碼,都屬于軟件測試的對象。 軟件測試包含白盒測試與黑盒測試,白盒測試是針對程序代碼進行正確性檢驗的測試工作, 黑盒測試獨立于程序代碼,從用戶的角度,通過一定的測試步驟與測試案例,驗證軟件功能、 性能等指標能否

38、滿足實際應用需求的測試作。6.2軟件測試的目的 軟件測試的目的是為了保證軟件產品的最終質量,在軟件開發的過程中,對軟件產品進行質量控制。一般來說軟件測試應由獨立的產品評測中心負責,嚴格按照軟件測試流程,制定測試計劃、測試方案、測試規范,實施測試,對測試記錄進行分析,并根據回歸測試情況撰寫測試報告。測試是為了證明程序有錯,而不能保證程序沒有錯誤。6.3 測試計劃和要點 軟件測試的本質是針對要測試的內容確定一組測試用例。在討論之前,我先把要測試各個模塊的計劃和要點列出: 藥品以及藥品管理模塊測試要點 用戶的登錄用戶名和密碼的核對,藥品創始信息格式的判斷,防止不規范的數據和錯誤的數據插入數據庫。例如,已經存在的用戶不可被再次注冊,用戶的生日和email格式等。6.3.2 銷售管理模塊測試要點發生銷售時,庫存的變動情況,是否減少,藥品為零則禁止銷售。6.3.3 進貨管理模塊測試要點錄入數據時對數據格式的限制,防止不正確的數據進入數據庫。6.3.4 職工信息測試要點防止臟數據進入數據庫。6.4

溫馨提示

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

評論

0/150

提交評論