• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于B/S的J2EE學生成績管理系統(tǒng)的設計與架構

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

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

      關鍵詞:MVC;SQL Server;學生成績管理

      0 引言

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

      軟件專業(yè)畢業(yè)生最終的評價標準,就是能不能做項目。一個真實完整獨立的項目,綜合了整個專業(yè)所有的知識和技能。如果能夠在畢業(yè)之前安排這樣的課程來鍛煉學生的綜合項目能力,對于就業(yè)將是一次重要的提升準備。

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

      1 需求分析

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

      教務管理員:能夠對學生基本信息進行增刪改查、能夠對課程基本信息進行增刪改查、能夠對學生成績信息進行增刪改查。

      普通學生用戶:能夠對自己的基本進行查詢和部分修改、能夠對自己的成績信息進行查詢。

      2 系統(tǒng)架構設計

      2.1 采用B/S架構

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

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

      B/S架構和C/S架構相比,有以下幾個優(yōu)點:

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

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

      2.2 采用MVC三層架構

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

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

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

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

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

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

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

      3 系統(tǒng)詳細設計

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

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

      3.2 視圖層實現(xiàn)

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

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

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

      教務管理模塊:教務管理員登錄成功后,需要學生信息列表頁面、學生詳細信息頁面、課程信息列表頁面、課程詳細信息頁面、考試成績列表頁面、考試成績詳細信息頁面。

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

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

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

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

      /*四個靜態(tài)常量,用于存儲驅動類、連接地址、用戶名、用戶密碼*/

      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";

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

      public static Connection getConn(){

      Connection conn=null;

      try{

      Class.forName(CLASS_DRIVER); //1、加載驅動

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

      }catch(Exception e){

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

      }

      return conn;

      }

      3.4 業(yè)務邏輯層實現(xiàn)

      Servlet是用于接收客戶請求,并作出響應的Java程序,是中間件技術的重要部分,它控制著其他的組件,是整個項目的核心。

      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");

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

      }

      }

      4 結語

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

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

      巧家县| 嘉荫县| 忻州市| 长宁区| 扶风县| 东海县| 岚皋县| 通辽市| 喀喇沁旗| 连江县| 全州县| 永靖县| 临西县| 文成县| 新蔡县| 广汉市| 普格县| 余庆县| 格尔木市| 喀喇| 霍城县| 临漳县| 南京市| 无为县| 杭州市| 兴安盟| 徐汇区| 南投县| 伊通| 新郑市| 句容市| 杭锦旗| 连平县| 滁州市| 汪清县| 班戈县| 博罗县| 崇明县| 龙岩市| 玉溪市| 海门市|