高校專業(yè)英語在線考試系統(tǒng)設(shè)計說明文檔_第1頁
高校專業(yè)英語在線考試系統(tǒng)設(shè)計說明文檔_第2頁
高校專業(yè)英語在線考試系統(tǒng)設(shè)計說明文檔_第3頁
高校專業(yè)英語在線考試系統(tǒng)設(shè)計說明文檔_第4頁
高校專業(yè)英語在線考試系統(tǒng)設(shè)計說明文檔_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、46/46摘要隨著現(xiàn)代計算機信息技術(shù)、互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,現(xiàn)代化的計算機技術(shù)與網(wǎng)絡(luò)技術(shù)已經(jīng)逐步開始深入應(yīng)用到各個領(lǐng)域。傳統(tǒng)考試需要老師編寫試卷、安排考試、安排監(jiān)考、收取試卷、評改試卷、講評試卷和分析試卷。這個過程漫長而復(fù)雜,已經(jīng)越來越不適合當(dāng)今現(xiàn)代教學(xué)的需要。隨著計算機及網(wǎng)絡(luò)技術(shù)的發(fā)展,計算機專業(yè)英語在線考試應(yīng)運而生。本系統(tǒng)采用ASP.NET 技術(shù)作為創(chuàng)建應(yīng)用程序的方式,以C#作為編程語言,采用SQL Server 數(shù)據(jù)庫作為后臺數(shù)據(jù)庫。它是基于Browser/Server結(jié)構(gòu)下形成的數(shù)據(jù)驅(qū)動的Web應(yīng)用程序。遵循了軟件工程方法論進行系統(tǒng)分析、總體設(shè)計、詳細設(shè)計和軟件測試。實現(xiàn)了試題庫管理、

2、試卷生成、評卷管理、成績管理等功能。關(guān)鍵詞: 軟件工程;C#;ASP.NET;考試系統(tǒng)AbstractWith the rapid development of modern computer information technology, Internet technology, modern computer technology and network technology has gradually begun in-depth applied to various fields. Traditional test requires teachers to write papers,

3、examination arrangements, arrangements for examiners to collect papers, marking papers, critique papers and analysis papers. This process is long and complex, has less and less suitable for the needs of todays modern teaching. With the development of computer and network technology, Computers online

4、 exam came into being. The system uses ASP.NET technology as a way to create applications to C # as a programming language, using the SQL Server database as the backend database. It is based on the data under the Browser / Server structure formation driven Web applications. Follow the software engin

5、eering methodology for system analysis, design, detailed design, and software testing. Achieve a test library management, paper production, marking management, performance management and other functions. Keywords: software engineering; C #; ASP.NET; examination system目錄 TOC o 1-3 h z u HYPERLINK l _

6、Toc388567048 1 概述 PAGEREF _Toc388567048 h 4 HYPERLINK l _Toc388567049 1.1 開發(fā)背景 PAGEREF _Toc388567049 h 4 HYPERLINK l _Toc388567050 1.2 項目提出的意義 PAGEREF _Toc388567050 h 4 HYPERLINK l _Toc388567051 1.3 課題研究現(xiàn)狀 PAGEREF _Toc388567051 h 5 HYPERLINK l _Toc388567052 1.4 初步設(shè)計方法與實施方案 PAGEREF _Toc388567052 h 5

7、HYPERLINK l _Toc388567053 2 系統(tǒng)開發(fā)環(huán)境介紹 PAGEREF _Toc388567053 h 6 HYPERLINK l _Toc388567054 2.1 ASP.NET 簡介 PAGEREF _Toc388567054 h 6 HYPERLINK l _Toc388567055 2.2 .NET Framework PAGEREF _Toc388567055 h 6 HYPERLINK l _Toc388567056 2.3 C#介紹 PAGEREF _Toc388567056 h 7 HYPERLINK l _Toc388567057 2.4 SQL Serv

8、er數(shù)據(jù)庫簡介 PAGEREF _Toc388567057 h 8 HYPERLINK l _Toc388567058 2.5 B/S架構(gòu) PAGEREF _Toc388567058 h 8 HYPERLINK l _Toc388567059 3 系統(tǒng)分析 PAGEREF _Toc388567059 h 12 HYPERLINK l _Toc388567060 3.1 可行性分析 PAGEREF _Toc388567060 h 12 HYPERLINK l _Toc388567061 3.2 系統(tǒng)需求分析 PAGEREF _Toc388567061 h 13 HYPERLINK l _Toc3

9、88567062 3.3 系統(tǒng)重要流程 PAGEREF _Toc388567062 h 13 HYPERLINK l _Toc388567063 4 系統(tǒng)總體設(shè)計 PAGEREF _Toc388567063 h 15 HYPERLINK l _Toc388567064 4.1 系統(tǒng)結(jié)構(gòu)圖 PAGEREF _Toc388567064 h 15 HYPERLINK l _Toc388567065 4.2 數(shù)據(jù)庫總體設(shè)計 PAGEREF _Toc388567065 h 16 HYPERLINK l _Toc388567066 4.2.1 用戶個人信息設(shè)計 PAGEREF _Toc388567066

10、h 16 HYPERLINK l _Toc388567067 4.2.2 數(shù)據(jù)庫中表的設(shè)計 PAGEREF _Toc388567067 h 16 HYPERLINK l _Toc388567068 4.2.3 數(shù)據(jù)庫邏輯設(shè)計ER圖 PAGEREF _Toc388567068 h 17 HYPERLINK l _Toc388567069 5 詳細設(shè)計 PAGEREF _Toc388567069 h 19 HYPERLINK l _Toc388567070 5.1 數(shù)據(jù)庫連接設(shè)計 PAGEREF _Toc388567070 h 19 HYPERLINK l _Toc388567071 5.2 登錄

