国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ASP.NET?。玻暗慕饘俨牧闲阅軘?shù)據(jù)庫檢索系統(tǒng)設(shè)計(jì)

2009-08-13 06:18朱亦鋼
現(xiàn)代電子技術(shù) 2009年10期
關(guān)鍵詞:設(shè)計(jì)模式控件實(shí)體

沈 軍 朱亦鋼

摘 要:材料性能數(shù)據(jù)庫檢索系統(tǒng)的研究與開發(fā)是工業(yè)現(xiàn)代化的重要方面。介紹了一個(gè)針對金屬材料性能試驗(yàn)數(shù)據(jù)的特性,綜合運(yùn)用ASP.NET 2.0技術(shù)、軟件的三層框架理論和設(shè)計(jì)模式的網(wǎng)絡(luò)數(shù)據(jù)庫檢索系統(tǒng)設(shè)計(jì)。重點(diǎn)討論數(shù)據(jù)庫的結(jié)構(gòu),分析系統(tǒng)軟件采用的基于ASP.NET 2.0的三層(數(shù)據(jù)層、業(yè)務(wù)邏輯層、表現(xiàn)層)架構(gòu)模式的特點(diǎn),并對應(yīng)用設(shè)計(jì)模式的實(shí)現(xiàn)過程和繪制曲線圖功能進(jìn)行闡述。該系統(tǒng)在.NET平臺下采用企業(yè)級易于擴(kuò)展的Web數(shù)據(jù)庫集成與實(shí)現(xiàn)模式,且具有操作簡單,運(yùn)行效率高,易維護(hù)的特點(diǎn)。

關(guān)鍵詞:數(shù)據(jù)庫;ASP.NET 2.0;三層架構(gòu);設(shè)計(jì)模式

中圖分類號:TP393文獻(xiàn)標(biāo)識碼:B

文章編號:1004-373X(2009)10-005-03

Design of Query System of Material Property Database Based on ASP.NET 2.0

SHEN Jun,ZHU Yigang

(Institute of Aeronautical Materials,Beijing,100095,China)

Abstract:Scientific researchers worked on the mechanical properties of materials always need to work with data.According to the characteristics of the metal material performance test data,a network database system has been developed based on APS.NET 2.0,design patterns in multiplayer architecture.The database logical relations and the physical structure design thoroughly are analyzed firstly.Multiplayer architecture have been investigated.The application of design patterns in data layer and curve diagram drawing functions is discussed in detail.Using the model,a web database publishing model is proposed,which is oriented for corporations and enterprises.This system has very flexible and exerciables.

Keywords:database;ASP.NET 2.0;multiplayer architecture;design pattern

0 引 言

在現(xiàn)代飛機(jī)研制中,一項(xiàng)優(yōu)秀的設(shè)計(jì)方案應(yīng)該建立在先進(jìn)的設(shè)計(jì)思想、精確的計(jì)算和雄厚的數(shù)據(jù)基礎(chǔ)上。結(jié)構(gòu)分析、疲勞分析和計(jì)算流體動(dòng)態(tài)分析等項(xiàng)工作必須依賴大量的材料性能數(shù)據(jù)。材料數(shù)據(jù)庫技術(shù)是以存取材料性能數(shù)據(jù)為主要內(nèi)容的數(shù)值數(shù)據(jù)庫。計(jì)算機(jī)化的材料性能數(shù)據(jù)庫具有一系列優(yōu)點(diǎn):如存貯信息量大,存取速度快,查詢方便,使用靈活。此外它還具有多種功能:如圖形表達(dá)及數(shù)據(jù)分析等。目前已獲得廣泛應(yīng)用,并可以與工程軟件配套使用。

1 系統(tǒng)總體方案設(shè)計(jì)

