版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課題名稱班級管理系統(tǒng)姓 名汪詩坤學(xué) 號201310030118院、系、部信息科學(xué)與技術(shù)學(xué)院專 業(yè)計算機(jī)網(wǎng)絡(luò)技術(shù)指導(dǎo)教師李坤 2016年 3 月 24 日畢業(yè)設(shè)計(論文)聲明本人鄭重聲明:1此畢業(yè)設(shè)計(論文)是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立進(jìn)行研究取得的成果。除了特別加以標(biāo)注地方外,本文不包含其他人或其它機(jī)構(gòu)已經(jīng)發(fā)表或撰寫過的研究成果。對本文研究做出重要貢獻(xiàn)的個人與集體均已在文中作了明確標(biāo)明。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。2本人完全了解學(xué)校、學(xué)院有關(guān)保留、使用論文的規(guī)定,同意學(xué)校與學(xué)院保留并向國家有關(guān)部門或機(jī)構(gòu)送交此論文的復(fù)印件和電子版,允許此文被查閱和借閱。本人授權(quán)昭通學(xué)院信息科學(xué)與技術(shù)
2、學(xué)院可以將此文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本文。3若在昭通學(xué)院信息科學(xué)與技術(shù)學(xué)院畢業(yè)論文審查小組復(fù)審中,發(fā)現(xiàn)本文有抄襲,一切后果均由本人承擔(dān),與畢業(yè)論文指導(dǎo)老師無關(guān)。論文作者(簽名): 年 月 日摘 要學(xué)生管理工作是學(xué)校各項工作的一個重要部分,其管理水平的高低將直接影響到人才的培養(yǎng)質(zhì)量。隨著昭通學(xué)院招生規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量的不斷增加,學(xué)生的信息量也成倍增長。昭通學(xué)院多年未變的學(xué)生管理信息系統(tǒng)已無法適應(yīng)現(xiàn)在的信息管理需求。改善原有系統(tǒng)的功能,提高系統(tǒng)的通用性和可擴(kuò)展性成為學(xué)校信息化建設(shè)的迫切需求之一。與此同時,隨著Web技術(shù)的迅猛發(fā)展和
3、應(yīng)用,以及面向?qū)ο蠹夹g(shù)、組件技術(shù)的日益發(fā)展和成熟,Web應(yīng)用需求日益增多,涉及的領(lǐng)域越來越廣,Web應(yīng)用系統(tǒng)的復(fù)雜性也變得越來越高。Web應(yīng)用系統(tǒng)已經(jīng)無法再局限于提供一些靜態(tài)或簡單的動態(tài)內(nèi)容。為了適應(yīng)Web應(yīng)用的特點,多層體系結(jié)構(gòu)應(yīng)運(yùn)而生。其中.NET框架技術(shù)的發(fā)展和其他優(yōu)秀框架的出現(xiàn),更是為新一代管理系統(tǒng)提供了強(qiáng)大的技術(shù)支持。本文針對昭通學(xué)院學(xué)生信息管理的業(yè)務(wù)流程和特點,研究開發(fā)基于B/S架構(gòu)的班級管理系統(tǒng)。論文分析了昭通師范高等專科學(xué)校的學(xué)生管理工作的特點,對.NET多層框架技術(shù)進(jìn)行深入分析和研究,闡述了建立多層框架系統(tǒng)的技術(shù)原理,基于.NET技術(shù)設(shè)計和開發(fā)昭通學(xué)院班級管理系統(tǒng)。該系統(tǒng)包括
4、學(xué)生管理、成績管理、學(xué)生綜合測評、獎學(xué)金管理、學(xué)生處分管理等功能模塊,系統(tǒng)的開發(fā)和應(yīng)用將有效提高學(xué)校學(xué)生管理的工作效率。通過本文的工作,一方面改進(jìn)了昭通師范高等??茖W(xué)校學(xué)生信息的管理方式,另一方面也為基于.NET多層次框架來開發(fā)信息管理系統(tǒng)總結(jié)出了部分經(jīng)驗,為今后的工作提供更多的借鑒。關(guān)鍵詞:B/S模式,學(xué)生信息,管理信息系統(tǒng),.NET技術(shù)ABSTRACTStudent management, which effects on the quality of talent cultivation, is one important part of school works. As the sca
5、le of enrollment increasing, the number of students in Zhaotong Teachers college is larger and larger. The quantity of student information has been doubling. With the development in current condition, the changeless SIMS (Student Information Management System) of Zhaotong Teachers college can not sa
6、tisfy the requirement of information management now. It is one of exigent requirement to amend system function and advance the all-purpose and extensibility.At the same time, with the rapid development of Web technology and applications, and object-oriented technology, component technology developme
7、nt and the growing maturity, the web applications have increased, and more and more widely involved in the field. Web application system has become increasingly complex high. Now the Web application system can no longer confined to the provision of some simple static or dynamic content. In order to
8、adapt to the characteristics of Web applications, multilayer framework came into being. The technology development of .NET multilayer framework and other excellent framework provided a powerful technical support for the modern IMS (Information Management System).This thesis aiming at the Zhaotong Te
9、achers college student information management, business process and characteristics researched and developed the student information management system based on B/S architecture. The characteristics of Zhaotong Teachers college students' management have been analyzed in this thesis. The .NET mult
10、ilayer frame technology has been researched. That were described of the technical framework system established multilayer principle, based on the .NET technology design and develop the Zhaotong Teachers college students' management system. This system including the management of students and tea
11、chers' management, course management, grades management, students' comprehensive evaluation, scholarships management, poverty assistance management and students sanction management function module, the development and application of the system will effectively improve the efficiency of the m
12、anagement of students.Through the work of this thesis, on one hand improved the Zhaotong Teachers college student information management mode, on the other hand some experience can be get about how to empolder an IMS by using .NET multilayer framework, for the future work to provide more reference.K
13、ey Words: Browser/Server mode, Student Information, Management Information Systems, .NET Technology目 錄第一章 引言11.1 研究背景11.2 研究的目的和意義11.3 本文的主要工作31.4 論文組織4第二章 相關(guān)技術(shù)和方法研究52.1 軟件開發(fā)方法簡述52.1.1 結(jié)構(gòu)化程序設(shè)計方法52.1.2 面向?qū)ο蟮拈_發(fā)方法52.2管理信息系統(tǒng)模式概述62.2.1 C/S模式72.2.2 B/S平臺模式82.3. NET技術(shù)概述92.3.1 .NET Framework102.3.2 公共語
14、言運(yùn)行庫112.3.3 .NET Framework 類庫112.3.4 ASP.NET 簡介122.3.5 ADO. NET 簡介13第三章 系統(tǒng)需求分析163.1 系統(tǒng)數(shù)據(jù)需求分析163.2系統(tǒng)功能需求分析17第四章 系統(tǒng)設(shè)計194.1 數(shù)據(jù)庫設(shè)計概述194.1.1 數(shù)據(jù)庫分析和設(shè)計194.1.2 數(shù)據(jù)庫邏輯設(shè)計204.2 系統(tǒng)功能模塊設(shè)計22第五章 系統(tǒng)實現(xiàn)235.1 系統(tǒng)實現(xiàn)說明235.2 登錄模塊235.3 教師管理模塊245.4 學(xué)生管理模塊255.5 課程管理模塊275.6 成績管理模塊285.7 班級管理模塊285.8系統(tǒng)部署295.8.1部署所需條件295.8.2部署方法和步
15、驟29第六章總結(jié)與展望306.1總結(jié)306.2 展望30參考文獻(xiàn)31致 謝32第一章 引言1.1 研究背景又到了一年一度的班級評獎評優(yōu)的時候,此時是班委和輔導(dǎo)員最忙的時候,學(xué)生的信息量隨著大學(xué)的繁榮成倍增長,這個時候大家都很頭疼,數(shù)據(jù)很混亂卻一點都不公正,學(xué)生管理工作是學(xué)校各項工作的一個重要部分,其管理水平的高低直接影響到人才培養(yǎng)的質(zhì)量,面對龐大的信息量,如何有效的提高學(xué)生管理工作的效率是一個班委組織急需解決的問題。 但是,由于各方面的原因,到目前為止還沒有一個用于班級管理的信息系統(tǒng),以至于數(shù)據(jù)很混亂,評獎評優(yōu)搞得很頭疼又不公正不公開。所以,利用數(shù)據(jù)庫開發(fā)一個適合班級需要的學(xué)生信息管理系統(tǒng),可
16、以做到信息的規(guī)范管理、科學(xué)統(tǒng)計和快速查詢,并減少管理方面的工作量。 管理系統(tǒng)是進(jìn)行信息的采集、存儲、加工、維護(hù)和使用的系統(tǒng),它是隨著管理科學(xué)和技術(shù)科學(xué)的發(fā)展而形成的。班級管理系統(tǒng)是一個教育單位不可缺少的一部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以班級管理系統(tǒng)能為用戶提供充足的管理手段,對學(xué)生來說可以輕松的查閱自己在校的成績及排名。班級管理系統(tǒng)提供了強(qiáng)大的學(xué)生管理功能,方便系統(tǒng)管理員對學(xué)生成績等信息的添加、修改、刪除、查詢等操作。 每學(xué)期考試結(jié)束后,教務(wù)工作人員的工作很繁忙,這就要求本班級管理系統(tǒng)對數(shù)據(jù)的輸入要簡要而且高效,所以系統(tǒng)中有方便的數(shù)據(jù)查詢和瀏覽。整個系統(tǒng)有嚴(yán)密的權(quán)限管
17、理;增強(qiáng)了系統(tǒng)數(shù)據(jù)的安全性;刪除修改數(shù)據(jù)方便快捷,并且能夠保持一定的安全;完善的數(shù)據(jù)出錯處理,減少了用戶使用中的麻煩。 傳統(tǒng)的管理模式下,學(xué)校需要使用文件記錄學(xué)生的信息,這種模式只能適合以前規(guī)模較小的學(xué)校,但是隨著信息化時代的到來,信息量的增大,這種管理模式不僅需要大量的管理人員,而且不便于管理,學(xué)生信息的動態(tài)化需要一種能夠及時更新信息的管理,這在傳統(tǒng)的管理模式下很難實現(xiàn)。因此,開發(fā)網(wǎng)上學(xué)生信息管理模式勢在必行。1.2 研究的目的和意義隨著高校擴(kuò)招計劃的進(jìn)一步實施,大學(xué)規(guī)模越來越大,班級越來越多,事務(wù)管理越來越復(fù)雜,這就需要一個班級管理系統(tǒng),我們可以隨時得到班級的一些相關(guān)信息,比如:班級成員個
18、人情況的查詢分析(成績分析、獲獎情況、選課情況等等)、班級集體情況查詢分析(總體成績分析、獲獎情況、成員任職情況等等)。 另外,該系統(tǒng)設(shè)有管理員,管理員對班級總體情況進(jìn)行統(tǒng)一管理,可以對班級同學(xué)進(jìn)行授權(quán)(即普通用戶)、收回權(quán)限以及增刪改等相關(guān)信息。 最后,我們還要考慮到對數(shù)據(jù)庫的綜合管理和維護(hù),主要包括對數(shù)據(jù)庫的備份、恢復(fù)數(shù)據(jù)庫、數(shù)據(jù)安全性和查看數(shù)據(jù)庫日志的操作。 班級管理系統(tǒng)是為了方便班委管理學(xué)生成績而開發(fā)的一種軟件系統(tǒng)。該軟件使學(xué)習(xí)成績管理工作進(jìn)入一種計算機(jī)處理時代。為的是方便學(xué)生查詢自己的信息,提高工作效率,及時有效地更新學(xué)生的最新情況,提供可靠的數(shù)據(jù)存檔。 老師要求的作業(yè),鞏固提高學(xué)生
19、的軟件工程方面的知識。 我們的生活應(yīng)該是信息化的時代,應(yīng)該是電子化的時代,學(xué)生自己創(chuàng)建一個管理系統(tǒng)的文檔,可以方便學(xué)生更多的了解現(xiàn)代社會最應(yīng)該開發(fā)和應(yīng)用的管理系統(tǒng)是什么,更好的鍛煉我們自己成為一個好的管理者。 每個學(xué)期完成了以后,學(xué)生不再因查詢自己的學(xué)期成績而發(fā)愁,只需要進(jìn)入自己的班級管理系統(tǒng),登錄自己的學(xué)號,就可以輕松查詢自己的期末成績,了解自己的日常學(xué)習(xí)狀況,更好的完善、規(guī)范自己。本文的班級管理系統(tǒng)課題產(chǎn)生的背景是當(dāng)今教育信息化的趨勢及我國高校教育信息化系統(tǒng)的建設(shè),目的是充分利用學(xué)?,F(xiàn)有的計算機(jī)軟、硬件資源和網(wǎng)絡(luò)資源實現(xiàn)無紙化管理以避免傳統(tǒng)手工管理的不足。與傳統(tǒng)管理模式相比,網(wǎng)上管理滲入了
20、更多的技術(shù)環(huán)節(jié),對實現(xiàn)安全性的途徑、方法也提出了更高的技術(shù)要求。通過Internet/Intranet來實現(xiàn)網(wǎng)上管理,是現(xiàn)代教育技術(shù)的一個具體實現(xiàn),具有很重要的現(xiàn)實意義。目前,面向Web應(yīng)用系統(tǒng)開發(fā)的技術(shù)發(fā)展迅速,新技術(shù)不斷涌現(xiàn)。如何設(shè)計班級管理系統(tǒng),采用何種技術(shù)來實現(xiàn)班級管理系統(tǒng),提高系統(tǒng)的處理能力,成為一個值得深思的問題。在服務(wù)器端,當(dāng)前正在廣泛被使用的技術(shù)有CGI、ASP、PHP、JSP、Java Servlet等;而在客戶端,則包括VBScript、JavaScript、Java Applet等。這些技術(shù)為Web應(yīng)用系統(tǒng)的開發(fā)提供了堅實的基礎(chǔ)。從總體上來說,這些技術(shù)在開發(fā)效率、運(yùn)行速度
21、、分布式事務(wù)處理以及可擴(kuò)展能力等方面,具有各自的優(yōu)勢,這就要求開發(fā)人員在開發(fā)過程中依據(jù)具體要求靈活選用。在一般情況下,一個實際的Web應(yīng)用系統(tǒng)是由多個開發(fā)人員,依據(jù)各自的任務(wù),采用不同的技術(shù)進(jìn)行協(xié)同開發(fā)而成。但是,在目前的許多實際項目的開發(fā)過程中,由于缺乏一個規(guī)范的編程開發(fā)模式,各部分開發(fā)人員之間缺乏充分的交流而導(dǎo)致出現(xiàn)互相影響、互相制約的局面,造成系統(tǒng)開發(fā)、集成與維護(hù)的成本的上升。因此,為Web應(yīng)用系統(tǒng)的開發(fā)引入一套規(guī)范、合理、有效的開發(fā)模式就顯得尤為重要了。而MVC(Model View Controller)模式憑借其具有的模型和顯示分離、由控制器進(jìn)行流程控制等優(yōu)勢,符合了當(dāng)前Web應(yīng)用
22、系統(tǒng)開發(fā)的基本要求,己逐漸成為開發(fā)Web應(yīng)用系統(tǒng)的主流模式。針對上述問題,集軟件復(fù)用、分布式對象計算、企業(yè)級應(yīng)用開發(fā)等技術(shù)為一體的“基于構(gòu)件的軟件開發(fā)”應(yīng)運(yùn)而生,這種技術(shù)以軟件框架為組裝藍(lán)圖,以可復(fù)用軟件構(gòu)件為組裝模塊,支持組裝式軟件的復(fù)用,大大提高了軟件生產(chǎn)效率和軟件質(zhì)量。國內(nèi)外對于這一技術(shù)的研究正在不斷深入,大型的軟件公司(例如Sun, Microsoft)及軟件組織機(jī)構(gòu)(OMG)都推出了支持分布式計算的平臺規(guī)范。同時,人們越來越認(rèn)識到設(shè)計模式可重用的設(shè)計思想,軟件設(shè)計過程中的重要作用。各種分布式計算平臺不僅本身大量使用了設(shè)計模式,還催生了許多基于特定平臺構(gòu)建應(yīng)用系統(tǒng)的設(shè)計模式。在Web應(yīng)
23、用發(fā)展的早期,由于可選開發(fā)技術(shù)的相對缺乏,人們更多的是從方法學(xué)和軟件工程的角度構(gòu)建相應(yīng)的Web應(yīng)用模型。在隨后的發(fā)展中,進(jìn)一步提出了Web應(yīng)用中的抽象和復(fù)用機(jī)制。所有這些在Web應(yīng)用研究方面都做出了很大貢獻(xiàn),為Web應(yīng)用開發(fā)提供了抽象的概念模型,然而,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和新技術(shù)的不斷出現(xiàn),需要有一套有效的設(shè)計開發(fā)模型指導(dǎo)Web應(yīng)用的開發(fā),同時能夠滿足業(yè)務(wù)需求不斷變化的企業(yè)應(yīng)用的需要,使企業(yè)Web應(yīng)用系統(tǒng)具備良好地可伸縮性、可擴(kuò)展性和安全性等。1.3 本文的主要工作本文以所要開發(fā)的班級管理系統(tǒng)為切入點,系統(tǒng)地研究高校班級管理系統(tǒng)所要處理的事件和所要具備的功能,分析各功能模塊的內(nèi)部結(jié)構(gòu)和模塊之間的
24、關(guān)系,設(shè)計各功能模塊的工作流程,部分實現(xiàn)各功能模塊的管理功能。本文緊扣高校學(xué)生管理實際特點和昭通學(xué)院升本的需求,其功能設(shè)置符合云南高校特點,并能為云南高校學(xué)生管理信息化建設(shè)提供參考和借鑒。1.4 論文組織本文共分為六章:第一章是本文的緒論。這一章節(jié)對本文研究的背景、現(xiàn)狀以及主要研究內(nèi)容進(jìn)行了闡述。第二章是本文的相關(guān)技術(shù)基礎(chǔ)。這一章介紹了Web管理系統(tǒng)開發(fā)技術(shù)及理論基礎(chǔ),對基于用例的軟件建模方法、.NET技術(shù)開發(fā)WEB系統(tǒng)的分層模型、ADO.NET技術(shù)分析研究。這些基礎(chǔ)知識將為下一步的分析設(shè)計奠定技術(shù)基礎(chǔ)。第三章是班級管理系統(tǒng)的設(shè)計。本章節(jié)針對業(yè)務(wù)需求,對班級管理系統(tǒng)進(jìn)行詳細(xì)的闡述。文中重點對系
25、統(tǒng)的數(shù)據(jù)需求及功能需求進(jìn)行了分析,為下一步班級管理系統(tǒng)的設(shè)計奠定下基礎(chǔ)。第四章是班級管理系統(tǒng)的數(shù)據(jù)庫設(shè)計和創(chuàng)建。基于前兩章的內(nèi)容對班級管理系統(tǒng)的數(shù)據(jù)庫進(jìn)行設(shè)計。第五章是班級管理系統(tǒng)的實現(xiàn)部分。依照第三章、第四章的設(shè)計方案,本章介紹了實現(xiàn)班級管理系統(tǒng)的核心步驟,并展示了系統(tǒng)的運(yùn)行效果。第六章是本文的結(jié)論部分。本章對論文的研究成果進(jìn)行了自我總結(jié)和評價,提出了將來的工作展望。最后,列出本論文撰寫過程中所參閱的參考文獻(xiàn)。第二章 相關(guān)技術(shù)和方法研究2.1 軟件開發(fā)方法簡述從結(jié)構(gòu)化程序設(shè)計語言到面向?qū)ο蟪绦蛟O(shè)計語言,人們一直在尋求解決軟件復(fù)用和維護(hù)的更好的軟件編寫模式。結(jié)構(gòu)化程序設(shè)計通過編寫能重復(fù)調(diào)用的子
26、程序減少了代碼的編寫量,經(jīng)過測試的子程序,降低維護(hù)難度。但這種程序設(shè)計方法,可復(fù)用的模塊小,數(shù)量大,耦合關(guān)系復(fù)雜,當(dāng)程序代碼量達(dá)到一定程度后,維護(hù)變得很困難。面向?qū)ο蟮某绦蛟O(shè)計語言,以更符合客觀世界的實體對象的概念,提供了封裝性、繼承性和多態(tài)性,將軟件的可復(fù)用性和維護(hù)性向前邁進(jìn)了一大步。2.1.1 結(jié)構(gòu)化程序設(shè)計方法20 世紀(jì)70 年代,結(jié)構(gòu)化開發(fā)方法是早期使用比較廣泛的軟件開發(fā)方法,由于它具有很多的優(yōu)點,出現(xiàn)之后沒幾年就占據(jù)了軟件開發(fā)的主流。結(jié)構(gòu)化編程中的“自頂向下,逐步求精”的“功能分解法”,是一種很重要的軟件開發(fā)方法,其本質(zhì)是一種“分而治之”的思維方式,在面向?qū)ο蟮某绦蛑幸灿袕V泛的應(yīng)用。
27、這種方法不僅開發(fā)步驟明確,分析階段( SA)、設(shè)計階段(SD)和編程階段(SP)相輔相成,而且給出了兩類典型的軟件結(jié)構(gòu)(變換型和事務(wù)型),便于參照,使軟件開發(fā)的成功率大大提高。但這種開發(fā)方法也存在很多缺點和不足,只著眼于局部的程序結(jié)構(gòu),不考慮程序的輸入、輸出數(shù)據(jù)結(jié)構(gòu)對程序結(jié)構(gòu)的影響,各子部分之間的連接也比較困難,因此這種方法有以下缺點:(1)不適合規(guī)模大、復(fù)雜的項目;(2)難以解決軟件重用問題;(3)難以適應(yīng)需求變化,難以解決系統(tǒng)維護(hù)問題;(4) 由于傳統(tǒng)的開發(fā)模式是面向過程的,因此數(shù)據(jù)和方法是分開的,容易產(chǎn)生問題空間和方法空間在結(jié)構(gòu)上的不一致錯誤1。因此要想使開發(fā)的項目具有良好的穩(wěn)定性和可擴(kuò)
28、展性,使用面向?qū)ο蟮拈_發(fā)方法是目前較好的選擇,面向?qū)ο蠹夹g(shù)經(jīng)過多年的研究實踐,已經(jīng)成為一種成熟有效的開發(fā)方法。2.1.2 面向?qū)ο蟮拈_發(fā)方法面向?qū)ο蟮姆椒ㄊ且环N分析方法、設(shè)計方法和思維方法2。面向?qū)ο蠓椒ň褪前芽陀^世界的事務(wù)抽象為對象的形式化方法,通過這種方法提供一種用戶自定義數(shù)據(jù)類型的途徑。它是利用面向?qū)ο蟮男畔⒔8拍钊珙悺㈥P(guān)系、屬性等以及封裝、繼承、多態(tài)等機(jī)制來構(gòu)造、模擬顯示系統(tǒng)的方法。對象封裝了客觀世界中實體的屬性和行為,類是同一類對象公共屬性和行為的抽象,因此對象是它所屬類的一個實例。面向?qū)ο蠓椒ò严到y(tǒng)按邏輯分離成能完成特定任務(wù)的對象,封裝性、抽象性、繼承性和多態(tài)性是面向?qū)ο箝_發(fā)方法
29、的特點3:(1)對象的封裝性:保護(hù)了對象的數(shù)據(jù)不會被別的對象惡意或無意修改,對數(shù)據(jù)安全性提供了底層的保障,當(dāng)需求改變時,可以擴(kuò)展模塊。封裝這一特性不僅大大提高了代碼的易用性,而且還使得類的開發(fā)者可以方便的更換新的算法,且不會影響類的外部代碼。(2)抽象性:在使用面向?qū)ο蟮姆椒ㄔO(shè)計一個軟件系統(tǒng)時,首先就要區(qū)分出現(xiàn)實世界中的事物所屬的類型,分析它們擁有哪些性質(zhì)與功能,再將它們抽象為在計算機(jī)虛擬世界中才有意義的實體類;在程序運(yùn)行時,由類創(chuàng)建出對象,用對象之間的相互合作關(guān)系來模擬真實世界中事物的相互關(guān)聯(lián)。(3)類的繼承性:繼承性提供了代碼的可重用性,對于以前設(shè)計的具有類似功能的類,可在不改變原有代碼的
30、基礎(chǔ)上,在繼承后的子類代碼中對原有的特征進(jìn)行屏蔽和擴(kuò)充,因而使得原有代碼在很大程度上總是可重用的。(4)多態(tài)性:在現(xiàn)實生活中,可以用一個比較抽象的事物來取代具體的事物,在面向?qū)ο筌浖杏谩岸鄳B(tài)性”這一特性來模擬。子類在繼承的時候可以用自己定義的一些數(shù)據(jù)和方法取代父類原有的數(shù)據(jù)和方法,這就提供了一種在運(yùn)行時通過一個匹配的接口用一個對象去替代另一個對象的能力,也就是說可以給一組共享相同行為和屬性的對象一個公共的描述。因此可以說面向?qū)ο蠹夹g(shù)的繼承性和封裝性也支持軟件的可重用性,能較好的適應(yīng)復(fù)雜系統(tǒng)不斷發(fā)展和變化的要求。這種方法的基本思想就是盡量重用現(xiàn)有的成果,從而提高開發(fā)質(zhì)量和效果。面向?qū)ο蟮乃拇筇?/p>
31、性并不是彼此獨(dú)立的,“抽象”和“封裝”更多體現(xiàn)為一種思維方法,主要體現(xiàn)在面向?qū)ο笙到y(tǒng)的總體分析和設(shè)計中;“繼承”和“多態(tài)”則多應(yīng)用于具體子系統(tǒng)和軟件模塊的設(shè)計與編碼過程中,而且“繼承”是“多態(tài)”的基礎(chǔ)。由此可見,面向?qū)ο笤O(shè)計方法具有模塊化、信息封裝與抽象、繼承、多態(tài)等特點,它解決了系統(tǒng)設(shè)計與管理中所需的軟件可靠性、可重用性、可擴(kuò)充性、可維護(hù)性及提高了開發(fā)效率等問題。2.2 管理班級系統(tǒng)模式概述班級管理系統(tǒng)模式大體上分為四種:主機(jī)終端模式、文件服務(wù)器模式、客戶機(jī)/服務(wù)器模式(Client/Server,簡稱C/S)和瀏覽器/服務(wù)器模式(Browser/Server,簡稱B/S)。主機(jī)終端模式由于
32、硬件選擇有限,應(yīng)用領(lǐng)域越來越窄。而文件服務(wù)器模式只適用小規(guī)模的局域網(wǎng),在用戶多、數(shù)據(jù)量大的情況下會產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是不能滿足互聯(lián)網(wǎng)上用戶的要求。因此,現(xiàn)代企業(yè)管理系統(tǒng)平臺模式主要考慮C/S模式和B/S模式及其綜合應(yīng)用。2.2.1 C/S模式C/S模式的模型是一個分布式系統(tǒng)模型。在這種結(jié)構(gòu)中,應(yīng)用程序通常分為兩大部分:客戶機(jī)部分和服務(wù)器部分??蛻魴C(jī)部分負(fù)責(zé)執(zhí)行前臺功能;服務(wù)器部分執(zhí)行后臺服務(wù)。C/S應(yīng)用系統(tǒng)基本運(yùn)行模式體現(xiàn)為:“請求/響應(yīng)”的應(yīng)答模式。每當(dāng)用戶需要訪問服務(wù)器時就由客戶機(jī)發(fā)出“請求”,服務(wù)器接受“請求”并“響應(yīng)”,然后執(zhí)行相應(yīng)的服務(wù),將執(zhí)行結(jié)果送回給客戶機(jī),由客戶機(jī)進(jìn)一步處理后再
33、提交給用戶。下圖是C/S模式的體系結(jié)構(gòu)圖4。圖2-1 C/S模式的體系結(jié)構(gòu)該結(jié)構(gòu)在近十年的應(yīng)用中得到了廣泛發(fā)展,并獲得很大成功,然而隨著應(yīng)用需求的提高以及技術(shù)的發(fā)展,該結(jié)構(gòu)的局限性也逐漸暴露4:1. 兩層C/S結(jié)構(gòu)中,由于多數(shù)業(yè)務(wù)邏輯部署于客戶機(jī),因此客戶端需要安裝大量的軟件,機(jī)器需要較高的配置,客戶端應(yīng)用程序的分發(fā)工作與維護(hù)工作十分煩瑣,軟件更新時需要逐一對各客戶機(jī)進(jìn)行操作,而且用戶需要進(jìn)行專門的培訓(xùn)才可以進(jìn)行操作,使系統(tǒng)的運(yùn)行成本一直呈上升的趨勢,從某種程度上限制了網(wǎng)絡(luò)的應(yīng)用范圍;2. 若將部分業(yè)務(wù)邏輯部署于數(shù)據(jù)庫層,以存儲過程的方式調(diào)用時,這樣很難將其移植到其他的數(shù)據(jù)庫管理系統(tǒng)上去,降低
34、了代碼的重用性;3. 不同系統(tǒng)的操作界面差異較大,用戶不易在短期內(nèi)很好地掌握系統(tǒng);4. 由于客戶端和服務(wù)器端直接相連,數(shù)據(jù)庫服務(wù)器不得不消耗部分資源用于處理與客戶端的連接工作。這樣,當(dāng)同時存在大量客戶端數(shù)據(jù)請求時,服務(wù)器的系統(tǒng)資源可能在應(yīng)付頻繁的連接工作上消耗,從而不能很好的響應(yīng)數(shù)據(jù)請求,可能導(dǎo)致系統(tǒng)整體效率的大幅降低甚至系統(tǒng)崩潰:5. 基于傳統(tǒng)C/S模式開發(fā)的軟件需要針對不同的操作系統(tǒng)而開發(fā)不同版本的軟件。產(chǎn)品頻繁地更新?lián)Q代,造成了基于C/S模式開發(fā)的軟件成本高且低效率。這種狀況使得C/S的結(jié)構(gòu)已無法適應(yīng)分布式應(yīng)用系統(tǒng)發(fā)展的需要。2.2.2 B/S平臺模式B/S平臺模式是一種新型的軟件架構(gòu),
35、是由傳統(tǒng)的兩層C/S平臺模式發(fā)展而來的多層C/S平臺模式在Web上的應(yīng)用。B/S平臺模式把C/S平臺模式的客戶業(yè)務(wù)邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由單獨(dú)的一層或者多層來處理,把任務(wù)均衡地分配給了Web服務(wù)器。同時,客戶機(jī)把業(yè)務(wù)邏輯部分給服務(wù)器,不再負(fù)責(zé)處理復(fù)雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分。下圖是B/S模式的體系結(jié)構(gòu)圖5。圖2-2 B/S模式的體系結(jié)構(gòu)在該結(jié)構(gòu)中,用戶可以通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,而且極大地簡化了客戶機(jī)的工作,在客戶機(jī)上只需安裝、配置少量的客戶端軟件,服務(wù)器將負(fù)擔(dān)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。與兩層C/S模式相比,B
36、/S模式在許多方面體現(xiàn)了很大的優(yōu)勢,主要體現(xiàn)在以下幾個方面5:1. 開發(fā)和維護(hù)成本:C/S開發(fā)和維護(hù)成本較高,對不同的客戶端要開發(fā)不同的程序,編程工作量大。對于B/S,只需在客戶端安裝通用的瀏覽器,所有的維護(hù)和升級工作都是在服務(wù)器上執(zhí)行的,不需對客戶端進(jìn)行任何改變,故而大大降低了開發(fā)和維護(hù)成本;2. 采用的標(biāo)準(zhǔn):C/S所采用的標(biāo)準(zhǔn)只在內(nèi)部統(tǒng)一,其應(yīng)用通常是專用的,而B/S所采用的標(biāo)準(zhǔn)是開放的、非專用的,保證了其應(yīng)用的通用性和跨平臺性;3. 客戶端任務(wù):C/S的客戶端具有顯示和處理數(shù)據(jù)的功能,任務(wù)過重。B/S的客戶端把業(yè)務(wù)邏輯部分分給了服務(wù)器,不再負(fù)責(zé)處理復(fù)雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示
37、部分,任務(wù)大大減輕;4. 用戶界面風(fēng)格:C/S用戶的界面由客戶端應(yīng)用程序決定,用戶界面各不相同。B/S只需在客戶端安裝通用的瀏覽器就可以訪問應(yīng)用程序,瀏覽器的界面統(tǒng)一友好、易于使用。5. 靈活性:C/S系統(tǒng)模塊中每一部分的變動均要影響到其它模塊的變動,系統(tǒng)升級困難,靈活性差。B/S各層之間相互獨(dú)立,任何一層的改變不影響其它層的功能,系統(tǒng)改進(jìn)非常容易,靈活性好;6. 安全性:C/S系統(tǒng)中的客戶端直接與服務(wù)器相連,非法用戶可以很容易地通過應(yīng)用程序侵入系統(tǒng),并對服務(wù)器數(shù)據(jù)庫進(jìn)行操作,這給系統(tǒng)的安全性帶來極大的隱患。B/S系統(tǒng)在客戶機(jī)和服務(wù)器之間增加了一層或多層Web服務(wù)器,使兩者不直接相連,客戶機(jī)無
38、法直接對數(shù)據(jù)庫操作,可有效地防止用戶的非法入侵;7. 移植性:C/S系統(tǒng)中,不同的系統(tǒng)通常由不同的工具開發(fā),一般來說它們之間互不兼容,難以移植到其它平臺上運(yùn)行,移植性差,而B/S系統(tǒng)在客戶端安裝的是通用瀏覽器,不存在移植性問題,即使是服務(wù)器端的程序,因遵循開放的標(biāo)準(zhǔn),所以向其他的平臺移植也非常方便。B/S平臺模式相對于傳統(tǒng)的兩層C/S平臺模式在多方面都有著十分明顯的優(yōu)勢。因此,B/S平臺模式正是當(dāng)前構(gòu)建復(fù)雜企業(yè)級應(yīng)用的一個趨勢。2.3 . NET技術(shù)概述Microsoft首席執(zhí)行官鮑爾默說:“Microsoft.NET代表了一個集合、一個環(huán)境、一個可以作 為平臺支持下一代Internet 的可
39、編程結(jié)構(gòu)”,這句話簡明扼要地表述了NET 環(huán)境特別適合于開發(fā)Internet 應(yīng)用程序。Microsoft 的構(gòu)思是一個“不再關(guān)注單個網(wǎng)站、單個設(shè)備與Internet 相連的Internat 環(huán)境,而是要讓所有的計算機(jī)群、相關(guān)設(shè)備和服務(wù)商協(xié)同工作”的網(wǎng)絡(luò)計算環(huán)境10。簡單的說,.NET 是微軟針對未來互聯(lián)網(wǎng)推出的一個設(shè)計架構(gòu),在這個架構(gòu)中,微軟的所有產(chǎn)品和應(yīng)用都將以網(wǎng)絡(luò)為中心成為在這個架構(gòu)規(guī)范下的一個部分,這些產(chǎn)品和應(yīng)用包括我們常用的服務(wù)器、設(shè)計工具甚至連接應(yīng)用規(guī)范。未來的Internet ,應(yīng)該以一個個體服務(wù)的形式展現(xiàn)在最終用戶面前,用戶只需知道自己想要什么,而不需要什么,一步步在網(wǎng)上搜索、
40、操作。用戶只需發(fā)出請求,然后只管接收就是了。所有的后臺的復(fù)雜性完全屏蔽起來,.NET 是一種面向網(wǎng)絡(luò),支持各種用戶終端的開發(fā)平臺環(huán)境。.NET 徹底地把計算模式從單機(jī)、客戶機(jī)服務(wù)器和Web 網(wǎng)站的方式轉(zhuǎn)向分布式計算( Distributed Computing ) 11。計算模型CORBA 和COM 都存在“局部計算”的特點,都僅僅是本地或本網(wǎng)計算的模式,而不能把整個Internet 當(dāng)作一個計算資源體系來加以利用。顯而易見,這是一個龐大的復(fù)雜的工程,我們可以將這個框架理解為微軟根據(jù)業(yè)界標(biāo)準(zhǔn)和自己主導(dǎo)的一些規(guī)范而設(shè)立的一個“大家庭”,在這個大家庭中,微軟今后的產(chǎn)品、產(chǎn)品相互之間的交互等都按照一
41、定規(guī)范進(jìn)行。微軟這些規(guī)范的形成,有自己主導(dǎo)提倡的一些標(biāo)準(zhǔn),比如XML 、SOAP 等。NET 則通過一種稱作Web 服務(wù)的技術(shù)把分布在Internet上的各種資源有效的通過編程手段整合在特定的應(yīng)用界面中。.NET 中引入了一系列的新概念,通用語言運(yùn)行庫(Common Language Runtime )使得NET 具有跨語言集成的特性;MetaData 使得NET 組件是自描述的;Assembly 簡化了應(yīng)用程序的配置和部署。同時.NET 采用了多種安全策略,內(nèi)置多種身份認(rèn)證模式,使得系統(tǒng)具有很高的安全特性??偟恼f來,.NET 框架實現(xiàn)了語言開發(fā)、代碼編譯、組件配置、程序運(yùn)行、對象交互等各個層
42、面的功能,為Web服務(wù)及普及應(yīng)用程序提供了一個托管、安全、高效的執(zhí)行環(huán)境。.NET 由五部分組成12:(1).NET 開發(fā)平臺:這是一組用于建立web 服務(wù)應(yīng)用程序和Windows 桌面應(yīng)用程序的軟件組件,包括.NET Froework 、NET 開發(fā)工具(Visual studio . NET )和ASP.NET 。(2).NET 服務(wù)器:能夠提供廣泛聚合和集成Web 服務(wù)的服務(wù)器,是搭建.NET 平臺的后端基礎(chǔ)。(3).NET 基礎(chǔ)服務(wù):密碼認(rèn)證、日歷、文件存儲和用戶信息等基礎(chǔ)服務(wù)是必不可少的。微軟正在著力建設(shè)的.NET My Service 等基礎(chǔ)性服務(wù)是這方面可以借鑒的例子。(4).N
43、ET 終端設(shè)備:廣泛的連接互聯(lián)網(wǎng)并體驗Web 服務(wù)的終端設(shè)備是實現(xiàn).NET 的前端基礎(chǔ)。PC 、PAD 以及各種嵌入式設(shè)備將在這個廣闊的天地里發(fā)揮作用。(5).NET 用戶體驗:能夠滿足人們各種各樣需求的用戶體驗是NET 的最終目標(biāo),也是.NET 的價值實現(xiàn)。其中.NET Framework 是.NET 軟件構(gòu)造中的核心部分,是.NET 最重要的基礎(chǔ)構(gòu)架,它提供了創(chuàng)建、部署和運(yùn)行.NET應(yīng)用的環(huán)境,其它四部分則緊緊圍繞.NET Framework 來組織整合13。2.3.1 .NET Framework.NET Framework 是微軟公司推出的一個新的計算平臺,它包含了操作系統(tǒng)上軟件開發(fā)的
44、所有層,提供微軟平臺上所見過的所有組件技術(shù)、呈現(xiàn)技術(shù)和數(shù)據(jù)技術(shù)的最豐富的繼承級別,徹底地把計算模式從單機(jī)、客戶機(jī)服務(wù)器和Web 網(wǎng)站的方式轉(zhuǎn)型分布式模式14。利用NET 開發(fā)平臺,可以更方便的開發(fā)企業(yè)級應(yīng)用系統(tǒng)架構(gòu)15。用于.NET平臺的編程模型,輔以其它各種技術(shù)實現(xiàn)。意在利用Internet上強(qiáng)大的計算資源和豐富的帶寬資源提高工作效率。.NET 框架旨在實現(xiàn)下列目標(biāo)16:(1)無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠(yuǎn)程執(zhí)行,.NETFramework都提供一個一致的面向?qū)ο蟮木幊汰h(huán)境。(2)提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。(3
45、)提供一個保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。(4)提供一個可消除腳本環(huán)境或解釋環(huán)境性能問題的代碼執(zhí)行環(huán)境。(5)使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web 的應(yīng)用程序)時保持一致。(6)按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確保基于.NET框架的代碼可與任何其它代碼集成。.NET Framework包含兩個關(guān)鍵組件:公共語言運(yùn)行庫(Common Language Runtime , CLR)和Framework類庫(包含ASP.NET,Enterprise服務(wù),ADO.NET 和WindowsForm ) 17。
46、NET Framework 提供了托管執(zhí)行環(huán)境、簡化的開發(fā)和部署以及與各種編程語言的集成。.NET Framework 的層次結(jié)構(gòu)如圖2-1 所示17:圖2-3 .NET Framework 的層次結(jié)構(gòu)2.3.3 .NET Framework 類庫.NET Framework類庫是.NET框架中的實體。.NET類庫又稱為基礎(chǔ)類庫(Base Class Library),提供標(biāo)準(zhǔn)的功能,如輸入輸出、字符串操作、安全管理、網(wǎng)絡(luò)通信、用戶界面設(shè)計等底層功能18。其它所有的類庫都建立在這個基本類庫之上。ADO.NET 數(shù)據(jù)訪問類支持持續(xù)的數(shù)據(jù)管理,它包括SQL 類,可通過標(biāo)準(zhǔn)的SQL 接口進(jìn)行持續(xù)的數(shù)
47、據(jù)存儲操作。XML 類可以實現(xiàn)XML數(shù)據(jù)操作和XML搜索和轉(zhuǎn)換。ASP.NET 類支持Web Forms應(yīng)用程序和Web service的開發(fā)。Windows Forms類支持給予Windows 的智能客戶端應(yīng)用程序的開發(fā)。所有這些類庫合在一起,提供一個跨所有.NET Framework 所支持語言的公共、一致可開發(fā)接口,并且采用清晰而有條理的方式對類庫進(jìn)行分組和描述,這樣開發(fā)者能更容易地找到應(yīng)用程序所需的大多數(shù)功能。.NET Framework支持多種編程語言,并在一個應(yīng)用程序中可以使用不同的語言。程序員可以使用一種或多種.NET編程語言,如微軟自己的VB.NET 、C+、C#和Jscrip
48、t.NET 等。大量其它的.NET編程語言可以從第三方廠商獲得。2.3.4 ASP.NET 簡介ASP 的出現(xiàn)使得網(wǎng)絡(luò)應(yīng)用程序開發(fā)變得相當(dāng)容易,但由于它是通過解釋執(zhí)行的,而且腳本程序和靜態(tài)網(wǎng)頁混合在一起,所以在程序的執(zhí)行速度和程序的可移植性上都存在一些問題,出于這樣的原因,微軟于2002 年正式推出了ASP.NET。ASP.NET并不是簡單的ASP的升級版本,它緊緊依賴與.NET 框架的所有東西,真正從底層被創(chuàng)建,是一種徹底不同的代碼,是在CLR和XML的基礎(chǔ)上,以及在所有其它.NET基礎(chǔ)上創(chuàng)建的。ASP.NET是.NET開發(fā)平臺的一個部件,用來開發(fā)駐留在微軟IIS上并使用諸如HTTP和SOA
49、P等Internet協(xié)議的Web應(yīng)用程序。這種Web 應(yīng)用程序有兩種基本類型,即Web Form應(yīng)用程序和Webservice 。ASP.NET可用于創(chuàng)建功能強(qiáng)大的Web應(yīng)用程序。與其它Web開發(fā)模型相比,ASP.NET 具有如下重要特色19:(1)網(wǎng)頁內(nèi)容與代碼程序相分離把網(wǎng)頁內(nèi)容與代碼程序相分離,這樣使得頁面的設(shè)計和后臺的邏輯程序分別放在不同的兩個文件中,如果修改頁面設(shè)計,則程序代碼無需改動,大大方便了設(shè)計人員和程序員的分工工作。(2)多語言支持可以使用CLR 支持的任何編程語言進(jìn)行開發(fā),例如現(xiàn)階段支持的完全面向?qū)ο蟮某绦蛘Z言VB.NET 、C#等。其中,C#是微軟為NET平臺量身定做的新
50、程序語言,擁有如VB一樣的簡單易用性,同時具備C+的強(qiáng)大功能。(3)執(zhí)行效率更高ASP.NET 不再采用解釋型的腳本語言,而是采用編譯型的語言,ASP.NET 頁面在第一次被調(diào)用時會被編譯,然后緩沖(Cache)在內(nèi)存中,所以只有在第一次被調(diào)用時速度較慢,隨后的調(diào)用則不必進(jìn)行編譯,而是直接執(zhí)行內(nèi)存中的版本,執(zhí)行速度加快了許多。(4)面向?qū)ο蟮奶匦猿顺绦蛟O(shè)計語言都是面向?qū)ο蟮闹?,ASP.NET 中所有的東西都是對象,從變量、服務(wù)器端控件到網(wǎng)頁,都可以以對象的方式對它們進(jìn)行處理。采用面向?qū)ο蟮臋C(jī)制,就是要用到對象的屬性(Property)、方法(Method 和事件(Event),而采用“事件
51、驅(qū)動”編程使ASP.NET 的編程更接近于Windows 編程,程序編寫更簡單,更直觀。(5)運(yùn)行于.NET 平臺通過在.NET 開發(fā)平臺中嵌入ASP.NET ,微軟將CLR和類庫的益處提供給開發(fā)者。ASP.NET使用CLR來編譯代碼,管理執(zhí)行,創(chuàng)造運(yùn)行更快、表現(xiàn)更好的Web應(yīng)用程序。此外,ASP.NET使用類庫讓開發(fā)者更易于將XML格式數(shù)據(jù)合并到Web應(yīng)用程序中,添加處理異常的代碼,創(chuàng)建UI元素,并提供其它的編程功能。2.3.5 ADO. NET 簡介ADO.NET的名稱起源于ADO(ActiveX Data Objects),只要在應(yīng)用程序中使用數(shù)據(jù)庫就不可避免使用ADO.NET。ADO.
52、NET 技術(shù)是一種全新的、完全與數(shù)據(jù)源無關(guān)的數(shù)據(jù)訪問技術(shù),它不是簡單的ADO技術(shù)的升級,而是提供了基于.NET平臺的全新的數(shù)據(jù)訪問方式,設(shè)計ADO.NET組件的目的是負(fù)責(zé)將數(shù)據(jù)庫中的數(shù)據(jù)公開給業(yè)務(wù)邏輯層20。n ADO.NET 新特性數(shù)據(jù)訪問是程序中應(yīng)用最普遍的部分,隨著C#和ADO.NET 的引入,這種操作變得更簡單。微軟在開發(fā).NET的同時,對數(shù)據(jù)訪問模型進(jìn)行了升級,把原來的ADO 模型升級為全新的ADO.NET 數(shù)據(jù)源。原來最重要的Recordset被Dataset和DataReader完全取代了,也不再像原來Recordset那樣一次只能讀取一條記錄,而是讀取整個數(shù)據(jù)庫,然后在內(nèi)存中建
53、立一個影像,從而實現(xiàn)了斷開方式數(shù)據(jù)庫鏈接和內(nèi)存管理自動化,這是微軟的一個重大的技術(shù)突破。ADO.NET是由一系列的數(shù)據(jù)庫相關(guān)類和接口組成的,它的基石是XML 技術(shù),所以通過ADO.NET我們不僅能訪問關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù),而且還能訪問層次化的XML 數(shù)據(jù)。ADO.NET 為斷開式n層編程環(huán)境提供了一流的支持,許多新的應(yīng)用程序都是為該環(huán)境編寫的。使用斷開式數(shù)據(jù)集這一概念已經(jīng)成為編程模型中的焦點。N層編程的ADO.NET的解決方案就是Dataset。集成支持XML和數(shù)據(jù)訪問是緊密聯(lián)系在一起的,即XML的全部內(nèi)容都是有關(guān)數(shù)據(jù)編碼的,而數(shù)據(jù)訪問越來越多的內(nèi)容都與XML 有關(guān)。.NET Framewor
54、k不僅支持Web標(biāo)準(zhǔn),它還是完全基于Web標(biāo)準(zhǔn)生成的。n ADO.NET的對象模型ADO.NET結(jié)構(gòu)包括兩個核心組件21:數(shù)據(jù)集Dataset和.NET Framework 數(shù)據(jù)提供程序,其中數(shù)據(jù)集Dataset與數(shù)據(jù)源斷開并且不需要知道所保存數(shù)據(jù)的來源。.NET Framework是一組組件,包括Connection對象、Command對象、DataReader 對象和DataAdapter 對象4個部分。設(shè)計ADO.NET組件的目的是為了從數(shù)據(jù)操作中分解出數(shù)據(jù)訪問。(1)ADO.NET DataSet是ADO.NET的斷開式結(jié)構(gòu)的核心組件。DataSet 設(shè)計的目的是為了實現(xiàn)獨(dú)立于任何數(shù)據(jù)
55、源的數(shù)據(jù)訪問。因此,它可以用于多種不同的數(shù)據(jù)源,用于XML 數(shù)據(jù),或用于管理應(yīng)用程序本地的數(shù)據(jù)。DataSet 與數(shù)據(jù)源是斷開連接的,可將DateSet視為從數(shù)據(jù)庫檢索出的數(shù)據(jù)在內(nèi)存中的緩存。DataSet 包含一個或多個DataTable對象的集合,這些集合由數(shù)據(jù)行、數(shù)據(jù)列及主鍵、外鍵、約束和有關(guān)DataTable對象中的數(shù)據(jù)的關(guān)系信息組成。( 2 ) ADO.NET 結(jié)構(gòu)的另一個核心組件是.NET Framework 數(shù)據(jù)提供程序。其設(shè)計目的是為了實現(xiàn)數(shù)據(jù)操作和對數(shù)據(jù)的快遞、只進(jìn)和只讀訪問。NET Framework 數(shù)據(jù)提供程序的核心元素是Connection對象、Command 對象、
56、DataReader對象和DataAdapter 對象。其中Connection對象提供與數(shù)據(jù)源的連接;Command對象能夠訪問用于返回數(shù)據(jù),修改數(shù)據(jù),運(yùn)行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令;DataReader從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流;DataAdaPter對象提供連接DataSet 對象和數(shù)據(jù)源的橋梁。DataAdapter使用Command對象在數(shù)據(jù)源中執(zhí)行SQL命令,以便將數(shù)據(jù)加載到DataSet中,并使對DataSet中的數(shù)據(jù)的更改與數(shù)據(jù)源保持一致。如圖2-4 闡述了ADO.NET組件結(jié)構(gòu)21。圖2-4 ADO.NET組件結(jié)構(gòu)n 對數(shù)據(jù)庫的訪問過程由ADO.NET的對象
57、模型知道DataSet和DataReader是ADO.NET提供的兩個用于檢索關(guān)系型數(shù)據(jù)庫并把它存儲在內(nèi)存中的對象,使用DataSet時,一般使用DataAdapter與數(shù)據(jù)源交互,用DatView對DataSset中的數(shù)據(jù)進(jìn)行排序和過濾,DataSet提供內(nèi)存中關(guān)系數(shù)據(jù)的表現(xiàn),包括表和次序、約束等表間的關(guān)系的完整數(shù)據(jù)集合,DataReader提供快速、只向前只讀的來自數(shù)據(jù)庫的數(shù)據(jù)流。如果要完成對數(shù)據(jù)庫的訪問,首先是使用Connection對象連接數(shù)據(jù)源,和數(shù)據(jù)源建立了連接后,一般使用兩種方式訪問數(shù)據(jù)庫,數(shù)據(jù)訪問過程如圖2-3所示21:圖2-5數(shù)據(jù)訪問過程一種方式是直接和數(shù)據(jù)庫連接,即使用Command對象訪問數(shù)據(jù)庫。采用這種方式是通過DataReader對象讀取數(shù)據(jù),然后利用Response.write顯示數(shù)據(jù)。這種方式的優(yōu)點是不占用額外的內(nèi)存,而且讀取速度快,但所編寫的程序代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合資合作收益分配協(xié)議
- 2025年企業(yè)外包勞務(wù)協(xié)議
- 2025年智慧城市物業(yè)管理服務(wù)標(biāo)準(zhǔn)合同范本6篇
- 漫談加強(qiáng)物資管理提高企業(yè)經(jīng)濟(jì)效益-圖文
- 《皮質(zhì)醇增多征荊》課件
- 2025年度醫(yī)院病理科診斷服務(wù)承包合同4篇
- 2025年度汽車轉(zhuǎn)讓及二手車交易稅費(fèi)減免合同
- 2025年度個人房屋租賃后買賣合同(含租金支付及買賣條件)
- 二零二五年度門面轉(zhuǎn)讓及商業(yè)地產(chǎn)租賃合同
- 二零二五年度智能家居燈光控制裝飾家居裝修合同
- 個體工商戶章程(標(biāo)準(zhǔn)版)
- 七年級英語閱讀理解55篇(含答案)
- 廢舊物資買賣合同極簡版
- 2024年正定縣國資產(chǎn)控股運(yùn)營集團(tuán)限公司面向社會公開招聘工作人員高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 智能衣服方案
- 李克勤紅日標(biāo)準(zhǔn)粵語注音歌詞
- 教科版六年級下冊科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時)
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險化學(xué)品經(jīng)營單位安全生產(chǎn)考試題庫
- 案例分析:美國紐約高樓防火設(shè)計課件
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)一 用戶定位與選題
評論
0/150
提交評論