11、模塊詳細設(shè)計 PAGEREF _Toc388567071 h 19 HYPERLINK l _Toc388567072 5.3 功能模塊實現(xiàn) PAGEREF _Toc388567072 h 21 HYPERLINK l _Toc388567073 5.3.1 試題庫管理模塊實現(xiàn) PAGEREF _Toc388567073 h 21 HYPERLINK l _Toc388567074 5.3.2 試卷生成功能實現(xiàn) PAGEREF _Toc388567074 h 23 HYPERLINK l _Toc388567075 5.3.3 評卷管理功能實現(xiàn) PAGEREF _Toc388567075 h

12、30 HYPERLINK l _Toc388567076 5.3.4 成績管理功能實現(xiàn) PAGEREF _Toc388567076 h 30 HYPERLINK l _Toc388567077 6 軟件測試 PAGEREF _Toc388567077 h 36 HYPERLINK l _Toc388567078 6.1 軟件測試的意義 PAGEREF _Toc388567078 h 36 HYPERLINK l _Toc388567079 6.2 軟件測試的重要性 PAGEREF _Toc388567079 h 36 HYPERLINK l _Toc388567080 6.3 軟件測試的范圍

13、PAGEREF _Toc388567080 h 37 HYPERLINK l _Toc388567081 6.4 軟件測試的方法 PAGEREF _Toc388567081 h 37 HYPERLINK l _Toc388567082 6.5 軟件測試的目的和原則 PAGEREF _Toc388567082 h 37 HYPERLINK l _Toc388567083 5.4測試用例 PAGEREF _Toc388567083 h 38 HYPERLINK l _Toc388567084 7 結(jié)束語 PAGEREF _Toc388567084 h 41 HYPERLINK l _Toc3885

14、67085 參考文獻 PAGEREF _Toc388567085 h 42 HYPERLINK l _Toc388567086 致 謝 PAGEREF _Toc388567086 h 441 概述1.1 開發(fā)背景隨著現(xiàn)代計算機信息技術(shù)、互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,現(xiàn)代化的計算機技術(shù)與網(wǎng)絡(luò)技術(shù)已經(jīng)逐步開始深入應(yīng)用到各個領(lǐng)域1。傳統(tǒng)考試需要老師編寫試卷、安排考試、安排監(jiān)考、收取試卷、評改試卷、講評試卷和分析試卷。這個過程漫長而復(fù)雜,已經(jīng)越來越不適合當(dāng)今現(xiàn)代教學(xué)的需要。隨著計算機及網(wǎng)絡(luò)技術(shù)的發(fā)展,計算機專業(yè)英語在線考試應(yīng)運而生。 計算機專業(yè)英語在線考試課題產(chǎn)生的背景是當(dāng)今教育信息化的趨勢及我國高校教育信息

15、化系統(tǒng)的建設(shè);是為了充分利用學(xué)?,F(xiàn)有的計算機軟、硬件資源和網(wǎng)絡(luò)資源實現(xiàn)無紙化考試,以避免傳統(tǒng)考試的不足。本課題使用B/S架構(gòu)來開發(fā)淮陰工學(xué)院計算機英語在線考試,該系統(tǒng)中包含了:學(xué)生端和教師端。我所負責(zé)的是教師端的設(shè)計與實現(xiàn),該子系統(tǒng)包括如下功能:“試卷生成”、“成績管理”、“試題庫管理”、“答案管理”。網(wǎng)絡(luò)考試系統(tǒng)是傳統(tǒng)考場的延伸,它可以利用網(wǎng)絡(luò)的無限廣闊空間,隨時隨地的對學(xué)生進行考試,加上Web數(shù)據(jù)庫技術(shù)的利用,大大簡化了傳統(tǒng)考試的過程。通過網(wǎng)絡(luò)來實現(xiàn)網(wǎng)上在線考試,是當(dāng)今現(xiàn)代教育科技的一個具體實現(xiàn),有著重要的現(xiàn)實意義。1.2 項目提出的意義課題目的:用信息化的方式實現(xiàn)學(xué)生計算機專業(yè)英語計算機

16、專業(yè)英語在線考試系統(tǒng),把試題、電腦閱卷、成績查詢的部分管理工作集成到一個統(tǒng)一的平臺,各管理者相互配合、分工協(xié)作,確保及時了解學(xué)生在校學(xué)習(xí)情況。以減輕教師的工作負擔(dān),提高教師的工作效率,激發(fā)學(xué)生對學(xué)習(xí)興趣。課題意義:1)將教師從繁重的出卷、閱卷、評卷的工作中解脫出來,大幅度提高教師的工作效率,減少人為主觀意向?qū)W(xué)生成績的影響,有效提高教育質(zhì)量。2)學(xué)生在平時的學(xué)習(xí)中,及時的在網(wǎng)上進行自我測試,在學(xué)習(xí)上 能夠查缺補漏,激發(fā)學(xué)生的學(xué)習(xí)興趣,為學(xué)生的學(xué)習(xí)帶來更多的方便。 3)系統(tǒng)實現(xiàn)自動組卷、自動評分,使在線考試做到正真的公平、客觀、公正,實現(xiàn)考教分離。1.3 課題研究現(xiàn)狀隨著教育信息化的推進,計算機

17、專業(yè)英語在線考試系統(tǒng)技術(shù)也在不斷的發(fā)展。國內(nèi)外很多專門的考試機構(gòu)均采用計算機輔助測試來進行測評。例如,國際上CISCO的CCNA、CCNP;微軟的MCSE、MDBA;SUN的Java、SolarisUNIX;HP的IT等各類信息技術(shù)認證考試。這些信息技術(shù)網(wǎng)絡(luò)計算機專業(yè)英語在線考試系統(tǒng)具有使用方便、安全可靠、題庫量大、自動組卷、界面友好、適應(yīng)個性等特點。多年來在業(yè)界具有深遠影響。在我國,近幾年隨著國家的大力推廣,計算機信息化普及程度也在大大提高。而在教委考試管理中心的推動下,計算機考試系統(tǒng)的理論研究和實踐活動也開始蓬勃發(fā)展。在1993年的“上海市計算機應(yīng)用能力考核(初級)”的考試中已開始嘗試這種