金屬材料性能數(shù)據(jù)庫檢索系統(tǒng)是為滿足材料研究和設(shè)計(jì)人員的需要而設(shè)計(jì)的。它采用B/S結(jié)構(gòu)實(shí)現(xiàn)數(shù)據(jù)庫的訪問??紤]到通用性、運(yùn)行效果及實(shí)現(xiàn)成本的因素,系統(tǒng)開發(fā)平臺依托建立企業(yè)級網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的開發(fā)平臺,即微軟公司.NET Framework 2.0和IIS+ASP.NET 2.0的網(wǎng)絡(luò)數(shù)據(jù)庫解決方案來實(shí)現(xiàn),開發(fā)工具采用Visual Studio 2005,編程語言采用C#。數(shù)據(jù)庫管理系統(tǒng)通過SQL Server 2000構(gòu)建。

ASP.NET 2.0是ASP.NET的最新版本,它在1.0的基礎(chǔ)上有了很大改進(jìn),主要技術(shù)特性體現(xiàn)在控件、頁面框架、服務(wù)三個(gè)部分。在控件部分新增了數(shù)據(jù)控件(數(shù)據(jù)源控件和數(shù)據(jù)綁定控件)、登錄控件、站點(diǎn)導(dǎo)航控件等,用于提高開發(fā)效率。在頁面框架部分新增了母版頁、主題和皮膚,用于統(tǒng)一Web網(wǎng)站頁面風(fēng)格。在服務(wù)部分新增了成員資格管理、角色管理等,用于保障Web站點(diǎn)的安全[1,2]。

2 數(shù)據(jù)庫的設(shè)計(jì)

數(shù)據(jù)庫設(shè)計(jì)主要根據(jù)金屬材料性能數(shù)據(jù)的特點(diǎn),針對靜力性能、疲勞/耐久性能、損傷容限性能、腐蝕環(huán)境性能和特殊載荷譜下的性能試驗(yàn)數(shù)據(jù)特點(diǎn),結(jié)合關(guān)系型數(shù)據(jù)庫結(jié)構(gòu)的要求,采用實(shí)體關(guān)系E-R數(shù)據(jù)模型的設(shè)計(jì)方法,對數(shù)據(jù)庫進(jìn)行概念設(shè)計(jì),以減少數(shù)據(jù)冗余,以及以符合數(shù)據(jù)庫的范為目的進(jìn)行物理設(shè)計(jì),最終建立規(guī)范的關(guān)系型數(shù)據(jù)庫。對于本材料性能數(shù)據(jù)庫,主要包括的數(shù)據(jù)是材料背景及相應(yīng)的試驗(yàn)數(shù)據(jù)。

數(shù)據(jù)庫的實(shí)體關(guān)系(E-R模型)由材料、試驗(yàn)任務(wù)、試驗(yàn)數(shù)據(jù)三類實(shí)體構(gòu)成。材料產(chǎn)品實(shí)體包括進(jìn)行試驗(yàn)的材料產(chǎn)品方面的屬性(如材料牌號、材料品種、材料批次、狀態(tài)、生產(chǎn)廠等)。試驗(yàn)任務(wù)實(shí)體包括試樣屬性(如取樣方向等)和試驗(yàn)條件屬性(如試驗(yàn)溫度、試驗(yàn)環(huán)境參數(shù)等),不同性能試驗(yàn)的試驗(yàn)任務(wù)實(shí)體通常具有不同的試驗(yàn)條件。試驗(yàn)數(shù)據(jù)實(shí)體描述通過對每個(gè)試樣個(gè)體按照試驗(yàn)任務(wù)的要求進(jìn)行性能試驗(yàn)后得到的試驗(yàn)數(shù)據(jù)信息。材料實(shí)體和試驗(yàn)任務(wù)、試驗(yàn)任務(wù)和試驗(yàn)數(shù)據(jù)實(shí)體之間是一對多的關(guān)系。E-R模型如圖1所示。

