




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課題名稱:軟件工程課程設計課題名稱:軟件工程課程設計 試題題目:超市管理系統試題題目:超市管理系統 姓名:姓名:xxxxxx 學號:學號:20090512xxx20090512xxx xxxxxx 學號:學號:20090512xxx20090512xxx 專業專業:2009:2009 級計算機科學與技術(師范)級計算機科學與技術(師范) 學院:計算機與信息科學學院學院:計算機與信息科學學院 時間:時間:2011-12-262011-12-26 目錄 一、開發背景與目標.4 二、需求分析說明書.4 2.1 系統介紹.4 2.2 系統面向的用戶群體.4 2.3 系統的功能模塊需求.5 2.4 系統
2、的非功能性需求.5 2.4.1 用戶界面需求.5 2.4.2 軟硬件環境需求.5 2.4.3 軟件質量要求.6 三、可行性分析報告.6 3.1 經濟可行性分析.6 3.2 操作可行性分析.6 3.3 技術可行性分析.7 3.4 時間、設備可能性.7 3.5 系統工作量.7 3.6 文檔要求.7 四、開發環境與項目規劃.7 4.1 開發環境.7 4.2 項目規劃與管理.8 4.2.1 開發人員安排.8 4.2.2 開發進度安排.8 五、結構化分析與設計.8 5.1 設計思想.9 5.2 數據流圖.9 5.3 數據字典.10 5.3.1 數據項.10 5.3.2 數據結構.11 5.3.3 數據流
3、.13 5.3.4 數據存儲.17 5.3.5 處理過程.19 六、面向對象分析與設計.22 七、數據庫分析與設計.23 7.1 數據庫環境說明.23 7.2 數據庫命名標準與規范.23 7.3 數據庫邏輯設計.23 7.3.1 邏輯設計步驟.23 7.3.2 邏輯設計原則.24 7.3.3 邏輯設計圖.25 7.4 數據庫物理設計.26 7.4.1 數據庫物理設計步驟.26 7.4.2 表、視圖匯總.26 7.4.3 各表、試圖設計詳解.27 八、人機界面設計.30 8.1 界面設計的原則.30 8.2 系統窗體匯總.30 8.3 主界面設計.30 8.4 其他各界面設計.32 8.4.1
4、商品信息管理界面.32 8.4.2 職工信息管理界面.35 8.4.3 供貨商信息管理界面.37 8.4.4 添加銷售信息.40 8.4.5 添加進貨信息.42 8.4.6 庫存信息管理界面.45 8.4.7 權限設置管理.47 九、項目系統實現.48 9.1 實現環境與技術.48 9.1.1 系統采用的開發技術.48 9.1.2 系統運行環境.48 9.2 核心模塊實現技術代碼.49 十、軟件測試分析報告.74 10.1 測試范圍與主要內容.74 10.2 測試方法.74 10.3 系統測試步驟.75 10.4 測試報告.75 10.5 系統改進建議與措施.75 10.6 系統優點.76 1
5、0.7 輸入設計.78 十一、軟件使用說明書.79 11.1 軟件概述.79 11.2 使用說明.79 11.2.1 系統登錄.79 11.2.2 系統簡介.80 11.2.3 更多功能.80 11.2.4 mysql 數據庫信息.80 十二、系統開發評價.81 12.1 功能方面.81 12.2 性能方面.82 12.3 課程知識運用方面.82 參考文獻.82 一、開發背景與目標一、開發背景與目標 20 世紀 90 年代后期特別是近幾年,我國的超市產業飛速發展,其經營模式更為復 雜,舊的管理體制已經無法適應超市的發展,這就迫切的需要引進新的管理技術。 超市的數據和業務越來越龐大,而計算機就是
6、一種高效的管理系統,這就需要我們 把超市的管理與計算機結合起來,從而超市管理系統應運而生。依靠現代化的計算機信息 處理技術來管理超市,節省了大量的人力、物力,并且能夠快速反映出商品的進、銷、存 等狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應的決策,加快超市經 營管理效率。 本系統力求為超市提供一個方便的管理平臺,通過全面的信息采集和處理,輔助提高 超市的決策水平。 二、需求分析說明書二、需求分析說明書 2.1 系統介紹系統介紹 依靠現代化的計算機信息處理技術來管理超市,節省了大量的人力、物力,并且能夠 快速反映出商品的進、銷、存等狀況和各種反饋信息分析,使管理人員快速對市場的變化
7、 做出相應的決策,加快超市經營管理效率。 本系統為超市提供一個方便的管理平臺,通過全面的信息采集和處理,輔助提高超市 的決策水平。 2.2 系統面向的用戶群體系統面向的用戶群體 本系統面向所有的大中小型超市的所有用戶。 2.3 系統的功能模塊需求系統的功能模塊需求 一般的超市商品管理系統,主要由五大模塊組成,即商品信息管理模塊,人事管理模 塊,銷售管理模塊,進貨管理模塊,庫存管理模塊,此系統也不例外,主要有此五大模塊 組成。 2.4 系統的非功能性需求系統的非功能性需求 2.4.1 用戶界面需求用戶界面需求 簡潔、易用、易懂,美觀、大方、標準,具備一定的兼容性。 2.4.2 軟硬件環境需求軟硬
8、件環境需求 軟件環境:兼容當前主流操作系統 windows 95/98/nt/me/2000/xp/win7 等。 硬件環境:計算機:500 以上的處理器,256 兆內存,800 兆以上的硬盤空間,一個 軟盤驅動器和一個光盤驅動器,crt 顯示器。 2.4.3 軟件質量要求軟件質量要求 易用、健壯、兼容性好、運行穩定、有一定安全保障。 三、可行性分析報告三、可行性分析報告 系統的可行性分析是對課題的通盤考慮,是系統開發者進行進一步工作的前提,是系 統設計與開發的前提與基礎。系統的可行性分析可以使系統開發者盡可能早的估計到課題 開發過程中的困難,并在定義階段認識到系統方案的缺陷,這樣就能花費較少
9、的時間和精 力,也可以避免許多專業方面的困難。所以,系統的可行性分析在整個開發過程中是非常 重要的。 3.1 經濟可行性分析經濟可行性分析 因為通過網絡傳遞銷售信息可以不受距離的限制,因此可以借閱許多的人力和物力, 方便管理,由此可以減少不必要的開支,同時該系統可以提高超市的銷售效率,即提高了 超市的經濟效益,所以從經濟上完全是可行的。 3.2 操作可行性分析操作可行性分析 操作可行性有時也稱為管理可行性,主要論證新系統在教育或企業或機構等開發和運 行的可能性以及運行后可能一起的對教育或企業或機構的影響,即組織內外是否具備接受 和使用新系統的條件。 在當前信息技術飛速發展的大環境下,計算機技術
10、和軟件技術的更新使各種類型的超 市在新的管理政策下完全有可能也有能力采用這樣先進的管理技術。它對超市發展帶來的 影響可以看到:對傳統管理理念的沖擊,可能引起管理層的時常更新和對員工技術上的要 求。對超市系統管理的要求提高,使超市在一定的可能下進行機構精簡,迫使超市管理人 員繼續學習新知識,提高超市管理系統的使用率,讓員工更能簡便的享受系統的使用,這 樣超市的管理會得到更好更全面的發展。 3.3 技術可行性分析技術可行性分析 本系統采用基于 windows 的圖形用戶界面,而該系統是大家熟悉的操作系統,對于那 些有一般的計算機知識的人員就可以輕松上手。而整個超市管理系統采用最友好的交互界 面,簡
11、介明了,不需要對數據庫進行深入的了解。 由此,該系統的操作是可行的,有必要開發該系統。 綜合以上三方面,該系統具有很高的開發可行性,無論是從技術上或者經濟上還是操 作上。因此,可以設計該系統的數據流程圖,建立數據字典。 3.4 時間、設備可能性時間、設備可能性 系統設計與開發工作預計耗時 2 個月,所有參與開發的小組人員均能夠保證按時完成任 務。實驗設備如:計算機、打印機等。 3.5 系統工作量系統工作量 該系統的工作量相對于我們的開發小組來說很大,必須保證按進度完成任務。實際工 作量預計超過一個月。如包含軟件維護及技術文檔的整理、制作,工作量將更大。 3.6 文檔要求文檔要求 依據國家計算機
12、軟件產品開發文件編制指南和現代軟件工程的理論與原則 編制標準的軟件技術文檔。 四、開發環境與項目規劃四、開發環境與項目規劃 4.1 開發環境開發環境 客戶端 操作系統:windows nt/2000/xp 或更高版本 服務器 操作系統:windows xp 數據庫:microsoft sql server 2005 前臺:microsoft visual studio 2005 4.2 項目規劃與管理項目規劃與管理 4.2.1 開發人員安排開發人員安排 1. 系統分析: xxx xxx 2. 數據庫分析與設計:xxx xxx 3. 軟件體系結構設計 xxx 4.程序編制、調試,系統測試:xxx
13、 4.2.2 開發進度安排開發進度安排 10 月 12 日至 10 月 15 日:系統分析,進行需求定義,定義系統概況 10 月 17 日至 10 月 30 日:數據庫分析與設計 11 月 5 日至 11 月 9 日:軟件體系結構設計 11 月 10 日至 11 月 31 日:軟件編碼 12 月 1 日至 12 月 20 日:系統測試 五、結構化分析與設計五、結構化分析與設計 系統結構應清晰、可讀性好,運用縮進、空行,結合大小寫區別等方法保持程序結構 良好。凡與數據庫操作相關的模塊一律加上容錯代碼,涉及多表操作的模塊應運用“事務” 處理,以保持數據完整性。 5.1 設計思想設計思想 需求分析對
14、信息的要求是指用戶需要從數據庫中獲得的信息內容與性質。由信息要求可 以導出數據要求,即在數據庫中需要存儲那些信息。 經過對超市管理系統的分析可以明確數據庫中應該存有:職工信息表,用戶登錄表, 商品信息表,供貨商信息表,進貨信息表,銷售信息表,庫存信息表等。他們之間應該有 如下的關系: 用戶和商品之間:一個用戶可以進貨多件商品,一件商品同樣可以被多個用戶的選擇。 商品和供貨商之間:一件商品可以供貨給多個供貨商,一個供貨商同樣可以進貨多個 商品。 職工與商品之間:一個職工可以做出多個商品,一件商品可以被多個職工生產。 5.2 數據流圖數據流圖 數據流圖(data function diagram)
15、 ,又名數據功能圖表,簡稱 dfd,就是采用圖形 方式來表達系統的邏輯功能、數據在系統內部的邏輯流向和邏輯變換過程,是結構化系統 分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。 為了得到數據流圖,首先需要分析系統需要具備哪些功能。系統具應備的各種功能, 像是信息的存儲,信息的處理,查詢功能等。 管理員能夠輸入職工的基本信息、用戶的基 本信息,商品的基本信息 、銷售的基本信息等,并且能夠對這些信息進行處理,以便系統 能夠隨時的調用這里的信息。只要商家使用超市管理系統,該系統會自動調取管理超市所 需的各種信息,然后進行相關處理。輸出結果,進行存儲。此外,職工可憑輸入的的職工 相關信息查詢
16、此商品是否進貨,以便確定供貨商所需商品的數量。具體的功能的實現及關 系如圖所示。 如表 數據流圖符號表 符號說明 加工,輸入數據在此進行變換產生輸出數據,中間要注明 加工的名字 數據輸入的源點和數據輸出的終點,在其中要注明源點或 終點的名字 數據流,被加工的數據及數據流向,在箭頭邊要用名詞或 名詞性短語給出數據流的名字 數據存儲文件,要用名詞或名詞性短語給出數據文件的名 字 5.3 數據字典數據字典 5.3.1 數據項數據項 數據項是數據結構中討論的最小單位,是數據記錄中最基本的、不可分的有名數據單 位。數據項可以是字母、數字或兩者的組合。通過數據類型(邏輯的、數值的、字符的等) 及數據長度來
17、描述。數據項用來描述實體的某種屬性。對數據項之間的描述通常包括以下 內容: 數據項描述=數據項名,數據項含義說明,列名,數據項類型,長度,取值范圍,取 值含義,與其他數據項的實際聯系,數據項之間的聯系 該系統主要涉及的數據項,如表所示。 表 數據項 數據項名稱數據項列名數據類型長度 姓名 namevarchar10 性別 sexvarchar8 職工編號 staffidvarchar12 商品編號 merchidvarchar12 名稱 fullnamevarchar50 價格 unitcostvarchar100 供貨商編號 supplieridvarchar12 地址 addressvar
18、char50 電話 phonevarchar12 類別 kindvarchar12 進貨單號 buyidvarchar12 進貨日期 datedatetime10 進貨價 pricevarchar100 身份證號 idcardvarchar12 銷售單號 seelidvarchar12 庫存數量 amoutint1000 金額 summoney 賬號 loginidvarchar12 密碼 passwordvarchar6 供貨商號 profferidvarchar12 5.3.2 數據結構數據結構 數據結構反映了數據之間的組合關系。一個數據結構可以由若干個數據項組成,也可 以由若干個數據結構
19、組成,或由若干個數據項和數據結構混合組成。對數據結構的描述通 常包括以下內容: 數據結構的描述=數據結構名,含義說明,組成:數據項或數據結構 該系統主要涉及的數據結構有: 表 數據結構 數據結構名職工信息表 說明記錄職工的基本信息 組成姓名+性別+身份證號+職工編號+工資 備注 數據結構名用戶登錄表 說明記錄用戶的基本信息 組成賬號+密碼 備注 數據結構名商品信息表 說明記錄商品的基本信息 組成商品編號+供貨商號+名稱+單價 備注 數據結構名供貨商信息表 說明記錄供貨商的基本信息 組成供貨商號+聯系人+聯系電話+聯系地址 備注 數據結構名進貨信息表 說明記錄進貨的基本信息 組成進貨單號+商品編
20、號+供貨商號+進貨價+數量+金額+進貨 日期 備注 數據結構名銷售信息表 說明記錄銷售的基本信息 組成銷售單號+商品編號+銷售數量+銷售日期 備注 數據結構名庫存信息表 說明記錄庫存的基本信息 組成商品編號+庫存數量 備注 5.3.3 數據流數據流 數據流是數據結構在系統內傳輸的路徑。對數據流的描述通常包括以下內容: 數據流描述=數據流名,說明,數據流來源,數據流去向, 組成:數據結構,平均流量,高峰期流量 該系統主要涉及的數據流如表所示。 表 數據流 數據流名職工注冊 說明職工的基本信息 數據流來源管理員 數據流去向職工信息處理 組成 職工表 流量輸入一個職工,記錄一個職工 數據流名用戶注冊
21、 說明用戶的基本信息 數據流來源管理員 數據流去向用戶信息處理 組成用戶表 流量輸入一個用戶,記錄一個用戶 數據流名商品注冊 說明商品的基本信息 數據流來源管理員 數據流去向商品信息處理 組成商品表 流量輸入一件商品,記錄一件商品 數據流名供貨商注冊 說明供貨商的基本信息 數據流來源管理員 數據流去向供貨商信息處理 組成供貨商表 流量輸入一個供貨商,記錄一個供貨商 數據流名進貨注冊 說明進貨的基本信息 數據流來源管理員 數據流去向進貨信息處理 組成進貨表 流量輸入一次進貨,記錄一次進貨 數據流名銷售注冊 說明銷售的基本信息 數據流來源管理員 數據流去向銷售信息處理 組成銷售表 流量輸入一次銷售
22、,記錄一次銷售 數據流名庫存注冊 說明庫存的基本信息 數據流來源管理員 數據流去向庫存信息處理 組成庫存表 流量輸入一次庫存,記錄一次庫存 數據流名職工信息 說明職工的基本信息 數據流來源職工信息處理 數據流去向職工描述 組成職工表 流量 數據流名用戶信息 說明用戶的基本信息 數據流來源用戶信息處理 數據流去向用戶描述 組成用戶表 流量 數據流名商品信息 說明商品的基本信息 數據流來源商品信息處理 數據流去向商品描述 組成商品表 流量 數據流名供貨商信息 說明供貨商的基本信息 數據流來源供貨商信息處理 數據流去向供貨商描述 組成供貨商表 流量 數據流名進貨信息 說明進貨的基本信息 數據流來源進
23、貨信息處理 數據流去向進貨描述 組成進貨表 流量 數據流名銷售信息 說明銷售的基本信息 數據流來源銷售信息處理 數據流去向銷售描述 組成銷售表 流量 數據流名庫存信息 說明庫存的基本信息 數據流來源庫存信息處理 數據流去向庫存描述 組成庫存表 流量 5.3.4 數據存儲數據存儲 數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一。對數據存儲 的描述通常包括: 數據存儲描述=數據存儲名,說明,編號,輸入的數據流,輸出的數據流 組成:數據結構,數據量,存取頻度,存取方式 該系統的數據存儲如表所示。 表 數據存儲 數據存儲名職工描述 說明記錄職工的基本信息 輸入的數據流職工注冊 輸出的數
24、據流職工基本信息 組成職工表 數據存儲名用戶描述 說明記錄用戶的基本信息 輸入的數據流用戶注冊 輸出的數據流用戶基本信息 組成用戶表 數據存儲名商品描述 說明記錄商品的基本信息 輸入的數據流商品注冊 輸出的數據流商品基本信息 組成商品表 數據存儲名供貨商信息 說明記錄供貨商的基本信息 輸入的數據流供貨商注冊 輸出的數據流供貨商基本信息 組成供貨商表 數據存儲名進貨描述 說明記錄進貨的基本信息 輸入的數據流進貨注冊 輸出的數據流進貨基本信息 組成進貨表 數據存儲名銷售描述 說明記錄銷售的基本信息 輸入的數據流銷售注冊 輸出的數據流銷售基本信息 組成 銷售表 數據存儲名庫存描述 說明記錄庫存的基本
25、信息 輸入的數據流庫存注冊 輸出的數據流庫存基本信息 組成 庫存表 5.3.5 處理過程處理過程 處理過程的具體處理邏輯一般用判定表或判定樹來描述。數據字典中只需要處理過程 的說明性信息,由以下內容組成: 處理過程描述=處理過程名,說明,輸入:數據流,輸出:數據流 組成:簡要說明 該系統設計的處理過程如表所示: 表 處理過程 數據過程名職工信息處理 說明處理職工的全部信息 輸入職工信息 輸出信息處理結果 數據過程名用戶信息處理 說明處理用戶的全部信息 輸入用戶信息 輸出信息處理結果 數據過程名商品信息處理 說明處理商品的全部信息 輸入商品信息 輸出信息處理結果 數據過程名供貨商信息處理 說明處
26、理供貨商的全部信息 輸入供貨商信息 輸出信息處理結果 數據過程名銷售信息處理 說明處理銷售的全部信息 輸入銷售信息 輸出信息處理結果 數據過程名進貨信息處理 說明處理進貨的全部信息 輸入進貨信息 輸出信息處理結果 數據過程名庫存信息處理 說明處理庫存的全部信息 輸入庫存信息 輸出信息處理結果 六、面向對象分析與設計六、面向對象分析與設計 在系統對象分析與設計中,開發軟件系統的面向對象: 面向對象=對象+分類+繼承+通過消息的通信 銷售管理 員 超市經理 銷售 條形碼掃描 收銀 超市管理系統 商品錄入 管理 銷售管理 庫存管理 進貨管理 人員管理 制定進貨計劃 入貨登記 出貨登記 查詢庫存明細
27、庫存狀態告警 盤點計算 指定進貨計劃 入庫登記 查詢打印計劃 員工基本信息 管理 員工操作權限 管理 登錄系統 退出系統 退出系統 登錄系統 找零 七、數據庫分析與設計七、數據庫分析與設計 7.1 數據庫環境說明數據庫環境說明 考慮該系統的定位與現有技術力量,決定采用 microsoft access 2000 作為系統的后臺 數據庫開發環境。 7.2 數據庫命名標準與規范數據庫命名標準與規范 說明:下表所列為數據庫及各表、視圖的命名方法,具體信息請參閱 7.4.1 表、視圖 匯總。 名稱類型命名辦法約定 wfssdatabase 系統數據庫字母 表基本表漢字或字母 查詢查詢漢字 字段字段漢字
28、或字母 7.3 數據庫邏輯設計數據庫邏輯設計 7.3.1 邏輯設計步驟邏輯設計步驟 (1)需求分析:準確了解與分析用戶需求,包括數據與處理需求。 (2)概念設計:設計人員從用戶角度看待數據及其處理要求和約束,產生一個反映 用戶觀點的概念模式,也稱為“組織模式” 。而且概念模式能充分反映現實世界中實體 間的聯系,又是各種基本數據模型的共同基礎,易于向關系模型轉換。 (3)邏輯設計:將概念模型設計階段得到的基本 e-r 圖,轉換為與選用的 dbms 產品 所支持的數據模型相符合的邏輯結構。 (4)物理設計:主要指數據庫的存儲記錄格式、存儲記錄安排和存取方法,它完全 依賴于給定的硬件環境和數據庫產品
29、。 (5)數據庫實施:根據邏輯設計和物理設計的結果,在計算機系統上建立起實際數 據庫結構、裝入數據、測試和試運行的過程稱為數據庫的實施階段。實施階段主要有三 項工作: a、建立實際數據庫結構。對描述邏輯設計和物理設計結果的程序即“源模式” , 經 dbms 編譯成目標模式并執行后,便建立了實際的數據庫結構。 b、裝入試驗數據對應用程序進行調試。試驗數據可以是實際數據,也可由手工生 成或用隨機數發生器生成。應使測試數據盡可能覆蓋現實世界的各種情況。 c、裝入實際數據,進入試運行狀態。測量系統的性能指標,是否符合設計目標。 如果不符,則返回到前面,修改數據庫的物理模型設計甚至邏輯模型設計。 (6)
30、數據庫運行和維護:數據庫系統正式運行,標志著數據庫設計與應用開發工作的 結束和維護階段的開始。運行維護階段的主要任務有四項: a、維護數據庫的安全性與完整性:檢查系統安全性是否受到侵犯,及時調整授權 和密碼,實施系統轉儲與備份,發生故障后及時恢復。 b、監測并改善數據庫運行性能:對數據庫的存儲空間狀況及響應時間進行分析評 價,結合用戶反應確定改進措施。 c、根據用戶要求對數據庫現有功能進行擴充。 d、及時改正運行中發現的系統錯誤。 7.3.2 邏輯設計原則邏輯設計原則 a、明確命名規范 b、正確命名 c、確立數據類型 d、系統設計 e、sql 編寫 7.3.3 邏輯設計圖邏輯設計圖 7.4 數
31、據庫物理設計數據庫物理設計 7.4.1 數據庫物理設計步驟數據庫物理設計步驟 為邏輯數據模型選取一個最合適應用環境的物理結構(包括存儲結構和存取方法) 。 7.4.2 表、視圖匯總表、視圖匯總 視圖/表名類型說明 職工信息基本表集中保存系統職工的信息 用戶信息基本表集中保存系統用戶的賬號、 密碼 商品信息基本表集中保存系統商品的信息 供貨商信息基本表集中保存系統供貨商的信 息 進貨信息基本表集中保存系統進貨的信息 銷售信息基本表集中保存系統銷售的信息 庫存信息基本表集中保存系統庫存的信息 表、視圖匯總的表、視圖匯總的 e-re-r 圖如下所示:圖如下所示: 名稱 職工/用戶 職工編號 供貨日期
32、 進貨日期 電話 地址 供貨商編號 供貨商 進貨 進貨單號 商品編號 名稱 價格 商品 姓名性別 m n m n 工資 身份證號 供 貨 銷售單號 銷售日期 數量 m n 銷售 7.4.3 各表、試圖設計詳解各表、試圖設計詳解 說明說明:空缺位置表示無要求,主鍵在約束欄注明。 基本表:【職工信息表職工信息表】 職工信息表(staffbill)用于存儲職工信息,職工編號為主鍵是唯一標識。表中各 字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 職工編號 staffidchar6pnot null 姓名 namenvarchar8not null 性別 sexnchar
33、2not null 類別 kindnvarchar10null 基本表:【用戶登錄表用戶登錄表】 用戶登錄表(users_info)用于存儲用戶的基本登錄信息。表中各字段功能定義 如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 帳號 loginidchar6p/fnot null 密碼 passwordchar6not null 基本表:【商品信息表商品信息表】 商品信息表(goods_info)用于存儲商品的信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 商品編號 merchidchar6pnot null 供貨商號 proffer
34、idchar6fnot null 名稱 fullnamenvarchar80not null 類別 kindnvarchar8null 單價 unitcostmoney4not null 備注 othersntext50null 基本表:【供貨商信息表供貨商信息表】 供貨商信息表(sup_info)用于存儲供貨商的信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 供貨商號 supplieridchar6pnot null 名稱 namenvarchar50not null 身份證號 idcardvarchar18not null 備注 othersnte
35、xt50null 聯系人 contactper son nvarchar8not null 聯系電話 phonevarchar12not null 聯系地址 addressnvarchar50not null 備注 othersntext50null 基本表:【進貨信息表進貨信息表】 進貨信息表(buy)存儲進貨信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 進貨單號 buyidchar6pnot null 商品編號 goodsidchar6p/fnot null 供貨商號 supplieridchar6fnot null 進貨價 pricemoney
36、4not null 數量 amountint4not null 金額 summoney4not null 進貨日期 datedatetime8not null 備注 remarkntext50null 基本表:【銷售信息表銷售信息表】 銷售信息表(sell)用于存儲銷售信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 銷售單號 seelidchar6pnot null 商品編號 goodsidchar6p/fnot null 銷售數量 amountint4not null 銷售日期 datedatetime8not null 基本表:【庫存信息表庫存信息
37、表】 庫存信息表(stock)存儲庫存信息。表中各字段定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 商品編號 goodsidchar6p/fnot null 庫存數量 amountint4not null 八、人機界面設計八、人機界面設計 8.1 界面設計的原則界面設計的原則 主界面:按鈕、書寫框、選擇按鈕等。 界面資源:由 imagelist 控件提供界面資源。 8.2 系統窗體匯總系統窗體匯總 窗體名稱窗體類型簡要說明 form1 主窗體用戶登錄 form2 顯示窗體顯示商品信息 form3 顯示窗體顯示職工信息 form4 顯示窗體顯示供貨商信息 form5 模式
38、子窗體添加銷售信息 form6 模式子窗體添加進貨信息 form7 顯示窗體顯示庫存信息 form8 模式子窗體修改權限分配 8.3 主界面設計主界面設計 用戶登錄模塊在本系統的首頁。用戶輸入用戶名和密碼后,系統進行驗證,驗證 通過進入程序的主界面。界面如圖所示。 用戶登錄界面 主要實現代碼如下: public bool veri(string tb_table, string id, string pwd) dataclass.mymeans myclass = new smms.dataclass.mymeans(); bool jud = false; if (id != jud = t
39、emdr.read(); if (jud) dataclass.mymeans.login_name = id.trim(); dataclass.mymeans.login_id = temdr.getstring(0); dataclass.mymeans.my_con.close(); dataclass.mymeans.my_con.dispose(); else messagebox.show(用戶名或密碼錯誤!, 提示, messageboxbuttons.ok, messageboxicon.information); myclass.con_close(); else mess
40、agebox.show(請將登錄信息添寫完整); return jud; 8.4 其他各界面設計其他各界面設計 8.4.1 商品信息管理界面商品信息管理界面 此界面進行對商品信息的錄入,能夠對商品進行合理的管理,界面如圖所示。 商品信息管理界面 主要實現代碼如下: private void btnadd_click(object sender, eventargs e) bool t = false; string txt; string recid; string typeid; if (txtname.text = ) messagebox.show(請輸入商品名稱!); txtname.
41、focus(); else if (txtprice.text = ) messagebox.show(請輸入商品單價!); txtprice.focus(); else if (comboxtype.text = ) messagebox.show(請選擇商品類型!); comboxtype.focus(); else if (txtkeep.text = ) messagebox.show(請輸入保質期); txtkeep.focus(); else txt = txtname.text.trim(); sqldatareader temdr = mydataclass.getcom(se
42、lect * from tb_goods where goodsname = + txt + ); t = temdr.read(); if (t) messagebox.show(此商品名稱已存在!); txtname.text = ; txtname.focus(); else string find_sql2; string recid2; try typeid = my_set.tables0.rowscomboxtype.selectedindex0.tostring(); recid = mymc.getautocoding(tb_goods, goodsid);/獲取編號 rec
43、id2 = mymc.getautocoding(tb_stock, stockid);/獲取編號 find_sql=insert into tb_goods(goodsid,goodsname,typeid,remark,price,keep) values ( + recid + , + txtname.text + , + typeid + , + txtremark.text + , + txtprice.text + , + txtkeep.text + ); find_sql2 = insert into tb_stock(stockid,goodsid,amount) value
44、s ( + recid2 + , + recid + ,0); mydataclass.getsqlcom(find_sql); mydataclass.getsqlcom(find_sql2);/向庫存添加信息 messagebox.show(添加成功!); listviewitem l = new listviewitem(); l.text = txtname.text; l.subitems.add(comboxtype.text); l.subitems.add(txtprice.text); l.subitems.add(txtkeep.text); l.subitems.add(
45、txtremark.text); listview1.items.add(l); btncancle_click(sender, e); catch (exception ec) messagebox.show(ec.message); messagebox.show(添加失敗); 8.4.2 職工信息管理界面職工信息管理界面 此模塊有對職工的添加,修改,刪除等功能,能夠對用戶進行合理的管理,界面 如圖所示。 職工信息管理界面 主要實現代碼如下: private void btnsave_click(object sender, eventargs e) string recid; if (t
46、xtname.text = ) messagebox.show(請添加職工姓名!); txtname.focus(); else if (jud = 1) recid = mymc.getautocoding(tb_worker, workerid);/獲取編 號 find_sql = insert into tb_worker(workerid,workername,remark) values(+recid+,+txtname.text+,+txtremark.text+); mydataclass.getsqlcom(find_sql); messagebox.show(添加成功!);
47、infload(); winstatet(); if (jud = 2) find_sql =update tb_worker set workername=+txtname.text+,remark=+txtremark.text+ where workerid=+txtworkerid.text+; mydataclass.getsqlcom(find_sql); messagebox.show(修改成功!); infload(); winstatet(); 8.4.3 供貨商信息管理界面供貨商信息管理界面 此模塊有對供貨商的添加,修改,刪除等功能,能夠對供貨商進行合理的管理。 界面如圖所
48、示。 供貨商管理界面 主要實現代碼如下: private void btnsave_click(object sender, eventargs e) bool t = false; string txt; string recid; if (txtname.text = ) messagebox.show(請輸入供貨商名稱!); txtname.focus(); else if (jud = 1) txt = txtname.text.trim(); sqldatareader temdr = mydataclass.getcom(select * from tb_supplier wher
49、e suppliername = + txt + ); t = temdr.read(); if (t) messagebox.show(此供貨商名稱已存在!); txtname.text = ; txtname.focus(); else recid = mymc.getautocoding(tb_supplier, supplierid);/獲取編號 find_sql = insert into tb_supplier(supplierid,suppliername,tel,address,remark) values ( + recid + , + txtname.text + , +
50、txttel.text + , + txtaddress.text + , + txtremark.text + ); mydataclass.getsqlcom(find_sql); messagebox.show(添加成功!); infload(); winstatet(); if (jud = 2) txt = txtname.text.trim(); find_sql = select * from tb_supplier where suppliername = + txt + and supplierid!=+ id+; sqldatareader temdr = mydatacl
51、ass.getcom(find_sql); t = temdr.read(); if (t) messagebox.show(此供貨商名稱已存在!); txtname.text = ; txtname.focus(); else find_sql = update tb_supplier set suppliername= + txtname.text + ,tel= + txttel.text + ,address= + txtaddress.text + ,remark= + txtremark.text + where supplierid=+id+; mydataclass.getsq
52、lcom(find_sql); messagebox.show(修改成功!); infload(); winstatet(); 8.4.4 添加銷售信息添加銷售信息 銷售員將銷售信息錄入方便了銷售工作,提高了工作效率。界面如圖所示。 添加銷售信息界面 主要實現代碼如下: private void button2_click(object sender, eventargs e) if (txtsum.text.trim().length != 0) string s1; string s2; string s3; string s4; float zl; float pays; if (txt
53、pays.text = ) pays = 0; else pays = float.parse(txtpays.text); zl = pays - totalprice; txtpays.text = pays.tostring(); txtpayy.text = totalprice.tostring(); txtzl.text = zl.tostring(); s1 = 商品數量 + amount1+ 件 + n + n; s2 = 實付款 + pays + 元 + n + n; s3 = 應付款 + totalprice.tostring() + 元 + n + n; s4 = 找零
54、+ zl.tostring() + 元 ; messagebox.show(s1+s2+s3+s4, 系統提示); txtpays.text = ; txtpayy.text = ; txtzl.text = ; txtid.text = ; txtamount.text = ; txtsum.text = ; totalprice = 0; amount1 = 0; listview1.items.clear(); else messagebox.show(請購買商品!); 8.4.5 添加進貨信息添加進貨信息 錄入進貨信息加強對商品的管理,使商品信息更為詳細,方便了對商品的管理。 界面如圖
55、所示。 用添加進貨信息界面 主要實現代碼如下: private void btnadd_click(object sender, eventargs e) bool t = false; string txt; string recid; if (txtid.text = ) messagebox.show(請輸入商品編號!); txtid.focus(); else if (txtprice.text = ) messagebox.show(請輸入商品單價!); txtprice.focus(); else if (txtamount.text = ) messagebox.show(請輸入
56、商品數量!); txtamount.focus(); else if(compy.text=|compm.text=|compd.text=) messagebox.show(請將生產日期填寫完整!); else if (comby.text = | combm.text = | combd.text = ) messagebox.show(請將進貨日期填寫完整); else txt =txtid.text.trim(); sqldatareader temdr = mydataclass.getcom(select * from tb_goods where goodsid = + txt
57、+ ); t = temdr.read(); if (!t) messagebox.show(此商品不存在!); txtid.text = ; txtid.focus(); else string find_sql2; string recid2; try string goodsid; string supplierid; string datep; string dateb; datep =compy.text + / + compm.text + / + compd.text; dateb = comby.text + / + combm.text + / +combd.text; go
58、odsid = txtid.text; supplierid = my_set.tables0.rowscomsupplier.selectedindex0.tostring(); recid = mymc.getautocoding(tb_buy, buyid);/獲取編 號 recid2 = mymc.getautocoding(tb_stock, stockid);/獲 取編號 find_sql = insert into tb_buy(buyid,goodsid,employeeid,price,amount,datep,dateb,supplierid,remark) values
59、( + recid + , +txtid.text + , + dataclass.mymeans.login_name + ,+txtprice.text +,+ txtamount.text+ ,+datep+,+dateb+,+supplierid+,+txtremark.text+); find_sql2 = update tb_stock set amount = amount + +txtamount.text+where goodsid=+goodsid+; mydataclass.getsqlcom(find_sql); mydataclass.getsqlcom(find_s
60、ql2);/向庫存添加信息 messagebox.show(添加成功!); listviewitem l = new listviewitem(); l.text =recid; l.subitems.add(txtid.text); l.subitems.add(txtprice.text); l.subitems.add(txtamount.text); l.subitems.add(comsupplier.text); l.subitems.add(txtremark.text); listview1.items.add(l); btncancle_click(sender, e); c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目部治理人員安全培訓試題答案綜合卷
- 公司管理人員安全培訓考試題(滿分必刷)
- 城市生態屋頂花園行業深度調研及發展戰略咨詢報告
- 自適應建筑設計研究行業跨境出海戰略研究報告
- 生態環保材料生產行業跨境出海戰略研究報告
- 定制化戶外家具設計制造行業深度調研及發展戰略咨詢報告
- 基于技術賦能視角的人工智能產品特性對消費者購買意愿的影響研究
- 基于高壓工藝的ESD防護器件設計與研究
- 情感化設計視域下的朱仙鎮木版年畫文創產品設計研究
- 碳普惠機制下MaaS平臺對居民出行方式選擇影響研究
- 2024年蘇州工業職業技術學院單招職業適應性測試題庫完美版
- 嘉世咨詢:2024現制茶飲行業簡析報告
- 2024廣東中山大學文獻與文化遺產管理部招聘43人歷年公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 《提案與方案優化設計》課件-第三部分 設計提案制作
- 2024年上海高職院校學生技能大賽手工藝術設計賽項樣題
- 護理技巧臥床患者的身體翻身方法
- 信息科技課評分標準
- 語文小初銜接課堂策略研究報告
- 基于Python+MySQL的員工管理系統的設計與實現
- AutoCAD輔助園林景觀設計
- 機加工廠投資計劃書
評論
0/150
提交評論