18、新穎的考試方法。當(dāng)時是在DOS系統(tǒng)下的應(yīng)用程序,由于功能較少。隨著操作系統(tǒng)由DOS向Windows的升級,應(yīng)用程序成功地升級到基于Windows平臺3。從考試系統(tǒng)結(jié)構(gòu)模式來劃分,主要有以下兩種結(jié)構(gòu):C/S結(jié)構(gòu),基于Cliend/Server(客戶端/服務(wù)器)結(jié)構(gòu)的考試系統(tǒng),在每臺計算機(客戶端)需要安裝必要的客戶端軟件才能與服務(wù)器端相互通信。因此其在發(fā)布、移植、維護、管理相對較復(fù)雜,靈活性較差。B/S結(jié)構(gòu),基于B/S結(jié)構(gòu)的考試系統(tǒng),每臺計算機(客戶端)使用通用的瀏覽器訪問服務(wù)器上的考試系統(tǒng),所有操作在服務(wù)器端完成,考試結(jié)果保存在服務(wù)器上4。國外在線考試系統(tǒng)的研究處于領(lǐng)先水平,而我國在這一領(lǐng)域也

19、取得了一定的成果。王邯等為計算機水平考試中普遍采用的程序填空類試題,探討計算機程序自動糾正填空題實現(xiàn)的設(shè)計。該系統(tǒng)的基本思想是匹配學(xué)生答案與標準答案是否語義相符。雖然系統(tǒng)基本實現(xiàn)了自動批改填空題,但問題在于主觀題的批改會帶來歧義。因為計算機編寫的程序設(shè)計語言書寫的語句或表達式跟自然語言語法相比規(guī)則嚴格且無歧義,所以主觀題不適合基于計算機的程序設(shè)計語言來批改。李輝陽等研究了有限領(lǐng)域中簡述文字的自動判讀問題,提出以基于關(guān)系的帶權(quán)匹配技術(shù)來實現(xiàn)計算機輔助教學(xué)中的簡單論述正誤的判定。該系統(tǒng)在一定程度上模擬了老師閱卷過程,針對計算機自動批改簡述題、簡答題、列舉題等主觀題有相當(dāng)大的借鑒意義。針對當(dāng)今高校對

20、在線考試的重視程度,以及如今在線考試系統(tǒng)的完善程度,和學(xué)校考試部門的一些聯(lián)系,認為計算機專業(yè)英語在線考試系統(tǒng)值得開發(fā)推廣。1.4 初步設(shè)計方法與實施方案軟件體系結(jié)構(gòu)方案:采用B/S模式。B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))即瀏覽器服務(wù)器結(jié)構(gòu)。采用B/S結(jié)構(gòu)是因為該結(jié)構(gòu)在功能拓展和維護方面簡單、方便,只需要增加或更改網(wǎng)頁,并且B/S結(jié)構(gòu)是以瀏覽為主,錄入簡單。而汽車銷售系統(tǒng)網(wǎng)站就是通過web瀏覽器訪問,選用B/S模式最為合適。操作系統(tǒng)方案:Windows 7(旗艦版)操作系統(tǒng),該系統(tǒng)可以兼容需要的軟件,并且具有良好的運行速度,界面良好。后臺數(shù)據(jù)庫:選用Microsoft SQL Ser

21、ver 2005。由于涉及汽車、客戶等信息,數(shù)據(jù)量巨大且復(fù)雜,故選用SQL Server數(shù)據(jù)庫。并且該數(shù)據(jù)庫具有良好的安全性。開發(fā)工具:選用Microsoft Visual Studio 2005。因為該系統(tǒng)受眾為前臺用戶和后臺管理員兩個方面,需要利用網(wǎng)絡(luò)登錄編輯信息,故利用該軟件開發(fā)。開發(fā)語言:C#語言。開發(fā)技術(shù):ASP.NET技術(shù)。2 系統(tǒng)開發(fā)環(huán)境介紹2.1 ASP.NET 簡介ASP.Net2.0是把基于通用語言的程序在服務(wù)器上運行。不像以前的ASP即時解釋程序,而是將程序在服務(wù)器端首次運行時進行編譯。ASP.Net2.0構(gòu)架是可以用Microsoft(R)公司最新的產(chǎn)品 Visual

22、S開發(fā)環(huán)境進行開發(fā),WYSIWYG(What You See Is What You Get所見即為所得)的編輯。這些僅是ASP.Net2.0強大化軟件支持的一小部分。因為ASP.Net2.0是基于通用語言的編譯運行的程序,所以它的強大性和適應(yīng)性,可以使它運行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.Net2.0的Web應(yīng)用中。ASP.Net2.0同時也是language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#(C+和Java的結(jié)

23、合體),VB,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.Net2.0。ASP.NET的優(yōu)點主要體現(xiàn)在效率高、可重用性高、代碼量少這三方面。在使用ASP進行程序設(shè)計的時候,由于ASP使用的是腳本語言,所有的代碼都嵌入到HTML代碼中,所以當(dāng)編制功能復(fù)雜的網(wǎng)頁時,就需要編寫大量的代碼,而且會導(dǎo)致程序代碼的可讀性差的問題。另外,由于所有的代碼都是解釋執(zhí)行的,所以相對速度較慢,并且無法有效地利用機器硬件的各種性能。ASP.NET與ASP相比較效率更高,提供了很高的可重用性,對于實現(xiàn)同樣功能的程序,ASP.NET使用的代碼量比ASP