表結(jié)構(gòu)設(shè)計(jì)主要是根據(jù)E-R模型,把數(shù)據(jù)切分成邏輯上相互關(guān)聯(lián)、結(jié)構(gòu)上相互獨(dú)立的表結(jié)構(gòu)[3]。為保證數(shù)據(jù)庫各表間,數(shù)據(jù)的完整性和一致性,還設(shè)定了實(shí)體完整性約束、域完整性和參考完整性。根據(jù)表結(jié)構(gòu)編寫了相應(yīng)的SQL數(shù)據(jù)庫腳本,在SQL Server 2000中實(shí)現(xiàn)了計(jì)算機(jī)數(shù)據(jù)庫的物理設(shè)計(jì)[4,5]。表結(jié)構(gòu)由材料信息表、力學(xué)性能的試驗(yàn)任務(wù)表和試驗(yàn)數(shù)據(jù)表組成。在設(shè)計(jì)時(shí)把整個(gè)試驗(yàn)任務(wù)實(shí)體按15種性能種類進(jìn)行分解,包括拉伸、壓縮、沖擊、剪切、扭轉(zhuǎn)、硬度、疲勞、裂紋擴(kuò)展、斷裂韌度、持久、蠕變、應(yīng)力腐蝕、譜載疲勞、譜載裂紋擴(kuò)展、細(xì)節(jié)疲勞額定強(qiáng)度。材料信息表的材料序號字段為主鍵,各個(gè)性能試驗(yàn)任務(wù)表的試驗(yàn)序號字段為主鍵、外鍵是材料序號字段,試驗(yàn)數(shù)據(jù)表的試樣序號字段為主鍵、外鍵是試驗(yàn)序號字段。

3 應(yīng)用軟件的設(shè)計(jì)

3.1 體系結(jié)構(gòu)設(shè)計(jì)

采用ASP.NET 2.0技術(shù)在.NET平臺可以快速方便地實(shí)現(xiàn)系統(tǒng)三層架構(gòu),其中表現(xiàn)層放在ASP頁面中,數(shù)據(jù)庫操作和邏輯層用組件來實(shí)現(xiàn)。在ASP.NET 2.0中典型的三層架構(gòu)包括:Web 表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層[6-8]。

數(shù)據(jù)訪問層是訪問數(shù)據(jù)庫可重用的接口,由數(shù)據(jù)訪問邏輯組件和業(yè)務(wù)實(shí)體組成。其中,數(shù)據(jù)訪問邏輯組件包括業(yè)務(wù)實(shí)體方法和數(shù)據(jù)訪問助手;業(yè)務(wù)實(shí)體方法處理實(shí)體數(shù)據(jù),數(shù)據(jù)訪問助手處理與數(shù)據(jù)庫的相關(guān)操作。業(yè)務(wù)實(shí)體用于映射關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù),即使用對象的形式表現(xiàn)數(shù)據(jù)庫中的表,實(shí)現(xiàn)了將數(shù)據(jù)轉(zhuǎn)化為對象的功能。數(shù)據(jù)訪問層從業(yè)務(wù)邏輯層接收請求,并執(zhí)行從數(shù)據(jù)庫獲取數(shù)據(jù)或向數(shù)據(jù)庫發(fā)送數(shù)據(jù)的功能。

業(yè)務(wù)邏輯層把數(shù)據(jù)轉(zhuǎn)換成了符合業(yè)務(wù)規(guī)則的有意義信息,即數(shù)據(jù)檢索的規(guī)則放在這一層。系統(tǒng)的業(yè)務(wù)規(guī)則從表現(xiàn)層接受請求,根據(jù)編碼的業(yè)務(wù)規(guī)則處理請求,從數(shù)據(jù)訪問層獲取數(shù)據(jù)或?qū)?shù)據(jù)發(fā)送到數(shù)據(jù)訪問層,將處理結(jié)果傳遞回表現(xiàn)層。

表現(xiàn)層把信息轉(zhuǎn)換成對用戶有意義的內(nèi)容,它是指在應(yīng)用程序中實(shí)現(xiàn)的客戶端。顯示層放在ASP.NET頁面中,管理Web頁的呈現(xiàn)和行為,向業(yè)務(wù)邏輯層發(fā)送用戶輸入,從業(yè)務(wù)邏輯層接收結(jié)果等。該系統(tǒng)采用了三層結(jié)構(gòu),提供了清晰的分離結(jié)構(gòu)和代碼封裝,使程序內(nèi)聚程度高,耦合低,易于擴(kuò)展、維護(hù)和重用[9-11]。三層架構(gòu)如圖2所示。

