版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
年4月19日我的實驗教學(xué)管理系統(tǒng)畢業(yè)設(shè)計文檔僅供參考湖南工學(xué)院??飘厴I(yè)論文()題目基于ASP.NET的教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)學(xué)院湖南工學(xué)院專業(yè)計算機科學(xué)與技術(shù)班級計應(yīng)0702學(xué)號學(xué)生姓名許靜指導(dǎo)教師劉君完成日期6月誠信承諾我謹在此承諾:本人所寫的畢業(yè)論文《基于ASP.NET的教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)》均系本人獨立完成,沒有抄襲行為,凡涉及其它作者的觀點和材料,均作了注釋,若有不實,后果由本人承擔。承諾人(簽名):許靜6月14日
摘要隨著信息技術(shù)在管理上越來越廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的系統(tǒng),任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。本文介紹了在ASP.NET環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。經(jīng)過分析某一學(xué)校教學(xué)管理的不足,創(chuàng)立了一套行之有效的計算機管理學(xué)生的方案。文章介紹了教學(xué)管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計及代碼設(shè)計;系統(tǒng)的功能分為:系統(tǒng)管理模塊、班級管理模塊、學(xué)生資料管理模塊、作業(yè)管理模塊;系統(tǒng)實現(xiàn)部分說明了幾個主要模塊的算法。本系統(tǒng)界面友好,操作簡單,比較實用。關(guān)鍵字:管理信息系統(tǒng);教學(xué)管理;ASP.NET應(yīng)用
ABSTRACTWithmoreandmorewidespreadandprofoundapplicationofinformationtechnologyinmanagement,theimplementofmanagementinformationsystemhasbecomematureintechnologystepbystep.Managinginformationsystemisanewsubject.Enterpriseneedsexistenceanddevelopment,soenterpriseactivitiesshouldbeorganizedefficientlyandorganically,whichmeanstighteninguptheenterprisemanagementandstrengtheningeffectivemanagementofanyresourceinternaltheenterprise,andalsoestablishingamanagementinformationsystemfittinginwithitsowncharacteristics.Thisarticleintroducesthedetailedprocessofexploringamanagementinformationsystemundertheenvironmentofvisual,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thatistoestablishasetofeffectiveschemeforstudentmanagementbycomputer,throughanalyzingdisadvantagesofstudentmanagementbyhumanresources.Thisarticleemphasizesonthreesections.Thesystemanalysissectionofstudentmanagementinformationincludesfeasibleanalysis,managementfunction.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesignanddatanumberdesign.Andthesystemrealizationsectionhasprovidedseveralmajorfunctions,togetherwiththemainwindowsandprograms.ThefunctionoftheSystem:SystemManagementModuleandclassManagementModuleandStudentfilesManagementModuleandExerciseManagementModule.Thiseconomicalandpragmaticsystemhasexplicitinterface,withsimpleoperation.Keywords:MIS;studentmanagement;ASP.NETapplication目錄1引言 12技術(shù)簡介 22.1HTML語言 22.2IIS 22.3Session對象 42.4ASP.NET的控件和窗體 52.4.1Activex控件 62.4.2Toolbar工具條控件 72.4.3協(xié)調(diào)菜單和工具欄的外觀 82.4.4窗體設(shè)置 82.5CSS樣式表 92.5.1層疊樣式表的特點 92.5.2添加層疊樣式表的方法 102.5.3層疊樣式表的格式 112.5.4層疊樣式表的分類 122.5.5層疊樣式表的偽類 123系統(tǒng)概述 133.1系統(tǒng)及需求分析 133.1.1系統(tǒng)需求 133.1.2可行性分析 133.2系統(tǒng)的功能簡介 153.2.1系統(tǒng)管理模塊 153.2.2班級管理模塊 153.2.3學(xué)生資料管理模塊 153.2.4作業(yè)管理模塊 153.3系統(tǒng)開發(fā)的目標 154系統(tǒng)流程分析 164.1業(yè)務(wù)流程分析 164.2數(shù)據(jù)流程分析 174.2.1數(shù)據(jù)流程圖 174.3數(shù)據(jù)存儲分析實體聯(lián)系圖 175系統(tǒng)設(shè)計 195.1軟件模塊結(jié)構(gòu)設(shè)計 195.1.1系統(tǒng)方案確定 195.1.2軟件結(jié)構(gòu)設(shè)計 195.2數(shù)據(jù)庫設(shè)計 196系統(tǒng)功能的實現(xiàn) 236.1系統(tǒng)登錄 236.2學(xué)生注冊 256.3學(xué)生用戶 286.4教師用戶 306.5班級管理 326.6學(xué)生資料管理 336.7作業(yè)管理 347總結(jié) 37致謝 38參考文獻 391引言隨著計算機網(wǎng)絡(luò)技術(shù)的高速發(fā)展,傳統(tǒng)的桌面系統(tǒng)、C/S架構(gòu)系統(tǒng)已經(jīng)不能滿足社會的需要。當今社會是一個網(wǎng)絡(luò)社會,電子商務(wù)系統(tǒng)、企業(yè)信息系統(tǒng)已經(jīng)走進了網(wǎng)絡(luò)應(yīng)用系統(tǒng)階段。如何快速開發(fā)出適應(yīng)社會各個行業(yè)發(fā)展的網(wǎng)絡(luò)應(yīng)用系統(tǒng)是擺在人們前面的一個難題。選擇什么樣的開發(fā)平臺、開發(fā)工具、開發(fā)語言、開發(fā)技術(shù)直接影響行業(yè)的信息化建設(shè)。.NET的問世給開發(fā)人員帶來了一種全新的開發(fā)框架,它已經(jīng)成為一種令人激動的、具有革命性和發(fā)展性的新技術(shù)。.NET為行業(yè)的信息化提出了徹底解決方案,不論Web開發(fā)者、組件開發(fā)者、數(shù)據(jù)開發(fā)者、VBGUI開發(fā)者,還是任何基于Windows平臺的開發(fā)者,.NET都以一種全新的開發(fā)模式使開發(fā)人員更好、更快速的完成工作。本課題重點以.NET和為開發(fā)平臺,綜合利用ASP.NET的WEB開發(fā)技術(shù)和XML跨平臺技術(shù),經(jīng)過開發(fā)一個通用網(wǎng)站,真正體驗.NET新一代軟件開發(fā)全新模式,實現(xiàn)網(wǎng)站快速開發(fā)和部署。
2技術(shù)簡介2.1HTML語言超文本語言HTML(HyperTextMarkupLanguage)是當前創(chuàng)立Web頁面最流行的語言。HTML語言的流行是因為一個HTML文件不論在任何操作系統(tǒng)的瀏覽器上面得到的結(jié)果應(yīng)該是相同的。HTML語言是一種處理文字的語言,它包含的指令(標記)能夠插入到未定個是的文件里,用來控制瀏覽器顯示的網(wǎng)頁或者打印出來的外觀。HTML語言不區(qū)分大小寫,它有以下特點:它有特定的邏輯結(jié)構(gòu),分成不同的邏輯但元,是一種結(jié)構(gòu)化文本文檔。它能夠提供圖像、動畫以及其它多媒體等信息的鏈接。創(chuàng)立過程非常簡單。HTML語言版本開發(fā)采取向后兼容的方式,使它容易維護。另外,HTML作為WEB上通用的描述語言,為各種計算機平臺提供了一個公開的標準接口,于平臺無關(guān)。2.2IISIIS是InternetInformationServer的縮寫,它是微軟公司主推的服務(wù)器,最新的版本是Windows里面包含的IIS6,IIS與WindowsNTServer完全集成在一起,因而用戶能夠利用WindowsNTServer和NTFS(NTFileSystem,NT的文件系統(tǒng))內(nèi)置的安全特性,建立強大,靈活而安全的Internet和Intranet站點。
IIS支持HTTP(HypertextTransferProtocol,超文本傳輸協(xié)議),F(xiàn)TP(FileTransferProtocol,文件傳輸協(xié)議)以及SMTP協(xié)議,經(jīng)過使用CGI和ISAPI,IIS能夠得到高度的擴展IIS支持與語言無關(guān)的腳本編寫和組件,經(jīng)過IIS,開發(fā)人員就能夠開發(fā)新一代動態(tài)的,富有魅力的Web站點。IIS不需要開發(fā)人員學(xué)習新的腳本語言或者編譯應(yīng)用程序,IIS完全支持Vbscript,Javascript開發(fā)軟件以及Java,它也支持CGI和WinCGI,以及ISAPI擴展和過濾器。IIS支持服務(wù)器應(yīng)用的MicrosoftBackOffice系列,MicrosoftBackOffice系列包括以下內(nèi)容:(1)MicrosoftExchangeServer客戶/服務(wù)器通訊和群組軟件;(2)MicrosoftProxyServer代理服務(wù)器;(3)用于連接IBM企業(yè)網(wǎng)絡(luò)的MicrosoftSNAServer;(4)用于集中管理分布式系統(tǒng)的MicrosoftSystemsManagementServer;(5)MicrosoftCommercialInternetSystem(MCIS)。IIS的設(shè)計目的是建立一套集成的服務(wù)器服務(wù),用以支持HTTP,F(xiàn)TP和SMTP,它能夠提供快速且集成了現(xiàn)有產(chǎn)品,同時可擴展的Internet服務(wù)器。IIS相應(yīng)性極高,同時系統(tǒng)資源的消耗也是最少,IIS的安裝,管理和配置都相當簡單,這是因為IIS與WindowsNTServer網(wǎng)絡(luò)操作系統(tǒng)緊密的集成在一起,另外,IIS還使用與WindowsNTServer相同的SAM(SecurityAccountsManager,安全性賬號管理器),對于管理員來說,IIS使用諸如PerformanceMonitor和SNMP(SimpleNetworkManagementProtocol,簡單網(wǎng)絡(luò)管理協(xié)議)之類的NT已有管理工具。IIS支持ISAPI,使用ISAPI能夠擴展服務(wù)器功能,而使用ISAPI過濾器能夠預(yù)先處理和事后處理儲存在IIS上的數(shù)據(jù)。用于32位Windows應(yīng)用程序的Internet擴展能夠把FTP,SMTP和HTTP協(xié)議置于容易使用的任務(wù)集中的界面中,這些界面將Internet應(yīng)用程序的使用大大簡化,IIS也支持MIME(MultipurposeInternetMailExtensions,多用于Internet郵件擴展),它能夠為Internet應(yīng)用程序的訪問提供一個簡單的注冊項。IIS的一個重要特性是支持ASP。IIS3.0版本以后引入了ASP,能夠很容易的張貼動態(tài)內(nèi)容和開發(fā)基于Web的應(yīng)用程序。對于諸如Vbscript,Javascript開發(fā)軟件,或者由VisualBasic,Java,VisualC++開發(fā)系統(tǒng),以及現(xiàn)有的CGI和WinCGI腳本開發(fā)的應(yīng)用程序,IIS都提供強大的本地支持。ASP.NET是M的一部分,作為戰(zhàn)略產(chǎn)品,不但僅是ActiveServerPage(ASP)的下一個版本;它還提供了一個統(tǒng)一的Web開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級Web應(yīng)用程序所需的各種服務(wù)。ASP.NET的語法在很大程度上與ASP兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護。能夠經(jīng)過在現(xiàn)有ASP應(yīng)用程序中逐漸添加ASP.NET功能,隨時增強ASP應(yīng)用程序的功能。ASP.NET是一個已編譯的、基于.NET的環(huán)境,能夠用任何與.NET兼容的語言(包括VisualBasic.NET、C#和Javascript.NET.)創(chuàng)作應(yīng)用程序。另外,任何ASP.NET應(yīng)用程序都能夠使用整個.NETFramework。開發(fā)人員能夠方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。ASP.NET能夠無縫地與WYSIWYGHTML編輯器和其它編程工具(包括MicrosoftVisualStudio.NET)一起工作。這不但使得Web開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點,包括開發(fā)人員能夠用來將服務(wù)器控件拖放到Web頁的GUI和完全集成的調(diào)試支持。微軟為ASP.NET設(shè)計了這樣一些策略:易于寫出結(jié)構(gòu)清晰的代碼、代碼易于重用和共享、可用編譯類語言編寫等等,目的是讓程序員更容易開發(fā)出Web應(yīng)用,滿足計算向Web轉(zhuǎn)移的戰(zhàn)略需要。ASP.NET提供了穩(wěn)定的性能、優(yōu)秀的升級性、更快速的開發(fā)、更簡便的管理、全新的語言以及網(wǎng)絡(luò)服務(wù)。貫穿整個ASP.NET的主題就是系統(tǒng)幫用戶做了大部分不重要的瑣碎的工作。
新的ASP.NET引入受管代碼(ManagedCode)這樣一個全新概念,橫貫整個視窗開發(fā)平臺。受管代碼在NGWSRuntime下運行,而NGWSRuntime是一個時間運行環(huán)境,它管理代碼的執(zhí)行,使程序設(shè)計更為簡便。(1)高效率對于一個程序,速度是一件非常令人渴望的東西。一旦代碼開始工作,接下來你就得盡可能地讓它運作得快些。在ASP中你只有盡可能精簡你的代碼,以至于不得不將它們移植到一個僅有很少一點性能的部件中。而現(xiàn)在,ASP.NET會妥善地解決這一問題。(2)易控制在ASP.NET里,你將會擁有一個“Data-Bounds”(數(shù)據(jù)約束),這意味著它會與數(shù)據(jù)源連接,并會自動裝入數(shù)據(jù),使控制工作簡單易行。(3)語言支持ASP.NET支持多種語言,支持編譯類語言,支持比如VB、VC++、C#等,它比這些編譯類語言運行速度快,更適合編寫大型應(yīng)用
(4)更好的升級能力快速發(fā)展的分布式應(yīng)用也需要更快速、更模塊化、更易操作、更多平臺支持和重復(fù)利用性更強的開發(fā),需要一種新的技術(shù)來適應(yīng)不同的系統(tǒng),網(wǎng)絡(luò)應(yīng)用和網(wǎng)站需要提供一種更加強大的可升級的服務(wù)。ASP.NET能夠適應(yīng)上面的要求。對于今天的Web程序員來說,最大的挑戰(zhàn)就是不斷變化的瀏覽器兼容性以及它們不斷升級的復(fù)雜性。在保證頁面能在所有瀏覽器下工作的同時,又得盡量使用每個瀏覽器的最新屬性來建立更具交互性的頁面,這簡直不可想象。更加可怕的是,需要對不同的用戶設(shè)備建立不同的網(wǎng)頁。最簡單的解決辦法就是動態(tài)地對不同的用戶生成不同的輸出,或者就是對不同的用戶寫多個頁面。大多數(shù)開發(fā)者都會選擇第一種方法??墒?,這就意味著用戶的每次點擊都會讓服務(wù)器判斷應(yīng)該向用戶顯示什么。而經(jīng)過ASP.NET,我們能夠看到一個新的服務(wù)控制的概念,它封裝了一些普通的任務(wù),提供了一種清晰的編程模塊,有助于管理和處理不同的用戶類型。簡單地說,ASP.NET把這些過程自動化了。2.3Session對象Session其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。每一訪問者都會單獨獲得一個Session。在Web應(yīng)用程序中,當一個用戶訪問該應(yīng)用時,Session類型的變量能夠供這個用戶在該Web應(yīng)用的所有頁面中共享數(shù)據(jù);如果另一個用戶也同時訪問該Web應(yīng)用,她也擁有自己的Session變量,但兩個用戶之間無法經(jīng)過Session變量共享信息,而Application類型的變更則能夠?qū)崿F(xiàn)站點多個用戶之間在所有頁面中共享信息。(1)SessionID屬性該屬性返回當前會話的唯一標志,為每一個Session分配不同的編號。我曾在開發(fā)過程中就遇到對用戶的控制問題。它要實現(xiàn)的功能就是,針對某個網(wǎng)站的一個模塊,當一個會員登錄后正在看此模塊時,另一個人用同樣的會員名登錄,就不能瀏覽這個模塊。也就是說一個會員名同時只能一個人瀏覽此模塊。我經(jīng)過用會員名(假設(shè)為UserID,唯一)和SessionID來實現(xiàn)了控制。當會員登錄時,給這個會員一個Session記錄登錄狀態(tài)如:Session("Status")="Logged",同時把這個會員的Session.SessionID寫入數(shù)據(jù)庫。當她要瀏覽此模塊時,先判斷其是否登錄,若已經(jīng)登錄再判斷它的SessionID是否與數(shù)據(jù)庫記錄的相同,如果不同則不能訪問。這樣,當另一個用戶用相同的會員名登錄時,那么數(shù)據(jù)庫中記錄的就是新的SessionID,前者訪問此模塊時就不能經(jīng)過檢查。這就實現(xiàn)了一個會員名同時只能一個人瀏覽某個模塊。這個功能在一些收費網(wǎng)站有很有特別作用,它防止了一個會員名給多個人瀏覽的問題,為公司保障了利益。(2)TimeOut屬性該屬性用來定義用戶Session對象的時限。如果用戶在規(guī)定的時間內(nèi)沒有刷新網(wǎng)頁,則Session對象就會終止。一般默認為20分鐘。(3)Abandon方法該方法是Session對象的唯一方法,能夠清除Session對象,用來消除用戶的Session對象并釋放其所占的資源。如:<%Session.Abandon%>(4)Session_OnStart和Session_OnEnd事件和Application一樣,當對象的例程每一次啟動時觸發(fā)Session_OnStart事件,然后運行Session_Onstart事件的處理過程。也就是說,當服務(wù)器接收到應(yīng)用程序中的URL的HTTP請求時,觸發(fā)此事件,并建立一個Session對象。同理,這個事件也必須定在Global.asa文件中。當調(diào)用Session.Abandon方法時或者在TimeOut的時間內(nèi)沒有刷新,這會觸發(fā)Session_OnEnd事件,然后執(zhí)行里面的腳本。Session變量與特定的用戶相聯(lián)系,針對某一個用戶賦值的Session變量是和其它用戶的Session變量完全獨立的,不會存在相互影響。2.4ASP.NET的控件和窗體菜單是程序中提供的一種方便給命令分組的方法,目的是使用戶容易訪問這些命令。它是程序最重要的特性之一,大多數(shù)程序都依賴一個良好的定義使程序易于使用和維護,在一個大型應(yīng)用程序的界面中如果沒有菜單和工具欄,用戶將很難進行操作。這是一種流行趨勢,因為并不是所有用戶都能夠清晰地了解各種應(yīng)用軟件,因此對于她們來講,必須含帶菜單和工具欄來使用應(yīng)用程序。ASP.NET也提供了強大的創(chuàng)立菜單功能來使程序更加標準,我們能夠使用ASP.NET的applicationwizard,也能夠使用ASP.NET的菜單編輯器建立或者修改已經(jīng)存在的菜單。在ASP.NET中,設(shè)計和運行時都能夠創(chuàng)立和修改菜單。在菜單創(chuàng)立時,還能夠定義菜單的訪問鍵,使習慣了dos操作的用戶也能方便地進行操作。在菜單中還能夠創(chuàng)立分隔符,但要注意的是,如果菜單控件是一個菜單標題,帶有子菜單項,被復(fù)選或無效,或者有一個快捷鍵,那么它就不能作為分隔符條,分隔符條是不能響應(yīng)click事件,而且也不能被選取的。在所有的菜單功能項中,能夠使菜單項命令有效或無效,所有的菜單控件都具有enable屬性,當這個屬性值為false時,菜單命令無效,它不響應(yīng)任何動作。此時,快捷鍵的訪問也無效,一個無效的菜單項控件會變暗。所有未變暗的菜單項控件都是有效的,能夠響應(yīng)其所定義的任何動作。工具欄已經(jīng)成為許多基本windows應(yīng)用程序的標準功能,使用它能夠進一步增強應(yīng)用程序的菜單界面。工具欄含有工具欄按鈕,提供了對應(yīng)用程序最常見的命令的快速訪問。如果使用的是ASP.NET的專業(yè)版或企業(yè)版,則用戶能夠直接使用其中的Activex控件——toolbar來創(chuàng)立工具欄。2.4.1Activex控件ASP.NET提供了大量的控件,在應(yīng)用程序中使用各種控件是ASP.NET的特色??丶脕慝@取用戶的輸入信息和顯示輸出信息。應(yīng)用程序中可用的控件可包括文本框、命令應(yīng)用程序就仿佛是代碼的一部分。每個控件都有一組屬性、方法和事件。其次,在ASP.NET中還提供了Activex控件,以前被稱作ole控件,是一個標準的用戶接口元素,能夠快速地把窗體和對話框組裝起來。在應(yīng)用程序中使用各種控件經(jīng)常被看作是ASP.NET的特色。設(shè)計一個Activex控件就像設(shè)計一個ASP.NET窗體那樣容易,用戶能夠使用所熟悉的ASP.NET圖形命令來繪制控件,或者使用已有的控件來創(chuàng)立一個控件組。Activex控件能夠在運行中調(diào)試,因此能夠直接從高度窗體的跳躍到Activex控件工程的代碼中。另外,能夠使用ASP.NET的data控件或ado控件在ASP.NET的Activex控件上增加數(shù)據(jù)綁定,這樣使用者就很容易地把控件中的各個字段綁定到數(shù)據(jù)庫中適當?shù)淖侄紊稀ctivex控件文件的擴展名為.ocx,將Activex控件和其它可加入的對象加到工具箱中,即可在工程中使用它們。在工程的工具箱中加控件:(1)“工程”菜單中,單擊“部件”,顯示“部件”對話框。(2)在該對話框中將列出所有已經(jīng)注冊的可加入的對象、設(shè)計者和Activex控件。(3)要在工具箱中加入Activex控件,選定控件名稱左邊的復(fù)選框。(4)單擊“確定”按鈕,關(guān)閉“部件”對話框。所有選定的Activex控件將出現(xiàn)在工具箱中。要將Activex控件加入“部件”對話框,單擊“瀏覽”按鈕,并找到擴展名.ocx的文件。在將Activex控件加入可用控件列表中時,ASP.NET自動在“部件”對話框中選定它的復(fù)選框。2.4.2Toolbar工具條控件Toolbar工具條控件,包含用來創(chuàng)立工具欄的button對象的集合,是實現(xiàn)工具條的主體。其中的按鈕能夠顯示圖像的標題,并按功能分組或加入分隔符,還能夠?qū)ζ湓O(shè)置鼠標停留在其上顯示的提示字符。Toolbar也是一個控件容器且具有style屬性,并能夠為其增加下拉按鈕和平滑按鈕等。一般情況下,工具欄中的按鈕與應(yīng)用菜單中的菜單項相對應(yīng),能夠用它們來訪問應(yīng)用程序最常見的功能和命令。其中,Toolbar控件也能夠包含其它控件,如:combobox控件或textbox控件。要創(chuàng)立工具欄,必須先將button對象加入button集合,每個button對象能夠擁有可選的文本,或者擁有相關(guān)聯(lián)的imagelist控件提供的圖像。能夠用caption屬性為每一個button對象設(shè)置文本,用image屬性設(shè)置圖像。在設(shè)計時,能夠用add和remove的方法將按鈕加入或刪除button集合。在設(shè)計時若添加其它控件,只須將需要的控件拖入工具欄中即可。另外,還能夠創(chuàng)立placeholder樣式的button對象,并在resize事件中將需要的控件蓋在該按鈕上。在運行時,雙擊工具欄將彈出“自定義工具欄”對話框,以便用戶隱藏、顯示或重新安排工具欄的按鈕。能夠用allowcustomize屬性選用或禁止用該對話框。還能夠用customize方法彈出“自定義工具欄”對話框。如果需要保存或恢復(fù)工具允許最終用戶這樣做,可使用savetoolbar和restoretoolbar方法。使用toolbar控件,主要是為了體現(xiàn)以下幾個方面:(1)用一致的工具欄為不同應(yīng)用程序提供統(tǒng)一的界面。(2)為常見功能例如文件操作等提供簡便的訪問方法。(3)為應(yīng)用程序提供圖形化的直觀界面。選擇“工程”下拉菜單中的“部件”選項,顯示“部件”對話框。在“控件”選項卡列表中選擇“microsoftwindowscommoncontrols6.0”(1)Lign屬性定義工具條在窗體中的位置。(2)Tooltiptext屬性是字符串類型,定義控件的提示字符。(3)Style屬性定義按鈕外觀。(4)Imagelist屬性設(shè)置一個imagelist控件名,該控件定義工具按鈕顯示的圖像。(5)Hotmangelist屬性設(shè)置一個imagelist控件名,該控件定義按鈕獲得熱點時顯示圖像。(6)Disabledimagelist屬性定義工具條按鈕無效時顯示的圖像。(7)創(chuàng)立工具條,包括imagelist和toolbar控件。imagelist用于為其它控件提供圖像庫,將imagelist控件加入到工具箱的操作于前述toolbar控件相同。2.4.3協(xié)調(diào)菜單和工具欄的外觀當由其它應(yīng)用程序提供的對象在窗體中被激活時,有許多的方法讓對象的菜單與工具欄出現(xiàn)在容器窗體內(nèi)。然而,需要規(guī)定它們將如何顯示。這一過程叫做用戶界面協(xié)調(diào)。經(jīng)過設(shè)置窗體的Negotiatemenus屬性能夠決定一個鏈接或嵌入的對象的菜單是否出現(xiàn)在容器窗體中,如果子窗體的Negotiatemenus屬性默認為true,而且容器有一個定義的菜單欄,或者Negotiatemenus屬性被設(shè)置為
false,那么,當這個對象激活時對象的菜單將不出現(xiàn)。注意,Negotiatemenus屬性不適用于MDI窗體。MDI窗體的Negotiatetoolbars屬性決定了鏈接或嵌入對象的工具欄是不固定的調(diào)色板還是被放置在父窗體上。如果設(shè)為true,則對象的工具欄出現(xiàn)在MDI窗體上;如果設(shè)置為false,則對象的工具欄就為不固定的調(diào)色板。如果MDI窗體上包含工具欄,它一般被包含在父窗體的Picturebox控件中。圖片框的Negotiate屬性決定了被激活時容器的工具欄是繼續(xù)顯示還是被對象的工具欄所代替。如果設(shè)為true,則除了容器的工具欄外還顯示對象的工具欄;如果為false,則對象的工具欄代替容器的工具欄。執(zhí)行菜單與工具欄的協(xié)調(diào):(1) MDI窗體中添加工具欄(2)在子窗體上旋轉(zhuǎn)一個可插入的對象(3)設(shè)置Negotiatemenus、Negotiatetoolars、Negotiate屬性(4)運行此應(yīng)用程序,然后雙擊該對象2.4.4窗體設(shè)置窗體是一種對象,由屬性定義其外觀,由方法定義其行為,由事件定義其與用戶的交互。經(jīng)過窗體屬性并編寫響應(yīng)事件的ASP.NET代碼,就能定義出滿足應(yīng)用程序需要的對象??丶前ㄔ诖绑w對象內(nèi)的對象。每種類型的控件都有自己的一套屬性、方法和事件,以適用于特定的目的。一些控件最適合在應(yīng)用程序中輸入或顯示文本;另一些控件能夠訪問其它的應(yīng)用程序和處理數(shù)據(jù),就像這些遠程應(yīng)用程序是用戶自己的代碼一樣。窗體對象是ASP.NET應(yīng)用程序的基本構(gòu)造模塊,是運行應(yīng)用程序時與用戶交互操作的實際窗口中,窗體有自己的屬性、事件、方法、控件窗體的外觀和行為。設(shè)計窗體的第一步是設(shè)置它的屬性。這能夠在設(shè)計時的“屬性”窗口中完成,或者運行由代碼來實現(xiàn)。注意:在設(shè)計時,即在ASP.NET環(huán)境中創(chuàng)立應(yīng)用程序是地,能夠操作所需要的控件,設(shè)置它們的屬性,并對它們的事件進行編程。運行時,則實際是運行的應(yīng)用程序,讓用戶與應(yīng)用程序進行交互。2.5CSS樣式表CSS(CascadingStylesheets,層疊樣式表)是一種制作網(wǎng)頁的新技術(shù),現(xiàn)在已經(jīng)為大多數(shù)的瀏覽器所支持,成為網(wǎng)頁設(shè)計必不可少的工具之一。使用CSS能夠簡化網(wǎng)頁的格式代碼,加快下載顯示的速度,也減少了需要上傳的代碼數(shù)量,大大減少了重復(fù)勞動的工作量。CSS(CascadingStylesheets,層疊樣式表)是一種制作網(wǎng)頁的新技術(shù),現(xiàn)在已經(jīng)為大多數(shù)的瀏覽器所支持,成為網(wǎng)頁設(shè)計必不可少的工具之一。W3C(TheWorldWideWebConsortium)把動態(tài)HTML(DynamicHTML)分為三個部分來實現(xiàn):腳本語言(包括Javascript、Vbscript等)、支持動態(tài)效果的瀏覽器(包括InternetExplorer、NetscapeNavigator等)和CSS樣式表。2.5.1層疊樣式表的特點且不說過去的網(wǎng)頁缺少動感,就是在網(wǎng)頁內(nèi)容的排版布局上也有很多困難,如果不是專業(yè)人員或特別有耐心的人,很難讓網(wǎng)頁按自己的構(gòu)思和創(chuàng)意來顯示信息。即便是掌握了HTML語言精髓的人也要經(jīng)過多次地測試,才能駕馭好這些信息的排版,過程十分漫長和痛苦。為了Internet的發(fā)展,讓更多人早日踏足這個多姿多彩的世界,新的HTML輔助工具呼之欲出。樣式表就是在這種需求下誕生的,它首先要做的是為網(wǎng)頁上的元素精確地定位,能夠讓網(wǎng)頁設(shè)計者像導(dǎo)演一樣,輕易地控制由文字、圖片組成的演員們,在網(wǎng)頁這個舞臺上按劇本要求好好地表演。其次,它把網(wǎng)頁上的內(nèi)容結(jié)構(gòu)和格式控制相分離。瀏覽者想要看的是網(wǎng)頁上的內(nèi)容結(jié)構(gòu),而為了讓瀏覽者更好地看到這些信息,就要經(jīng)過格式控制來幫忙了。以前兩者在網(wǎng)頁上的分布是交錯結(jié)合的,查看修改很不方便,而現(xiàn)在把兩者分開就會大大方便網(wǎng)頁的設(shè)計者。內(nèi)容結(jié)構(gòu)和格式控制相分離,使得網(wǎng)頁能夠光由內(nèi)容構(gòu)成,而將所有網(wǎng)頁的格式控制指向某個CSS樣式表文件。這樣一來的好出表現(xiàn)在兩個方面:(1)簡化了網(wǎng)頁的格式代碼,外部的樣式表還會被瀏覽器保存在緩存里,加快了下載顯示的速度,也減少了需要上傳的代碼數(shù)量(因為重復(fù)設(shè)置的格式將被只保存一次)。(2)只要修改保存著網(wǎng)站格式的CSS樣式表文件就能夠改變整個站點的風格特色,在修改頁面數(shù)量龐大的站點時,顯得格外有用。避免了一個一個網(wǎng)頁的修改,大大減少了重復(fù)勞動的工作量。2.5.2添加層疊樣式表的方法我們?yōu)榫W(wǎng)頁添加樣式表的方法有四種。(1)最簡單的方法是直接添加在HTML的標識符(tag)里:<Tagstyle=”properties”>網(wǎng)頁內(nèi)容</tag>舉個例子:<pstyle=”color:blue;font-size:10pt”>CSS實例</p>代碼說明:用藍色顯示字體大小為10pt的“CSS實例”。盡管使用簡單、顯示直觀,可是這種方法不怎么常見,因為這樣添加無法完全發(fā)揮樣式表的優(yōu)勢“內(nèi)容結(jié)構(gòu)和格式控制分別保存”。(2)添加在HTML的頭信息標識符<head>里:以下是引用片段:<
head><
style
type=”text/css”><
!—樣式表的具體內(nèi)容--><
/style><
/head>type=”text/css”表示樣式表采用MIME類型,幫助不支持CSS的瀏覽器過濾掉CSS代碼,避免在瀏覽器面前直接以源代碼的方式顯示我們設(shè)置的樣式表。但為了保證上述情況一定不要發(fā)生,還是有必要在樣式表里加上注釋標識符“<!--注釋內(nèi)容-->”。(3)鏈接樣式表同樣是添加在HTML的頭信息標識符<head>里:以下是引用片段:<
head><
link
rel=”stylesheet”
href=”*.css”
type=”text/css”
media=”screen”><
/head>*.css是單獨保存的樣式表文件,其中不能包含<style>標識符,而且只能以css為后綴。Media是可選的屬性,表示使用樣式表的網(wǎng)頁將用什么媒體輸出。取值范圍:·Screen(默認):輸出到電腦屏幕·Print:輸出到打印機·TV:輸出到電視機·Projection:輸出到投影儀·Aural:輸出到揚聲器·Braille:輸出到凸字觸覺感知設(shè)備·Tty:輸出到電傳打字機·All:輸出到以上所有設(shè)備如果要輸出到多種媒體,能夠用逗號分隔取值表。Rel屬性表示樣式表將以何種方式與HTML文檔結(jié)合。取值范圍:·Stylesheet:指定一個外部的樣式表·Alternatestylesheet:指定使用一個交互樣式表(4)聯(lián)合使用樣式表同樣是添加在HTML的頭信息標識符<head>里:以下是引用片段:<
head><
style
type=”text/css”><
!—@import
“*.css”其它樣式表的聲明--><
/style><
/head>以@import開頭的聯(lián)合樣式表輸入方法和鏈接樣式表的方法很相似,但聯(lián)合樣式表輸入方式更有優(yōu)勢。因為聯(lián)合法能夠在鏈接外部樣式表的同時,針對該網(wǎng)頁的具體情況,做出別的網(wǎng)頁不需要的樣式規(guī)則。需要注意的是:聯(lián)合法輸入樣式表必須以@import開頭。如果同時輸入多個樣式表有沖突的時候,將按照第一個輸入的樣式表對網(wǎng)頁排版。如果輸入的樣式表和網(wǎng)頁里的樣式規(guī)則沖突時,使用外部的樣式表。2.5.3層疊樣式表的格式一般來說,樣式表的聲明分為選擇符(selector)和塊{}(block),塊里包含屬性(properties)和屬性的取值(value),基本格式如下:選擇符其它格式1:選擇符1,選擇符2,選擇符3有時候多個選擇符將使用相同的設(shè)置,為了簡化代碼,我們能夠一次性為它們設(shè)置樣式,并在多個選擇符之間加上“,”來分隔它們。當有多個屬性的時候,必須在兩個屬性之間用“;”來分隔。其它格式2:選擇符1選擇符2和格式1非常相似,只是在選擇符之間少加了“,”,但作用卻大不相同。表示如果選擇符2包括的內(nèi)容同時包括在選擇符1里的時候,所設(shè)置的樣式規(guī)則才起作用。2.5.4層疊樣式表的分類為了使網(wǎng)頁的格式不過分的單調(diào),必須得讓相同的選擇符也能分類,并能按照不同的類別來進行不同的樣式設(shè)計?;靖袷饺缦拢哼x擇符.類別名類別名將能夠在HTML的標識符里引用:<標識符class=類別名>網(wǎng)頁內(nèi)容2.5.5層疊樣式表的偽類除了上述的分類方式外,為了使分類的使用更靈活多樣,又產(chǎn)生了偽類的概念。類和偽類有什么樣的區(qū)別呢?一般地說,選擇符能夠和多個類采用捆綁的形式來設(shè)定,這樣雖然能夠為同一個選擇符創(chuàng)立多種不同的樣式,但捆綁的形式同時也限制了設(shè)定的類為其它的選擇符所使用。偽類的產(chǎn)生就是為了解決這個問題,每個預(yù)聲明的偽類都能夠被所有的HTML標識符引用,當然有些塊級內(nèi)容的設(shè)置除外。基本格式如下:.偽類名偽類能夠被任何標識符在HTML里引用。<標識符class=偽類名>網(wǎng)頁內(nèi)容
3系統(tǒng)概述教學(xué)管理系統(tǒng)集成了學(xué)生學(xué)籍管理系統(tǒng)、學(xué)生作業(yè)管理系統(tǒng)、學(xué)生檔案管理系統(tǒng)、等多種功能,因而具有較強的實用性和先進性。3.1系統(tǒng)及需求分析3.1.1系統(tǒng)需求經(jīng)過調(diào)查,要求系統(tǒng)需要有以下功能:(1)由于操作人員的計算機知識普遍較差,要求有良好的人機界面;(2)由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理;(3)原始數(shù)據(jù)修改簡單方便,支持多條件修改(4)方便的數(shù)據(jù)查詢,支持多條件查詢;(5)在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好;(6)數(shù)據(jù)計算自動完成,盡量減少人工干預(yù);3.1.2可行性分析由于本系統(tǒng)管理的對象單一,都是在校學(xué)生,且每個數(shù)據(jù)內(nèi)容具有較強的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學(xué)校用于教學(xué)管理的微機都是PIII以上的機器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻,特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全能夠?qū)崿F(xiàn)。本系統(tǒng)的設(shè)計是在WindowsXP中文版操作系統(tǒng)環(huán)境下,使用ASP.NET開發(fā)成功的。數(shù)據(jù)庫是管理信息系統(tǒng)(MIS)中的重要支持技術(shù),在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,當前,數(shù)據(jù)庫產(chǎn)品較多,每種產(chǎn)品都具有各自的特點和適用范圍,因此,在選擇數(shù)據(jù)庫時,應(yīng)考慮數(shù)據(jù)庫應(yīng)用的特點及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下:數(shù)據(jù)庫平臺選擇:所謂數(shù)據(jù)庫,我們能夠把它形象地說成是存儲數(shù)據(jù)的“倉庫”。數(shù)據(jù)庫是為了滿足某一部門中多個用戶的多種應(yīng)用需要,按照一定的數(shù)據(jù)模型在計算機系統(tǒng)中組織、存儲和使用的互相聯(lián)系的數(shù)據(jù)集合。數(shù)據(jù)庫系統(tǒng)是管理大量的、持久的、可靠的、共享的數(shù)據(jù)的工具。就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。按照ANSI(美國國家標準協(xié)會)的規(guī)定,SQL被作為關(guān)系開數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句能夠用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。當前,絕大多數(shù)的關(guān)系開數(shù)據(jù)庫管理系統(tǒng),如Oracle、Sybase、MicrosoftSQLServer、Informix、IBMDB2等都采用了SQL語言標準。顯然很多數(shù)據(jù)庫產(chǎn)品都對SQL語句進行了再開發(fā)和擴展,可是包括Select、Insert、Update、Create以及Drop在內(nèi)的標準的SQL命令依然能夠被用來完成幾乎所有的數(shù)據(jù)庫操作。SQL是英文StructureQueryLanguage的縮寫,意思為結(jié)構(gòu)化查詢語言。數(shù)據(jù)庫是教學(xué)管理系統(tǒng)的核心組成部分,所有信息處理子系統(tǒng)都將基于某種數(shù)據(jù)庫平臺,以便將其處理的信息資源完整、安全地保存起來,而且對其進行各種管理和利用。選擇一個發(fā)的數(shù)據(jù)庫平臺是非常重要的。根據(jù)教學(xué)管理系統(tǒng)應(yīng)用的實際需要,在選擇數(shù)據(jù)庫平臺時,應(yīng)考慮下列因素:(1)性能:數(shù)據(jù)庫的數(shù)據(jù)處理能力。(2)開放性:數(shù)據(jù)庫是否能在多種操作系統(tǒng)下使用。(3)安全性:數(shù)據(jù)庫是否具有高度的安全性。(4)可靠性:數(shù)據(jù)庫是否具有高度的可靠性。(5)并行性:數(shù)據(jù)庫是否并行運行在多節(jié)點上。(6)可操作性:數(shù)據(jù)庫在使用前是否需要復(fù)雜的培訓(xùn)。數(shù)據(jù)庫平臺選用的是MicroSoft公司的SQLServer,SQLServer是SQLServer的最新版本,比以前版本提高了性能、可靠性、質(zhì)量和易用性。MicrosoftSQLServer增加了幾種新的功能,由此成為大規(guī)模聯(lián)機事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺。SQLServer擁有大型數(shù)據(jù)庫系統(tǒng)基本特征,但保持了windows環(huán)境下界面友好,操作簡單的優(yōu)點,成為windows環(huán)境下開發(fā)中、小型C/S系統(tǒng)較流行的數(shù)據(jù)庫系統(tǒng)。與傳統(tǒng)的桌面數(shù)據(jù)庫系統(tǒng)相比SQLServer有以下區(qū)別:(1)面向集合與面向記錄。面向集合與面向記錄應(yīng)該是C/S系統(tǒng)與桌面數(shù)據(jù)庫系統(tǒng)的最本質(zhì)的區(qū)別。在桌面數(shù)據(jù)庫系統(tǒng)中,它得到的是整個數(shù)據(jù)表,面向的是整個數(shù)據(jù)表的所有記錄,因此,在桌面數(shù)據(jù)庫系統(tǒng)中,第一條;上一條、下一條、最后一條等概念是非常普遍的,而在C/S系統(tǒng)中沒有這些概念,因為客戶程序在向服務(wù)器發(fā)送服務(wù)請求時,得到的數(shù)據(jù)能夠由一個或多個數(shù)據(jù)表的多個字段構(gòu)成,是服務(wù)器上所有數(shù)據(jù)的一個子集,它的請求是經(jīng)過SQL語句來實現(xiàn)的,因此在C/S系統(tǒng)中,它面向的是整個數(shù)據(jù)庫的一個子集合。(2)數(shù)據(jù)安全管理。SQL數(shù)據(jù)庫在數(shù)據(jù)安全性管理方面比桌面數(shù)據(jù)庫系統(tǒng)要強得多,它不但對數(shù)據(jù)庫的訪問進行口令驗證,而且它還能夠?qū)μ囟ǖ臄?shù)據(jù)庫對象進行限制,包括視圖、數(shù)據(jù)表的存儲過程,更重要的是它能夠設(shè)置用戶權(quán)限,經(jīng)過Grant和Revoke命令向一個用戶或一組用戶授權(quán)或收權(quán)。(3)數(shù)據(jù)完整性管理。對于SQL數(shù)據(jù)庫而言,它允許在服務(wù)器端定義一些業(yè)務(wù)規(guī)則用于驗證數(shù)據(jù)的完整性,強制所有的客戶端程序都必須接受相同的業(yè)務(wù)規(guī)則約束,這樣有利于集中維護這些規(guī)則。雖然桌面數(shù)據(jù)庫系統(tǒng)也能進行數(shù)據(jù)完整性管理,可是它只能在應(yīng)用程序中定義這些驗證規(guī)則,所有需要驗證的地方都必須寫入相同或相似的代碼,這樣不利于維護這樣規(guī)則。另外,SQL數(shù)據(jù)庫在完整性約束上,一般在創(chuàng)立數(shù)據(jù)表時就定義好的,它既能夠定義為數(shù)據(jù)表的一部分,也能夠經(jīng)過存儲過程或觸發(fā)器等形式從數(shù)據(jù)表中獨立出來。(4)數(shù)據(jù)庫的并發(fā)訪問管理。SQL數(shù)據(jù)庫采用優(yōu)化鎖定策略,允許多個用戶能夠同時訪問服務(wù)器而不互相干擾。這種技術(shù)并不限制客戶訪問當前正在被其它用戶訪問的數(shù)據(jù)表,能夠照常對它進行編輯(增、刪、改),并請求服務(wù)器保存修改的數(shù)據(jù)。桌面數(shù)據(jù)庫系統(tǒng)則明確地或完全地鎖定策略,也就是說那些當前正在被其它用戶使用的數(shù)據(jù)無法訪問,更無法編輯,如果試圖訪問或修改這些數(shù)據(jù),系統(tǒng)產(chǎn)生錯誤的提示信息。(5)事務(wù)控制。用于在系統(tǒng)發(fā)生錯誤時保持數(shù)據(jù)庫的一致性和完整性。每個更新SQLServer數(shù)據(jù)庫內(nèi)數(shù)據(jù)的應(yīng)用程序都使用事務(wù)完成這個任務(wù)。事務(wù)是由一系列語句(選擇、插入、更新或刪除)構(gòu)成的邏輯工作單元。如果在事務(wù)執(zhí)行過程中沒有遇到錯誤,則事務(wù)中的所有修改成為數(shù)據(jù)庫的永久部分。如果遇到錯誤,則不對數(shù)據(jù)庫做任何修改。桌面數(shù)據(jù)庫系統(tǒng)一般不提供事務(wù)控制功能。3.2系統(tǒng)的功能簡介本系統(tǒng)主要能夠?qū)崿F(xiàn)以下的管理功能:班級管理、學(xué)生檔案管理、學(xué)生交費管理、班級管理、作業(yè)管理等等。教學(xué)管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,由班級管理、學(xué)生檔案管理、學(xué)生交費管理、班級管理、作業(yè)管理等模塊組成。3.2.1系統(tǒng)管理模塊該模塊的主要任務(wù)是維護系統(tǒng)的正常運行和安全性設(shè)置,包括添加用戶、修改密碼、重新登錄等等。3.2.2班級管理模塊該模塊的功能是實現(xiàn)對全校班級的管理工作,包括:班級游覽、班級添加、班級查詢等,這三個功能模塊各自獨立,完成班級的管理。3.2.3學(xué)生資料管理模塊該模塊的主要功能是實現(xiàn)對學(xué)生的個人信息的管理工作,包括資料添加、資料瀏覽等功能,從而方便學(xué)校管理部門對學(xué)校的基本情況的快速查詢和了解。3.2.4作業(yè)管理模塊該模塊對各個班級的學(xué)生作業(yè)進行布置,布置作業(yè)而且能夠查詢已有的作業(yè)情況等功能。3.3系統(tǒng)開發(fā)的目標出于本系統(tǒng)是學(xué)校教學(xué)管理的一個綜合性的系統(tǒng),本系統(tǒng)的設(shè)計目標將最終定位于完成以上所述的系統(tǒng)主要業(yè)務(wù)的基本模型上。
4系統(tǒng)流程分析4.1業(yè)務(wù)流程分析圖4-1班級管理業(yè)務(wù)流程圖圖4-2檔案管理業(yè)務(wù)流程圖圖4-3作業(yè)管理業(yè)務(wù)流程圖
4.2數(shù)據(jù)流程分析4.2.1數(shù)據(jù)流程圖由于本系統(tǒng)的數(shù)據(jù)模塊較多,下面僅以學(xué)生作業(yè)管理模塊為例來進行編制。圖4-4教學(xué)作業(yè)管理系統(tǒng)0層數(shù)據(jù)流程圖圖4-5學(xué)生作業(yè)管理系統(tǒng)1層數(shù)據(jù)流程圖4.3數(shù)據(jù)存儲分析實體聯(lián)系圖(1)數(shù)據(jù)模型設(shè)計。首先來做出學(xué)生作業(yè)管理系統(tǒng)的E-R圖,分析這個問題的實體,從系統(tǒng)分析能夠知道,學(xué)生的作業(yè)是由任課教師按照班級給出的,學(xué)生、班級、教師組成了這個系統(tǒng)的三個實體。(2)再分析三個實體之間的聯(lián)系。首先,這三個實體不是一個統(tǒng)一體,學(xué)生作業(yè)與教師沒有內(nèi)在聯(lián)系,教師必須經(jīng)過班級實體才能與學(xué)生建立聯(lián)系,因而先不考慮。班級與學(xué)生這兩個實體是多對多聯(lián)系;一位學(xué)生要學(xué)習多門班級,一門班級有多位學(xué)生共同學(xué)習。而學(xué)習作業(yè)是這兩個實體“學(xué)生”和“作業(yè)”共有的屬性,應(yīng)填在二者的聯(lián)系“學(xué)習”邊。這個E-R圖可畫成下圖。圖4-6作業(yè)管理系統(tǒng)中學(xué)生與班級的E-R圖教師與班級這兩個實體之間,是一對多聯(lián)系;一位教師能夠都多個班級,而一門班級對于學(xué)生作業(yè)來說只能有一位教師(英語、高等數(shù)學(xué)有多位教師教,但對某個固定的學(xué)生來說只能有一位教師)。其E-R圖,如下所示。圖4-7教師與班級的E-R圖教師與班級的E-R圖組合到一起,得到最后的E-R圖,有了E-R圖,就能夠設(shè)計數(shù)據(jù)庫。下圖為數(shù)據(jù)模型圖。圖4-8數(shù)據(jù)模型圖
5系統(tǒng)設(shè)計5.1軟件模塊結(jié)構(gòu)設(shè)計5.1.1系統(tǒng)方案確定經(jīng)過對系統(tǒng)的調(diào)研與分析,系統(tǒng)主要應(yīng)完成的功能有:班級管理、學(xué)生作業(yè)管理、系統(tǒng)管理等功能。5.1.2軟件結(jié)構(gòu)設(shè)計本系統(tǒng)在執(zhí)行時,先根據(jù)不同的操作人員的需要來進行相應(yīng)的模塊,然后能夠輸入數(shù)據(jù)或者進行其它的查詢或瀏覽等操作;總體來說,本系統(tǒng)屬于一個事務(wù)型管理系統(tǒng)。圖5-1結(jié)構(gòu)設(shè)計圖5.2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫采用了Microsoft推出的SQL數(shù)據(jù)庫,這是微軟集成到Office中的一個桌面數(shù)據(jù)庫,能夠快速方便的和Office的其它套件綜合使用。由于SQL具有顯著的簡易性和有效性,大量的桌面數(shù)據(jù)庫系統(tǒng)都采用SQL作為后臺數(shù)據(jù)庫。使用SQL的好處還在于,如果你的系統(tǒng)擴展到Client/Server模式的時候,能夠使用Microsoft的數(shù)據(jù)庫服務(wù)器軟件SQLServer,此時,程序只需要簡單的修改一下鏈接(ADO的數(shù)據(jù)源)就能夠,這樣,為程序的平滑擴展提供了非常有力的條件?;緮?shù)據(jù)表設(shè)計以及權(quán)限設(shè)置如下:圖5-2Class_student關(guān)聯(lián)學(xué)生和班級的,學(xué)生的學(xué)號作為本表的主鍵。圖5-3Exercise_infor存放作業(yè)基本信息的表,練習號作為主鍵。圖5-4Exercise_update作業(yè)基本信息的更新表,學(xué)生的學(xué)號作為主鍵。圖5-5Notice_infor通知信息表,通知號作為主鍵。圖5-6Student_infor學(xué)生信息表,學(xué)生的學(xué)號作為主鍵。圖5-7Student_login學(xué)生注冊信息表,學(xué)生的學(xué)號作為主鍵。圖5-8teacher_login教師登錄信息表,教師號作為主鍵。數(shù)據(jù)表selectInsertupdatedeleteStudent_infor√√Student_login√√√Class_student√√√√Notice_infor√Exercise_update√√√√Student_mark√Lab_infor√Exercise_infor√圖5-9學(xué)生權(quán)限表數(shù)據(jù)表selectInsertupdatedeleteStudent_infor√√√√Student_login√√√√Class_student√√√√Notice_infor√√√√Exercise_update√√√√Student_mark√√√√Mark_rate√√√√Teacher_login√√√√Lab_infor√√√√Exercise_infor√√√√圖5-10教師權(quán)限表
6系統(tǒng)功能的實現(xiàn)6.1系統(tǒng)登錄圖6-1系統(tǒng)登錄界面本系統(tǒng)登錄身份有兩種:學(xué)生和教師。在下拉框中能夠選擇教師登錄。SelectCasestrTableName//根據(jù)選擇的用戶不同,用case來選擇用戶Case"student_login"conn.ConnectionString=ConfigurationSettings.AppSettings("DSN_student")//設(shè)置數(shù)據(jù)庫連接字符串strID="s_id"str_PW="sl_pwd"strPath="../network_course/student/index.aspx"strUserIdent="同學(xué)"Case"teacher_login"conn.ConnectionString=ConfigurationSettings.AppSettings("DSN_teacher")//設(shè)置數(shù)據(jù)庫連接字符串strID="T_id"str_PW="TL_pwd"strPath="../network_course/teacher/index.aspx"strUserIdent="老師"EndSelect以上代碼是處理下拉菜單選擇學(xué)生或老師的問題,以及設(shè)置字段名和頁面跳轉(zhuǎn)字符串。cmd.CommandText="select*from"+strTableName+"where"+strID+"='"&TextBox1.Text&"'"'查詢語句Tryconn.Open() //打開數(shù)據(jù)庫連接DimreaderAsIDataReaderreader=cmd.ExecuteReader()strpassword=TextBox2.TextIfreader.ReadThenstrRealPw=reader.Item(str_PW)IfTrim(strpassword)=Trim(strRealPw)Then//比較密碼和輸入bool1=falseElseLabel4.Text="密碼錯誤!"bool1=FalseEndIfElseLabel4.Text="用戶名輸入錯誤"bool1=trueEndIfreader.Close() CatchLabel4.Text="數(shù)據(jù)庫操作失敗,可能是服務(wù)器出現(xiàn)錯誤,請稍后再試!"Finallyconn.Close()strpassword=""strRealPw=""EndTry以上代碼是驗證用戶ID和密碼。兩個對象主體使用同一個驗證,代碼簡便易懂。6.2學(xué)生注冊圖6-2學(xué)生注冊界面DimdsnAsString=ConfigurationSettings.AppSettings("DSN_student")//設(shè)置數(shù)據(jù)庫連接字符串DimconnAsNewSqlClient.SqlConnectionconn.ConnectionString=dsnDimcmdAsIDbCommand=conn.CreateCommand()IfPage.IsValidThen//頁面驗證成功 cmd.CommandText="select*fromstudent_inforwheres_id='"+number.Text+"'"Tryconn.Open()DimreaderAsIDataReaderreader=cmd.ExecuteReader()Ifreader.ReadThen'如果有此賬號//比較填寫的真實姓名一欄的值和數(shù)據(jù)庫表項中的s_name內(nèi)容IfTrim(realname.Text)=Trim(reader.Item("s_name"))ThenIfreader.Item("s_iflogin")=TrueThen's_iflogin//字段表示學(xué)生是否已經(jīng)注冊Label1.Text="該用戶已經(jīng)注冊"Elsebool1=TrueLabel1.Text=""EndIfElseLabel1.Text="您所輸入的號碼和姓名不匹配,請重新填寫"EndIfElseLabel1.Text="你所輸入的學(xué)號,請重新填寫"EndIfreader.Close()CatchLabel1.Text="數(shù)據(jù)庫操作失敗,可能是服務(wù)器出現(xiàn)錯誤,請稍后再試!"Finallyconn.Close()EndTryElseLabel1.Text="頁面有錯誤"EndIf//sql2表示插入語句中values中的值Dimsql2AsString="'"+number.Text+"','"+realname.Text+"','"+username.Text+"','"+password1.Text+"','"+DateTime.Now.Date+"','"+email.Text+"','"+phone.Text+"','"+memo.Text+"'"Ifbool1Then'如果此用戶賬號存在、而且未注冊bool1=False//插入注冊信息cmd.CommandText="insertintostudent_login(S_ID,SL_RNAME,SL_NAME,SL_Pwd,SL_Date,SL_email,SL_phone,SL_memo)values("+sql2+")"Tryconn.Open()cmd.ExecuteReader()bool2=TrueCatchLabel1.Text="數(shù)據(jù)庫操作失敗,可能是服務(wù)器出現(xiàn)錯誤,請稍后再試!"bool2=FalseFinallyconn.Close()EndTryIfbool2Then'判斷在注冊是是否出現(xiàn)意外情況,//將student_infor的對應(yīng)項的s_iflogin置為,表示已經(jīng)注冊過了cmd.CommandText="UPDATEstudent_inforSETs_iflogin='1'WHERE(s_id='"+number.Text+"')"Tryconn.Open()cmd.ExecuteReader()CatchLabel1.Text="數(shù)據(jù)庫操作失敗,可能是服務(wù)器出現(xiàn)錯誤,請稍后再試!"Finallyconn.Close()EndTry//顯示注冊成功信息Panel1.Visible=FalsePanel2.Visible=TrueEndIfEndIf
6.3學(xué)生用戶圖6-3學(xué)生用戶界面Dimstudent_idAsString=Request.Cookies("userInf").Values("userID")IfDateTime.Now.Hour>=6AndDateTime.Now.Hour<12ThenspWelMessage.InnerHtml="早上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElseIfDateTime.Now.Hour>=12AndDateTime.Now.Hour<18ThenspWelMessage.InnerHtml="下午好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElsespWelMessage.InnerHtml="晚上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")EndIfDimdsnAsString=ConfigurationSettings.AppSettings("DSN_student")DimconnAsNewSqlClient.SqlConnectionconn.ConnectionString=dsnDimcmdAsNewSqlClient.SqlCommandcmd.Connection=connDimds1AsDataSet=NewDataSetDimmydap1AsNewSqlClient.SqlDataAdaptercmd.CommandText="selecttop10*fromnotice_infororderbynu_datedesc"mydap1.SelectCommand=cmdTryconn.Open()mydap1.Fill(ds1,"teachingnotice_top10")myDataList.DataSource=ds1.Tables("teachingnotice_top10")myDataList.DataBind()CatchexAsExceptionFinallyconn.Close()EndTry//綁定個人基本信息的學(xué)號、姓名兩項cmd.CommandText="SELECT*FROMstudent_inforWHEREs_id='"+student_id+"'"Tryconn.Open()mydap1.SelectCommand=cmdmydap1.Fill(ds1,"student_infor")Dimmytable1AsNewDataTablemytable1=ds1.Tables("student_infor")Ifmytable1.Rows.Count=0ThenTextBox1.Text="無!"TextBox2.Text="無!"ElseTextBox1.Text=mytable1.Rows(0)("s_id")TextBox2.Text=mytable1.Rows(0)("s_name")EndIfCatchexAsExceptionFinallyconn.Close()EndTry//綁定個人基本信息的班號、座號兩項cmd.CommandText="SELECT*FROMclass_studentWHEREs_id='"+student_id+"'"Tryconn.Open()mydap1.SelectCommand=cmdmydap1.Fill(ds1,"class_student")Dimmytable2AsNewDataTablemytable2=ds1.Tables("class_student")Ifmytable2.Rows.Count=0ThenTextBox3.Text="無!"TextBox4.Text="無!"ElseTextBox3.Text=mytable2.Rows(0)("class_id")TextBox4.Text=Trim(mytable2.Rows(0)("group_id"))+Trim(mytable2.Rows(0)("seat_id"))EndIfCatchexAsExceptionFinallyconn.Close()EndTry該段代碼實現(xiàn)了學(xué)生用戶頁面初始化功能。6.4教師用戶圖6-4教師用戶界面Dimteacher_idAsString=Request.Cookies("userInf").Values("userID")IfDateTime.Now.Hour>=6AndDateTime.Now.Hour<12ThenspWelMessage.InnerHtml="早上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElseIfDateTime.Now.Hour>=12AndDateTime.Now.Hour<18ThenspWelMessage.InnerHtml="下午好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")ElsespWelMessage.InnerHtml="晚上好,"&Request.Cookies("userInf").Values("userID")&Request.Cookies("userInf").Values("userIdent")EndIfDimdsnAsString=ConfigurationSettings.AppSettings("DSN_teacher")DimconnAsNewSqlClient.SqlConnectionconn.ConnectionString=dsnDimcmdAsNewSqlClient.SqlCommandcmd.Connection=connDimds1AsDataSet=NewDataSetDimmydap1AsNewSqlClient.SqlDataAdaptercmd.CommandText="selecttop10*fromnotice_infororderbynu_datedesc"mydap1.SelectCommand=cmdTryconn.Open()mydap1.Fill(ds1,"teachingnotice_top10")myDataList.DataSource=ds1.Tables("teachingnotice_top10")myDataList.DataBind()CatchFinallyconn.Close()EndTry該段代碼實現(xiàn)了教師用戶頁面初始化功能。6.5班級管理圖6-5班級管理界面cmd.CommandText="selectstudent_infor.s_id,student_infor.s_name,group_id,seat_idfromstudent_infor,class_studentwherestudent_infor.s_id=class_student.s_idandclass_id='"+DropDownList1.SelectedItem.Value+"'orderbyseat_idasc"Tryconn.Open()mydap1.Fill(ds1,"student_class_infor")DataGrid1.DataSource=ds1.Tables("student_class_infor")DataGrid1.DataBind()CatchLabel2.Text="讀取數(shù)據(jù)庫失敗,可能是服務(wù)器出現(xiàn)錯誤,請稍后再試!"Finallyconn.Close()EndTry//計算該班的人數(shù)cmd.CommandText="select*fromclass_studentwhereclass_id='"+DropDownList1.SelectedItem.Value+"'"Tryconn.Open()mydap1.Fill(ds1,"class_student_count")Label1.Text=ds1.Tables("class_student_count").Rows.CountCatchLabel2.Text="讀取班級學(xué)生表失敗,可能是服務(wù)器出現(xiàn)錯誤,請稍后再試!"Finallyconn.Close(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 營養(yǎng)素補充劑的市場前景與監(jiān)管-洞察分析
- 網(wǎng)絡(luò)時代的文化傳播路徑-洞察分析
- 圖像處理與排版協(xié)同優(yōu)化-洞察分析
- 異常流量監(jiān)測與識別-洞察分析
- 《臨江仙》(夢后樓臺高鎖)課件
- 人際關(guān)系與溝通風格-組織行為學(xué)課件
- 辦公環(huán)境中的創(chuàng)新教育實踐與思考
- 辦公環(huán)境下的學(xué)生運動團隊建設(shè)與組織
- 企業(yè)中層管理崗位的工作規(guī)劃與管理執(zhí)行
- 企業(yè)員工子女教育的政策支持
- 檢驗檢測機構(gòu)資質(zhì)認定現(xiàn)場評審日程表及簽到表
- 完整版高低壓開關(guān)柜投標文件技術(shù)標
- 蘭州市行政區(qū)劃代碼表
- 鐵路貨場平面圖和縱斷面CAD(共3頁)
- 管鮑之交-歷史劇劇本(共4頁)
- [交流][jtag]跟我學(xué)jtag協(xié)議破解——第一彈初識jtagtap狀態(tài)機
- 尼康FM2說明書25頁
- You-are-My-Sunshine中英文歌詞
- 甲醇制氫裝置冷凝器(E0103)設(shè)計
- 學(xué)校德育活動安排表
- 2021年保證書(女方出軌)
評論
0/150
提交評論