24、要少得多。ASP.NET采用全新的編程環(huán)境,代表了技術(shù)發(fā)展的主流方向。2.2 .NET Framework.NET Framework是.NET戰(zhàn)略的核心。.NET Framework分為以下幾個部分:MS中間語言、CLR、.NET Framework類庫、.NET語言、ASP.NET和Web服務(wù)。MS中間語言是.NET的通用語言。無論使用哪一種.NET語言編寫的程序代碼,在執(zhí)行之前,都會把它編譯成為MS中間語言。CLR(Common Language Runtime,公共語言運行時刻庫)用于執(zhí)行MS中間語言。.NET Framework類庫中包含了大量可以實現(xiàn)重要功能的代碼庫。用戶在編寫程序

25、的時候可以很方便地把這些庫調(diào)用到應(yīng)用程序中,實現(xiàn)更加復(fù)雜的功能。由于這些類庫的存在,使得編寫功能強大的程序更加容易。.NET語言是指可以將使用其編寫的代碼編譯成為MS中間語言的的編程語言。常見的語言有VB.NET和C#等。Web服務(wù)是指可以通過Web訪問的組件。 2.3 C#介紹C#是.NET的關(guān)鍵性語言,c#是一種簡單的,類型安全的,現(xiàn)代的,和面向?qū)ο蟮某绦蜷_發(fā)語言。C#使用了很多C+的功能,如語句,表達式和操作符,另外C#參考了許多Java的技術(shù)規(guī)則。C#使用命名空間來組織,不同的命名空間可以包含不同類的相同名字,降低了名字的沖突性。C#有一個虛擬機(CLR)-公用語言運行環(huán)境,其對象具有

26、層次性。C# 與Windows的體系結(jié)構(gòu)相似,可以使用全部的Win32 API,因而是C#很容易被開發(fā)人員所熟悉。使用c#語言設(shè)計的組件能夠用于Web服務(wù),通過Internet可以被運行于任何操作系統(tǒng)上任何編程語言所調(diào)用。C#是專門為.NET應(yīng)用而開發(fā)出的語言,他具有語法簡潔,面向?qū)ο?,面向Web,功能強大,靈活性與兼容性,完整的安全性與錯誤處理等特點。 語法簡潔C#的代碼沒有了指針和關(guān)鍵字(如OLE_COLOR,VARIANT_BOOL,DISPID_XXXXX等)使用起來很方便。 面向?qū)ο驝#是面向?qū)ο蟮恼Z言,所以具有封裝性,多態(tài)性和單繼承性。C#中常量和變量還有函數(shù)等被封裝在類中,提高了

27、代碼的可讀性,降低了沖突。 面向WebC#可以將大多數(shù)組件轉(zhuǎn)換為Web服務(wù),并允許他們通過Internet被運行在任何操作系統(tǒng)上的任何語言所調(diào)用。 功能強大C#可以開發(fā)控制程序,圖形程序NT服務(wù)程序,普通組件,Web組件,Web頁面,Web服務(wù)等 靈活性和兼容性C#是一種既靈活又高效的開發(fā)語言,為開發(fā)人員提供了靈活而快速的開手段,C#遵守.NET公用語言規(guī)范,保證了C#組件與其它語言組件之間的相互操作。2.4 SQL Server數(shù)據(jù)庫簡介SQL Server 2005 是建立在SQL Server 7.0 在可伸縮性、可用性、可管理性和數(shù)據(jù)倉庫成功的基礎(chǔ)上,并且引入了針對電子商務(wù)的重要新功能

28、。在高性能和企業(yè)級可伸縮性領(lǐng)域,SQL Server 2005 設(shè)計成利用Windows2005 對更多處理器、更大的系統(tǒng)內(nèi)存的支持,最終達到支持64 位硬件平臺。在不斷提升可用性的努力過程中,SQL Server 2005 采用Windows 2005 四路群集,提供了大大改進的群集支持。SQL Server 7.0 已經(jīng)在可管理性和易用性方面在行業(yè)內(nèi)領(lǐng)先,SQL Server 2005 通過與Windows 2005 活動目錄緊密結(jié)合進一步改進了這些功能。而且,SQL Server 2005 還包含對現(xiàn)有管理工具和實用程序的重大改進,并引入更具自我調(diào)節(jié)和自我管理的引擎功能。SQL Serv

29、er 2005 按照設(shè)計可以為部署和維護強大的、易于管理、支持商務(wù)活動的Web 站點提供最好的性能,這些站點可以從事商家和商家之間或商家與客戶之間的交易。在尋求一個支持您的電子商務(wù)解決方案的數(shù)據(jù)庫時,需要考慮的項目包括:可用性、性能、可管理性和價格 SQL Server為用戶提供了完整的數(shù)據(jù)庫解決方案,該軟件功能強大、使用方便,已為越來越多的人所信賴。SQL Server支持并發(fā)連接,允許多個用戶同時訪問數(shù)據(jù),完全能夠滿足用戶的需求。SQL提供了強大的數(shù)據(jù)存儲功能,高效率的數(shù)據(jù)查詢技術(shù)、方便易用的向?qū)Ш凸ぞ?,友好親切的用戶界面,是制作該系統(tǒng)后臺的很好的UY工具。 SQL Server 特點 真

30、正的客戶機/服務(wù)器體系結(jié)構(gòu)。豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地。 SQL Server與Windows NT完全集成,利用了NT的許多功能. SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。 SQL Server 具有很好的伸縮性,提供數(shù)據(jù)倉庫功能。 對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上 ,圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。2.5 B/S架構(gòu)B/S 結(jié)構(gòu)是 Browser/Server 的縮寫,漢語中指的是瀏覽器以及服務(wù)器結(jié)構(gòu)。B/S的基礎(chǔ)是 C/S,經(jīng)過對 C/S 的修改、升級

