国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學(xué)習(xí)啦 > 論文大全 > 畢業(yè)論文 > 計(jì)算機(jī)論文 > 計(jì)算機(jī)應(yīng)用 > 論基于ASP.NET的企業(yè)進(jìn)銷存儲(chǔ)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

論基于ASP.NET的企業(yè)進(jìn)銷存儲(chǔ)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間: 若木633 分享

論基于ASP.NET的企業(yè)進(jìn)銷存儲(chǔ)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

  1 背景

  在應(yīng)用系統(tǒng)開發(fā)過程中,C/S兩層體系結(jié)構(gòu)的開發(fā)模式得到了廣泛的應(yīng)用。其應(yīng)用程序邏輯通常只分布在客戶和服務(wù)器兩端,它采用由客戶端發(fā)出數(shù)據(jù)資源訪問請(qǐng)求,然后服務(wù)器端將結(jié)果返回到客戶端的信息傳遞機(jī)制,對(duì)系統(tǒng)的性能、升級(jí)與維護(hù)等有很大制約。隨著面向?qū)ο蠹夹g(shù)、分層建模技術(shù)和網(wǎng)絡(luò)瀏覽器導(dǎo)航技術(shù)的逐步成熟,B/S模式的多層應(yīng)用體系結(jié)構(gòu)得到了越來越多的應(yīng)用。應(yīng)用系統(tǒng)開發(fā)模式從原來的兩層結(jié)構(gòu)向三層甚至N層結(jié)構(gòu)的轉(zhuǎn)變,主要是在客戶端和服務(wù)器之間加入了一個(gè)被稱為“應(yīng)用服務(wù)器”的一層或多層應(yīng)用服務(wù)程序,使原來集成表示層處理和業(yè)務(wù)邏輯處理的臃腫胖客戶端得以釋放,演變?yōu)楸硎緦雍蜆I(yè)務(wù)邏輯層分開實(shí)現(xiàn)的模式,使開發(fā)人員在保證為用戶提供必要功能操作的簡(jiǎn)潔界面前提下,將主要精力集中在系統(tǒng)核心業(yè)務(wù)邏輯的分析、設(shè)計(jì)和開發(fā)上;從C/S模式到B/S模式的轉(zhuǎn)變,使得原客戶端維護(hù)工作發(fā)生了翻天覆地的變化。C/S模式應(yīng)用程序的客戶端要求管理人員在每個(gè)客戶端計(jì)算機(jī)系統(tǒng)上安裝客戶端程序,當(dāng)需要維護(hù)系統(tǒng)時(shí),管理人員需要到客戶端的用戶那里一個(gè)一個(gè)地解決問題;而B/S模式只需用戶在自己的電腦系統(tǒng)中安裝瀏覽器軟件(該軟件通常在操作系統(tǒng)中可附帶自動(dòng)安裝),應(yīng)用系統(tǒng)的全部程序可以集中放在服務(wù)器中由管理人員統(tǒng)一管理維護(hù),這可以大大節(jié)省系統(tǒng)維護(hù)的開銷。在多層結(jié)構(gòu)模式的B/S系統(tǒng)架構(gòu)中,B/S的三層結(jié)構(gòu)是目前流行的架構(gòu)設(shè)計(jì)模式,它由表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層3個(gè)層次結(jié)構(gòu)組成。微軟公司的ASP.NET充分地發(fā)揮了面向?qū)ο蟮募夹g(shù)特點(diǎn),能輕松實(shí)現(xiàn)三層結(jié)構(gòu)的B/S系統(tǒng)架構(gòu),并在很大程度上提高開發(fā)效率,增強(qiáng)系統(tǒng)的可維護(hù)性和擴(kuò)展性。本文研究如何基于ASP.NET(C#)技術(shù)實(shí)現(xiàn)三層結(jié)構(gòu)應(yīng)用系統(tǒng)的設(shè)計(jì)。

  2 三層結(jié)構(gòu)系統(tǒng)模型

  選擇合適的系統(tǒng)體系架構(gòu)是一項(xiàng)影響整個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)的關(guān)鍵工作。架構(gòu)設(shè)計(jì)主要完成定義和說明包(子系統(tǒng)),以及包與包之間的依賴關(guān)系與通信機(jī)制。B/S模式的三層結(jié)構(gòu)是一種簡(jiǎn)單、成熟,并得到普遍應(yīng)用的應(yīng)用程序架構(gòu),它將應(yīng)用程序結(jié)構(gòu)劃為分3個(gè)相對(duì)獨(dú)立層,包括用戶表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。每一層只實(shí)現(xiàn)該層內(nèi)相對(duì)獨(dú)立的功能,而當(dāng)任何一層發(fā)生變化時(shí),只要保持層間接口關(guān)系不變,則其他各層都不會(huì)受到影響。三層結(jié)構(gòu)是一種嚴(yán)格的分層協(xié)作, 即數(shù)據(jù)訪問層只能被業(yè)務(wù)邏輯層訪問, 業(yè)務(wù)邏輯層只能被表示層訪問。用戶通過表示層將請(qǐng)求傳送給業(yè)務(wù)邏輯層, 業(yè)務(wù)邏輯層完成相關(guān)業(yè)務(wù)規(guī)則和邏輯, 并通過數(shù)據(jù)訪問層訪問數(shù)據(jù)庫(kù)獲得數(shù)據(jù), 然后按照相反的順序依次返回, 將數(shù)據(jù)顯示在用戶界面層。

  2.1 用戶表示層(USL)

  用戶表示層也叫用戶界面層,封裝人機(jī)界面的所有表單和組件,是應(yīng)用系統(tǒng)與系統(tǒng)用戶之間的直接接口。主要用于顯示由業(yè)務(wù)邏輯層動(dòng)態(tài)傳送過來的數(shù)據(jù)信息,結(jié)合使用相應(yīng)的HTML標(biāo)記和樣式表定義來實(shí)現(xiàn);用戶錄入數(shù)據(jù)信息并通過簡(jiǎn)單的校驗(yàn)后,經(jīng)由數(shù)據(jù)接口傳送給業(yè)務(wù)邏輯層下載論文。

  2.2 業(yè)務(wù)邏輯層(BLL)

  業(yè)務(wù)邏輯層主要完成對(duì)應(yīng)用系統(tǒng)相關(guān)業(yè)務(wù)規(guī)則和邏輯的封裝,在為用戶表示層訪問提供功能調(diào)用的同時(shí),它又通過調(diào)用數(shù)據(jù)訪問層所提供的功能來訪問數(shù)據(jù)庫(kù)。業(yè)務(wù)邏輯層主要根據(jù)系統(tǒng)設(shè)計(jì)的需要,通過構(gòu)建系統(tǒng)的關(guān)鍵對(duì)象類,實(shí)現(xiàn)系統(tǒng)的大部分邏輯控制功能。

  2.3 數(shù)據(jù)訪問層(DAL)

  數(shù)據(jù)訪問層只能被業(yè)務(wù)邏輯層訪問,并且系統(tǒng)只通過它訪問數(shù)據(jù)庫(kù)來獲取數(shù)據(jù)。當(dāng)數(shù)據(jù)訪問層根據(jù)業(yè)務(wù)邏輯層的要求與數(shù)據(jù)庫(kù)進(jìn)行交互時(shí),主要完成從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)庫(kù)記錄的查詢和插入、修改與刪除數(shù)據(jù)庫(kù)記錄的更新數(shù)據(jù)功能。眾所周知,數(shù)據(jù)庫(kù)訪問是動(dòng)態(tài)信息管理應(yīng)用系統(tǒng)中最頻繁、最消耗資源的操作,所以必須優(yōu)化對(duì)數(shù)據(jù)庫(kù)的訪問策略,以提高系統(tǒng)的性能和可靠性。B/S模式的三層結(jié)構(gòu)是一種嚴(yán)格的分層定義,它首先將應(yīng)用系統(tǒng)復(fù)雜的開發(fā)工作劃分為相對(duì)簡(jiǎn)單的小分塊,然后在每一層中只實(shí)現(xiàn)系統(tǒng)相應(yīng)層的功能設(shè)計(jì),層間的交互由相鄰層對(duì)應(yīng)的功能模塊進(jìn)行調(diào)用,信息傳遞只由接口進(jìn)行傳送。

  數(shù)據(jù)訪問層一般由兩部分組成:業(yè)務(wù)實(shí)體和數(shù)據(jù)操作。Microsoft公司提供的標(biāo)準(zhǔn)術(shù)語(yǔ)稱為業(yè)務(wù)實(shí)體組件和數(shù)據(jù)訪問邏輯組件。在三層結(jié)構(gòu)中,數(shù)據(jù)訪問層是唯一與數(shù)據(jù)庫(kù)打交道的層,所以該層的設(shè)計(jì)要盡量以提高速度和安全為目標(biāo)。

  業(yè)務(wù)實(shí)體組件體現(xiàn)的是現(xiàn)實(shí)生活中的業(yè)務(wù)數(shù)據(jù),而數(shù)據(jù)訪問邏輯組件則是在數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)或把業(yè)務(wù)實(shí)體數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。

  2.3.1 數(shù)據(jù)訪問邏輯組件

  數(shù)據(jù)訪問邏輯組件,簡(jiǎn)單來講就是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行操作的組件,以及實(shí)現(xiàn)數(shù)據(jù)相關(guān)操作所需的業(yè)務(wù)邏輯。數(shù)據(jù)訪問邏輯組件的主要功能如下:

  (1)在數(shù)據(jù)庫(kù)中添加記錄。

  (2)讀取數(shù)據(jù)庫(kù)的記錄,并以業(yè)務(wù)實(shí)體數(shù)據(jù)的形式返回給調(diào)用者。

  (3)將調(diào)用者修改的業(yè)務(wù)實(shí)體數(shù)據(jù)更新到數(shù)據(jù)庫(kù)。

  (4)刪除數(shù)據(jù)庫(kù)中的記錄。

  并不是所有的數(shù)據(jù)庫(kù)表都由一個(gè)數(shù)據(jù)訪問邏輯組件操作,其實(shí),一個(gè)邏輯組件封裝的是對(duì)數(shù)據(jù)庫(kù)中的一個(gè)表或一組相關(guān)的表的操作。

  2.3.2業(yè)務(wù)實(shí)體組件

  業(yè)務(wù)實(shí)體是以數(shù)據(jù)的形式表示現(xiàn)實(shí)生活中的業(yè)務(wù)模型。業(yè)務(wù)實(shí)體的屬性與數(shù)據(jù)庫(kù)中的表有一一對(duì)應(yīng)的關(guān)系,每個(gè)數(shù)據(jù)庫(kù)訪問組件都對(duì)應(yīng)一個(gè)業(yè)務(wù)實(shí)體。

  2.3.2.1業(yè)務(wù)實(shí)體的特點(diǎn)

  (1)提供對(duì)業(yè)務(wù)數(shù)據(jù)及相關(guān)功能進(jìn)行編程訪問。

  (2)可以使用具有復(fù)雜架構(gòu)的數(shù)據(jù)來創(chuàng)建,這些復(fù)雜的數(shù)據(jù)一般表現(xiàn)為數(shù)據(jù)庫(kù)中可以作為業(yè)務(wù)流程中的輸入輸出的相關(guān)聯(lián)的多個(gè)表。

  (3)可以作為業(yè)務(wù)流程中的輸入輸出參數(shù)來傳遞整體數(shù)據(jù)。

  (4)業(yè)務(wù)實(shí)體不參與事務(wù)處理,只是事務(wù)處理過程中的一部分?jǐn)?shù)據(jù),事務(wù)處理由數(shù)據(jù)訪問層完成。

  2.3.2.2業(yè)務(wù)實(shí)體的表現(xiàn)形式

  在應(yīng)用程序中,業(yè)務(wù)實(shí)體有很多種表現(xiàn)方式。有以數(shù)據(jù)為中心的表示方式,也有面向?qū)ο蟮谋硎痉绞?。具體包括以下幾種方式。

  (1)XML:使用XML字符串或XML文檔對(duì)象模型來表示。

  (2)DataSet:DataSet是緩存在內(nèi)存中一個(gè)或多個(gè)表的集合,一般來源于數(shù)據(jù)庫(kù)或XML文檔。

  (3)自定義業(yè)務(wù)實(shí)體組件:一種自定義的類庫(kù),用于保存業(yè)務(wù)流程中的數(shù)據(jù)。包含一些數(shù)據(jù)表中的字段和其他公共屬性。

  本文采用第三種方法:自定義業(yè)務(wù)實(shí)體組件。業(yè)務(wù)實(shí)體可以被數(shù)據(jù)訪問組件調(diào)用,也可以被業(yè)務(wù)邏輯層調(diào)用,通常的三層結(jié)構(gòu)將業(yè)務(wù)實(shí)體包括在數(shù)據(jù)訪問層中,如圖1所示。

  有的系統(tǒng)把業(yè)務(wù)實(shí)體單獨(dú)放在一層中,如圖2所示,這兩種方式都正確,關(guān)鍵要看設(shè)計(jì)者的意圖以及實(shí)際的開發(fā)項(xiàng)目,本文采用第二種形式。

  3 三層結(jié)構(gòu)優(yōu)缺點(diǎn)

  3.1 三層結(jié)構(gòu)的優(yōu)點(diǎn)

  (1)提高程序的可維護(hù)性:三層架構(gòu)層次分明,一旦運(yùn)行出現(xiàn)問題,可以快速判斷是哪一層的問題,利于維護(hù)。

  (2)可以合理開發(fā):因?yàn)槿龑又g除了調(diào)用沒有其他關(guān)聯(lián),只需要先把三層之間的接口定義好,程序員可以并行開發(fā),提高了開發(fā)的速度。

  (3)提高系統(tǒng)的安全性:每層都有安全設(shè)置,即使表示層被攻破,下一層的安全還有保障。

  (4)提高系統(tǒng)的擴(kuò)展性:三層結(jié)構(gòu)最大的好處是在擴(kuò)展應(yīng)用系統(tǒng)時(shí),改動(dòng)的部分不會(huì)影響到大局,比如要給這個(gè)系統(tǒng)增加Oracle數(shù)據(jù)庫(kù)的功能,只需要改動(dòng)數(shù)據(jù)層就可以了,其他層保持不變。

  3.2 三層結(jié)構(gòu)的缺點(diǎn)

  三層結(jié)構(gòu)開發(fā)模式的一個(gè)非常明顯的缺點(diǎn)就是其執(zhí)行速度不夠快。當(dāng)然這個(gè)“執(zhí)行速度”是相對(duì)于非分層的應(yīng)用程序來說的。 “三層結(jié)構(gòu)”開發(fā)模式,不適用于對(duì)執(zhí)行速度要求過于苛刻的系統(tǒng),如在線訂票、在線炒股等。它比較適用于商業(yè)規(guī)則容易變化的系統(tǒng)。

  4 ASP.NET的三層設(shè)計(jì)和實(shí)現(xiàn)

  基于以上對(duì)B/S三層結(jié)構(gòu)的介紹,下面引用一個(gè)基于ASP.NET技術(shù)的B/S三層結(jié)構(gòu)模式的進(jìn)銷存管理系統(tǒng)的開發(fā)設(shè)計(jì)方法,介紹ASP.NET應(yīng)用系統(tǒng)三層結(jié)構(gòu)的具體實(shí)現(xiàn)。ASP.NET的三層結(jié)構(gòu)應(yīng)用程序目錄結(jié)構(gòu)如圖3所示,目錄BLL業(yè)務(wù)邏輯層,DAL為數(shù)據(jù)訪問層,DBUtility存儲(chǔ)的是一些常用的類和方法,Model為業(yè)務(wù)實(shí)體層,JXC為用戶表示層。

  (1)Model(業(yè)務(wù)實(shí)體層):都是一些屬性,業(yè)務(wù)實(shí)體的屬性與數(shù)據(jù)庫(kù)中的表為一一對(duì)應(yīng)的關(guān)系,每個(gè)數(shù)據(jù)庫(kù)訪問邏輯組件對(duì)應(yīng)一個(gè)業(yè)務(wù)實(shí)體。

  (2)DBUtility公共類:數(shù)據(jù)庫(kù)操作的一些類庫(kù),其中包括pubconstant.cs類(實(shí)現(xiàn)從web.config獲取數(shù)據(jù)庫(kù)連接字符串)、DbHelperSQL.cs 數(shù)據(jù)庫(kù)助手類、對(duì)數(shù)據(jù)訪問的類。

  (3)DAL(數(shù)據(jù)訪問層)的實(shí)現(xiàn):對(duì)應(yīng)著數(shù)據(jù)庫(kù)中的表,實(shí)現(xiàn)對(duì)表常用的操作,如增刪改等常用操作。

  (4)BLL(業(yè)務(wù)邏輯層)的實(shí)現(xiàn):創(chuàng)建每個(gè)類,每個(gè)類對(duì)應(yīng)著數(shù)據(jù)庫(kù)的每張表,完成數(shù)據(jù)表的一些業(yè)務(wù)邏輯,完成對(duì)數(shù)據(jù)層的調(diào)用過程。

  (5)JXC(用戶表示層):界面的編寫。

  5 總結(jié)

  以上介紹了應(yīng)用基于ASP.NET技術(shù)的三層結(jié)構(gòu)模式來設(shè)計(jì)和實(shí)現(xiàn)B/S結(jié)構(gòu)應(yīng)用系統(tǒng)的總體方法。通過介紹示例的具體分層規(guī)劃,體現(xiàn)了利用ASP.NET技術(shù)編寫三層結(jié)構(gòu)的清晰邏輯,并有效地實(shí)現(xiàn)了系統(tǒng)中各功能層的相對(duì)獨(dú)立,使系統(tǒng)具有更強(qiáng)大的靈活性、可擴(kuò)展性和可維護(hù)性;而且系統(tǒng)分層管理使分級(jí)分布部署成為現(xiàn)實(shí),可極大地提高系統(tǒng)的性能和安全性,滿足日益壯大的B/S模式應(yīng)用系統(tǒng)的需求。借鑒此方法還可以開發(fā)企業(yè)其他各類應(yīng)用系統(tǒng),提高企業(yè)的信息化水平。

64785