3.2 功能設(shè)計(jì)

系統(tǒng)流程分為三個(gè)階段,即材料篩選導(dǎo)航、選擇性能、定位相應(yīng)試驗(yàn)數(shù)據(jù),最終獲得查詢結(jié)果。相應(yīng)的性能數(shù)據(jù)檢索主要由條件選擇和試驗(yàn)數(shù)據(jù)呈現(xiàn)兩大模塊構(gòu)成。在條件模塊選擇部分,用戶按材料牌號、品種、狀態(tài)、規(guī)格的順序依次選擇檢索條件。系統(tǒng)根據(jù)用戶選定的條件顯示材料信息表,用戶選定相應(yīng)的材料信息,系統(tǒng)顯示該材料信息涵蓋的性能種類信息表,用戶選定要檢索的性能種類。在試驗(yàn)數(shù)據(jù)呈現(xiàn)部分,顯示該性能種類下試驗(yàn)信息表,用戶選定相應(yīng)的試驗(yàn)條件,系統(tǒng)顯示相應(yīng)的試驗(yàn)結(jié)果表,并具備導(dǎo)出到Excel的功能,另外高周疲勞顯示應(yīng)力(Y值)與循環(huán)周數(shù)(X值)的散點(diǎn)圖,裂紋擴(kuò)展顯示da/dn與ΔK的散點(diǎn)圖,拉伸顯示平均應(yīng)力應(yīng)變曲線,應(yīng)變疲勞顯示(Δε/2)-2Nf曲線。

3.3 代碼的設(shè)計(jì)

3.3.1 三層架構(gòu)應(yīng)用設(shè)計(jì)模式

(1) 設(shè)計(jì)模式。

設(shè)計(jì)模式是一套被反復(fù)使用、經(jīng)過分類編目、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼,讓代碼更容易被他人理解,保證代碼可靠性[12]。根據(jù)完成工作的不同設(shè)計(jì)模式,可以分為創(chuàng)建型模式、結(jié)構(gòu)型模式、行為型模式三大類。這些模式刻畫了在運(yùn)行時(shí)刻難以跟蹤的復(fù)雜控制流。其中,創(chuàng)建型模式與對象的創(chuàng)建有關(guān),即描述怎樣創(chuàng)建一個(gè)對象,它隱藏對象創(chuàng)建的具體細(xì)節(jié),使程序代碼不依賴具體的對象。

(2) 簡單工廠模式在數(shù)據(jù)訪問層的應(yīng)用。

抽象工廠模式是一種創(chuàng)建型的模式,用于當(dāng)需要返回一系列相關(guān)類中的某一個(gè),而每個(gè)類都能根據(jù)需要返回不同的對象。簡單工廠模式是其簡化版,只需調(diào)用工廠類中的方法,就可以創(chuàng)建相關(guān)的產(chǎn)品類實(shí)例。這種面向接口的編程技術(shù),為創(chuàng)建不同產(chǎn)品實(shí)例提供很大方便。

該系統(tǒng)軟件的數(shù)據(jù)訪問層應(yīng)用簡單工廠模式,包括工廠類、抽象產(chǎn)品接口、具體產(chǎn)品類、實(shí)體類、數(shù)據(jù)訪問輔助項(xiàng)目。業(yè)務(wù)邏輯層調(diào)用工廠類,創(chuàng)建抽象產(chǎn)品接口,然后調(diào)用這個(gè)接口的方法返回業(yè)務(wù)實(shí)體類的實(shí)例。具體過程如下:

