亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于項目事例為內(nèi)容的.NET開發(fā)實驗課的探討

        2013-01-01 00:00:00何俊
        計算機時代 2013年4期

        摘 要: 通過對基于.NET的B/S管理系統(tǒng)一般項目的分析,給出了一個基于.NET的原型系統(tǒng)的設(shè)計過程。分析了該原型系統(tǒng)的數(shù)據(jù)庫設(shè)計、數(shù)據(jù)層、業(yè)務(wù)邏輯和Web頁面設(shè)計。以蘇州大學(xué)應(yīng)用技術(shù)學(xué)院項目實驗教學(xué)為例,探討了采用基于該原型系統(tǒng)的實驗方法和步驟。

        關(guān)鍵詞: 原型系統(tǒng); 實驗實訓(xùn); .NET; 管理系統(tǒng)

        中圖分類號:TP393.07 文獻標(biāo)志碼:B 文章編號:1006-8228(2013)04-60-03

        Discussion on .NET development experiment based on projects

        He Jun

        (School of Computer Science Technology, Computing Center, Soochow University, Suzhou, Jiangsu 215006, China)

        Abstract: Through analysis of .NET B/S management system, a design process which based on .NET prototype system is presented. The prototype system is analyzed by the database design, data layer, the design of business logic and web page. Taking the experimental teaching of Applied Technology College of Soochow University as example, the method and procedure of experiment for this prototype system are discussed in this paper.

        Key words: prototype system; training teaching; .Net; management system

        1 基于.NET 的B/S管理系統(tǒng)項目分析

        基于.NET B/S信息管理系統(tǒng)大多是基于數(shù)據(jù)庫的管理系統(tǒng),該類系統(tǒng)的開發(fā)都有統(tǒng)一的套路:開發(fā)語言選擇VB或C#,后臺數(shù)據(jù)庫選擇Sql Server或Access等;體系結(jié)構(gòu)通常為三層架構(gòu)[1~2]:表示層、應(yīng)用邏輯層(即中間層)、數(shù)據(jù)層[3];從開發(fā)者的角度看,表示層對應(yīng)Web頁面或用戶控件的集合,數(shù)據(jù)層提供直接操作數(shù)據(jù)庫的全體對象集合,而應(yīng)用邏輯層提供表示層和數(shù)據(jù)層之間的訪問接口,該層起到承上啟下的作用,采用類庫方式向上提供訪問接口,向下包裝數(shù)據(jù)層接口?;?NET的B/S管理系統(tǒng)的通用體系結(jié)構(gòu)如圖1所示。

        三層體系結(jié)構(gòu)是:表示層、應(yīng)用邏輯層、數(shù)據(jù)層。在表示層,將各個功能頁面劃分成許多自定義用戶控件或服務(wù)器控件,將控件搭建成完整的功能頁面,并將數(shù)據(jù)安全訪問和功能操作、設(shè)置等驗證放在控件中,使用模塊表進行管理,其目的是便于裝配和安全控制。數(shù)據(jù)訪問及業(yè)務(wù)邏輯層主要采用微軟提供的標(biāo)準數(shù)據(jù)應(yīng)用訪問塊Application Blocks for .NET。該類庫集成數(shù)據(jù)庫的連接、方法重載返回DataSet和DataReader訪問數(shù)據(jù)庫、采用Execute或ExecuteScalar等方法重載更新和修改數(shù)據(jù)庫,以及ExecuteXmlReade方法處理XML文檔的輸入輸出。在本原型系統(tǒng)中擴充了標(biāo)準數(shù)據(jù)應(yīng)用訪問塊的功能,使其能夠提供滿足數(shù)據(jù)訪問的要求和部分業(yè)務(wù)邏輯的實現(xiàn)。

        在本原型系統(tǒng)中,都使用了數(shù)據(jù)訪問層中的SqlCommand對象調(diào)用存儲過程去執(zhí)行數(shù)據(jù)庫操作,很少直接在程序中使用SQL語句執(zhí)行數(shù)據(jù)庫操作。在一些例子中,可能見不到SqlCommand對象,因為存儲過程名直接傳遞給了數(shù)據(jù)訪問層相應(yīng)的功能函數(shù),但這仍將導(dǎo)致SqlCommand對象的創(chuàng)建。

        2 基于.NET的B/S模式管理系統(tǒng)原型設(shè)計

        我們選擇在Web開發(fā)中用的最多的通用權(quán)限子系統(tǒng)作為原型系統(tǒng)對學(xué)生進行講解, 通用權(quán)限子系統(tǒng)具有通用性,能夠方便地集成到其他系統(tǒng)中。我們對數(shù)據(jù)庫設(shè)計[4~5]、應(yīng)用邏輯層和數(shù)據(jù)層、Web 頁面設(shè)計、Web菜單設(shè)計一系列開發(fā)過程給予詳細的分析。

        2.1 數(shù)據(jù)庫設(shè)計

        通用權(quán)限子系統(tǒng)數(shù)據(jù)設(shè)計如圖2所示。

        ⑴ 用戶(User)

        User表的作用是提供可訪問Web應(yīng)用系統(tǒng)的登錄帳戶和密碼。用戶是有權(quán)使用本系統(tǒng)的人。主要字段包括用戶ID(UserID)、密碼(Password)、用戶級別(UserLevel)、用戶名(Name),UserID為關(guān)鍵字。

        ⑵ 組(Group)

        Group表的意圖是提供對資源的訪問權(quán)限,不同的組具有不同的訪問權(quán)限,同一類用戶定義為一個組。主要字段包括組名(GroupName)、讀取權(quán)限(ReadRight)、添加權(quán)限(AddRight)、編輯權(quán)限(EditRight)、刪除權(quán)限(DeleteRight)、審核權(quán)限(AuditRight)等,GroupName作為關(guān)鍵字。在我們的模型中將用戶組分為兩類:系統(tǒng)組和自定義組。系統(tǒng)組即系統(tǒng)一開始就設(shè)定的組。系統(tǒng)組包括:超級管理員組、普通管理員組、過客組等。

        自定義組:由超級管理員用戶定義的組。例如,可以定義:全權(quán)瀏覽組、審核組等。

        ⑶ 用戶組成員(UserGroup)

        UserGroup表是User表和Group表的關(guān)系表。GroupName和UserID是這個表的組合關(guān)鍵字。一個用戶可以隸屬于多個組。用戶與組的多對多聯(lián)系通過“用戶組成員”UserGroup表體現(xiàn)。用戶所在組的權(quán)限就是該用戶所具有的權(quán)限。

        ⑷ 系統(tǒng)模塊(Module)

        系統(tǒng)模塊表Module是描述一個功能頁面、一個菜單項或一個文件等資源的實體。Module表的字段包括模塊ID(ModuleID),該字段為關(guān)鍵字、模塊名稱(ModuleName)、 Aspx或Ascx文件名稱或菜單名稱(FileName)、模塊類型(ModuleType),常用模塊類型主要分為菜單項、Web用戶控件、Web服務(wù)器控件、Web頁面、窗口、應(yīng)用程序文件、資源文件等。

        ⑸ 用戶組模塊(GroupModule)

        定義每個用戶組具有某個模塊的訪問權(quán)限。如果某個用戶組對某個模塊沒有相關(guān)記錄,則認為該用戶組對該模塊沒有任何權(quán)限。該表是Group表和Module表的關(guān)系表,GroupName和ModuleID為組合關(guān)鍵字。

        2.2 數(shù)據(jù)層和業(yè)務(wù)邏輯層的設(shè)計

        在基于SQL Server數(shù)據(jù)庫的邏輯和物理數(shù)據(jù)庫實現(xiàn)之后,就可用RapidTier等工具軟件快速生成具有標(biāo)準格式的基于VB或C#三層架構(gòu)的框架源代碼。我們采用RapidTier工具自動生成的項目中BuildSolution.bat批處理文件為編譯產(chǎn)生源代碼文件; InportSPs.bat批處理文件幫助產(chǎn)生Sql存儲過程(包括所有表的Insert、Add、Delete和Modify操作)。RapidTier工具產(chǎn)生的三層實現(xiàn)模式如圖3所示。

        在RapidTier工具產(chǎn)生的解決方案中包括如下三個獨立的工程。

        ⑴ Model工程:該項目中的類為數(shù)據(jù)實體,類中只包含屬性,其屬性對應(yīng)數(shù)據(jù)庫中表的各個字段信息。即數(shù)據(jù)實體類的實例通常對應(yīng)表的一條記錄,可從數(shù)據(jù)庫提取記錄信息到該實體對象,或用該實體對象添加或修改數(shù)據(jù)庫中表的記錄。

        ⑵ DAL工程:該項目為數(shù)據(jù)訪問層,所有的類均從DaoBase基類繼承,該基類提供可擴展的數(shù)據(jù)訪問功能,如連接信息、共有屬性等。該項目中的每一個類中的接口(即方法)提供一個表的Select、Insert、Update、Delete等數(shù)據(jù)庫操作方法;Select方法通常返回DataTable或DataSet對象; Insert、Update、Delete方法返回Boolean或Integer。對于Insert和Update方法,參數(shù)類型為Model項目中的相應(yīng)數(shù)據(jù)實體,該項目中實體對象的方法通常被BLL層(業(yè)務(wù)邏輯層)中的對象調(diào)用。底層操作數(shù)據(jù)庫所采用的技術(shù)為微軟提供的數(shù)據(jù)應(yīng)用訪問塊Application Blocks for .NET,其中SqlHelper類中提供的共享方法直接操作數(shù)據(jù)庫。

        ⑶ BLL工程:該層為業(yè)務(wù)邏輯層,為表示層提供訪問接口。業(yè)務(wù)邏輯層控制如字段級的驗證,可能還有一些不能在單個列中表示的包含不同實體或概念的更高級的業(yè)務(wù)規(guī)則等,通常都放在該層中。業(yè)務(wù)邏輯層對象通過訪問DAL層中的方法返回DataTable、DataSet或數(shù)據(jù)實體到表示層。該層中的實體對象不會直接訪問數(shù)據(jù)庫。

        三個工程的關(guān)系是:DAL工程負責(zé)直接與數(shù)據(jù)庫中的數(shù)據(jù)表進行存取操作。BLL工程通過調(diào)用DAL工程中的方法來實現(xiàn)對數(shù)據(jù)庫的間接操作,同時添加業(yè)務(wù)邏輯代碼,只有BLL工程可以直接調(diào)用DAL工程中的方法,不可以跨層調(diào)用(Web即表示層不能直接訪問DAL層中的對象)。 Web表示層(或桌面應(yīng)用程序)通過調(diào)用BLL層的方法來實現(xiàn)與用戶的交互,同時Web層中對輸入數(shù)據(jù)進行一些初級驗證。Model提供數(shù)據(jù)實體供Web、BLL、DAL三層之間進行數(shù)據(jù)傳遞。DAL工程、BLL工程和Model工程均為類庫工程,編譯后為DLL動態(tài)連接庫。在ASP.NET中,它們的引用關(guān)系是WEB工程引用BLL工程和Model工程即包含Imports Tyqx.BLL和Imports Tyqx.Model語句;BLL工程引用DAL工程和Model工程,其中Tyqx為該項目的名稱空間。

        2.3 Web頁面模版的設(shè)計

        B/S管理信息系統(tǒng)的頁面框架模式如圖4所示。

        頁面采用框架模式,或基于VS2008的母版頁方式建立;頁面頂部顯示系統(tǒng)名稱,底部顯示版權(quán)和其他信息,中間的左邊固定顯示功能菜單,中間的右邊區(qū)域為功能頁面的操作區(qū)。該頁面框架模式為通行的B/S信息管理系統(tǒng)的典型界面操作模式。

        對于頁面的設(shè)計,首先我們遵循每個Page對應(yīng)一張表的CRUD操作,在此基礎(chǔ)上增加表關(guān)系的查詢?yōu)g覽和統(tǒng)計頁面等高級功能頁面。

        2.4 菜單設(shè)計

        采用sdmenu菜單開發(fā)工具可以非常方便地設(shè)計具有優(yōu)秀界面的Web菜單。sdmenu菜單開發(fā)工具界面如圖5所示。在選擇好菜單模板后,編輯好自己的菜單,然后設(shè)置各菜單所對應(yīng)的超連接頁面,再通過該工具中Publish菜單將Java腳本代碼直接發(fā)布到Web頁面中,之后將腳本文件和image圖片目錄拷貝到Web項目所在的目錄下即可。

        3 基于原型設(shè)計的實驗過程

        3.1 讓學(xué)生了解原型設(shè)計

        教師通過上述原型設(shè)計系統(tǒng)中的數(shù)據(jù)庫文檔,對于三層開發(fā)模式、系統(tǒng)體系架構(gòu)、Web設(shè)計模式、Web界面設(shè)計和Web菜單設(shè)計等應(yīng)向?qū)W生詳盡描述一般項目的開發(fā)過程,為了提高學(xué)生的動手能力,我們還專門將原型系統(tǒng)的設(shè)計過程通過視頻軟件記錄下來,讓學(xué)生邊學(xué)邊做,起到了良好的教學(xué)效果。在.Net綜合實驗實訓(xùn)課上,我們開發(fā)了數(shù)套從文檔到代碼的項目案例,以便學(xué)生課后研究并為項目開發(fā)提供參考。

        3.2 以原型設(shè)計為模板,讓學(xué)生參照進行開發(fā)

        按照數(shù)據(jù)庫簡單明了和與學(xué)生有密切關(guān)系的原則選擇典型項目,如表1所示。

        3.3 基礎(chǔ)代碼的實現(xiàn)

        ⑴ 從典型項目中任意選擇一個項目,根據(jù)給定的邏輯表結(jié)構(gòu)和表的關(guān)系的文檔,讓學(xué)生在Sql Server 2005中設(shè)計好關(guān)系數(shù)據(jù)庫;

        ⑵ RapidTier工具產(chǎn)生基于C#的三層架構(gòu)原代碼項目框架,然后使用Visual Studio S2008打開項目,添加ASP.NET Web應(yīng)用程序,并添加相應(yīng)項目的引用;

        ⑶ 執(zhí)行RapidTier工具自動生成的InportSPs.bat批處理文件,該批處理文件用來自動建立基于每張表的CRUD操作的存儲過程。項目中的數(shù)據(jù)庫操作全部通過存儲過程完成,避免在代碼中直接使用Sql語句;

        ⑷ 使用sdmenu菜單開發(fā)工具開發(fā)相應(yīng)管理系統(tǒng)的Web菜單;

        ⑸ 根據(jù)給定的原型系統(tǒng)的Web頁面模版,讓學(xué)生設(shè)計登錄頁面、各相應(yīng)數(shù)據(jù)表的CRUD操作頁面、部分高級功能頁面等。

        3.4 上交實驗項目報告書

        學(xué)生根據(jù)給定的步驟完成項目的開發(fā),然后編寫開發(fā)過程,完成項目架構(gòu)->數(shù)據(jù)庫設(shè)計->Web菜單->頁面設(shè)計->代碼編寫這一系列的過程,讓學(xué)生將這一系列過程書寫成實驗項目報告書,作為開發(fā)實例遞交作業(yè),把作業(yè)的成績核定為占實訓(xùn)總成績的40%。本實驗項目從2009年在蘇州大學(xué)應(yīng)用技術(shù)學(xué)院實施以來,經(jīng)過調(diào)查,有90%的學(xué)生反映教學(xué)效果非常好,另有10%學(xué)生反映原型系統(tǒng)有些簡單,與實際項目開發(fā)有一定的距離。

        4 結(jié)束語

        采用原型系統(tǒng)的教學(xué)方法,與在計算機專業(yè)課教學(xué)中采用“以任務(wù)驅(qū)動的教學(xué)模式”[8]進行專業(yè)實訓(xùn)課教學(xué)具有相同的功效,能夠使學(xué)生真正成為課堂的主體,使教師成為學(xué)生學(xué)習(xí)的引導(dǎo)者。學(xué)生由被動接受者轉(zhuǎn)變?yōu)橹鲃犹骄空撸纱龠M學(xué)生的獨立性,讓學(xué)生從教師精選出的有限任務(wù)中,主動地獲得良好的開發(fā)體驗。“原型系統(tǒng)”教學(xué)法在任務(wù)的安排、人員分配、項目的功能定義等方面還有待進一步研究和提升。

        參考文獻:

        [1] 黃志軍,陳修亮,沈科宇.基于ADO.NET油料裝備管理系統(tǒng)多層架構(gòu)的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2007.5:167-170

        [2] 王海暉,杜卉.基于Visual C#.Net教學(xué)研究項目管理系統(tǒng)的開發(fā)[J].計算機與數(shù)字工程,2006.10:130-132

        [3] 趙宏偉,秦昌明.基于B/S 3層體系結(jié)構(gòu)的軟件設(shè)計方法研究[J].實驗技術(shù)與管理,2011.7:64-66

        [4] 嚴悍,張宏,許滿武.基于角色訪問控制對象建模及實現(xiàn)[J].計算機學(xué)報,2000.23(10):1064-1071

        [5] 蔣瑋,胡仁杰.基于角色的訪問控制模型在實驗室教學(xué)管理系統(tǒng)中的應(yīng)用[J].實驗室研究與探索,2007.6:4-6

        [6] 皮之軍,李建海,于敏等.開放式實驗教學(xué)模式的研究與探索[J].實驗技術(shù)與管理,2010.27(5):27-29

        [7] 張勇,劉軍山,黃啟來.實驗教學(xué)模式創(chuàng)新與課堂教學(xué)設(shè)計[J].實驗技術(shù)與管理,2010.27(6):15-17

        [8] 田海梅,張燕.基于任務(wù)驅(qū)動的計算機專業(yè)課教學(xué)模式[J].實驗技術(shù)與管理,2011.5:145-147

        [9] 毛玉萃,趙植武.校內(nèi)IT項目實踐模式的探索[J].實驗室研究與探索,2007.26(3):103-104

        [10] 蔡曉.高校實驗室MIS分析與設(shè)計[J].實驗技術(shù)與管理,2001.18(6):35-37

        日本一区二区视频免费在线看| 无码一级视频在线| 亚洲A∨日韩Av最新在线| 日本在线观看三级视频| 亚洲欧洲av综合色无码| 国产真实老熟女无套内射| 国产在线美女| 国产精品成人久久a级片| 日本一二三区在线观看视频| 亚洲七久久之综合七久久| 最新国产三级| 女同国产日韩精品在线| 亚洲综合一区二区三区天美传媒| 极品嫩模高潮叫床| 亚洲日本天堂| 中文字幕中乱码一区无线精品 | 日韩无码尤物视频| 少妇被粗大的猛进69视频| 大学生粉嫩无套流白浆| av无码久久久久久不卡网站| 99久久久国产精品丝袜| 日本美女中文字幕第一区| 中文字幕日韩三级片| 亚洲va欧美va国产综合| 日本在线免费精品视频| 黄片视频大全在线免费播放 | 蜜桃av噜噜一区二区三区| 国产美女被遭强高潮露开双腿| 亚洲av成人一区二区| 国产丶欧美丶日本不卡视频| 国产成人精品午夜福利在线| 91麻豆精品激情在线观最新| 精品国产粉嫩内射白浆内射双马尾 | 一本色道久久婷婷日韩| 国产福利一区二区三区在线观看| 精品人伦一区二区三区蜜桃麻豆| 亚洲av成熟国产精品一区二区| 日本大肚子孕妇交xxx| 夜色阁亚洲一区二区三区| 精品亚洲一区二区视频| 亚洲国产精品高清一区|