歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

學(xué)籍管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)和技術(shù)專業(yè)

  • 資源ID:48699095       資源大小:712.20KB        全文頁數(shù):45頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

學(xué)籍管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)和技術(shù)專業(yè)

前 言學(xué)生管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件學(xué)籍,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。 本系統(tǒng)全面、真實(shí)地記錄學(xué)生在校就讀期間的各方面表現(xiàn),使學(xué)生管理工作負(fù)責(zé)人、輔導(dǎo)員、班主任、學(xué)生家長能及時(shí)、全面地了解學(xué)生的成長軌跡;建立一個(gè)與學(xué)生互動(dòng)的信息平臺(tái),以了解學(xué)生的需求、意見,有效地指導(dǎo)學(xué)生;相關(guān)企業(yè)可以發(fā)布信息,為相關(guān)企業(yè)提供了畢業(yè)生的信息查詢。本系統(tǒng)還便于學(xué)院學(xué)生管理信息化。第一章 系統(tǒng)概述1.1 開發(fā)背景1.1.1 發(fā)展趨勢(shì)現(xiàn)代教育技術(shù)特別是網(wǎng)絡(luò)與多媒體技術(shù)的發(fā)展,對(duì)學(xué)習(xí)活動(dòng)產(chǎn)生了具有深遠(yuǎn)意義的沖擊,網(wǎng)絡(luò)中的學(xué)習(xí)者必須是一個(gè)主動(dòng)行為的主體,人們可以選擇或者設(shè)計(jì)適合其學(xué)習(xí)特點(diǎn)的信息采集、加工與重組方式,一種個(gè)性化的學(xué)習(xí)類型。該學(xué)籍管理系統(tǒng)采用多層架構(gòu)的系統(tǒng),是真正適應(yīng)教育信息化發(fā)展三大趨勢(shì)的校園網(wǎng)絡(luò)應(yīng)用系統(tǒng),全面支持Internet功能、遠(yuǎn)程訪問功能,全部采用最先進(jìn)的B/S(瀏覽器/服務(wù)器) 模式來開發(fā),支持有關(guān)學(xué)校信息交流、日常教學(xué)、教務(wù)管理等的各種應(yīng)用,提供了一個(gè)基于校園內(nèi)聯(lián)網(wǎng)中支持各種類型的學(xué)校應(yīng)用產(chǎn)品的服務(wù)平臺(tái)和開發(fā)平臺(tái),基本目標(biāo)是在學(xué)校內(nèi)部和外部建立起順暢的信息通道,讓信息技術(shù)成為推動(dòng)教育生產(chǎn)力的有力工具,提高學(xué)校的管理水平和效率,同時(shí)充分利用全球的教育資源為學(xué)校的教育服務(wù),克服了目前大部分學(xué)校的校園網(wǎng)建設(shè)只起到宣傳作用的通病。1.1.2 學(xué)籍管理系統(tǒng)的意義本系統(tǒng)全面、真實(shí)地記錄學(xué)生在校就讀期間的各方面表現(xiàn),使學(xué)生管理工作負(fù)責(zé)人、輔導(dǎo)員、班主任、學(xué)生家長能及時(shí)、全面地了解學(xué)生的成長軌跡;建立一個(gè)與學(xué)生互動(dòng)的信息平臺(tái)(Email形式),以了解學(xué)生的需求、意見,有效地指導(dǎo)學(xué)生;相關(guān)企業(yè)可以發(fā)布信息,為相關(guān)企業(yè)提供了畢業(yè)生的信息查詢。本系統(tǒng)還便于學(xué)院學(xué)生管理信息化。通過本項(xiàng)目,使學(xué)生掌握Web項(xiàng)目的開發(fā)過程,基礎(chǔ)知識(shí)和規(guī)范標(biāo)準(zhǔn),通過實(shí)踐讓學(xué)生熟練掌握Web開發(fā)方法與Web編程技巧,讓學(xué)生熟練使用網(wǎng)頁編程語言進(jìn)行程序設(shè)計(jì),從而增強(qiáng)學(xué)生就業(yè)的崗位競(jìng)爭(zhēng)力。學(xué)生通過設(shè)計(jì)和實(shí)現(xiàn)本項(xiàng)目,主要的意義表現(xiàn)在三個(gè)方面。其一,可以熟練掌握網(wǎng)頁開發(fā)技術(shù)。其二,通過項(xiàng)目訓(xùn)練網(wǎng)頁編程技能,增強(qiáng)學(xué)生從業(yè)時(shí)的崗位競(jìng)爭(zhēng)力。其三,是為從網(wǎng)頁開發(fā)的學(xué)生的工作實(shí)踐奠定基礎(chǔ)。第二章 系統(tǒng)開發(fā)技術(shù)介紹2.1 .NET技術(shù).NET是一個(gè)透明的開發(fā)平臺(tái),它是由美國微軟公司開發(fā)的一款致力于提高軟件開發(fā)敏捷性和軟件應(yīng)用開發(fā)快速性,而且與平臺(tái)沒有任何關(guān)系的網(wǎng)絡(luò)、透明開發(fā)平臺(tái)。.NET包括許多迅捷有效的開發(fā)技術(shù),而且全部基于互聯(lián)網(wǎng)和內(nèi)部網(wǎng)。.NET提供了一套跨語言的統(tǒng)一編程環(huán)境,它是一個(gè)由多種語言組件組成了一個(gè)統(tǒng)一的開發(fā)和執(zhí)行環(huán)境。微軟公司規(guī)范.NET框架的原因是為了方便各類開發(fā)人員能更快速方便的建立網(wǎng)頁應(yīng)用程序和網(wǎng)頁服務(wù),在因特網(wǎng)上的各個(gè)程序之間實(shí)現(xiàn)互聯(lián)互通,從而達(dá)到方便溝通的目的。從層次結(jié)構(gòu)來看,.NET框架又包括三個(gè)主要組成部分:公共語言運(yùn)行時(shí)(CLR:Common Language Runtime)、服務(wù)框架(Services Framework)和上層的兩類應(yīng)用模板傳統(tǒng)的Windows應(yīng)用程序模板(Win Forms)和基于ASP NET的面向Web的網(wǎng)絡(luò)應(yīng)用程序模板(Web Forms和Web Services)。公共語言運(yùn)行時(shí)(CLR),是一個(gè)運(yùn)行時(shí)環(huán)境,管理代碼的執(zhí)行并使開發(fā)過程變得更加簡(jiǎn)單。CLR是一種受控的執(zhí)行環(huán)境,其功能通過編譯器與其它工具共同展現(xiàn)。在CLR之上的是服務(wù)框架,它提供了一套開發(fā)人員希望在標(biāo)準(zhǔn)語言庫中存在的基類庫,包括集合、輸入/輸出、字符串及數(shù)據(jù)類。.NET 是 Microsoft XML Web services 平臺(tái)。XML Web services 允許應(yīng)用程序通過 Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。.NET就是微軟的用來實(shí)現(xiàn)XML,Web Services,SOA(面向服務(wù)的體系結(jié)構(gòu)service-oriented architecture)和敏捷性的技術(shù)。NET也可以如下來定義:.NET是微軟的新一代技術(shù)平臺(tái),為敏捷商務(wù)構(gòu)建互聯(lián)互通的應(yīng)用系統(tǒng),這些系統(tǒng)是基于標(biāo)準(zhǔn)的,聯(lián)通的,適應(yīng)變化的,穩(wěn)定的和高性能的。Web Services是.NET的核心技術(shù)。ASP 是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。 運(yùn)行于 IIS 之中的程序 。ASP技術(shù)是ASP.NET的前身,雖然具有簡(jiǎn)單以及高度可定制化的能力,不過也存在大型的ASP應(yīng)用程序維護(hù)難度高和直譯式語言讓效能受限的缺點(diǎn)。新技術(shù)使用Visual Basic.NET、C#、Perl與Python語言來開發(fā),它的強(qiáng)大和適應(yīng)性,使其運(yùn)行在Web全部的平臺(tái)上通用語言的基本庫,可以選擇一種最適合自己的語言來編寫程序,或者把程序用很多種語言來寫。ASP.NET一般分為兩種開發(fā)語言,VB.NET和C#,C#是.NET獨(dú)有的語言也更常被用到。三層架構(gòu)一般指的是界面層,業(yè)務(wù)層,數(shù)據(jù)層。界面層就是系統(tǒng)的操作界面,和用戶直接交互的地方。業(yè)務(wù)層又稱為邏輯層,簡(jiǎn)稱BLL,是執(zhí)行業(yè)務(wù)邏輯的地方,也就是業(yè)務(wù)規(guī)則都在這一層體現(xiàn)。數(shù)據(jù)層也稱為數(shù)據(jù)訪問層,簡(jiǎn)稱DAL,這里是直接和數(shù)據(jù)庫進(jìn)行交互的地方,也是整個(gè)系統(tǒng)里唯一允許訪問數(shù)據(jù)庫的地方。除此之外,還有一個(gè)業(yè)務(wù)實(shí)體層,這個(gè)層比較特殊,就是定義實(shí)體類的地方,有些人把這個(gè)層歸屬業(yè)務(wù)層,有些人把這個(gè)獨(dú)立出來,變成一個(gè)公共層。2.2 C#語言C#是專門為.NET應(yīng)用而開發(fā)出的語言,這從根本上保證了C#與.NET框架的完美結(jié)合.NET框架的各種優(yōu)點(diǎn)在C#中表現(xiàn)得淋漓盡致。C#在帶來對(duì)應(yīng)用程序的快速開發(fā)能力的同時(shí),并沒有犧牲C與C+程序員所關(guān)心的各種特性。它忠實(shí)地繼承了C和C+的優(yōu)點(diǎn)。比C和C+易學(xué),比C和C+開發(fā)效率高。適合桌面和Web應(yīng)用程序開發(fā),特別是基于ASP.NET的網(wǎng)站開發(fā)和ADO.NET的數(shù)據(jù)庫開發(fā)。(1)簡(jiǎn)潔的語法。在缺省的情況下,C#的代碼在.NET框架提供的環(huán)境下運(yùn)行,不允許直接地內(nèi)存操作。也沒有了指針。C#只支持一個(gè)“.”每種C#操作符在.NET類庫中都有了新名字。(2)精心地面向?qū)ο笤O(shè)計(jì)。C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性。在C#的類型系統(tǒng)中,每種類型都可以看作一個(gè)對(duì)象。C#只允許單繼承,避免了類型定義的混亂。代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。(3)與Web的緊密結(jié)合。程序員們能夠利用他們已有的面向?qū)ο蟮闹R(shí)與技巧開發(fā)Web服務(wù)。僅需要使用簡(jiǎn)單的C#語言結(jié)構(gòu),C#組件將能夠方便地為Web服務(wù),并允許它們通過Internet被運(yùn)行在任何操作系統(tǒng)上的任何語言所調(diào)用。(4)完整的安全性與錯(cuò)誤處理。C#的設(shè)計(jì)思想消除了在軟件開發(fā)中的諸多常見錯(cuò)誤,并提供了必要且完整的安全性能。(5)版本的處理技術(shù)。C#在軟件開發(fā)的語言中,植入了版本控制功能。支持接口和接口的繼承。保證了復(fù)雜的軟件可以被方便地開發(fā)和升級(jí)。(6)靈活性和兼容性。在簡(jiǎn)化語法的同時(shí)C#允許你將某些類或者類的某些方法聲明為非安全的。通過對(duì)接口的繼承便可解決C#不支持類的多繼承的問題。2.3 SQL2005數(shù)據(jù)庫SQL Server由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。SQL(Structured Query Language)結(jié)構(gòu)化查詢語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。SQL允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。也是溝通數(shù)據(jù)庫服務(wù)器和客戶端的重要工具,它不要求指定數(shù)據(jù)的存放方法,也不需要知道數(shù)據(jù)的具體存放方式,所以底層結(jié)構(gòu)不同數(shù)據(jù)庫系統(tǒng)也可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的接口。SQL語言包括三種主要程序設(shè)計(jì)語言類別的語句:數(shù)據(jù)定義語言Data Definition Language(DDL)數(shù)據(jù)操作語言Data Manipulation Language(DML)數(shù)據(jù)控制語言Data Controlling Language(DCL)。SQL語言具有以下五個(gè)特點(diǎn):(1)綜合統(tǒng)一:SQL語言數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風(fēng)格統(tǒng)一,可獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動(dòng)。在關(guān)系模型中,實(shí)體和實(shí)體間的聯(lián)系均用關(guān)系表示,使得數(shù)據(jù)操作符的統(tǒng)一,查找、插入、刪除、修改等每一種操作都只需要一種操作符。(2)高度非過程化:SQL對(duì)數(shù)據(jù)進(jìn)行操作,只需提出“做什么”,不用指明“怎么做”,數(shù)據(jù)存取路徑的選擇以及語句的操作過程由系統(tǒng)自動(dòng)完成。(3)面向集合的操作方式SQL語言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可是元組的集合。(4)以同一種語法結(jié)構(gòu)提供兩種保用方式:此語法結(jié)構(gòu)提供兩種不同的使用方式的做法,提供了極大的靈活性與方便性。(5)語言簡(jiǎn)捷,易學(xué)易用:SQL語言功能強(qiáng),設(shè)計(jì)巧妙,完成核心功能的動(dòng)詞只有6個(gè),容易學(xué)習(xí),容易使用。SQL語言具有以下10項(xiàng)功能:(1)面向數(shù)據(jù)庫執(zhí)行查詢(2)可在數(shù)據(jù)庫中插入新的記錄(3)可從數(shù)據(jù)庫刪除記錄(4)可在數(shù)據(jù)庫中創(chuàng)建新表(5)可從數(shù)據(jù)庫取回?cái)?shù)據(jù)(6)可更新數(shù)據(jù)庫中的數(shù)據(jù)(7)可創(chuàng)建新數(shù)據(jù)庫(8)可在數(shù)據(jù)庫中創(chuàng)建存儲(chǔ)過程(9)可在數(shù)據(jù)庫中創(chuàng)建視圖(10)可以設(shè)置表、存儲(chǔ)過程和視圖的權(quán)限2.4 系統(tǒng)開發(fā)模式2.4.1 C/S結(jié)構(gòu)C/S結(jié)構(gòu)軟件(即客戶機(jī)/服務(wù)器模式)分為客戶機(jī)和服務(wù)器兩層,這種結(jié)構(gòu)的軟件適于在用戶數(shù)目不多的局域網(wǎng)內(nèi)使用。對(duì)于異地軟件應(yīng)用,C/S結(jié)構(gòu)的軟件必須在各地安裝多個(gè)服務(wù)器,并在多個(gè)服務(wù)器之間進(jìn)行數(shù)據(jù)同步,這樣每個(gè)數(shù)據(jù)點(diǎn)上的數(shù)據(jù)安全必然了整個(gè)應(yīng)用的數(shù)據(jù)安全。C/S的三層模式如圖3-1所示:客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)服務(wù)器??蛻舳藨?yīng)用服務(wù)器數(shù)據(jù)服務(wù)器圖2-1 C/S結(jié)構(gòu)圖C/S架構(gòu)模式能充分發(fā)揮客戶端PC處理能力客戶端響應(yīng)速度快、應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕、數(shù)據(jù)儲(chǔ)存管理功能較為透明的優(yōu)點(diǎn)。但也具有只適用于局域網(wǎng)、客戶端需要安裝專用的客戶端軟件、維護(hù)成本高昂且投資大工作效率低、系統(tǒng)針對(duì)性不強(qiáng)變更不靈活等缺點(diǎn)。2.4.2 B/S模式B/S(瀏覽器/服務(wù)器模式,即Browser/Server)是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種改進(jìn)。在這種結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),客戶端只需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。B/S三層結(jié)構(gòu)如圖2-2所示。圖2-2 三層B/S結(jié)構(gòu)B/S架構(gòu)軟件具有的優(yōu)點(diǎn)有:(1)維護(hù)和升級(jí)方式簡(jiǎn)單。B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。(2)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)特點(diǎn),網(wǎng)絡(luò)管理人員只需要管理服務(wù)器所以應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,備有數(shù)據(jù)庫存儲(chǔ)服務(wù)器尤為重要。 通過對(duì)以上兩種系統(tǒng)開發(fā)模式的比較,本系統(tǒng)采用B/S模式進(jìn)行開發(fā)。第三章 系統(tǒng)需求分析3.1 可行性分析3.1.1 運(yùn)行環(huán)境可行性(1)Web服務(wù)器微軟公司提供的Web服務(wù)器軟件由于管理簡(jiǎn)單、易于使用而受到廣大用戶的歡迎。采用基于B/S模式的瀏覽器、服務(wù)程序中間件和數(shù)據(jù)庫服務(wù)程序三層結(jié)構(gòu)體系,保證了系統(tǒng)運(yùn)行的安全、穩(wěn)定和便捷。(2)數(shù)據(jù)庫后臺(tái)數(shù)據(jù)庫使用SQL Server 2005。其高可用性、強(qiáng)大的管理工具、安全性及可伸縮性進(jìn)一步增強(qiáng)了其功能。(3)客戶端采用B/S結(jié)構(gòu)的客戶端系統(tǒng)可以在任何Windows系統(tǒng)版本的瀏覽器上使用。3.1.2 技術(shù)可行性(1)過程控制的設(shè)計(jì)思想通過網(wǎng)絡(luò)信息系統(tǒng)的運(yùn)行,大大簡(jiǎn)化了部門和部門之間的接觸,節(jié)省了相互之間信息溝通的時(shí)間。系統(tǒng)的面向?qū)ο鬄楸静块T內(nèi)所有人員用戶。在實(shí)施標(biāo)準(zhǔn)的過程中,通過加強(qiáng)執(zhí)行力,使管理全過程落到實(shí)處,產(chǎn)生實(shí)效,充分發(fā)揮標(biāo)準(zhǔn)化在學(xué)籍管理中的引導(dǎo)和協(xié)調(diào)作用,從而有力地保證正常運(yùn)行。(2)采用模塊化的軟件設(shè)計(jì)結(jié)構(gòu)本系統(tǒng)根據(jù)不同層次的用戶設(shè)置了不同的權(quán)限,每個(gè)權(quán)限既獨(dú)立運(yùn)行,又可以實(shí)現(xiàn)數(shù)據(jù)共享。采用模塊化的軟件設(shè)計(jì)結(jié)構(gòu)方便系統(tǒng)升級(jí),單獨(dú)升級(jí)某個(gè)模塊,并不影響其他模塊的使用。(3)全面的安全策略本系統(tǒng)采用了三層的B/S安全架構(gòu),系統(tǒng)由表示層(用戶層)、業(yè)務(wù)層(應(yīng)用層)、數(shù)據(jù)庫層組成,每層獨(dú)立存在,又相互關(guān)聯(lián)成一個(gè)整體,任何一層的數(shù)據(jù)泄漏不會(huì)影響整個(gè)系統(tǒng)的安全性。系統(tǒng)將用戶分成三類,部門、教師和普通管理人員,分別對(duì)其設(shè)置了不同的權(quán)限,每類用戶只能在其級(jí)別的管理集合中操作,不能越權(quán)使用。用戶登錄時(shí)進(jìn)行安全驗(yàn)證,保障了學(xué)籍管理數(shù)據(jù)庫的安全性和易用性,防止非法用戶訪問系統(tǒng)內(nèi)部網(wǎng)頁。3.1.3 經(jīng)濟(jì)可行性軟件開發(fā)主要由團(tuán)隊(duì)完成,在很大程度上節(jié)約了成本。3.2 需求分析3.2.1 功能描述系統(tǒng)的功能模塊包括:1、用戶管理模塊(1)添加用戶(2)修改用戶(3)刪除用戶(4)分配用戶角色2、學(xué)生信息管理模塊管理員可以分班級(jí)進(jìn)行學(xué)生檔案信息的錄入、查詢、修改、刪除等。其他用戶可以查詢權(quán)限允許內(nèi)的學(xué)生的檔案信息。3、日常教務(wù)管理模塊管理員可以分班級(jí)進(jìn)行學(xué)生日常教務(wù)情況(如:課程出勤情況,班級(jí)活動(dòng)情況,學(xué)生日常工作考核情況等)的管理:錄入、修改、刪除、查詢、統(tǒng)計(jì)等。4、學(xué)生成績管理模塊管理員通過該模塊給錄入班級(jí)學(xué)生的學(xué)習(xí)成績。其他用戶可以查詢權(quán)限允許內(nèi)的學(xué)生的成績。分權(quán)限對(duì)學(xué)生成績可以修改、刪除、查詢、統(tǒng)計(jì),報(bào)表生成及打印等。可以分班級(jí)和個(gè)人統(tǒng)計(jì)成績,分析考試結(jié)果,獎(jiǎng)學(xué)金及助學(xué)金評(píng)定等。5、學(xué)籍處理模塊管理學(xué)生在校期間的學(xué)籍處理情況,錄入、修改、刪除、查詢、統(tǒng)計(jì)。3.2.2 數(shù)據(jù)流設(shè)計(jì)圖3-1 0層數(shù)據(jù)流圖圖3-2 1層數(shù)據(jù)流圖圖3-3 2層數(shù)據(jù)流圖第四章 系統(tǒng)設(shè)計(jì)4.1 功能結(jié)構(gòu)設(shè)計(jì)4.1.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)分析階段的功能需求分析,可導(dǎo)出此系統(tǒng)按功能劃分的總體框架結(jié)構(gòu)如圖4-1所示。圖4-1 系統(tǒng)總體框架結(jié)構(gòu)圖4.1.2 系統(tǒng)流程設(shè)計(jì)登陸表單(管理員或者普通用戶身份登陸)Splash表單主窗口(系統(tǒng)主窗口)管理學(xué)生學(xué)籍信息(學(xué)生基本信息管理,課程管理,專業(yè)/學(xué)院管理和考試成績管理管理系統(tǒng)用戶(添加,刪除)對(duì)學(xué)生信息進(jìn)行查找(按學(xué)號(hào)或姓名)返回查詢信息管理員登陸重新登陸 圖4-2 系統(tǒng)流程圖4.1.3 基于MVC的BS模式設(shè)計(jì)ASP.NET本身集成了很多良好的框架及層次結(jié)構(gòu),可以實(shí)現(xiàn)基于MVC的經(jīng)典BS模式。其中的視圖部分直接通過ASPX頁面中的用戶接口實(shí)現(xiàn);控制器的實(shí)現(xiàn)則統(tǒng)一保存在.CS文件中;模型層主要實(shí)現(xiàn)績效管理的業(yè)務(wù)邏輯。通過ASP.NET實(shí)現(xiàn)MVC的多層系統(tǒng)比傳統(tǒng)ASP結(jié)構(gòu)具有以下優(yōu)點(diǎn):視圖與控制分離提高了代碼的重用性,即將用戶顯示從動(dòng)作中分離出來。為了將設(shè)計(jì)與后臺(tái)具體存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)無關(guān),將數(shù)據(jù)模型從控制器中分離出來。本績效管理系統(tǒng)的MVC結(jié)構(gòu)是一種松耦合的,便于后期升級(jí)及功能擴(kuò)展。學(xué)籍管理系統(tǒng)的BS模式三層架構(gòu)如圖4-4所示。圖4-4 系統(tǒng)三層架構(gòu)圖(1)Web層(View層):主要負(fù)責(zé)通過瀏覽器與用戶進(jìn)行交互,此部分包含表單及頁面交互的部分頁面代碼。表單負(fù)責(zé)用戶界面中基本信息的展示,頁面代碼實(shí)現(xiàn)基本控件事件與控制層的交互。Web層可以劃分為以下幾個(gè)方面:頁面的布局通過頁面模板進(jìn)行定義;視圖標(biāo)簽內(nèi)容通過頁面配置文件進(jìn)行定義;頁面初始化及加載由頁面布局策略類實(shí)現(xiàn);參數(shù)設(shè)置、校驗(yàn)器加載以及事件的委托通過基本配置進(jìn)行初始化;表示層的腳本校驗(yàn)是在用戶通過基本事件提交前進(jìn)行處理的;驗(yàn)證通過后,對(duì)頁面基類page_base進(jìn)行定義,并將業(yè)務(wù)邏輯進(jìn)行處理;頁面布局策略類PageLayout,用于加載用戶部件到頁面,完成頁面布局;動(dòng)態(tài)加載檢驗(yàn)部件通過用戶部件基類User-ControlBase實(shí)現(xiàn),以及實(shí)現(xiàn)用戶部件的個(gè)性化。(2)業(yè)務(wù)規(guī)則、邏輯層(Model層):負(fù)責(zé)身份合法性以及數(shù)據(jù)有效性等各種業(yè)務(wù)邏輯功能實(shí)現(xiàn)。業(yè)務(wù)處理結(jié)果通過業(yè)務(wù)處理對(duì)象進(jìn)行響應(yīng)并提交給指定的視圖組件,業(yè)務(wù)處理對(duì)象都是由ProcessBase基類進(jìn)行派生的子類,主要對(duì)業(yè)務(wù)邏輯進(jìn)行封裝,并交由控制層進(jìn)行調(diào)用。描述客戶端表單數(shù)據(jù)的屬性是通過業(yè)務(wù)實(shí)體對(duì)象進(jìn)行定義的。業(yè)務(wù)實(shí)體對(duì)象是由Entity-Base派生的子類對(duì)象,業(yè)務(wù)處理對(duì)象不需要request和response對(duì)象進(jìn)行數(shù)據(jù)交互便可以直接對(duì)它進(jìn)行讀寫。模型與視圖之間的交互同樣是通過業(yè)務(wù)實(shí)體對(duì)象進(jìn)行實(shí)現(xiàn)。利用ASP.NET的已有特點(diǎn),實(shí)現(xiàn)業(yè)務(wù)實(shí)體與業(yè)務(wù)處理的分離,提高了業(yè)務(wù)邏輯代碼的可重用性,便于后期擴(kuò)展及升級(jí)。(3)控制層(Control層):主要實(shí)現(xiàn)視圖層與邏輯層之間的通訊,并實(shí)現(xiàn)所有web應(yīng)用與數(shù)據(jù)庫訪問之間的控制服務(wù)。本學(xué)籍系統(tǒng)控制層的控制器功能主要由定義的三個(gè)類實(shí)現(xiàn),分別為Controller(控制器類)、HttpCapture(請(qǐng)求捕獲者類)、以及HttpReqDispatcher(分發(fā)者類)。用戶所有的請(qǐng)求都是通過控制器類進(jìn)行的:首先請(qǐng)求捕獲者類捕獲HTTP請(qǐng)求并轉(zhuǎn)發(fā)給控制器類;其次控制器對(duì)請(qǐng)求進(jìn)行處理后,再把請(qǐng)求委托給分發(fā)者類;視圖的管理和導(dǎo)航由分發(fā)者類分發(fā),它提供給分發(fā)資源控制并管理通過哪個(gè)視圖提供給用戶。4.2 數(shù)據(jù)庫設(shè)計(jì)4.2.1 邏輯結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)的實(shí)體有:學(xué)生實(shí)體、用戶實(shí)體、年級(jí)實(shí)體、課程實(shí)體。各個(gè)實(shí)體具體的描述E-R圖如圖下所示:課程成績班級(jí)基本信息學(xué)生每個(gè)學(xué)生包括所在的班級(jí),所學(xué)的課程和各科成績以及其他一些基本知識(shí)。 用戶學(xué)生教師此模塊中有教師和學(xué)生兩個(gè)用戶來實(shí)現(xiàn)查詢功能。課程課程名稱學(xué)時(shí)教師學(xué)分一門課程包括他的名稱,有幾學(xué)時(shí),多少學(xué)分以及教師?,F(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為parador數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。4.2.1 物理結(jié)構(gòu)設(shè)計(jì)在系統(tǒng)設(shè)計(jì)過程中,首先要建立的就是數(shù)據(jù)庫。本數(shù)據(jù)庫采用SQL Server 2000來構(gòu)造,共使用了7個(gè)表,它們分別是用戶信息表(UserInfo)、學(xué)生信息表(StuInfo)、班級(jí)信息表(Class)、專業(yè)信息表(Major)、學(xué)院信息表(Depart)、課程信息表(Lesson)、學(xué)生成績表(Result)。1 用戶信息表(UserInfo):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字UserID文本用戶名Not NullPrimary KeyUserPWD文本用戶密碼Not NullUserName文本姓名Not NullUserPower文本使用權(quán)限Not Null2 學(xué)生信息表(StuInfo):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字SID文本學(xué)號(hào)Not NullPrimary KeySName文本姓名Not NullSGender文本性別Not NullSPlace文本籍貫Not NullSBirthday日期/時(shí)間出生日期Not NullSMinzu文本民族Not NullSZhengzhi文本政治面貌Not NullSDormitory文本寢室號(hào)碼Not NullSAddress文本家庭住址Not NullSCode文本郵政編碼Not NullSTel文本聯(lián)系電話Not NullSRemark備注備注Not Null3 班級(jí)信息表(Class):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字ID文本班級(jí)代碼Not NullPrimary Key4 專業(yè)信息表(Major):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字ID文本專業(yè)代號(hào)Not NullPrimary KeyName文本專業(yè)名稱Not Null5 學(xué)院信息表(Depart):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字ID文本學(xué)院代號(hào)Not NullPrimary KeyName文本學(xué)院名稱Not Null6課程信息表(Lesson):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字ID文本課程代號(hào)Not NullPrimary KeyName文本課程名稱Not NullTime文本課時(shí)Not NullMark 文本學(xué)分Not Null7學(xué)生成績表(Result):字段名數(shù)據(jù)類型說明是否為空是否為關(guān)鍵字ID文本學(xué)生學(xué)號(hào)Not NullPrimary KeyName文本課程名稱Not NullPrimary KeyScore文本分?jǐn)?shù)Not NullRemark文本備注Not Null第五章 系統(tǒng)實(shí)現(xiàn)經(jīng)過需求分析、功能模塊設(shè)計(jì)之后要進(jìn)入詳細(xì)設(shè)計(jì)階段,本階段將按系統(tǒng)的主要模塊進(jìn)行論述,重在闡述具體的某項(xiàng)功能的實(shí)現(xiàn)方法或運(yùn)用到的相關(guān)技術(shù)。5.1 用戶界面實(shí)現(xiàn)5.1.1 登陸功能實(shí)現(xiàn)因?yàn)楸鞠到y(tǒng)是按學(xué)籍管理的思想設(shè)計(jì)的,故而登陸部分主要完成密碼校驗(yàn)、確定登錄人角色等功能,對(duì)于密碼本系統(tǒng)采用的是MD5算法。這里附上本程序的登陸界面,如圖所示。利用SQL語句,在數(shù)據(jù)庫中查詢,如果查到相應(yīng)的記錄,則調(diào)用登陸驗(yàn)證事件,用戶的登陸獲得通過,此時(shí)可以退出登陸窗口,并進(jìn)入主窗口,同時(shí)將用戶類型和用戶名分別傳遞到主窗口的session中;如果沒有相應(yīng)的記錄,則給出提示錯(cuò)誤信息,提示用戶重新輸入。主要代碼如下:public partial class Login : System.Web.UI.Page protected void LoginButton_Click(object sender, EventArgs e) if (rbtnStudent.Checked) Student student = new Student(); student.ValidStudentLogin(UserName.Text, Password.Text); if (rbtnTeacher.Checked) Teacher teacher = new Teacher(); teacher.ValidTeacherLogin(UserName.Text, Password.Text); if (rbtnDept.Checked) Department department = new Department(); department.ValidDepartMentLogin(UserName.Text, Password.Text); protected void btnClose_Click(object sender, EventArgs e) Response.Write("<script>window.close();history.go(-1)</script>"); 5.1.2 三級(jí)主界面實(shí)現(xiàn)首先判斷登錄用戶的級(jí)別,然后根據(jù)不同的級(jí)別權(quán)限轉(zhuǎn)入相應(yīng)的管理主界面,主要包括部門、教師以及學(xué)生三級(jí)。部門管理主界面如圖所示。部門管理相關(guān)代碼如下所示:using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using StudentManager.DBUtility;using StudentManager.IDAL;using StudentManager.Model;#region 數(shù)據(jù)訪問層namespace StudentManager.SQLServer #region 部門(學(xué)院,其他部門數(shù)據(jù)訪問層類體) / <summary> / 數(shù)據(jù)訪問層 / </summary> public class Department:SqlServerBaseDb,IDepartment #region 存儲(chǔ)過程參數(shù)常量 private const string DP_ID = "Dp_id" private const string DP_PWD="Dp_pwd" private const string DP_OLDPWD="Dp_oldpwd" private const string DP_NEWPWD="Dp_newpwd" private const string DP_RENEWPWD = "Dp_renewpwd" private const string DP_NAME="Dp_name" private const string DP_ADDRESS="Dp_address" private const string DP_TEL= "Dp_tel" private const string DP_REMARK= "Dp_remark" private const string CUR_DP_ID = "CurDp_id" private const string SP_ID="Sp_id" private const string SP_NAME="Sp_name" private const string SP_RENARK="Sp_remark" private const string SP_GRADE="Sp_grade" private const string OBJECT = "Object" private const string NUMBER = "Number" private const string NEWPWD = "Newpwd" private const string CL_ID = "Cl_id" private const string CB_ID = "Cb_id" #endregion #region 驗(yàn)證登陸 / <summary> / 驗(yàn)證登陸 / </summary> / <param name="dp_Id">部門ID</param> / <param name="dp_Pwd">密碼</param> / <returns>是否成功</returns> public bool ValidLogin(string dp_Id, string dp_Pwd) SqlParameter parms = MakeInParm(DP_ID,SqlDbType.Char,2,dp_Id), MakeInParm(DP_PWD,SqlDbType.VarChar,20,dp_Pwd) ; try return ExecProc("Valid_Dp_Login", parms) > 0 ? true : false; catch return false; #endregion #region 部門修改密碼 / <summary> / 部門修改密碼 / </summary> / <param name="dp_Id">ID</param> / <param name="dp_OldPwd">原密碼</param> / <param name="dp_NewPwd">新密碼</param> / <param name="dp_ReNewPwd">重復(fù)密碼</param> / <returns>返回值</returns> public int ChangePwd(string dp_Id, string dp_OldPwd, string dp_NewPwd, string dp_ReNewPwd) SqlParameter parms = MakeInParm(DP_ID,SqlDbType.VarChar,20,dp_Id), MakeInParm(DP_OLDPWD,SqlDbType.VarChar,20,dp_OldPwd), MakeInParm(DP_NEWPWD,SqlDbType.VarChar,20,dp_NewPwd), MakeInParm(DP_RENEWPWD,SqlDbType.VarChar,20,dp_ReNewPwd) ; try return ExecProc("Dp_ChangePwd", parms); catch return 0; #endregion #region 添加部門信息(包括學(xué)生信息) / <summary> / 添加部門信息(包括學(xué)生信息) / </summary> / <param name="dept">部門信息</param> / <returns></returns> public int AddDept(DepartmentInf dept) SqlParameter parms= MakeInParm(DP_ID,SqlDbType.Char,2,dept.Dp_Id), MakeInParm(DP_NAME,SqlDbType.VarChar,20,dept.Dp_Name), MakeInParm(DP_PWD,SqlDbType.VarChar,20,dept.Dp_Pwd), MakeInParm(DP_ADDRESS,SqlDbType.VarChar,30,dept.Dp_Address), MakeInParm(DP_TEL,SqlDbType.Char,11,dept.Dp_Tel), MakeInParm(DP_REMARK,SqlDbType.VarChar,600,dept.Dp_Remark) ; try return ExecProc("Add_Dept", parms); catch return 0; #endregion #region 添加專業(yè)信息 / <summary> / 添加專業(yè)信息 / </summary> / <param name="sp_Id">專業(yè)編號(hào)</param> / <param name="dp_Id">所屬學(xué)院</param> / <param name="sp_Name">專業(yè)名字</param> / <param name="sp_Remark">專業(yè)備注</param> / <param name="sp_Grade">專業(yè)所屬年級(jí)</param> / <returns></returns> public int AddSpeciality(string sp_Id, string dp_Id, string sp_Name, string sp_Remark, string sp_Grade) SqlParameter parms = MakeInParm(SP_ID,SqlDbType.Char,20,sp_Id), MakeInParm(DP_ID,SqlDbType.Char,2,dp_Id), MakeInParm(SP_NAME,SqlDbType.VarChar,40,sp_Name), MakeInParm(SP_RENARK,SqlDbType.VarChar,600,sp_Remark), MakeInParm(SP_GRADE,SqlDbType.Char,4,sp_Grade) ; try return ExecProc("Add_Speciality", parms); catch return 0; #endregion #region 綁定學(xué)院 / <summary> / 綁定學(xué)院 / </summary> / <returns></returns> public DataSet GetCollege() try return ExecProcDs("GetCollegeForBind", null); catch return null; #endregion #region 綁定所有學(xué)院信息 / <summary> / 綁定所有學(xué)院信息 / </summary> / <returns>學(xué)院信息列表</returns> public DataTable GetCollegeList() DataTable dtCollegeList = new DataTable(); try dtCollegeList = ExecProcDs("GetCollegeList", null).Tables0; catch return null; return dtCollegeList; #endregion #region 重置密碼 public int ResetPwd(string objectStr, string number, string pwd) SqlParameter parms = MakeInParm(OBJECT,SqlDbType.VarChar,20,objectStr), MakeInParm(NUMBER,SqlDbType.VarChar,20,number), MakeInParm(NEWPWD,SqlDbType.VarChar,20,pwd) ; try return ExecProc("ReSetPwd", parms); catch return -1; #endregion #region 刪除學(xué)院部門 / <summary> / 刪除學(xué)院部門 / </summary> / <returns></returns> public int DeleteDept(string CurDp_ID,string dp_ID) SqlParameter parms = MakeInParm(CUR_DP_ID,SqlDbType.Char,2,CurDp_ID), MakeInParm(DP_ID,SqlDbType.VarChar,2,dp_ID), ; try return ExecProc("Delete_College", parms); catch return 0; #endregion #region 刪除專業(yè) / <summary> / 刪除專業(yè) / </summary> / <returns></returns> public int DeleteSP(string CurDp_ID, string sp_ID) SqlParameter parms = MakeInParm(CUR_DP_ID,SqlDbType.Char,2,CurDp_ID), MakeInParm(SP_ID,SqlDbType.VarChar,20,sp_ID), ; try return ExecProc("Delete_Speciality", parms); catch return 0; #endregion #region 刪除班級(jí) / <summary> / 刪除班級(jí) / </summary> / <returns></returns> public int DeleteCL(string CurDp_ID, string cl_ID) SqlParameter parms = MakeInParm(CUR_DP_ID,SqlDbType.Char,2,CurDp_ID), MakeInParm(CL_ID,SqlDbType.VarChar,20,cl_ID), ; try return ExecProc("Delete_Class", parms); catch return 0; #endregion #region 刪除課程庫課程 / <summary> / 刪除課程庫課程 / </summary> / <returns></returns> public int DeleteCourseLib(string CurDp_ID, string cb_ID) SqlParameter parms = MakeInParm(CUR_DP_ID,SqlDbType.Char,2,CurDp_ID), MakeInParm(CB_ID,SqlDbType.VarChar,10,cb_ID), ; try return ExecProc("Delete_CourseLib", parms); catch return 0; #endregion #region 顯示學(xué)院詳細(xì)信息 / <summary> / 顯示學(xué)院詳細(xì)信息 / </summary> / <returns></returns> public DataSet DisplayDeptDetailsInf(stri

注意事項(xiàng)

本文(學(xué)籍管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)和技術(shù)專業(yè))為本站會(huì)員(文***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!