工廠類采用依賴注入,根據(jù)數(shù)據(jù)存儲來配置應(yīng)用程序,使用配置文件結(jié)合反射技術(shù)。將應(yīng)用程序依賴的組件在運(yùn)行時(shí)注入給應(yīng)用中,針對SQL Server數(shù)據(jù)庫,并可以擴(kuò)展加載Oracle數(shù)據(jù)庫。抽象產(chǎn)品接口將對象的定義與實(shí)現(xiàn)分離,在接口中聲明了成員方法,但不包括具體實(shí)現(xiàn)內(nèi)容。具體產(chǎn)品類調(diào)用數(shù)據(jù)訪問輔助類(微軟公司提供的公共模塊),實(shí)現(xiàn)抽象產(chǎn)品接口中定義的方法。業(yè)務(wù)實(shí)體就是把數(shù)據(jù)表結(jié)合業(yè)務(wù)規(guī)則抽象為類,數(shù)據(jù)表中的字段都抽象為類的屬性。工廠類代碼舉例如下:

namespace DALFactory

{ public sealed class DataAccess

{ private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];

public static IDAL.IDALChartInfo CreateChartInfo()

{ string className = path + ".DALChartXYInfo";

return(IDAL.IDALChartInfo)Assembly.Load(path).CreateInstance(className);}

3.3.2 曲線作圖模塊的設(shè)計(jì)

ASP.NET有一個(gè)內(nèi)建的圖形工具庫,即system.drawing名稱空間的gdi+,不過它屬于低級的api,算不上繪制圖表的引擎。因此采用優(yōu)秀的服務(wù)器端圖表引擎Office 2003 Web 組件,即OWC 11作為曲線繪制模塊的基礎(chǔ),它具有與Excel同樣強(qiáng)大的圖表繪制能力,能在服務(wù)器上動(dòng)態(tài)創(chuàng)建圖表。

曲線作圖模塊的具體設(shè)計(jì)方案是將曲線圖所需的數(shù)據(jù)表的數(shù)據(jù)填充到基于Office 2003 自建的曲線作圖類,然后將曲線圖以gif圖形的形式保存在服務(wù)器上,用Image控件顯示該圖。這種圖形實(shí)現(xiàn)技術(shù)對客戶端沒有特殊的要求,只要能夠顯示gif圖形就可以顯示曲線圖。

在自建的曲線作圖類中,主要是創(chuàng)建一個(gè)圖形容器對象,在圖形容器中增加圖形對象。以散點(diǎn)圖為例,將圖形的類型設(shè)置為散點(diǎn)圖,添加一個(gè)series,給定x,y值,設(shè)置刻度,使用Microsoft.Office.Interop.Owc11.ChartSpace類ExportPicture方法輸出圖形文件。核心代碼如下:

using Microsoft.Office.Interop.Owc11;

ChartSpace ThisChart = new ChartSpaceClass();

ChChart ThisChChart=ThisChart.Charts.Add(0);

ChSeries ThisChSeries = ThisChChart.SeriesCollection.Add(0);

//指定為散點(diǎn)圖

ThisChChart.Type=ChartChartTypeEnum.chChartTypeScatterMarkers

//給定series的名字

ThisChSeries.SetData(ChartDimensionsEnum.chDimSeriesNames,ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),m_SeriesName);

{ //數(shù)據(jù)表的第0列即屬性m_Category為y,第1列即屬性m_Value為x

ThisChSeries.SetData(ChartDimensionsEnum.chDimXValues,(int)ChartSpecialDataSourcesEnum.chDataLiteral,m_Value);

ThisChSeries.SetData(ChartDimensionsEnum.chDimYValues,(int)ChartSpecialDataSourcesEnum.chDataLiteral,m_Category);

//刻度設(shè)置,x軸設(shè)為對數(shù)刻度。

ThisChChart.Axes[1].Scaling.Type =

ChartScaleTypeEnum.chScaleTypeLogarithmic;

//對數(shù)主刻度的主單位

ThisChChart.Axes[1].Scaling.LogBase = 10;}

4 結(jié) 語

