版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生學(xué)籍管理系統(tǒng)設(shè)計報告作者:您的大名指導(dǎo)老師:您的老師時間:二零一零八月十二學(xué)生學(xué)籍管理系統(tǒng)設(shè)計和實(shí)現(xiàn)1.1 概述學(xué)籍管理是學(xué)校教務(wù)的一項主要工作,它反映了一個學(xué)校的生源情況和學(xué)生 的在校表現(xiàn),每一個檔案都記錄了一個學(xué)生在每個學(xué)校的一段歷史,必須真實(shí)可信,所以檔案管理工作是一項嚴(yán)肅、認(rèn)真而又繁瑣的工作。而Internet的發(fā)展使得基于web的應(yīng)用十分普及和成熟。因此,本系統(tǒng)在 在分析學(xué)籍管理需求和可行性后,基于B/S模式進(jìn)行開發(fā),考慮到擴(kuò)展和技術(shù)難 點(diǎn),本人將基于J2ee進(jìn)行開發(fā)。該系統(tǒng)適合各類中、小學(xué)校、職業(yè)技術(shù)學(xué)校的學(xué)生學(xué)籍管理,提供學(xué)生學(xué)籍 信息、成績信息的新增、修改、刪除、查詢統(tǒng)計等
2、功能,并具有良好擴(kuò)展能力。1.2 系統(tǒng)分析1.2.1 需求分析學(xué)籍管理指學(xué)校對學(xué)生所獲得的學(xué)籍資料進(jìn)行管理。 凡經(jīng)過升學(xué)考試或按規(guī) 定手續(xù)被正式錄取的學(xué)生,入校辦理注冊手續(xù)后即取得該校學(xué)籍, 它標(biāo)志著學(xué)生 取得了參加學(xué)習(xí)的資格。學(xué)籍是組織管理學(xué)生的客觀依據(jù)。傳統(tǒng)的學(xué)籍管理模式和管理手段不僅大量地消耗人力、 物力,同時,還存在 諸多弊端,效率低、保密性差,不利于查找、更新和維護(hù)的問題,影響教學(xué)秩序, 阻礙教學(xué)改革的深化,難以保證該項工作應(yīng)具有的嚴(yán)肅性。同時,隨著科學(xué)技術(shù)、管理方法的不斷進(jìn)步,傳統(tǒng)的辦公方式、方法和手段 已經(jīng)不能適應(yīng)現(xiàn)代化管理的需要,作為培養(yǎng)高質(zhì)量合格人才為宗旨的高等學(xué)校, 總是走
3、在科技的最前沿,學(xué)籍管理的計算機(jī)化已成為高校管理現(xiàn)代化、決策科學(xué) 化的一個重要環(huán)節(jié),是開創(chuàng)學(xué)籍管理工作新局面的必由之路。因此,開發(fā)一個功能完善、操作簡單、界面友好、有針對性的學(xué)籍管理系統(tǒng) 對學(xué)校、乃至社會都是非常必要,非常有意義的。1.2.2 可行性分析在當(dāng)今的信息化時代,學(xué)校具備一定規(guī)模的網(wǎng)絡(luò)環(huán)境,已基本擁有自己的 Intranet并和Internet相集成;基于web的學(xué)生學(xué)籍管理系統(tǒng)后臺需要一臺服 務(wù)器,前端用戶只需要一個瀏覽器就可以和服務(wù)器交互,管理學(xué)生學(xué)籍信息。基 于以上分析:基于web的學(xué)生學(xué)籍管理系統(tǒng)開發(fā)是可行的。1.2.3 技術(shù)架構(gòu)本系統(tǒng)實(shí)現(xiàn)了采用B / S 模式、基于J2EE
4、平臺、采用J S P + M ySql5.0+Tomcat6.0技術(shù)方案的在線考試系統(tǒng)整體架構(gòu)如下:r Web ServerClient HrzBrowserr Request,Response-其中:Client: 瀏覽器IE6以上或FireFox3.6 以上HTML,JavaScript,DomWeb Server: Tomcat6.0Database: MySql5.01.3 概要設(shè)計1.3.1 系統(tǒng)規(guī)劃提供三個角色:學(xué)生、老師、管理員。學(xué)生登錄后:查看自己學(xué)籍信息;查看考試成績老師登錄后:對所帶課程給學(xué)生打分; 查看所有學(xué)生學(xué)籍信息; 查看自己基本信息;管理員登錄后:增刪改學(xué)生學(xué)籍信息
5、; 增刪改老師信息; 增刪改課程、班級信息;升留級管理;1.3.2 功能結(jié)構(gòu)圖學(xué)員登錄JL管理員老師q f14/ ;, U個人學(xué)籍信息察 看 考 試 成 績增刪改學(xué)籍信息增 刪 改 老 師 信 息增 刪 改 課 程 信 息, 增 刪 改 班 級 信 息升 留 級 管 理個 人 信 息課 程 打 分查詢學(xué)生學(xué)籍信息1.4 詳細(xì)設(shè)計1.4.1 設(shè)計目標(biāo)此系統(tǒng)的目標(biāo)就是滿足中小型學(xué)?;?b/s模式學(xué)生學(xué)籍管理系統(tǒng)需求。它 應(yīng)該突破傳統(tǒng)學(xué)籍管理方式的時空限制, 充分利用計算機(jī)進(jìn)行學(xué)籍、學(xué)習(xí)成績管 理、課程打分、升留級管理等功能,可以減輕管理人員和教師手工操作的工作量。管理員可以通過 W e b瀏覽器
6、遠(yuǎn)程管理學(xué)生學(xué)籍、老師信息、課程信息等; 教師可以通過 Web瀏覽器遠(yuǎn)程查看學(xué)生學(xué)籍信息、對課程進(jìn)行打分;學(xué)生可 以在線查看考試成績和學(xué)籍信息。系統(tǒng)基于We b頁面,操作簡單、數(shù)據(jù)安全性高;系統(tǒng)要具有良好的可靠性、 高效性、完整性、易使用性、可維護(hù)性、可擴(kuò)展性。1.4.2 運(yùn)行環(huán)境硬件平臺:CPU : 1.5GHz 以上內(nèi)存:256Mb以上;軟件平臺:服務(wù)器:操作系統(tǒng):Microsoft NT 系列 windows XP/2000/98Jdk1.6;Tomcat6.0;客戶端:IE6.0 以上;fireFox3.6 以上1.4.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫擔(dān)當(dāng)著存儲業(yè)務(wù)數(shù)據(jù),提供數(shù)據(jù)查詢服務(wù)的重任;因
7、而良好的數(shù)據(jù) 庫設(shè)計對整個系統(tǒng)運(yùn)行效率和成敗起著至關(guān)重要的作用。針對學(xué)生學(xué)籍管理系統(tǒng) 的系統(tǒng)需求和學(xué)習(xí)成本,作者采用了 MYSQL5.作為數(shù)據(jù)庫服務(wù)器,并在其上設(shè) 計了一系列表,定義它們之間關(guān)聯(lián)關(guān)系,成功支持了系統(tǒng)各種功能并有良好擴(kuò)展 性。 :數(shù)據(jù)字典student學(xué)生表記錄學(xué)生基本信息,詳細(xì)信息在 stu_info,表關(guān)聯(lián)鍵為學(xué)生IDColumn Name| Oa(atypeI 吼 l 靳 I Flags| Default Value| Commentid& VARCHARE)d BINARY-j nameA VAR CHAR |45)口 BINARY sex>
8、INT(IO)«, UNSIGNED EROFILL03 age工 INT(1O)4/ UNSIGNED ZEROALLStu_info學(xué)籍信息表記錄學(xué)生學(xué)籍詳細(xì)信息Column NameDatatypeI N<T| HULLKT01 Hmj| Default ValueCommentstu idq VARCHARjfi)BINARY弋 DATEQ r>ativepldce" "ARCH而口口0) BINARYEnnclass_idfclNT(ll)d UNSIGNED 7ER0FILLQ addressq VARCHAR|100| BINARYQ p
9、hone5 VARCHAR20) 1 BINARY0class班級表記錄班級信息Column NameII DatatjipeI NCT| NULL概。J Flags| default Value| Commentida> INT(IO)/ UNSIGNED _J 7ER0ALL canQ name7 VARCHARHOJV二( BINARY* hteachef7 VARCHAR(8) BINARY班主任q monitor$ VARCHAR(G)J BINARY班長Teacher老師表記錄老師信息(字段可以擴(kuò)充)Column Nane| DatatypeI NOiT| HULLIl 那
10、I Flags| DefaullValue | Cammenrtid心 VARCHAAI8)dLJ BINARYQ nameG VAR CHAR 145)yf l BINARYCourse課程表Ccluim Name:| D期即EW I AJTONU-L | IbCFlags| Default ValueCiomentidINT(IQ)d >1 UNSIGNED ZEAQFILLnmsQ rnneVARCHAR(10mJ Bl MARYQ ctescr心 VARCHAE(300J BINARYnumU teacher© VARCHAR(e) BIHARYScore分?jǐn)?shù)表記錄學(xué)生
11、某課程成績Column Name| DatatypeI NUT| NULL既 I FlagsDefaut ValueCementstu_id心 VARCHARIG)d BINARYcourse_ad愛 INT(IO),UN51GMED ZEROFILL。scoreX INT(10)/. UNSIGNED ZEROFILLUser用戶表用于用戶登錄時,其內(nèi)容由新建學(xué)生、老師時自動添加Column Name| DatatypeI S8Il | I Flags| Default VskjeI Commentname3 VAR CHAR IB)yU BINARY0 passVAR CHAR IE)LJ
12、 BINARY roleINT(10)/封 UNSIGNED :J ZEROALL1一個應(yīng)用系統(tǒng)在發(fā)生業(yè)務(wù)活動時,會產(chǎn)生大量的不同類型的業(yè)務(wù)數(shù)據(jù),對這 些數(shù)據(jù)的存儲、分類和展現(xiàn)是實(shí)現(xiàn)系統(tǒng)目標(biāo)的基礎(chǔ)。上節(jié)設(shè)計了一系列數(shù)據(jù)表, 在此系統(tǒng)運(yùn)行中將產(chǎn)生的數(shù)據(jù)寫于數(shù)據(jù)庫,并根據(jù)添加查詢出來展現(xiàn)。1.4.4 系統(tǒng)流程設(shè)計1)普通學(xué)員系統(tǒng)流程2)老師系統(tǒng)流程管理課程信息查看考試成績圖-61.5 編碼設(shè)計編碼一種藝術(shù)。好的編碼首先要邏輯正確、清晰,只有這樣編碼要更成功 實(shí)現(xiàn)系統(tǒng)功能;其次要書寫規(guī)范、流暢、注釋要寫清楚,讓人達(dá)到賞心悅目的感 受。原因主要是:寫過的代碼,在系統(tǒng)升級完善時可能需要修改,而修改人很有
13、 可能不是程序的編寫者;如果邏輯不清,書寫混亂,沒有足夠的注釋,那將是一 種災(zāi)難,將大大增加系統(tǒng)維護(hù)升級的開銷。1.5.1 后臺編碼設(shè)計采用模型(Model),視圖(View)和控制Controller)模型。MVC模式的目的就是 實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實(shí)現(xiàn)。 View層用于與用戶的交互,通常用JSP來實(shí)現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰 當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí) 行的操作。本系統(tǒng)中,控制器位于包c(diǎn)ontrollers
14、下,控制頁面流程跳轉(zhuǎn),調(diào)用 modle模型位于包modles下,模型和數(shù)據(jù)表對應(yīng)如下圖:cd-ntrollre用Ji Appli cati oTiC&iktfollr. j 雨口j 國 ! CJa'ssControiler,! E,'8| j Cours eCoatroll er. j tvattl J MlgeC Qutroller. j avsi! i I_v-1+1 J ScoreContrcllw. java+ -T StuController. Java+ J_ SysCiiitrollar. JavsL ” .+ J TsJCoaitr oiler. j3酎
15、也由工 UsarC ontr oil ar . j ara臼串 except!on+- J SysEx cept i on. j ava吁,'珅 mo>dlQE® BasftAccess. java* JI BseMysgl. j ava申山 Class.E- jj Ccurses java.Ltl , J_ Ml onager. j ava1 -+- u Jj Sore. j ava0 - Jj Studrat. j wai &Stulnfo. j avaS- Jj Teacher, j ava由jj User.Java典型代碼:teacher模型,對應(yīng)數(shù)據(jù)庫
16、表teacherpackage modles;import com.et.ar.annotations.Column;import com.et.ar.annotations.GeneratorType;import com.et.ar.annotations.Id;import com.et.ar.annotations.Table;Table(name="teacher")public class Teacher extends BaseMysql Id(generate=GeneratorType.NONE) private String id;Column priv
17、ate String name;public String getName() return name;public void setName(String name) = name;public String getId() return id;)public void setId(String id) this.id = id;)teacher控制器,teacherControllerpackage controllers;public class TeaController extends ApplicationController public JspView in
18、dex() int role = Integer.parseInt(String)session.getAttribute("_role"); String rst = "tea/indexv.jsp"switch(role) case 1: rst = "error.jsp?why=auth" break;case 2: rst = "tea/indexv.jsp" break;case 3: rst = "tea/index.jsp" break;return new JspView(rst
19、);/*查詢老師信息*/public JsonView get() throws ExceptionString order = request.getParameter("order"), page = request.getParameter("page"), rows = request.getParameter("rows"), sort = request.getParameter("sort"), id = request.getParameter("id"), name = req
20、uest.getParameter("name");StringBuilder condition = new StringBuilder(); ArrayList<String> args = new ArrayList<String>(); if(id!=null && !id.equals("") condition.append(" id=?");args.add(id); else if(name!=null && !name.equals("")
21、condition.append(" name=?"); args.add(name);order = order=null?"desc":order;page = page=null?"1":page;rows = rows=null?"10":rows;sort = sort=null?"id":sort;order = sort + " " + order;int limit = Integer.parseInt(rows);int offset = (Integer.
22、parseInt(page) - 1)*limit;List<Teacher> teachers = Teacher.findAll(Teacher.class, condition.toString(), args.toArray(), order, limit, offset);Map<String,Object> rst = new HashMap<String,Object>();if(request.getParameter("t")!=null&&request.getParameter("t&quo
23、t;).equalsIgnoreCase("tree") return new JsonView(teachers); else rst.put("rows", teachers);rst.put("total", teachers.size();return new JsonView(rst);/*新增老師信息*/public JsonView add() String data = request.getParameter("data");JSONParser parser = new JSONParser()
24、;JSONArray ja;JSONObject jo = null;Teacher teacher = nul;ArrayList<String> success = new ArrayList<String>(), failure = new ArrayList<String>();Map<String,Object> rst = new HashMap<String,Object>();rst.put("code","0"); 成功String id = null;try ja = (JS
25、ONArray)parser.parse(data);for(int i=0; i<ja.size(); i+) jo = (JSONObject) ja.get(i); id = (String)jo.get("id");teacher = Teacher.createModel(Teacher.class, jo);if (teacher.save() success.add(id); tryUser user = new User();user.setName(id);user.setPass(id);user.setRole(2); user.save();c
26、atch(Exception ee) ee.printStackTrace();System.out.println("添加用戶失敗,請手動添加用戶 ); else failure.add(id); catch (ParseException e) rst.put("code","1");/ 參數(shù)解析錯誤 failure.add(id);e.printStackTrace(); catch (Exception e) e.printStackTrace(); failure.add(id);rst.put("code", &
27、quot;-1"); 服務(wù)器內(nèi)部錯誤rst.put("sid", success);rst.put("fid", failure);return new JsonView(rst);/*更新指定的老師資料*/public JsonView update() String data = request.getParameter("data");JSONParser parser = new JSONParser();JSONArray ja = null;JSONObject jo = null;I Teacher teach
28、er = nul;ArrayList<String> success = new ArrayList<String>(),failure = new ArrayList<String>();Map<String,Object> rst = new HashMap<String,Object>(); rst.put("code", "0");String id = null; catch (ActiveRecordException e) rst.put("code", &qu
29、ot;-1");failure.add(id);e.printStackTrace(); catch (Exception e) rst.put("code", "-1");failure.add(id);e.printStackTrace();rst.put("sid", success);rst.put("fid", failure);return new JsonView(rst);刪除老師信息*/public JsonView del() String data = request.getPara
30、meter("data");JSONParser parser = new JSONParser();JSONArray ja = null;JSONObject jo = null;Teacher teacher = null;ArrayList<String> success = new ArrayList<String>(), failure = new ArrayList<String>();Map<String,Object> rst = new HashMap<String,Object>();rst.
31、put("code", "0");String id = null;try ja = (JSONArray)parser.parse(data);for(int i=0; i<ja.size(); i+) jo = (JSONObject) ja.get(i);id = (String)jo.get("id");teacher = Teacher.find(Teacher.class, id);if(teacher.destroy()>0) success.add(id);tryUser user=User.find(Us
32、er.class, id); if(user!=null)user.destroy(); catch(ActiveRecordException ee) System.out.println("用戶刪除失敗,請手動處理"); else failure.add(id);I catch (ParseException e) failure.add(id);rst.put("code", "1");e.printStackTrace(); catch (ActiveRecordException e) rst.put("code&
33、quot;, "-1");failure.add(id);營 e.printStackTrace();rst.put("sid", success);rst.put("fid", failure);Ireturn new JsonView(rst);口1.5.2前端編碼設(shè)計為了簡化和統(tǒng)一前端界面風(fēng)格:采用 JQueryf口基于JQuery白UI框架easyuijQuery是一個快速的,簡潔的javaScript庫,使用戶能更方便地處理HTML documents events、實(shí)現(xiàn)動畫效果,并且方便地為網(wǎng)站提供 AJAX交互。easy
34、u基于JQuery可以方便的創(chuàng)建風(fēng)格統(tǒng)一的UI ,是小型系統(tǒng)快速開發(fā)的不 錯選擇??梢詣?chuàng)建 window,datagrid,commbox,button常見控件。1.6運(yùn)行測試系統(tǒng)設(shè)計完成后,最總要的一步就是系統(tǒng)運(yùn)行測試。通過對最終軟件系統(tǒng)進(jìn) 行全面的測試,可以確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循了既定系統(tǒng)設(shè)計。 對于在線考試系統(tǒng):作者制定了對系統(tǒng)功能的以下簡單測試:1)系統(tǒng)登錄測試:1 .要求能夠?qū)崿F(xiàn)學(xué)員、老師、管理員的登錄功能;2 .在用戶名或密碼錯誤時候有必要提示;用戶名失敗提示圖-14.5.次酬. fill tKTid助eWtZW工主,* 用審計 te w*«* iFTrf.
35、T±tS i?rirs 酮.甘重F不甘厘as Al KiWiL fHCBTYI-JL加卷n. tw/”溝t登錄成功進(jìn)入主頁面圖-152)學(xué)籍信息管理測試:1 .管理員登錄后可以管理學(xué)籍信息;2 .系統(tǒng)對一些非法輸入能夠監(jiān)測并處理;工電J就國EE. stt t®9BI antsu新增000005學(xué)生信息等生E71W9? H即.雷坦 E if IW1-=鼻簾?-SW59學(xué)史手號%MU班即電廟mt在堀1Q性LOIfliHH2妗0耳T1比】知'25B4虬辦«*融tkL falitiiSOMM.wdt耳4必壯j*e朝空s3選艱Eli t k】.史.SOQftJ百q口噸喟HEJXTG&iM
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆維吾爾自治區(qū)烏魯木齊市米東區(qū)三校聯(lián)考 2024-2025學(xué)年 高二上學(xué)期期末考試 化學(xué)試題(含答案)
- 陜西省漢中市寧強(qiáng)縣2024-2025學(xué)年八年級上學(xué)期1月期末考試生物試卷(含答案)
- 年產(chǎn)1萬噸全谷物(蒸谷米)深加工項目可行性研究報告寫作模板-申批備案
- 安徽省安慶市懷寧縣2024-2025學(xué)年高二上學(xué)期1月期末考試化學(xué)試題(含答案)
- 化學(xué)-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測試題和答案
- 2025年度卓爾系智慧城市建設(shè)合作協(xié)議3篇
- 2025年度出租車承包運(yùn)營服務(wù)質(zhì)量評價合同3篇
- 2024牙科醫(yī)療信息管理系統(tǒng)合同
- 2024高端制造設(shè)備進(jìn)口合同
- 2024水利水電工程施工合同范本
- 領(lǐng)導(dǎo)學(xué) 課件全套 孫健 第1-9章 領(lǐng)導(dǎo)要素- 領(lǐng)導(dǎo)力開發(fā)
- 2024-2025學(xué)年七年級上學(xué)期語文期末考前押題卷(統(tǒng)編版2024+含答案)
- 土建定額培訓(xùn)課件
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之13:“6策劃-6.2創(chuàng)新目標(biāo)及其實(shí)現(xiàn)的策劃”(雷澤佳編制-2025B0)
- 2024年保護(hù)環(huán)境的建議書范文(33篇)
- 退休人員公益活動合作合同
- 四年級數(shù)學(xué)(四則混合運(yùn)算帶括號)計算題專項練習(xí)與答案
- 急診創(chuàng)傷疼痛護(hù)理
- 2022年期貨從業(yè)資格《期貨基礎(chǔ)知識》考試題庫(含典型題)
- 浙江省湖州市2023-2024學(xué)年高二上學(xué)期期末調(diào)研測試數(shù)學(xué)試題 含解析
- 浙江省杭州市蕭山區(qū)2023-2024學(xué)年高二上學(xué)期1月期末考試物理試題(含答案)
評論
0/150
提交評論