這個網站是給學院的潘老師做的,最早接到這個事情是大二上學期,當時因為對他提出的一些要求(功能)沒有十分的把握能做出來,最後找了個借口(因為是班主任推薦過去的,不好意思直接說我不會)推掉了。一年後的大三上,潘老師再次找到我問我有沒有興趣做,因為要求還是和以前一樣,所以這次我就答應了,這可以說明這一年來我有在成長吧。這是這個項目真正的開始,大概是10月中旬吧,不記得了。截止目前,正好3月中旬,差多不有5個月了,5個月做的一個項目應該是拿的出手的吧,總比我在xx培訓是一個禮拜做成的一個ssh項目要了不起。
先介紹下項目es(老師說叫es, 以下就稱之為es了):
es是給學院嵌入式課程老師做的,主要有1、內容管理系統; 2、作業系統; 3、bbs討論版; 4、線上測試; 另外就是後台管理。
包結構:
1、內容管理
這個部分,主要用於介紹老師所教的課程,教學情況, 還有課外科技……, 有什麼可以添加什麼,下面是前台
本來左下角那塊嵌了一個iframe,誰知效果太差,主要是iframe的捲軸我搞不定,另外如果我直接存取詳細資料, 比如點擊“自我評價”,那麼只會顯示具體的content,而旁邊的二級菜單就沒了。後來改成了單獨的頁面,雖然背景代碼多了些,但是顯示的內容全部由我來控制。
2、作業系統
教師對某一門課程布置作業,選修了這個課程的學生可以在指定的時間內完成作業。同時老師可以給學生的作業打一個分, 並且給出評價。這相對於傳統的作業,可以減去課代表收作業這個環節,另外也不用因為每學期的那麼幾次作業買一個全新的筆記本了。不過還是不能杜絕抄襲情況。不過加了個ip記錄,因為每個學生都有學校內網ip,如果出現兩個相同的ip提交的作業,那麼就有點可疑了,不過也不能說明什麼問題,只能做一個大概的參考。
關於防抄襲的話,能想到的就是用字串匹配來計算相似程度,不過效率太低了
3、討論版模組
可以自己添加/刪除不同的模組,供選修了不同課程的學生討論。根據實際需求,討論版塊給學生提供了n個平時分。期末是老師可以根據學生的平時討論情況給平時分。
為了防止學生為了得分而發帖,所以每天限制發帖次數,另外,老師可以刪除垃圾主題,回帖,一旦被刪除,作者將被扣除5分(發帖得1分,每天上限5分)。
另外,為了提高同學的參與度,老師對比較好的主題,回帖進行加分(1~5分)。為了避免頁面的單一,上學校的bbs找了一些“火”,“精”, “頂”~~~的圖片。置頂的主題顯示“頂”, 加過分的顯示“精”, 參與人數比較多的主題顯示“火“…………
4、線上測試
這個模組實現的功能不是很複雜,但感覺做的時候最麻煩。
學生登入後進入測試介面,根據當前選修的課程可以進行測試, 開始測試後系統,系統隨機播放n個選擇題,和m個判斷題,並更新選中次數(要統計某個題目的正確率),將n+m個題目放入一張暫存資料表中,然後開始一個小時的測試。學生初次選擇和每次改變選項都會更新n+m中的某條記錄,這樣如果中途發生突發情況, 使用者下次登入是還能看到未完成的測試,及答題記錄。測試結束後, 系統自動判題,並修改某個題目的正確次數,全部判完後給同學列出此次測試的情況:包括正確答案,學生答案,題目的正確率~
下面說說用到的架構,這個網站我用了struts2和hibernate, 雖然當時已經學了spring, 但對spring還不是很友好,總覺得沒事搞那麼多介面幹嘛,還有就是不能理解為什麼要service層。當然,越做到後面就越感覺到spring的強大和沒有用spring的遺憾。這也沒有辦法,這些東西本來就要在實踐中發現真理的,如果現在讓我重寫這個系統,肯定還有很多完善的地方。