基于ASP.NET 2.0技術(shù),采用三層架構(gòu)和B/S體系,建立的金屬材料性能數(shù)據(jù)庫檢索系統(tǒng)是一個(gè)操作簡單,運(yùn)行效率高,易維護(hù)的系統(tǒng)。它是按材料性能的特點(diǎn)建立的,將材料研究工程中產(chǎn)生的科學(xué)數(shù)據(jù)通過電子化數(shù)據(jù)庫方式有效保存,實(shí)現(xiàn)資源的共享,并為相關(guān)的材料研究單位、飛機(jī)設(shè)計(jì)單位提供檢索最新材料性能試驗(yàn)數(shù)據(jù)的途徑,提高了性能數(shù)據(jù)的利用效能。

參考文獻(xiàn)

[1]郝剛.ASP.NET 2.0開發(fā)指南[M].北京:人民郵電出版社,2006.

[2]陳冠軍.精通ASP.NET 2.0企業(yè)級項(xiàng)目開發(fā)[M].北京:人民郵電出版社,2007.

[3]羊海棠,楊瑞成,袁曉波,等.耐磨料磨損材料數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)[J].材料科學(xué)與工藝,2006,14(4):345-348.

[4]易當(dāng)祥,呂國志,姚磊江,等.陶瓷基復(fù)合材料數(shù)據(jù)庫系統(tǒng)的實(shí)現(xiàn)與應(yīng)用[J].機(jī)械工程材料,2005,29(7):68-70.

[5]姚磊江,童小燕,呂勝利,等.C/SiC復(fù)合材料數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)[J].西北工業(yè)大學(xué)學(xué)報(bào),2005,23(4):426-429.

[6]曾廣平,宋中山.數(shù)據(jù)庫進(jìn)化設(shè)計(jì)的敏捷實(shí)施[J].微計(jì)算機(jī)信息,2006,22(11):201-203.

[7]王敏麗.用C/S與B/S技術(shù)進(jìn)行N層體系架構(gòu)的實(shí)現(xiàn)方法研究[J].浙江理工大學(xué)學(xué)報(bào),2006,23(3):331-335.

[8]張慧翔,張新家.一種業(yè)務(wù)邏輯可重構(gòu)的三層應(yīng)用服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2006,26(4):853-856.

[9]易寶林,譚支鵬,馮丹.數(shù)據(jù)庫訪問柔性中間件的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2006,23(11):166-169.

[10]胡順.三層結(jié)構(gòu)在.NET中的應(yīng)用[J].中國科技信息,2005,23(4):426-429.

[11]徐繪宏,潘懋,宋揚(yáng),等.一種構(gòu)建3D GIS應(yīng)用的三層結(jié)構(gòu)方法探討[J].計(jì)算機(jī)工程與應(yīng)用,2005(8):196-200.

[12]肖統(tǒng)民.基于設(shè)計(jì)模式的可重用Web數(shù)據(jù)庫應(yīng)用軟件的研究[J].計(jì)算機(jī)與現(xiàn)代化,2006(7):100-103.

猜你喜歡
設(shè)計(jì)模式控件實(shí)體
“1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
三維協(xié)同設(shè)計(jì)模式下的航天項(xiàng)目管理實(shí)踐與展望
前海自貿(mào)區(qū):金融服務(wù)實(shí)體
交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
關(guān)于.net控件數(shù)組的探討
實(shí)體的可感部分與實(shí)體——兼論亞里士多德分析實(shí)體的兩種模式
兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
ASP.NET服務(wù)器端驗(yàn)證控件的使用
互動(dòng)式設(shè)計(jì)模式研究
远安县| 铜鼓县| 兴海县| 沁源县| 区。| 民乐县| 班戈县| 治县。| 长垣县| 获嘉县| 邮箱| 海安县| 遂溪县| 台中市| 广灵县| 揭东县| 阿勒泰市| 沭阳县| 石渠县| 吴堡县| 庆城县| 小金县| 合山市| 佛山市| 商河县| 自贡市| 晴隆县| 华阴市| 双桥区| 青神县| 舟山市| 互助| 兴国县| 洱源县| 旌德县| 澄江县| 汾阳市| 兴化市| 凤阳县| 乌拉特后旗| 上思县|