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

        ?

        基于B/S的J2EE學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與架構(gòu)

        2015-05-30 00:45:10魏蓉

        摘 要:采用jsp/Servlet/JavaBean編程技術(shù)和SQL server數(shù)據(jù)庫,進(jìn)行學(xué)生成績管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。該系統(tǒng)能夠?qū)崿F(xiàn)學(xué)生信息管理、課程信息管理、學(xué)生成績信息管理、學(xué)生查詢成績等功能。這個(gè)系統(tǒng)是為了軟件專業(yè)學(xué)生在學(xué)習(xí)Java Web軟件項(xiàng)目而構(gòu)建的教學(xué)案例。

        關(guān)鍵詞:MVC;SQL Server;學(xué)生成績管理

        0 引言

        近年來隨著國家對(duì)于高職高專院校政策的大幅轉(zhuǎn)變,對(duì)于高職高專院校畢業(yè)生就業(yè)也提出了更多的機(jī)遇和挑戰(zhàn)。畢業(yè)生能否尋得好的工作,能否順利與企業(yè)需求接軌,將成為對(duì)高職高專院校進(jìn)行評(píng)價(jià)時(shí)越來越重要的評(píng)價(jià)標(biāo)準(zhǔn)。

        軟件專業(yè)畢業(yè)生最終的評(píng)價(jià)標(biāo)準(zhǔn),就是能不能做項(xiàng)目。一個(gè)真實(shí)完整獨(dú)立的項(xiàng)目,綜合了整個(gè)專業(yè)所有的知識(shí)和技能。如果能夠在畢業(yè)之前安排這樣的課程來鍛煉學(xué)生的綜合項(xiàng)目能力,對(duì)于就業(yè)將是一次重要的提升準(zhǔn)備。

        本系統(tǒng)就是基于這個(gè)需求進(jìn)行設(shè)計(jì)和開發(fā),模擬一個(gè)真實(shí)完整的項(xiàng)目,能夠在網(wǎng)上完成學(xué)生基本信息管理、課程基本信息管理、學(xué)生成績信息管理、學(xué)生查詢成績等功能。

        1 需求分析

        系統(tǒng)管理員:管理所有用戶的用戶等級(jí)、用戶權(quán)限。

        教務(wù)管理員:能夠?qū)W(xué)生基本信息進(jìn)行增刪改查、能夠?qū)φn程基本信息進(jìn)行增刪改查、能夠?qū)W(xué)生成績信息進(jìn)行增刪改查。

        普通學(xué)生用戶:能夠?qū)ψ约旱幕具M(jìn)行查詢和部分修改、能夠?qū)ψ约旱某煽冃畔⑦M(jìn)行查詢。

        2 系統(tǒng)架構(gòu)設(shè)計(jì)

        2.1 采用B/S架構(gòu)

        C/S架構(gòu)和B/S架構(gòu)是現(xiàn)在軟件領(lǐng)域主流的兩種體系結(jié)構(gòu)。C/S就是Client(客戶端)/Server(服務(wù)器端),用戶需要在自己的電腦上安裝客戶端才能夠使用軟件,例如QQ、大型3D網(wǎng)絡(luò)游戲。B/S是Browser(瀏覽器端)/Server(服務(wù)器端),用戶只需要瀏覽器即可使用軟件,通過網(wǎng)絡(luò)向服務(wù)器發(fā)送請(qǐng)求并接收響應(yīng)。

        現(xiàn)在80%以上的軟件項(xiàng)目是采用B/S架構(gòu),用戶只要在瀏覽器上打開網(wǎng)頁即可進(jìn)入學(xué)生成績管理系統(tǒng),不需要維護(hù)客戶端,靈活性高,開發(fā)維護(hù)成本低。

        B/S架構(gòu)和C/S架構(gòu)相比,有以下幾個(gè)優(yōu)點(diǎn):

        ①用戶的使用簡單。軟件的使用者絕大多數(shù)都不是軟件專業(yè)人員,所以在使用時(shí)不能太復(fù)雜,網(wǎng)頁的使用模式已經(jīng)被現(xiàn)代社會(huì)所廣泛接受,所以通過瀏覽器就可以使用的軟件完全可以滿足這個(gè)要求。而且使用瀏覽器就可以進(jìn)入軟件系統(tǒng),而不需要考慮客戶端的硬件軟件環(huán)境,絕大部分功能以請(qǐng)求/響應(yīng)的模式交給服務(wù)器端來處理。

        ②靈活性高。如果是C/S架構(gòu),要使用軟件就必須先安裝客戶端,如果換一臺(tái)終端、或者出差去外地,安裝客戶端就顯得很不方便。如果是B/S架構(gòu),隨便一臺(tái)電腦甚至是手機(jī),只要打開瀏覽器即可進(jìn)入軟件系統(tǒng)。

        2.2 采用MVC三層架構(gòu)

        采用B/S架構(gòu),如果不分層次,將業(yè)務(wù)邏輯、數(shù)據(jù)模型、頁面顯示混合在一起,那么在后期進(jìn)行測試調(diào)試時(shí),程序員將面對(duì)一個(gè)一團(tuán)亂麻、牽一發(fā)而動(dòng)全身的項(xiàng)目。并且大多項(xiàng)目并不是一蹴而就的,投入使用后沒過多久就會(huì)需要擴(kuò)展升級(jí)、二次開發(fā),如果不分層次,在這樣一個(gè)項(xiàng)目基礎(chǔ)上進(jìn)行擴(kuò)展修改,很多時(shí)候還不如完全推翻之后重新開發(fā)一個(gè),大大浪費(fèi)了時(shí)間,降低效率。

        MVC模式的優(yōu)點(diǎn)是耦合性低、重用性高、分工明確。

        耦合性,是指軟件項(xiàng)目各模塊代碼之間的互相依賴性,改變一處代碼,需要連帶一起改變其它幾個(gè)地方的代碼。MVC將業(yè)務(wù)邏輯、數(shù)據(jù)模型和數(shù)據(jù)顯示完全分開,層與層之間只存在數(shù)據(jù)傳遞和方法調(diào)用,而不存在依賴性,在進(jìn)行功能擴(kuò)展和二次開發(fā)時(shí),只需要根據(jù)需求對(duì)對(duì)應(yīng)的層進(jìn)行修改(例如如果需要改動(dòng)數(shù)據(jù)庫,則只需改變數(shù)據(jù)模型層的代碼),而不會(huì)影響到別的層。

        重用性,簡單來說,是指同一段代碼可以被不同的功能需求所調(diào)用。例如一個(gè)項(xiàng)目可能會(huì)有不同的View視圖(Web瀏覽器、無線Wap瀏覽器、手機(jī)APP等),但是這些視圖的功能需求基本是一致的,對(duì)數(shù)據(jù)庫的訪問更新操作也是一致的,那么就可以毫無障礙和差異地調(diào)用共同的Model模型。這種可以最大化地重用代碼。

        分工明確,在MVC模式下,程序員(Java開發(fā))可以集中精力于Controller業(yè)務(wù)邏輯,View視圖可以交給界面設(shè)計(jì)師,Model數(shù)據(jù)模型可以直接從已經(jīng)設(shè)計(jì)好的數(shù)據(jù)庫延續(xù)過來。分工明確之后的軟件開發(fā)時(shí)間得到大幅縮減。

        現(xiàn)在J2EE領(lǐng)域最流行的MVC框架是SSH(Struts/Spring/Hibernate),但在這里不使用框架,僅采用最基本的JSP/Servlet/JavaBean來實(shí)現(xiàn)MVC模式。

        本系統(tǒng)使用開發(fā)工具M(jìn)yEclipse 8.5、Tomcat服務(wù)器、sqljdbc4、SQL Server,前臺(tái)采用HTML/CSS/Javascript網(wǎng)頁布局顯示,后臺(tái)采用以jsp/Servlet/JavaBean為三層架構(gòu)的MVC技術(shù)來完成。(圖2)

        3 系統(tǒng)詳細(xì)設(shè)計(jì)

        3.1 數(shù)據(jù)庫設(shè)計(jì)

        根據(jù)功能需求分析,學(xué)生與課程之間存在多對(duì)多關(guān)系,可以繪制出主要的關(guān)系E-R圖如圖3,再加上用戶表,即可得到主要的4個(gè)數(shù)據(jù)庫表:學(xué)生信息表、課程信息表、考試成績表、用戶表。其中學(xué)生表和課程表都與考試成績表存在約束關(guān)系。

        3.2 視圖層實(shí)現(xiàn)

        根據(jù)功能需求分析,本系統(tǒng)的業(yè)務(wù)流程大致可以劃分成三大模塊。

        首先需要共同的主頁、登錄頁面。

        學(xué)生查詢模塊:學(xué)生登錄成功后,可以瀏覽自己的個(gè)人信息頁面、考試成績信息頁面。

        教務(wù)管理模塊:教務(wù)管理員登錄成功后,需要學(xué)生信息列表頁面、學(xué)生詳細(xì)信息頁面、課程信息列表頁面、課程詳細(xì)信息頁面、考試成績列表頁面、考試成績?cè)敿?xì)信息頁面。

        3.3 數(shù)據(jù)模型層實(shí)現(xiàn)

        數(shù)據(jù)模型層與數(shù)據(jù)庫一一對(duì)應(yīng),模型層中的JavaBean實(shí)體類與數(shù)據(jù)庫中的表一致,類的屬性對(duì)應(yīng)于表中的字段。再由DAO類使用JDBC技術(shù)提供數(shù)據(jù)庫訪問的增刪改查操作。

        數(shù)據(jù)庫連接單獨(dú)創(chuàng)建一個(gè)專門的連接類來提供靜態(tài)的連接方法:

        /*提供用于驅(qū)動(dòng)加載和創(chuàng)建連接、關(guān)閉連接的靜態(tài)方法*/

        /*四個(gè)靜態(tài)常量,用于存儲(chǔ)驅(qū)動(dòng)類、連接地址、用戶名、用戶密碼*/

        private static final String CLASS_DRIVER="sun.jdbc.odbc.JdbcOdbcDriver";

        private static final String URL="jdbc:odbc:stuent";

        private static final String USER="sa";

        private static final String PASSWORD="sa";

        /*用于加載驅(qū)動(dòng)并創(chuàng)建連接的方法,返回值為創(chuàng)建的連接*、

        public static Connection getConn(){

        Connection conn=null;

        try{

        Class.forName(CLASS_DRIVER); //1、加載驅(qū)動(dòng)

        conn=DriverManager.getConnection(URL); //2、創(chuàng)建連接

        }catch(Exception e){

        System.out.println(e.getMessage());

        }

        return conn;

        }

        3.4 業(yè)務(wù)邏輯層實(shí)現(xiàn)

        Servlet是用于接收客戶請(qǐng)求,并作出響應(yīng)的Java程序,是中間件技術(shù)的重要部分,它控制著其他的組件,是整個(gè)項(xiàng)目的核心。

        import java.io.*;

        import javax.servlet.*;

        import javax.servlet.http.*;

        public class LoginServlet extends HttpServlet {

        public void doGet(HttpServletRequest request,HttpServletResponse response)

        throws ServletException, IOException {

        response.setContentType("text/html;charset=gb2312");

        PrintWriter out = response.getWriter();

        String userName = request.getParameter("userName");

        String userPass = request.getParameter("userPass");

        /*接收用戶在表單中輸入的信息,調(diào)用用戶DAO類中的登錄驗(yàn)證方法,根據(jù)返回的結(jié)果,如果登錄成功則根據(jù)用戶類型跳轉(zhuǎn)到不同的頁面,如果登錄失敗則給出提示信息并返回登錄頁面。*/

        }

        }

        4 結(jié)語

        將MVC三層架構(gòu)設(shè)計(jì)模式應(yīng)用于基于B/S的軟件系統(tǒng)中,這是現(xiàn)在軟件行業(yè)的主流項(xiàng)目架構(gòu)模式,降低軟件模塊之間的耦合性,提高代碼的復(fù)用性、項(xiàng)目的可擴(kuò)展性和二次開發(fā)可行性,實(shí)現(xiàn)軟件開發(fā)的分工,有效降低維護(hù)成本。在軟件專業(yè)學(xué)生畢業(yè)之前,能夠獨(dú)立完成這樣一個(gè)真實(shí)完整的項(xiàng)目,那么對(duì)于他們所學(xué)的所有專業(yè)課程是一次綜合和提升,對(duì)于應(yīng)聘于軟件企業(yè)也是大有幫助。

        作者簡介:魏蓉,女,畢業(yè)于華中科技大學(xué),碩士,武漢商貿(mào)職業(yè)學(xué)院軟件專業(yè)教師。

        久久国产精品久久久久久| 一区二区三区日本久久| 国产一区二区在线免费视频观看| 亚洲图片自拍偷图区| 图片区小说区激情区偷拍区| 98色花堂国产精品首页| 99久久国产一区二区三区| 中文字幕国产亚洲一区| 亚洲乱亚洲乱妇| 女人与牲口性恔配视频免费| 18禁国产美女白浆在线| 可以直接在线看国产在线片网址| 啪啪免费网站| 激情综合网缴情五月天| 亚洲免费一区二区三区四区| 亚洲乱码一区av春药高潮| 久久久久亚洲av无码网站| 北岛玲精品一区二区三区| 麻豆国产精品一区二区三区| 国产免费艾彩sm调教视频| 国产午夜成人久久无码一区二区| 国产大陆av一区二区三区| 亚洲美女自拍偷拍视频| 亚洲熟女乱综合一区二区| 国产精品理人伦国色天香一区二区| 久久精品人妻嫩草av蜜桃| 亚洲一区二区三区高清在线| 成年免费视频黄网站zxgk| 亚洲AV无码精品色欲av| 日本成年少妇人妻中文字幕| 日韩综合无码一区二区 | 久久久中文字幕日韩精品| 国产成人亚洲精品青草天美| 2021国产最新在线视频一区| 亚洲精品在线一区二区三区| 色综合天天综合网国产成人网| 8ⅹ8x擦拨擦拨成人免费视频| 亚洲无码性爱视频在线观看| 国产av剧情久久精品久久| 成年女人免费视频播放体验区| 国产成人啪精品|