數(shù)據(jù)庫大作業(yè)【高教成教】
《數(shù)據(jù)庫大作業(yè)【高教成教】》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫大作業(yè)【高教成教】(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 華南理工大學 數(shù)據(jù)庫原理與設(shè)計 大作業(yè)報告 專 業(yè): 計算機科學與技術(shù) 班 級: 2015春 學 號: 201504742013001 學生姓名: 陳亮 完成時間: 2016.05.08 目 錄 目 錄 2 1、概述 3 2、需求分析 5 2.1零售前臺(POS)管理系統(tǒng)? 5 2.2后臺管理系統(tǒng)? 5 2.3數(shù)據(jù)需求? 6 3、數(shù)據(jù)庫邏輯設(shè)計 7 3.1
2、概念結(jié)構(gòu)設(shè)計 7 4、軟件功能設(shè)計 11 4.1邏輯結(jié)構(gòu)設(shè)計 11 4.2物理結(jié)構(gòu)設(shè)計 13 4.3完整性設(shè)計 16 4.4安全性設(shè)計 18 5、界面設(shè)計 20 5.1系統(tǒng)功能結(jié)構(gòu)圖 20 5.2模塊設(shè)計與實現(xiàn)(部分界面) 20 6、結(jié)束語 31 7、參考文獻 33 1、概述 超市管理信息系統(tǒng)是針對超級市場的銷售而開發(fā)的。應用超市管理信息系統(tǒng)能夠轉(zhuǎn)變超市的工作方式,有效提高銷售速度和服務水平,提高客戶對超市的信任度和滿意度,改善客戶關(guān)系。運用超市管理信息系統(tǒng),在銷售商品時實行出口一次性付款,可以實現(xiàn)超市內(nèi)部現(xiàn)代化管理,能夠準確把握每一種商品的銷售動態(tài),防止商品斷檔或
3、過量儲備,商品開發(fā)方向、進貨的適時化都可通過超市管理信息系統(tǒng)來完成。? 超市管理信息系統(tǒng)將手工編制好的銷售賬目或根據(jù)原始超市銷售記錄直接在系統(tǒng)內(nèi)制作超市銷售信息,同時可對輸入的超市銷售信息進行修改、查詢等操作。這種集約化的銷售管理模式既便于對超市銷售信息的收集、整理和加工,又便于操作員的需求信息在最短的時間內(nèi)得到反饋,同時超市管理信息系統(tǒng)可自動分析各種商品銷售變化規(guī)律,商品銷售結(jié)構(gòu)、居民消費變化等,從而為合理進貨、經(jīng)營、加工、庫存、銷售等提供科學的決策依據(jù)。? 超市管理信息系統(tǒng)充分運用計算機管理信息技術(shù),建立數(shù)據(jù)庫,對超市的進銷存過程進行詳細分析,實現(xiàn)了對超市的進貨、銷售和庫存的科學管理。
4、 內(nèi)部的所有業(yè)務,包括銷售信息、進貨信息、商品信息,具有超級用戶的所有權(quán)限,對超市實行全面管理。銷售員的要求是查看所有銷售信息,查看符合條件的銷售信息以及增加銷售單。采購員的要求是查看所有采購信息,查看符合條件的采購信息,增加采購訂單以及更改進退貨狀態(tài)。超市經(jīng)理的要求是能夠查看進貨信息、銷售信息以及庫存信息。而顧客是超市的上帝,超市一切都是為顧客服務。本系統(tǒng)中顧客要求是可以現(xiàn)場買商品,采購信息有采購編號、采購日期、商品廠商、采購員、商品的價格、商品規(guī)格、進貨商品的數(shù)量等屬性。同時超市還可以進退貨并有相應的付款表。通過與超市管理人員進行反復的討論,確定系統(tǒng)應該實現(xiàn)以下功能:? (1)對商品信
5、息的變動進行處理?在商品的進銷過程巾,商品信息總是在不斷變化的。比如商品價格的調(diào)整、商品信息的修改、新商品信息的增加以及商品信息的刪除,因此設(shè)計系統(tǒng)時必須考慮到這些情況。? (2)用戶信息的變動進行處理。需考慮到新會員的注冊和已注冊,設(shè)置會員折扣用戶的信息的修改及刪除。? (3)對顧客采購信息的變動進行處理。采購信息的過程中采購信息也在不斷發(fā)生改變,因此也要充分考慮。? (4)查詢及統(tǒng)計功能。要求可以根據(jù)指定的條件對商品信息、用戶信息和采購信息、銷售信息進行查詢和統(tǒng)計。? (5)對庫存商品信息的變動進行處理。要求可以根據(jù)庫存的狀態(tài)進行相應的進退貨。? 2、需求分析 2.1零售前臺(
6、POS)管理系統(tǒng)? 商品錄入:根據(jù)超巿業(yè)務特點制定相關(guān)功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現(xiàn)精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準確快速地進行商品掃描錄入。? 收銀業(yè)務:通過掃描條形碼或者直接輸入商品名稱(對于同類多件商品采用一次錄入加數(shù)量的方式)自動計算本次交易的總金額。在顧客付款后,自動計算找零,同時打印交易清單(包括交易的流水賬號、每類商品的商品名、數(shù)量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員并持有本人會員卡,則在交易前先掃描會員卡,并對所購物品全部實行95折優(yōu)惠,并將所購物品的總金額累
7、計到該會員的總消費金額中。會員卡的有效期限為一年,滿一年未續(xù)卡者,該會員卡將被注銷。? 安全性:OS登陸、退出、換班與操作鎖定等權(quán)限驗證保護;斷電自動保護最大限度防止意外及惡意非法操作。?? 獨立作業(yè):有的斷網(wǎng)收銀即在網(wǎng)絡服務器斷開或網(wǎng)絡不通的情況下,收銀機仍能正常作業(yè)? 2.2后臺管理系統(tǒng)? 進貨管理:?根據(jù)銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。按計劃單有選擇性地進行自動入庫登記。綜合查詢打印計劃進貨與入庫記錄及金額。? 銷售管理:商品正常銷售、促銷與限量、限期及禁止銷售控制。綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結(jié)賬情
8、況等。按多種方式統(tǒng)計生成銷售排行榜,靈活察看和打印商品銷售日、月、年報表。? 庫存管理:綜合查詢庫存明細記錄。庫存狀態(tài)自動告警提示。如庫存過剩、少貨、缺貨等。軟件為您預警,避免庫存商品積壓損失和缺貨。庫存自動盤點計算。? 人員管理:員工,會員,供應商,廠商等基本信息登記管理。?? 2.3數(shù)據(jù)需求? (1)頂層數(shù)據(jù)流程 超市人員 超市管理信息系統(tǒng) 顧客/會員 圖2-1頂層數(shù)據(jù)流程圖 (2)第0層數(shù)據(jù)流程 處理查詢 處理要求 檢查有效性 圖2-2第0層數(shù)據(jù)流程圖 (3)第1層數(shù)據(jù)流程 要求處理類型 采購信息 銷售信息 商品信息 用戶信息 員工信息
9、超市數(shù)據(jù)庫 超市信息管理 圖2-3第1層數(shù)據(jù)流程圖 3、數(shù)據(jù)庫邏輯設(shè)計 3.1 概念結(jié)構(gòu)設(shè)計 (1)員工信息E-R圖設(shè)計 員工信息表:此表記錄員工所有信息,管理員通過此表進行員工查詢,添加,刪除,修改等操作。員工信息實體圖如圖3-1所示。 備注 身份證號 工號 性別 姓名 職務 員工表 圖 3-1 員工信息實體圖 (2) 商品信息E-R圖設(shè)計 商品信息表:此表記錄超市所有商品信息,管理員通過此表進行商品查詢,添加,刪除,修改等操作,此外,采購管理及銷售管理都涉及到此表。商品信息實體圖如圖3-2所示。庫存量 商品信息表 規(guī)格 供應商 商品編號 會
10、員價 單價 種類 名稱 圖 3-2 商品信息實體圖 (3) 供應商信息E-R圖設(shè)計 供應商信息表:此表記錄所有供應商基本信息,管理員通過此表進行供貨商查詢,添加,刪除,修改等操作。供應商信息實體圖如圖3-3所示。 聯(lián)系電話 供應商信息 名稱 地址 聯(lián)系人 編號 圖 3-3 供應商信息實體圖 (4) 商品銷售信息E-R圖設(shè)計 商品銷售單表:此表記錄員工銷售商品的所有信息,此表對應多個銷售詳單。商品銷售單信息實體圖如圖3-4所示。 銷售員 銷售單表 會員號 備注 時間 編號 圖 3-4 商品銷售單實體圖 (5) 商品銷售詳單E-R圖
11、設(shè)計 商品銷售詳單表:此表與商品銷售單表為一對多關(guān)系,記錄商品銷售情況。商品銷售詳單信息實體圖如圖3-5所示 總金額 銷售詳單表 銷售單號 價格 數(shù)量 編號 商品編號 圖 3-5 商品銷售詳單實體圖 (6) 商品采購詳單E-R圖設(shè)計 商品采購詳單表:此表與商品采購單表為一對多關(guān)系,記錄商品采購情況。商品采購詳單信息實體圖如圖3-6所示 總金額 采購詳單表 采購單號 價格 數(shù)量 編號 商品編號 圖 3-6 商品采購詳單實體圖 (7) 商品采購單表E-R圖設(shè)計 商品采購單表:此表記錄員工采購商品的所有信息,此表對應多個采購詳單。商品采購單信
12、息實體圖如圖3-7所示 采購員 采購單表 供應商號 狀態(tài) 編號 時間 圖 3-7 商品采購單實體圖 (8) 會員信息E-R圖設(shè)計 會員信息表:此表記錄所有會員基本信息,管理員通過此表進行會員查詢,添加,刪除,修改等操作。會員信息實體圖如圖3-8所示 辦卡時間 會員信息 積分 備注 聯(lián)系電話 編號 姓名 圖 3-8 會員信息實體圖 試題yu教育 4、軟件功能設(shè)計 超市管理信息系統(tǒng)數(shù)據(jù)庫功能模型,如圖下所示: 名稱 職工/用戶 職工編號 籍貫 備注 進貨日期 電話 地址 供貨商編號 供貨商 進貨 進貨單號 商品編
13、號 名稱 價格 商品 姓名 性別 會員價 m n m n 聯(lián)系人 身份證號 客戶/會員 供貨 銷售單號 銷售日期 數(shù)量 m n 銷售 超市管理信息系統(tǒng)數(shù)據(jù)庫功能模型 4.1邏輯結(jié)構(gòu)設(shè)計 實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體間的聯(lián)系則有以下不同的情況: 一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身
14、的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應的關(guān)系模式合并。三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合 實體型轉(zhuǎn)換為關(guān)系模式如下: (1) 商品信息表(商品編號,商品名稱,價格,會員價,庫存量,備注,供貨商編號,商品類別) (2) 員工表(員工號,姓名,性別,身份證號,職務編號,備注) (3) 商品銷售單表(銷售單編號,銷售員編號,會員號,備注,銷售日期) (4) 商品銷售詳單表(詳單編號,商品編號
15、,數(shù)量,銷售單編號單價,總金額,備注) (5)供貨商表(供貨商編號,名稱,供貨商地址,供貨商電話,聯(lián)系人,備注) (6) 會員信息表(會員號,姓名,積分,聯(lián)系電話,辦卡日期,備注) (7)商品采購單表(采購單編號,采購員編號,供貨商號,備注,采購日期) (8) 商品采購詳單表(詳單編號,商品編號,采購單號,采購數(shù)量,單價,總金額,備注) (9) 職務信息表(職務編號,職務名稱,職務簡介) (10) 類別信息表(類別編號,名稱,類別簡介) (11) 用戶信息表(用戶名,用戶密碼,用戶權(quán)限(職務編號)) 4.2物理結(jié)構(gòu)設(shè)計 (1)數(shù)據(jù)庫模式定義 根據(jù)超市管理系統(tǒng)數(shù)據(jù)庫E-R模型
16、及邏輯結(jié)構(gòu)設(shè)計創(chuàng)建各表信息如下: 1.商品信息表,包含商品編號、商品名稱等信息,具體結(jié)構(gòu)如下表所示。 商品信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 productNo nvarchar(6) 6 主鍵 Not null 商品編號 pName nvarchar(50) 50 Not null 商品名稱 price decimal(18,2) Not null 價格 stockNum bigint Not null 庫存數(shù)量 category bigint 外鍵 Not null 商品類
17、別 specific nvarchar(50) 50 null 規(guī)格 suppliesNo nvarchar(6) 6 外鍵 Not null 供貨商編號 memberPrice decimal(18,2) Not null 會員價格 note nvarchar(MAX) null 備注 2.員工信息表,包含員工號、姓名等信息,具體結(jié)構(gòu)如下表所示。 員工信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 employeeNo nvarchar(4) 4 主鍵 Not null 員工號 nam
18、e nvarchar(50) 50 Not null 姓名 idCard nvarchar(18) 18 Not null 身份證號 duty nvarchar(4) 4 外鍵 Not null 職務 sex nvarchar(2) 2 Not null 性別 note nvarchar(MAX) null 備注 3.供貨商信息表,包含供貨商編號、供貨商名稱等信息,具體結(jié)構(gòu)如下表所示。 供貨商信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 suppliesNo nvarchar(6) 6
19、 主鍵 Not null 供貨商編號 name nvarchar(50) 50 Not null 供貨商名稱 address nvarchar(50) 50 Null 供貨商地址 personPhone nvarchar(11) 11 Not null 供貨商電話 person nvarchar(50) 50 Not null 聯(lián)系人 note nvarchar(MAX) Null 備注 4.采購單信息表,包含采購單編號、供貨商編號等信息,具體結(jié)構(gòu)如下表所示。 采購單信息表 字段名 字段類型 長度 主/
20、外鍵 字段值約束 對應中文名 importBillNo nvarchar(6) 6 主鍵 Not null 采購單編號 suppliesId nvarchar(6) 6 外鍵 Not null 供貨商編號 importDate datetime Not null 采購日期 employeeId nvarchar(4) 4 外鍵 Not null 采購員編號 state tinyint Not null 采購單狀態(tài) note nvarchar(MAX) Null 備注 5.采購詳單信息表,包含采購詳單編號、
21、采購單編號等信息,具體結(jié)構(gòu)如下表所示。 采購詳單信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 importBillDetailNo nvarchar(6) 6 主鍵 Not null 采購詳單編號 productNo nvarchar(6) 6 外鍵 Not null 商品編號 importBillNo nvarchar(6) 6 外鍵 Not null 采購單編號 quantity Int 4 Not null 采購數(shù)量 price decimal(18,2) Not null 單價 tot
22、alMoney decimal(18,2) Not null 總金額 note nvarchar(MAX) Null 備注 6.銷售單信息表,包含銷售單編號、銷售員編號等信息,具體結(jié)構(gòu)如下表所示。 銷售單信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 saleBillNo nvarchar(6) 6 主鍵 Not null 銷售單編號 saleDate datetime Not null 銷售日期 employeeId nvarchar(4) 4 外鍵 Not null 銷售員編號 Vip
23、No nvarchar(20) 20 外鍵 Not null 會員編號 note nvarchar(MAX) Null 備注 7.銷售詳單信息表,包含銷售詳單編號、銷售單編號等信息,具體結(jié)構(gòu)如下表所示。 銷售詳單信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 saleBillDetailNo nvarchar(6) 6 主鍵 Not null 銷售詳單編號 productId nvarchar(6) 6 外鍵 Not null 商品編號 saleBillNo nvarchar(6) 6 外鍵 Not
24、null 銷售單編號 saleNum Int 4 Not null 銷售數(shù)量 price decimal(18,2) Not null 單價 totalMoney decimal(18,2) Not null 總金額 note nvarchar(MAX) Null 備注 8.商品類別信息表,包含類別編號、名稱等信息,具體結(jié)構(gòu)如下表所示。 商品類別信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 categoryId nvarchar(4) 4 主鍵 Not null 類別編號 name
25、 nvarchar(20) 20 Not null 名稱 Remark nvarchar(MAX) Null 備注 9.職務信息表,包含職務編號、職務名稱等信息,具體結(jié)構(gòu)如下表所示。 職務信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 dutyId nvarchar(4) 4 主鍵 Not null 職務編號 dutyName nvarchar(20) 20 Not null 職務名稱 Remark nvarchar(MAX) Null 職務簡介 10.用戶信息表,包含用戶編號、密碼、權(quán)限
26、等信息,具體結(jié)構(gòu)如下表所示。 用戶信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 loginNo nvarchar(4) 4 主鍵 Not null 用戶名 passWord nvarchar(8) 8 Not null 密碼 power nvarchar(4) 4 外鍵 Not null 用戶權(quán)限 11.會員信息表,包含會員編號、姓名等信息,具體結(jié)構(gòu)如下表所示。 會員信息表 字段名 字段類型 長度 主/外鍵 字段值約束 對應中文名 vipNo nvarchar(20) 20 主鍵 Not null
27、 會員編號 vipName nvarchar(50) 50 Not null 姓名 CreateDate datetime Not null 辦卡日期 vipScore int 4 Not null 積分 phone nvarchar(11) 11 Not null 聯(lián)系電話 note nvarchar(MAX) Null 備注 4.3完整性設(shè)計 數(shù)據(jù)庫完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫完整性由各種各樣的完整性約束來保證,因此可以說數(shù)據(jù)庫完整性設(shè)計就是數(shù)據(jù)庫完整性約束的設(shè)計。數(shù)據(jù)庫完整性約束可以通過
28、DBMS或應用程序來實現(xiàn),基于DBMS的完整性約束作為模式的一部分存入數(shù)據(jù)庫中。通過DBMS實現(xiàn)的數(shù)據(jù)庫完整性按照數(shù)據(jù)庫設(shè)計步驟進行設(shè)計,而由應用軟件實現(xiàn)的數(shù)據(jù)庫完整性則納入應用軟件設(shè)計 數(shù)據(jù)庫完整性對于數(shù)據(jù)庫應用系統(tǒng)非常關(guān)鍵,其作用主要體現(xiàn)在以下幾個方面: 1.數(shù)據(jù)庫完整性約束能夠防止合法用戶使用數(shù)據(jù)庫時向數(shù)據(jù)庫中添加不合語義的數(shù)據(jù)。 2.利用基于DBMS的完整性控制機制來實現(xiàn)業(yè)務規(guī)則,易于定義,容易理解,而且可以降低應用程序的復雜性,提高應用程序的運行效率。同時,基于DBMS的完整性控制機制是集中管理的,因此比應用程序更容易實現(xiàn)數(shù)據(jù)庫的完整性。 3.合理的數(shù)據(jù)庫完整性設(shè)計,能夠同時
29、兼顧數(shù)據(jù)庫的完整性和系統(tǒng)的效能。比如裝載大量數(shù)據(jù)時,只要在裝載之前臨時使基于DBMS的數(shù)據(jù)庫完整性約束失效,此后再使其生效,就能保證既不影響數(shù)據(jù)裝載的效率又能保證數(shù)據(jù)庫的完整性。 4.在應用軟件的功能測試中,完善的數(shù)據(jù)庫完整性有助于盡早發(fā)現(xiàn)應用軟件的錯誤。在實施數(shù)據(jù)庫完整性設(shè)計的時候,有一些基本的原則需要把握: (1) 根據(jù)數(shù)據(jù)庫完整性約束的類型確定其實現(xiàn)的系統(tǒng)層次和方式,并提前考慮對系統(tǒng)性能的影響。一般情況下,靜態(tài)約束應盡量包含在數(shù)據(jù)庫模式中,而動態(tài)約束由應用程序?qū)崿F(xiàn)。 (2) 實體完整性約束、參照完整性約束是關(guān)系數(shù)據(jù)庫最重要的完整性約束,在不影響系統(tǒng)關(guān)鍵性能的前提下需盡量應用。用一定
30、的時間和空間來換取系統(tǒng)的易用性是值得的。 4.4安全性設(shè)計 數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。系統(tǒng)安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標之一。數(shù)據(jù)庫的安全性和計算機系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡系統(tǒng)的安全性是緊密聯(lián)系、相互支持的。 信息系統(tǒng)盡管功能強大,技術(shù)先進,但由于受到自身體系結(jié)構(gòu),設(shè)計思路以及運行機制 等限制,也隱含許多不安全因素。常見因素有:數(shù)據(jù)的輸入,輸出,存取與備份,源程序以及應用軟件,數(shù)據(jù)庫,操作系統(tǒng)等漏洞或缺陷,硬件,通信部分的漏洞,企業(yè)內(nèi)部人員的因素,病毒,“黑客”等因素。因此,為使本系統(tǒng)能夠真正安全,可靠,穩(wěn)定地工作,
31、必須考慮如下問題:為保證安全,不致使系統(tǒng)遭到意外事故的損害,系統(tǒng)因該能防止火,盜或其他形式的人為破壞。 (1) 系統(tǒng)要能重建 (2) 系統(tǒng)應該是可審查的 (3) 系統(tǒng)應能進行有效控制,抗干擾能力強 (4) 系統(tǒng)使用者的使用權(quán)限是可識別的 SQL Server提供多層安全。在最外層,SQL Server的登錄安全性直接集成到Widows NT/2000的安全上,它允許Windows NT服務器驗證用戶。使用這種"Windows 驗證"SQL Server就可以利用Windows NT/2000的安全特性,例如安全驗證和密碼加密、審核、密碼過期、最短密碼長度,以及在多次登錄請求無效后鎖
32、定帳號。 5、界面設(shè)計 5.1系統(tǒng)功能結(jié)構(gòu)圖 一般的超市商品管理系統(tǒng),主要由四大模塊組成,即基本信息管理模塊,系統(tǒng)用戶管理模塊,銷售管理模塊,貨物管理模塊,此系統(tǒng)也不例外,主要有此四大模塊組成。圖5-1系統(tǒng)功能結(jié)構(gòu)圖。 超市信息管理系統(tǒng) 系統(tǒng)用戶管理 基本信息管理 員工信息管理 商品信息管理 供貨商信息管理 會員信息管理 添加用戶 修改密碼 修改權(quán)限 切換用戶 貨物管理 商品采購管理 退貨管理 缺貨管理 銷售管理 銷售單管理 銷售查詢 圖5-1系統(tǒng)功能結(jié)構(gòu)
33、圖 5.2模塊設(shè)計與實現(xiàn)(部分界面) (1) 用戶登錄界面 運行超市管理信息系統(tǒng)后,首先進入用戶登錄界面,用戶輸入用戶名和密碼后,系統(tǒng)進行驗證,驗證通過進入程序的主界面。 在進行系統(tǒng)登錄過程中,登錄模塊將調(diào)用數(shù)據(jù)庫里的用戶信息表,并對用戶名和密碼進行驗證,只有輸入了正確的賬號和密碼后,系統(tǒng)登錄才會成功。在登錄模塊中,對系統(tǒng)的嘗試登錄次數(shù)進行了限制,禁止用戶無終止的進行系統(tǒng)登錄嘗試,在本系統(tǒng)中,當用戶對系統(tǒng)的三次登錄失敗后,系統(tǒng)將自動機制登錄,突出登錄模塊。并在輸入了錯誤的或者是不存在的賬戶和密碼時,系統(tǒng)會給出出錯信息提示,指明登錄過程中的錯誤輸入或者錯誤操作,以便用戶進行正確的登錄。登
34、錄界面如圖5-2所示。 圖5-2 登錄界面 主要實現(xiàn)代碼如下: //登錄 private void radBtnOk_Click(object sender, EventArgs e) { try { if (radTxtBoxUser.Text.Trim() == "") { this.radLbInfo.Text = "請輸入您的用戶名!";
35、 } else if (radTxtBoxPsw.Text.Trim() == "") { this.radLbInfo.Text = "請輸入您的密碼!"; } else { commandUnit com = new commandUnit(); string str = @
36、"select * from UserInfo where loginNo = '" + radTxtBoxUser.Text.ToString() + "'"; DataTable table = com.GetDataSet(str); if (table.Rows.Count <= 0) { this.radLbInfo.Text = "用戶名不存在!"; radT
37、xtBoxUser.Text = ""; radTxtBoxPsw.Text = ""; return; } str = @"select * from UserInfo where loginNo = '" + radTxtBoxUser.Text.ToString() + "' and passWord = '" + radTxtBoxPsw.Text.ToString() + "'";
38、 DataTable tableUser = com.GetDataSet(str); if (tableUser.Rows.Count > 0) { _currentUser = radTxtBoxUser.Text; _currentPsw = radTxtBoxPsw.Text; IsLogin = true;
39、 this.Close(); } else { this.radLbInfo.Text = "密碼錯誤!"; radTxtBoxPsw.Text = ""; } } } catch (System.Exception ex)
40、 { throw ex; } } (2) 主界面 系統(tǒng)登錄成功后,進入主界面菜單。主界面如圖5-3所示。 圖5-3 主界面 (3) 修改密碼界面 成功登錄系統(tǒng)后,單擊“用戶信息管理”菜單的“修改密碼”,可以進入“修改密碼”界面,進行密碼的修改。修改密碼界面如圖5-4所示。 圖5-4 修改密碼界面 主要實現(xiàn)代碼如下: //修改密碼 protected virtual void radBtnOk_Click(object sender, EventArgs e) {
41、 if (radTxtBoxOldPsw.Text == null || radTxtBoxOldPsw.Text.Trim() == "") { MessageBox.Show("請輸入舊密碼!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (radTxtBoxNewPsw.Text == null || radTxtBoxN
42、ewPsw.Text.Trim() == "" || radTxtBoxEnterPsw.Text == null || radTxtBoxEnterPsw.Text.Trim() == "") { MessageBox.Show("請輸入新密碼!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string currPwd
43、= RFrmLogin.CurrentPsw; if (currPwd == radTxtBoxOldPsw.Text.Trim()) { if (isSame()) { commandUnit com = new commandUnit(); string str = @"update UserInfo set passWord = '" + radTxtBoxEnterPsw.Text.T
44、oString() + "' where loginNo = '" + RFrmLogin.CurrentUser + "'"; if (com.ExecuteCommand(str) > 0) { MessageBox.Show("密碼修改成功!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); } else
45、 { MessageBox.Show("密碼修改失敗,請聯(lián)系管理員!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("兩次密碼輸入不一致!", "提醒", MessageBoxButtons.O
46、K, MessageBoxIcon.Information); } } else { MessageBox.Show("輸入密碼錯誤!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); } } (4) 修改密碼界面 管理員成功登錄系統(tǒng)后,單擊“用戶信息管理”菜單的“修改權(quán)限”,可以進入“修改權(quán)限”界面,進行員工權(quán)限的修改。修改權(quán)限界面如圖5-5所示。
47、 圖5-5 修改權(quán)限界面 主要實現(xiàn)代碼如下: //修改權(quán)限 protected override void radBtnOk_Click(object sender, EventArgs e) { if (radTxtBoxOldPsw.Text == null || radTxtBoxOldPsw.Text.Trim() == "") { MessageBox.Show("請輸入用戶名!。", "提醒", MessageBoxButtons.OK
48、, MessageBoxIcon.Information); return; } if (radComBoxPower.Text == null || radComBoxPower.Text.Trim() == "") { MessageBox.Show("請為用戶設(shè)置權(quán)限!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
49、 } commandUnit com = new commandUnit(); string str = @"update UserInfo set power = '" + radComBoxPower.SelectedValue.ToString() + "' where loginNo = '" + radTxtBoxOldPsw.Text.ToString() + "'"; if (com.ExecuteCommand(str) > 0) {
50、 MessageBox.Show("權(quán)限修改成功!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("權(quán)限修改失敗,請聯(lián)系管理員!。", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); } } (5) 編輯員工信息界面 管理員成功登錄系統(tǒng)后,單擊“基本信息
51、管理”菜單的“員工信息”,可以進入“查看員工信息”界面和“編輯員工信息”界面,“查看員工信息”界面只能查看員工信息,“編輯員工信息”界面進行員工信息的修改、添加、刪除等功能。編輯員工信息界面如圖5-6所示。 圖5-6 編輯員工信息界面 主要實現(xiàn)代碼如下: //保存 protected virtual void tSBtnSave_Click(object sender, EventArgs e) { try { if (IsVilude())
52、 { bool isSuccess = false; commandUnit com = new commandUnit(); EmployeeModel emp; for (int j = 0; j < radWithGV.RowCount; j++) { emp = new EmployeeModel();
53、 #region 同步數(shù)據(jù) if (radWithGV.Rows[j].Tag != null) { emp = radWithGV.Rows[j].Tag as EmployeeModel; } else {
54、 emp.EmployeeNo = radWithGV.Rows[j].Cells["employeeNo"].Value.ToString(); emp.Name = radWithGV.Rows[j].Cells["name"].Value.ToString(); emp.Sex = radWithGV.Rows[j].Cells["sex"].Value.ToString(); emp.IdCard =
55、radWithGV.Rows[j].Cells["idCard"].Value.ToString(); emp.Duty = radWithGV.Rows[j].Cells["duty"].Value.ToString(); emp.Note = radWithGV.Rows[j].Cells["note"].Value.ToString(); emp.IsNew = true;
56、 } #endregion if (emp.IsNew) { string str = "select * from EmployeeInfo where employeeNo = '" + emp.EmployeeNo + "'"; DataTable dtable = com.GetDataSet(str);
57、 if (dtable.Rows.Count <= 0) { str = @"insert into EmployeeInfo values('" + emp.EmployeeNo + "','" + emp.Name + "','" + emp.Sex + "','" + emp.IdCard + "','" + emp.Duty + "','" + emp.Note + "')";
58、 if (com.ExecuteCommand(str) > 0) { _isSaved = true; isSuccess = true; emp.IsNew = false; radWithGV.Rows
59、[j].Tag = emp; } } else { MessageBox.Show("該員工已存在,請審核信息!"); } } else
60、 if (emp.IsModified) { string strSql = @"update EmployeeInfo set name = '" + emp.Name + "',sex = '" + emp.Sex + "',idCard = '" + emp.IdCard + "',duty = '" + emp.Duty + "',note = '" + emp.Note + "' whe
61、re employeeNo = '" + emp.EmployeeNo + "'"; if (com.ExecuteCommand(strSql) > 0) { _isSaved = true; isSuccess = true; emp.IsModified = false;
62、 radWithGV.Rows[j].Tag = emp; } } else continue; } if (isSuccess) { Messa
63、geBox.Show("保存成功!"); } } else { MessageBox.Show("數(shù)據(jù)非法!"); } } catch (System.Exception ex) { throw ex; } } (
64、6) 職務信息界面 管理員成功登錄系統(tǒng)后,單擊“基本信息管理”菜單的“職務信息”,可以進入“職務信息”界面 ,“職務信息”界面進行職務信息的修改、添加、刪除等功能。職務信息界面如圖5-7所示。 圖5-7 職務信息界面 主要實現(xiàn)代碼如下: protected override void tSBtnDelete_Click(object sender, EventArgs e) { DutyModel employee = this.radWithGV.CurrentRow.Tag as DutyModel;
65、 if (employee != null) { if (!employee.IsNew) {commandUnit com = new commandUnit(); string numRow = radWithGV.CurrentRow.Cells["dutyId"].Value.ToString(); string str = "delete from dutyInfo where dutyI
66、d = '" + numRow + "'"; if (com.ExecuteCommand(str) > 0) { this.radWithGV.Rows.Remove(radWithGV.CurrentRow as GridViewDataRowInfo); IsSaved = true; } } else { this.radWithGV.Rows.Remove(radWithGV.CurrentRow as GridViewDataRowInfo); } } }
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復工安全生產(chǎn)培訓人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復工復產(chǎn)十注意節(jié)后復工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復工安全生產(chǎn)培訓勿忘安全本心人人講安全個個會應急
- 預防性維修管理
- 常見閥門類型及特點
- 設(shè)備預防性維修
- 2.乳化液泵工理論考試試題含答案