freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程-基于mvc模式的雙向選題系統(tǒng)-學(xué)生、管理員模塊的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁

2024-12-06 03:05本頁面

【導(dǎo)讀】在當(dāng)前高校畢業(yè)設(shè)計(jì)中,選題是設(shè)計(jì)工作的龍頭,也是是畢業(yè)設(shè)計(jì)質(zhì)量的起點(diǎn)。了由學(xué)校分派、教師單向選擇學(xué)生到師生雙向選擇的過程。雙向選題要求充分尊重學(xué)生的個(gè)人選題。意見和老師的意見,盡量滿足合理的科學(xué)的選題要求,體現(xiàn)了科學(xué)性和人性化的理念。合Javascript、CSS腳本語言,采用STRUTS2開發(fā)框架,在MyEcilpse平臺(tái)上開發(fā),測試服務(wù)器為。TOMCAT,數(shù)據(jù)庫系統(tǒng)為SQLServer2021。該系統(tǒng)主要實(shí)現(xiàn)了教師出題、領(lǐng)導(dǎo)審題、學(xué)生選題、教。師再選學(xué)生、管理員發(fā)布最終選題結(jié)果的雙向選題功能。本文圍繞畢業(yè)設(shè)計(jì)雙向選題系統(tǒng)的項(xiàng)目實(shí)施,詳細(xì)地闡述了該系統(tǒng)所涉及的領(lǐng)域知識(shí)。與同類開發(fā)產(chǎn)品進(jìn)行了比較。本文還從總體需求、業(yè)務(wù)分析等方面對系統(tǒng)進(jìn)行了詳細(xì)的分析,在系。統(tǒng)體系結(jié)構(gòu)、數(shù)據(jù)庫介紹、UML類圖、數(shù)據(jù)庫表設(shè)計(jì)等方面對系統(tǒng)進(jìn)行了詳盡的設(shè)計(jì)。實(shí)現(xiàn)進(jìn)行了細(xì)致的描述,包括JavaBean設(shè)計(jì)、頁面設(shè)計(jì)思想、運(yùn)行效果等。

  

