版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、贛西科技職業(yè)學院 畢業(yè)論文(設計)題目進銷存管理系統(tǒng)院 系: 贛西科技職業(yè)學院 專 業(yè): 計算機應用技術 年 級: 12級計算機班 學生姓名: 高飛 學 號: 121011004 導師及職稱: 胡洪云 2014年10月10日基于B/S模式的進銷存管理系統(tǒng)設計和實現(xiàn)摘 要:基于B/S模式的進銷存管理系統(tǒng)是一個典型的管理信息系統(tǒng),它可以為企業(yè)形成一個精確反映企業(yè)狀況的規(guī)范的管理體系。系統(tǒng)不僅整合了企業(yè)內部的物流、業(yè)務流、資金流、還整合了企業(yè)外部的供應商和客戶。進銷存管理系統(tǒng)作為一種企業(yè)管理軟件,針對企業(yè)應用的信息化管理整體解決方案,集多種管理一體化,致力于幫助企業(yè)快速有效地管理進貨、銷售、庫存和應
2、收/應付款等各項業(yè)務,幫助企業(yè)建立起一個簡捷、高效的實時運營管理平臺,實現(xiàn)物流、資金流、信息流的在線動態(tài)監(jiān)控和管理,實現(xiàn)信息的全面把握、傳遞和電腦全程記錄,便利了企業(yè)的進銷存管理,降低了實施的成本和風險,加快了實施的進度,增加了投資的回報,為企業(yè)決策供應數(shù)據(jù)和速度,確保企業(yè)在浩大范圍內健康地運行。此管理系統(tǒng)以.NET平臺開發(fā),客戶、供應商等企業(yè)外部人員通過B/S模式結構來實現(xiàn)分銷通過互聯(lián)網(wǎng)對公司數(shù)據(jù)庫中數(shù)據(jù)的訪問、運用等操作;同時在企業(yè)內部網(wǎng)絡中,公司的授權員工能對數(shù)據(jù)庫進行相應的操作,來完成整個業(yè)務流程;管理決策者可以利用數(shù)據(jù)分析進行協(xié)助決策過程。關鍵字:進銷存管理系統(tǒng),.NET開發(fā)平臺,B
3、/S,業(yè)務流程Based On B /S Model Design And Implementation Of Inventory Management SystemAbstract: Based on B/S mode inventory management system is a typical management information system, it can be for enterprises to accurately reflect the business conditions to form a management system specification. Sy
4、stem not only logistics enterprise integration, business flow, capital flow, but also outside the enterprise integration of suppliers and customers. Inventory management system as an enterprise management software applications for enterprise information management solution, set a variety of manageme
5、nt integration, is committed to helping companies quickly and effectively manage the purchase, sales, inventory and receivables/ payables The business to help companies build a simple, efficient real-time operations management platform, logistics, capital flow, information flow line dynamic monitori
6、ng and management, to achieve a comprehensive grasp of the information, the entire transmission and computer records, to facilitate the progress of the enterprise Sales inventory management and reduce the implementation cost and risk, accelerate the progress of the implementation, increasing the ret
7、urn on investment for enterprise data and speed decision-making to ensure the health of business within the huge run.This management system. NET platform, customers, suppliers and other persons outside the business through the B/S model structure to achieve distribution through the Internet to acces
8、s data in corporate databases, the use of other operations; the same time within the enterprise network, the company Authorized employees to operate the database corresponding to complete the entire business process; management decision-makers can make use of secondary data analysis for decision-mak
9、ing process. Keywords: Inventory Management System,. NET Development Platform, B / S, Business Process27 / 33目 錄第1章引 言11.1項目探討背景11.2論文結構1第2章相關技術介紹32.1系統(tǒng)環(huán)境3Visual Studio 2008簡介3SQL SERVER 2008簡介3三層架構4JQUERY-AJAX4B/S結構介紹5第3章需求分析63.1基礎設置63.2系統(tǒng)管理73.3人力資源73.4客戶管理73.5銷售管理73.6選購管理83.7庫存管理9第4章系統(tǒng)設計104.1功能模塊設
10、計104.2數(shù)據(jù)庫設計12概念模型設計12物理模型設計14第5章系統(tǒng)實現(xiàn)185.1數(shù)據(jù)庫操作實現(xiàn)185.2實現(xiàn)方法21第6章軟件測試226.1測試方法226.2系統(tǒng)測試23總 結26致 謝27參考文獻28第1章 引 言1.1 項目探討背景隨著全球經(jīng)濟一體化和國內經(jīng)濟改革的逐年深化,國內中小型商貿(mào)企業(yè)都面臨著巨大的挑戰(zhàn),管理體制的不完善不能和集團性質的大公司相競爭,成為中小型商貿(mào)企業(yè)發(fā)展須要解決的首要問題。即使企業(yè)具有了肯定先進的技術,但由于管理體制中種種問題的制約,也不能使企業(yè)在激烈的競爭中占有一席之地。計算機技術的全面普及,給中小企業(yè)帶來簇新的血液。利用計算機對企業(yè)進行管理,解決了傳統(tǒng)管理方
11、式中的管理效率低下、管理不全面,數(shù)據(jù)信息不能得到統(tǒng)計等問題。管理方式的轉變,提高整個企業(yè)的工作效率,在某種意義上講,給中小企業(yè)供應了新的有利條件,增加了企業(yè)的核心競爭力,成為企業(yè)管理的必備工具。針對目前企業(yè)公司企業(yè)內部的現(xiàn)狀,聯(lián)系實際狀況,我們設計開發(fā)了此系統(tǒng)“基于B/S模式的進銷存管理系統(tǒng)”。進銷存管理系統(tǒng)是一個典型的管理信息系統(tǒng),它可以為企業(yè)形成一個精確反映企業(yè)狀況的規(guī)范的管理體系。系統(tǒng)不僅整合了企業(yè)內部的物流、業(yè)務流、資金流、還整合了企業(yè)外部的供應商和客戶。進銷存管理系統(tǒng)作為一種企業(yè)管理軟件,針對企業(yè)應用的信息化管理整體解決方案,集多種管理一體化,致力于幫助企業(yè)快速有效地管理進貨、銷售、
12、庫存和應收/應付款等各項業(yè)務,幫助企業(yè)建立起一個簡捷、高效的實時運營管理平臺,實現(xiàn)物流、資金流、信息流的在線動態(tài)監(jiān)控和管理,實現(xiàn)信息的全面把握、傳遞和電腦全程記錄,便利了企業(yè)的進銷存管理,降低了實施的成本和風險,加快了實施的進度,增加了投資的回報,為企業(yè)決策供應數(shù)據(jù)和速度,確保企業(yè)在浩大范圍內健康地運行。本項目采納B/S體系架構,對所開發(fā)的系各個功能模塊進行了設計,并借助于Visua1Studio 2008開發(fā)環(huán)境的.NET平臺,運用C#語言、ASP.NET技術、三層架構、JQUREY-AJAX和ADO.NET數(shù)據(jù)庫等技術。1.2 論文結構本文共分六章,各章的內容支配如下:第1章,依據(jù)探討背景
13、和探討內容,提出了相應的探討思路和探討技術。第2章, 介紹系統(tǒng)的開發(fā)平臺以及開發(fā)語言,并對B/S體系結構、項目運用的主要技術進行了闡述。第3章,對本系統(tǒng)的需求和可行性進行了分析。第4章,對系統(tǒng)的功能模塊和數(shù)據(jù)庫結構進行了具體的設計。第5章,介紹系統(tǒng)各模塊的具體實現(xiàn)。于B/S模式的進銷存管理系統(tǒng)的設計和實現(xiàn)第6章,對系統(tǒng)進行了全面的測試。第2章 相關技術介紹22.1 系統(tǒng)環(huán)境 Visual Studio 2008簡介Visual Studio 2008支持快速開發(fā)應用程序,在 Visual Studio 2008 中,開發(fā)人員工作效率的提高不是終止于代碼編輯器和向導。通過供應
14、新的工具和框架來簡化新應用程序體系結構和平Visual Studio 2008臺的開發(fā)人員、設計人員和數(shù)據(jù)庫專業(yè)人員的任務,Visual Studio 2008 不僅供應了高效的開發(fā)工具,而且使開發(fā)人員能夠在削減創(chuàng)建解決方案的總成本的同時解決新的業(yè)務問題。Visual Studio 2008能夠進行有效的團隊協(xié)作。Visual Studio 2008 增加了 Visual Studio Team System 的基于角色的覆蓋率,提高了整個軟件開發(fā)生命周期中的可跟蹤性,從而增加了它的端對端價值。通過在軟件生命周期中的角色和 Team Foundation Server 之間進行深度集成,Tea
15、m System 使客戶能夠增加其團隊的影響,提高軟件質量?!?】實現(xiàn)前所未有的用戶體驗。因為用戶總是在找尋新的方式來理解和保留信息,所以開發(fā)人員仍舊必需設法保證基本的桌面和應用程序平安。Visual Studio、Windows Vista 和 2007 Office system 使開發(fā)人員能夠在任何類型的應用程序中供應平安、牢靠且富有吸引力的用戶體驗。這些基本改進使客戶能夠快速創(chuàng)建連接的應用程序,無論項目的困難性多大,組織的規(guī)模如何,這些應用程序都能夠供應最高的質量和豐富的用戶體驗。【2】2.1.2 SQL SERVER 2008簡介SQL Server 2008作為微軟的新一代的關系型
16、數(shù)據(jù)庫管理產(chǎn)品,它是建立在前一版本SQL Server 2005的基礎之上,其在性能、穩(wěn)定性、易用性方面進行了相當大的改進。SQL Server 2008是一個平安的、高效的、智能的數(shù)據(jù)平臺。它供應了愛護數(shù)據(jù)庫、削減服務器管理時間、增加應用程序穩(wěn)定性、系統(tǒng)效能最佳化和預料功能【3】。SQL Server 2008能夠便利地構建、部署和管理企業(yè)應用程序;讓應用程序更加平安、伸縮和牢靠,降低開發(fā)和支持數(shù)據(jù)庫應用程序的困難性,提高IT生產(chǎn)力;能夠在多個平臺、多個應用程序和多個設備之間共享數(shù)據(jù)【4】。2.1.3 三層架構三層數(shù)據(jù)庫架構的主要目的是讓每個數(shù)據(jù)庫的用戶視圖和數(shù)據(jù)庫物理存儲或描述的方法隔離。
17、三層數(shù)據(jù)庫架構的優(yōu)點如下: 每個用戶能訪問相同數(shù)據(jù)但有他們自己所須要的、經(jīng)過定制的不同數(shù)據(jù)視圖。每個用戶可變更自己查看數(shù)據(jù)的方式并且這種變更不會影響相同數(shù)據(jù)庫的其他用戶。用戶不用關切物理數(shù)據(jù)存儲細微環(huán)節(jié)。用戶和數(shù)據(jù)庫之間的交互獨立于物理數(shù)據(jù)存儲組織。物理存儲組織的變更(例如轉到新的存儲設備)不影響數(shù)據(jù)庫的內部結構。數(shù)據(jù)庫管理員(DBA)能變更數(shù)據(jù)庫的存儲結構而不會影響用戶視圖。DBA能變更數(shù)據(jù)庫的概念結構而不會影響全部用戶【5】。2.1.4 JQUERY-AJAXjQuery 由 John Resig 創(chuàng)建于 2006 年初,對于任何運用 JavaScript 代碼的程序員來說,它是一個特別有
18、用的 JavaScript 庫。無論您是剛剛接觸 JavaScript 語言,并且希望獲得一個能解決文檔對象模型(Document Object Model,DOM)腳本和 Ajax 開發(fā)中一些困難問題的庫,還是作為一個厭倦了 DOM 腳本和 Ajax 開發(fā)中無聊的重復工作的資深 JavaScript 專家,jQuery 都會是首選。jQuery 能保證代碼簡潔易讀。不必編寫大堆重復的循環(huán)代碼和 DOM 腳本庫調用了。運用 jQuery,可以把握問題的要點,并運用完可能最少的代碼實現(xiàn)想要的功能【6】。運用 jQuery 將使 Ajax 變得及其簡潔。jQuery 供應有一些函數(shù),可以使簡潔的工
19、作變得更加簡潔,困難的工作變得不再困難。Ajax 最常見的用法就是把一塊 HTML 代碼加載到頁面的某個區(qū)域中去。為此,只需簡潔地選擇所需的元素,然后運用 load() 函數(shù)即可。假如須要編寫一些困難的 Ajax 腳本,那么須要用到 $.ajax() 函數(shù)??梢灾付?xml、script、html 或者 json,jQuery 將自動為回調函數(shù)準備合適的結果,這樣您便可以馬上運用該結果。還可以指定 beforeSend、error、success 或者 complete 回調函數(shù),向用戶供應更多有關 Ajax 體驗的反饋。此外,還有一些其它的參數(shù)可供運用,您可以運用它們設置 Ajax 懇求的超
20、時,也可以設置頁面 “最近一次修改” 的狀態(tài)【7】。2.1.5 B/S結構介紹B/S結構(Browser/Server結構)結構即閱讀器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變更或者改進的結構。在這種結構下,用戶工作界面是通過WWW閱讀器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(server)實現(xiàn),形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護和升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術看,局域網(wǎng)建立B/S結構的網(wǎng)絡應用,并通過Internet/Intranet模式下數(shù)據(jù)庫
21、應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫:它能有效地愛護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很平安【8】。B/S結構最大特點是:用戶可以通過WWW閱讀器去訪問Internet上的文本、數(shù)據(jù)、圖像、動畫、視頻點播和聲音信息,這些信息都是由許很多多的Web服務器產(chǎn)生的,而每一個Web服務器又可以通過各種方式和數(shù)據(jù)庫服務器連接,大量的數(shù)據(jù)實際存放在數(shù)據(jù)庫服務器中??蛻舳顺薟WW閱讀器,一般無須任何用戶程序,只需從Web服務器上下載程序到本地來執(zhí)行,在
22、下載過程中若遇到和數(shù)據(jù)庫有關的指令,由Web服務器交給數(shù)據(jù)庫服務器來說明執(zhí)行,并返回給Web服務器,Web服務器又返回給用戶。在這種結構中,將許很多多的網(wǎng)連接到一塊,形成一個巨大的網(wǎng),即全球網(wǎng)。而各個企業(yè)可以在此結構的基礎上建立自己的Intranet【9】。B/S結構的優(yōu)點。(l)具有分布性特點,可以隨時隨地進行查詢、閱讀等業(yè)務處理。(2)業(yè)務擴展簡潔便利,通過增加網(wǎng)頁即可增加服務器功能。 (3)維護簡潔便利,只須要變更網(wǎng)頁,即可實現(xiàn)全部用戶的同步更新。(4)開發(fā)簡潔,共享性強【10】。第3章 需求分析312344.13.1 基礎設置基礎設置對現(xiàn)金銀行、商品分類、商品檔案、倉庫檔案、期初設置、
23、計量單位、收支緣由等基礎信息的設置。現(xiàn)金銀行業(yè)務規(guī)格:賬戶名稱、開戶行類別、開戶行名、戶名、賬號必輸項驗證,假如選擇類型為現(xiàn)金,限制只能輸入賬戶名稱,銀行,其他字段都限制輸入,銀行賬號為16或19位數(shù)字。商品分類是對商品進行分類化管理供應必備的基本信息。商品檔案能夠實現(xiàn)新增品名、安排類別、安排計量單位、品名啟用、品名停用、批量刪除等功能。期初設置包括庫存期初余額設置和現(xiàn)金銀行賬戶期初余額設置兩個功能,庫存期初余額設置指的是您運用進銷存服務前一日各倉庫各貨品庫存的結存數(shù)量,以及各貨品的結存成本價(單位成本)。現(xiàn)金銀行賬戶期初余額是指在運用系統(tǒng)之前對當前銀行賬戶進行期初余額錄入操作。計量單位是貨品
24、必不行少的屬性,在設置貨品檔案時須要先設置好該貨品的計量單位。本系統(tǒng)支持同一個貨品在選購、銷售、儲運的不同業(yè)務時采納不同的計量單位(用戶可以設置基本計量單位和換算計量單位)。倉庫檔案是庫存管理的核心基礎數(shù)據(jù),只有設置了倉庫檔案才能錄入各類庫存單據(jù)(如選購入庫單,銷售出庫單)以及針對倉庫查詢各種庫存賬表。收支緣由僅用于進銷存服務和記賬平臺服務合用的狀況(單獨運用進銷存服務無此項功能),而且在收付款單據(jù)須要生成自動憑證時必需先進行收支緣由設置。收支緣由是公司發(fā)生收入和支出的用途說明,是現(xiàn)金銀行賬戶資金發(fā)生變動的緣由。每個收支緣由須要指定對應會計科目(系統(tǒng)供應了科目的默認值),以便收付款單能自動生成
25、記賬憑證。收支緣由檔案資料可以在“基礎檔案”的“收支緣由檔案”功能中錄入,也可以在做付款單據(jù)或收款單據(jù)時實時添加。單據(jù)編號規(guī)則:單據(jù)拼音縮寫+日期+三位流水號。單據(jù)拼音縮寫:選購訂單(CD)、選購入庫(CR)、選購退貨(CT)、付款錄單(FL)、付款核銷單(FH)、庫存調撥(KD)商品盤點(SP)、銷售訂單(SD)、銷售出庫(SC)、銷售退貨(ST)、收款款錄單(SL)、收款核銷(SX)、客戶檔案(HD)等。3.2 系統(tǒng)管理系統(tǒng)管理主要是對于權限的管理。其中包括登錄用戶名管理、角色管理、用戶和員工對應設置、用戶和角色關聯(lián)設置、角色權限設置等。3.3 人力資源人力資源是一個企業(yè)最基礎的信息,人力
26、資源涵蓋了企業(yè)的組織結構、人事檔案兩大信息模塊。為整個系統(tǒng)的權限以及操作員供應了基礎信息。組織管理包括組織機構設置和崗位設置兩個功能。人力檔案包括在職人員管理、人才儲備管理、離職人員管理等功能。基本設置中主要對崗位分類、崗位級別、國家地區(qū)、職稱、宗教信仰、婚姻狀況、政治面貌、民族、學歷、專業(yè)、外語種類等信息進行預設。3.4 客戶管理客戶管理,從客戶檔案、客戶聯(lián)系人、客戶聯(lián)絡、客戶洽談、客戶關懷、客戶服務、客戶投訴等多個角度和層次供應了支持??蛻絷P系是公司的最珍貴的資產(chǎn)之一。公司80%的業(yè)務來源于公司20%的客戶。保持良好的客戶關系,追求多產(chǎn)品銷售、客戶重復購買和規(guī)模銷售。建立穩(wěn)定的良好的市場銷
27、售環(huán)境,追求市場占有率、覆蓋率和增長率。維護好客戶關系,一點帶面,人脈網(wǎng)路營銷【11】。3.5 銷售管理銷售訂單。主表“銷售訂單”的內容包括單據(jù)編號、客戶(彈窗選擇)、業(yè)務員、簽單日期(默認取當前日期)、交貨日期(默認取當前日期)、備注、實惠、實惠后金額、單據(jù)狀態(tài)、擴展屬性、制單人、制單日期、數(shù)量合計、金額合計。銷售出庫單包括銷售單及銷售出庫單兩個功能。內容包括單據(jù)編號、客戶(彈窗選擇)、業(yè)務員(下拉列表)、倉庫(下拉列表)、聯(lián)系人、聯(lián)系人電話、發(fā)票類型、銷售類型(下拉列表)、銷售日期、來源銷售訂單、收貨地址、單據(jù)狀態(tài)、備注、實惠、實惠后金額、擴展屬性、制單人、制單日期、確認人、確認日期、作廢
28、人、作廢日期、數(shù)量合計、金額合計。銷售退貨單,內容包括單據(jù)編號、客戶(彈窗選擇)、業(yè)務員(彈窗選擇、默認當前用戶)、倉庫、退貨日期、來源銷售出庫單、備注、擴展屬性、制單人、制單日期、確認人、確認日期、作廢人、作廢日期、數(shù)量合計、金額合計。收款錄單記錄銷售業(yè)務所帶來的向客戶收取貨款的業(yè)務,或者選購退貨所帶來的供應商退回貨款的業(yè)務。收款錄單可以干脆手工錄入(多用于預收款、賒銷款),也可以在銷售出庫單或選購退貨單錄入保存后錄入(主要用于現(xiàn)收款)。收款錄單完成后,可以通過收款核銷功能建立收款和銷售出庫或選購退貨的對應關系,以明確收款對應的是哪筆銷售出貨或選購退貨業(yè)務,實現(xiàn)對往來款項的精細化管理。收款核
29、銷單通過收款核銷功能建立收款和銷售出庫或選購退貨的對應關系,以明確收款對應的是哪筆銷售出貨或選購退貨業(yè)務,實現(xiàn)對往來款項的精細化管理【12】。3.6 選購管理選購訂單內容包括單據(jù)編號、供應商(彈窗選擇)、業(yè)務員(彈窗選擇、默認當前用戶)、簽單日期、實惠、實惠后金額、單據(jù)狀態(tài)、備注、擴展屬性、制單人、制單日期、數(shù)量合計、金額合計。選購入庫單內容包括單據(jù)編號、供應商(彈窗控件)、倉庫(下拉列表)、業(yè)務員(彈窗控件,默認為當前用戶)、批次、聯(lián)系人、聯(lián)系人電話、選購日期、來源選購訂單、送貨地址、備注、實惠、實惠后金額、擴展屬性、制單人、制單日期、確認人、確認日期、作廢人、作廢日期、數(shù)量合計、金額合計。
30、選購退貨單內容包括單據(jù)編號、供應商、業(yè)務員、退貨日期(默認取當前日期)、備注、單據(jù)擴展屬性、制單人、制單日期、確認人、確認日期、作廢人、作廢日期、數(shù)量合計、金額合計。付款錄單記錄選購業(yè)務所帶來的向供應商支付貨款的業(yè)務,或者銷售退貨所帶來的向客戶退回貨款的業(yè)務。付款錄單可以干脆手工錄入(多用于預付款、賒購款),也可以在選購入庫單或銷售退貨單錄入保存后錄入(主要用于現(xiàn)付款)。付款錄單完成后,可以通過付通過付款核銷功能建立付款和銷售出庫或選購退貨的對應關系,以明確付款對應的是哪筆選購進貨或銷售退貨業(yè)務,實現(xiàn)對往來款項的精細化管理。付款核銷單通過付款核銷功能建立付款和選購入庫或銷售退貨的對應關系,以明
31、確付款對應的是哪筆選購進貨或銷售退貨業(yè)務,實現(xiàn)對往來款項的精細化管理。3.7 庫存管理庫存管理包含庫存調撥和庫存盤點兩大功能。庫存調撥內容包括單據(jù)編號、移出倉庫(下拉列表)、移入倉庫(下拉列表)、業(yè)務員(彈窗選擇,默認當前用戶)、調撥時間(默認為當前日期)、狀態(tài)、備注、單據(jù)擴展屬性、制單人、制單日期、確認人、確認日期、作廢人、作廢日期、數(shù)量合計、金額合計。庫存盤點存貨因為數(shù)量較多、收發(fā)頻繁、計量誤差、管理不善、自然損耗等緣由,有可能導致庫存數(shù)量和賬面數(shù)量不符。為了避開賬實不符的現(xiàn)象出現(xiàn),就要定期進行存貨清查,從而查明緣由并調整賬面數(shù)量,使賬實相符。用戶可以運用期末盤點來完成倉庫存貨的清查、調整
32、工作,通過該單據(jù)您可以了解到每項存貨的盈虧數(shù)量及盈虧金額,剛好駕馭盈虧狀況。第4章 系統(tǒng)設計344.1 功能模塊設計通過需求分析得出本系統(tǒng)主要功能結構圖如圖4-1至圖4-8所示。圖4-1 總體功能結構圖 圖4-2 基本設置功能結構圖 圖4-3 系統(tǒng)設置功能結構圖圖4-4 人力資源功能結構圖圖4-5 客戶管理功能結構圖 圖4-6 選購管理功能結構圖圖4-7 銷售管理功能結構圖圖4-8 庫存管理功能結構圖4.2 數(shù)據(jù)庫設計數(shù)據(jù)庫設計(Database Design)是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿意各種用戶的應用需求(信息要求和處
33、理要求)。在數(shù)據(jù)庫領域內,經(jīng)常把運用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應用系統(tǒng)。 概念模型設計概念模型不依靠于具體的計算機系統(tǒng),他是純粹反映信息需求的概念結構。建模是在需求分析結果的基礎上綻開,經(jīng)常要對數(shù)據(jù)進行抽象處理。常用的數(shù)據(jù)抽象方法是聚集和概括。 E-R方法是設計概念模型時常用的方法。因篇幅限定,在此只列舉主要模塊的實體E-R圖。圖4-9 商品檔案實體圖 圖4-10 客戶檔案實體圖圖4-11 選購訂單實體圖 圖4-12 付款單實體圖 圖4-8 選購業(yè)務實體圖4.2.2 物理模型設計用SQL Server轉換以上實體圖。11.14.31、 商品檔案表商品檔案表結構如表4-1所示。
34、表4-1 商品檔案表字段名字段類型缺省值是否可空PK說明ID Int identityNotnullPKID,自動生成ProductNameVarchar(50)商品名稱ProductNoVarchar(50)商品編號UnitIDInt計量單位mnemCodeVarchar(50)助記碼SpecificationVarchar(50)規(guī)格ImgUrlvarchar(200)產(chǎn)品圖片SafeStockNumnumeric(10,2)平安庫存量MaxStockNumnumeric(10,2)最高庫存量UsedStatuschar(1)狀態(tài)(0停用,1啟用)Sellnumeric(10,2)零售價T
35、ypeIDint商品分類ID2、 客戶檔案表客戶檔案表結構如表4-2所示。表4-2 客戶檔案表字段名字段類型缺省值是否可空PK說明IDInt identitynot nullPK客戶ID,自動生成CustClassint客戶分類(往來單位表)CustNovarchar(50)客戶編號CustNamevarchar(100)客戶名稱CustNamvarchar(50)客戶簡稱CustNotevarchar(1024)客戶簡介HotHowchar (1)熱度MeritGradechar (1)價值評估RelaGradechar (1)關系等級Relationvarchar(200)關系描述Comp
36、anyTypeChar(1)單位性質Tradevarchar(50)行業(yè)Telvarchar(50)公司電話ReceiveAddressvarchar(100)通訊地址OpenBankvarchar(100)開戶行AccountManvarchar(100)戶名AccountNumvarchar(50)賬號Remarkvarchar(200)備注UsedStatuschar(1)狀態(tài)(0停用,1啟用)3、 選購訂單表選購訂單表結構如表4-3所示。表4-3 選購訂單表字段名字段類型缺省值是否可空PK說明IDint identityNot nullPKID,自動生成OrderNoVarchar(5
37、0)訂單編號ProviderIDInt供應商IDSalesManInt業(yè)務員IDOrderDateDatetime簽單日期TotalCountNumeric(10,2)數(shù)量合計BillStatusChar(1)狀態(tài)RemarkVarchar(800)備注CreatorInt制單人CreateDateDatetime制單日期4、 選購訂單明細表選購訂單明細表結構如表4-4所示。表4-4 選購訂單明細表字段名字段類型缺省值是否可空PK說明IDint identityNot nullPKID,自動生成OrderNoVarchar(50)訂單編號ProductIDInt商品IDOrderCountNu
38、meric(10,2)數(shù)量OrderPriceNumeric(10,2)單價DetailTtotalPriceNumeric(20,2)金額5、 付款單表 付款單表結構如表4-5所示。表4-5 付款單表字段名字段類型缺省值是否可空PK說明IDint identitynot nullPK自動生成PayNoVarchar(50)付款單號ContactUnitint付款單位PayCauseInt付款緣由PayDatedateTime付款日期CustIDInt客戶IDCashBankIDInt現(xiàn)金銀行賬戶PayPricenumeric(20,2)付款金額SalesmanInt業(yè)務員CreatorInt
39、制單人CreateDateDateTime制單日期RemarkVarchar(100)備注6、 付款核銷單表付款核銷單表結構如表4-6所示。表4-6 付款核銷單表字段名字段類型缺省值是否可空PK說明IDint identitynot nullPK自動生成PayIDInt 付款單IDFKBlendDateDatetime核銷日期BillTypeChar(1)1、 銷售退貨2、 選購入庫SourceIDint源單IDSourceDTVarchar(50)源單表名goodsPricenumeric(20,2)貨款金額BlendPricenumeric(20,2)核銷金額第5章 系統(tǒng)實現(xiàn)55.1 數(shù)據(jù)
40、庫操作實現(xiàn)在本系統(tǒng)中,我們運用了三層架構進行開發(fā)的。三層架構在邏輯上將應用功能分為三層:表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層【13】。在數(shù)據(jù)訪問層中,我們運用ADO.NET技術對數(shù)據(jù)庫進行操作。SqlHelper類是特地的數(shù)據(jù)庫操作類,任何對數(shù)據(jù)庫操作的類都要調用這個類。在SqlHelper類中,主要構造了一下幾個方法:1、 干脆獲得數(shù)據(jù)庫連接串的方法public static String GetConnection()return ConfigurationManager.ConnectionStrings"ConnectionString".ToString();2、 執(zhí)行
41、一個sql吩咐,僅僅返回數(shù)據(jù)庫受影響行數(shù)/ <param name="Sql">sql語句</param>/ <param name="cmdParms">參數(shù)</param>/ <returns></returns>public static int ExecuteNonQuery(string Sql, params SqlParameter cmdParms)/ Create a new Sql commandSqlCommand cmd = new SqlCommand();
42、/Create a connectionusing (SqlConnection conn = new SqlConnection(_connectionString)/Prepare the commandPrepareCommand(cmd, conn, null, CommandType.Text, Sql, cmdParms);/Execute the commandint val = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val; 3、 執(zhí)行 SQL 語句,查詢的結果集public static DataTable E
43、xecuteSearch(SqlCommand comm)/獲得返回集實例SqlParameter p = null;if (comm.Parameters != null && comm.Parameters.Count > 0)p = new SqlParametercomm.Parameters.Count;for (int i = 0; i < comm.Parameters.Count; i+)pi = (SqlParameter)comm.Parametersi;comm.Parameters.Clear();DataTable (_connection
44、String, comm.CommandType, comm.CommandText, p).Tables0;if (p != null)for (int i = 0; i < p.Length; i+)comm.Parameters.Add(pi);return result;4、 帶分頁數(shù)據(jù)查詢public static DataTable PagerWithCommand(SqlCommand cmd, int PageIndex, int PageSize, string OrderBy, ref int TotalCount)/變量定義StringBuilder sbSql =
45、 new StringBuilder();/第一頁時if (PageIndex = 1)sbSql.Append("SELECT TOP " + PageSize + " * FROM");elsesbSql.Append("SELECT * FROM ");sbSql.Append(" ( SELECT ROW_NUMBER() OVER (ORDER BY " + OrderBy + ") as RowNumber,tempTable.*");sbSql.Append(" FROM
46、 ( " + cmd.CommandText + " ) AS tempTable ) AS tmp ");if (PageIndex != 1)sbSql.Append("WHERE RowNumber BETWEEN CONVERT(varchar,(PageIndex-1)*PageSize+1) AND CONVERT(varchar,(PageIndex-1)*PageSize+PageSize) ");sbSql.Append(" SELECT TotalRecord = count(*) FROM (" + c
47、md.CommandText + ") tempTable");/重新設置吩咐SQL語句cmd.CommandText = sbSql.ToString();/* 將分頁參數(shù)追加至SqlParameter */當前頁SqlParameter param = new SqlParameter("PageIndex", SqlDbType.Int);param.Value = PageIndex;cmd.Parameters.Add(param);/每頁顯示數(shù)param = new SqlParameter("PageSize", Sql
48、DbType.Int);param.Value = PageSize;cmd.Parameters.Add(param);/總數(shù)param = new SqlParameter("TotalRecord", SqlDbType.Int);param.Direction = ParameterDirection.Output;cmd.Parameters.Add(param);DataTable dtTemp = ExecuteSearch(cmd);TotalCount = (int)cmd.Parameters"TotalRecord".Value;r
49、eturn dtTemp;5.2 實現(xiàn)方法本項目采納B/S體系架構,對所開發(fā)的系各個功能模塊進行了設計,并借助于Visua1Studio 2008開發(fā)環(huán)境的.NET平臺,運用C#語言、ASP.NET技術、三層架構、JQUREY-AJAX和ADO.NET數(shù)據(jù)庫等技術。本項目利用銷售訂單功能設計舉例闡述運用上述技術的思路及過程。銷售功能模塊實現(xiàn)步驟當用戶輸入全部內容后,點擊保存按鈕時,事務發(fā)生的依次如下:首先通過SellOrderAdd.js中JQUERY-AJAX方法將頁面值傳遞到SellOrder Add.ashx文件中等待處理;SellOrderAdd.ashx中調用業(yè)務處理層的SellOr
50、derBus.cs類中InsertSellOrder()方法;在InsertSellOrder方法中再調用數(shù)據(jù)訪問層的SellOrderDBHelper.cs類中InsertSellOrder()方法;SellOrderDBHelper.cs類中的InsertSellOrder ()方法,則調用SqlHelper類中的Execute TransSql ()方法,返回新紀錄的ID號?;氐絊ellOrderAdd.ashx頁中將返回的數(shù)據(jù)進行JSON序列化。JSON是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫,同時也易于機器解析和生成。它基于JavaScript的一個子集。 JSON采納完全獨立于
51、語言的文本格式。最終回到JS中。第6章 軟件測試測試是軟件開發(fā)的重要環(huán)節(jié)之一,是保證軟件質量的重要方法。66.1 測試方法一般來說,軟件測試就測試模式而言,可分為兩種:白盒測試和黑盒測試,如圖6-1所示。圖6-1 白盒測試和黑盒測試白盒測試也稱結構測試或邏輯驅動測試,它是知道產(chǎn)品內部工作過程,可通過測試來檢測產(chǎn)品內部動作是否依據(jù)規(guī)格說明書的規(guī)定正常進行,依據(jù)程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證?!鞍缀小狈ㄈ媪私獬绦騼炔窟壿嫿Y構、對全部邏輯路徑進行測試?!鞍缀小狈ㄊ歉F舉路徑測試。在運
52、用這一方案時,測試者必需檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨立路徑數(shù)是天文數(shù)字。但即使每條路徑都測試了仍舊可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規(guī)范,即程序本身是個錯誤的程序。其次,窮舉路徑測試不行能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發(fā)覺不了一些和數(shù)據(jù)相關的錯誤。黑盒測試也稱功能測試或數(shù)據(jù)驅動測試,它是在已知產(chǎn)品所應具有的功能,通過測試來檢測每個功能是否都能正常運用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的狀況下,測基于C/S、B/S混合結構的機房管理系統(tǒng)的設計和實現(xiàn)試者在程序接口進行測試,它
53、只檢查程序功能是否依據(jù)需求規(guī)格說明書的規(guī)定正常運用,程序是否能適當?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因一果圖、錯誤推想等,主要用于軟件確認測試。因果圖、錯誤推想等,主要用于軟件確認測試?!昂诤小狈ㄖ塾诔绦蛲獠拷Y構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試?!昂诤小狈ㄊ歉F舉輸入測試,只有把全部可能的輸入都作為測試狀況運用,才能以這種方法查出程序中全部的錯誤。事實上測試狀況有無窮多個,人們不僅要測試全部合法的輸入,而且還要對那些不合法但是可能的輸入進行測試【14】。系統(tǒng)測試過程會經(jīng)驗單元測試、集成測試
54、、系統(tǒng)測試、驗收測試4個主要階段。單元測試是在軟件開發(fā)過程中要進行的最低級別的測試活動,在單元測試活動中,軟件的獨立單元將在和程序的其他部分相隔離的狀況下進行測試。集成測試也叫組裝測試或聯(lián)合測試,在單元測試的基礎上,將全部模塊依據(jù)設計要求(如依據(jù)結構圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。系統(tǒng)測試是將已經(jīng)確認的軟件、硬件、外設、網(wǎng)絡等其他元素結合在一起,進行系統(tǒng)的各種組裝測試和確認測試。驗收測試是相關的用戶或獨立測試人員依據(jù)測試支配和結果對系統(tǒng)進行測試和接收【15】。6.2 系統(tǒng)測試依據(jù)以上測試方法對本系統(tǒng)進行了全面測試,以下列舉出登陸模塊單測試用例及結果如表6-1所示。表4-1 登陸模塊測試用例及結果項目/軟件基于B/S模式進銷存管理系統(tǒng)程序版本1.0.0功能模塊名Login編制人錢鋒用例編號T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021學年廣東省汕頭市潮陽區(qū)高一上學期期末考試英語試題 解析版
- 施工企業(yè)2025年《春節(jié)節(jié)后復工復產(chǎn)》工作實施方案 (匯編3份)
- 《燃油供給系檢修》課件
- 檔案管理知識競賽試題附答案
- 上范司諫書(文言文)高考語文閱讀理解
- 云南省楚雄州2023-2024學年高三上學期期末考試英語試卷
- 高端會議保安工作總結與策略計劃
- 超市食品安全監(jiān)測總結
- 高管團隊建設與管理計劃
- 機場保安工作要點
- 小班音樂教案:小瓢蟲飛教案及反思
- 生活中的代數(shù)智慧樹知到課后章節(jié)答案2023年下成都師范學院
- 監(jiān)獄物業(yè)投標方案 (技術方案)
- 盲眼鐘表匠:生命自然選擇的秘密
- 雷達的分類及雷達信號處理詳解
- 焊接檢驗作業(yè)指導書
- 甘河工業(yè)園區(qū)穩(wěn)定化固化車間和危廢暫存庫項目環(huán)評報告
- 《新時代勞動教育教程與實踐(第2版)》課程標準
- 21ZJ111 變形縫建筑構造
- 皮帶輸送機日常點檢表
- 自愿放棄證明書怎么寫
評論
0/150
提交評論