31、得到的。在 B/S 下,具有三層結(jié)構(gòu):首先,用戶的操作界面通過瀏覽器實現(xiàn);其次,大部分事務(wù)邏輯的實現(xiàn)基于服務(wù)器端;最后,少部分的事務(wù)邏輯的實現(xiàn)由前端完成。采用這種結(jié)構(gòu),不但使整體成本下降,而且將電腦的負載大大降低,從而減少工作量與工作強度。在現(xiàn)階段,采用B/S 模式結(jié)構(gòu),是很容易實現(xiàn)的。這種技術(shù)屬于一次性開發(fā),允許不同的工作人員從不同的地點,以不同的接入方式,隨時隨地的對數(shù)據(jù)庫進行管理,還能有效的保護數(shù)據(jù)平臺和管理訪問權(quán)限,保證有關(guān)數(shù)據(jù)的安全。圖2-2 B/S架構(gòu)B/S 架構(gòu)軟件的優(yōu)點和缺點(1) 容易,升級方便。隨著技術(shù)的進步,一般來講,對于軟件的修改原來越多,軟件的升級周期越來越短。而采用

32、 B/S 結(jié)構(gòu)就能夠很容易避免這方面的麻煩。對于一般的結(jié)構(gòu)而言,在一個企業(yè)中,若電腦數(shù)量較多,維修人員會因維修與軟件升級而來會奔波,工作強度極其巨大。而對于采用 B/S 結(jié)構(gòu)的軟件來講,由于客戶端(電腦)僅起到瀏覽器的作用,因此維修人員只需要維護好服務(wù)器就可以了。無論客戶端多么龐大,都絲毫不會增加工作強度。另外,B/S 結(jié)構(gòu)支持異地協(xié)助,可以實現(xiàn)異地的軟件升級、維護。采用 B/S 結(jié)構(gòu)會大大降低所需的人力物力,從而提升工作效率。(2) 低成本,更多的選擇。由于最常使用的操作系統(tǒng)是 windows,因此瀏覽器似乎成了必不可少的。然而在服務(wù)器操作系統(tǒng)競爭中,微軟公司的產(chǎn)品未必是最好的。現(xiàn)在逐漸形成

33、新的模式,即用 B/S 結(jié)構(gòu)與 Linux 服務(wù)器進行匹配,這樣帶來的好處是更為安全可靠,另外還有一點非常重要,即 Linux 的數(shù)據(jù)庫也是不收費的。這也說明了 B/S 結(jié)構(gòu)對操作系統(tǒng)的選擇不唯一,而是支持多種操作系統(tǒng)的。(3) 應(yīng)用服務(wù)器的運行數(shù)據(jù)負荷重。根據(jù)分析我們知道,B/S 的三層結(jié)構(gòu)分工明確,即絕大多數(shù)的事務(wù)邏輯由服務(wù)器端處理,另外客戶端只起到瀏覽器的作用。這樣雖然優(yōu)勢很多,但是也具有一定的缺點:即應(yīng)用服務(wù)器上的負荷比較大,若服務(wù)器稍微出現(xiàn)問題,就會導(dǎo)致非常嚴重的后果,為了避免這種現(xiàn)象的出現(xiàn),一般采取保護措施配備專門的數(shù)據(jù)庫服務(wù)器。2. C/S 與 B/S 結(jié)構(gòu)在技術(shù)上的比對C/S

34、結(jié)構(gòu)軟件客戶機/服務(wù)器模式可以分為兩層:首先是客戶機,其次是服務(wù)器。客戶機不但承擔(dān)著對數(shù)據(jù)的輸入、輸出,而且在一定程度上要對相關(guān)數(shù)據(jù)進行處理、分析,還要對數(shù)據(jù)進行判斷,合理分配,從而將通信的數(shù)據(jù)量、服務(wù)器上進行的計算量進行減輕。然而,服務(wù)器在連接數(shù)量上一級通信信息量上不是沒有上限的,所以 C/S 結(jié)構(gòu)僅適用于連接量較小的情況,比如財務(wù)軟件等。B/S瀏覽器/服務(wù)器模式是在 C/S 的基礎(chǔ)上發(fā)展起來的,要想完成軟件應(yīng)用業(yè)務(wù)的處理,僅需通過瀏覽器就能很容易的實現(xiàn),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。采用 B/S 結(jié)構(gòu)是今后的趨勢,一般來講,e 通管理軟件就采用了 B/S 結(jié)構(gòu)。(1) 在數(shù)據(jù)安全性方面的對

35、比。對于采用 C/S 結(jié)構(gòu)的軟件而言,C/S 的結(jié)構(gòu)決定了要求在各地都安裝服務(wù)器,還要實現(xiàn)服務(wù)器間的數(shù)據(jù)同步,一旦某一點出現(xiàn)安全問題,勢必造成整個系統(tǒng)的安全受到嚴重影響。因此,C/S 結(jié)構(gòu)不適用于服務(wù)器較多的類型。而采用 B/S 結(jié)構(gòu)恰恰可避免這一缺點,因為 B/S 結(jié)構(gòu)的數(shù)據(jù)存放在專門的服務(wù)器內(nèi),客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,并且無需數(shù)據(jù)同步,因此不存在安全上的問題。(2)在數(shù)據(jù)實時性上的對比。由于 C/S 結(jié)構(gòu)無法保證隨時隨地的看到當(dāng)前業(yè)務(wù)發(fā)生情況,因此得到的都是已經(jīng)存在的數(shù)據(jù),不是即時數(shù)據(jù)。而 B/S 結(jié)構(gòu)則可以得到當(dāng)前發(fā)生所有業(yè)務(wù)的實時數(shù)據(jù),可以以此進行即時決策,有效地避免

36、了企業(yè)的損失。(3) 在數(shù)據(jù)一致性上的對比。要實現(xiàn)異地經(jīng)營,對于 C/S 結(jié)構(gòu)軟件,需要安裝區(qū)域級服務(wù)器,并實現(xiàn)數(shù)據(jù)上的同步,在服務(wù)器完成同步后總部才能得到最終數(shù)據(jù)。首先這就要求所以的服務(wù)器必須正常運行,其次由于存在的微小差異,在理論上無法實現(xiàn)數(shù)據(jù)同步。而采用 B/S 結(jié)構(gòu),這種結(jié)構(gòu)的數(shù)據(jù)屬于集中存放,無不同步問題,數(shù)據(jù)始終一致。(4)在服務(wù)響應(yīng)及時性方面的對比。企業(yè)的業(yè)務(wù)流程、業(yè)務(wù)模式不是一成不變的,由于要適應(yīng)市場的需求,這就要求企業(yè)要實時進行調(diào)整、改革,業(yè)務(wù)的流程也在發(fā)生大大小小的變化,為了使企業(yè)正常運行,就必須對相關(guān)軟件進行即時更新、維護。對于采用 C/S 結(jié)構(gòu)的軟件,由于所有的客戶端都