【正文】 數(shù),不能超過系統(tǒng)規(guī)定的最大選題人數(shù) 狀態(tài):分為“已提交”、“未提交”,默認(rèn)為“未提交” 表 TopicVerify TopicVerify:課題審核表,主要描述課題 審核的信息。 列名 數(shù)據(jù)類型(精度范圍) 空 /非空 約束條件 描述 topic_id int 非空 主,外(TopicInfo) 課題號(hào)碼 submit_date datetime 非空 提交日期 verify_condition nvarchar(10) 非空 審核狀態(tài) verify_date datetime 空 審核日期 user_id nvarchar(20) 空 審核領(lǐng)導(dǎo)號(hào)碼(使用學(xué)院領(lǐng)導(dǎo)號(hào)) 補(bǔ)充說明 提交日期:該課題提交上來的日期 審核狀態(tài):分成“未審核”、“未通過”、“已 通過”。默認(rèn)為“未審核” 審核日期:該課題通過審核的日期 審核領(lǐng)導(dǎo)號(hào)碼:只能是學(xué)院領(lǐng)導(dǎo)號(hào)碼或?yàn)榭?,從程序中判? 表 StudentWish StudentWish:學(xué)生志愿表,主要描述學(xué)生志愿的信息。 列名 數(shù)據(jù)類型(精度范圍) 空 /非空 約束條件 描述 wish nvarchar(20) 非空 主 志愿 補(bǔ)充說明 志愿:由系統(tǒng)管理員控制志愿的個(gè)數(shù)。 志愿值:“志愿一”、“志愿二”、“志愿三”。由系統(tǒng)根據(jù)系統(tǒng)管理員控制的個(gè)數(shù)自動(dòng)輸入值。例如:系統(tǒng)管理員設(shè)置有 2 個(gè)志愿,則該表里面的值只有 2 行,分別為“志愿一”、“志愿二”。 第四章 系統(tǒng)設(shè)計(jì) 21 表 FirstAdvisee FirstAdvisee:最初選題表,主要描述學(xué)生最初選題的信息。 列名 數(shù)據(jù)類型(精度范圍) 空 /非空 約束條件 描述 user_id nvarchar(20) 非空 2 屬性唯一,主,外(StudentInfo) 用戶名 (學(xué)號(hào) ) topic_id int 非空 主,外(TopicVerify) 課題號(hào)碼 strike_wish nvarchar(10) 非空 2 屬性唯一 成交志愿 teacher_select nvarchar(10) 非空 是、否 導(dǎo)師選中 補(bǔ)充說明 該表用于學(xué)生進(jìn)行初選,即讓學(xué)生先選擇課題,學(xué)生的歸宿由教師決定。 同一學(xué)生不能多次使用同一志愿,也不能多次選擇同一課題。例如:學(xué)生 A,使用志愿一,選擇課題 X。那么,學(xué)生 A,不能再使用志愿一選擇任何課題,也不能使用其他志愿選擇課題 X。 課題號(hào)碼:該學(xué)生使用某志愿選擇的課題號(hào)。 成交志愿:該學(xué)生選擇某課題所使用的志愿。 導(dǎo)師選中:該學(xué)生是否被這個(gè)課題的導(dǎo)師選中。值:是、否。默認(rèn)為“否”。 表 AssignSetup AssignSetup:命題設(shè)置表,主要描述命題設(shè)置的信息。 列名 數(shù)據(jù)類型(精度范圍) 空 /非空 約束條件 描述 assign_starttime datetime 非空 命題開始時(shí)間 assign_endtime datetime 非空 命題結(jié)束時(shí)間 assign_count int 非空 最大命題數(shù)量 assign_number int 非空 最大選題人數(shù) 補(bǔ)充說明 該表用于系統(tǒng)管理員設(shè)置,有關(guān)導(dǎo)師命題的規(guī)則在此規(guī)定。 命題開始時(shí)間:導(dǎo)師必須在開始時(shí)間之后進(jìn)行課題的添加、修改、刪除、提交。 命題結(jié)束時(shí) 間:導(dǎo)師必須在結(jié)束時(shí)間之前行課題的添加、修改、刪除、提交。 最大命題數(shù)量:每個(gè)導(dǎo)師最大可以提交的課題數(shù)量。 最大選題人數(shù):每個(gè)課題的最大的最終選題人數(shù)。例如:規(guī)定最大選題人數(shù)為 2,一個(gè)課題,當(dāng)導(dǎo)師提交時(shí),該課題的課題人數(shù)不得超過 2。如果有 10 個(gè)學(xué)生對該課題有志愿選擇,那么導(dǎo)師在選擇的時(shí)候只能在其中選擇不超過 2 人。 第四章 系統(tǒng)設(shè)計(jì) 22 表 VerifySetup VerifySetup:審題設(shè)置表,主要描述審題設(shè)置的信息。 列名 數(shù)據(jù)類型(精度范圍) 空 /非空 約束條件 描述 verify_starttime datetime 非空 審題開始時(shí)間 verify_endtime datetime 非空 審題結(jié)束時(shí)間 補(bǔ)充說明 該表用于系統(tǒng)管理員設(shè)置,有關(guān)學(xué)院領(lǐng)導(dǎo)審題的規(guī)則在此規(guī)定。 命題開始時(shí)間:學(xué)院領(lǐng)導(dǎo)必須在開始時(shí)間之后進(jìn)行課題的審核 命題結(jié)束時(shí)間:學(xué)院領(lǐng)導(dǎo)必須在結(jié)束時(shí)間之前行課題的審核 表 AdviseeSetup AdviseeSetup:選題設(shè)置表,主要描述選題設(shè)置的信息。 列名 數(shù)據(jù)類型(精度范圍) 空 /非空 約束條件 描述 advisee_starttime datetime 非空 選題開始時(shí)間 advisee_endtime datetime 非空 選題結(jié)束時(shí)間 補(bǔ)充說明 該表用于系統(tǒng)管理員設(shè)置,有關(guān)學(xué)生選題的規(guī)則在此規(guī)定。 選題開始時(shí)間:學(xué)生必須在開始時(shí)間之后進(jìn)行課題的選擇 選題結(jié)束時(shí)間:學(xué)生必須在結(jié)束時(shí)間之前行課題的選擇 本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)使用了視圖 。 視圖本身就是一個(gè)復(fù)雜查詢的結(jié)果集,這樣在每一次執(zhí)行相同的查詢時(shí),不必重新寫這些復(fù)雜的查詢語句 ,只要一條簡單的查詢視圖語句即可 , 大大 簡化了對數(shù)據(jù)的操作 。本系統(tǒng)用到了 9 張視圖,具體視圖的結(jié)構(gòu)請見數(shù)據(jù)庫設(shè)計(jì)。 第五章 系統(tǒng)模塊實(shí)現(xiàn) 23 第五章 系統(tǒng) 模塊 實(shí)現(xiàn) 由于本人負(fù)責(zé)的模塊的功能模塊比較多,這里就不一一介紹 ,本人主要從 學(xué)生、管理員 的 一些主要功能 來介紹系統(tǒng)模塊的實(shí)現(xiàn)。 數(shù)據(jù)庫連接 JavaBean JavaBean 介紹 JavaBean 是使用 Java 語言描述的、易用的、與平臺(tái)無關(guān)的軟件組件模型,用于設(shè)計(jì)可重用的組件,有點(diǎn)類似于 Microsoft 的 COM 組件概念。在 Java 模型中,通過 JavaBean 可以無限擴(kuò)充 Java程序的功能,通過 JavaBean 的組合可以快速地生成新的應(yīng)用程序。對于程序員來說,最好的一點(diǎn)就是 JavaBean 可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護(hù)性等也有很重大的意義。 JavaBean 組件和企業(yè)級(jí) JavaBean( Enterprise JavaBean,EJB)組件的概念完全不同的。 EJB是 J2EE 的核心技術(shù),它為開發(fā)服務(wù)器端應(yīng)用程序組件提供了一個(gè)模型,利用這個(gè)模型來創(chuàng)建可移植性與分布式企業(yè)應(yīng)用程序服務(wù)器或組件。 Enterprise JavaBean 是一個(gè)用來創(chuàng)建分布式、服務(wù)器端以及基于 Java 的企業(yè)應(yīng)用程序組件的功能強(qiáng)大的組件模型。 JavaBean 傳統(tǒng)的應(yīng)用于可視化的領(lǐng)域,如 AWT 下的應(yīng)用。自從 JSP 誕生后, JavaBean 更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來了越來越強(qiáng)的生命力。非可視化的 JavaBean,顧名思義就是沒有 GUI 界面的 JavaBean。在 JSP 程序中常用來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序(如 JSP 文件)的分離、邏輯的封裝、程序的易于維護(hù)等,從而使得系統(tǒng)具有更好的健壯性和靈活性。 JavaBean 應(yīng)用 本系統(tǒng)采用了 JAVABEAN 來封裝對數(shù)據(jù)庫和服務(wù)器連接操作 ,文件名: ,編譯成 文件放于 TOMCAT 安裝路徑 webapps\XuanTi\WEBINF\classes\\db 文件夾下: 文件代碼如下: package 。 import .*。 public class dbConn { String url=jdbc:microsoft: String user=sa。 String password=。 Connection conn = null。 第五章 系統(tǒng)模塊實(shí)現(xiàn) 24 ResultSet rs = null。 public dbConn() { try { ().newInstance()。 //(數(shù)據(jù)庫注冊成功 )。 } catch(Exception e) { (數(shù)據(jù)庫注冊失敗 )。 ( ())。 } } public ResultSet executeQuery(String sql) { try { conn = (url,user,password)。 Statement stmt = ()。 rs = (sql)。 } catch(SQLException ex) { (())。 } return rs。 } public int executeUpdate(String sql) { int result = 0。 try { conn = (url,user,password)。 Statement stmt = ()。 result = (sql)。 } catch(SQLException ex) { (())。 } return result。 } public boolean closeConnection(){ try{ if(rs!=null) { ()。 } if(conn!=null) { ()。 } 第五章 系統(tǒng)模塊實(shí)現(xiàn) 25 return true。 }catch(Exception e) { (())。 } return false。 } 公用代碼 在本站 CSS 文件夾中存放得都是公用 Css 代碼 、 JS文件夾中存放得都是公用 Javascript 代碼,這么做不但減少了代碼冗余,而且方便統(tǒng)一修改。在調(diào)用方面使用 link href=/路徑 /文件名 rel=stylesheet type=text/css /的方式加載到網(wǎng)頁中。 學(xué)生模塊 頁面代碼實(shí)現(xiàn) 選題 查詢 代碼 選題查詢 頁面 —— 。 設(shè)計(jì)思路: 從數(shù)據(jù)庫中讀出 可供學(xué)生選擇的課題的 數(shù)據(jù),封裝在一個(gè) 課題信息 JAVABEAN 數(shù)組中,頁面設(shè) 計(jì)采用 DIV+CSS, 利用 STRUTS2 標(biāo)簽迭代循環(huán)讀出 JAVABEAN 數(shù)組。分頁結(jié)合 STRUTS2 標(biāo)簽,采用 類似百度的搜索顯示, 最少不顯示,最多顯示 5 頁,這樣使頁面更加簡潔、美觀。 模糊查詢可以查詢包含該查詢內(nèi)容的所有數(shù)據(jù)。 查詢 時(shí) 在 DAO 層取出相關(guān)數(shù)據(jù) 傳給 ACTION, 最后 跳轉(zhuǎn)到 JSP 頁面上使用 STRUTS2 迭代 來 顯示 數(shù)據(jù) 。 代碼設(shè)計(jì): ACTION: public String Query_YiTongGuo() { YiTongGuo_ViewDao ytgd=new YiTongGuo_ViewDao()。 pageCount=(SearchKey, KeyType,pageSize)。//得到總頁數(shù) if(pageNowpageCount || pageNow==0) { pageNow=pageCount。 } //得到 pageNow對應(yīng)的頁面的所有數(shù)據(jù) ,這些數(shù)據(jù)是根據(jù)搜索類型找到的所有模糊數(shù)據(jù) ytgbs=(SearchKey, KeyType, pageSize, pageNow)。 第五章 系統(tǒng)模塊實(shí)現(xiàn) 26 if(()) { pageNow=0。 } return success。 } 效果演示 : 如圖 所示: 圖 學(xué)生 查詢 課題 信息 學(xué)生選題 代碼 學(xué)生選題 頁面 —— 。 設(shè)計(jì)思路: 鏈接進(jìn)該頁面 之前 ,后臺(tái)程序先從數(shù)據(jù)庫中動(dòng)態(tài)讀取學(xué)生可用志愿,如果可用志愿為 0,則返回 信息 提示頁面 ,提示無志愿可用 。如果有可用志愿,則在頁面進(jìn)行顯示 可用的志愿 。 可用志愿數(shù)量是由管理員設(shè)置的 ,志愿分優(yōu) 先等級(jí) 。學(xué)生可以使用多個(gè)志愿選擇課題, 每選一個(gè)課題便使用一個(gè)志愿。 學(xué)生只能選擇同一個(gè)導(dǎo)師的某一個(gè)課題,不能選擇同一導(dǎo)師的多個(gè)課題 (例如選擇導(dǎo)師 A的課題 X 后,不能再選擇導(dǎo)師 A 的其他課題 ,只能選擇其他導(dǎo)師的課題 ) 。 上述邏輯可以在選題代第五章 系統(tǒng)模塊實(shí)現(xiàn) 27 碼 SelectTopic_QueryWish()中查看。 代碼設(shè)計(jì): ACTION: public String SelectTopic_QueryWish() { fab=new FirstAdviseeBean()。 //獲取 session中的用戶名 ,賦值給最初選題 信息 Bean ActionContext actionContext = ()。 Map session = ()。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1