javaee課程設(shè)計方案信息管理系統(tǒng)需求分析_第1頁
javaee課程設(shè)計方案信息管理系統(tǒng)需求分析_第2頁
javaee課程設(shè)計方案信息管理系統(tǒng)需求分析_第3頁
javaee課程設(shè)計方案信息管理系統(tǒng)需求分析_第4頁
javaee課程設(shè)計方案信息管理系統(tǒng)需求分析_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Java-ee課程設(shè)計----學(xué)生信息管理系統(tǒng)專業(yè)軟件工程學(xué)號201107111362同學(xué)姓名張力陽任課老師白彥峰完成日期2014年6月20日1。項目背景隨著計算機技術(shù)的不斷進展,網(wǎng)絡(luò)技術(shù)的普及范圍越來越廣,網(wǎng)絡(luò)能夠供應(yīng)的服務(wù)多樣、便捷,已經(jīng)成為人們生產(chǎn)生活中不行缺少的重要組成部分。越來越多的人依靠電子產(chǎn)品生活,而他們的日常工作也是離不開這些電子產(chǎn)品的。傳統(tǒng)的同學(xué)信息管理由于是手工操作,工作量大且容易出錯,所以開發(fā)出一款同學(xué)信息管理系統(tǒng)系統(tǒng),就顯得必不行少了。同時,也為了進一步鞏固所學(xué)的J2EE語言基礎(chǔ)知識,達到嫻熟編寫、運用的程度;熬煉自己的面對對象的程序設(shè)計思想,能夠深刻熟識面對過程與面對對象兩種設(shè)計方法之間的區(qū)分;嫻熟掌握簡略軟件開發(fā)平臺下的動手能力,掌握J2EE應(yīng)用程序設(shè)計的方法與技巧,實現(xiàn)從傳統(tǒng)面對過程程序設(shè)計思維到面對對象程序設(shè)計思維的轉(zhuǎn)型。2。系統(tǒng)需求分析2。1系統(tǒng)概述同學(xué)信息管理系統(tǒng)采納jsp做前臺,后臺數(shù)據(jù)庫采納sqlsever2008,本系統(tǒng)供應(yīng)了三大模塊,分別為同學(xué)信息管理、課程信息管理、成果信息管理。這三個模塊里又有相應(yīng)的子模塊,通過這些模塊之間的連接協(xié)作,完成操作員發(fā)出的各種指令.本項目采納了MVC架構(gòu)模式,通過對struts+hibernate+spring的整合,實現(xiàn)了項目model、view和controller層的分離,大大提高了對于系統(tǒng)的維護性和可擴展性。2。2系統(tǒng)的組成及各模塊的功能本系統(tǒng)主要包括兩大模塊:同學(xué)信息管理,課程信息管理,成果信息管理.其中,同學(xué)信息管理子模塊中包括:同學(xué)信息錄入,同學(xué)信息查詢;課程信息管理子模塊包括:課程信息錄入,全部課程信息查詢成果信息管理子模塊中包括:成果信息錄入,同學(xué)成果查詢。其中,1.同學(xué)信息錄入的功能為:可以錄入同學(xué)的基本信息,包括學(xué)號、性別、姓名、專業(yè)等,其中,還可以上傳同學(xué)照片。同學(xué)信息查詢的功能為:可以查詢同學(xué)的基本信息,并且可以進行簡略信息查詢,對信息的修改和刪除,可以分頁查詢。2。課程信息錄入的功能是:錄入課程號、課程名、開課學(xué)期、學(xué)時和分;課程信息查詢:查詢?nèi)空n程的錄入課程號、課程名、開課學(xué)期、學(xué)時和學(xué)分;還可以刪除和修改課程信息。3。成果信息錄入的功能為:可以錄入同學(xué)姓名、課程和成果。同學(xué)成果查詢的功能為:可以查詢同學(xué)的成果、學(xué)分,并且可以進行刪除。2.3系統(tǒng)的運行環(huán)境2.2.1硬件環(huán)境處理器:InterPentium166MX或更高內(nèi)存:32M以上硬盤空間:1GB以上顯卡:SVGA顯示適配器2。2。2軟件環(huán)境操作系統(tǒng):Windows98/ME/2000/XP運行環(huán)境:MyEclipse、SqlSever、掃瞄器3。系統(tǒng)設(shè)計3。1總體結(jié)構(gòu)設(shè)計本系統(tǒng)開發(fā)采納目前一種廣泛流行的軟件設(shè)計模式MVC。MVC(Model—View-Controller)應(yīng)用程序結(jié)構(gòu)被用來分析分布式應(yīng)用程序的特征。這種抽象結(jié)構(gòu)能有助于將應(yīng)用程序分割成若干規(guī)律部件,事應(yīng)用程序設(shè)計變得更加容易.把一個應(yīng)用的輸入、處理、輸出流程依據(jù)Model、View、Controller的方式進行分離,這樣一個應(yīng)用被分成三個層----模型層、視圖層、掌握層.3。2數(shù)據(jù)庫設(shè)計整體表:XSB表:表3-1CJB表:表3—2DLB表:表3-3KCB表:表3-4ZYB表:表3-5KCB表:表3—64.系統(tǒng)實現(xiàn)4.1登錄模塊的設(shè)計與實現(xiàn)進入主界面是為登入之前用戶點擊左側(cè)任意一個功能都會在右側(cè)跳轉(zhuǎn)到登陸界面;用戶輸入學(xué)號和口令,即可進入系統(tǒng)進行操作,界面如圖4-1所示:圖4—14.2同學(xué)信息管理模塊的設(shè)計與實現(xiàn)用戶登錄成功后,進入主頁,界面如圖4—2所示:圖4-24.2.1同學(xué)信息錄入的設(shè)計與實現(xiàn)用戶點擊“同學(xué)信息錄入",可以錄入同學(xué)的基本信息,包括學(xué)號、性別、姓名、專業(yè)等,其中,還可以上傳同學(xué)照片。界面如圖4-3所示:圖4—34.2.2同學(xué)信息查詢的設(shè)計與實現(xiàn)用戶點擊“同學(xué)信息查詢",可以查詢同學(xué)的基本信息,并且可以進行簡略信息查詢,對信息的修改和刪除,可以分頁查詢。界面如圖4-4所示:圖4—4用戶點擊“簡略信息”,可以查詢同學(xué)的簡略信息,界面如圖4—5所示:圖4-5用戶點擊“修改”,可以修改同學(xué)信息,界面如圖4-6所示:圖4-64.3課程信息管理模塊的設(shè)計與實現(xiàn)4.3.1課程信息錄入的設(shè)計與實現(xiàn)管理者點擊課程信息錄入,可以實現(xiàn)對于課程信息的錄入功能,界面如圖4—7所示:圖4-74.3。2課程信息查詢的設(shè)計與實現(xiàn)管理者點擊課程信息查詢,可以查詢?nèi)空n程信息,界面如圖4—8所示:圖4—8點擊刪除、修改可以實現(xiàn)相應(yīng)的刪除和修改操作,界面如圖4-9所示:圖4-9輸入課程號可以查詢相應(yīng)的課程簡略信息,如圖4-10所示:圖4-104.4成果信息管理模塊的設(shè)計與實現(xiàn)4.4.1成果信息錄入的設(shè)計與實現(xiàn)用戶點擊“成果信息錄入”,可以錄入同學(xué)姓名、課程和成果,界面如圖4-7所示:圖4-114。3.2同學(xué)成果查詢的設(shè)計與實現(xiàn)用戶點擊“同學(xué)成果查詢”,可以查詢同學(xué)的成果、學(xué)分,并且可以進行刪除,界面如圖4-8所示:圖4—12點擊學(xué)號可以查看簡略信息,如圖4-13所示;圖4-135.總結(jié)通過對這次項目的實踐,整合了SSH,并應(yīng)用到系統(tǒng)中,開發(fā)過程中遇到各種各樣的錯誤。在這個發(fā)現(xiàn)錯誤,了解錯誤消滅的緣由,查詢資料,并且親自去解決錯誤并使系統(tǒng)運行起來的過程,是一個不斷自我提高的過程,不僅僅在技術(shù)方面,也包括在忍耐力和其他品質(zhì)方面。雖然這次采納了MVC的設(shè)計模式,將應(yīng)用作為三層分開,但是對其意義還不是很明確,盼望在以后的學(xué)習(xí)中能漸漸領(lǐng)悟.同時,對于同學(xué)信息管理系統(tǒng)的功能開發(fā)還不完善,在今后會連續(xù)完善功能.6.源代碼6.1項目截圖圖6-1圖6—26。2項目主要代碼6.2.1.CjAction.java主要代碼publicclassCjActionextendsActionSupport{?privateCjbcj;privateCjServicecjService;?publicCjbgetCj(){ returncj; }publicvoidsetCj(Cjbcj){this。cj=cj;}publicvoidsetCjService(CjServicecjService){this。cjService=cjService;} privateintpageNow=1;privateintpageSize=8;?privateXsServicexsService;privateKcServicekcService;?publicvoidsetXsService(XsServicexsService){this.xsService=xsService;}?publicvoidsetKcService(KcServicekcService){this。kcService=kcService;}publicStringexecute()throwsException{? Listlist1=xsService.findAll(1,xsService.findXsSize()); ?Listlist2=kcService.findAll(1,kcService。findKcSize());??Maprequest=(Map)ActionContext。getContext().get(”request”);??request.put("list1",list1);request.put("list2",list2); returnSUCCESS;}publicStringaddorupdateXscj()throwsException{ ?Cjbcj1=null;CjbIdcjId1=newCjbId();??cjId1。setXh(cj.getId().getXh());?cjId1.setKch(cj.getId()。getKch()); ?if(cjService。getXsCj(cj.getId()。getXh(),cj。getId()。getKch())==null){??cj1=newCjb();?cj1。setId(cjId1);}else{?cj1=cjService.getXsCj(cj.getId().getXh(),cj。getId().getKch());} Kcbkc1=kcService。find(cj.getId().getKch());??cj1.setCj(cj.getCj());??if(cj.getCj()>60||cj.getCj()==60){??cj1.setXf(kc1.getXf());}else?cj1.setXf(0);??cjService.saveorupdateCj(cj1);?returnSUCCESS;}publicStringfindXscj()throwsException{??Listlist=cjService。getXsCjList(cj.getId().getXh());? if(list.size()>0){ ?Maprequest=(Map)ActionContext.getContext()。get(”request");? request。put(”list",list);returnSUCCESS;??}else?returnERROR;?}?publicStringdeleteOneXscj()throwsException{?Stringxh=cj。getId().getXh();Stringkch=cj。getId()。getKch();?cjService。deleteCj(xh,kch);returnSUCCESS;}publicStringxscjInfo()throwsException{Listlist=cjService.findAllCj(this.getPageNow(),this.getPageSize()); Maprequest=(Map)ActionContext。getContext().get(”request”);?request。put(”list”,list);?Pagerpage=newPager(this.getPageNow(),cjService.findCjSize());?System.out.println(cjService.findCjSize());?request.put(”page",page);returnSUCCESS;}?publicintgetPageNow(){returnpageNow;}?publicvoidsetPageNow(intpageNow){?this.pageNow=pageNow;} publicintgetPageSize(){returnpageSize;?}?publicvoidsetPageSize(intpageSize){ ?this.pageSize=pageSize;?}}6.2.2。DIAction.java主要代碼publicclassDlActionextendsActionSupport{?privateDlServicedlService;privateDlbdl;?publicDlbgetDl(){returndl;} publicvoidsetDl(Dlbdl){ this.dl=dl;}?publicDlServicegetDlService(){returndlService;?} publicvoidsetDlService(DlServicedlService){?this.dlService=dlService;}publicStringexecute()throwsException{?Dlbuser=dlService.find(dl。getXh(),dl.getKl()); if(user!=null){???Mapsession=(Map)ActionContext.getContext().getSession();???session.put("user",user); ??returnSUCCESS;}else? ?returnERROR?}}6.2。3.XsAction.java主要代碼publicclassXsActionextendsActionSupport{?privateintpageNow=1;privateintpageSize=8;privateXsbxs; privateXsServicexsService;privat(yī)eZyServicezyService; privateFilezpfile;privateListlist;publicvoidsetList(Listlist){this.list=list;?System.out.println(list。size()+"-—----—--————--—-——”);}?publicListgetList(){returnzyService。getAll();}?publicFilegetZpfile(){?returnzpfile;}?publicvoidsetZpfile(Filezpfile){this。zpfile=zpfile;}?publicXsbgetXs(){?returnxs;?}?publicvoidsetXs(Xsbxs){this.xs=xs;}?publicXsServicegetXsService(){returnxsService;}?publicvoidsetXsService(XsServicexsService){ ?this。xsService=xsService;?}?publicintgetPageNow(){returnpageNow;}?publicvoidsetPageNow(intpageNow){this.pageNow=pageNow;}?publicintgetPageSize(){returnpageSize;}?publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;} publicStringexecute()throwsException{? System.out.println(this.getPageNow()); ?Listlist=xsService.findAll(pageNow,pageSize); ?Maprequest=(Map)ActionContext.getContext().get("request”);??Pagerpage=newPager(getPageNow(),xsService.findXsSize());??request。put(”list”,list);request.put("page",page);returnSUCCESS;}publicStringgetImage()throwsException{?HttpServletResponserequest=ServletActionContext.getResponse(); ?Stringxh=xs。getXh();Xsbxs3=xsService.find(xh);? byte[]img=xs3。getZp(); ?response.setContentType(”image/jpeg”);??ServletOutputStreamos=response.getOutputStream(); ?if(img!=null&&img。length!=0){??for(inti=0;i〈img。length;i++){ ?os.write(img[i]);} os.flush();}returnNONE;}?publicStringfindXs()throwsException{??Stringxh=xs.getXh();Xsbstu2=xsService.find(xh);??Maprequest=(Map)ActionContext.getContext().get("request”);? request。put("xs”,stu2);returnSUCCESS;} publicStringdeleteXs()throwsException{??Stringxh=xs。getXh();xsService。delete(xh);returnSUCCESS;}publicStringupdat(yī)eXsView()throwsException{ ?Stringxh=xs.getXh();XsbxsInfo=xsService.find(xh);??Listzys=zyService。getAll();??Maprequest=(Map)ActionContext。getContext().get("request"); ?request.put("xsInfo",xsInfo);request.put("zys",zys);??returnSUCCESS;}?publicStringupdateXs()throwsException{??Xsbxs1=xsService。find(xs.getXh()); xs1.setXm(xs.getXm());xs1.setXb(xs.getXb());? xs1。setZyb(zyService.getOneZy(xs。getZyb().getId()));??xs1.setCssj(xs。getCssj());xs1。setZxf(xs.getZxf()); xs1.setBz(xs.getBz());??if(this。getZpfile()!=null){?FileInputStreamfis=newFileInputStream(this.getZpfile());?byte[]buffer=newbyte[fis.a(chǎn)vailable()];?fis。read(buffer);xs1.setZp(buffer);}??Maprequest=(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論