37、需要進行更新、維護,因此工作量巨大,很難做到所有的程序版本一致,所需要很長的時間重新部署。而對于采用 B/S 結(jié)構(gòu)一類軟件,服務(wù)器的作用與瀏覽器相當(dāng),所以軟件的更新、維護只需在總部進行即可,大大節(jié)省了時間,很容易實現(xiàn)版本的一致性。(5)在數(shù)據(jù)溯源性上的比對。對于 C/S 結(jié)構(gòu),由于數(shù)據(jù)不是采用集中存放模式,僅僅上傳中間報表數(shù)據(jù),因此很難查找原始數(shù)據(jù)的出處。而我們知道在 B/S 結(jié)構(gòu)中,數(shù)據(jù)屬于集中存放,因此便于總部對數(shù)據(jù)的來源進行查詢,可以很詳細地查詢所有原始數(shù)據(jù)的來源。(6)在網(wǎng)絡(luò)應(yīng)用限制上的對比。采用 C/S 結(jié)構(gòu)的軟件對網(wǎng)絡(luò)要求較高:適用于局域網(wǎng)以及寬帶(要求帶寬不低于 1 兆)。對于采

38、用 B/S 結(jié)構(gòu)的軟件而言,對網(wǎng)絡(luò)要求很低,適應(yīng)范圍很廣,甚至可以不采用寬帶。3 系統(tǒng)分析3.1 可行性分析在實施一個項目之前,首先要對將要實施的項目進行可行性分析,確定項目是否值得進行。并不是所有的問題都有簡單明顯的解決辦法,事實上,許多問題不可能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。如果問題沒有可行解的話,那么花費在這項工程上的任何時間、資源、人力和經(jīng)費都是浪費的??尚行苑治龅哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題能否解決??尚行匝芯康哪康牟皇墙鉀Q問題,而是確定問題是否值得去解。如果是正確的就加以肯定。可行性分析的實現(xiàn),不能靠主觀猜想,只能客觀分析達到這個目的,所以就必須分析幾種方法解決可能的

39、弊端,從而判斷原定的系統(tǒng)目標和規(guī)模是否實現(xiàn),系統(tǒng)完成后所能帶來的價值是否大于開發(fā)這個系統(tǒng)的投資價值。因此,可行性研究實質(zhì)上是要進行一次大大的壓縮簡化了系統(tǒng)分析和設(shè)計的過程。我們應(yīng)該給出系統(tǒng)的邏輯模型,然后從系統(tǒng)邏輯模型出發(fā),尋找可供選擇的解法,研究每一種解法的可行性。一般說來,應(yīng)從技術(shù)可行性、經(jīng)濟可行性、操作可行性等方面進行研究。技術(shù)可行性是最難決斷和最關(guān)鍵的問題。根據(jù)客戶提出的系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各項約束條件,從技術(shù)的角度研究系統(tǒng)實現(xiàn)的可行性。本系統(tǒng)采用的是.NET家族的ASP.NET技術(shù)和ADO.NET 技術(shù)。眾所周知,.NET現(xiàn)在已經(jīng)日趨成熟、穩(wěn)定,被認為是計算機領(lǐng)域最有前途的技術(shù)

40、之一。同時數(shù)據(jù)庫采用的是SQL Server 2005,繼SQL Server 2000之后的SQL Server 2005 更加可視化、穩(wěn)定化,并且安全化。將ASP.NET,ADO.NET以及SQL Server 2005結(jié)合起來開發(fā)一套家具企業(yè)網(wǎng)站系統(tǒng),必定是可行并且高效的。經(jīng)濟可行性研究主要進行成本效益分析,包括估計項目的開發(fā)成本,估算開發(fā)成本是否會高于項目預(yù)期的全部利潤。看軟件所能帶來的經(jīng)濟效益與開發(fā)設(shè)計所需要的投資相比,是否相適宜,同時還要看此軟件能否真正給用戶帶來足夠的經(jīng)濟效益,我們開的這套系統(tǒng)正是考慮為用戶提高工作效率,節(jié)省工作時間,方便操作與管理而設(shè)計。本系統(tǒng)的開發(fā)在經(jīng)濟上是完

41、全可行的。開發(fā)此軟件不需要大量的經(jīng)費,而且是個人獨立設(shè)計的,可以節(jié)省許多費用,同時也可提高個人的實際動手能力。由于現(xiàn)在的科技的飛速發(fā)展,計算機早已普及世界的方方面面,便利的科技條件,給人們帶來優(yōu)越的工作環(huán)境,這也使人們對工作效率及可操作性都有了更高的要求。因此,管理形式的計算機是社會發(fā)展的必然趨勢,各種智能化的軟件層出不窮,減少了原來人工操作的費時費力的狀況,從而提高了工作效率和準確度。本系統(tǒng)用戶平臺直接面向管理員和普通用戶,界面簡單、明了,采用可視化界面,普通用戶只需用鼠標和鍵盤就可以查看信息;多數(shù)的數(shù)據(jù)輸入與數(shù)據(jù)維護是由管理員完成的。由于該系統(tǒng)的操作簡便、易懂,對于初次使用此系統(tǒng)的用戶,不

