版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課題名稱班級(jí)管理系統(tǒng)姓 名汪詩(shī)坤學(xué) 號(hào)201310030118院、系、部信息科學(xué)與技術(shù)學(xué)院專 業(yè)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)指導(dǎo)教師李坤 2016年 3 月 24 日畢業(yè)設(shè)計(jì)(論文)聲明本人鄭重聲明:1此畢業(yè)設(shè)計(jì)(論文)是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立進(jìn)行研究取得的成果。除了特別加以標(biāo)注地方外,本文不包含其他人或其它機(jī)構(gòu)已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文研究做出重要貢獻(xiàn)的個(gè)人與集體均已在文中作了明確標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。2本人完全了解學(xué)校、學(xué)院有關(guān)保留、使用論文的規(guī)定,同意學(xué)校與學(xué)院保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交此論文的復(fù)印件和電子版,允許此文被查閱和借閱。本人授權(quán)昭通學(xué)院信息科學(xué)與技術(shù)
2、學(xué)院可以將此文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本文。3若在昭通學(xué)院信息科學(xué)與技術(shù)學(xué)院畢業(yè)論文審查小組復(fù)審中,發(fā)現(xiàn)本文有抄襲,一切后果均由本人承擔(dān),與畢業(yè)論文指導(dǎo)老師無(wú)關(guān)。論文作者(簽名): 年 月 日摘 要學(xué)生管理工作是學(xué)校各項(xiàng)工作的一個(gè)重要部分,其管理水平的高低將直接影響到人才的培養(yǎng)質(zhì)量。隨著昭通學(xué)院招生規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量的不斷增加,學(xué)生的信息量也成倍增長(zhǎng)。昭通學(xué)院多年未變的學(xué)生管理信息系統(tǒng)已無(wú)法適應(yīng)現(xiàn)在的信息管理需求。改善原有系統(tǒng)的功能,提高系統(tǒng)的通用性和可擴(kuò)展性成為學(xué)校信息化建設(shè)的迫切需求之一。與此同時(shí),隨著Web技術(shù)的迅猛發(fā)展和
3、應(yīng)用,以及面向?qū)ο蠹夹g(shù)、組件技術(shù)的日益發(fā)展和成熟,Web應(yīng)用需求日益增多,涉及的領(lǐng)域越來(lái)越廣,Web應(yīng)用系統(tǒng)的復(fù)雜性也變得越來(lái)越高。Web應(yīng)用系統(tǒng)已經(jīng)無(wú)法再局限于提供一些靜態(tài)或簡(jiǎn)單的動(dòng)態(tài)內(nèi)容。為了適應(yīng)Web應(yīng)用的特點(diǎn),多層體系結(jié)構(gòu)應(yīng)運(yùn)而生。其中.NET框架技術(shù)的發(fā)展和其他優(yōu)秀框架的出現(xiàn),更是為新一代管理系統(tǒng)提供了強(qiáng)大的技術(shù)支持。本文針對(duì)昭通學(xué)院學(xué)生信息管理的業(yè)務(wù)流程和特點(diǎn),研究開(kāi)發(fā)基于B/S架構(gòu)的班級(jí)管理系統(tǒng)。論文分析了昭通師范高等??茖W(xué)校的學(xué)生管理工作的特點(diǎn),對(duì).NET多層框架技術(shù)進(jìn)行深入分析和研究,闡述了建立多層框架系統(tǒng)的技術(shù)原理,基于.NET技術(shù)設(shè)計(jì)和開(kāi)發(fā)昭通學(xué)院班級(jí)管理系統(tǒng)。該系統(tǒng)包括
4、學(xué)生管理、成績(jī)管理、學(xué)生綜合測(cè)評(píng)、獎(jiǎng)學(xué)金管理、學(xué)生處分管理等功能模塊,系統(tǒng)的開(kāi)發(fā)和應(yīng)用將有效提高學(xué)校學(xué)生管理的工作效率。通過(guò)本文的工作,一方面改進(jìn)了昭通師范高等??茖W(xué)校學(xué)生信息的管理方式,另一方面也為基于.NET多層次框架來(lái)開(kāi)發(fā)信息管理系統(tǒng)總結(jié)出了部分經(jīng)驗(yàn),為今后的工作提供更多的借鑒。關(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 軟件開(kāi)發(fā)方法簡(jiǎn)述52.1.1 結(jié)構(gòu)化程序設(shè)計(jì)方法52.1.2 面向?qū)ο蟮拈_(kāi)發(fā)方法52.2管理信息系統(tǒng)模式概述62.2.1 C/S模式72.2.2 B/S平臺(tái)模式82.3. NET技術(shù)概述92.3.1 .NET Framework102.3.2 公共語(yǔ)
14、言運(yùn)行庫(kù)112.3.3 .NET Framework 類庫(kù)112.3.4 ASP.NET 簡(jiǎn)介122.3.5 ADO. NET 簡(jiǎn)介13第三章 系統(tǒng)需求分析163.1 系統(tǒng)數(shù)據(jù)需求分析163.2系統(tǒng)功能需求分析17第四章 系統(tǒng)設(shè)計(jì)194.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述194.1.1 數(shù)據(jù)庫(kù)分析和設(shè)計(jì)194.1.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)204.2 系統(tǒng)功能模塊設(shè)計(jì)22第五章 系統(tǒng)實(shí)現(xiàn)235.1 系統(tǒng)實(shí)現(xiàn)說(shuō)明235.2 登錄模塊235.3 教師管理模塊245.4 學(xué)生管理模塊255.5 課程管理模塊275.6 成績(jī)管理模塊285.7 班級(jí)管理模塊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 研究背景又到了一年一度的班級(jí)評(píng)獎(jiǎng)評(píng)優(yōu)的時(shí)候,此時(shí)是班委和輔導(dǎo)員最忙的時(shí)候,學(xué)生的信息量隨著大學(xué)的繁榮成倍增長(zhǎng),這個(gè)時(shí)候大家都很頭疼,數(shù)據(jù)很混亂卻一點(diǎn)都不公正,學(xué)生管理工作是學(xué)校各項(xiàng)工作的一個(gè)重要部分,其管理水平的高低直接影響到人才培養(yǎng)的質(zhì)量,面對(duì)龐大的信息量,如何有效的提高學(xué)生管理工作的效率是一個(gè)班委組織急需解決的問(wèn)題。 但是,由于各方面的原因,到目前為止還沒(méi)有一個(gè)用于班級(jí)管理的信息系統(tǒng),以至于數(shù)據(jù)很混亂,評(píng)獎(jiǎng)評(píng)優(yōu)搞得很頭疼又不公正不公開(kāi)。所以,利用數(shù)據(jù)庫(kù)開(kāi)發(fā)一個(gè)適合班級(jí)需要的學(xué)生信息管理系統(tǒng),可
16、以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,并減少管理方面的工作量。 管理系統(tǒng)是進(jìn)行信息的采集、存儲(chǔ)、加工、維護(hù)和使用的系統(tǒng),它是隨著管理科學(xué)和技術(shù)科學(xué)的發(fā)展而形成的。班級(jí)管理系統(tǒng)是一個(gè)教育單位不可缺少的一部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以班級(jí)管理系統(tǒng)能為用戶提供充足的管理手段,對(duì)學(xué)生來(lái)說(shuō)可以輕松的查閱自己在校的成績(jī)及排名。班級(jí)管理系統(tǒng)提供了強(qiáng)大的學(xué)生管理功能,方便系統(tǒng)管理員對(duì)學(xué)生成績(jī)等信息的添加、修改、刪除、查詢等操作。 每學(xué)期考試結(jié)束后,教務(wù)工作人員的工作很繁忙,這就要求本班級(jí)管理系統(tǒng)對(duì)數(shù)據(jù)的輸入要簡(jiǎn)要而且高效,所以系統(tǒng)中有方便的數(shù)據(jù)查詢和瀏覽。整個(gè)系統(tǒng)有嚴(yán)密的權(quán)限管
17、理;增強(qiáng)了系統(tǒng)數(shù)據(jù)的安全性;刪除修改數(shù)據(jù)方便快捷,并且能夠保持一定的安全;完善的數(shù)據(jù)出錯(cuò)處理,減少了用戶使用中的麻煩。 傳統(tǒng)的管理模式下,學(xué)校需要使用文件記錄學(xué)生的信息,這種模式只能適合以前規(guī)模較小的學(xué)校,但是隨著信息化時(shí)代的到來(lái),信息量的增大,這種管理模式不僅需要大量的管理人員,而且不便于管理,學(xué)生信息的動(dòng)態(tài)化需要一種能夠及時(shí)更新信息的管理,這在傳統(tǒng)的管理模式下很難實(shí)現(xiàn)。因此,開(kāi)發(fā)網(wǎng)上學(xué)生信息管理模式勢(shì)在必行。1.2 研究的目的和意義隨著高校擴(kuò)招計(jì)劃的進(jìn)一步實(shí)施,大學(xué)規(guī)模越來(lái)越大,班級(jí)越來(lái)越多,事務(wù)管理越來(lái)越復(fù)雜,這就需要一個(gè)班級(jí)管理系統(tǒng),我們可以隨時(shí)得到班級(jí)的一些相關(guān)信息,比如:班級(jí)成員個(gè)
18、人情況的查詢分析(成績(jī)分析、獲獎(jiǎng)情況、選課情況等等)、班級(jí)集體情況查詢分析(總體成績(jī)分析、獲獎(jiǎng)情況、成員任職情況等等)。 另外,該系統(tǒng)設(shè)有管理員,管理員對(duì)班級(jí)總體情況進(jìn)行統(tǒng)一管理,可以對(duì)班級(jí)同學(xué)進(jìn)行授權(quán)(即普通用戶)、收回權(quán)限以及增刪改等相關(guān)信息。 最后,我們還要考慮到對(duì)數(shù)據(jù)庫(kù)的綜合管理和維護(hù),主要包括對(duì)數(shù)據(jù)庫(kù)的備份、恢復(fù)數(shù)據(jù)庫(kù)、數(shù)據(jù)安全性和查看數(shù)據(jù)庫(kù)日志的操作。 班級(jí)管理系統(tǒng)是為了方便班委管理學(xué)生成績(jī)而開(kāi)發(fā)的一種軟件系統(tǒng)。該軟件使學(xué)習(xí)成績(jī)管理工作進(jìn)入一種計(jì)算機(jī)處理時(shí)代。為的是方便學(xué)生查詢自己的信息,提高工作效率,及時(shí)有效地更新學(xué)生的最新情況,提供可靠的數(shù)據(jù)存檔。 老師要求的作業(yè),鞏固提高學(xué)生
19、的軟件工程方面的知識(shí)。 我們的生活應(yīng)該是信息化的時(shí)代,應(yīng)該是電子化的時(shí)代,學(xué)生自己創(chuàng)建一個(gè)管理系統(tǒng)的文檔,可以方便學(xué)生更多的了解現(xiàn)代社會(huì)最應(yīng)該開(kāi)發(fā)和應(yīng)用的管理系統(tǒng)是什么,更好的鍛煉我們自己成為一個(gè)好的管理者。 每個(gè)學(xué)期完成了以后,學(xué)生不再因查詢自己的學(xué)期成績(jī)而發(fā)愁,只需要進(jìn)入自己的班級(jí)管理系統(tǒng),登錄自己的學(xué)號(hào),就可以輕松查詢自己的期末成績(jī),了解自己的日常學(xué)習(xí)狀況,更好的完善、規(guī)范自己。本文的班級(jí)管理系統(tǒng)課題產(chǎn)生的背景是當(dāng)今教育信息化的趨勢(shì)及我國(guó)高校教育信息化系統(tǒng)的建設(shè),目的是充分利用學(xué)?,F(xiàn)有的計(jì)算機(jī)軟、硬件資源和網(wǎng)絡(luò)資源實(shí)現(xiàn)無(wú)紙化管理以避免傳統(tǒng)手工管理的不足。與傳統(tǒng)管理模式相比,網(wǎng)上管理滲入了
20、更多的技術(shù)環(huán)節(jié),對(duì)實(shí)現(xiàn)安全性的途徑、方法也提出了更高的技術(shù)要求。通過(guò)Internet/Intranet來(lái)實(shí)現(xiàn)網(wǎng)上管理,是現(xiàn)代教育技術(shù)的一個(gè)具體實(shí)現(xiàn),具有很重要的現(xiàn)實(shí)意義。目前,面向Web應(yīng)用系統(tǒng)開(kāi)發(fā)的技術(shù)發(fā)展迅速,新技術(shù)不斷涌現(xiàn)。如何設(shè)計(jì)班級(jí)管理系統(tǒng),采用何種技術(shù)來(lái)實(shí)現(xiàn)班級(jí)管理系統(tǒng),提高系統(tǒng)的處理能力,成為一個(gè)值得深思的問(wèn)題。在服務(wù)器端,當(dāng)前正在廣泛被使用的技術(shù)有CGI、ASP、PHP、JSP、Java Servlet等;而在客戶端,則包括VBScript、JavaScript、Java Applet等。這些技術(shù)為Web應(yīng)用系統(tǒng)的開(kāi)發(fā)提供了堅(jiān)實(shí)的基礎(chǔ)。從總體上來(lái)說(shuō),這些技術(shù)在開(kāi)發(fā)效率、運(yùn)行速度
21、、分布式事務(wù)處理以及可擴(kuò)展能力等方面,具有各自的優(yōu)勢(shì),這就要求開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中依據(jù)具體要求靈活選用。在一般情況下,一個(gè)實(shí)際的Web應(yīng)用系統(tǒng)是由多個(gè)開(kāi)發(fā)人員,依據(jù)各自的任務(wù),采用不同的技術(shù)進(jìn)行協(xié)同開(kāi)發(fā)而成。但是,在目前的許多實(shí)際項(xiàng)目的開(kāi)發(fā)過(guò)程中,由于缺乏一個(gè)規(guī)范的編程開(kāi)發(fā)模式,各部分開(kāi)發(fā)人員之間缺乏充分的交流而導(dǎo)致出現(xiàn)互相影響、互相制約的局面,造成系統(tǒng)開(kāi)發(fā)、集成與維護(hù)的成本的上升。因此,為Web應(yīng)用系統(tǒng)的開(kāi)發(fā)引入一套規(guī)范、合理、有效的開(kāi)發(fā)模式就顯得尤為重要了。而MVC(Model View Controller)模式憑借其具有的模型和顯示分離、由控制器進(jìn)行流程控制等優(yōu)勢(shì),符合了當(dāng)前Web應(yīng)用
22、系統(tǒng)開(kāi)發(fā)的基本要求,己逐漸成為開(kāi)發(fā)Web應(yīng)用系統(tǒng)的主流模式。針對(duì)上述問(wèn)題,集軟件復(fù)用、分布式對(duì)象計(jì)算、企業(yè)級(jí)應(yīng)用開(kāi)發(fā)等技術(shù)為一體的“基于構(gòu)件的軟件開(kāi)發(fā)”應(yīng)運(yùn)而生,這種技術(shù)以軟件框架為組裝藍(lán)圖,以可復(fù)用軟件構(gòu)件為組裝模塊,支持組裝式軟件的復(fù)用,大大提高了軟件生產(chǎn)效率和軟件質(zhì)量。國(guó)內(nèi)外對(duì)于這一技術(shù)的研究正在不斷深入,大型的軟件公司(例如Sun, Microsoft)及軟件組織機(jī)構(gòu)(OMG)都推出了支持分布式計(jì)算的平臺(tái)規(guī)范。同時(shí),人們?cè)絹?lái)越認(rèn)識(shí)到設(shè)計(jì)模式可重用的設(shè)計(jì)思想,軟件設(shè)計(jì)過(guò)程中的重要作用。各種分布式計(jì)算平臺(tái)不僅本身大量使用了設(shè)計(jì)模式,還催生了許多基于特定平臺(tái)構(gòu)建應(yīng)用系統(tǒng)的設(shè)計(jì)模式。在Web應(yīng)
23、用發(fā)展的早期,由于可選開(kāi)發(fā)技術(shù)的相對(duì)缺乏,人們更多的是從方法學(xué)和軟件工程的角度構(gòu)建相應(yīng)的Web應(yīng)用模型。在隨后的發(fā)展中,進(jìn)一步提出了Web應(yīng)用中的抽象和復(fù)用機(jī)制。所有這些在Web應(yīng)用研究方面都做出了很大貢獻(xiàn),為Web應(yīng)用開(kāi)發(fā)提供了抽象的概念模型,然而,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和新技術(shù)的不斷出現(xiàn),需要有一套有效的設(shè)計(jì)開(kāi)發(fā)模型指導(dǎo)Web應(yīng)用的開(kāi)發(fā),同時(shí)能夠滿足業(yè)務(wù)需求不斷變化的企業(yè)應(yīng)用的需要,使企業(yè)Web應(yīng)用系統(tǒng)具備良好地可伸縮性、可擴(kuò)展性和安全性等。1.3 本文的主要工作本文以所要開(kāi)發(fā)的班級(jí)管理系統(tǒng)為切入點(diǎn),系統(tǒng)地研究高校班級(jí)管理系統(tǒng)所要處理的事件和所要具備的功能,分析各功能模塊的內(nèi)部結(jié)構(gòu)和模塊之間的
24、關(guān)系,設(shè)計(jì)各功能模塊的工作流程,部分實(shí)現(xiàn)各功能模塊的管理功能。本文緊扣高校學(xué)生管理實(shí)際特點(diǎn)和昭通學(xué)院升本的需求,其功能設(shè)置符合云南高校特點(diǎn),并能為云南高校學(xué)生管理信息化建設(shè)提供參考和借鑒。1.4 論文組織本文共分為六章:第一章是本文的緒論。這一章節(jié)對(duì)本文研究的背景、現(xiàn)狀以及主要研究?jī)?nèi)容進(jìn)行了闡述。第二章是本文的相關(guān)技術(shù)基礎(chǔ)。這一章介紹了Web管理系統(tǒng)開(kāi)發(fā)技術(shù)及理論基礎(chǔ),對(duì)基于用例的軟件建模方法、.NET技術(shù)開(kāi)發(fā)WEB系統(tǒng)的分層模型、ADO.NET技術(shù)分析研究。這些基礎(chǔ)知識(shí)將為下一步的分析設(shè)計(jì)奠定技術(shù)基礎(chǔ)。第三章是班級(jí)管理系統(tǒng)的設(shè)計(jì)。本章節(jié)針對(duì)業(yè)務(wù)需求,對(duì)班級(jí)管理系統(tǒng)進(jìn)行詳細(xì)的闡述。文中重點(diǎn)對(duì)系
25、統(tǒng)的數(shù)據(jù)需求及功能需求進(jìn)行了分析,為下一步班級(jí)管理系統(tǒng)的設(shè)計(jì)奠定下基礎(chǔ)。第四章是班級(jí)管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)和創(chuàng)建?;谇皟烧碌膬?nèi)容對(duì)班級(jí)管理系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。第五章是班級(jí)管理系統(tǒng)的實(shí)現(xiàn)部分。依照第三章、第四章的設(shè)計(jì)方案,本章介紹了實(shí)現(xiàn)班級(jí)管理系統(tǒng)的核心步驟,并展示了系統(tǒng)的運(yùn)行效果。第六章是本文的結(jié)論部分。本章對(duì)論文的研究成果進(jìn)行了自我總結(jié)和評(píng)價(jià),提出了將來(lái)的工作展望。最后,列出本論文撰寫(xiě)過(guò)程中所參閱的參考文獻(xiàn)。第二章 相關(guān)技術(shù)和方法研究2.1 軟件開(kāi)發(fā)方法簡(jiǎn)述從結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言到面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,人們一直在尋求解決軟件復(fù)用和維護(hù)的更好的軟件編寫(xiě)模式。結(jié)構(gòu)化程序設(shè)計(jì)通過(guò)編寫(xiě)能重復(fù)調(diào)用的子
26、程序減少了代碼的編寫(xiě)量,經(jīng)過(guò)測(cè)試的子程序,降低維護(hù)難度。但這種程序設(shè)計(jì)方法,可復(fù)用的模塊小,數(shù)量大,耦合關(guān)系復(fù)雜,當(dāng)程序代碼量達(dá)到一定程度后,維護(hù)變得很困難。面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,以更符合客觀世界的實(shí)體對(duì)象的概念,提供了封裝性、繼承性和多態(tài)性,將軟件的可復(fù)用性和維護(hù)性向前邁進(jìn)了一大步。2.1.1 結(jié)構(gòu)化程序設(shè)計(jì)方法20 世紀(jì)70 年代,結(jié)構(gòu)化開(kāi)發(fā)方法是早期使用比較廣泛的軟件開(kāi)發(fā)方法,由于它具有很多的優(yōu)點(diǎn),出現(xiàn)之后沒(méi)幾年就占據(jù)了軟件開(kāi)發(fā)的主流。結(jié)構(gòu)化編程中的“自頂向下,逐步求精”的“功能分解法”,是一種很重要的軟件開(kāi)發(fā)方法,其本質(zhì)是一種“分而治之”的思維方式,在面向?qū)ο蟮某绦蛑幸灿袕V泛的應(yīng)用。
27、這種方法不僅開(kāi)發(fā)步驟明確,分析階段( SA)、設(shè)計(jì)階段(SD)和編程階段(SP)相輔相成,而且給出了兩類典型的軟件結(jié)構(gòu)(變換型和事務(wù)型),便于參照,使軟件開(kāi)發(fā)的成功率大大提高。但這種開(kāi)發(fā)方法也存在很多缺點(diǎn)和不足,只著眼于局部的程序結(jié)構(gòu),不考慮程序的輸入、輸出數(shù)據(jù)結(jié)構(gòu)對(duì)程序結(jié)構(gòu)的影響,各子部分之間的連接也比較困難,因此這種方法有以下缺點(diǎn):(1)不適合規(guī)模大、復(fù)雜的項(xiàng)目;(2)難以解決軟件重用問(wèn)題;(3)難以適應(yīng)需求變化,難以解決系統(tǒng)維護(hù)問(wèn)題;(4) 由于傳統(tǒng)的開(kāi)發(fā)模式是面向過(guò)程的,因此數(shù)據(jù)和方法是分開(kāi)的,容易產(chǎn)生問(wèn)題空間和方法空間在結(jié)構(gòu)上的不一致錯(cuò)誤1。因此要想使開(kāi)發(fā)的項(xiàng)目具有良好的穩(wěn)定性和可擴(kuò)
28、展性,使用面向?qū)ο蟮拈_(kāi)發(fā)方法是目前較好的選擇,面向?qū)ο蠹夹g(shù)經(jīng)過(guò)多年的研究實(shí)踐,已經(jīng)成為一種成熟有效的開(kāi)發(fā)方法。2.1.2 面向?qū)ο蟮拈_(kāi)發(fā)方法面向?qū)ο蟮姆椒ㄊ且环N分析方法、設(shè)計(jì)方法和思維方法2。面向?qū)ο蠓椒ň褪前芽陀^世界的事務(wù)抽象為對(duì)象的形式化方法,通過(guò)這種方法提供一種用戶自定義數(shù)據(jù)類型的途徑。它是利用面向?qū)ο蟮男畔⒔8拍钊珙悺㈥P(guān)系、屬性等以及封裝、繼承、多態(tài)等機(jī)制來(lái)構(gòu)造、模擬顯示系統(tǒng)的方法。對(duì)象封裝了客觀世界中實(shí)體的屬性和行為,類是同一類對(duì)象公共屬性和行為的抽象,因此對(duì)象是它所屬類的一個(gè)實(shí)例。面向?qū)ο蠓椒ò严到y(tǒng)按邏輯分離成能完成特定任務(wù)的對(duì)象,封裝性、抽象性、繼承性和多態(tài)性是面向?qū)ο箝_(kāi)發(fā)方法
29、的特點(diǎn)3:(1)對(duì)象的封裝性:保護(hù)了對(duì)象的數(shù)據(jù)不會(huì)被別的對(duì)象惡意或無(wú)意修改,對(duì)數(shù)據(jù)安全性提供了底層的保障,當(dāng)需求改變時(shí),可以擴(kuò)展模塊。封裝這一特性不僅大大提高了代碼的易用性,而且還使得類的開(kāi)發(fā)者可以方便的更換新的算法,且不會(huì)影響類的外部代碼。(2)抽象性:在使用面向?qū)ο蟮姆椒ㄔO(shè)計(jì)一個(gè)軟件系統(tǒng)時(shí),首先就要區(qū)分出現(xiàn)實(shí)世界中的事物所屬的類型,分析它們擁有哪些性質(zhì)與功能,再將它們抽象為在計(jì)算機(jī)虛擬世界中才有意義的實(shí)體類;在程序運(yùn)行時(shí),由類創(chuàng)建出對(duì)象,用對(duì)象之間的相互合作關(guān)系來(lái)模擬真實(shí)世界中事物的相互關(guān)聯(lián)。(3)類的繼承性:繼承性提供了代碼的可重用性,對(duì)于以前設(shè)計(jì)的具有類似功能的類,可在不改變?cè)写a的
30、基礎(chǔ)上,在繼承后的子類代碼中對(duì)原有的特征進(jìn)行屏蔽和擴(kuò)充,因而使得原有代碼在很大程度上總是可重用的。(4)多態(tài)性:在現(xiàn)實(shí)生活中,可以用一個(gè)比較抽象的事物來(lái)取代具體的事物,在面向?qū)ο筌浖杏谩岸鄳B(tài)性”這一特性來(lái)模擬。子類在繼承的時(shí)候可以用自己定義的一些數(shù)據(jù)和方法取代父類原有的數(shù)據(jù)和方法,這就提供了一種在運(yùn)行時(shí)通過(guò)一個(gè)匹配的接口用一個(gè)對(duì)象去替代另一個(gè)對(duì)象的能力,也就是說(shuō)可以給一組共享相同行為和屬性的對(duì)象一個(gè)公共的描述。因此可以說(shuō)面向?qū)ο蠹夹g(shù)的繼承性和封裝性也支持軟件的可重用性,能較好的適應(yīng)復(fù)雜系統(tǒng)不斷發(fā)展和變化的要求。這種方法的基本思想就是盡量重用現(xiàn)有的成果,從而提高開(kāi)發(fā)質(zhì)量和效果。面向?qū)ο蟮乃拇筇?/p>
31、性并不是彼此獨(dú)立的,“抽象”和“封裝”更多體現(xiàn)為一種思維方法,主要體現(xiàn)在面向?qū)ο笙到y(tǒng)的總體分析和設(shè)計(jì)中;“繼承”和“多態(tài)”則多應(yīng)用于具體子系統(tǒng)和軟件模塊的設(shè)計(jì)與編碼過(guò)程中,而且“繼承”是“多態(tài)”的基礎(chǔ)。由此可見(jiàn),面向?qū)ο笤O(shè)計(jì)方法具有模塊化、信息封裝與抽象、繼承、多態(tài)等特點(diǎn),它解決了系統(tǒng)設(shè)計(jì)與管理中所需的軟件可靠性、可重用性、可擴(kuò)充性、可維護(hù)性及提高了開(kāi)發(fā)效率等問(wèn)題。2.2 管理班級(jí)系統(tǒng)模式概述班級(jí)管理系統(tǒng)模式大體上分為四種:主機(jī)終端模式、文件服務(wù)器模式、客戶機(jī)/服務(wù)器模式(Client/Server,簡(jiǎn)稱C/S)和瀏覽器/服務(wù)器模式(Browser/Server,簡(jiǎn)稱B/S)。主機(jī)終端模式由于
32、硬件選擇有限,應(yīng)用領(lǐng)域越來(lái)越窄。而文件服務(wù)器模式只適用小規(guī)模的局域網(wǎng),在用戶多、數(shù)據(jù)量大的情況下會(huì)產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是不能滿足互聯(lián)網(wǎng)上用戶的要求。因此,現(xiàn)代企業(yè)管理系統(tǒng)平臺(tái)模式主要考慮C/S模式和B/S模式及其綜合應(yīng)用。2.2.1 C/S模式C/S模式的模型是一個(gè)分布式系統(tǒng)模型。在這種結(jié)構(gòu)中,應(yīng)用程序通常分為兩大部分:客戶機(jī)部分和服務(wù)器部分??蛻魴C(jī)部分負(fù)責(zé)執(zhí)行前臺(tái)功能;服務(wù)器部分執(zhí)行后臺(tái)服務(wù)。C/S應(yīng)用系統(tǒng)基本運(yùn)行模式體現(xiàn)為:“請(qǐng)求/響應(yīng)”的應(yīng)答模式。每當(dāng)用戶需要訪問(wèn)服務(wù)器時(shí)就由客戶機(jī)發(fā)出“請(qǐng)求”,服務(wù)器接受“請(qǐng)求”并“響應(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ù)工作十分煩瑣,軟件更新時(shí)需要逐一對(duì)各客戶機(jī)進(jìn)行操作,而且用戶需要進(jìn)行專門的培訓(xùn)才可以進(jìn)行操作,使系統(tǒng)的運(yùn)行成本一直呈上升的趨勢(shì),從某種程度上限制了網(wǎng)絡(luò)的應(yīng)用范圍;2. 若將部分業(yè)務(wù)邏輯部署于數(shù)據(jù)庫(kù)層,以存儲(chǔ)過(guò)程的方式調(diào)用時(shí),這樣很難將其移植到其他的數(shù)據(jù)庫(kù)管理系統(tǒng)上去,降低
34、了代碼的重用性;3. 不同系統(tǒng)的操作界面差異較大,用戶不易在短期內(nèi)很好地掌握系統(tǒng);4. 由于客戶端和服務(wù)器端直接相連,數(shù)據(jù)庫(kù)服務(wù)器不得不消耗部分資源用于處理與客戶端的連接工作。這樣,當(dāng)同時(shí)存在大量客戶端數(shù)據(jù)請(qǐng)求時(shí),服務(wù)器的系統(tǒng)資源可能在應(yīng)付頻繁的連接工作上消耗,從而不能很好的響應(yīng)數(shù)據(jù)請(qǐng)求,可能導(dǎo)致系統(tǒng)整體效率的大幅降低甚至系統(tǒng)崩潰:5. 基于傳統(tǒng)C/S模式開(kāi)發(fā)的軟件需要針對(duì)不同的操作系統(tǒng)而開(kāi)發(fā)不同版本的軟件。產(chǎn)品頻繁地更新?lián)Q代,造成了基于C/S模式開(kāi)發(fā)的軟件成本高且低效率。這種狀況使得C/S的結(jié)構(gòu)已無(wú)法適應(yīng)分布式應(yīng)用系統(tǒng)發(fā)展的需要。2.2.2 B/S平臺(tái)模式B/S平臺(tái)模式是一種新型的軟件架構(gòu),
35、是由傳統(tǒng)的兩層C/S平臺(tái)模式發(fā)展而來(lái)的多層C/S平臺(tái)模式在Web上的應(yīng)用。B/S平臺(tái)模式把C/S平臺(tái)模式的客戶業(yè)務(wù)邏輯模塊從客戶機(jī)的任務(wù)中分離出來(lái),由單獨(dú)的一層或者多層來(lái)處理,把任務(wù)均衡地分配給了Web服務(wù)器。同時(shí),客戶機(jī)把業(yè)務(wù)邏輯部分給服務(wù)器,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分。下圖是B/S模式的體系結(jié)構(gòu)圖5。圖2-2 B/S模式的體系結(jié)構(gòu)在該結(jié)構(gòu)中,用戶可以通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,而且極大地簡(jiǎn)化了客戶機(jī)的工作,在客戶機(jī)上只需安裝、配置少量的客戶端軟件,服務(wù)器將負(fù)擔(dān)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。與兩層C/S模式相比,B
36、/S模式在許多方面體現(xiàn)了很大的優(yōu)勢(shì),主要體現(xiàn)在以下幾個(gè)方面5:1. 開(kāi)發(fā)和維護(hù)成本:C/S開(kāi)發(fā)和維護(hù)成本較高,對(duì)不同的客戶端要開(kāi)發(fā)不同的程序,編程工作量大。對(duì)于B/S,只需在客戶端安裝通用的瀏覽器,所有的維護(hù)和升級(jí)工作都是在服務(wù)器上執(zhí)行的,不需對(duì)客戶端進(jìn)行任何改變,故而大大降低了開(kāi)發(fā)和維護(hù)成本;2. 采用的標(biāo)準(zhǔn):C/S所采用的標(biāo)準(zhǔn)只在內(nèi)部統(tǒng)一,其應(yīng)用通常是專用的,而B(niǎo)/S所采用的標(biāo)準(zhǔn)是開(kāi)放的、非專用的,保證了其應(yīng)用的通用性和跨平臺(tái)性;3. 客戶端任務(wù):C/S的客戶端具有顯示和處理數(shù)據(jù)的功能,任務(wù)過(guò)重。B/S的客戶端把業(yè)務(wù)邏輯部分分給了服務(wù)器,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示
37、部分,任務(wù)大大減輕;4. 用戶界面風(fēng)格:C/S用戶的界面由客戶端應(yīng)用程序決定,用戶界面各不相同。B/S只需在客戶端安裝通用的瀏覽器就可以訪問(wèn)應(yīng)用程序,瀏覽器的界面統(tǒng)一友好、易于使用。5. 靈活性:C/S系統(tǒng)模塊中每一部分的變動(dòng)均要影響到其它模塊的變動(dòng),系統(tǒng)升級(jí)困難,靈活性差。B/S各層之間相互獨(dú)立,任何一層的改變不影響其它層的功能,系統(tǒng)改進(jìn)非常容易,靈活性好;6. 安全性:C/S系統(tǒng)中的客戶端直接與服務(wù)器相連,非法用戶可以很容易地通過(guò)應(yīng)用程序侵入系統(tǒng),并對(duì)服務(wù)器數(shù)據(jù)庫(kù)進(jìn)行操作,這給系統(tǒng)的安全性帶來(lái)極大的隱患。B/S系統(tǒng)在客戶機(jī)和服務(wù)器之間增加了一層或多層Web服務(wù)器,使兩者不直接相連,客戶機(jī)無(wú)
38、法直接對(duì)數(shù)據(jù)庫(kù)操作,可有效地防止用戶的非法入侵;7. 移植性:C/S系統(tǒng)中,不同的系統(tǒng)通常由不同的工具開(kāi)發(fā),一般來(lái)說(shuō)它們之間互不兼容,難以移植到其它平臺(tái)上運(yùn)行,移植性差,而B(niǎo)/S系統(tǒng)在客戶端安裝的是通用瀏覽器,不存在移植性問(wèn)題,即使是服務(wù)器端的程序,因遵循開(kāi)放的標(biāo)準(zhǔn),所以向其他的平臺(tái)移植也非常方便。B/S平臺(tái)模式相對(duì)于傳統(tǒng)的兩層C/S平臺(tái)模式在多方面都有著十分明顯的優(yōu)勢(shì)。因此,B/S平臺(tái)模式正是當(dāng)前構(gòu)建復(fù)雜企業(yè)級(jí)應(yīng)用的一個(gè)趨勢(shì)。2.3 . NET技術(shù)概述Microsoft首席執(zhí)行官鮑爾默說(shuō):“Microsoft.NET代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)可以作 為平臺(tái)支持下一代Internet 的可
39、編程結(jié)構(gòu)”,這句話簡(jiǎn)明扼要地表述了NET 環(huán)境特別適合于開(kāi)發(fā)Internet 應(yīng)用程序。Microsoft 的構(gòu)思是一個(gè)“不再關(guān)注單個(gè)網(wǎng)站、單個(gè)設(shè)備與Internet 相連的Internat 環(huán)境,而是要讓所有的計(jì)算機(jī)群、相關(guān)設(shè)備和服務(wù)商協(xié)同工作”的網(wǎng)絡(luò)計(jì)算環(huán)境10。簡(jiǎn)單的說(shuō),.NET 是微軟針對(duì)未來(lái)互聯(lián)網(wǎng)推出的一個(gè)設(shè)計(jì)架構(gòu),在這個(gè)架構(gòu)中,微軟的所有產(chǎn)品和應(yīng)用都將以網(wǎng)絡(luò)為中心成為在這個(gè)架構(gòu)規(guī)范下的一個(gè)部分,這些產(chǎn)品和應(yīng)用包括我們常用的服務(wù)器、設(shè)計(jì)工具甚至連接應(yīng)用規(guī)范。未來(lái)的Internet ,應(yīng)該以一個(gè)個(gè)體服務(wù)的形式展現(xiàn)在最終用戶面前,用戶只需知道自己想要什么,而不需要什么,一步步在網(wǎng)上搜索、
40、操作。用戶只需發(fā)出請(qǐng)求,然后只管接收就是了。所有的后臺(tái)的復(fù)雜性完全屏蔽起來(lái),.NET 是一種面向網(wǎng)絡(luò),支持各種用戶終端的開(kāi)發(fā)平臺(tái)環(huán)境。.NET 徹底地把計(jì)算模式從單機(jī)、客戶機(jī)服務(wù)器和Web 網(wǎng)站的方式轉(zhuǎn)向分布式計(jì)算( Distributed Computing ) 11。計(jì)算模型CORBA 和COM 都存在“局部計(jì)算”的特點(diǎn),都僅僅是本地或本網(wǎng)計(jì)算的模式,而不能把整個(gè)Internet 當(dāng)作一個(gè)計(jì)算資源體系來(lái)加以利用。顯而易見(jiàn),這是一個(gè)龐大的復(fù)雜的工程,我們可以將這個(gè)框架理解為微軟根據(jù)業(yè)界標(biāo)準(zhǔn)和自己主導(dǎo)的一些規(guī)范而設(shè)立的一個(gè)“大家庭”,在這個(gè)大家庭中,微軟今后的產(chǎn)品、產(chǎn)品相互之間的交互等都按照一
41、定規(guī)范進(jìn)行。微軟這些規(guī)范的形成,有自己主導(dǎo)提倡的一些標(biāo)準(zhǔn),比如XML 、SOAP 等。NET 則通過(guò)一種稱作Web 服務(wù)的技術(shù)把分布在Internet上的各種資源有效的通過(guò)編程手段整合在特定的應(yīng)用界面中。.NET 中引入了一系列的新概念,通用語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime )使得NET 具有跨語(yǔ)言集成的特性;MetaData 使得NET 組件是自描述的;Assembly 簡(jiǎn)化了應(yīng)用程序的配置和部署。同時(shí).NET 采用了多種安全策略,內(nèi)置多種身份認(rèn)證模式,使得系統(tǒng)具有很高的安全特性。總的說(shuō)來(lái),.NET 框架實(shí)現(xiàn)了語(yǔ)言開(kāi)發(fā)、代碼編譯、組件配置、程序運(yùn)行、對(duì)象交互等各個(gè)層
42、面的功能,為Web服務(wù)及普及應(yīng)用程序提供了一個(gè)托管、安全、高效的執(zhí)行環(huán)境。.NET 由五部分組成12:(1).NET 開(kāi)發(fā)平臺(tái):這是一組用于建立web 服務(wù)應(yīng)用程序和Windows 桌面應(yīng)用程序的軟件組件,包括.NET Froework 、NET 開(kāi)發(fā)工具(Visual studio . NET )和ASP.NET 。(2).NET 服務(wù)器:能夠提供廣泛聚合和集成Web 服務(wù)的服務(wù)器,是搭建.NET 平臺(tái)的后端基礎(chǔ)。(3).NET 基礎(chǔ)服務(wù):密碼認(rèn)證、日歷、文件存儲(chǔ)和用戶信息等基礎(chǔ)服務(wù)是必不可少的。微軟正在著力建設(shè)的.NET My Service 等基礎(chǔ)性服務(wù)是這方面可以借鑒的例子。(4).N
43、ET 終端設(shè)備:廣泛的連接互聯(lián)網(wǎng)并體驗(yàn)Web 服務(wù)的終端設(shè)備是實(shí)現(xiàn).NET 的前端基礎(chǔ)。PC 、PAD 以及各種嵌入式設(shè)備將在這個(gè)廣闊的天地里發(fā)揮作用。(5).NET 用戶體驗(yàn):能夠滿足人們各種各樣需求的用戶體驗(yàn)是NET 的最終目標(biāo),也是.NET 的價(jià)值實(shí)現(xiàn)。其中.NET Framework 是.NET 軟件構(gòu)造中的核心部分,是.NET 最重要的基礎(chǔ)構(gòu)架,它提供了創(chuàng)建、部署和運(yùn)行.NET應(yīng)用的環(huán)境,其它四部分則緊緊圍繞.NET Framework 來(lái)組織整合13。2.3.1 .NET Framework.NET Framework 是微軟公司推出的一個(gè)新的計(jì)算平臺(tái),它包含了操作系統(tǒng)上軟件開(kāi)發(fā)的
44、所有層,提供微軟平臺(tái)上所見(jiàn)過(guò)的所有組件技術(shù)、呈現(xiàn)技術(shù)和數(shù)據(jù)技術(shù)的最豐富的繼承級(jí)別,徹底地把計(jì)算模式從單機(jī)、客戶機(jī)服務(wù)器和Web 網(wǎng)站的方式轉(zhuǎn)型分布式模式14。利用NET 開(kāi)發(fā)平臺(tái),可以更方便的開(kāi)發(fā)企業(yè)級(jí)應(yīng)用系統(tǒng)架構(gòu)15。用于.NET平臺(tái)的編程模型,輔以其它各種技術(shù)實(shí)現(xiàn)。意在利用Internet上強(qiáng)大的計(jì)算資源和豐富的帶寬資源提高工作效率。.NET 框架旨在實(shí)現(xiàn)下列目標(biāo)16:(1)無(wú)論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠(yuǎn)程執(zhí)行,.NETFramework都提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境。(2)提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。(3
45、)提供一個(gè)保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。(4)提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境性能問(wèn)題的代碼執(zhí)行環(huán)境。(5)使開(kāi)發(fā)人員的經(jīng)驗(yàn)在面對(duì)類型大不相同的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web 的應(yīng)用程序)時(shí)保持一致。(6)按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?NET框架的代碼可與任何其它代碼集成。.NET Framework包含兩個(gè)關(guān)鍵組件:公共語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime , CLR)和Framework類庫(kù)(包含ASP.NET,Enterprise服務(wù),ADO.NET 和WindowsForm ) 17。
46、NET Framework 提供了托管執(zhí)行環(huán)境、簡(jiǎn)化的開(kāi)發(fā)和部署以及與各種編程語(yǔ)言的集成。.NET Framework 的層次結(jié)構(gòu)如圖2-1 所示17:圖2-3 .NET Framework 的層次結(jié)構(gòu)2.3.3 .NET Framework 類庫(kù).NET Framework類庫(kù)是.NET框架中的實(shí)體。.NET類庫(kù)又稱為基礎(chǔ)類庫(kù)(Base Class Library),提供標(biāo)準(zhǔn)的功能,如輸入輸出、字符串操作、安全管理、網(wǎng)絡(luò)通信、用戶界面設(shè)計(jì)等底層功能18。其它所有的類庫(kù)都建立在這個(gè)基本類庫(kù)之上。ADO.NET 數(shù)據(jù)訪問(wèn)類支持持續(xù)的數(shù)據(jù)管理,它包括SQL 類,可通過(guò)標(biāo)準(zhǔn)的SQL 接口進(jìn)行持續(xù)的數(shù)
47、據(jù)存儲(chǔ)操作。XML 類可以實(shí)現(xiàn)XML數(shù)據(jù)操作和XML搜索和轉(zhuǎn)換。ASP.NET 類支持Web Forms應(yīng)用程序和Web service的開(kāi)發(fā)。Windows Forms類支持給予Windows 的智能客戶端應(yīng)用程序的開(kāi)發(fā)。所有這些類庫(kù)合在一起,提供一個(gè)跨所有.NET Framework 所支持語(yǔ)言的公共、一致可開(kāi)發(fā)接口,并且采用清晰而有條理的方式對(duì)類庫(kù)進(jìn)行分組和描述,這樣開(kāi)發(fā)者能更容易地找到應(yīng)用程序所需的大多數(shù)功能。.NET Framework支持多種編程語(yǔ)言,并在一個(gè)應(yīng)用程序中可以使用不同的語(yǔ)言。程序員可以使用一種或多種.NET編程語(yǔ)言,如微軟自己的VB.NET 、C+、C#和Jscrip
48、t.NET 等。大量其它的.NET編程語(yǔ)言可以從第三方廠商獲得。2.3.4 ASP.NET 簡(jiǎn)介ASP 的出現(xiàn)使得網(wǎng)絡(luò)應(yīng)用程序開(kāi)發(fā)變得相當(dāng)容易,但由于它是通過(guò)解釋執(zhí)行的,而且腳本程序和靜態(tài)網(wǎng)頁(yè)混合在一起,所以在程序的執(zhí)行速度和程序的可移植性上都存在一些問(wèn)題,出于這樣的原因,微軟于2002 年正式推出了ASP.NET。ASP.NET并不是簡(jiǎn)單的ASP的升級(jí)版本,它緊緊依賴與.NET 框架的所有東西,真正從底層被創(chuàng)建,是一種徹底不同的代碼,是在CLR和XML的基礎(chǔ)上,以及在所有其它.NET基礎(chǔ)上創(chuàng)建的。ASP.NET是.NET開(kāi)發(fā)平臺(tái)的一個(gè)部件,用來(lái)開(kāi)發(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開(kāi)發(fā)模型相比,ASP.NET 具有如下重要特色19:(1)網(wǎng)頁(yè)內(nèi)容與代碼程序相分離把網(wǎng)頁(yè)內(nèi)容與代碼程序相分離,這樣使得頁(yè)面的設(shè)計(jì)和后臺(tái)的邏輯程序分別放在不同的兩個(gè)文件中,如果修改頁(yè)面設(shè)計(jì),則程序代碼無(wú)需改動(dòng),大大方便了設(shè)計(jì)人員和程序員的分工工作。(2)多語(yǔ)言支持可以使用CLR 支持的任何編程語(yǔ)言進(jìn)行開(kāi)發(fā),例如現(xiàn)階段支持的完全面向?qū)ο蟮某绦蛘Z(yǔ)言VB.NET 、C#等。其中,C#是微軟為NET平臺(tái)量身定做的新
50、程序語(yǔ)言,擁有如VB一樣的簡(jiǎn)單易用性,同時(shí)具備C+的強(qiáng)大功能。(3)執(zhí)行效率更高ASP.NET 不再采用解釋型的腳本語(yǔ)言,而是采用編譯型的語(yǔ)言,ASP.NET 頁(yè)面在第一次被調(diào)用時(shí)會(huì)被編譯,然后緩沖(Cache)在內(nèi)存中,所以只有在第一次被調(diào)用時(shí)速度較慢,隨后的調(diào)用則不必進(jìn)行編譯,而是直接執(zhí)行內(nèi)存中的版本,執(zhí)行速度加快了許多。(4)面向?qū)ο蟮奶匦猿顺绦蛟O(shè)計(jì)語(yǔ)言都是面向?qū)ο蟮闹猓珹SP.NET 中所有的東西都是對(duì)象,從變量、服務(wù)器端控件到網(wǎng)頁(yè),都可以以對(duì)象的方式對(duì)它們進(jìn)行處理。采用面向?qū)ο蟮臋C(jī)制,就是要用到對(duì)象的屬性(Property)、方法(Method 和事件(Event),而采用“事件
51、驅(qū)動(dòng)”編程使ASP.NET 的編程更接近于Windows 編程,程序編寫(xiě)更簡(jiǎn)單,更直觀。(5)運(yùn)行于.NET 平臺(tái)通過(guò)在.NET 開(kāi)發(fā)平臺(tái)中嵌入ASP.NET ,微軟將CLR和類庫(kù)的益處提供給開(kāi)發(fā)者。ASP.NET使用CLR來(lái)編譯代碼,管理執(zhí)行,創(chuàng)造運(yùn)行更快、表現(xiàn)更好的Web應(yīng)用程序。此外,ASP.NET使用類庫(kù)讓開(kāi)發(fā)者更易于將XML格式數(shù)據(jù)合并到Web應(yīng)用程序中,添加處理異常的代碼,創(chuàng)建UI元素,并提供其它的編程功能。2.3.5 ADO. NET 簡(jiǎn)介ADO.NET的名稱起源于ADO(ActiveX Data Objects),只要在應(yīng)用程序中使用數(shù)據(jù)庫(kù)就不可避免使用ADO.NET。ADO.
52、NET 技術(shù)是一種全新的、完全與數(shù)據(jù)源無(wú)關(guān)的數(shù)據(jù)訪問(wèn)技術(shù),它不是簡(jiǎn)單的ADO技術(shù)的升級(jí),而是提供了基于.NET平臺(tái)的全新的數(shù)據(jù)訪問(wèn)方式,設(shè)計(jì)ADO.NET組件的目的是負(fù)責(zé)將數(shù)據(jù)庫(kù)中的數(shù)據(jù)公開(kāi)給業(yè)務(wù)邏輯層20。n ADO.NET 新特性數(shù)據(jù)訪問(wèn)是程序中應(yīng)用最普遍的部分,隨著C#和ADO.NET 的引入,這種操作變得更簡(jiǎn)單。微軟在開(kāi)發(fā).NET的同時(shí),對(duì)數(shù)據(jù)訪問(wèn)模型進(jìn)行了升級(jí),把原來(lái)的ADO 模型升級(jí)為全新的ADO.NET 數(shù)據(jù)源。原來(lái)最重要的Recordset被Dataset和DataReader完全取代了,也不再像原來(lái)Recordset那樣一次只能讀取一條記錄,而是讀取整個(gè)數(shù)據(jù)庫(kù),然后在內(nèi)存中建
53、立一個(gè)影像,從而實(shí)現(xiàn)了斷開(kāi)方式數(shù)據(jù)庫(kù)鏈接和內(nèi)存管理自動(dòng)化,這是微軟的一個(gè)重大的技術(shù)突破。ADO.NET是由一系列的數(shù)據(jù)庫(kù)相關(guān)類和接口組成的,它的基石是XML 技術(shù),所以通過(guò)ADO.NET我們不僅能訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù),而且還能訪問(wèn)層次化的XML 數(shù)據(jù)。ADO.NET 為斷開(kāi)式n層編程環(huán)境提供了一流的支持,許多新的應(yīng)用程序都是為該環(huán)境編寫(xiě)的。使用斷開(kāi)式數(shù)據(jù)集這一概念已經(jīng)成為編程模型中的焦點(diǎn)。N層編程的ADO.NET的解決方案就是Dataset。集成支持XML和數(shù)據(jù)訪問(wèn)是緊密聯(lián)系在一起的,即XML的全部?jī)?nèi)容都是有關(guān)數(shù)據(jù)編碼的,而數(shù)據(jù)訪問(wèn)越來(lái)越多的內(nèi)容都與XML 有關(guān)。.NET Framewor
54、k不僅支持Web標(biāo)準(zhǔn),它還是完全基于Web標(biāo)準(zhǔn)生成的。n ADO.NET的對(duì)象模型ADO.NET結(jié)構(gòu)包括兩個(gè)核心組件21:數(shù)據(jù)集Dataset和.NET Framework 數(shù)據(jù)提供程序,其中數(shù)據(jù)集Dataset與數(shù)據(jù)源斷開(kāi)并且不需要知道所保存數(shù)據(jù)的來(lái)源。.NET Framework是一組組件,包括Connection對(duì)象、Command對(duì)象、DataReader 對(duì)象和DataAdapter 對(duì)象4個(gè)部分。設(shè)計(jì)ADO.NET組件的目的是為了從數(shù)據(jù)操作中分解出數(shù)據(jù)訪問(wèn)。(1)ADO.NET DataSet是ADO.NET的斷開(kāi)式結(jié)構(gòu)的核心組件。DataSet 設(shè)計(jì)的目的是為了實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)
55、源的數(shù)據(jù)訪問(wèn)。因此,它可以用于多種不同的數(shù)據(jù)源,用于XML 數(shù)據(jù),或用于管理應(yīng)用程序本地的數(shù)據(jù)。DataSet 與數(shù)據(jù)源是斷開(kāi)連接的,可將DateSet視為從數(shù)據(jù)庫(kù)檢索出的數(shù)據(jù)在內(nèi)存中的緩存。DataSet 包含一個(gè)或多個(gè)DataTable對(duì)象的集合,這些集合由數(shù)據(jù)行、數(shù)據(jù)列及主鍵、外鍵、約束和有關(guān)DataTable對(duì)象中的數(shù)據(jù)的關(guān)系信息組成。( 2 ) ADO.NET 結(jié)構(gòu)的另一個(gè)核心組件是.NET Framework 數(shù)據(jù)提供程序。其設(shè)計(jì)目的是為了實(shí)現(xiàn)數(shù)據(jù)操作和對(duì)數(shù)據(jù)的快遞、只進(jìn)和只讀訪問(wèn)。NET Framework 數(shù)據(jù)提供程序的核心元素是Connection對(duì)象、Command 對(duì)象、
56、DataReader對(duì)象和DataAdapter 對(duì)象。其中Connection對(duì)象提供與數(shù)據(jù)源的連接;Command對(duì)象能夠訪問(wèn)用于返回?cái)?shù)據(jù),修改數(shù)據(jù),運(yùn)行存儲(chǔ)過(guò)程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令;DataReader從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流;DataAdaPter對(duì)象提供連接DataSet 對(duì)象和數(shù)據(jù)源的橋梁。DataAdapter使用Command對(duì)象在數(shù)據(jù)源中執(zhí)行SQL命令,以便將數(shù)據(jù)加載到DataSet中,并使對(duì)DataSet中的數(shù)據(jù)的更改與數(shù)據(jù)源保持一致。如圖2-4 闡述了ADO.NET組件結(jié)構(gòu)21。圖2-4 ADO.NET組件結(jié)構(gòu)n 對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)過(guò)程由ADO.NET的對(duì)象
57、模型知道DataSet和DataReader是ADO.NET提供的兩個(gè)用于檢索關(guān)系型數(shù)據(jù)庫(kù)并把它存儲(chǔ)在內(nèi)存中的對(duì)象,使用DataSet時(shí),一般使用DataAdapter與數(shù)據(jù)源交互,用DatView對(duì)DataSset中的數(shù)據(jù)進(jìn)行排序和過(guò)濾,DataSet提供內(nèi)存中關(guān)系數(shù)據(jù)的表現(xiàn),包括表和次序、約束等表間的關(guān)系的完整數(shù)據(jù)集合,DataReader提供快速、只向前只讀的來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)流。如果要完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),首先是使用Connection對(duì)象連接數(shù)據(jù)源,和數(shù)據(jù)源建立了連接后,一般使用兩種方式訪問(wèn)數(shù)據(jù)庫(kù),數(shù)據(jù)訪問(wèn)過(guò)程如圖2-3所示21:圖2-5數(shù)據(jù)訪問(wèn)過(guò)程一種方式是直接和數(shù)據(jù)庫(kù)連接,即使用Command對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)。采用這種方式是通過(guò)DataReader對(duì)象讀取數(shù)據(jù),然后利用Response.write顯示數(shù)據(jù)。這種方式的優(yōu)點(diǎn)是不占用額外的內(nèi)存,而且讀取速度快,但所編寫(xiě)的程序代
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西京學(xué)院《景觀小品設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《電力電子技術(shù)》2022-2023學(xué)年期末試卷
- 西華師范大學(xué)《篆刻技法》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《影視敘事藝術(shù)研究》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《西方行政學(xué)說(shuō)史》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《區(qū)域分析方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《教師書(shū)寫(xiě)與板書(shū)設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 版油氣開(kāi)發(fā)專業(yè)危害因素辨識(shí)與風(fēng)險(xiǎn)防控?專項(xiàng)測(cè)試題及答案
- 交通運(yùn)輸綜合執(zhí)法(單多選)復(fù)習(xí)試題及答案
- 2024年專用設(shè)備行業(yè)政策分析:專用設(shè)備行業(yè)標(biāo)準(zhǔn)保障行業(yè)穩(wěn)定發(fā)展
- 淺談校園影視在學(xué)校教育中的作用
- 無(wú)公害農(nóng)產(chǎn)品查詢
- 試劑、試藥、試液的管理規(guī)程
- 研究生課程應(yīng)用電化學(xué)(課堂PPT)
- 通信綜合網(wǎng)管技術(shù)規(guī)格書(shū)doc
- 六宮數(shù)獨(dú)可直接打印共192題
- 班會(huì):如何克服浮躁心理PPT優(yōu)秀課件
- 四宗宗義比較略記
- Monsters歌詞下載,Monsters原唱歌詞中文翻譯,Monsters簡(jiǎn)譜KatieSky
- 全國(guó)各地區(qū)代碼
- 氣動(dòng)系統(tǒng)內(nèi)部結(jié)露的機(jī)理研究
評(píng)論
0/150
提交評(píng)論