|
|
《面向?qū)ο蠹夹g(shù)》課程設(shè)計(jì)報告
目錄
1 緒論 1
1.1 問題描述 1
1.2 課題背景 1
1.3 研究目的 1
1.4 課題研究的意義 2
1.5 章節(jié)安排 2
2 系統(tǒng)分析 3
2.1 需求分析 3
2.2 可行性分析 3
2.2.1 技術(shù)可行性 3
2.2.2 經(jīng)濟(jì)可行性 3
2.2.3 社會可行性 3
2.3 系統(tǒng)開發(fā)工具 4
2.3.1 Visual Studio.NET平臺簡介 4
2.3.2 C#語言簡介 5
2.3.3 SQL Server 2008簡介 6
2.4 管理信息系統(tǒng)邏輯模型設(shè)計(jì) 7
2.4.1 數(shù)據(jù)流程圖 7
2.4.2 數(shù)據(jù)字典 9
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 11
3.1 項(xiàng)目規(guī)劃 11
3.2 設(shè)計(jì)目標(biāo) 11
3.3 開發(fā)及運(yùn)行環(huán)境 12
3.4 數(shù)據(jù)庫設(shè)計(jì) 12
3.4.1 數(shù)據(jù)表概要說明 12
3.4.2 數(shù)據(jù)庫E-R圖分析 12
3.4.3 主要數(shù)據(jù)表的結(jié)構(gòu) 13
3.5 系統(tǒng)的主要功能模塊設(shè)計(jì) 15
3.5.1 系統(tǒng)登錄設(shè)計(jì) 15
3.5.2 系統(tǒng)主窗體設(shè)計(jì) 17
3.5.3 基本檔案管理窗體設(shè)計(jì) 22
3.5.4 進(jìn)貨管理窗體設(shè)計(jì) 22
3.5.5 銷售管理窗體設(shè)計(jì) 22
3.5.6庫存管理窗體設(shè)計(jì) 23
3.5.7數(shù)據(jù)備份還原管理窗體設(shè)計(jì) 24
3.6 系統(tǒng)的(硬件)系統(tǒng)結(jié)構(gòu)與處理方式設(shè)計(jì) 29
3.6.1 系統(tǒng)處理方式 29
3.6.2 系統(tǒng)硬件配置 29
3.6.3軟件配置 29
3.7 系統(tǒng)的處理與流程分析 29
3.7.1 系統(tǒng)業(yè)務(wù)流程分析 29
4 總結(jié) 30
參考文獻(xiàn) 31
摘要
隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)應(yīng)用的高速發(fā)展,大大提高了人們的工作效率。計(jì)算機(jī)信息處理技術(shù)的普及已徹底改變了許多公司的經(jīng)營管理,甚至一些個體店主也開始運(yùn)用計(jì)算機(jī)來控制進(jìn)貨、銷售、記賬以及其他活動。銷售管理系統(tǒng)是企業(yè)管理機(jī)制中的重要組成部分,通過對企業(yè)銷售管理系統(tǒng)的銷售管理機(jī)制進(jìn)行調(diào)查研究,開發(fā)了本銷售管理系統(tǒng)。系統(tǒng)中解決了企業(yè)管理事務(wù)中的進(jìn)貨、銷售、存貨等情況的問題以及相關(guān)統(tǒng)計(jì)工作。本系統(tǒng)中包含六個功能模塊:系統(tǒng)管理、人員管理、后臺管理、前臺銷售、報表統(tǒng)計(jì)和幫助。
關(guān)鍵詞:超市;管理信息系統(tǒng);數(shù)據(jù)庫技術(shù);進(jìn)銷存。
1 緒論1.1 問題描述
隨著超市規(guī)模的發(fā)展不斷擴(kuò)大,商品數(shù)量急劇增加,有關(guān)商品的各種信息量也成倍增長。超市時時刻刻都需要對商品各種信息進(jìn)行統(tǒng)計(jì)分析。而大型的超市進(jìn)銷存管理系統(tǒng)功能過于強(qiáng)大而造成操作繁瑣降低了小超市的工作效率。
作為國內(nèi)市場的一些中小型超市,它們在信息化過程中的步伐要落后于大型超市,而對于這些企業(yè)的資源管理,信息的存儲和處理也顯得迫切需要,要適應(yīng)市場競爭,就需要有高效的處理方式和管理方法。
1.2 課題背景
目前,大量的中小超市企業(yè)中,存在這樣的現(xiàn)象:分散的、不連貫的進(jìn)銷存信息使超市管理者或相關(guān)管理人員無法看到進(jìn)銷存的全部資料及相關(guān)報表,信息的分散使得產(chǎn)生的結(jié)果也無法保持一致和完整性,造成中小型超市在進(jìn)銷存管理上存在許多問題,比如:無法統(tǒng)計(jì)銷售信息,無法準(zhǔn)確全面掌握各業(yè)務(wù)進(jìn)展?fàn)顟B(tài),對銷售人員工作過程掌握不夠,業(yè)務(wù)人員對產(chǎn)品沒有一定認(rèn)識,對市場信息、競爭的資訊掌握程度較不完善等等。加之,現(xiàn)在顧客的期望值越來越高,顧客需要更好的服務(wù)。企業(yè)的競爭已逐漸從產(chǎn)品的競爭轉(zhuǎn)變?yōu)榉⻊?wù)的競爭,因此中小企業(yè)要發(fā)展就必須需要進(jìn)一步優(yōu)化業(yè)務(wù)流程以提高企業(yè)競爭能力。因此,加強(qiáng)超市進(jìn)銷存管理是企業(yè)發(fā)展的必然,通過計(jì)算機(jī)來大量完成本來由工作人員手工完成的工作, 真正達(dá)到合理和充分利用現(xiàn)有資源,減輕工作壓力。
1.3 研究目的
設(shè)計(jì)超市進(jìn)銷存管理系統(tǒng)的目的:用最簡單的操作完成最繁瑣的細(xì)節(jié),從繁重的腦力勞動脫離出來,由軟件統(tǒng)一管理。進(jìn)銷存的管理,使人一目了然。
(1)大大提高超市的運(yùn)作效率。
(2)通過全面的信息采集和處理,輔助提高超市的決策水平。
(3)使用本系統(tǒng),可以迅速提升超市的管理水平,為降低經(jīng)營成本,提高效益,增強(qiáng)超市擴(kuò)張能力,提供有效的技術(shù)保障。
1.4 課題研究的意義
超市的競爭也進(jìn)入到了一個全新的領(lǐng)域,競爭已不再是規(guī)模的競爭,而是技術(shù)的競爭、管理的競爭。技術(shù)的提升和管理的升級是超市的競爭核心。零售領(lǐng)域目前呈多元發(fā)展趨勢,多種業(yè)態(tài):超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互并存。如何在激烈的競爭中擴(kuò)大銷售額、降低經(jīng)營成本、擴(kuò)大經(jīng)營規(guī)模,成為超市努力追求的目標(biāo)。超市是當(dāng)前最為流行的市場模式,所以與之相關(guān)的管理和配置的需求與要求都大大提高了。當(dāng)今社會,超市已成為社會不可缺少的一部分,不論大中小城市,都存在或大或小或多或少的超市。對于一個稍有規(guī)模的超市,都需要一個超市管理系統(tǒng),進(jìn)行規(guī)范化管理。因此超市管理系統(tǒng)的開發(fā),顯得十分有必要。超市規(guī)模的發(fā)展和不斷擴(kuò)大,商品數(shù)量急劇增加有關(guān)商品的各種信息量也成倍增長。超市在時時刻刻都需要對商品各種信息進(jìn)行統(tǒng)計(jì)分析,如每天的報表、月報表、年報表管理等。根據(jù)大量的調(diào)查和研究主要著眼于該系統(tǒng)的分析與設(shè)計(jì),開發(fā)出一個高效、可靠、易于維護(hù),同時又能盡量滿足用戶業(yè)務(wù)需求的系統(tǒng)。能及時、準(zhǔn)確反映超市經(jīng)濟(jì)活動狀態(tài),成為超市內(nèi)各級管理人員的有力工具,支持他們進(jìn)行科學(xué)化經(jīng)營管理,使企業(yè)獲得良好的經(jīng)濟(jì)效益和社會效益。
1.5 章節(jié)安排
第一章:問題描述、課題背景、研究目的、課題研究意義、章節(jié)安排。
第二章:需求分析、可行性分析、開發(fā)工具選擇、開發(fā)及運(yùn)行環(huán)境、管理信息系統(tǒng)邏輯模型設(shè)計(jì)。
第三章:項(xiàng)目規(guī)劃、設(shè)計(jì)目標(biāo)、開發(fā)及運(yùn)行環(huán)境、開發(fā)工具選擇、數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)的主要功能模塊設(shè)計(jì)、系統(tǒng)的(硬件)系統(tǒng)結(jié)構(gòu)與處理方式設(shè)計(jì)、系統(tǒng)的處理流程設(shè)計(jì)。
第四章:結(jié)論、參考文獻(xiàn)。
2 系統(tǒng)分析
進(jìn)銷存管理是企業(yè)日常經(jīng)營管理中十分重要的一個組成部分,傳統(tǒng)的手工管理方式呈現(xiàn)出越來越多的弊端。在手工管理模式下,統(tǒng)計(jì),匯總處理時的工作量極其繁重,處理效率非常低,領(lǐng)導(dǎo)也無法及時了解企業(yè)資金占用的實(shí)際狀況。通過報表管理,企業(yè)可以直觀分析企業(yè)的進(jìn)銷存情況,提高企業(yè)的競爭能力。
2.1 需求分析
超市進(jìn)銷存系統(tǒng)必須提供顧客信息、廠家信息、采購信息、銷售信息、庫存信息和財(cái)務(wù)信息的基礎(chǔ)設(shè)計(jì):提供強(qiáng)大的精確查找和模糊查找信息的功能,可以分不同權(quán)限、不同用戶對該系統(tǒng)進(jìn)行操作。另外,該系統(tǒng)還必須保證數(shù)據(jù)的安全性、完整性和準(zhǔn)確性。 超市進(jìn)銷存管理系統(tǒng)的目標(biāo)是實(shí)現(xiàn)超市信息化管理,減少盲目采購、降低采購成本、合理控制庫存、減少資金占用并提升超市綜合競爭力。時間就是金錢,效率就是生命。超市進(jìn)銷存管理系統(tǒng)能夠?yàn)槌泄?jié)省大量人力資源,減少管理費(fèi)用,從而間接為超市節(jié)約成本,提高超市效率。
2.2 可行性分析2.2.1 技術(shù)可行性
該超市進(jìn)銷存系統(tǒng)運(yùn)用的開發(fā)工具有:編程工具visual studio 2008,數(shù)據(jù)庫SQL Server2008等,它可以很好的把超市進(jìn)銷存系統(tǒng)中的各個功能很好的設(shè)計(jì)出來,由于該系統(tǒng)設(shè)計(jì)簡單,使用方便,用戶無需繁瑣操作,因此在用戶使用上是不會存在問題的。開發(fā)上本系統(tǒng)用C#高級編程語言來實(shí)現(xiàn),用SQL Server 2008進(jìn)行數(shù)據(jù)庫設(shè)計(jì),因此,本系統(tǒng)在技術(shù)上是可行的。
2.2.2 經(jīng)濟(jì)可行性
采用計(jì)算機(jī)管理不但可以提高工作效率,而且還可以節(jié)省人力、物力、財(cái)力,這樣原來幾個人干的工作現(xiàn)在一個人就完全可以勝任。因此單從節(jié)省的職工工資、提高工作效率而避免各種直接或間接的經(jīng)濟(jì)損失角度來看,該系統(tǒng)實(shí)際所能夠起到的作用將會遠(yuǎn)遠(yuǎn)大于投入的開發(fā)費(fèi)用,所以從經(jīng)濟(jì)上是完全可行的。
2.2.3 社會可行性
目前超市管理系統(tǒng)已經(jīng)在大型的超市中得到了廣泛的應(yīng)用,超市管理需要現(xiàn)代化和信息化,只有合理的運(yùn)用信息化的管理,才能在市場競爭中立于不敗。超市管理系統(tǒng)不僅能夠提高經(jīng)營者的回報,而且能夠隨時掌握市場的動向,為經(jīng)營者提供必要的市場信息,解決了經(jīng)營者最需要解決的問題,同時超市管理系統(tǒng)對操作人員的要求不高,也合理的節(jié)約了成本的投入。本系統(tǒng)操作方便靈活,便于學(xué)習(xí),因此,該系統(tǒng)具有可行性。綜上所述,本系統(tǒng)的開發(fā)是完全可行的。
2.3 系統(tǒng)開發(fā)工具
本系統(tǒng)前臺數(shù)據(jù)庫采用Microsoft SQL Server 2008,該數(shù)據(jù)庫系統(tǒng)在安全性、準(zhǔn)確性、運(yùn)行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大、效率高;后臺選擇以.NET平臺作為開發(fā)平臺,以C#作為開發(fā)語言,采用Visual Studio 2008作為主要的開發(fā)工具,可與SQL Server 2008數(shù)據(jù)庫無縫連接。
2.3.1 Visual Studio.NET平臺簡介
Visual Studio .NET 是一套完整的開發(fā)工具,用于生成 ASP Web 應(yīng)用程序、XML Web services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成開發(fā)環(huán)境 (IDE),該環(huán)境允許它們共享工具并有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,此框架提供對簡化 ASP Web 應(yīng)用程序和 XML Web services 開發(fā)的關(guān)鍵技術(shù)的訪問。
Visual Studio .NET 集成開發(fā)環(huán)境現(xiàn)在包括開發(fā)智能設(shè)備(如 Pocket PC)應(yīng)用程序的工具。通過使用這些工具和 .NET Framework 精簡版(.NET Framework 的子集),您可以在個人數(shù)字助理 (PDA)、移動電話和其他資源受約束的設(shè)備中,創(chuàng)建、生成、調(diào)試和部署在 .NET Framework 精簡版上運(yùn)行的應(yīng)用程序。
ASP.NET 移動設(shè)計(jì)器擴(kuò)展了 ASP.NET 和 .NET Framework,可用來生成移動電話、PDA 和尋呼機(jī)的 Web 應(yīng)用程序。此設(shè)計(jì)器集成在 Visual Studio IDE 中。您可以創(chuàng)建移動 Web 應(yīng)用程序,使用移動設(shè)計(jì)器修改移動 Web 窗體,然后生成和運(yùn)行該應(yīng)用程序(所有這些操作都是在 Visual Studio 中完成的)。
Web 窗體是用于創(chuàng)建可編程 Web 頁的 ASP.NET 技術(shù)。Web 窗體將自己呈現(xiàn)為瀏覽器兼容的 HTML 和腳本,這使任何平臺上的任何瀏覽器都可以查看 Web 頁。使用 Web 窗體,通過將控件拖放到設(shè)計(jì)器上然后添加代碼來創(chuàng)建 Web 頁,與創(chuàng)建 Visual Basic 窗體的方法相似。
Windows 窗體是用于 Microsoft Windows 應(yīng)用程序開發(fā)的、基于 .NET Framework 的新平臺。此框架提供一個有條理的、面向?qū)ο蟮摹⒖蓴U(kuò)展的類集,使您能夠開發(fā)功能豐富的 Windows 應(yīng)用程序。另外,Windows 窗體可作為多層分布式解決方案中的本地用戶界面。
XML Web services 是可以通過 HTTP 使用 XML 接收請求和數(shù)據(jù)的應(yīng)用程序。XML Web services 不受特定組件技術(shù)或?qū)ο笳{(diào)用約定的制約,因此可由任何語言、組件模型或操作系統(tǒng)訪問。在 Visual Studio .NET 中,可以使用 Visual Basic、Visual C#、JScript、C++ 的托管擴(kuò)展或 ATL Server 快速創(chuàng)建和包含 XML Web services。
可擴(kuò)展標(biāo)記語言 (XML) 提供描述結(jié)構(gòu)數(shù)據(jù)的方法。XML 是 SGML 的子集,非常適合在 Web 上傳送。萬維網(wǎng)聯(lián)合會 (W3C) 定義了 XML 標(biāo)準(zhǔn)以使結(jié)構(gòu)化數(shù)據(jù)保持統(tǒng)一并獨(dú)立于應(yīng)用程序。Visual Studio .NET 完全支持 XML,提供了 XML 設(shè)計(jì)器以使編輯 XML 和創(chuàng)建 XML 架構(gòu)更容易。
2.3.2 C#語言簡介
C#編程語言是由微軟公司的Anders Hejlsberg和 Scott Willamette領(lǐng)導(dǎo)的開發(fā)小組專門為.NET平臺設(shè)計(jì)的語言,它可以使程序員移植到.NET上。這種移植對于廣大的程序員來說是比較容易的,因?yàn)镃#從C,C++和Java發(fā)展而來,它采用了這三種語言最優(yōu)秀的特點(diǎn),并加入了它自己的特性。C#是事件的驅(qū)動的,完全面向?qū)ο蟮目梢暬幊陶Z言,我們可以使用集成開發(fā)環(huán)境來編寫C#程序。使用IDE,程序員可以方便的建立,運(yùn)行,測試和調(diào)試C#程序,這就將開發(fā)一個可用程序的時間減少到不用IDE開發(fā)時所用時間的一小部分。使用IDE迅速建立一個應(yīng)用程序的過程稱為快速反映開發(fā)。
C#2.0特性有以下幾條:
(1)泛型:在我看來,泛型就是通過將數(shù)據(jù)類型參數(shù)化從而實(shí)現(xiàn)了代碼的更為靈活的復(fù)用,泛型的出現(xiàn)使得C#能夠使用同一段代碼來操作多種數(shù)據(jù)類型。泛型無疑是C#2.0最重大的改進(jìn),它的出現(xiàn)賦予了C#代碼更強(qiáng)的類型安全,更好的復(fù)用,更高的效率和更清晰的約束。
(2)匿名方法:匿名方法允許我們將代碼直接與委托實(shí)例相關(guān)聯(lián),使委托實(shí)例化工作更加直觀和方便。在我看來,這只是C#又多了一種語法格式而已,不再像以前必須將方法名傳給委托實(shí)例,而是又多了一種選擇。
(3)迭代器:迭代器允許我們更加方便的編寫用于foreach語句的類型。在我看來,迭代器的出現(xiàn)只不過是改進(jìn)了1.0中不便的可用foreach語句類型的編寫限制,簡化了一些接口。
(4)局部類型:局部類型允許我們將一個類的代碼分別寫在不同的cs文件中。最典型的應(yīng)用就是使用VS2008創(chuàng)建Form文件時,VS會自動將系統(tǒng)生成的代碼與用戶代碼分開。局部類型通過partial關(guān)鍵字來聲明。
(5)空屬類型:空屬類型是一種像int一樣可以為空的變量類型。本質(zhì)上是一種泛型的應(yīng)用,是System.Nullable的一種類型實(shí)例化。
(6)靜態(tài)類:靜態(tài)類是只用于包含靜態(tài)成員的類型,既不能實(shí)例化,亦不能被繼承。
2.3.3 SQL Server 2008簡介
SQL Server 2008 中包含了非常豐富的新特性:通過提供一個更安全、可靠和高效的數(shù)據(jù)管理平臺,增強(qiáng)企業(yè)組織中用戶的管理能力,大幅提升IT管理效率并降低運(yùn)維風(fēng)險和成本;通過提供先進(jìn)的商業(yè)智能平臺滿足眾多客戶對業(yè)務(wù)的實(shí)時統(tǒng)計(jì)分析、監(jiān)控預(yù)測等多種復(fù)雜管理需求,推動企業(yè)管理信息化建設(shè)和業(yè)務(wù)發(fā)展;同時,SQL Server 2008將提供一個極具擴(kuò)展性和靈活性的開發(fā)平臺,不斷拓展您的應(yīng)用空間,實(shí)現(xiàn)Internet數(shù)據(jù)業(yè)務(wù)互聯(lián),為您帶來新的商業(yè)應(yīng)用機(jī)遇。
由于大大減少了應(yīng)用程序宕機(jī)時間,提高了系統(tǒng)的可伸縮性和性能,并加以更嚴(yán)格的安全控制,SQL Server 2008在支持現(xiàn)實(shí)中最苛刻的企業(yè)級系統(tǒng)要求的道路上,邁出了極大的一步。SQL Server是微軟服務(wù)器家族中重要的一部分,通過微軟服務(wù)器系列產(chǎn)品共有的Engineering strategy所實(shí)現(xiàn)的增強(qiáng)的管理性和集成性,客戶可以有效降低總體擁有成本并從更快的開發(fā)部署時間中受益。
(1)安全、可靠、高效的企業(yè)級數(shù)據(jù)管理平臺
SQL Server 2008 將在安全性、高可靠性、性能、擴(kuò)展性、可管理性方面有極大的提高,不僅能夠確保企業(yè)級數(shù)據(jù)業(yè)務(wù)的實(shí)時穩(wěn)定運(yùn)行、還能夠大大提高管理效率、降低操作復(fù)雜度和運(yùn)維成本。例如,SQL Server 2008將提供全新的安全認(rèn)證、數(shù)據(jù)加密技術(shù)來加強(qiáng)您數(shù)據(jù)系統(tǒng)的安全性;數(shù)據(jù)庫鏡像、快照、時點(diǎn)恢復(fù)、實(shí)時在線管理等諸多功能大大提高了企業(yè)級系統(tǒng)的可靠性、擴(kuò)展性;而數(shù)據(jù)集成,各種自動化管理、調(diào)試和優(yōu)化工具則為您的IT管理工作帶來全新的體驗(yàn)。在硬件方面,SQL Server 2008支持64位運(yùn)算和海量數(shù)據(jù)存儲。
(2)先進(jìn)、一體化的商業(yè)智能平臺
SQL Server 2008使您可以快速構(gòu)建部署各類商業(yè)智能解決方案,為你提供深入的業(yè)務(wù)分析統(tǒng)計(jì)、和監(jiān)控預(yù)測平臺,進(jìn)一步推動企業(yè)的信息化管理和業(yè)務(wù)發(fā)展。SQL Server 2008將提供非常完整的商業(yè)智能套件,包括相關(guān)的數(shù)據(jù)倉庫、數(shù)據(jù)分析、ETL、報表、數(shù)據(jù)挖掘的一系列設(shè)計(jì)、開發(fā)、管理工具。為了滿足客戶日漸增強(qiáng)的實(shí)時BI和企業(yè)級應(yīng)用規(guī)模的需求,SQL Server 2008 在構(gòu)建商業(yè)智能平臺的實(shí)時性、擴(kuò)展性方面也有了質(zhì)的飛躍。全新的數(shù)據(jù)分析工具和豐富的數(shù)據(jù)挖掘算法將幫助客戶有效進(jìn)行深入的業(yè)務(wù)監(jiān)控分析、決策支持;企業(yè)級的ETL工具將支持各種異類數(shù)據(jù)和復(fù)雜數(shù)據(jù)業(yè)務(wù)的整合;面向終端用戶的報表設(shè)計(jì)及管理工具與Office的前端集成能夠提供非常靈活的數(shù)據(jù)展示和自由定制功能。
(3)極具擴(kuò)展性和靈活性的開發(fā)平臺
SQL Server 2008將提供更加強(qiáng)大的開發(fā)工具和各類新的開發(fā)特性,在大大提高開發(fā)效率的同時,將進(jìn)一步拓展您的應(yīng)用空間,帶來新的商業(yè)應(yīng)用機(jī)遇。例如,XML數(shù)據(jù)庫與Web Service的支持將使您的應(yīng)用實(shí)現(xiàn)Internet數(shù)據(jù)互聯(lián),.Net集成極大的擴(kuò)展了開發(fā)空間,異構(gòu)數(shù)據(jù)集成、Service Broker使您的數(shù)據(jù)和其它應(yīng)用無縫集成,各種新數(shù)據(jù)類型和T-SQL擴(kuò)展帶來了諸多靈活性。C#、VB.Net、XQuery、XMLA、ADO.Net 2.0、SMO、AMO等都將成為SQL Server數(shù)據(jù)平臺上開發(fā)數(shù)據(jù)相關(guān)應(yīng)用的有力工具。
2.4 管理信息系統(tǒng)邏輯模型設(shè)計(jì) 2.4.1 數(shù)據(jù)流程圖
本系統(tǒng)采用結(jié)構(gòu)化方法對其進(jìn)行分析與設(shè)計(jì)。得到如圖2-1所示的頂層數(shù)據(jù)流圖和圖2-2所示的第0層數(shù)據(jù)流圖:
圖2-1 頂層數(shù)據(jù)流圖
圖2-2 第0層數(shù)據(jù)流圖
2.4.2 數(shù)據(jù)字典
數(shù)據(jù)字典用于進(jìn)一步定義和描述所有數(shù)據(jù)項(xiàng),主要包括數(shù)據(jù)流字典其形式如表2-1所示、數(shù)據(jù)存儲字典如表2-2所示、數(shù)據(jù)處理字典如表2-1所示:
表2-1主要數(shù)據(jù)流字典清單 | | | | |
所含數(shù)據(jù)結(jié)構(gòu) | | | | | | | | | | | | | | 商品ID、進(jìn)貨公司ID、相關(guān)款項(xiàng) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
表2-2主要數(shù)據(jù)存儲字典清單 表2-3主要數(shù)據(jù)處理字典清單 | | | | | | | | | | | | |
| | | | | 查詢進(jìn)貨信息、采購?fù)素?/div> | |
| | | | | | |
| | | | | | |
|
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)3.1 項(xiàng)目規(guī)劃
進(jìn)銷存管理系統(tǒng)主要由基本檔案管理、進(jìn)貨管理、銷售管理、庫存管理、報表設(shè)計(jì)和系統(tǒng)維護(hù)等模塊組成,具體規(guī)劃如下:
(1)基本檔案管理模塊。基本檔案管理模塊主要用于實(shí)現(xiàn)系統(tǒng)基本數(shù)據(jù)的錄入,相關(guān)基礎(chǔ)數(shù)據(jù)為:內(nèi)部員工信息、往來單位信息、客戶基本信息。
(2)進(jìn)貨管理模塊。該模塊主要用于實(shí)現(xiàn)商品的進(jìn)貨數(shù)據(jù)錄入、退貨數(shù)據(jù)錄入和進(jìn)貨查詢分析。
(3)銷售管理模塊。該模塊主要用于實(shí)現(xiàn)商品的銷售數(shù)據(jù)錄入、客戶退貨數(shù)據(jù)錄入和銷售信息查詢。
(4)庫存管理模塊。庫存管理模塊主要用于實(shí)現(xiàn)庫存調(diào)撥、庫存商品數(shù)量上限報警和庫存數(shù)據(jù)查詢。
(5)系統(tǒng)維護(hù)模塊。系統(tǒng)維護(hù)模塊用于實(shí)現(xiàn)系統(tǒng)用戶設(shè)置、操作權(quán)限設(shè)置、密碼修改、數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)。
3.2 設(shè)計(jì)目標(biāo)
本系統(tǒng)屬于中小型的進(jìn)銷存管理系統(tǒng),可以對中小型超市中商品的進(jìn)銷存進(jìn)行有效管理。通過本系統(tǒng)可以達(dá)到以下目標(biāo)。
(1)系統(tǒng)采用人機(jī)交互方式,信息查詢靈活、方便,數(shù)據(jù)存儲安全可靠;
(2)實(shí)現(xiàn)后臺監(jiān)控功能;
(3)利用報表中圖表分析員工銷售業(yè)績;
(4)實(shí)現(xiàn)各種查詢,如定位查詢、模糊查詢等;
(5)實(shí)現(xiàn)商品進(jìn)貨分析與統(tǒng)計(jì)、銷售分析與統(tǒng)計(jì)、商品銷售成本明細(xì)等功能;
(6)強(qiáng)大的庫存預(yù)警功能,盡可能地減少商家不必要的損失;
(7)對用戶輸入的數(shù)據(jù),進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能避免人為錯誤;
(8)系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。
3.3 開發(fā)及運(yùn)行環(huán)境
(1)系統(tǒng)開發(fā)平臺:Microsoft Visual Studio 2008。
(2)系統(tǒng)開發(fā)語言:C#。
(3)數(shù)據(jù)庫管理系統(tǒng)軟件:SQL Server 2008.
(4)運(yùn)行平臺:Windows 7及以上Windows操作系統(tǒng)
(5)分辨率:最佳效果1024x768像素。
3.4 數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)采用SQL Server 2008作為前臺數(shù)據(jù)庫,數(shù)據(jù)庫名稱為db_CSManage,其中包含以下幾張數(shù)據(jù)表,下面分別介紹。
3.4.1 數(shù)據(jù)表概要說明
本系統(tǒng)后臺數(shù)據(jù)庫中的數(shù)據(jù)表有:tb_Company(公司基本信息表),tb_Custom(客戶基本信息表),tb_JhGoods(商品進(jìn)貨信息表),tb_ReGoods(商品退貨信息表),tb_SellGoods(商品銷售信息表),tb_KCGoods(庫存信息表),tb_User(員工基本信息表)等。
3.4.2 數(shù)據(jù)庫E-R圖分析
根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體主要有商品信息實(shí)體、員工信息實(shí)體、退貨商品實(shí)體、商品銷售實(shí)體、商品庫存實(shí)體和商品調(diào)撥信息實(shí)體。
進(jìn)銷存管理系統(tǒng)中商品信息實(shí)體E-R圖,如圖3-1所示。
圖3-1 商品信息實(shí)體圖
(1)進(jìn)銷存管理系統(tǒng)中員工信息實(shí)體E-R圖,如圖3-2所示。
圖3-2 員工信息實(shí)體圖
(2)進(jìn)銷存管理系統(tǒng)中退貨商品實(shí)體E-R圖,如圖3-3所示。
圖3-3 退貨商品實(shí)體圖
(3)進(jìn)銷存管理系統(tǒng)中商品銷售實(shí)體E-R圖,如圖3-4所示。
圖3-4 商品銷售實(shí)體圖
3.4.3 主要數(shù)據(jù)表的結(jié)構(gòu)
本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)主要涉及到進(jìn)貨商品信息表、庫存商品信息表、退貨商品信息表、銷售商品信息表、員工信息表具體設(shè)計(jì)如表3-5、表3-6、表3-7、表3-8、表3-9所示:
表3-5 tb_JhGoodsInfo(進(jìn)貨商品信息表)
表3-6 tb_KCGoods(庫存商品信息表)
表3-7tb_ThGoodsInfo(退貨商品信息表)
表3-8tb_SellGoodsInfo(銷售商品信息表)
表3-9tb_EmPInfo(員工信息表)
3.5 系統(tǒng)的主要功能模塊設(shè)計(jì)3.5.1 系統(tǒng)登錄設(shè)計(jì)
(1)窗體設(shè)計(jì)
本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)主要涉及到有登錄窗體,系統(tǒng)主窗體、基本檔案管理窗體、退貨及進(jìn)貨窗體等窗體。
(2)代碼設(shè)計(jì)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CHEXC.GoodMenhod;
namespace CHEXC
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void btnOK_Click(object sender, EventArgs e)
{
tb_EmpInfoMenthod tbEmp = new tb_EmpInfoMenthod();
if (txtID.Text == "")
{
MessageBox.Show("用戶名不能為空!");
return;
}
if (txtPwd.Text == "")
{
MessageBox.Show("密碼不能為空!");
return;
}
if (tbEmp.tb_EmpInfoFind(txtID.Text, txtPwd.Text, 2) == 1)
{
frmMain frm = new frmMain(txtID.Text);
frm.Show();
this.Hide();
}
else
{
MessageBox.Show("登錄失敗!");
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
3.5.2 系統(tǒng)主窗體設(shè)計(jì)
(1)系統(tǒng)主窗體是在登錄窗體通過密碼,用戶名的驗(yàn)證后進(jìn)入的窗體,其中系統(tǒng)主窗體設(shè)計(jì)與實(shí)現(xiàn)如下圖3-10所示:
圖3-10 系統(tǒng)主界面
(2)代碼設(shè)計(jì)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CHEXC
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
public frmMain(string strName)
{
InitializeComponent();
SendNameValue = strName;
}
public string SendNameValue;
private void menuGoodsIn_Click(object sender, EventArgs e)
{
//進(jìn)貸信息
frmJhGoodsInfo jhGOOD = new frmJhGoodsInfo();
jhGOOD.Owner = this;
jhGOOD.ShowDialog();
}
private void menuEmployee_Click(object sender, EventArgs e)
{
//員工信息
frmEmpInfo empinfo = new frmEmpInfo();
empinfo.Owner = this;
empinfo.ShowDialog();
}
private void menuCompany_Click(object sender, EventArgs e)
{
//供應(yīng)商信息
frmCompanyInfo frmComp = new frmCompanyInfo();
frmComp.Owner = this;
frmComp.ShowDialog();
}
private void menuFind_Click(object sender, EventArgs e)
{
//商品信息查查詢
frmFindGood findgood = new frmFindGood();
findgood.Owner = this;
findgood.ShowDialog();
}
private void menuDepotAlarm_Click(object sender, EventArgs e)
{
//庫存警報
frmKcGoods kcGood = new frmKcGoods();
kcGood.Owner = this;
kcGood.ShowDialog();
}
private void menuDepotFind_Click(object sender, EventArgs e)
{
//庫存查詢
frmKcGoodFind kcfrmFind = new frmKcGoodFind();
kcfrmFind.Owner = this;
kcfrmFind.ShowDialog();
}
private void menuSellGoods_Click(object sender, EventArgs e)
{
//商品銷售信息
frmSellGoods frmSell = new frmSellGoods();
frmSell.Owner = this;
frmSell.ShowDialog();
}
private void menuSellFind_Click(object sender, EventArgs e)
{
//退貨信息
frmThGoodsInfo frmTh = new frmThGoodsInfo();
frmTh.Owner = this;
frmTh.ShowDialog();
}
private void 數(shù)據(jù)備份HToolStripMenuItem_Click(object sender, EventArgs e)
{
//數(shù)據(jù)備份
frmDataBack frmBack = new frmDataBack();
frmBack.Owner = this;
frmBack.ShowDialog();
}
private void 數(shù)據(jù)還原IToolStripMenuItem_Click(object sender, EventArgs e)
{
//數(shù)據(jù)還源
frmDataReole frmReole = new frmDataReole();
frmReole.Owner = this;
frmReole.ShowDialog();
}
private void frmMain_Load(object sender, EventArgs e)
{
timer2.Enabled = true;
this.statusUser.Text = "系統(tǒng)操作員:" +SendNameValue;
}
private void timer2_Tick(object sender, EventArgs e)
{
this.statusTime.Text = "當(dāng)前時間:" + DateTime.Now.ToString();
}
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
3.5.3 基本檔案管理窗體設(shè)計(jì)
本系統(tǒng)中所用到的基本檔案管理窗體主要包括員工信息窗體,供應(yīng)商信息窗體。
3.5.4 進(jìn)貨管理窗體設(shè)計(jì)
系統(tǒng)中需要用到的商品進(jìn)貨信息窗體用來顯示商品的一些信息,設(shè)計(jì)與設(shè)計(jì)如下圖3-11所示:
圖3-11 商品進(jìn)貨信息窗體
3.5.5 銷售管理窗體設(shè)計(jì)
本系統(tǒng)中所用到的銷售管理窗體主要包括商品銷售窗體,商品退貨窗體其中商品銷售窗體設(shè)計(jì)實(shí)現(xiàn)如下圖3-12所示商品退貨窗體設(shè)計(jì)如下圖3-13所示:
(1)商品銷售窗體設(shè)計(jì)主要顯示了商品的銷售信息,設(shè)計(jì)如下:
圖3-12 商品銷售信息窗體
(2)商品退貨窗體設(shè)計(jì)主要顯示了商品的退貨情況,設(shè)計(jì)如圖3-13所示:
圖3-13 商品退貨窗體
3.5.6庫存管理窗體設(shè)計(jì)
本系統(tǒng)中所用到的銷售管理窗體主要包括商品銷售窗體,商品退貨窗體其中商品銷售窗體設(shè)計(jì)實(shí)現(xiàn)如下圖3-14所示商品退貨窗體設(shè)計(jì)如下圖3-15所示:
(1)庫存查詢窗體設(shè)計(jì)可以用來查詢庫存中的一些商品,該窗體大大減少了人工的繁瑣并且減省時間,設(shè)計(jì)如圖3-14所示:
圖3-14庫存查詢窗體
(2)庫存警報信息窗體設(shè)計(jì)用來提醒工作人員,當(dāng)庫存商品不足或沒有時會對工作人員進(jìn)行提醒,給人們提供了很多便利,設(shè)計(jì)如圖3-15所示:
圖3-15 庫存警報窗體
3.5.7數(shù)據(jù)備份還原管理窗體設(shè)計(jì)
(1)該系統(tǒng)最大的好處是當(dāng)程序系統(tǒng)出現(xiàn)問題時我們可以對它進(jìn)行數(shù)據(jù)的備份還原操作避免不必要的麻煩減少損失,數(shù)據(jù)備份還原窗體設(shè)計(jì)實(shí)現(xiàn)如下圖3-16和3-17所示:
圖3-16數(shù)據(jù)備份窗體
(2)數(shù)據(jù)還原窗體設(shè)計(jì)
圖3-17 數(shù)據(jù)還原窗體
代碼設(shè)計(jì):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using CHEXC.GoodMenhod;
namespace CHEXC
{
public partial class frmDataReole : Form
{
public frmDataReole()
{
InitializeComponent();
}
private void bntOpent_Click(object sender, EventArgs e)
{
openFileDialog1.FilterIndex = 0;
openFileDialog1.FileName = "";
openFileDialog1.Filter = "txt files (*.bak)|*.bak|All files (*.*)|*.*";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
textPaht.Text=openFileDialog1.FileName.ToString();
}
}
private void bntOk_Click(object sender, EventArgs e)
{
if (textPaht.Text != "")
{
getSqlConnection geCon = new getSqlConnection();
SqlConnection con = geCon.GetCon();
if (con.State == ConnectionState.Open)
{
con.Close();
}
String DateStr = "Data Source=mrwxk\\wangxiaoke;Database=master;
User id=sa;PWD=";SqlConnection conn = new SqlConnection(DateStr);
conn.Open();
//-------------------殺掉所有連接 db_CSManage 數(shù)據(jù)庫的進(jìn)程--------------
string strSQL = "select spid from master..sysprocesses where dbid=db_id( 'db_CSManage') ";
SqlDataAdapter Da = new SqlDataAdapter(strSQL, conn);
DataTable spidTable = new DataTable();
Da.Fill(spidTable);
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.Text;
Cmd.Connection = conn;
for (int iRow = 0; iRow <= spidTable.Rows.Count - 1; iRow++)
{
Cmd.CommandText="kill"+spidTable.Rows[iRow][0].ToString();
//強(qiáng)行關(guān)閉用戶進(jìn)程
Cmd.ExecuteNonQuery();
}
conn.Close();
conn.Dispose();
//--------------------------------------------------------------------
SqlConnection sqlcon = new SqlConnection(DateStr);
sqlcon.Open();
SqlCommand sqlCmd = new SqlCommand("backup log db_CSManage to disk='" + textPaht.Text.Trim() + "' restore database db_CSManage from disk='" + textPaht.Text.Trim() + "'", sqlcon);
sqlCmd.ExecuteNonQuery();
sqlCmd.Dispose();
sqlcon.Close();
sqlcon.Dispose();
MessageBox.Show("數(shù)據(jù)還原成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("為了必免數(shù)據(jù)丟失,在數(shù)據(jù)庫還原后將關(guān)閉整個系統(tǒng)。");
Application.Exit();
}
else
{
MessageBox.Show("請選擇備份文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
private void frmDataReole_Load(object sender, EventArgs e)
{
}
}
}
3.6 系統(tǒng)的(硬件)系統(tǒng)結(jié)構(gòu)與處理方式設(shè)計(jì)3.6.1 系統(tǒng)處理方式
進(jìn)銷存管理系統(tǒng)采用分布式處理。采購、銷售、庫存三個部門按分配的不同權(quán)限進(jìn)行相關(guān)操作,操作主機(jī)、數(shù)據(jù)文件服務(wù)器聯(lián)成網(wǎng)絡(luò),相互通信。采購、銷售、庫存三個部門即可各自獨(dú)立地進(jìn)行業(yè)務(wù)處理也可自由轉(zhuǎn)換角色處理,各部門之間的數(shù)據(jù)通信由網(wǎng)絡(luò)完成。
3.6.2 系統(tǒng)硬件配置
(1) 微機(jī)(包括主機(jī)、顯示器及磁盤驅(qū)動器)。
(2) 打印機(jī)。
(3)適配器、電纜等其它網(wǎng)絡(luò)配件。
3.6.3軟件配置
(1)多用戶操作系統(tǒng)。
(2)SQL Server數(shù)據(jù)庫系統(tǒng)。
(3)其它應(yīng)用軟件。
3.7 系統(tǒng)的處理與流程分析3.7.1 系統(tǒng)業(yè)務(wù)流程分析
進(jìn)銷存管理系統(tǒng)的業(yè)務(wù)流程(圖3-18)。
圖3-18 進(jìn)銷存管理系統(tǒng)業(yè)務(wù)流程圖
4 總結(jié)
本次課程設(shè)計(jì),最大的收獲是對課題研究方法有了熟練的掌握,對信息系統(tǒng)分析設(shè)計(jì)有了更熟練的運(yùn)用,對系統(tǒng)整體架構(gòu)有了很好的把握。從課題的現(xiàn)狀和研究意義、工作方案和進(jìn)度計(jì)劃、系統(tǒng)可行性研究、到需求分析、到系統(tǒng)設(shè)計(jì)、再到系統(tǒng)實(shí)施,嚴(yán)格遵守畢業(yè)設(shè)計(jì)要求,嚴(yán)格按照系統(tǒng)設(shè)計(jì)開發(fā)規(guī)范來組織進(jìn)行,對自己的嚴(yán)密性、規(guī)范性等都有很好的指導(dǎo)意義。整個系統(tǒng)基本上實(shí)現(xiàn)了設(shè)計(jì)之初的目標(biāo),完成了系統(tǒng)規(guī)劃階段的構(gòu)想。本系統(tǒng)是與自己的親身經(jīng)歷緊密結(jié)合,因此容易從實(shí)際業(yè)務(wù)中獲取系統(tǒng)需求、邏輯模型、系統(tǒng)功能結(jié)構(gòu)以及數(shù)據(jù)組織與存儲等,為本系統(tǒng)的設(shè)計(jì)開發(fā)提供了現(xiàn)實(shí)依據(jù)。不得不承認(rèn),限于水平有限,本系統(tǒng)還不夠完善,如用戶登錄時帳戶加解密問題、水晶報表問題,但可以肯定的是,我會在后面的學(xué)習(xí)中將其完善,從而使其具有實(shí)際開發(fā)和使用意義,使之趨于完善。
|
|