42、必經(jīng)過復(fù)雜的培訓(xùn)和學(xué)習(xí)就可以掌握系統(tǒng)的操作流程。由此可見,開發(fā)此軟件在操作上是可行的。3.2 系統(tǒng)需求分析該系統(tǒng)是專門用于在線考試、登錄、試題查詢和自動組卷的應(yīng)用web程序。它應(yīng)該具有開放性、方便性和靈活性。本系統(tǒng)主要分為教師、管理員、學(xué)生三個角色,不同的角色擁有不同的功能。教師可以輕松地向題庫添加、修改和刪除試題。實現(xiàn)了試題庫管理、試卷生成、評卷管理、成績管理等功能。其中試題庫管理模塊包括選擇題、填空題、判斷題、翻譯題、專業(yè)作文等功能子模塊;成績管理模塊包括成績查看、成績統(tǒng)計、成績排序等功能子模塊。管理員登錄系統(tǒng)實現(xiàn)了用戶管理和退出系統(tǒng)功能,其他用戶管理模塊包括教師管理、學(xué)生管理兩部分功能子

43、模塊。學(xué)生登錄系統(tǒng)實現(xiàn)了我的考試、我的賬戶等功能模塊,其中我的考試模塊包括參加考試、歷史考試、我的成績、痕跡保留等功能子模塊;我的賬戶模塊包括個人資料、修改密碼兩個功能子模塊。3.3 系統(tǒng)重要流程系統(tǒng)登錄模塊的流程圖如圖3.1。圖3.1系統(tǒng)登錄流程圖學(xué)生考試的流程圖如圖3.2。圖3.2 學(xué)生考試流程圖4 系統(tǒng)總體設(shè)計4.1 系統(tǒng)結(jié)構(gòu)圖該系統(tǒng)是專門用于在線考試、登錄、試題查詢和自動組卷的應(yīng)用web程序。它應(yīng)該具有開放性、方便性和靈活性。本系統(tǒng)主要分為教師、管理員、學(xué)生三個角色,不同的角色擁有不同的功能。教師可以輕松地向題庫添加、修改和刪除試題。實現(xiàn)了試題庫管理、試卷生成、評卷管理、成績管理等功能

44、。其中試題庫管理模塊包括選擇題、填空題、判斷題、翻譯題、專業(yè)作文等功能子模塊;成績管理模塊包括成績查看、成績統(tǒng)計、成績排序等功能子模塊。管理員登錄系統(tǒng)實現(xiàn)了用戶管理和退出系統(tǒng)功能,其他用戶管理模塊包括教師管理、學(xué)生管理兩部分功能子模塊。學(xué)生登錄系統(tǒng)實現(xiàn)了我的考試、我的賬戶等功能模塊,其中我的考試模塊包括參加考試、歷史考試、我的成績、痕跡保留等功能子模塊;我的賬戶模塊包括個人資料、修改密碼兩個功能子模塊。網(wǎng)絡(luò)考試系統(tǒng)的結(jié)構(gòu)圖如下:圖3.1 系統(tǒng)結(jié)構(gòu)圖4.2 數(shù)據(jù)庫總體設(shè)計詳細設(shè)計是整個設(shè)計過程中,最重要的步驟之一。下面就分如下幾個部分對系統(tǒng)進行詳細設(shè)計:(1) 用戶個人信息設(shè)計(2)數(shù)據(jù)庫中表的

45、設(shè)計(3)數(shù)據(jù)庫邏輯ER圖設(shè)計(4)功能模塊的詳細設(shè)計(5)主要模塊的流程圖顯示。4.2.1 用戶個人信息設(shè)計用戶個人信息設(shè)計,首先應(yīng)該實現(xiàn)用戶名和密碼的設(shè)計。用戶名要求不能為空、重復(fù),密碼輸入的兩次信息應(yīng)該一致,然后應(yīng)該實現(xiàn)用戶名密碼的修改,最后要求管理員對用戶的維護操作。4.2.2 數(shù)據(jù)庫中表的設(shè)計數(shù)據(jù)庫部分表如下所示:序號字段名標識主鍵類型1Idint2XzScorefloat4PdScorefloat5FyScorefloat6ZwScorefloat7TkScorefloat8ZScorefloat9SjI10SjNamenvarchar11StuIdnvarchar12StuNam

46、envarchar序號字段名標識主鍵類型1Idint2Namenvarchar3Namenvarchar4Difficultynvarchar序號字段名標識主鍵類型1Idint2UserIdnvarchar3Namenvarchar4Passwordnvarchar5Phonenvarchar6Addressnvarchar7UserTypenvarchar4.2.3 數(shù)據(jù)庫邏輯設(shè)計ER圖實體與屬性之間的關(guān)系E-R模型的組成元素有:實體、屬性、聯(lián)系。E-R模型用E-R圖表示。實體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對實體特征的描述。(1)模型中的實體相當(dāng)于實體集、一個表,而不是單個實體或表中的

47、一行。實體用矩形框表示,實體名稱標注在矩形框內(nèi)。用菱形表示實體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無向邊把菱形分別與有關(guān)實體相連接,在無向邊旁標上聯(lián)系的類型。(2)屬性是實體的性質(zhì)。用橢圓框表示,與實體之間用一條線相連表的主碼是關(guān)鍵屬性,關(guān)鍵屬性項加下劃線。(3)各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。(4)在程序中實現(xiàn)對他們的完整性和一致性控制。 數(shù)據(jù)庫的ER圖圖3.2 ER圖5 詳細設(shè)計本系統(tǒng)采用技術(shù)進行開發(fā),系統(tǒng)架構(gòu)采用B/S架構(gòu)進行架構(gòu),開發(fā)工具采用VS2005進行開發(fā),數(shù)據(jù)庫采用Sql2005數(shù)據(jù)庫進行數(shù)據(jù)的存儲。5.1 數(shù)據(jù)庫連接設(shè)計數(shù)據(jù)庫連接實現(xiàn)代碼: 5.2 登錄模塊

