第一篇:基于.Net三層架構(gòu)高校戶籍管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于.Net三層架構(gòu)高校戶籍管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
摘 要:為了實(shí)現(xiàn)對(duì)高校戶籍科學(xué)化、規(guī)范化和動(dòng)態(tài)化管理,提出了一種基于.Net三層架構(gòu)技術(shù)的高校戶籍管理系統(tǒng)解決方案,研究了戶籍管理系統(tǒng)數(shù)據(jù)訪問(wèn)層、基本邏輯層和頁(yè)面表示層的設(shè)計(jì)及實(shí)現(xiàn)。實(shí)踐證明了解決方案的有效性。
關(guān)鍵詞:Net;戶籍管理;三層架構(gòu)
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2011)09-0071-02 系統(tǒng)業(yè)務(wù)分析??
戶籍管理系統(tǒng)旨在實(shí)現(xiàn)對(duì)高校戶籍的科學(xué)化、規(guī)范化和動(dòng)態(tài)化管理。通過(guò)對(duì)戶籍科相關(guān)人員所做需求分析,該系統(tǒng)必須實(shí)現(xiàn)以下功能:①戶籍信息管理:包括戶籍基本信息管理,教師和學(xué)生戶籍基本信息、相片管理、戶口遷入、遷出、注銷、遷移及借用等信息的增加、刪除和更新;②信息查詢管理:包括戶籍基本信息查詢、學(xué)生信息查詢、戶口遷入、遷出、注銷、遷移及借用信息查詢等;③收費(fèi)管理:學(xué)生畢業(yè)之后,學(xué)校免費(fèi)保管學(xué)生戶籍兩年,兩年過(guò)后按照一定的標(biāo)準(zhǔn)收取保管費(fèi)用。此模塊主要包括戶籍保管費(fèi)用的收取和退費(fèi)等操作;④操作日志管理:戶籍科操作人員的日常工作無(wú)法量化,收費(fèi)操作需要規(guī)范以避免費(fèi)用的多收、少收、漏收和徇私舞弊的情況的發(fā)生。此模塊將操作人員的所有關(guān)鍵操作記錄在案,以備出現(xiàn)問(wèn)題時(shí),有據(jù)可查;⑤學(xué)院信息管理:此模塊主要包括學(xué)生學(xué)院和專業(yè)信息的增加、刪除、更新和查詢;⑥系統(tǒng)維護(hù):此模塊用來(lái)維護(hù)用戶基本信息、管理員的權(quán)限以及數(shù)據(jù)庫(kù)的安全,防止非授權(quán)用戶對(duì)系統(tǒng)有意或者無(wú)意的破壞。??
系統(tǒng)架構(gòu)??
2.1 系統(tǒng)整體架構(gòu)??
分層應(yīng)用設(shè)計(jì)當(dāng)下非常流行。它對(duì)系統(tǒng)的性能、可擴(kuò)展性、可移植性、安全性等提供了有力的保障。經(jīng)典的分層架構(gòu)開(kāi)發(fā)模式將系統(tǒng)分為3個(gè)層次,即數(shù)據(jù)訪問(wèn)層、基本邏輯層和頁(yè)面表示層。當(dāng)然,每個(gè)層次可能分解為更小的子層次以保證系統(tǒng)功能的合理設(shè)計(jì)。戶籍管理系統(tǒng)的整體架構(gòu)如圖1所示。??
圖1 系統(tǒng)整體架構(gòu)??
2.2 數(shù)據(jù)訪問(wèn)層設(shè)計(jì)??
數(shù)據(jù)訪問(wèn)層負(fù)責(zé)管理數(shù)據(jù)庫(kù)的物理存儲(chǔ)、備份與恢復(fù)。主要包括數(shù)據(jù)庫(kù)的連接與存取操作,即數(shù)據(jù)庫(kù)表的查詢、更新,增加和刪除操作。數(shù)據(jù)訪問(wèn)層接口對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行抽象,以此對(duì)不同的數(shù)據(jù)庫(kù)(SQL Server,Oracle等)進(jìn)行統(tǒng)一的管理。通過(guò)封裝類調(diào)用數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程,同時(shí),上層基本邏輯層提供統(tǒng)一的調(diào)用接口。??
2.3 基本邏輯層設(shè)計(jì)??
基本邏輯層作為整個(gè)系統(tǒng)的邏輯處理中心,主要負(fù)責(zé)管理系統(tǒng)的業(yè)務(wù)邏輯和規(guī)則。系統(tǒng)的邏輯處理都被抽象為本層的不同的邏輯接口。邏輯層接口處于數(shù)據(jù)訪問(wèn)層和頁(yè)面表示層之間,對(duì)上層提供接口調(diào)用,調(diào)用下層數(shù)據(jù)訪問(wèn)層接口連接數(shù)據(jù)庫(kù),而非直接連接數(shù)據(jù)庫(kù),降低了層與層之間的耦合度。修改數(shù)據(jù)訪問(wèn)層的接口實(shí)現(xiàn),不需要修改基本邏輯層代碼。??
2.4 頁(yè)面表示層設(shè)計(jì)??
頁(yè)面表示層負(fù)責(zé)接收界面輸入和邏輯結(jié)果的顯示。包括頁(yè)面的布局、控件的使用等。頁(yè)面表示層調(diào)用基本邏輯層的接口進(jìn)行邏輯處理。系統(tǒng)邏輯處理發(fā)生變化時(shí),只需要修改基本邏輯層接口實(shí)現(xiàn),不會(huì)影響頁(yè)面表示層的編碼。??
數(shù)據(jù)庫(kù)設(shè)計(jì)??
好的數(shù)據(jù)庫(kù)的設(shè)計(jì)是信息系統(tǒng)的一個(gè)重要組成部分。戶籍管理系統(tǒng)涉及到10多個(gè)表的設(shè)計(jì)和60多個(gè)存儲(chǔ)過(guò)程的編寫(xiě)。限于篇幅,這里不一一列出。??
主要技術(shù)及開(kāi)發(fā)工具??
4.1 權(quán)限管理策略??
系統(tǒng)的訪問(wèn)控制策略使用基于用戶角色的訪問(wèn)控制策略。這種訪問(wèn)控制策略已經(jīng)廣泛應(yīng)用于系統(tǒng)操作、數(shù)據(jù)庫(kù)及應(yīng)用項(xiàng)目中。角色訪問(wèn)控制策略有利于確認(rèn)和管理用戶身份,對(duì)不同用戶分配不同的操作權(quán)限。??
4.2 系統(tǒng)安全策略??
為了防止未經(jīng)授權(quán)的用戶訪問(wèn)系統(tǒng)資源,給系統(tǒng)帶來(lái)危害,同時(shí)考慮到戶籍管理系統(tǒng)數(shù)據(jù)錄入時(shí)間一般集中在開(kāi)學(xué)等時(shí)間,大批量的數(shù)據(jù)錄入之后,一旦發(fā)生問(wèn)題,導(dǎo)致數(shù)據(jù)丟失,再次重復(fù)錄入數(shù)據(jù),工作量巨大。系統(tǒng)使用自動(dòng)備份與手工備份相結(jié)合的方式,用戶可以通過(guò)界面,手工備份與恢復(fù)先前的數(shù)據(jù)庫(kù)??紤]到數(shù)據(jù)庫(kù)的移植,在數(shù)據(jù)訪問(wèn)層引入“抽象工廠模式”,根據(jù)數(shù)據(jù)庫(kù)的不同,提供實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)結(jié)構(gòu)的數(shù)據(jù)業(yè)務(wù)邏輯對(duì)象,使用.Net框架的反射機(jī)制,在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)決定調(diào)用的數(shù)據(jù)庫(kù)類型。??
4.3 并行開(kāi)發(fā)策略??
三層架構(gòu)的優(yōu)勢(shì)之一系統(tǒng)架構(gòu)清晰,合理的分配開(kāi)發(fā)任務(wù),同時(shí)保證系統(tǒng)的并行開(kāi)發(fā),以此提高效率。系統(tǒng)開(kāi)發(fā)過(guò)程中,引入實(shí)體類和基本邏輯層和數(shù)據(jù)訪問(wèn)層的共同接口,保證解決方案程序與數(shù)據(jù)庫(kù)的并行開(kāi)發(fā),兩者相關(guān)部分都完成之后,通過(guò)接口,完成數(shù)據(jù)庫(kù)庫(kù)記錄與實(shí)體類的映射即可。??
4.4 版本控制策略??
項(xiàng)目開(kāi)發(fā)是一個(gè)團(tuán)隊(duì)協(xié)作,迭代開(kāi)發(fā)的過(guò)程,版本的控制與管理非常重要。項(xiàng)目開(kāi)發(fā)過(guò)程中使用visual svn和tortoise svn進(jìn)行系統(tǒng)解決方案、源代碼的控制,單獨(dú)設(shè)立版本控制服務(wù)器,團(tuán)隊(duì)所有成員從服務(wù)器中更新項(xiàng)目的最新版本,每天工作完成之后,單獨(dú)提交各自負(fù)責(zé)部分的開(kāi)發(fā)工作,使服務(wù)器中的版本始終保持最新?tīng)顟B(tài)。??
4.5 項(xiàng)目開(kāi)發(fā)主要工具??
項(xiàng)目開(kāi)發(fā)成員使用resharper和coding style enforcer工具保證編碼風(fēng)格的統(tǒng)一,使用NUnit,NCoverage等工具結(jié)合cruise control.net每日構(gòu)建技術(shù),進(jìn)行測(cè)試及覆蓋率檢測(cè),保證產(chǎn)品的質(zhì)量。??
結(jié)束語(yǔ)??
戶籍管理系統(tǒng)采用三層架構(gòu)進(jìn)行設(shè)計(jì)、開(kāi)發(fā),系統(tǒng)接口更加清晰,滿足模塊獨(dú)立性,層內(nèi)高內(nèi)聚、層間低耦合的原則,有利于開(kāi)發(fā)者分工合作,具有很強(qiáng)的通用性、可維護(hù)性和可擴(kuò)展性,可以僅作少量修改升級(jí)為Web Service架構(gòu),為系統(tǒng)維護(hù)及功能擴(kuò)展留下足夠的空間。??
參考文獻(xiàn):
[1] HUANG LONGJUN,ZHOU CAIYING,DAI LIPING.Dai Liping.Research and Implementation of E-commerce Platform Based on.NET Framework[Z].Proceeding of the 2009 International Symposium on Web Information System and Application Nanchang,China,May 22-24,2009.[2] 陳友良,盛可軍,王陽(yáng)陽(yáng).基于ASP.NET三層架構(gòu)軟件的研究與開(kāi)發(fā)[J].現(xiàn)代電子技術(shù),2010(6).[3] 江義火.基于ASP.NET MVC2的三層架構(gòu)應(yīng)用系統(tǒng)開(kāi)發(fā)研究與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2010(12).(責(zé)任編輯:周曉輝)
Design and Implementation of College Residence Management
System Based on.Net and Three-tier Architecture
??
Abstract:In order to realize the scientific,standardized and dynamic management of college Residence booklet , a solution based on.Net and three-tier architecture has been proposed, the design and implementation of data access layer,basic logic layer and presentation layer is discussed.Practice has improved that it is a effective solution.Key Words: Dot Net;Residence Management;Three Tier Architecture
第二篇:三層架構(gòu)應(yīng)用總結(jié)——.net
ASP.NET三層架構(gòu)應(yīng)用總結(jié)
與ASP相比ASP.NET在Web應(yīng)用開(kāi)發(fā)上無(wú)疑更容易,更有效率。Web開(kāi)發(fā)大部分還是圍繞著數(shù)據(jù)操作,建立數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),編寫(xiě)代碼訪問(wèn)和修改數(shù)據(jù),設(shè)計(jì)界面采集和呈現(xiàn)數(shù)據(jù)。走過(guò)Asp.net學(xué)習(xí)入門(mén)階段后,真正開(kāi)始著手開(kāi)發(fā)一個(gè)Web項(xiàng)目時(shí),才發(fā)現(xiàn)錯(cuò)綜復(fù)雜的數(shù)據(jù)與關(guān)聯(lián)根本就不是SqlDataSource和AccessDataSource數(shù)據(jù)源控件能簡(jiǎn)單解決的,而恰恰是被忽視了的一個(gè)ObjectDataSource數(shù)據(jù)源控件才是真正踏入開(kāi)發(fā)門(mén)檻的關(guān)鍵,由此也對(duì)三層架構(gòu)模式有了初步體驗(yàn)。
一.ASP.NET三層架構(gòu)介紹
設(shè)計(jì)模式中的分層架構(gòu)(可以參考一下J2EE中MVC模式)實(shí)現(xiàn)了各司其職,互不干涉,所以如果一旦哪一層的需求發(fā)生了變化,就只需要更改相應(yīng)的層中的代碼而不會(huì)影響到其它層中的代碼。這樣就能更好的實(shí)現(xiàn)開(kāi)發(fā)中的分工,有利于組件的重用。所以這些年關(guān)于模式的研究有很多成果,應(yīng)用也很廣泛。一個(gè)好的模式在程序開(kāi)發(fā)和后期維護(hù)中作用重大。ASP.NET三層架構(gòu)自底向上分為:數(shù)據(jù)訪問(wèn)層(DAL),業(yè)務(wù)邏輯層(BLL)和表示層(PL)。
數(shù)據(jù)訪問(wèn)層(DAL):使用了一個(gè)強(qiáng)類型的DataSet作為數(shù)據(jù)訪問(wèn)層,只是單純的對(duì)數(shù)據(jù)進(jìn)行增,刪,改,查詢和判斷存在等等較通用的數(shù)據(jù)訪問(wèn)方法(由SQL語(yǔ)句來(lái)提供),不應(yīng)該有“事務(wù)”存在。
業(yè)務(wù)邏輯層(BLL):業(yè)務(wù)邏輯層是在數(shù)據(jù)訪問(wèn)層和表示層之間進(jìn)行數(shù)據(jù)交換的橋梁,按業(yè)務(wù)需求調(diào)用數(shù)據(jù)訪問(wèn)層中的方法組合,集合了各種業(yè)務(wù)規(guī)則到一個(gè)BLL中,例如通過(guò)條件進(jìn)行判斷的數(shù)據(jù)操作或“事務(wù)”處理。BLL都是以類庫(kù)(Class Library)的形式來(lái)實(shí)現(xiàn)的。
表示層(PL):表示層是為客戶提供用于交互的應(yīng)用服務(wù)圖形界面,幫助用戶理解和高效地定位應(yīng)用服務(wù),呈現(xiàn)業(yè)務(wù)邏輯層中傳遞的數(shù)據(jù),用ASP.NET頁(yè)面來(lái)實(shí)現(xiàn)。
二.三層架構(gòu)應(yīng)用實(shí)現(xiàn) 隨著ASP.NET 的不斷升級(jí),可以很方便的使用ASP.NET 來(lái)構(gòu)建B/S 三層架構(gòu)的應(yīng)用程序,下面以“教師業(yè)務(wù)信息管理系統(tǒng)”項(xiàng)目中的部分例子來(lái)演示如何使用ASP.NET 2.0 和SQL Server 2005數(shù)據(jù)庫(kù)來(lái)構(gòu)建一個(gè)三層架構(gòu)的應(yīng)用程序。
1.創(chuàng)建數(shù)據(jù)庫(kù)
打開(kāi)SQL Server 2005,新建一個(gè)數(shù)據(jù)庫(kù)“TeacherDb”,建立如下所示結(jié)構(gòu)的兩個(gè)表“PersonInfo”和“JobInfo”。兩表以PersonIDNumber作為關(guān)聯(lián)字段,存儲(chǔ)18位身份證號(hào)碼。
2.創(chuàng)建數(shù)據(jù)訪問(wèn)層 在開(kāi)始創(chuàng)建數(shù)據(jù)訪問(wèn)層(DAL)之前,首先需要?jiǎng)?chuàng)建一個(gè)網(wǎng)站,配置好數(shù)據(jù)庫(kù)鏈接。
第一步:創(chuàng)建一個(gè)Web項(xiàng)目,配置數(shù)據(jù)庫(kù)連接
打開(kāi)Visual Studio 2005(以下簡(jiǎn)稱VS2005)集成開(kāi)發(fā)環(huán)境, 首先創(chuàng)建一個(gè)C#語(yǔ)言的ASP.NET網(wǎng)站,并將其命名為WebSite,設(shè)置位置(Location)列表的選項(xiàng)為文件系統(tǒng)(File System),然后選這一個(gè)放置這個(gè)網(wǎng)站的文件夾,然后選擇編程語(yǔ)言為C#。Visual Studio會(huì)為你生成一個(gè)新的網(wǎng)站,同時(shí)生成一個(gè)名為Default.aspx的網(wǎng)頁(yè),和一個(gè)App_Data文件夾。
第二步:創(chuàng)建數(shù)據(jù)訪問(wèn)層,配置數(shù)據(jù)庫(kù)連接
接下來(lái)創(chuàng)建數(shù)據(jù)訪問(wèn)層,添加一個(gè)強(qiáng)類型的DataSet。在解決方案管理器里的項(xiàng)目節(jié)點(diǎn)上按右鼠標(biāo),選擇“添加新項(xiàng)”,在模板列單里選擇“數(shù)據(jù)集”,將其命名為DataSet1.xsd。接下來(lái)會(huì)出現(xiàn)“TableAdpater”配置向?qū)У拇翱?,選擇數(shù)據(jù)庫(kù)服務(wù)器,設(shè)置好各項(xiàng)參數(shù),并按照提示逐步完成。需要注意: 1.指定連接的數(shù)據(jù)庫(kù)字符串,并選擇將連接字符串保存到web.config文件中去。
2.命令類型選擇“使用SQL語(yǔ)句”,通過(guò)“高級(jí)選項(xiàng)”選擇“生成Insert、Update和Delete語(yǔ)句”,通過(guò)“查詢生成器”生成要裝載數(shù)據(jù)的“Select語(yǔ)句”。并為方法命名。
http://apps.hi.baidu.com/share/detail/37462037 資料二
引言:本文不是從理論的角度來(lái)探討三層架構(gòu),而是用一個(gè)示例來(lái)介紹如何建設(shè)一個(gè)三層架構(gòu)的項(xiàng)目,并說(shuō)明項(xiàng)目中各個(gè)文件所處的層次與作用。寫(xiě)本文的目的,不是為了說(shuō)明自己的這個(gè)方法有多對(duì),別人的肯定不對(duì),而是希望給那些初學(xué)三層架構(gòu)卻不知從何入手的朋友提供一點(diǎn)幫助。因?yàn)榫W(wǎng)上的文章,大多是注重理論的介紹,而忽略了具體的實(shí)踐應(yīng)用,或者有示例但講得不透徹。導(dǎo)致看了之后,理論上又學(xué)習(xí)了一遍,但還是不知道代碼怎么寫(xiě)。所以想從這個(gè)方面入手寫(xiě)一下,讓從來(lái)沒(méi)做過(guò)三層架構(gòu)的初學(xué)者也能照貓畫(huà)虎,寫(xiě)出代碼來(lái)。文章表述的是筆者個(gè)人對(duì)三層架構(gòu)的認(rèn)識(shí),肯定有許多不足的地方,歡迎大家指正,小弟也會(huì)根據(jù)反饋來(lái)修改這篇文章。文中的代碼是偽代碼,僅用來(lái)闡明思路。
正文:
一提三層架構(gòu),大家都知道是表現(xiàn)層(UI),業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL),而且每層如何細(xì)分也都有很多的方法。但具體代碼怎么寫(xiě),到底那些文件算在哪一層,卻是模模糊糊的。下面用一個(gè)簡(jiǎn)單的例子來(lái)帶領(lǐng)大家實(shí)戰(zhàn)三層架構(gòu)的項(xiàng)目,這個(gè)例子只有一個(gè)功能,就是用戶的簡(jiǎn)單管理。
首先建立一個(gè)空白解決方案,添加如下項(xiàng)目及文件
1、添加ASP.NET Web Application項(xiàng)目,命名為UI,新建Web Form類型文件User.aspx(含User.aspx.cs)
2、添加ClassLibrary項(xiàng)目,命名為BLL,新建Class類型文件UserBLL.cs
3、添加ClassLibrary項(xiàng)目,命名為DAL,新建Class類型文件UserDAL.cs。添加SQLHelper引用。(這個(gè)是微軟的數(shù)據(jù)訪問(wèn)類,也可以不用,直接編寫(xiě)所有的數(shù)據(jù)訪問(wèn)代碼。我一般用自己寫(xiě)的數(shù)據(jù)訪問(wèn)類DataAccessHelper)。
4、添加ClassLibrary項(xiàng)目,命名為Model,新建Class類型文件UserModel.cs
5、添加ClassLibrary項(xiàng)目,命名為IDAL,新建Interface類型文件IUserDAL.cs
6、添加ClassLibrary項(xiàng)目,命名為ClassFactory 相信大家已經(jīng)看出來(lái)了,這個(gè)和Petshop的示例沒(méi)什么區(qū)別,而且更簡(jiǎn)單,因?yàn)樵谙乱彩峭ㄟ^(guò)Petshop學(xué)習(xí)三層架構(gòu)的。但一些朋友對(duì)于這幾個(gè)項(xiàng)目所處的層次,以及它們之間的關(guān)系,可能比較模糊,這里逐個(gè)說(shuō)明一下:
1、User.aspx和User.aspx.cs 這兩個(gè)文件(以及文件所屬的項(xiàng)目,下面也是如此,不再重復(fù)強(qiáng)調(diào)了)都屬于表現(xiàn)層部分。User.aspx比較好理解,因?yàn)樗褪秋@示頁(yè)面了。User.aspx.cs有些人覺(jué)得不應(yīng)該算,而是要?jiǎng)澋綐I(yè)務(wù)邏輯層中去。如果不做分層的話,那么讓User.aspx.cs來(lái)處理業(yè)務(wù)邏輯,甚至操作數(shù)據(jù)庫(kù)都沒(méi)什么問(wèn)題,但是做分層的話,這樣就不應(yīng)該了。在分層結(jié)構(gòu)中,User.aspx.cs僅應(yīng)該處理與顯示有關(guān)的內(nèi)容,其它部分都不應(yīng)該涉及。
舉例:我們實(shí)現(xiàn)用列表方式顯示用戶的功能,那么提取信息的工作是由BLL來(lái)做的,UI(本例中是User.aspx.cs)調(diào)用BLL得到UserInfo后,通過(guò)代碼綁定到User.aspx的數(shù)據(jù)控件上,就實(shí)現(xiàn)了列表的顯示。在此過(guò)程中User.aspx.cs對(duì)UI沒(méi)有起到什么作用,僅是用來(lái)傳遞數(shù)據(jù),而且因?yàn)閷?shí)際編碼中大部分情況都是如此的實(shí)現(xiàn),所以使有些人覺(jué)得User.aspx.cs不應(yīng)該算UI,而應(yīng)該并入BLL負(fù)責(zé)邏輯處理。繼續(xù)往下看,這時(shí)提出了一個(gè)新需求,要求在每個(gè)用戶的前面加一個(gè)圖標(biāo),生動(dòng)地表現(xiàn)出用戶的性別,而且不滿18歲的用兒童圖標(biāo)表示。這個(gè)需求的實(shí)現(xiàn),就輪到User.aspx.cs來(lái)做了,這種情況下User.aspx.cs才算有了真正的用途。
2、NewBLL.cs 添加如下方法:
public IList
public UserInfo GetUser(int UserId):返回指定用戶的詳細(xì)信息
public bool AddUser(UserInfo User):新增用戶信息
public bool ChangeUser(UserInfo User):更新用戶信息
public void RemoveUser(int UserId):移除用戶信息
此文件就屬于業(yè)務(wù)邏輯層了,專門(mén)用來(lái)處理與業(yè)務(wù)邏輯有關(guān)的操作??赡苡泻芏嗳擞X(jué)得這一層唯一的用途,就是把表現(xiàn)層傳過(guò)來(lái)的數(shù)據(jù)轉(zhuǎn)發(fā)給數(shù)據(jù)層。這種情況確實(shí)很多,但這只能說(shuō)明項(xiàng)目比較簡(jiǎn)單,或者項(xiàng)目本身與業(yè)務(wù)的關(guān)系結(jié)合的不緊密(比如當(dāng)前比較流行的MIS),所以造成業(yè)務(wù)層無(wú)事可做,只起到了一個(gè)轉(zhuǎn)發(fā)的作用。但這不代表業(yè)務(wù)層可有可無(wú),隨著項(xiàng)目的增大,或者業(yè)務(wù)關(guān)系比較多,業(yè)務(wù)層就會(huì)體現(xiàn)出它的作用來(lái)了。
此處最可能造成錯(cuò)誤的,就是把數(shù)據(jù)操作代碼劃在了業(yè)務(wù)邏輯層,而把數(shù)據(jù)庫(kù)作為了數(shù)據(jù)訪問(wèn)層。
舉例:有些朋友感覺(jué)BLL層意義不大,只是將DAL的數(shù)據(jù)提上來(lái)就轉(zhuǎn)發(fā)給了UI,而未作任何處理??匆幌逻@個(gè)例子
BLL層
SelectUser(UserInfo userInfo)根據(jù)傳入的username或email得到用戶詳細(xì)信息。
IsExist(UserInfo userInfo)判斷指定的username或email是否存在。
然后DAL也相應(yīng)提供方法共BLL調(diào)用
SelectUser(UserInfo userInfo)
IsExist(UserInfo userInfo)這樣BLL確實(shí)只起到了一個(gè)傳遞的作用。
但如果這樣做:
BLL.IsExist(Userinfo userinfo)
{ UerInfo user = DAL.SelectUser(User);
return(userInfo.Id!= null);
} 那么DAL就無(wú)需實(shí)現(xiàn)IsExist()方法了,BLL中也就有了邏輯處理的代碼。
3、UserModel.cs 實(shí)體類,這個(gè)東西,大家可能覺(jué)得不好分層。包括我以前在內(nèi),是這樣理解的:UI?àModel?àBLL?àModel?àDAL,如此則認(rèn)為Model在各層之間起到了一個(gè)數(shù)據(jù)傳輸?shù)臉蛄鹤饔?。不過(guò)在這里,我們不是把事情想簡(jiǎn)單,而是想復(fù)雜了。
Model是什么?它什么也不是!它在三層架構(gòu)中是可有可無(wú)的。它其實(shí)就是面向?qū)ο缶幊讨凶罨镜臇|西:類。一個(gè)桌子是一個(gè)類,一條新聞也是一個(gè)類,int、string、doublie等也是類,它僅僅是一個(gè)類而已。
這樣,Model在三層架構(gòu)中的位置,和int,string等變量的地位就一樣了,沒(méi)有其它的目的,僅用于數(shù)據(jù)的存儲(chǔ)而已,只不過(guò)它存儲(chǔ)的是復(fù)雜的數(shù)據(jù)。所以如果你的項(xiàng)目中對(duì)象都非常簡(jiǎn)單,那么不用Model而直接傳遞多個(gè)參數(shù)也能做成三層架構(gòu)。
那為什么還要有Model呢,它的好處是什么呢。下面是思考一個(gè)問(wèn)題時(shí)想到的,插在這里:
Model在各層參數(shù)傳遞時(shí)到底能起到做大的作用?
在各層間傳遞參數(shù)時(shí),可以這樣:
AddUser(userId,userName,userPassword,…,)
也可以這樣:
AddUser(userInfo)
這兩種方法那個(gè)好呢。一目了然,肯定是第二種要好很多。
什么時(shí)候用普通變量類型(int,string,guid,double)在各層之間傳遞參數(shù),什么使用Model傳遞?下面幾個(gè)方法:
SelectUser(int UserId)
SelectUserByName(string username)
SelectUserByName(string username,string password)
SelectUserByEmail(string email)
SelectUserByEmail(string email,string password)
可以概括為:
SelectUser(userId)
SelectUser(user)
這里用user這個(gè)Model對(duì)象囊括了username,password,email這三個(gè)參數(shù)的四種組合模式。UserId其實(shí)也可以合并到user中,但項(xiàng)目中其它BLL都實(shí)現(xiàn)了帶有id參數(shù)的接口,所以這里也保留這一項(xiàng)。
傳入了userInfo,那如何處理呢,這個(gè)就需要按照先后的順序了,有具體代碼決定。
這里按這個(gè)順序處理
首先看是否同時(shí)具有username和password,然后看是否同時(shí)具有email和password,然后看是否有username,然后看是否有email。依次處理。
這樣,如果以后增加一個(gè)新內(nèi)容,會(huì)員卡(number),則無(wú)需更改接口,只要在DAL的代碼中增加對(duì)number的支持就行,然后前臺(tái)增加會(huì)員卡一項(xiàng)內(nèi)容的表現(xiàn)與處理即可。
4、UserDAL.cs public IList
public UserInfo SelectUser(int UserId):返回指定用戶的相信信息
public bool InsertUser(UserInfo User):新增用戶信息
public bool UpdateUser(UserInfo User):更新用戶信息
public void DeleteUser(int UserId):移除用戶信息
很多人最鬧不清的就是數(shù)據(jù)訪問(wèn)層,到底那部分才算數(shù)據(jù)訪問(wèn)層呢?有些認(rèn)為數(shù)據(jù)庫(kù)就是數(shù)據(jù)訪問(wèn)層,這是對(duì)定義沒(méi)有搞清楚,DAL是數(shù)據(jù)訪問(wèn)層而不是數(shù)據(jù)存儲(chǔ)層,因此數(shù)據(jù)庫(kù)不可能是這一層的。也有的把SQLHelper(或其同類作用的組件)作為數(shù)據(jù)訪問(wèn)層,它又是一個(gè)可有可無(wú)的東西,SQLHelper的作用是減少重復(fù)性編碼,提高編碼效率,因此如果我習(xí)慣在乎效率或使用一個(gè)非數(shù)據(jù)庫(kù)的數(shù)據(jù)源時(shí),可以丟棄SQLHelper,一個(gè)可以隨意棄置的部分,又怎么能成為三層架構(gòu)中的一層呢。
可以這樣定義:與數(shù)據(jù)源操作有關(guān)的代碼,就應(yīng)該放在數(shù)據(jù)訪問(wèn)層中,屬于數(shù)據(jù)訪問(wèn)層
5、IUserDAL 數(shù)據(jù)訪問(wèn)層接口,這又是一個(gè)可有可無(wú)的東西,因?yàn)镻etshop中帶了它和ClassFactory類工廠,所以有些項(xiàng)目不論需不需要支持多數(shù)據(jù)源,都把這兩個(gè)東西做了進(jìn)來(lái),有的甚至不建ClassFactory而只建了IDAL,然后“IUserDAL iUserDal = new UserDAL();”,不知意義何在。這就完全是畫(huà)虎不成反類犬了。
許多人在這里有一個(gè)誤解,那就是以為存在這樣的關(guān)系:BLL?àIDAL?àDAL,認(rèn)為IDAL起到了BLL和DAL之間的橋梁作用,BLL是通過(guò)IDAL來(lái)調(diào)用DAL的。但實(shí)際是即使你如此編碼:“IUserDAL iUserDal = ClassFacotry.CreateUserDAL();”,那么在執(zhí)行“iUserDal.SelectUsers()”時(shí),其實(shí)還是執(zhí)行的UserDAL實(shí)例,而不是IUserDAL實(shí)例,所以IDAL在三層中的位置是與DAL平級(jí)的關(guān)系。
通過(guò)上面的介紹,基本上將三層架構(gòu)的層次結(jié)構(gòu)說(shuō)明了。其實(shí),本人有一個(gè)判斷三層架構(gòu)是否標(biāo)準(zhǔn)的方法,那就是將三層中的任意一層完全替換,都不會(huì)對(duì)其它兩層造成影響,這樣的構(gòu)造基本就符合三層標(biāo)準(zhǔn)了(雖然實(shí)現(xiàn)起來(lái)比較難^_^)。例如如果將項(xiàng)目從B/S改為C/S(或相反),那么除了UI以外,BLL與DAL都不用改動(dòng);或者將SQLServer改為Oracle,只需替換SQLServerDAL到OracleDAL,無(wú)需其它操作等等。本來(lái)想在文中加入一些具體的代碼的,但感覺(jué)不是很必要,如果大家覺(jué)得需要的話,我再補(bǔ)充吧。
總結(jié):不要因?yàn)槟硞€(gè)層對(duì)你來(lái)說(shuō)沒(méi)用,或者實(shí)現(xiàn)起來(lái)特別簡(jiǎn)單,就認(rèn)為它沒(méi)有必要,或者摒棄它,或者挪作它用。只要進(jìn)行了分層,不管是幾層,每一層都要有明確的目的和功能實(shí)現(xiàn),而不要被實(shí)際過(guò)程所左右,造成同一類文件位于不同層的情況發(fā)生。也不要出現(xiàn)同一層實(shí)現(xiàn)了不同的功能的情況發(fā)生。
資料三
三層結(jié)構(gòu)”是“外觀層”、“商業(yè)邏輯層”、“數(shù)據(jù)庫(kù)層”
假設(shè)以這樣的結(jié)構(gòu)制作一個(gè)留言板,那么應(yīng)該是:
# 留言板頁(yè)面的外觀代碼都存放在.aspx 文件中
# 當(dāng)用戶點(diǎn)擊頁(yè)面上的提交按鈕時(shí),先將文本信息傳遞給一個(gè) LeaveWord 類對(duì)象(LeaveWord 類的定義被封裝到“商業(yè)邏輯層”)
# 之后讓這個(gè)對(duì)象執(zhí)行 Post()將留言信息發(fā)送到數(shù)據(jù)庫(kù)
用一個(gè)簡(jiǎn)單的代碼就是:
//---------// 在外觀層,當(dāng)用戶點(diǎn)擊發(fā)送按鈕后
//---------private void Post_ServerClick(object sender, EventArgs e){ LeaveWord lword=new LeaveWord();lword.Content=Content.Value;lword.Post();}
//---------// 在商業(yè)邏輯層,定義 LeaveWord 類
//---------public class LeaveWord { public string Content;
public void Post(){ new LWordData().Post(this.Content);} }
//---------// 數(shù)據(jù)庫(kù)層,定義發(fā)送方法
//---------public class LWordData { public void Post(string content){ // 打開(kāi)數(shù)據(jù)庫(kù),將 content 插入到表中
} } 這樣,外觀層就不必費(fèi)心數(shù)據(jù)庫(kù)操作了...理解基本正確.但是數(shù)據(jù)層已經(jīng)只是數(shù)據(jù)庫(kù)的操作,不應(yīng)該和業(yè)務(wù)有任何關(guān)系,你可以參考SqlHelper.cs 提醒一點(diǎn),系統(tǒng)的“層”是對(duì)代碼的一種邏輯劃分,并不是一定要三層,假設(shè)你的系統(tǒng)很簡(jiǎn)單,就一個(gè)頁(yè)面,那一層就可以,如果系統(tǒng)很復(fù)雜,也可能是n層.差不離了,核心就是外層絕對(duì)不會(huì)涉及任何數(shù)據(jù)處理,他的任務(wù)是設(shè)置界面,獲取數(shù)據(jù),輸出數(shù)據(jù)
業(yè)務(wù)層最重要,所有數(shù)據(jù)處理在這里,如何運(yùn)用外層提供的數(shù)據(jù)處理業(yè)務(wù) 數(shù)據(jù)庫(kù)層一般都建議調(diào)用存儲(chǔ)過(guò)程,返回?cái)?shù)據(jù)集或其他所需數(shù)據(jù);.net的那兩個(gè)例子很好,多學(xué)習(xí)一下.一個(gè)原則: 上層調(diào)下層
上層對(duì)下層是不可見(jiàn)的
設(shè)計(jì)時(shí),表現(xiàn)層只調(diào)用邏輯層,表現(xiàn)層主要是取得頁(yè)面的數(shù)據(jù)傳到邏輯層,和把從邏輯層得到的數(shù)據(jù)顯示到頁(yè)面上。
邏輯層負(fù)責(zé)把數(shù)據(jù)加工整理傳到數(shù)據(jù)層和把從數(shù)據(jù)層取得的數(shù)據(jù)加工 數(shù)據(jù)層就只負(fù)責(zé)把數(shù)據(jù)對(duì)數(shù)據(jù)庫(kù)操作
業(yè)務(wù)邏輯層 就是給上層和下層下達(dá)命令和調(diào)節(jié)行為的中間層
資料四:基于組件的三層B/S結(jié)構(gòu)概述
在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見(jiàn),也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層(又或成為領(lǐng)域?qū)樱⒈硎緦?。三層結(jié)構(gòu)原理
3個(gè)層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。
所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫(kù)之間加入了一個(gè)“中間層”,也叫組件層。這里所說(shuō)的三層體系,不是指物理上的三層,不是簡(jiǎn)單地放置三臺(tái)機(jī)器就是三層體系結(jié)構(gòu),也不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫(kù)進(jìn)行交互,而是通過(guò)COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫(kù)進(jìn)行交互。表示層
位于最外層(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層(Business Logic Layer)無(wú)疑是系統(tǒng)架構(gòu)中體現(xiàn)核心價(jià)值的部分。它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì),也即是說(shuō)它是與系統(tǒng)所應(yīng)對(duì)的領(lǐng)域(Domain)邏輯有關(guān),很多時(shí)候,也將業(yè)務(wù)邏輯層稱為領(lǐng)域?qū)?。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一書(shū)中,將整個(gè)架構(gòu)分為三個(gè)主要的層:表示層、領(lǐng)域?qū)雍蛿?shù)據(jù)源層。作為領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的先驅(qū)Eric Evans,對(duì)業(yè)務(wù)邏輯層作了更細(xì)致地劃分,細(xì)分為應(yīng)用層與領(lǐng)域?qū)樱ㄟ^(guò)分層進(jìn)一步將領(lǐng)域邏輯與領(lǐng)域邏輯的解決方案分離。
業(yè)務(wù)邏輯層在體系架構(gòu)中的位置很關(guān)鍵,它處于數(shù)據(jù)訪問(wèn)層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦合結(jié)構(gòu),層與層之間的依賴是向下的,底層對(duì)于上層而言是“無(wú)知”的,改變上層的設(shè)計(jì)對(duì)于其調(diào)用的底層而言沒(méi)有任何影響。如果在分層設(shè)計(jì)時(shí),遵循了面向接口設(shè)計(jì)的思想,那么這種向下的依賴也應(yīng)該是一種弱依賴關(guān)系。因而在不改變接口定義的前提下,理想的分層式架構(gòu),應(yīng)該是一個(gè)支持可抽取、可替換的“抽屜”式架構(gòu)。正因?yàn)槿绱耍瑯I(yè)務(wù)邏輯層的設(shè)計(jì)對(duì)于一個(gè)支持可擴(kuò)展的架構(gòu)尤為關(guān)鍵,因?yàn)樗缪萘藘蓚€(gè)不同的角色。對(duì)于數(shù)據(jù)訪問(wèn)層而言,它是調(diào)用者;對(duì)于表示層而言,它卻是被調(diào)用者。依賴與被依賴的關(guān)系都糾結(jié)在業(yè)務(wù)邏輯層上,如何實(shí)現(xiàn)依賴關(guān)系的解耦,則是除了實(shí)現(xiàn)業(yè)務(wù)邏輯之外留給設(shè)計(jì)師的任務(wù)。數(shù)據(jù)層
數(shù)據(jù)訪問(wèn)層:有時(shí)候也稱為是持久層,其功能主要是負(fù)責(zé)數(shù)據(jù)庫(kù)的訪問(wèn),可以訪問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)、二進(jìn)制文件、文本文檔或是XML文檔。
簡(jiǎn)單的說(shuō)法就是實(shí)現(xiàn)對(duì)數(shù)據(jù)表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就會(huì)包括對(duì)象和數(shù)據(jù)表之間的mapping,以及對(duì)象實(shí)體的持久化。
第三篇:基于.NET平臺(tái)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于.NET平臺(tái)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:目前計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用在教學(xué)系統(tǒng)內(nèi)已經(jīng)相當(dāng)?shù)钠占埃沟脦熒g的交流也更加方便。然而傳統(tǒng)的教學(xué)模式對(duì)某些課程的教學(xué)有一定的限制,如《網(wǎng)頁(yè)設(shè)計(jì)與制作》等課程?;?NET平臺(tái)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)作為傳統(tǒng)的教學(xué)模式的補(bǔ)充,借助網(wǎng)絡(luò),增進(jìn)教學(xué)各方面的溝通,方便了資源的共享,也為師生的交互提供了一個(gè)基礎(chǔ)的平臺(tái)。本文概述了一個(gè)基于.NET平臺(tái)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)的設(shè)計(jì);并在系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)上總結(jié)闡述了一些具有一定通用性的技術(shù)要點(diǎn),為相關(guān)系統(tǒng)開(kāi)發(fā)和應(yīng)用提供了一定的借鑒作用。
關(guān)鍵詞:教學(xué)輔助;IIS;ASP.NET 2.0;SQL Server
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599(2011)21-0000-02
Network Teaching Aids System Design and Implementation on.NET Platform
Shen Ye
(Taicang Jianxiong Vocational and Technical College,Taicang 215411,China)
Abstract:The application of computer network teaching system has been quite popular,making communication between teachers and students are also more convenient.However,the traditional teaching model for teaching some courses have certain restrictions,such as“web design and production”and other courses.Based on.NET platform as a network of academic support systems complement traditional teaching model,with the network,improve teaching in all aspects of communication,to facilitate sharing of resources,but also for teachers and students interact to provide a foundation platform.This paper outlines a.NET-based platform for supporting online teaching system design;and system implementation based on the summary describes some of the technologies have some common points,for the development and application of related systems provide some reference.Keywords:Teaching aids;IIS;ASP.NET 2.0;SQL Server
一、系統(tǒng)概要
傳統(tǒng)教學(xué)受教學(xué)時(shí)間、教學(xué)地點(diǎn)、教學(xué)方法等方面的限制,更注重課堂上的講授,對(duì)于課余時(shí)間不能充分利用,一定程度上減少了教師與學(xué)生的交流互動(dòng)。實(shí)際上,學(xué)生在課余時(shí)間溫習(xí)教學(xué)內(nèi)容、完成作業(yè)的過(guò)程中也很需要教師的指導(dǎo);教師也需要將教學(xué)資料共享給學(xué)生,及時(shí)了解學(xué)生的接受情況?;?NET平臺(tái)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)旨在作為傳統(tǒng)教學(xué)的補(bǔ)充,借助網(wǎng)絡(luò)的信息共享、信息傳遞、信息分布等優(yōu)勢(shì),提供互動(dòng)平臺(tái),幫助學(xué)生在課余能得到教師的指導(dǎo),及時(shí)上交電子作業(yè),方便教師共享教學(xué)資源,公布相關(guān)信息,了解學(xué)生情況,增進(jìn)了教與學(xué)的溝通,延長(zhǎng)了教學(xué)時(shí)間,使教學(xué)方式更多樣,教學(xué)時(shí)間更靈活,教學(xué)內(nèi)容更全面。
基于.NET平臺(tái)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)目前應(yīng)用于健雄職業(yè)技術(shù)學(xué)院《網(wǎng)頁(yè)設(shè)計(jì)與制作》課程,并具有很好的兼容性,可以方便地應(yīng)用于其他課程。本系統(tǒng)基于Windows+IIS+.Net Framework 2.0+ASP.NET 2.0+SQLServer設(shè)計(jì)開(kāi)發(fā),系統(tǒng)各功能模塊如圖1所示:
圖1:網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)各功能模塊
二、系統(tǒng)設(shè)計(jì)
雖然使用的學(xué)生人數(shù)較多,采用身份確認(rèn)有點(diǎn)繁瑣,但從各自作業(yè)和作品源碼的保護(hù)角度考慮,還是使用身份確認(rèn)的方式來(lái)登陸本系統(tǒng)。為方便教師更新教學(xué)內(nèi)容、管理系統(tǒng),教師登錄系統(tǒng)后,可以直接對(duì)所見(jiàn)信息、留言、作業(yè)等進(jìn)行添加、刪除和修改。
根據(jù)應(yīng)用需要,整個(gè)系統(tǒng)分成7個(gè)功能模塊:(1)課程首頁(yè)。提供本課程相關(guān)公告、本課程簡(jiǎn)介、常用軟件的下載等功能。(2)教學(xué)內(nèi)容。列出各章節(jié)的作業(yè)題目,并提供相應(yīng)章節(jié)的課件下載、在線測(cè)試等功能。(3)教學(xué)資源。列出本課程使用到的重要教材、資料和素材等,并提供外界和學(xué)生優(yōu)秀作品的下載。(4)試題下載。提供往年試卷、模擬試卷的下載。(5)學(xué)生成果展示。提供學(xué)生個(gè)人網(wǎng)頁(yè)展示的空間,評(píng)比作品的平臺(tái)。(6)教學(xué)互動(dòng)。提供在線答疑,留言討論,電子作業(yè)上交、修改、刪除等管理功能。(7)教師、學(xué)生登陸。教師登錄系統(tǒng)后,可以直接對(duì)所見(jiàn)內(nèi)容進(jìn)行操作。
三、系統(tǒng)實(shí)現(xiàn)
(一)運(yùn)行環(huán)境的選擇與設(shè)計(jì)
考慮到學(xué)生用機(jī)的不確定性以及各模塊所需完成的交互功能等因素,本系統(tǒng)將采用B/S模式?,F(xiàn)在有很多種搭建B/S結(jié)構(gòu)的平臺(tái)方案,目前主流的有:Windows+IIS+.Net Framework+ASP.NET+SQL Server,以及LINUX+APPACHE+PHP+MYSQL等多種組合??紤]到具體的開(kāi)發(fā)、測(cè)試、應(yīng)用環(huán)境及用戶的熟悉情況,我們選擇了前者。
操作系統(tǒng)平臺(tái)采用了Windows xp,Web服務(wù)器則采用IIS5.1,并安裝了.NetFramework2.0平臺(tái)。由于ASP.NET與Windows的高兼容性,提供的豐富控件,使得整個(gè)開(kāi)發(fā)過(guò)程效率很高。所以,動(dòng)態(tài)Web應(yīng)用程序開(kāi)發(fā)我們選取了ASP.NET。對(duì)于后臺(tái)數(shù)據(jù)庫(kù),則考慮到實(shí)際的應(yīng)用情況,需要一個(gè)高效而不必太復(fù)雜的數(shù)據(jù)庫(kù)管理系統(tǒng),我們選擇了流行的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SQL Server 2000企業(yè)版。
對(duì)于客戶端瀏覽器,考慮到具體的使用環(huán)境,開(kāi)發(fā)與測(cè)試只針對(duì)Microsoft Internet Explorer 6.0及以上的瀏覽器進(jìn)行。其他瀏覽器可能不能正確使用本系統(tǒng)“在線答疑”功能。
開(kāi)發(fā)環(huán)境,我們采用了Microsoft Visual Studio.NET 2005,服務(wù)器端代碼使用C#.NET語(yǔ)言開(kāi)發(fā)。使用ASP.NET 2.0的模板頁(yè)面、站點(diǎn)地圖、主題等新功能及CSS樣式表統(tǒng)一頁(yè)面樣式,使用ADO.NET訪問(wèn)數(shù)據(jù)庫(kù)。網(wǎng)絡(luò)傳輸協(xié)議采用HTTP。
(二)系統(tǒng)實(shí)現(xiàn)中的幾個(gè)通用性的技術(shù)問(wèn)題
1.上傳較大文件及多個(gè)文件的實(shí)現(xiàn)
對(duì)較大文件的上傳,需要修改配置文件Web.Config中httpRunTime,如下所示:
第四篇:淺談基于.NET的高校教材管理系統(tǒng)的分析與設(shè)計(jì)論文
[論文關(guān)鍵詞]教材管理 高校 NETC/S
[論文摘要]本文以教育技術(shù)學(xué)中教學(xué)媒體的理論為基礎(chǔ),充分分析了教材在教學(xué)中的重要地位,闡明了在網(wǎng)絡(luò)環(huán)境下進(jìn)行科學(xué)化、系統(tǒng)化教材管理的必要性,充分分析了教材管理的業(yè)務(wù)流程,運(yùn)用軟件工程理論,結(jié)合管理信息系統(tǒng)、數(shù)據(jù)庫(kù)技術(shù)理論,通過(guò)有效地分析和設(shè)計(jì),實(shí)現(xiàn)了基于.NET平臺(tái)、三層C/S模式下的功能齊全、方便快捷的高校教材管理系統(tǒng)。
1引言
隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,教學(xué)媒體愈來(lái)愈廣泛地應(yīng)用于教學(xué)實(shí)踐,教學(xué)媒體是承載和傳播(遞)教學(xué)信息的載體或工具,教材這種最常用的教學(xué)媒體在教學(xué)過(guò)程中所體現(xiàn)的作用很大,在教師和學(xué)生之間起著橋梁和紐帶作用,它能承載的信息量也是非常有利于學(xué)生的學(xué)習(xí)過(guò)程與內(nèi)化過(guò)程,因此在選擇和管理教材過(guò)程需要科學(xué)化、系統(tǒng)化的管理方式。
隨著各高校辦學(xué)規(guī)模的不斷擴(kuò)大,教材種類和數(shù)量也迅速增加,教材管理工作給教材購(gòu)買(mǎi)和管理部門(mén)人員帶來(lái)了很多困難,任務(wù)繁重,重復(fù)性工作較多,且容易受各方面因素的影響,效率較低。因此需要設(shè)計(jì)出一套適用于高校教材科的教材管理系統(tǒng),以實(shí)現(xiàn)教材管理工作的現(xiàn)代化、系統(tǒng)化和規(guī)范化。本文基于實(shí)用性和創(chuàng)造性的設(shè)計(jì)思想,在.NET平臺(tái)上,運(yùn)用C/S三層模式,利用SQLserver數(shù)據(jù)庫(kù)和C#語(yǔ)言等工具設(shè)計(jì)了基于.NET的高校教材管理系統(tǒng)。
2系統(tǒng)設(shè)計(jì)思想
教材管理系統(tǒng)運(yùn)用了軟件工程的原理與方法,對(duì)軟件開(kāi)發(fā)的各個(gè)時(shí)期的任務(wù)給予詳細(xì)地分析和設(shè)計(jì),充分保證了系統(tǒng)的實(shí)用性、可用性、易用性、先進(jìn)性、擴(kuò)展性、及時(shí)性、可靠性和安全性。在充分分析的基礎(chǔ)上,系統(tǒng)將在Windows環(huán)境下,利用SQLServer數(shù)據(jù)庫(kù)和C#語(yǔ)言在.NET平臺(tái)上進(jìn)行開(kāi)發(fā),并將系統(tǒng)設(shè)計(jì)為在三層C/S模式下,用戶需要在局域網(wǎng)范圍內(nèi)且安裝相應(yīng)軟件才能進(jìn)行相關(guān)操作,將應(yīng)用處理邏輯、復(fù)雜的統(tǒng)計(jì)檢索等工作集中到服務(wù)器上實(shí)現(xiàn),客戶端主要負(fù)責(zé)與用戶交互、事物處理等工作,同時(shí)系統(tǒng)開(kāi)發(fā)和維護(hù)工作量也小。通過(guò)這種方式,使新開(kāi)發(fā)的系統(tǒng)發(fā)揮其安全、科學(xué)、高效的特點(diǎn)。
3系統(tǒng)數(shù)據(jù)流程
教師根據(jù)教學(xué)計(jì)劃和教學(xué)大綱選擇合適的教材,通過(guò)院系審查后將訂購(gòu)教材的通知單交給教材科,由教材科根據(jù)庫(kù)存進(jìn)行教材的訂購(gòu),進(jìn)行相應(yīng)教材的入庫(kù),根據(jù)教材銷售情況記錄出庫(kù)情況,銷售分為零售和班級(jí)領(lǐng)書(shū),教師可通過(guò)領(lǐng)書(shū)單領(lǐng)取教師用書(shū)。同時(shí)在教材管理過(guò)程中還需要進(jìn)行庫(kù)存管理、報(bào)廢處理等,所有的出庫(kù)信息都將由財(cái)務(wù)處進(jìn)行結(jié)算。
4教材管理系統(tǒng)的模塊結(jié)構(gòu)圖
按照模塊設(shè)計(jì)的原則,以功能聚合作為模塊劃分的最高標(biāo)準(zhǔn)得出教材管理的模塊結(jié)構(gòu),共需9個(gè)模塊,即基本信息設(shè)置模塊,教材訂購(gòu)模塊,銷售管理模塊,庫(kù)存管理模塊,退書(shū)管理模塊,出入庫(kù)統(tǒng)計(jì)模塊,結(jié)算管理模塊,報(bào)廢管理模塊和系統(tǒng)管理模塊。
設(shè)計(jì)基本信息設(shè)置模塊的目的是能夠在系統(tǒng)的使用過(guò)程中,可以隨時(shí)隨地通過(guò)系統(tǒng)錄入相關(guān)信息,使需要的數(shù)據(jù)更新及時(shí)、快捷且簡(jiǎn)單,增加了數(shù)據(jù)的準(zhǔn)確性,主要完成:維護(hù)學(xué)院、專業(yè)、班級(jí)、出版社、供書(shū)單位、教材基本信息;可進(jìn)行教材信息瀏覽,通過(guò)查詢方式查看某個(gè)教材或某類教材的信息;可以導(dǎo)入外部excel文件。
教材訂購(gòu)模塊主要是通過(guò)預(yù)定和計(jì)劃方式將教材訂購(gòu)信息進(jìn)行各類匯總,并生成對(duì)外訂購(gòu)計(jì)劃,主要完成教師預(yù)定和對(duì)外訂購(gòu)計(jì)劃,生成計(jì)劃或讀取以往的訂購(gòu)計(jì)劃,形成對(duì)外訂購(gòu)計(jì)劃單。
教材管理過(guò)程中的庫(kù)存管理主要涉及教材的庫(kù)存量、庫(kù)位等信息,直接和教材對(duì)外訂購(gòu)相關(guān),庫(kù)存管理模塊主要功能有入庫(kù)管理,出庫(kù)管理和盤(pán)點(diǎn)管理,每一個(gè)功能都能進(jìn)行查詢。
銷售管理模塊主要完成班級(jí)領(lǐng)書(shū),教師領(lǐng)書(shū),零售,教師領(lǐng)書(shū)、班級(jí)領(lǐng)書(shū)和零售查詢和零售統(tǒng)計(jì),通過(guò)選擇日期來(lái)對(duì)零售進(jìn)行日查詢和月查詢。
退書(shū)管理模塊主要功能有班級(jí)退書(shū),教師退書(shū),零售退書(shū):通過(guò)選擇條件來(lái)查找要退回教材的情況,形成零售退書(shū)單,供貨商退書(shū)以及各類退書(shū)管理的查詢。出入庫(kù)統(tǒng)計(jì)模塊主要功能有出入庫(kù)日統(tǒng)計(jì)和出入庫(kù)月統(tǒng)計(jì),通過(guò)設(shè)置起止時(shí)間可以查詢到響應(yīng)的出入庫(kù)信息。
結(jié)算管理模塊主要功能有班級(jí)領(lǐng)書(shū)結(jié)算和教師領(lǐng)書(shū)結(jié)算,從備選中選擇想要結(jié)算的班級(jí)或書(shū)情況進(jìn)行詳情查詢,進(jìn)行結(jié)算,并可打印報(bào)表。
報(bào)廢管理模塊主要功能有報(bào)廢管理,即輸入報(bào)廢原因,在查詢框中可以輸入報(bào)廢書(shū)籍的信息,快速查找到相應(yīng)書(shū)籍的信息,從備選教材中選擇出要報(bào)廢的書(shū)籍,輸入報(bào)廢數(shù)量,進(jìn)行報(bào)廢處理,得出報(bào)廢表,并會(huì)自動(dòng)修改統(tǒng)計(jì)報(bào)表。
系統(tǒng)管理模塊主要實(shí)現(xiàn)用戶管理和據(jù)庫(kù)備份,方便管理系統(tǒng)和用戶。
5據(jù)庫(kù)設(shè)計(jì)
系統(tǒng)總的設(shè)計(jì)思想是通過(guò)訪問(wèn)數(shù)據(jù)庫(kù)來(lái)進(jìn)行讀寫(xiě)查詢等操作,在設(shè)計(jì)數(shù)據(jù)庫(kù)的具體過(guò)程中,分別對(duì)各表進(jìn)行了具體的分析和設(shè)置,最后進(jìn)行數(shù)據(jù)庫(kù)實(shí)施、運(yùn)行和維護(hù)。
根據(jù)功能模塊的劃分結(jié)果可知,系統(tǒng)的用戶基本上以管理員和教師為主。由于管理員和教師的權(quán)限和操作功能大不相同,系統(tǒng)中需要的數(shù)據(jù)實(shí)體有以下5個(gè):
(1)管理員數(shù)據(jù)實(shí)體:只需要記錄管理員的登錄名、姓名和密碼。(2)教師數(shù)據(jù)實(shí)體:包括教師姓名、學(xué)院等信息。(3)班級(jí)數(shù)據(jù)實(shí)體:用于記錄班級(jí)的基本信息,方便管理和查詢。(4)教材數(shù)據(jù)實(shí)體:用于記錄教材的基本信息。(5)供貨商數(shù)據(jù)實(shí)體:用于記錄教材供應(yīng)商的基本信息,以便訂購(gòu)教材時(shí)聯(lián)系方便。
6系統(tǒng)特點(diǎn)
(1)協(xié)調(diào)性的提升。充分運(yùn)用了人機(jī)工程學(xué)原理,使系統(tǒng)具有人性化、方便性、安全性、控制性和界面友好性。(2)可維護(hù)性與可擴(kuò)充性較強(qiáng)。系統(tǒng)中各模塊是相互獨(dú)立而又彼此聯(lián)系的實(shí)體,易于維護(hù)和擴(kuò)充,從而提高了整個(gè)系統(tǒng)的可維護(hù)性和可擴(kuò)充性。(3)可移植性高。系統(tǒng)是在.NET技術(shù)基礎(chǔ)上完成的,而C#語(yǔ)言本身與平臺(tái)無(wú)關(guān),具有可移植性,所以本系統(tǒng)可以適用于不同的操作平臺(tái)。
7結(jié)語(yǔ)
本文在研究了教材管理的重要性后,將管理信息系統(tǒng)理論、數(shù)據(jù)庫(kù)理論、軟件工程理論和先進(jìn)的計(jì)算機(jī)技術(shù)引入到系統(tǒng)開(kāi)發(fā)中,提出了基于三層C/S模型、.NET平臺(tái),用C#語(yǔ)言和SQLServer編寫(xiě)的高校教材管理系統(tǒng),為高校教材管理工作提供了方便、科學(xué)的系統(tǒng)環(huán)境。該系統(tǒng)經(jīng)過(guò)實(shí)際運(yùn)行,基本上達(dá)到了設(shè)計(jì)要求和目的,滿足了高校教材科的需求。
[參考文獻(xiàn)]
[1]雷體南,金林.教育技術(shù)學(xué)導(dǎo)論[M].武漢:湖北科學(xué)技術(shù)出版社.[2]林健,馮芷,楊新華等.基于Client/Server結(jié)構(gòu)的NSFC管理科學(xué)部管理信息系統(tǒng).系統(tǒng)工程理論與實(shí)踐[J],2000,第十一期.[3]胡燕,霍亮.XML和SQLServer2000數(shù)據(jù)交換方式的研究[J].微機(jī)發(fā)展.2005,Vol.15(5):53~58.[4]田燕琴,宋黎.MIS系統(tǒng)的面向?qū)ο箝_(kāi)發(fā)方法[J].福建電腦.2003,11:60~61.[5]王慧芳,畢建權(quán).SoftwareEngineering軟件工程[M].杭州:浙江大學(xué)出版社,2006.14,123~124.[6]李奇.三層C/S結(jié)構(gòu)技術(shù)與商業(yè)應(yīng)用前景[J].黑龍江科技信息.2008,4:81.[7]董源泉.基于UML的高校教材管理系統(tǒng)體系結(jié)構(gòu)建模與實(shí)現(xiàn)[D]:[碩士學(xué)位論文].蘇州:蘇州大學(xué),2007.
第五篇:高校畢業(yè)實(shí)習(xí)過(guò)程管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
分類號(hào) 密級(jí)
U D C 編號(hào)
本科畢業(yè)論文(設(shè)計(jì))
題 目 高校畢業(yè)實(shí)習(xí)過(guò)程管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
學(xué) 院 計(jì)算機(jī)學(xué)院
專 業(yè) 名 稱 計(jì)算機(jī)科學(xué)與技術(shù)
年 級(jí) 2016級(jí)
學(xué) 生 姓 名 黃巍
學(xué) 號(hào) 1650340029
指 導(dǎo) 教 師 李劍
二〇二〇 年 四 月
湖北第二師范學(xué)院本科畢業(yè)論文(設(shè)計(jì))原創(chuàng)性聲明
本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。
論文作者簽名:黃巍
2020年 5月 10 日
摘要:隨著計(jì)算機(jī)的普及和計(jì)算機(jī)科學(xué)技術(shù)的飛速發(fā)展,人們開(kāi)始越來(lái)越多地利用計(jì)算機(jī)來(lái)解決我們生活中的實(shí)際問(wèn)題了。近幾年來(lái),由于人力資源制度的不斷改革,各級(jí)人事部門(mén)對(duì)人力資源信息管理計(jì)算機(jī)化的需求也與日俱增。因?yàn)閷?duì)大多數(shù)的企業(yè)管理者而言,如何有效的管理企業(yè)的人力資源,使其發(fā)揮最大的效益,是每位企業(yè)管理者不斷面臨的難題與挑戰(zhàn)。所以企業(yè)人力資源管理成為了企業(yè)管理中的重中之重。
以前人力資源管理甚至還采用人力處理方法,這樣不僅效率低下,不易保存和查找,更多的會(huì)由于人為的原因,造成數(shù)據(jù)的遺漏,差錯(cuò),誤報(bào),從而給企業(yè)帶來(lái)重大的損失。因此,開(kāi)發(fā)一個(gè)界面友好,功能全面,操作簡(jiǎn)單的基于B/S(Browser/Server)結(jié)構(gòu)的企業(yè)人力資源管理系統(tǒng)變得十分重要,這也正是本系統(tǒng)開(kāi)發(fā)的目的和意義所在。本系統(tǒng)將采用目前比較先進(jìn)的MyEclipse6.5開(kāi)發(fā)工具和MySQL數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。
本企業(yè)人事管理系統(tǒng)將人事管理與辦公自動(dòng)化管理進(jìn)行了有機(jī)結(jié)合,能有效地管理企業(yè)內(nèi)各種人力資源信息,使企業(yè)各部門(mén)工作人員都能及時(shí),方便地獲得所要人員的各種信息,以及對(duì)信息的組合條件查詢,更新,管理員的密碼設(shè)置和工資的統(tǒng)計(jì)發(fā)放等功能,從而提升企業(yè)的工作效率和競(jìng)爭(zhēng)力,滿足了現(xiàn)代企業(yè)管理的需要。
關(guān)鍵字: 人事管理系統(tǒng) B/S結(jié)構(gòu) 組合條件查詢
Abstract: With the popularity of computer and the computer the rapid development of science and technology, people began to used more and more on computers to solve practical problems in our life.In recent years, due to the human resource system reform, all levels of the personnel department of human resources information management computerized demand is growing.For most of the enterprise managers, how effective management enterprise human resources, make its maximum benefit, is each enterprise managers continuously problems and challenges.So enterprise human resources management become the enterprise management in the priority.Previous human resource management even using human processing method, which is not only a low efficiency, is not easy to preserve and search, more will due to human reason, cause data of errors, omissions, material misstatement, thus brings to the enterprise significant loss.Therefore, development of a friendly interface, comprehensive functions, operation simple based on B/S(Browser/Server)structure of enterprise human resources management system has become very important, it is the systematic development of purpose and meaning.This system will be adopted at present more advanced MyEclipse6.5 development tools and MySQL database design.This enterprise human resources management system will personnel management and office automation management organically, and can effectively management enterprise inside all sorts of human resources information, causes the enterprise to each department staff can timely and easily get to personnel, and various kinds of information for the combination of information inquiry, update, conditions administrator password setup and wage statistics distribution functions, thus promotes the enterprise the work efficiency and competitiveness, and meet the needs of modern enterprise management.Keywords:Graduate internship process;management system;SSH;Java
0.0.1.目錄
1.1.緒論
1.1.1.1 選題背景
要想通過(guò)人力資源管理系統(tǒng)來(lái)提高企業(yè)的管理水平,光是選取一個(gè)好的或比較好的、適合本企業(yè)特點(diǎn)的人力資源管理軟件還是遠(yuǎn)遠(yuǎn)不夠的。在以人為本的觀念的熏陶下,人力資源管理在組織中的作用日益突出。但是,人員的復(fù)雜性和組織的特有性使得人力資源的管理成為難題,基于這個(gè)時(shí)代背景,人力資源管理將成為企業(yè)管理的重要內(nèi)容,人事管理系統(tǒng)(Human Resource Management System,HRMS)成為許多企業(yè)管理中非常重要的部分。人事管理系統(tǒng)的作用之一是為人力資源規(guī)劃,建立人事檔案。它的出現(xiàn)使得人事檔案查詢、調(diào)用的速度加快,也使得精確分析大量員工的知識(shí)、經(jīng)驗(yàn)、技術(shù)、能力和職業(yè)抱負(fù)成為可能。從而,實(shí)現(xiàn)企業(yè)內(nèi)人力資源管理的標(biāo)準(zhǔn)化、科學(xué)化、數(shù)字化和網(wǎng)絡(luò)化是很有必要的。
1.2.1.2 目的和意義
隨著企業(yè)內(nèi)人力資源管理的網(wǎng)絡(luò)化和系統(tǒng)化的日益完善,人力資源管理系統(tǒng)在企業(yè)管理中越來(lái)越受到企業(yè)管理者的青睞。人力資源管理系統(tǒng)的功能全面、操作簡(jiǎn)單,可以存放企業(yè)員工的基本信息、分配和管理企業(yè)員工工作任務(wù)、實(shí)現(xiàn)對(duì)企業(yè)員工的考勤管理,能夠方便快捷地掌握員工的個(gè)人信息、工作進(jìn)度和工作狀態(tài)等,降低企業(yè)人力資源管理的人力和成本,并提高人力資源管理的效率。使企業(yè)管理真正實(shí)現(xiàn)人力資源的網(wǎng)絡(luò)化、系統(tǒng)化和科學(xué)化。
1.3.1.3 系統(tǒng)設(shè)計(jì)思想
一個(gè)管理系統(tǒng)的設(shè)計(jì)思想是對(duì)一個(gè)系統(tǒng)的基礎(chǔ)的認(rèn)識(shí),一個(gè)合理的人力資源管理系統(tǒng)應(yīng)該具備操作簡(jiǎn)單、可視化界面、功能全面、運(yùn)行速度快等優(yōu)點(diǎn)。通過(guò)人力資源管理系統(tǒng)可使管理者快速、高效地完成企業(yè)日常事務(wù)中的人事工作,降低人力資源管理的成本,使管理者能集中精力實(shí)現(xiàn)企業(yè)戰(zhàn)略目標(biāo)。人力資源管理系統(tǒng)主要具備以下特性:
(1)高技術(shù)性:本系統(tǒng)設(shè)計(jì)主要采用eclipse開(kāi)發(fā)工具和MySQL數(shù)據(jù)庫(kù)結(jié)合起來(lái)設(shè)計(jì)與實(shí)現(xiàn)的。Eclipse開(kāi)發(fā)工具功能非常強(qiáng)大,同時(shí)MySQL數(shù)據(jù)庫(kù)可以大容量地存儲(chǔ)數(shù)據(jù),Java為主要開(kāi)發(fā)語(yǔ)言,并且采用先進(jìn)的SSH框架進(jìn)行設(shè)計(jì),充分運(yùn)用高技術(shù)手段來(lái)設(shè)計(jì)。
(2)實(shí)用性:系統(tǒng)從用戶需求的角度為出發(fā)點(diǎn),一切以用戶的方便為準(zhǔn)則。切實(shí)了解用戶的實(shí)際需求,盡量滿足用戶的各項(xiàng)要求,以達(dá)到讓用戶滿意的程度。
(3)靈活性:通過(guò)對(duì)SSH框架的設(shè)計(jì),可以減少許多代碼與頁(yè)面之間的重復(fù)性和冗余,從而大大的提高了軟件的靈活性,用戶可以根據(jù)不同的需要,選擇對(duì)應(yīng)的軟件部分,非常方便靈活。
(4)可維護(hù)性:本系統(tǒng)的設(shè)計(jì)非常便于維護(hù),因?yàn)槭褂昧薙SH框架以及穩(wěn)定性較高的軟件和硬件環(huán)境,所以可以隨時(shí)為系統(tǒng)的軟件、硬件進(jìn)行維護(hù)。
(5)復(fù)用性:本系統(tǒng)采用模塊化的方法進(jìn)行設(shè)計(jì),對(duì)各個(gè)模塊盡可能的達(dá)到高內(nèi)聚,低耦合的程序,來(lái)提高系統(tǒng)的復(fù)用性。
1.4.1.4 集成開(kāi)發(fā)環(huán)境
1.4.1.1.4.1 B/S結(jié)構(gòu)的數(shù)據(jù)庫(kù)訪問(wèn)模式
B/S(Browser/Server)結(jié)構(gòu),即瀏覽器/服務(wù)器模式,當(dāng)前在web數(shù)據(jù)庫(kù)開(kāi)發(fā)中應(yīng)用較廣泛的一種模式,它是隨著Internet技術(shù)的興起,從傳統(tǒng)的二層C/S(客戶機(jī)/服務(wù)器)模式發(fā)展起來(lái)的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)是三層結(jié)構(gòu)C/S模式。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)004km.cn(java 官方網(wǎng)站).[4] http://004km.cn(中國(guó)java網(wǎng)站).[5] 耿祥義.Java基礎(chǔ)教程[M].北京.清華大學(xué)出版社.2014.9:10-50
[6] Bruce Eckel.Java編程思想[M].北京.機(jī)械工業(yè)出版社.2012.9:30-280
[7](美)舒爾第.Java2-The complete reference[M].北京.電子工業(yè)出版社.2013.1:20-100
[8](美)Marty Hall.Servlet與JSP權(quán)威指南[M].北京v機(jī)械工業(yè)出版社.2012.10:30-350
[9](美)Marty Hall.JavaScript高級(jí)程序設(shè)計(jì)[M].北京.人民郵電出版社.2016.11:50-200
[10](美)David Flanagan.JavaScript權(quán)威指南[M].北京.機(jī)械工業(yè)出版社.2013.1:10-200
[11] 梁立新.項(xiàng)目實(shí)踐精解:基于struts-spring-hibernate的Java應(yīng)用開(kāi)發(fā)[M].北京.電子工業(yè)出版社.2016.8:10-300
[12] Bruce Shive.Research Direction in Object-Oriented Programming,2002
[13] Miao H.K.McDermid J.A.andTony Ian,Proving the existence of the initial state in Z specification,Chinese Journal of Advanced Software Research,2003
[14] Apache Software.The Struts Users Guide.http://Jakarta.Apache.org/struts.