基于ASP.NET+SQL Server实现(Web)企业进销存管理系统【100010296】
企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
?
一、摘要
進(jìn)銷存管理是現(xiàn)代企業(yè)生產(chǎn)經(jīng)營(yíng)中的重要環(huán)節(jié),是完成企業(yè)資源配置的重要管理工作,對(duì)企業(yè)生產(chǎn)經(jīng)營(yíng)效率的最大化發(fā)揮著重要作用。本文以我國(guó)中小企業(yè)的進(jìn)銷存管理為研究對(duì)象,描述了企業(yè)進(jìn)銷存管理系統(tǒng)從需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)到系統(tǒng)測(cè)試的全周期。在本次設(shè)計(jì)確定了進(jìn)銷存系統(tǒng)的基礎(chǔ)功能需求,深入剖析了企業(yè)進(jìn)銷存的業(yè)務(wù)流程,完成了基礎(chǔ)設(shè)置模塊、客戶管理模塊、產(chǎn)品管理模塊、進(jìn)銷存管理模塊和系統(tǒng)管理模塊的功能設(shè)計(jì)。分析部分對(duì)系統(tǒng)的概念、特點(diǎn)、運(yùn)行環(huán)境及數(shù)據(jù)庫設(shè)計(jì)進(jìn)行了分析描述;設(shè)計(jì)部分根據(jù)系統(tǒng)的總體描述、模塊及結(jié)構(gòu)圖提出了系統(tǒng)的總體設(shè)計(jì)方案內(nèi)容;實(shí)現(xiàn)部分介紹了系統(tǒng)中各個(gè)模塊的實(shí)現(xiàn)方法,做到客觀實(shí)際,具有通用性。
關(guān)鍵詞:進(jìn)銷存管理系統(tǒng);.NET;B/S 模式;SQL
二、緒論
2.1 課題背景
隨著現(xiàn)代企業(yè)管理理論的發(fā)展,以及在新形勢(shì)下信息化技術(shù)在現(xiàn)代企業(yè)管理的不斷應(yīng)用,許多中小企業(yè)在激烈的市場(chǎng)競(jìng)爭(zhēng)中也開始注意到企業(yè)信息化管理的重要性,部署了貼合自身業(yè)務(wù)的小型管理系統(tǒng)。但當(dāng)前許多中小企業(yè)實(shí)現(xiàn)的管理信息系統(tǒng)都是非常獨(dú)立的系統(tǒng),采購(gòu)、銷售、庫存管理都有獨(dú)立的系統(tǒng)。大量的系統(tǒng)不利于數(shù)據(jù)共享和綜合的統(tǒng)計(jì)分析。因此,中小企業(yè)迫切需要部署一個(gè)綜合的進(jìn)銷存管理系統(tǒng)以實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一管理。進(jìn)銷存管理系統(tǒng)以庫存管理為基礎(chǔ),主要完成企業(yè)的采購(gòu)管理、銷售管理、庫存管理、客戶管理和產(chǎn)品管理等工作,通過對(duì)銷貨進(jìn)貨、庫存變更等操作過程的管理,為管理者提供詳細(xì)企業(yè)運(yùn)營(yíng)狀況,幫助企業(yè)打到采購(gòu)、庫存、銷售的平衡,降低企業(yè)成本。
2.2 國(guó)內(nèi)外現(xiàn)狀
美日韓等發(fā)達(dá)國(guó)家因工業(yè)水平和計(jì)算機(jī)技術(shù)起步較早走在了世界的前列。自 20 世紀(jì) 60 年代起發(fā)展了許多實(shí)現(xiàn)企業(yè)全面管理的 ERP系統(tǒng)。這些 ERP 系統(tǒng)中均有進(jìn)銷存管理相關(guān)的模塊[1]。但中小企業(yè)由于規(guī)模與資金限制,只在部分業(yè)務(wù)普及了信息化。這些軟件系統(tǒng)中均具有進(jìn)銷存管理的相關(guān)業(yè)務(wù)模塊,例如 COPICS、BPCS、NTT 系統(tǒng),業(yè)務(wù)模塊具有較高的集中度,同時(shí)也易于擴(kuò)展,全世界許多企業(yè)使用這些管理系統(tǒng)來完成企業(yè)的進(jìn)銷存管理工作。美國(guó)的一份數(shù)據(jù)統(tǒng)計(jì)表明采用利用軟件對(duì)企業(yè)進(jìn)銷存管理,可減少40%的積壓庫存,12%的企業(yè)生產(chǎn)力增[2]。
在經(jīng)濟(jì)化浪潮下國(guó)內(nèi)也涌現(xiàn)出一批優(yōu)秀的進(jìn)銷存系統(tǒng),如用友軟件、金蝶公司、浪潮等的 ERP 系統(tǒng),都在國(guó)內(nèi)得到了廣應(yīng)用。但當(dāng)前我國(guó)進(jìn)銷存管理系統(tǒng)存在的主要缺陷:①軟件功能復(fù)雜。許多進(jìn)銷存管理系統(tǒng)包括從物流、生產(chǎn)到財(cái)務(wù)等多個(gè)領(lǐng)域,但許多功能并不適用于中小企業(yè);②進(jìn)銷存信息單一,且缺乏對(duì)數(shù)據(jù)的分析功能。無法對(duì)進(jìn)銷存信息進(jìn)行實(shí)時(shí)分析;③系統(tǒng)網(wǎng)絡(luò)化程度低。許多傳統(tǒng)的進(jìn)銷存管理系統(tǒng)只支持在局域網(wǎng)中進(jìn)行使用,更無法滿足當(dāng)前網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代的要求。國(guó)內(nèi)進(jìn)銷存管理系統(tǒng)的研究已經(jīng)從點(diǎn)到面,又向細(xì)節(jié)逐步深入的階段,在各方面細(xì)節(jié)上不斷完善系統(tǒng),為企業(yè)進(jìn)銷存管理打造一個(gè)堅(jiān)實(shí)的根基[3]。
2.3 課題的目的和意義
本課題的目的是研究設(shè)計(jì)實(shí)現(xiàn)企業(yè)進(jìn)銷存管理系統(tǒng),并通過該系統(tǒng)實(shí)現(xiàn)以下目標(biāo):
界面簡(jiǎn)潔明了,模塊分布明確,方便用戶操作。
合理分配權(quán)限,優(yōu)化管理。
實(shí)現(xiàn)中小企業(yè)進(jìn)銷存管理的持續(xù)使用。
本課題的意義如下:
實(shí)時(shí)下訂單。
實(shí)時(shí)查詢庫存數(shù)量。
為企業(yè)管理者提供科學(xué)的決策數(shù)據(jù)
2.4 本文組織結(jié)構(gòu)
第一章為緒論,大致介紹本課題的研究背景以及國(guó)內(nèi)外進(jìn)銷存管理系統(tǒng)的現(xiàn)狀,以及應(yīng)用進(jìn)銷存管理系統(tǒng)的主要意義。
第二章為開發(fā)進(jìn)銷存管理系統(tǒng)的相關(guān)技術(shù),本章主要介紹了開發(fā)系統(tǒng)時(shí)使用的技術(shù)、語言、數(shù)據(jù)庫技術(shù)和軟件架構(gòu)等方面。
第三章為進(jìn)銷存管理系統(tǒng)的分析與設(shè)計(jì),本章主要說明了該系統(tǒng)的需求、系統(tǒng)的模塊規(guī)劃,以及系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)及相應(yīng)的截圖。
第四章為進(jìn)銷存管理系統(tǒng)的實(shí)現(xiàn),本章主要說明了系統(tǒng)的開發(fā)環(huán)境,介紹了系統(tǒng)各個(gè)模塊所實(shí)現(xiàn)的功能。
第五章為總結(jié)與展望,本章主要總結(jié)了本系統(tǒng)的開發(fā)工作,并指出系統(tǒng)存在的不足,有待改進(jìn)。
三、相關(guān)技術(shù)介紹
3.1 ASP.NET技術(shù)
ASP.NET技術(shù)是用微軟開發(fā)并推行的,是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),可用于在服務(wù)器上生成功能強(qiáng)大的Web應(yīng)用程序,是ASP技術(shù)的升級(jí)版。ASP.NET支持多種類型語言的編程開發(fā),其中包括常用的Visual Basic .NET、C#、Perl等語言。因?yàn)锳SP .NET是基于通用語言的編譯運(yùn)行的程序,其實(shí)現(xiàn)完全依賴于虛擬機(jī),所以它擁有跨平臺(tái)性,ASP .NET構(gòu)建的應(yīng)用程序可以運(yùn)行在幾乎全部的平臺(tái)上[4]。同時(shí),ASP.NET還有許多功能強(qiáng)大的組件,例如DataList、DetailList和Gridview等,可以實(shí)現(xiàn)快速簡(jiǎn)便地與數(shù)據(jù)庫進(jìn)行連接,并且它本身還自帶了服務(wù)器空間,簡(jiǎn)單好用[5]。
3.2 C#語言
C#是微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語言。它是由C和衍生出來的,同時(shí)又綜合了簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向編程的支持成為開發(fā)的首選語言。
3.3 SQL Server數(shù)據(jù)庫
SQL Server數(shù)據(jù)庫是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng),是一個(gè)可擴(kuò)展、高性能、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫管理系統(tǒng)。它實(shí)現(xiàn)了與Windows NT的有機(jī)結(jié)合,提供了基于事務(wù)的企業(yè)級(jí)信息管理系統(tǒng)方案[6]。SQL Server數(shù)據(jù)庫具有如下特點(diǎn):
3.4 B/S結(jié)構(gòu)
B/S結(jié)構(gòu)(即瀏覽器/服務(wù)器結(jié)構(gòu))是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,其主要是利用日漸成熟的WWW瀏覽技術(shù),結(jié)合VBScript和JavaScript等Script語言,再加上ActiveX技術(shù),將系統(tǒng)功能實(shí)現(xiàn)的核心部分轉(zhuǎn)移到了服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)[7]。用戶通過自己電腦的瀏覽器就可以在家訪問數(shù)據(jù)庫,不需要特別安裝軟件,使得系統(tǒng)的拓展十分便利。
3.5 AJAX
Ajax是一種創(chuàng)建交互式網(wǎng)頁的web開發(fā)技術(shù)。它并不是一種單一的、新的技術(shù),而是由Javascript、CSS、Dom、XMLHttpRequest這四中技術(shù)集合而成的。它由JavaScript語言寫成,使用CSS控制頁面的樣式,通過DOM使用模型,通過XMLHttpRequest向后臺(tái)發(fā)送數(shù)據(jù)。Ajax技術(shù)很多時(shí)候被用于實(shí)現(xiàn)頁面的局部刷新,大大提高了用戶體驗(yàn)感。
3.6 Android
Android是一種基于的自由及開放源代碼的,主要使用于,如和,由公司和領(lǐng)導(dǎo)及開發(fā)。一個(gè)Android 應(yīng)用是由多個(gè)Activity 組成的。這多個(gè)Activity 之間可以進(jìn)行相互跳轉(zhuǎn),例如,按下一個(gè)按鈕后,可能會(huì)跳轉(zhuǎn)到其他的Activity。和網(wǎng)頁跳轉(zhuǎn)稍微有些不一樣的是,Activity 之間的跳轉(zhuǎn)有可能返回值,例如,從Activity A 跳轉(zhuǎn)到Activity B,那么當(dāng)Activity B 運(yùn)行結(jié)束的時(shí)候,有可能會(huì)給Activity A 一個(gè)返回值。這樣做在很多時(shí)候是相當(dāng)方便的。
3.7 本章小結(jié)
本章主要介紹了在進(jìn)銷存管理系統(tǒng)中使用的相關(guān)技術(shù),例如C#和SQL Server數(shù)據(jù)庫的相關(guān)介紹,B/S結(jié)構(gòu)的簡(jiǎn)單闡述以及AJAX的原理。
四、系統(tǒng)分析與設(shè)計(jì)
4.1 系統(tǒng)需求分析
進(jìn)銷存管理系統(tǒng)的開發(fā)過程中包括了前期準(zhǔn)備,市場(chǎng)調(diào)研、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)以及系統(tǒng)實(shí)現(xiàn)、測(cè)試、評(píng)價(jià)等步驟。由于調(diào)研對(duì)象主要集中在中小企業(yè),所以其中的一些功能只做了一些簡(jiǎn)單的設(shè)計(jì)。根據(jù)系統(tǒng)開發(fā)的大小、規(guī)模以及應(yīng)用范圍的不同,各個(gè)步驟的要求和內(nèi)容可能不盡相同。
4.1.1 業(yè)務(wù)流程分析
為了使用戶能夠更加直觀地了解整個(gè)系統(tǒng)的業(yè)務(wù)關(guān)系、工作順序以及相應(yīng)的管理信息的流向,在此給出了本系統(tǒng)的業(yè)務(wù)流程圖,如圖3-1所示。本系統(tǒng)是進(jìn)銷存管理系統(tǒng),主要實(shí)現(xiàn)企業(yè)庫存的信息管理,設(shè)定價(jià)表、入貨出貨和實(shí)時(shí)查詢企業(yè)庫存[8]。其中,訂單模塊是本系統(tǒng)的重點(diǎn)。
如圖3-1所示,在本系統(tǒng)中,管理員擁有系統(tǒng)全部基礎(chǔ)功能。如新增客戶,新增產(chǎn)品和銷售區(qū)域,新增業(yè)務(wù)代表等基礎(chǔ)信息維護(hù);設(shè)定價(jià)盤表,可按照不同銷售區(qū)域?qū)Ξa(chǎn)品進(jìn)行差異化定價(jià);調(diào)整并審核銷售單、退貨單、收預(yù)收款等業(yè)務(wù)操作。管理員新增業(yè)務(wù)代表并審核通過后可由業(yè)務(wù)代表幫助客戶下預(yù)售單,預(yù)售單在管理員審批通過后可由庫管發(fā)貨,審核期間可組合選擇付款方式(預(yù)收款付款,先進(jìn)結(jié)款等)。
業(yè)務(wù)代表在本系統(tǒng)中扮演了重要角色,承擔(dān)了企業(yè)與客戶溝通的橋梁,在線下跑訂單,下預(yù)售訂單等都由業(yè)務(wù)代表完成。業(yè)務(wù)代表是可以關(guān)聯(lián)車輛的,企業(yè)的每一輛運(yùn)貨車可以由一個(gè)司機(jī)加一個(gè)業(yè)務(wù)代表組合負(fù)責(zé)。司機(jī)負(fù)責(zé)貨運(yùn),業(yè)務(wù)代表負(fù)責(zé)在手機(jī)APP為客戶下訂單,可下訂單包括銷售單,預(yù)售單,退貨單,在手機(jī)端業(yè)務(wù)代表可任意組合自己的付款方式,靈活完成客戶訂單需求。
產(chǎn)品價(jià)表是本系統(tǒng)的重點(diǎn),管理員可針對(duì)不同渠道不同區(qū)域的不同產(chǎn)品差異化定價(jià),盡可能符合當(dāng)前區(qū)域的經(jīng)濟(jì)需求。管理員亦可對(duì)產(chǎn)品設(shè)定活動(dòng),活動(dòng)包括買贈(zèng)和減免,對(duì)于同一客戶的下單可直接給業(yè)務(wù)代表贈(zèng)送的權(quán)利,簡(jiǎn)化買贈(zèng)活動(dòng)為免費(fèi)贈(zèng)送單。靈活的定價(jià)方式可滿足不同區(qū)域的消費(fèi)需求。
圖3-1業(yè)務(wù)流程圖
4.1.2 數(shù)據(jù)流程分析
從業(yè)務(wù)流程圖中,我們可以比較直觀地了解到整個(gè)系統(tǒng)中各個(gè)實(shí)體以及各個(gè)模塊之間的業(yè)務(wù)關(guān)系,以及作用順序,但是對(duì)于各類信息的具體處理、存儲(chǔ)及流向方面,則不是十分詳細(xì)。而為了更加清晰地了解一個(gè)系統(tǒng)中的數(shù)據(jù)信息流向和處理存儲(chǔ)過程,本文中給出了數(shù)據(jù)流程圖。如圖3-2所示,是本系統(tǒng)的數(shù)據(jù)流程圖,從下圖我們可以比較明確地知道整個(gè)系統(tǒng)的數(shù)據(jù)走向。
圖3-2數(shù)據(jù)流程圖
4.1.3 功能性需求分析
進(jìn)銷存管理系統(tǒng)的角色分為系統(tǒng)管理員、業(yè)務(wù)代表、司機(jī)、客戶。
系統(tǒng)管理員可以由系統(tǒng)使用方指定對(duì)象擔(dān)任,人數(shù)由使用方?jīng)Q定,系統(tǒng)管理員不需要注冊(cè)。系統(tǒng)管理員主要管理整個(gè)系統(tǒng)中基礎(chǔ)信息的調(diào)整和訂單審核,包括新增業(yè)務(wù)代表、新增產(chǎn)品、設(shè)定產(chǎn)品價(jià)表等。具體功能要求如下:
管理授權(quán):注冊(cè)其他角色時(shí)需要在管理員授權(quán)。
修改權(quán)限:系統(tǒng)管理員可以根據(jù)需求修改系統(tǒng)人員和商品的信息的權(quán)限。
業(yè)務(wù)權(quán)限:系統(tǒng)管理員可以對(duì)訂單進(jìn)行審核發(fā)貨和取消。
信息維護(hù):系統(tǒng)管理員可以對(duì)整個(gè)系統(tǒng)中的信息進(jìn)行維護(hù)。
審核功能:根據(jù)新增基礎(chǔ)信息需求,審核信息。
業(yè)務(wù)代表是由管理員添加并審核通過的注冊(cè)者,在系統(tǒng)中具有下預(yù)售單和車銷單的權(quán)限。具體功能如下:
客戶管理:具有新增客戶、修改已存在客戶資料等功能。
車銷管理:下車銷訂單。
預(yù)售管理:下預(yù)售訂單。
庫存管理:可申請(qǐng)移庫,由主倉庫移動(dòng)至車倉庫或由車倉庫退貨。
退貨管理:可以查看有關(guān)自己的留言,回復(fù)他人對(duì)自己的提問。
其他信息:訂單查詢等。
司機(jī)是由管理員添加并審核通過的注冊(cè)者,在系統(tǒng)中具有庫存調(diào)撥的權(quán)限。具體功能如下:
調(diào)撥管理:車銷移庫或退庫。
訂單管理:在車銷訂單中收款。
4.1.4 非功能性需求分析
非功能性需求,指的是除了用戶所需的功能要求以外,還應(yīng)該滿足的一些其他方面的要求。本系統(tǒng)以下幾個(gè)方面進(jìn)行分析:
-
系統(tǒng)安全性:防止無權(quán)限人員進(jìn)入系統(tǒng)修改相關(guān)信息[14]。若操作系統(tǒng)能給數(shù)據(jù)庫用戶分配角色,則安全性管理者必須要有修改操作系統(tǒng)用戶安全性區(qū)域的操作系統(tǒng)權(quán)限[15]。
-
性能需求:用戶在軟件響應(yīng)速度、結(jié)果精度、運(yùn)行時(shí)資源消耗量等方面的要求。如對(duì)計(jì)算機(jī)系統(tǒng)的要求,對(duì)工作頻率、容量、存儲(chǔ)量等方面的要求。
-
易操作需求:界面簡(jiǎn)單明了,命名明確易懂。如一些系統(tǒng)管理員不太熟悉電腦操作,系統(tǒng)界面必須一目了然、簡(jiǎn)單易懂、容易上手[16]。
-
適應(yīng)性:當(dāng)外部條件有所改變的時(shí)候,系統(tǒng)根據(jù)外界因素改變。如時(shí)間變化,系統(tǒng)根據(jù)當(dāng)前時(shí)間刪除發(fā)布招募信息時(shí)過時(shí)時(shí)間的選項(xiàng)。
4.2 系統(tǒng)模塊劃分
根據(jù)以上分析,可以將庫存管理信息管理系統(tǒng)分為基礎(chǔ)信息管理、采購(gòu)管理、銷售管理、庫存管理、財(cái)務(wù)管理、報(bào)表平臺(tái)等幾個(gè)模塊。系統(tǒng)管理員主要有信息的維護(hù)、審核、權(quán)限管理等功能具體,業(yè)務(wù)代表具有訂單權(quán)限和新增客戶權(quán)限,如圖3-3所示:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-zjIGAukV-1675735072315)(system.png)]
圖3-3系統(tǒng)模塊劃分
4.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
在一個(gè)系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫設(shè)計(jì)可謂是至關(guān)重要,一個(gè)數(shù)據(jù)庫的設(shè)計(jì)成功與否,直接關(guān)系到整個(gè)系統(tǒng)的開發(fā),甚至?xí)绊懙秸麄€(gè)系統(tǒng)的成敗。
4.3.1 概念設(shè)計(jì)
概念設(shè)計(jì)是由分析用戶需求到生成概念產(chǎn)品的一系列有序的、可組織的、有目標(biāo)的設(shè)計(jì)活動(dòng),它表現(xiàn)為一個(gè)由粗到精、由模糊到清晰、由抽象到具體的不斷進(jìn)化的過程。現(xiàn)在常用的概念模型是E-R模型。在本系統(tǒng)中,各實(shí)體直接的關(guān)系如圖3-4所示:
圖3-4實(shí)體關(guān)系E-R圖
4.3.2 邏輯設(shè)計(jì)
邏輯設(shè)計(jì)是將概念結(jié)構(gòu)轉(zhuǎn)變?yōu)槟硞€(gè)DBMS支持的數(shù)據(jù)模型,也可稱為優(yōu)化。將本系統(tǒng)轉(zhuǎn)換后就得到如下關(guān)系模型:
商業(yè)客戶基本信息表(ID,客戶編號(hào),全稱,簡(jiǎn)稱,行政城市,郵政編碼,客戶地址,送貨地址,聯(lián)系人姓名,電話號(hào)碼,手機(jī)號(hào)碼,傳真,Email,企業(yè)網(wǎng)址,首要聯(lián)系人,客戶開門時(shí)間,客戶打烊時(shí)間,營(yíng)業(yè)執(zhí)照號(hào),組織機(jī)構(gòu)代碼證號(hào),稅務(wù)登記證號(hào),客戶類型,所有權(quán)屬性,所有權(quán)人,備注,審核標(biāo)志,新增日期,新增人,更新日期,更新人);
供貨商合作關(guān)系表(ID,客戶ID,供貨商,客戶自編碼,業(yè)務(wù)人員,客戶合作狀態(tài),開始合作日期,截止合作日期,供貨價(jià)盤表,渠道,區(qū)域,銷售路線,拜訪順序,拜訪模板,備注,審核標(biāo)志,新增日期,新增人,更新日期,更新人);
員工信息資料表(ID,姓名,性別,員工編號(hào),身份證號(hào),出生日期,行政城市,地址,郵編,電話號(hào)碼,手機(jī)號(hào)碼,電子郵件,開始工作日期,截止工作日期,管理片區(qū),職務(wù),在職狀態(tài),所有權(quán)屬性,所有權(quán)人,備注,審核流程,審核標(biāo)志,新增日期,新增人,更新日期,更新人);
商品基本資料表(ID,產(chǎn)品名稱,產(chǎn)品簡(jiǎn)稱,商品編碼(平臺(tái)級(jí)編碼),規(guī)格,整件單位,零售單位,包裝系數(shù),整件商品條碼,零售商品條碼,商品種類,商品品牌,商品類別,段位,整件重量,整件體積,廠家名稱,生產(chǎn)廠商,廠家商品碼,廠家商品ID,標(biāo)準(zhǔn)經(jīng)銷價(jià),標(biāo)準(zhǔn)分銷價(jià),建議零售價(jià),成本價(jià),狀態(tài),保質(zhì)期,所有權(quán)屬性,所有權(quán)人,備注,審核標(biāo)志,新增日期,新增人,更新日期,更新人);
訂貨單信息(ID,訂單號(hào),供貨商,訂購(gòu)商,業(yè)務(wù)員,供貨價(jià)盤表,類別,狀態(tài),折扣金額,優(yōu)惠金額,實(shí)際訂貨金額,要求送達(dá)時(shí)間,要求送達(dá)倉庫,提交時(shí)間,確認(rèn)時(shí)間,關(guān)聯(lián)拜訪記錄,備注,審核標(biāo)志,新增日期,新增人,更新日期,更新人);
發(fā)貨單信息(ID,單號(hào),發(fā)貨商,收貨商,發(fā)貨商倉庫,收貨商倉庫,業(yè)務(wù)員,送貨人,類別,制單模式,狀態(tài),供貨價(jià)盤表,關(guān)聯(lián)訂貨單,折扣金額,優(yōu)惠金額,實(shí)際銷售金額,送貨車輛,預(yù)計(jì)送達(dá)時(shí)間,裝車配貨時(shí)間,發(fā)車時(shí)間,實(shí)際到達(dá)時(shí)間,關(guān)聯(lián)拜訪記錄,備注,審核標(biāo)志,新增日期,新增人,更新日期,更新人);
實(shí)時(shí)庫存表(ID,倉庫,商品,批號(hào),生產(chǎn)日期,數(shù)量,價(jià)格,最后更新時(shí)間,新增日期,備注);
4.3.3 物理設(shè)計(jì)
物理設(shè)計(jì)指的是根據(jù)數(shù)據(jù)庫的邏輯結(jié)構(gòu)來選定RDBMS,并設(shè)計(jì)和實(shí)施數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)、存取方式等。本系統(tǒng)采用SQL Server數(shù)據(jù)庫,根據(jù)以上的分析選取了主要的幾張表展示,表之間的關(guān)系如圖3-5所示
圖3-5數(shù)據(jù)庫表關(guān)系圖
4.4 本章小結(jié)
本章節(jié)作為全文比較重要的一個(gè)章節(jié),具體介紹了進(jìn)銷存管理系統(tǒng)的需求分析,其中包括了功能性需求分析和非功能性需求分析,分別從概念、邏輯、物理這三方面進(jìn)行了說明。
五、系統(tǒng)實(shí)現(xiàn)
5.1 系統(tǒng)開發(fā)環(huán)境的選擇
本系統(tǒng)的開發(fā)是基于.NET平臺(tái),以VS2012為開發(fā)環(huán)境,將C#作為主要開發(fā)語言,SQL SERVER為數(shù)據(jù)庫軟件。
5.2 系統(tǒng)通用方法的實(shí)現(xiàn)
本系統(tǒng)是進(jìn)銷存管理系統(tǒng),系統(tǒng)重心在下單及庫存判斷上,但是作為一個(gè)應(yīng)用型系統(tǒng),其他功能模塊也是必不可少的。系統(tǒng)實(shí)現(xiàn)過程中運(yùn)用了大量的ASP.NET控件,例如AJAX、GridView、DataList等。在本節(jié)中將介紹通用模塊的實(shí)現(xiàn)方法。
5.2.1 連接數(shù)據(jù)庫
在一個(gè)系統(tǒng)中,數(shù)據(jù)庫的連接可以說是核心部分,至關(guān)重要。在本系統(tǒng)中,通過web.config文件增加數(shù)據(jù)庫連接字符串[9],主要代碼如下:
<connectionStrings><addname="VolunteerConnection"connectionString="Data Source=UGYRPLW5EAMIHEB;Initial Catalog=Volunteer;Persist Security Info=True;User ID=sa;Password=123456"providerName="System.Data.SqlClient"/></connectionStrings>并在App_Code文件夾中添加數(shù)據(jù)庫連接方法connet(),在后續(xù)的系統(tǒng)功能程序編寫中,全部通過調(diào)用該方法來實(shí)現(xiàn)數(shù)據(jù)庫的連接,主要代碼如下:
privatestaticstring connectString = ConfigurationManager.ConnectionStrings["VolunteerConnection"].ConnectionString; publicstaticSqlConnection Connect() {SqlConnection con = newSqlConnection(connectString); return con;}5.2.2 數(shù)據(jù)的綁定顯示
作為一個(gè)數(shù)據(jù)管理系統(tǒng),需要將系統(tǒng)中的部分?jǐn)?shù)據(jù)展示出來,因此,數(shù)據(jù)的顯示操作也是十分重要的[10]。在本系統(tǒng)中,數(shù)據(jù)的顯示主要使用了DataList和GridView控件,控件類型的不同導(dǎo)致了這兩種控件在使用方法上的差異。在DataList控件中,本文主要采用了DataSet方法來填充數(shù)據(jù),該方法處理脫機(jī)數(shù)據(jù),在多層應(yīng)用程序中很有用,并且可以在任何時(shí)候查看DataSet中任意行的內(nèi)容,允許修改查詢結(jié)果的方法,還可以處理分級(jí)數(shù)據(jù)。在本系統(tǒng)中,該方法被用于每一個(gè)信息展示頁面,例如訂單列表頁面,采購(gòu)單列表頁面,產(chǎn)品列表頁面等,主要代碼如下:
SqlDataAdapter sqlda = newSqlDataAdapter(sqlstr, sqlconn); DataSet ds = newDataSet(); sqlda.Fill(ds, "dtxx");GridView控件主要使用在系統(tǒng)管理員模塊中,通過該控件自帶的分頁排序功能,可以使得管理員的操作更加簡(jiǎn)便快捷。GridView控件主要是通過使用SqlDataSource數(shù)據(jù)源控件來連接數(shù)據(jù)庫的,所以在此不再累贅。
5.2.3 分頁欄
DataList控件本身并不帶有分頁功能,為實(shí)現(xiàn)在使用DataList控件時(shí)也能方便分頁,本系統(tǒng)使用了PagedDataSource數(shù)據(jù)源方法來綁定DataList控件,使其也能像GridView控件一樣實(shí)現(xiàn)分頁[11]。該方法主要通過PagedDataSource和DataSet方法相結(jié)合使用,主要代碼如下:
DataSet ds = newDataSet(); sqlda.Fill(ds, "dtxx"); PagedDataSource pds = newPagedDataSource(); pds.DataSource = ds.Tables["dtxx"].DefaultView; this.DataList1.DataSource = pds; this.DataList1.DataBind();5.2.4 頁面局部刷新和跳轉(zhuǎn)
在本系統(tǒng)中,因?yàn)闋可娴酱罅繑?shù)據(jù)的分頁方法,勢(shì)必會(huì)造成在頁面刷新過程中的卡頓和不流暢現(xiàn)象,為解決這一問題,本系統(tǒng)還使用了AJAX控件,來實(shí)現(xiàn)頁面的局部刷新方法[12]。因?yàn)锳JAX是開發(fā)環(huán)境中自帶的一款封裝的控件,所以在使用上也是非常方便的,主要代碼如下:
<asp:ScriptManagerID="ScriptManager1"runat="server"> </asp:ScriptManager> <asp:UpdatePanelID="UpdatePanel1"runat="server"> <ContentTemplate>…… </ContentTemplate> </asp:UpdatePanel>在AJAX控件中,無法使用Response.Write(“”)方法進(jìn)行頁面信息框的彈出提示已經(jīng)頁面的跳轉(zhuǎn),所以AJAX也有自己自身的一種提示方法,主要代碼如下:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "click", "alert('已完成下單!');location.replace('dygl.aspx');", true) [13];5.3 系統(tǒng)主要功能的實(shí)現(xiàn)
如上節(jié)所述,本系統(tǒng)是進(jìn)銷存管理系統(tǒng),訂單模塊是本系統(tǒng)的主要模塊,該模塊實(shí)現(xiàn)了下單和查詢功能,以及后續(xù)的一些統(tǒng)計(jì)功能[14]。
本系統(tǒng)實(shí)現(xiàn)的功能主要由兩部分組成,即訂單和庫存這兩個(gè)模塊的功能。進(jìn)入本系統(tǒng)時(shí)需要登錄,進(jìn)入系統(tǒng)會(huì)自動(dòng)根據(jù)身份出現(xiàn)可瀏覽模塊。界面如圖4-1和4-2所示:
圖4-1系統(tǒng)主頁
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-GVxJEgC8-1675735072317)(https://www.writebug.com/myres/static/uploads/2022/5/24/05fb492ab1b74195c8d48dbd5392b61d.writebug)]
圖4-2 訂單模塊
5.3.1 系統(tǒng)管理員功能
系統(tǒng)管理員是由系統(tǒng)開發(fā)者或者系統(tǒng)購(gòu)買者直接指定的,不需要注冊(cè),系統(tǒng)管理員的信息直接由開發(fā)人員寫進(jìn)數(shù)據(jù)庫中。但是要注意的是,系統(tǒng)管理員的選擇應(yīng)該慎重[15]。在本項(xiàng)目中系統(tǒng)管理員除了可以修改自己的個(gè)人信息之外,還有以下眾多主要功能:
基礎(chǔ)資料管理:企業(yè)員工注冊(cè)客戶成功之后就無法自行修改,如果注冊(cè)時(shí)用戶信息填寫錯(cuò)誤,用戶可以向管理員線下提起申請(qǐng),管理員通過用戶信息管理界面進(jìn)行用戶信息的修改。系統(tǒng)管理員也可以在該功能模塊進(jìn)行用戶權(quán)限的修改。該頁面主要使用GridView控件實(shí)現(xiàn),在一定程度上節(jié)省了開發(fā)難度和開發(fā)時(shí)間,同時(shí)使用代碼和textbox控件,可以通過關(guān)鍵字搜索用戶信息,方便管理員對(duì)用戶信息的維護(hù)。基礎(chǔ)資料頁面都提供對(duì)各類信息的檢索方式,如客戶界面的關(guān)鍵字會(huì)在后臺(tái)自動(dòng)匹配客戶的名稱,編碼,簡(jiǎn)稱等屬性,而新增日期的時(shí)間段則會(huì)自動(dòng)篩選所有符合錄入時(shí)間的客戶,合作狀態(tài)可選取一種狀態(tài),也可選擇所有狀態(tài)下的客戶。界面如圖4-3所示:
圖4-3 基礎(chǔ)資料管理
商品信息管理:本系統(tǒng)提供了商品管理這一模塊,具有商品操作權(quán)限的用戶可以自行為企業(yè)添加商品,并為產(chǎn)品設(shè)定不同類別。每個(gè)產(chǎn)品都可以歸屬于一個(gè)類別,可通過類別對(duì)產(chǎn)品進(jìn)行篩選。界面如圖4-4所示:
圖4-4 商品信息管理
采購(gòu)管理:企業(yè)作為盈利組織,勢(shì)必要投入一部分成本,而成本的一個(gè)重要組成部分便是銷售產(chǎn)品的采購(gòu)。本系統(tǒng)提供企業(yè)對(duì)產(chǎn)品的采購(gòu)功能,采購(gòu)數(shù)據(jù)會(huì)納入企業(yè)進(jìn)銷存體系,作為庫存盤點(diǎn)的數(shù)據(jù)來源。錄入采購(gòu)單據(jù)時(shí)刻選擇企業(yè)自身錄入的供貨商,選擇企業(yè)的一個(gè)倉庫作為入庫倉庫,已完成的采購(gòu)單管理員可在后臺(tái)予以確認(rèn),采購(gòu)單據(jù)頁面會(huì)自動(dòng)羅列出所有的采購(gòu)商品和采購(gòu)的總金額,界面如圖4-5所示:
圖4-5 采購(gòu)管理
訂單管理:企業(yè)要實(shí)現(xiàn)盈利就必須有銷量,在實(shí)際業(yè)務(wù)過程中業(yè)務(wù)代表承擔(dān)了銷售的大部分責(zé)任。對(duì)于小規(guī)模客戶業(yè)務(wù)代表可跟車進(jìn)行車銷現(xiàn)款現(xiàn)貨交易,對(duì)于大客戶業(yè)務(wù)代表則可通過拜訪客戶下預(yù)售訂單的模式銷貨,預(yù)售單在管理員審核通過后可進(jìn)行派單。訂單頁面與采購(gòu)單頁面相似,不同的是企業(yè)自身已作為供應(yīng)商,而訂購(gòu)上則是企業(yè)客戶。訂單頁面會(huì)顯示下單的業(yè)務(wù)員和銷售類型及各類采購(gòu)產(chǎn)品明細(xì),界面如圖4-6所示:
圖4-6 動(dòng)態(tài)信息審核
庫存管理:系統(tǒng)管理員可以在該模塊中查看現(xiàn)有個(gè)庫存中各產(chǎn)品的數(shù)量,也可在各倉庫之間進(jìn)行調(diào)撥操作并按期對(duì)倉庫進(jìn)行盤點(diǎn)。界面圖如圖4-7所示:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-ZafBjBYl-1675735072320)(https://www.writebug.com/myres/static/uploads/2022/5/24/f49ff8215df6ed996b1ff38b7c0fc21c.writebug)]
圖4-7庫存界面
庫存盤點(diǎn)是系統(tǒng)的一個(gè)重點(diǎn)功能,用戶可在新增盤點(diǎn)單的界面選擇需要盤點(diǎn)的倉庫,此時(shí)界面會(huì)以GridView的形式羅列出所有在售產(chǎn)品的現(xiàn)有庫存量,并提供一個(gè)下拉列表選擇盤盈或者盤虧并以文本框形式輸入數(shù)量。對(duì)于每一個(gè)產(chǎn)品的庫存,對(duì)應(yīng)于后臺(tái)PBM_DeliveryDetail數(shù)據(jù)表中的一行數(shù)據(jù),在保存時(shí)循環(huán)GridView的每一行在PBM_DeliveryDetail中插入數(shù)據(jù)。
價(jià)表管理:價(jià)表是進(jìn)銷存管理系統(tǒng)的基礎(chǔ),決定了系統(tǒng)的復(fù)雜程度。本系統(tǒng)允許多張報(bào)表同時(shí)存在,默認(rèn)設(shè)置第一張價(jià)表為主價(jià)表。管理員可新增自定義價(jià)表關(guān)聯(lián)渠道或客戶類型,也可同時(shí)與渠道和客戶類型綁定。價(jià)表界面圖如4-8所示:
圖4-8 價(jià)表管理界面
在價(jià)表管理頁面用戶可看到當(dāng)前價(jià)表關(guān)聯(lián)的區(qū)域和取到以及是否為默認(rèn)價(jià)表。用戶可根據(jù)商品分類或關(guān)鍵字查找在價(jià)表中或不在價(jià)表中的商品,以審核的價(jià)表,對(duì)于不需要再出現(xiàn)在價(jià)表中的產(chǎn)品允許用戶進(jìn)行批量刪除,同時(shí)不在價(jià)表中的產(chǎn)品也可添加到價(jià)表并自定義價(jià)格。
5.3.2 業(yè)務(wù)代表功能
圖4-9 業(yè)務(wù)代表流程圖
如圖4-9所示,為業(yè)務(wù)代表操作流程圖。業(yè)務(wù)代表由管理員注冊(cè)并分配賬號(hào)后方可登陸系統(tǒng),主要進(jìn)行下車銷單和預(yù)售訂單操作。具體操作在手機(jī)端完成。用戶具體功能如圖4-10所示:
圖4-10 業(yè)務(wù)代表功能界面
1.客戶信息管理:客戶信息管理又分為以下幾個(gè)功能
客戶信息新增——業(yè)務(wù)代表可根據(jù)實(shí)際新增自己管轄范圍內(nèi)的新客戶,如果需要修改某些自己無權(quán)修改的信息時(shí),可以向管理員申請(qǐng)修改。該模塊通過手機(jī)APP的形式展現(xiàn)。如圖4-11所示:
客戶拜訪管理——業(yè)務(wù)代表在自己管轄的片區(qū)內(nèi)可按照預(yù)定線路拜訪客戶,為提高拜訪真實(shí)性系統(tǒng)提供對(duì)客戶門頭拍照功能。如圖4-12所示:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-f8fepNgz-1675735072322)(https://www.writebug.com/myres/static/uploads/2022/5/24/9a1bdf68d174d689a961df32fef53055.writebug)]
? 圖4-11客戶信息新增 圖4-12拜訪拍照
2.訂單管理:業(yè)務(wù)代表對(duì)自己線路下的客戶有下單權(quán)限,具體功能如下:
車銷訂單—業(yè)務(wù)代表在隨車拜訪客戶時(shí)可幫助客戶下車銷單。該模塊位于手機(jī)APP上,如圖4-13所示:
預(yù)售訂單—業(yè)務(wù)代表在自己管轄區(qū)域內(nèi)拜訪大客戶時(shí)可幫助客戶下預(yù)售單。該模塊位于手機(jī)APP上,界面如圖4-14所示:
? 圖4-13車銷訂單 圖4-14預(yù)售訂單
訂單查詢——業(yè)務(wù)代表在APP下單后可在PC端對(duì)自己的下單詳情查看。界面如圖4-15所示:
圖4-14訂單查詢
5.4 本章小結(jié)
本章主要描述了本系統(tǒng)的各個(gè)模塊的功能實(shí)現(xiàn),通過文字?jǐn)⑹龊徒貓D的方式展現(xiàn)了本系統(tǒng)的功能模塊,分別從系統(tǒng)管理員和業(yè)務(wù)代表的角度介紹了本系統(tǒng)的功能。
、總結(jié)與展望
6.1 總結(jié)
在信息化建設(shè)日益普遍的今天,信息系統(tǒng)的使用以及愈加廣泛,為了優(yōu)化進(jìn)銷存的管理,本文在了解了各種進(jìn)銷存管理系統(tǒng)之后,開發(fā)設(shè)計(jì)了進(jìn)銷存管理系統(tǒng),并做出如下介紹。
本文的第一章著重介紹了進(jìn)銷存管理系統(tǒng)這一課題的背景和意義,以及它的研究目的,同時(shí)也介紹了本文的內(nèi)容結(jié)構(gòu)。第二章著重介紹了本系統(tǒng)的一些相關(guān)的技術(shù)概念,比如ASP.NET技術(shù),SQL數(shù)據(jù)庫等。第三章是本文的一個(gè)重點(diǎn),主要內(nèi)容是需求分析以及數(shù)據(jù)庫的設(shè)計(jì)等。第四章詳細(xì)介紹了本系統(tǒng)的一些功能的實(shí)現(xiàn)。
本系統(tǒng)的重點(diǎn)在于管理員對(duì)商品的管理,業(yè)務(wù)代表下單和庫存管理等;難點(diǎn)是針對(duì)不同區(qū)域和渠道設(shè)定不同的產(chǎn)品價(jià)格,創(chuàng)新點(diǎn)有系統(tǒng)權(quán)限的分配,對(duì)財(cái)務(wù)管理的納入等。
經(jīng)過這段時(shí)間的學(xué)習(xí)和實(shí)踐,我對(duì)課堂掌握的知識(shí)有了一個(gè)更好地鞏固,對(duì)不理解和不熟練的一些方面也有了一個(gè)更清晰的概念,比如C#語言的應(yīng)用,SQL Server數(shù)據(jù)庫的應(yīng)用,以及DIV+CSS的網(wǎng)頁布局等方面。
6.2 展望
當(dāng)然,由于技術(shù)方面的因素,本系統(tǒng)的許多方面還存在不足,比如:
前期的數(shù)據(jù)庫設(shè)計(jì)問題,導(dǎo)致在系統(tǒng)開發(fā)過程中需要不斷修改數(shù)據(jù)庫設(shè)計(jì),使得數(shù)據(jù)庫的設(shè)計(jì)不是十分規(guī)范。
目前本系統(tǒng)只采用了B/S架構(gòu)進(jìn)行開發(fā),并沒有結(jié)合C/S架構(gòu)。
由于技術(shù)和設(shè)備問題,本系統(tǒng)無法自動(dòng)提示用戶相關(guān)的信息動(dòng)態(tài),只能是讓用戶經(jīng)常登錄自己進(jìn)行查詢。
除此之外,由于目前手機(jī)應(yīng)用日益發(fā)達(dá),開發(fā)手機(jī)APP勢(shì)在必行,但由于時(shí)間和技術(shù)問題APP開發(fā)暫時(shí)只能落于紙上。
?? 資源
大小: 85.6MB
?? 資源下載:https://download.csdn.net/download/s1t16/87354534
總結(jié)
以上是生活随笔為你收集整理的基于ASP.NET+SQL Server实现(Web)企业进销存管理系统【100010296】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OSWatcher的安装使用
- 下一篇: 设计模式及其应用场景