48、詳細設(shè)計用戶登錄實現(xiàn)的過程主要有幾個步驟,首先對用戶輸入的信息進行保存然后利用ASP.NET程序從數(shù)據(jù)庫中進行檢索看是不是有用戶輸入的信息在數(shù)據(jù)庫中是否存在如果存在就返回正確的結(jié)果,如果不正確就返回錯誤的結(jié)果。如果結(jié)果數(shù)據(jù)庫中存在就顯示登錄成功,如果數(shù)據(jù)庫不存在就顯示失敗請重新登錄。系統(tǒng)登錄的運行效果如圖5.1。圖5.1 用戶登錄模塊用戶登錄模塊實現(xiàn)代碼如下:public ActionResult Login(string userId, string password, string userType, string returnUrl) if (ValidateUser(userId, p

49、assword, userType) if (userType = 教師) return RedirectToAction(Index, Home); else if (userType = 管理員) return RedirectToAction(AdminIndex, Home); else return RedirectToAction(StuIndex, Home); ModelState.AddModelError(, 賬號或密碼錯誤!); return View(); /驗證 private bool ValidateUser(string userId, string passw

50、ord, string userType) var user = (from p in db.Users where p.UserId = userId & p.Password = password & p.UserType = userType select p).FirstOrDefault(); if (user != null) Sessionuser = user; return true; else return false; /退出 public ActionResult Quit() return RedirectToAction(Login, User); 5.3 功能模塊

51、實現(xiàn)本系統(tǒng)主要分為教師、管理員、學(xué)生三個角色,不同的角色擁有不同的功能。由于本系統(tǒng)功能模塊較多,本文選擇教師模塊功能進行介紹。教師模塊實現(xiàn)了試題庫管理、試卷生成、評卷管理、成績管理等功能。具體功能介紹如下所示。5.3.1 試題庫管理模塊實現(xiàn)試題庫管理模塊包括選擇題、填空題、判斷題、翻譯題、專業(yè)作文等功能子模塊。試題庫管理模塊界面效果如圖5.2所示。圖5.2 試題庫管理模塊界面效果5.3.2 試卷生成功能實現(xiàn)試卷生成模塊實現(xiàn)了試卷的自動生成功能。試卷生成功能界面效果圖如圖5.3所示。圖5.3試卷生成功能界面效果圖實現(xiàn)代碼如下:namespace MvcEnglishTest.Controller

52、s public class ShijuanController : BaseController public ActionResult Index() return View(db.Shijuans.ToList(); public ActionResult Add() return View(); /智能組卷 HttpPost public ActionResult Add(Shijuan fu) List xzlist = db.Xuanzes.ToList(); List tklist = db.Tiankongs.ToList(); List pdlist = db.Panduan

53、s.ToList(); List fylist = db.Fanyis.ToList(); List zwlist = db.Zuowens.ToList(); int num; /單選題 num = int.Parse(fu.Dx); fu.Dx = ; for (int i = 0; i num; i+) int r = new Random().Next(xzlist.Count); fu.Dx += xzlistr.Id; fu.Dx += ; xzlist.RemoveAt(r); /填空題 num = int.Parse(fu.Tk); fu.Tk = ; for (int i =

54、 0; i num; i+) int r = new Random().Next(tklist.Count); fu.Tk += tklistr.Id; fu.Tk += ; tklist.RemoveAt(r); /判斷 num = int.Parse(fu.Pd); fu.Pd = ; for (int i = 0; i num; i+) int r = new Random().Next(pdlist.Count); fu.Pd += pdlistr.Id; fu.Pd += ; pdlist.RemoveAt(r); /翻譯 num = int.Parse(fu.Fy); fu.Fy

55、= ; for (int i = 0; i num; i+) int r = new Random().Next(fylist.Count); fu.Fy += fylistr.Id; fu.Fy += ; fylist.RemoveAt(r); /作文 num = int.Parse(fu.Zw); fu.Zw = ; for (int i = 0; i num; i+) int r = new Random().Next(zwlist.Count); fu.Zw += zwlistr.Id; fu.Zw += ; zwlist.RemoveAt(r); db.Shijuans.Add(fu

56、); db.SaveChanges(); return new HttpStatusCodeResult(System.Net.HttpStatusCode.OK); /編輯 public ActionResult Edit(int id) var fu = (from p in db.Shijuans where p.Id = id select p).FirstOrDefault(); return View(fu); /編輯 HttpPost public ActionResult Edit(Shijuan fu) var yezhu = (from p in db.Shijuans w

57、here p.Id = fu.Id select p).FirstOrDefault(); yezhu.Id = fu.Id; db.SaveChanges(); return new HttpStatusCodeResult(System.Net.HttpStatusCode.OK); /刪除 public ActionResult Delete(int Id) var bean = (from p in db.Shijuans where p.Id = Id select p).FirstOrDefault(); db.Shijuans.Remove(bean); db.SaveChang

58、es(); return new HttpStatusCodeResult(System.Net.HttpStatusCode.OK); /試卷詳情 public ActionResult Info(int Id) string temp; int t_id; List xuanzes = new List(); List tiankongs = new List(); List panduans = new List(); List fanyis = new List(); List zuowens = new List(); var shijuan = (from p in db.Shij

59、uans where p.Id = Id select p).FirstOrDefault(); /選擇 temp = shijuan.Dx.Split(;); for (int i = 0; i temp.Length - 1; i+) t_id = int.Parse(tempi); var xz = (from p in db.Xuanzes where p.Id = t_id select p).FirstOrDefault(); xuanzes.Add(xz); /填空 temp = null; temp = shijuan.Tk.Split(;); for (int i = 0;

60、i temp.Length - 1; i+) t_id = int.Parse(tempi); var tk = (from p in db.Tiankongs where p.Id = t_id select p).FirstOrDefault(); tiankongs.Add(tk); /判斷 temp = null; temp = shijuan.Pd.Split(;); for (int i = 0; i temp.Length - 1; i+) t_id = int.Parse(tempi); var tk = (from p in db.Panduans where p.Id =

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論