軟件工程課程設(shè)計-超市管理系統(tǒng)設(shè)計.doc
《軟件工程課程設(shè)計-超市管理系統(tǒng)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《軟件工程課程設(shè)計-超市管理系統(tǒng)設(shè)計.doc(83頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、課題課題名稱:名稱:軟軟件工程件工程課課程程設(shè)計設(shè)計 試題題試題題目:超市管理系目:超市管理系統(tǒng)統(tǒng) 姓名:姓名:XXX 學(xué)號:學(xué)號:20090512xxx XXX 學(xué)號:學(xué)號:20090512xxx 專業(yè)專業(yè):2009 級計級計算機(jī)科學(xué)與技算機(jī)科學(xué)與技術(shù)術(shù)( (師師范)范) 學(xué)院:學(xué)院:計計算機(jī)與信息科學(xué)學(xué)院算機(jī)與信息科學(xué)學(xué)院 時間時間: :2011-12-26 目錄 一、開發(fā)背景與目標(biāo)4 二、需求分析說明書4 2.1 系統(tǒng)介紹.4 2.2 系統(tǒng)面向的用戶群體.4 2.3 系統(tǒng)的功能模塊需求5 2.4 系統(tǒng)的非功能性需求.5 2.4.1 用戶界面需求5 2.4.2 軟硬件環(huán)境需求5 2.4.3
2、 軟件質(zhì)量要求6 三、可行性分析報告6 3.1 經(jīng)濟(jì)可行性分析.6 3.2 操作可行性分析.6 3.3 技術(shù)可行性分析7 3.4 時間、設(shè)備可能性7 3.5 系統(tǒng)工作量.7 3.6 文檔要求.7 四、開發(fā)環(huán)境與項目規(guī)劃7 4.1 開發(fā)環(huán)境.7 4.2 項目規(guī)劃與管理.8 4.2.1 開發(fā)人員安排8 4.2.2 開發(fā)進(jìn)度安排8 五、結(jié)構(gòu)化分析與設(shè)計8 5.1 設(shè)計思想.9 5.2 數(shù)據(jù)流圖.9 5.3 數(shù)據(jù)字典.10 5.3.1 數(shù)據(jù)項10 5.3.2 數(shù)據(jù)結(jié)構(gòu)11 5.3.3 數(shù)據(jù)流13 5.3.4 數(shù)據(jù)存儲17 5.3.5 處理過程.19 六、面向?qū)ο蠓治雠c設(shè)計22 七、數(shù)據(jù)庫分析與設(shè)計23
3、 7.1 數(shù)據(jù)庫環(huán)境說明.23 7.2 數(shù)據(jù)庫命名標(biāo)準(zhǔn)與規(guī)范.23 7.3 數(shù)據(jù)庫邏輯設(shè)計.23 7.3.1 邏輯設(shè)計步驟23 7.3.2 邏輯設(shè)計原則24 7.3.3 邏輯設(shè)計圖25 7.4 數(shù)據(jù)庫物理設(shè)計.26 7.4.1 數(shù)據(jù)庫物理設(shè)計步驟26 7.4.2 表、視圖匯總26 7.4.3 各表、試圖設(shè)計詳解27 八、人機(jī)界面設(shè)計30 8.1 界面設(shè)計的原則.30 8.2 系統(tǒng)窗體匯總.30 8.3 主界面設(shè)計.30 8.4 其他各界面設(shè)計.32 8.4.1 商品信息管理界面32 8.4.2 職工信息管理界面35 8.4.3 供貨商信息管理界面37 8.4.4 添加銷售信息40 8.4.5
4、添加進(jìn)貨信息42 8.4.6 庫存信息管理界面45 8.4.7 權(quán)限設(shè)置管理47 九、項目系統(tǒng)實現(xiàn)48 9.1 實現(xiàn)環(huán)境與技術(shù).48 9.1.1 系統(tǒng)采用的開發(fā)技術(shù)48 9.1.2 系統(tǒng)運行環(huán)境48 9.2 核心模塊實現(xiàn)技術(shù)代碼.49 十、軟件測試分析報告74 10.1 測試范圍與主要內(nèi)容.74 10.2 測試方法74 10.3 系統(tǒng)測試步驟75 10.4 測試報告75 10.5 系統(tǒng)改進(jìn)建議與措施75 10.6 系統(tǒng)優(yōu)點76 10.7 輸入設(shè)計78 十一、軟件使用說明書79 11.1 軟件概述.79 11.2 使用說明.79 11.2.1 系統(tǒng)登錄79 11.2.2 系統(tǒng)簡介80 11.2.
5、3 更多功能80 11.2.4 Mysql 數(shù)據(jù)庫信息.80 十二、系統(tǒng)開發(fā)評價81 12.1 功能方面.81 12.2 性能方面.82 12.3 課程知識運用方面.82 參考文獻(xiàn)82 一、開發(fā)背景與目標(biāo)一、開發(fā)背景與目標(biāo) 20 世紀(jì) 90 年代后期特別是近幾年,我國的超市產(chǎn)業(yè)飛速發(fā)展,其經(jīng)營模式更為復(fù) 雜,舊的管理體制已經(jīng)無法適應(yīng)超市的發(fā)展,這就迫切的需要引進(jìn)新的管理技術(shù)。 超市的數(shù)據(jù)和業(yè)務(wù)越來越龐大,而計算機(jī)就是一種高效的管理系統(tǒng),這就需要我們 把超市的管理與計算機(jī)結(jié)合起來,從而超市管理系統(tǒng)應(yīng)運而生。依靠現(xiàn)代化的計算機(jī)信息 處理技術(shù)來管理超市,節(jié)省了大量的人力、物力,并且能夠快速反映出商品
6、的進(jìn)、銷、存 等狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應(yīng)的決策,加快超市經(jīng) 營管理效率。 本系統(tǒng)力求為超市提供一個方便的管理平臺,通過全面的信息采集和處理,輔助提高 超市的決策水平。 二、需求分析說明書二、需求分析說明書 2.1 系統(tǒng)介紹系統(tǒng)介紹 依靠現(xiàn)代化的計算機(jī)信息處理技術(shù)來管理超市,節(jié)省了大量的人力、物力,并且能夠 快速反映出商品的進(jìn)、銷、存等狀況和各種反饋信息分析,使管理人員快速對市場的變化 做出相應(yīng)的決策,加快超市經(jīng)營管理效率。 本系統(tǒng)為超市提供一個方便的管理平臺,通過全面的信息采集和處理,輔助提高超市 的決策水平。 2.2 系統(tǒng)面向的用戶群體系統(tǒng)面向的用戶群體 本
7、系統(tǒng)面向所有的大中小型超市的所有用戶。 2.3 系統(tǒng)的功能模塊需求系統(tǒng)的功能模塊需求 一般的超市商品管理系統(tǒng),主要由五大模塊組成,即商品信息管理模塊,人事管理模 塊,銷售管理模塊,進(jìn)貨管理模塊,庫存管理模塊,此系統(tǒng)也不例外,主要有此五大模塊 組成。 2.4 系統(tǒng)的非功能性需求系統(tǒng)的非功能性需求 2.4.1 用戶界面需求用戶界面需求 簡潔、易用、易懂,美觀、大方、標(biāo)準(zhǔn),具備一定的兼容性。 2.4.2 軟硬件環(huán)境需求軟硬件環(huán)境需求 軟件環(huán)境:兼容當(dāng)前主流操作系統(tǒng) Windows 95/98/NT/Me/2000/XP/win7 等。 硬件環(huán)境:計算機(jī):500 以上的處理器,256 兆內(nèi)存,800
8、兆以上的硬盤空間,一個 軟盤驅(qū)動器和一個光盤驅(qū)動器,CRT 顯示器。 2.4.3 軟件質(zhì)量要求軟件質(zhì)量要求 易用、健壯、兼容性好、運行穩(wěn)定、有一定安全保障。 三、可行性分析報告三、可行性分析報告 系統(tǒng)的可行性分析是對課題的通盤考慮,是系統(tǒng)開發(fā)者進(jìn)行進(jìn)一步工作的前提,是系 統(tǒng)設(shè)計與開發(fā)的前提與基礎(chǔ)。系統(tǒng)的可行性分析可以使系統(tǒng)開發(fā)者盡可能早的估計到課題 開發(fā)過程中的困難,并在定義階段認(rèn)識到系統(tǒng)方案的缺陷,這樣就能花費較少的時間和精 力,也可以避免許多專業(yè)方面的困難。所以,系統(tǒng)的可行性分析在整個開發(fā)過程中是非常 重要的。 3.1 經(jīng)濟(jì)可行性分析經(jīng)濟(jì)可行性分析 因為通過網(wǎng)絡(luò)傳遞銷售信息可以不受距離的限
9、制,因此可以借閱許多的人力和物力, 方便管理,由此可以減少不必要的開支,同時該系統(tǒng)可以提高超市的銷售效率,即提高了 超市的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上完全是可行的。 3.2 操作可行性分析操作可行性分析 操作可行性有時也稱為管理可行性,主要論證新系統(tǒng)在教育或企業(yè)或機(jī)構(gòu)等開發(fā)和運 行的可能性以及運行后可能一起的對教育或企業(yè)或機(jī)構(gòu)的影響,即組織內(nèi)外是否具備接受 和使用新系統(tǒng)的條件。 在當(dāng)前信息技術(shù)飛速發(fā)展的大環(huán)境下,計算機(jī)技術(shù)和軟件技術(shù)的更新使各種類型的超 市在新的管理政策下完全有可能也有能力采用這樣先進(jìn)的管理技術(shù)。它對超市發(fā)展帶來的 影響可以看到:對傳統(tǒng)管理理念的沖擊,可能引起管理層的時常更新和對員工
10、技術(shù)上的要 求。對超市系統(tǒng)管理的要求提高,使超市在一定的可能下進(jìn)行機(jī)構(gòu)精簡,迫使超市管理人 員繼續(xù)學(xué)習(xí)新知識,提高超市管理系統(tǒng)的使用率,讓員工更能簡便的享受系統(tǒng)的使用,這 樣超市的管理會得到更好更全面的發(fā)展。 3.3 技術(shù)可行性分析技術(shù)可行性分析 本系統(tǒng)采用基于 Windows 的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對于那 些有一般的計算機(jī)知識的人員就可以輕松上手。而整個超市管理系統(tǒng)采用最友好的交互界 面,簡介明了,不需要對數(shù)據(jù)庫進(jìn)行深入的了解。 由此,該系統(tǒng)的操作是可行的,有必要開發(fā)該系統(tǒng)。 綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術(shù)上或者經(jīng)濟(jì)上還是操 作上。因此,可以
11、設(shè)計該系統(tǒng)的數(shù)據(jù)流程圖,建立數(shù)據(jù)字典。 3.4 時間、設(shè)備可能性時間、設(shè)備可能性 系統(tǒng)設(shè)計與開發(fā)工作預(yù)計耗時 2 個月,所有參與開發(fā)的小組人員均能夠保證按時完成任 務(wù)。實驗設(shè)備如:計算機(jī)、打印機(jī)等。 3.5 系統(tǒng)工作量系統(tǒng)工作量 該系統(tǒng)的工作量相對于我們的開發(fā)小組來說很大,必須保證按進(jìn)度完成任務(wù)。實際工 作量預(yù)計超過一個月。如包含軟件維護(hù)及技術(shù)文檔的整理、制作,工作量將更大。 3.6 文檔要求文檔要求 依據(jù)國家計算機(jī)軟件產(chǎn)品開發(fā)文件編制指南和現(xiàn)代軟件工程的理論與原則 編制標(biāo)準(zhǔn)的軟件技術(shù)文檔。 四、開發(fā)環(huán)境與項目規(guī)劃四、開發(fā)環(huán)境與項目規(guī)劃 4.1 開發(fā)環(huán)境開發(fā)環(huán)境 客戶端 操作系統(tǒng):Window
12、s NT/2000/XP 或更高版本 服務(wù)器 操作系統(tǒng):Windows XP 數(shù)據(jù)庫:Microsoft SQL Server 2005 前臺:Microsoft Visual Studio 2005 4.2 項目規(guī)劃與管理項目規(guī)劃與管理 4.2.1 開發(fā)人員安排開發(fā)人員安排 1. 系統(tǒng)分析: XXX XXX 2. 數(shù)據(jù)庫分析與設(shè)計:XXX XXX 3. 軟件體系結(jié)構(gòu)設(shè)計 XXX 4.程序編制、調(diào)試,系統(tǒng)測試:XXX 4.2.2 開發(fā)進(jìn)度安排開發(fā)進(jìn)度安排 10 月 12 日至 10 月 15 日:系統(tǒng)分析,進(jìn)行需求定義,定義系統(tǒng)概況 10 月 17 日至 10 月 30 日:數(shù)據(jù)庫分析與設(shè)計
13、11 月 5 日至 11 月 9 日:軟件體系結(jié)構(gòu)設(shè)計 11 月 10 日至 11 月 31 日:軟件編碼 12 月 1 日至 12 月 20 日:系統(tǒng)測試 五、結(jié)構(gòu)化分析與設(shè)計五、結(jié)構(gòu)化分析與設(shè)計 系統(tǒng)結(jié)構(gòu)應(yīng)清晰、可讀性好,運用縮進(jìn)、空行,結(jié)合大小寫區(qū)別等方法保持程序結(jié)構(gòu) 良好。凡與數(shù)據(jù)庫操作相關(guān)的模塊一律加上容錯代碼,涉及多表操作的模塊應(yīng)運用“事務(wù)” 處理,以保持?jǐn)?shù)據(jù)完整性。 5.1 設(shè)計思想設(shè)計思想 需求分析對信息的要求是指用戶需要從數(shù)據(jù)庫中獲得的信息內(nèi)容與性質(zhì)。由信息要求可 以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲那些信息。 經(jīng)過對超市管理系統(tǒng)的分析可以明確數(shù)據(jù)庫中應(yīng)該存有:職工信息表,用
14、戶登錄表, 商品信息表,供貨商信息表,進(jìn)貨信息表,銷售信息表,庫存信息表等。他們之間應(yīng)該有 如下的關(guān)系: 用戶和商品之間:一個用戶可以進(jìn)貨多件商品,一件商品同樣可以被多個用戶的選擇。 商品和供貨商之間:一件商品可以供貨給多個供貨商,一個供貨商同樣可以進(jìn)貨多個 商品。 職工與商品之間:一個職工可以做出多個商品,一件商品可以被多個職工生產(chǎn)。 5.2 數(shù)據(jù)流圖數(shù)據(jù)流圖 數(shù)據(jù)流圖(Data Function Diagram) ,又名數(shù)據(jù)功能圖表,簡稱 DFD,就是采用圖形 方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng) 分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示
15、方法。 為了得到數(shù)據(jù)流圖,首先需要分析系統(tǒng)需要具備哪些功能。系統(tǒng)具應(yīng)備的各種功能, 像是信息的存儲,信息的處理,查詢功能等。 管理員能夠輸入職工的基本信息、用戶的基 本信息,商品的基本信息 、銷售的基本信息等,并且能夠?qū)@些信息進(jìn)行處理,以便系統(tǒng) 能夠隨時的調(diào)用這里的信息。只要商家使用超市管理系統(tǒng),該系統(tǒng)會自動調(diào)取管理超市所 需的各種信息,然后進(jìn)行相關(guān)處理。輸出結(jié)果,進(jìn)行存儲。此外,職工可憑輸入的的職工 相關(guān)信息查詢此商品是否進(jìn)貨,以便確定供貨商所需商品的數(shù)量。具體的功能的實現(xiàn)及關(guān) 系如圖所示。 如表 數(shù)據(jù)流圖符號表 符號說明 加工,輸入數(shù)據(jù)在此進(jìn)行變換產(chǎn)生輸出數(shù)據(jù),中間要注明 加工的名字 數(shù)
16、據(jù)輸入的源點和數(shù)據(jù)輸出的終點,在其中要注明源點或 終點的名字 數(shù)據(jù)流,被加工的數(shù)據(jù)及數(shù)據(jù)流向,在箭頭邊要用名詞或 名詞性短語給出數(shù)據(jù)流的名字 數(shù)據(jù)存儲文件,要用名詞或名詞性短語給出數(shù)據(jù)文件的名 字 5.3 數(shù)據(jù)字典數(shù)據(jù)字典 5.3.1 數(shù)據(jù)項數(shù)據(jù)項 數(shù)據(jù)項是數(shù)據(jù)結(jié)構(gòu)中討論的最小單位,是數(shù)據(jù)記錄中最基本的、不可分的有名數(shù)據(jù)單 位。數(shù)據(jù)項可以是字母、數(shù)字或兩者的組合。通過數(shù)據(jù)類型(邏輯的、數(shù)值的、字符的等) 及數(shù)據(jù)長度來描述。數(shù)據(jù)項用來描述實體的某種屬性。對數(shù)據(jù)項之間的描述通常包括以下 內(nèi)容: 數(shù)據(jù)項描述=數(shù)據(jù)項名,數(shù)據(jù)項含義說明,列名,數(shù)據(jù)項類型,長度,取值范圍,取 值含義,與其他數(shù)據(jù)項的實際聯(lián)
17、系,數(shù)據(jù)項之間的聯(lián)系 該系統(tǒng)主要涉及的數(shù)據(jù)項,如表所示。 表 數(shù)據(jù)項 數(shù)據(jù)項名稱數(shù)據(jù)項列名數(shù)據(jù)類型長度 姓名 NameVarchar10 性別 SexVarchar8 職工編號 StaffidVarchar12 商品編號 MerchidVarchar12 名稱 FullnameVarchar50 價格 UnitcostVarchar100 供貨商編號 SupplieridVarchar12 地址 AddressVarchar50 電話 PhoneVarchar12 類別 KindVarchar12 進(jìn)貨單號 BuyidVarchar12 進(jìn)貨日期 Datedatetime10 進(jìn)貨價 Pric
18、eVarchar100 身份證號 IdcardVarchar12 銷售單號 SeelidVarchar12 庫存數(shù)量 Amoutint1000 金額 Summoney 賬號 LoginidVarchar12 密碼 PasswordVarchar6 供貨商號 ProfferidVarchar12 5.3.2 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可 以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。對數(shù)據(jù)結(jié)構(gòu)的描述通 常包括以下內(nèi)容: 數(shù)據(jù)結(jié)構(gòu)的描述=數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu) 該系統(tǒng)主要涉及的數(shù)據(jù)結(jié)構(gòu)有: 表 數(shù)據(jù)
19、結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)名職工信息表 說明記錄職工的基本信息 組成姓名+性別+身份證號+職工編號+工資 備注 數(shù)據(jù)結(jié)構(gòu)名用戶登錄表 說明記錄用戶的基本信息 組成賬號+密碼 備注 數(shù)據(jù)結(jié)構(gòu)名商品信息表 說明記錄商品的基本信息 組成商品編號+供貨商號+名稱+單價 備注 數(shù)據(jù)結(jié)構(gòu)名供貨商信息表 說明記錄供貨商的基本信息 組成供貨商號+聯(lián)系人+聯(lián)系電話+聯(lián)系地址 備注 數(shù)據(jù)結(jié)構(gòu)名進(jìn)貨信息表 說明記錄進(jìn)貨的基本信息 組成進(jìn)貨單號+商品編號+供貨商號+進(jìn)貨價+數(shù)量+金額+進(jìn)貨 日期 備注 數(shù)據(jù)結(jié)構(gòu)名銷售信息表 說明記錄銷售的基本信息 組成銷售單號+商品編號+銷售數(shù)量+銷售日期 備注 數(shù)據(jù)結(jié)構(gòu)名庫存信息表 說明記錄庫
20、存的基本信息 組成商品編號+庫存數(shù)量 備注 5.3.3 數(shù)據(jù)流數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。對?shù)據(jù)流的描述通常包括以下內(nèi)容: 數(shù)據(jù)流描述=數(shù)據(jù)流名,說明,數(shù)據(jù)流來源,數(shù)據(jù)流去向, 組成:數(shù)據(jù)結(jié)構(gòu),平均流量,高峰期流量 該系統(tǒng)主要涉及的數(shù)據(jù)流如表所示。 表 數(shù)據(jù)流 數(shù)據(jù)流名職工注冊 說明職工的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向職工信息處理 組成 職工表 流量輸入一個職工,記錄一個職工 數(shù)據(jù)流名用戶注冊 說明用戶的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向用戶信息處理 組成用戶表 流量輸入一個用戶,記錄一個用戶 數(shù)據(jù)流名商品注冊 說明商品的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向商品信
21、息處理 組成商品表 流量輸入一件商品,記錄一件商品 數(shù)據(jù)流名供貨商注冊 說明供貨商的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向供貨商信息處理 組成供貨商表 流量輸入一個供貨商,記錄一個供貨商 數(shù)據(jù)流名進(jìn)貨注冊 說明進(jìn)貨的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向進(jìn)貨信息處理 組成進(jìn)貨表 流量輸入一次進(jìn)貨,記錄一次進(jìn)貨 數(shù)據(jù)流名銷售注冊 說明銷售的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向銷售信息處理 組成銷售表 流量輸入一次銷售,記錄一次銷售 數(shù)據(jù)流名庫存注冊 說明庫存的基本信息 數(shù)據(jù)流來源管理員 數(shù)據(jù)流去向庫存信息處理 組成庫存表 流量輸入一次庫存,記錄一次庫存 數(shù)據(jù)流名職工信息 說明職工的基本信息 數(shù)
22、據(jù)流來源職工信息處理 數(shù)據(jù)流去向職工描述 組成職工表 流量 數(shù)據(jù)流名用戶信息 說明用戶的基本信息 數(shù)據(jù)流來源用戶信息處理 數(shù)據(jù)流去向用戶描述 組成用戶表 流量 數(shù)據(jù)流名商品信息 說明商品的基本信息 數(shù)據(jù)流來源商品信息處理 數(shù)據(jù)流去向商品描述 組成商品表 流量 數(shù)據(jù)流名供貨商信息 說明供貨商的基本信息 數(shù)據(jù)流來源供貨商信息處理 數(shù)據(jù)流去向供貨商描述 組成供貨商表 流量 數(shù)據(jù)流名進(jìn)貨信息 說明進(jìn)貨的基本信息 數(shù)據(jù)流來源進(jìn)貨信息處理 數(shù)據(jù)流去向進(jìn)貨描述 組成進(jìn)貨表 流量 數(shù)據(jù)流名銷售信息 說明銷售的基本信息 數(shù)據(jù)流來源銷售信息處理 數(shù)據(jù)流去向銷售描述 組成銷售表 流量 數(shù)據(jù)流名庫存信息 說明庫存的基
23、本信息 數(shù)據(jù)流來源庫存信息處理 數(shù)據(jù)流去向庫存描述 組成庫存表 流量 5.3.4 數(shù)據(jù)存儲數(shù)據(jù)存儲 數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。對數(shù)據(jù)存儲 的描述通常包括: 數(shù)據(jù)存儲描述=數(shù)據(jù)存儲名,說明,編號,輸入的數(shù)據(jù)流,輸出的數(shù)據(jù)流 組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,存取頻度,存取方式 該系統(tǒng)的數(shù)據(jù)存儲如表所示。 表 數(shù)據(jù)存儲 數(shù)據(jù)存儲名職工描述 說明記錄職工的基本信息 輸入的數(shù)據(jù)流職工注冊 輸出的數(shù)據(jù)流職工基本信息 組成職工表 數(shù)據(jù)存儲名用戶描述 說明記錄用戶的基本信息 輸入的數(shù)據(jù)流用戶注冊 輸出的數(shù)據(jù)流用戶基本信息 組成用戶表 數(shù)據(jù)存儲名商品描述 說明記錄商品的基本信息 輸
24、入的數(shù)據(jù)流商品注冊 輸出的數(shù)據(jù)流商品基本信息 組成商品表 數(shù)據(jù)存儲名供貨商信息 說明記錄供貨商的基本信息 輸入的數(shù)據(jù)流供貨商注冊 輸出的數(shù)據(jù)流供貨商基本信息 組成供貨商表 數(shù)據(jù)存儲名進(jìn)貨描述 說明記錄進(jìn)貨的基本信息 輸入的數(shù)據(jù)流進(jìn)貨注冊 輸出的數(shù)據(jù)流進(jìn)貨基本信息 組成進(jìn)貨表 數(shù)據(jù)存儲名銷售描述 說明記錄銷售的基本信息 輸入的數(shù)據(jù)流銷售注冊 輸出的數(shù)據(jù)流銷售基本信息 組成 銷售表 數(shù)據(jù)存儲名庫存描述 說明記錄庫存的基本信息 輸入的數(shù)據(jù)流庫存注冊 輸出的數(shù)據(jù)流庫存基本信息 組成 庫存表 5.3.5 處理過程處理過程 處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要處理過程 的說明
25、性信息,由以下內(nèi)容組成: 處理過程描述=處理過程名,說明,輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流 組成:簡要說明 該系統(tǒng)設(shè)計的處理過程如表所示: 表 處理過程 數(shù)據(jù)過程名職工信息處理 說明處理職工的全部信息 輸入職工信息 輸出信息處理結(jié)果 數(shù)據(jù)過程名用戶信息處理 說明處理用戶的全部信息 輸入用戶信息 輸出信息處理結(jié)果 數(shù)據(jù)過程名商品信息處理 說明處理商品的全部信息 輸入商品信息 輸出信息處理結(jié)果 數(shù)據(jù)過程名供貨商信息處理 說明處理供貨商的全部信息 輸入供貨商信息 輸出信息處理結(jié)果 數(shù)據(jù)過程名銷售信息處理 說明處理銷售的全部信息 輸入銷售信息 輸出信息處理結(jié)果 數(shù)據(jù)過程名進(jìn)貨信息處理 說明處理進(jìn)貨的全部信息
26、 輸入進(jìn)貨信息 輸出信息處理結(jié)果 數(shù)據(jù)過程名庫存信息處理 說明處理庫存的全部信息 輸入庫存信息 輸出信息處理結(jié)果 六、面向?qū)ο蠓治雠c設(shè)計六、面向?qū)ο蠓治雠c設(shè)計 在系統(tǒng)對象分析與設(shè)計中,開發(fā)軟件系統(tǒng)的面向?qū)ο螅?面向?qū)ο?對象+分類+繼承+通過消息的通信 銷售管理 員 超市經(jīng)理 銷售 條形碼掃描 收銀 超市管理系統(tǒng) 商品錄入 管理 銷售管理 庫存管理 進(jìn)貨管理 人員管理 制定進(jìn)貨計劃 入貨登記 出貨登記 查詢庫存明細(xì) 庫存狀態(tài)告警 盤點計算 指定進(jìn)貨計劃 入庫登記 查詢打印計劃 員工基本信息 管理 員工操作權(quán)限 管理 登錄系統(tǒng) 退出系統(tǒng) 退出系統(tǒng) 登錄系統(tǒng) 找零 七、數(shù)據(jù)庫分析與設(shè)計七、數(shù)據(jù)庫分
27、析與設(shè)計 7.1 數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫環(huán)境說明 考慮該系統(tǒng)的定位與現(xiàn)有技術(shù)力量,決定采用 Microsoft Access 2000 作為系統(tǒng)的后臺 數(shù)據(jù)庫開發(fā)環(huán)境。 7.2 數(shù)據(jù)庫命名標(biāo)準(zhǔn)與規(guī)范數(shù)據(jù)庫命名標(biāo)準(zhǔn)與規(guī)范 說明:下表所列為數(shù)據(jù)庫及各表、視圖的命名方法,具體信息請參閱 7.4.1 表、視圖 匯總。 名稱類型命名辦法約定 WFSSDataBase 系統(tǒng)數(shù)據(jù)庫字母 表基本表漢字或字母 查詢查詢漢字 字段字段漢字或字母 7.3 數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫邏輯設(shè)計 7.3.1 邏輯設(shè)計步驟邏輯設(shè)計步驟 (1)需求分析:準(zhǔn)確了解與分析用戶需求,包括數(shù)據(jù)與處理需求。 (2)概念設(shè)計:設(shè)計人員從用戶角度
28、看待數(shù)據(jù)及其處理要求和約束,產(chǎn)生一個反映 用戶觀點的概念模式,也稱為“組織模式” 。而且概念模式能充分反映現(xiàn)實世界中實體 間的聯(lián)系,又是各種基本數(shù)據(jù)模型的共同基礎(chǔ),易于向關(guān)系模型轉(zhuǎn)換。 (3)邏輯設(shè)計:將概念模型設(shè)計階段得到的基本 E-R 圖,轉(zhuǎn)換為與選用的 DBMS 產(chǎn)品 所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。 (4)物理設(shè)計:主要指數(shù)據(jù)庫的存儲記錄格式、存儲記錄安排和存取方法,它完全 依賴于給定的硬件環(huán)境和數(shù)據(jù)庫產(chǎn)品。 (5)數(shù)據(jù)庫實施:根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果,在計算機(jī)系統(tǒng)上建立起實際數(shù) 據(jù)庫結(jié)構(gòu)、裝入數(shù)據(jù)、測試和試運行的過程稱為數(shù)據(jù)庫的實施階段。實施階段主要有三 項工作: A、建立實際
29、數(shù)據(jù)庫結(jié)構(gòu)。對描述邏輯設(shè)計和物理設(shè)計結(jié)果的程序即“源模式” , 經(jīng) DBMS 編譯成目標(biāo)模式并執(zhí)行后,便建立了實際的數(shù)據(jù)庫結(jié)構(gòu)。 B、裝入試驗數(shù)據(jù)對應(yīng)用程序進(jìn)行調(diào)試。試驗數(shù)據(jù)可以是實際數(shù)據(jù),也可由手工生 成或用隨機(jī)數(shù)發(fā)生器生成。應(yīng)使測試數(shù)據(jù)盡可能覆蓋現(xiàn)實世界的各種情況。 C、裝入實際數(shù)據(jù),進(jìn)入試運行狀態(tài)。測量系統(tǒng)的性能指標(biāo),是否符合設(shè)計目標(biāo)。 如果不符,則返回到前面,修改數(shù)據(jù)庫的物理模型設(shè)計甚至邏輯模型設(shè)計。 (6)數(shù)據(jù)庫運行和維護(hù):數(shù)據(jù)庫系統(tǒng)正式運行,標(biāo)志著數(shù)據(jù)庫設(shè)計與應(yīng)用開發(fā)工作的 結(jié)束和維護(hù)階段的開始。運行維護(hù)階段的主要任務(wù)有四項: a、維護(hù)數(shù)據(jù)庫的安全性與完整性:檢查系統(tǒng)安全性是否受到
30、侵犯,及時調(diào)整授權(quán) 和密碼,實施系統(tǒng)轉(zhuǎn)儲與備份,發(fā)生故障后及時恢復(fù)。 b、監(jiān)測并改善數(shù)據(jù)庫運行性能:對數(shù)據(jù)庫的存儲空間狀況及響應(yīng)時間進(jìn)行分析評 價,結(jié)合用戶反應(yīng)確定改進(jìn)措施。 c、根據(jù)用戶要求對數(shù)據(jù)庫現(xiàn)有功能進(jìn)行擴(kuò)充。 d、及時改正運行中發(fā)現(xiàn)的系統(tǒng)錯誤。 7.3.2 邏輯設(shè)計原則邏輯設(shè)計原則 A、明確命名規(guī)范 B、正確命名 C、確立數(shù)據(jù)類型 D、系統(tǒng)設(shè)計 E、sql 編寫 7.3.3 邏輯設(shè)計圖邏輯設(shè)計圖 7.4 數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理設(shè)計 7.4.1 數(shù)據(jù)庫物理設(shè)計步驟數(shù)據(jù)庫物理設(shè)計步驟 為邏輯數(shù)據(jù)模型選取一個最合適應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法) 。 7.4.2 表、視圖匯總
31、表、視圖匯總 視圖/表名類型說明 職工信息基本表集中保存系統(tǒng)職工的信息 用戶信息基本表集中保存系統(tǒng)用戶的賬號、 密碼 商品信息基本表集中保存系統(tǒng)商品的信息 供貨商信息基本表集中保存系統(tǒng)供貨商的信 息 進(jìn)貨信息基本表集中保存系統(tǒng)進(jìn)貨的信息 銷售信息基本表集中保存系統(tǒng)銷售的信息 庫存信息基本表集中保存系統(tǒng)庫存的信息 表、視圖匯總的表、視圖匯總的 E-RE-R 圖如下所示:圖如下所示: 名稱 職工/用戶 職工編號 供貨日期 進(jìn)貨日期 電話 地址 供貨商編號 供貨商 進(jìn)貨 進(jìn)貨單號 商品編號 名稱 價格 商品 姓名性別 m n m n 工資 身份證號 供 貨 銷售單號 銷售日期 數(shù)量 m n 銷售 7
32、.4.3 各表、試圖設(shè)計詳解各表、試圖設(shè)計詳解 說明說明:空缺位置表示無要求,主鍵在約束欄注明。 基本表:【職工信息表職工信息表】 職工信息表(StaffBill)用于存儲職工信息,職工編號為主鍵是唯一標(biāo)識。表中各 字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 職工編號 staffIDchar6PNOT NULL 姓名 namenvarchar8NOT NULL 性別 sexnchar2NOT NULL 類別 kindnvarchar10NULL 基本表:【用戶登錄表用戶登錄表】 用戶登錄表(Users_Info)用于存儲用戶的基本登錄信息。表中各字段功能定義
33、如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 帳號 loginIDchar6P/FNOT NULL 密碼 passWordchar6NOT NULL 基本表:【商品信息表商品信息表】 商品信息表(Goods_Info)用于存儲商品的信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 商品編號 merchIDchar6PNOT NULL 供貨商號 profferIDchar6FNOT NULL 名稱 fullNamenvarchar80NOT NULL 類別 kindnvarchar8NULL 單價 unitCostmoney4NOT N
34、ULL 備注 othersntext50NULL 基本表:【供貨商信息表供貨商信息表】 供貨商信息表(Sup_Info)用于存儲供貨商的信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 供貨商號 SupplierIDchar6PNOT NULL 名稱 Namenvarchar50NOT NULL 身份證號 idCardvarchar18NOT NULL 備注 othersntext50NULL 聯(lián)系人 contactPer son nvarchar8NOT NULL 聯(lián)系電話 phonevarchar12NOT NULL 聯(lián)系地址 addressnvar
35、char50NOT NULL 備注 othersntext50NULL 基本表:【進(jìn)貨信息表進(jìn)貨信息表】 進(jìn)貨信息表(Buy)存儲進(jìn)貨信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 進(jìn)貨單號 BuyIDchar6PNOT NULL 商品編號 GoodsIDchar6P/FNOT NULL 供貨商號 SupplierIDchar6FNOT NULL 進(jìn)貨價 Pricemoney4NOT NULL 數(shù)量 Amountint4NOT NULL 金額 Summoney4NOT NULL 進(jìn)貨日期 Datedatetime8NOT NULL 備注 Remarkn
36、text50NULL 基本表:【銷售信息表銷售信息表】 銷售信息表(Sell)用于存儲銷售信息。表中各字段功能定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 銷售單號 SeelIDchar6PNOT NULL 商品編號 GoodsIDchar6P/FNOT NULL 銷售數(shù)量 Amountint4NOT NULL 銷售日期 Datedatetime8NOT NULL 基本表:【庫存信息表庫存信息表】 庫存信息表(Stock)存儲庫存信息。表中各字段定義如表所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束 商品編號 GoodsIDchar6P/FNOT NULL
37、 庫存數(shù)量 Amountint4NOT NULL 八、人機(jī)界面設(shè)計八、人機(jī)界面設(shè)計 8.1 界面設(shè)計的原則界面設(shè)計的原則 主界面:按鈕、書寫框、選擇按鈕等。 界面資源:由 ImageList 控件提供界面資源。 8.2 系統(tǒng)窗體匯總系統(tǒng)窗體匯總 窗體名稱窗體類型簡要說明 Form1 主窗體用戶登錄 Form2 顯示窗體顯示商品信息 Form3 顯示窗體顯示職工信息 Form4 顯示窗體顯示供貨商信息 Form5 模式子窗體添加銷售信息 Form6 模式子窗體添加進(jìn)貨信息 Form7 顯示窗體顯示庫存信息 Form8 模式子窗體修改權(quán)限分配 8.3 主界面設(shè)計主界面設(shè)計 用戶登錄模塊在本系統(tǒng)的首
38、頁。用戶輸入用戶名和密碼后,系統(tǒng)進(jìn)行驗證,驗證 通過進(jìn)入程序的主界面。界面如圖所示。 用戶登錄界面 主要實現(xiàn)代碼如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != “ jud = temDR.Read(); if (jud) DataClass.MyMeans.Login_Name = Id.Trim(); DataClass.MyMeans.Login_
39、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 MessageBox.Show(“請將登錄信息添寫完整“); return jud; 8.4 其他各界面設(shè)計其他各界面設(shè)計 8.4.1 商品信息管理界面商品信息管理界面 此界面
40、進(jìn)行對商品信息的錄入,能夠?qū)ι唐愤M(jìn)行合理的管理,界面如圖所示。 商品信息管理界面 主要實現(xiàn)代碼如下: private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; string TypeID; if (txtName.Text = “) MessageBox.Show(“請輸入商品名稱!“); txtName.Focus(); else if (txtPrice.Text = “) MessageBox.Show(“請輸入商品單價!“); txtPrice.Focu
41、s(); else if (comboxType.Text = “) MessageBox.Show(“請選擇商品類型!“); comboxType.Focus(); else if (txtKeep.Text = “) MessageBox.Show(“請輸入保質(zhì)期“); txtKeep.Focus(); else txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(“select * from tb_Goods where GoodsName =“ + txt + “); t = temDR.Read();
42、 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“);/獲取編號 RecID2 = MyMC.GetAutocoding(“tb_Stock“, “StockID“);/獲取編號 Find_S
43、QL=“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) values (“ + RecID2 + “,“ + RecID + “,0)“; MyDa
44、taClass.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(txtRemark.Text); listView1.Items.A
45、dd(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show(“添加失敗“); 8.4.2 職工信息管理界面職工信息管理界面 此模塊有對職工的添加,修改,刪除等功能,能夠?qū)τ脩暨M(jìn)行合理的管理,界面 如圖所示。 職工信息管理界面 主要實現(xiàn)代碼如下: private void btnSave_Click(object sender, EventArgs e) string RecID; if (txtName.Text = “) MessageBox.Show
46、(“請?zhí)砑勇毠ば彰?!?; 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(“添加成功!“); InfLoad(); Wins
47、tateT(); 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 供貨商信息管理界面供貨商信息管理界面 此模塊有對供貨商的添加,修改,刪除等功能,能夠?qū)┴浬踢M(jìn)行合理的管理。 界面如圖所示。 供貨商
48、管理界面 主要實現(xiàn)代碼如下: 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 where
49、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.
50、Text + “,“ + 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+“; SqlD
51、ataReader temDR = MyDataClass.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 + “wh
52、ere SupplierID=“+ID+“; MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(“修改成功!“); InfLoad(); WinstateT(); 8.4.4 添加銷售信息添加銷售信息 銷售員將銷售信息錄入方便了銷售工作,提高了工作效率。界面如圖所示。 添加銷售信息界面 主要實現(xiàn)代碼如下: private void button2_Click(object sender, EventArgs e) if (txtSum.Text.Trim().Length != 0) string s1; string s2; string s3
53、; string s4; float zl; float PayS; if (txtPayS.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 = “商品數(shù)量“ + Amount1+ “ 件“ + “n“ + “n“; s2 = “實付款 “ + PayS + “ 元“ + “n“
54、 + “n“; s3 = “應(yīng)付款 “ + TotalPrice.ToString() + “ 元“ + “n“ + “n“; s4 = “找零 “ + zl.ToString() + “ 元“ ; MessageBox.Show(s1+s2+s3+s4, “系統(tǒng)提示“); txtPayS.Text = “; txtPayY.Text = “; txtZL.Text = “; txtID.Text = “; txtAmount.Text = “; txtSum.Text = “; TotalPrice = 0; Amount1 = 0; listView1.Items.Clear(); els
55、e MessageBox.Show(“請購買商品!“); 8.4.5 添加進(jìn)貨信息添加進(jìn)貨信息 錄入進(jìn)貨信息加強(qiáng)對商品的管理,使商品信息更為詳細(xì),方便了對商品的管理。 界面如圖所示。 用添加進(jìn)貨信息界面 主要實現(xiàn)代碼如下: 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 = “)
56、MessageBox.Show(“請輸入商品單價!“); txtPrice.Focus(); else if (txtAmount.Text = “) MessageBox.Show(“請輸入商品數(shù)量!“); txtAmount.Focus(); else if(comPy.Text=“|comPm.Text=“|comPd.Text=“) MessageBox.Show(“請將生產(chǎn)日期填寫完整!“); else if (comBy.Text = “ | comBm.Text = “ | comBd.Text = “) MessageBox.Show(“請將進(jìn)貨日期填寫完整“); else t
57、xt =txtID.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(“select * from tb_Goods where GoodsID =“ + txt + “); 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
58、dateb; datep =comPy.Text + “/“ + comPm.Text + “/“ + comPd.Text; dateb = comBy.Text + “/“ + comBm.Text + “/“ +comBd.Text; GoodsID = txtID.Text; SupplierID = My_Set.Tables0.RowscomSupplier.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(“tb_Buy“, “BuyID“);/獲取編 號 RecID2 = MyMC.GetAutocoding(“tb_S
59、tock“, “StockID“);/獲 取編號 Find_SQL = “insert into tb_Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,Remark) values (“ + RecID + “,“ +txtID.Text + “,“ + DataClass.MyMeans.Login_Name + “,“+txtPrice.Text +“,“+ txtAmount.Text+ “,“+datep+“,“+dateb+“,“+SupplierID+“,“+txtRemark.Text+“)“; F
60、ind_SQL2 = “Update tb_Stock set Amount = Amount +“ +txtAmount.Text+“where GoodSID=“+GoodsID+“; MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向庫存添加信息 MessageBox.Show(“添加成功!“); ListViewItem l = new ListViewItem(); l.Text =RecID; l.SubItems.Add(txtID.Text); l.SubItems.Add(txtPrice.
61、Text); l.SubItems.Add(txtAmount.Text); l.SubItems.Add(comSupplier.Text); l.SubItems.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show(“添加失敗“); 8.4.6 庫存信息管理界面庫存信息管理界面 庫存信息管理能夠使用戶更為了解商品的庫存情況,從而有利于商品的進(jìn)貨和銷 售的管理。界面如圖
62、所示。 圖 庫存信息管理界面 主要實現(xiàn)代碼如下: private void btnSearch_Click(object sender, EventArgs e) string con; con = MyMC.Sqlcon(groupBox1.Controls, Link); if (con = “) MessageBox.Show(“請輸入查詢信息“); else Find_SQL = “select * from StockS2“ + con; MyDS_Grid = MyDataClass.getDataSet(Find_SQL, “tb_Common“); dataGridView1.
63、DataSource = MyDS_Grid.Tables0; dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.ActiveBorder;/設(shè)置基數(shù)行的顏色 dataGridView1.Columns0.HeaderText = “商品名稱“; dataGridView1.Columns1.HeaderText = “商品單價“; dataGridView1.Columns2.HeaderText = “保質(zhì)期“; dataGridView1.Columns3.HeaderText = “庫存數(shù)量“;
64、 dataGridView1.Columns0.Width = 150; dataGridView1.Columns1.Width = 150; dataGridView1.Columns2.Width = 150; dataGridView1.Columns3.Width = 150; 8.4.7 權(quán)限設(shè)置管理權(quán)限設(shè)置管理 對不同的用戶分不同的權(quán)限,有利于系統(tǒng)的管理,只有超級管理員才具有分配權(quán) 限的功能。界面如圖所示。 圖 權(quán)限設(shè)置界面 主要實現(xiàn)代碼如下: private void btnSave_Click(object sender, EventArgs e) MyDataClass.g
65、etsqlcom(“Delete tb_UserPerm where UserID=“ + ModuleClass.MyModule.ManaId.Trim() + “); foreach(Control c in groupBox2.Controls ) if (c is CheckBox)/只遍歷CheckBox控 if (CheckBox)c).Checked = true) RecID = MyMC.GetAutocoding(“tb_UserPerm“, “ID“); MyDataClass.getsqlcom(“insert into tb_UserPerm (ID,UserID,PermName) values(“ + RecID + “,“ + ModuleClass.MyModule.ManaI
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雅馬哈ts-x_ts-s使用說明課件
- 多元函數(shù)的微積分
- 商業(yè)保險與社會保險的區(qū)別
- HL-X6280終端培訓(xùn)手冊
- 汽車電路原理
- 通信網(wǎng)絡(luò)演進(jìn)及LTE關(guān)鍵技術(shù)教材
- 借助展業(yè)夾提升平安福簽單率廣東葉華東終稿[1]課件
- (精品)珠江國際城代管人員2
- 零售-7-11經(jīng)營模式分析
- 電子病歷簡介及門診醫(yī)生工作站[1]課件
- 食管癌術(shù)后早期營養(yǎng)支持相關(guān)研究
- LHQ電纜層保護(hù)器相關(guān)型號列表參數(shù)
- 大腦前動脈動脈瘤用
- 甲真菌病各藥物特點教學(xué)課件
- 滑輪組機(jī)械效率