學(xué)生請假標(biāo)準(zhǔn)管理系統(tǒng)需求分析設(shè)計(jì)文檔附待部分核心代碼ssh框架實(shí)現(xiàn)_第1頁
學(xué)生請假標(biāo)準(zhǔn)管理系統(tǒng)需求分析設(shè)計(jì)文檔附待部分核心代碼ssh框架實(shí)現(xiàn)_第2頁
學(xué)生請假標(biāo)準(zhǔn)管理系統(tǒng)需求分析設(shè)計(jì)文檔附待部分核心代碼ssh框架實(shí)現(xiàn)_第3頁
學(xué)生請假標(biāo)準(zhǔn)管理系統(tǒng)需求分析設(shè)計(jì)文檔附待部分核心代碼ssh框架實(shí)現(xiàn)_第4頁
學(xué)生請假標(biāo)準(zhǔn)管理系統(tǒng)需求分析設(shè)計(jì)文檔附待部分核心代碼ssh框架實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-第2學(xué)期TOC\o"1-3"\h\u44861.總體目標(biāo) 487341.1背景 4297431.1.1引言 477731.2要求 4314561.3目標(biāo) 4244832.需求分析 5246152.1功效需求描述 5146282.1.1基礎(chǔ)功效: 5106902.1.2業(yè)務(wù)功效: 59202.2用戶需求描述 5224502.2.1學(xué)生用戶需求描述 5185612.2.2任課老師用戶需求描述 5145753.數(shù)據(jù)庫設(shè)計(jì) 5165184.功效模塊設(shè)計(jì) 7314314.1系統(tǒng)步驟 815055.關(guān)鍵功效具體實(shí)現(xiàn) 11287185.1請假功效實(shí)現(xiàn) 1189385.2審核功效實(shí)現(xiàn) 14144665.3權(quán)限修改功效 1897935.4導(dǎo)入功效 20270366.系統(tǒng)運(yùn)行環(huán)境需求 21289816.1硬件環(huán)境: 21161546.2.軟件環(huán)境: 21231167.測試結(jié)果和分析 2185187.1關(guān)鍵測試內(nèi)容 21197357.2軟件測試目標(biāo) 22102597.3軟件測試任務(wù) 2265957.4.1功效測試 2289517.4.2負(fù)載測試 22312297.4.3文檔測試 22134937.5測試環(huán)境 23159067.6系統(tǒng)具體測試 23190238.課程設(shè)計(jì)總結(jié) 241.總體目標(biāo)1.1背景1.1.1引言現(xiàn)在高校大部分全部還是采取學(xué)生寫好請假條,然后到教導(dǎo)員那里申請請假方法進(jìn)行請假,這種方法不僅麻煩而且比較費(fèi)時(shí)。在信息化今天,能有效地借助網(wǎng)絡(luò)才能提升辦事效率。所以,請假管理系統(tǒng)能夠處理這種請假方法所帶來很多麻煩。1.2要求請假管理系統(tǒng)要達(dá)成以下功效:增刪查改:學(xué)生信息管理(導(dǎo)入/查/改/刪)、老師(含教導(dǎo)員和系領(lǐng)導(dǎo))信息管理業(yè)務(wù)功效:學(xué)生填寫請假事由、提交給教導(dǎo)員審批、按請假制度超出3天提交給系領(lǐng)導(dǎo)審批、打印請假條、學(xué)生查看歷史請假統(tǒng)計(jì)、教導(dǎo)員可按不一樣篩選條件查看請假統(tǒng)計(jì)。1.3目標(biāo)請假管理系統(tǒng)基礎(chǔ)目標(biāo)是方便學(xué)生請假和校方批假工作,系統(tǒng)實(shí)現(xiàn)后,應(yīng)做該到:方便學(xué)生:學(xué)生能夠經(jīng)過登錄本系統(tǒng)填寫請假原因向校方申請請假,不用經(jīng)過手寫請假條后找到導(dǎo)員請假。方便校方:學(xué)生在系統(tǒng)中申請請假后能夠進(jìn)入本系統(tǒng)進(jìn)行審核,方便了校方很多請假方面工作。2.需求分析2.1功效需求描述2.1.1基礎(chǔ)功效:學(xué)生信息管理(導(dǎo)入/查/改/刪)、老師(含教導(dǎo)員和系領(lǐng)導(dǎo))信息管理2.1.2業(yè)務(wù)功效:學(xué)生填寫請假事由、提交給教導(dǎo)員審批、按請假制度超出3天提交給系領(lǐng)導(dǎo)審批、打印請假條、學(xué)生查看歷史請假統(tǒng)計(jì)、教導(dǎo)員可按不一樣篩選條件查看請假統(tǒng)計(jì)。2.2用戶需求描述2.2.1學(xué)生用戶需求描述學(xué)生對(duì)本系統(tǒng)關(guān)鍵需求是:學(xué)生填寫請假理由進(jìn)行請假、打印請假條、查看請假統(tǒng)計(jì)、修改密碼。2.2.2任課老師用戶需求描述校方對(duì)本系統(tǒng)關(guān)鍵需求是:學(xué)生信息管理(導(dǎo)入/查/改/刪)、老師(含教導(dǎo)員和系領(lǐng)導(dǎo))信息管理、對(duì)學(xué)生請假申請進(jìn)行審核、打印、和查看請假統(tǒng)計(jì)。3.數(shù)據(jù)庫設(shè)計(jì)請假管理系統(tǒng)包含到學(xué)生用戶、老師用戶和管理員。依據(jù)實(shí)際應(yīng)用需要,最大程度提升系統(tǒng)性能,本系統(tǒng)包含到8張表,分別是管理員表、學(xué)生表、老師表、請假表、審核表、崗位表、管理員表、權(quán)限表。學(xué)生表(student):字段類型長度主鍵是否為空注釋idint5010idstu_numvachar5000學(xué)號(hào)stu_namevachar5000學(xué)生姓名stu_sexvachar5000性別stu_classvachar5000班級(jí)leava_timesint5000請假次數(shù)stu_phonevachar5000聯(lián)絡(luò)電話stu_yuanxivachar5000所屬院系root_typevachar5000權(quán)限類型(崗位名稱)老師表(teacher):字段類型長度主鍵是否為空注釋idint5010idtch_numvachar5000老師編號(hào)tch_namevachar5000老師姓名tch_sexvachar5000老師性別lavelvachar5000等級(jí)(教導(dǎo)員,領(lǐng)導(dǎo))yuanxivachar5000所屬院系tch_phonevachar5000聯(lián)絡(luò)電話root_typevacahr5000權(quán)限類型(崗位名稱)請假表(leave):字段類型長度主鍵是否為空注釋idint5010idleave_numvachar5000請假流水號(hào)leave_startvachar5000請假開始時(shí)間leave_endvachar5000請假結(jié)束時(shí)間leave_daysvachar5000請假天數(shù)leave_reasonvachar5000請假原因stu_numvachar5000請假學(xué)號(hào)stu_namevachar5000學(xué)生姓名審核表(audit):字段類型長度主鍵是否為空注釋idint5010idleave_numvachar5000請假流水號(hào)audit_namevachar5000審核人audit_statusint5000審核狀態(tài)audit_timevachar5000審核時(shí)間audit_posivachar5000審核崗位audit_notevachar15000批注崗位表(position):字段類型長度主鍵是否為空注釋idint5010idposi_numvachar5000崗位編號(hào)posi_namevachar5000崗位名稱管理員表(admin):字段類型長度主鍵是否為空注釋idint5010idadmin_numvachar5000管理員編號(hào)admin_namevacahr5000管理員名字admin_phoneint1000聯(lián)絡(luò)電話權(quán)限表(root):字段類型長度主鍵是否為空注釋idint5010idroot_typevachar5000權(quán)限類型(學(xué)生,教導(dǎo)員,領(lǐng)導(dǎo))root_listvachar5000權(quán)限集合root_numvachar5000權(quán)限編號(hào)功效模塊設(shè)計(jì)請假管理系統(tǒng)包含到學(xué)生用戶、老師用戶和管理員,關(guān)鍵功效模塊為學(xué)生管理模塊、老師管理模塊、請假管理模塊、角色管理模塊。本系統(tǒng)功效模塊圖圖:4-0圖4-04.1系統(tǒng)步驟4.1.1登陸步驟:圖4-1-1圖4-1-14.1.2請假步驟:需要請假學(xué)生能夠在系統(tǒng)中填寫請假條進(jìn)行請假申請,提交請假申請后,提交到教導(dǎo)員崗進(jìn)行審核,假如請假時(shí)間小于或等于3天,教導(dǎo)員審核經(jīng)過后生成請假統(tǒng)計(jì),未經(jīng)過,請假步驟結(jié)束,假如請假時(shí)間大于3天,若未審核未經(jīng)過則請假步驟結(jié)束,若在教導(dǎo)員崗審核經(jīng)過,則提交到院領(lǐng)導(dǎo)崗進(jìn)行審核,審核經(jīng)過后生成請假統(tǒng)計(jì),未經(jīng)過則請假步驟結(jié)束;圖4-1-2圖4-1-24.1.3權(quán)限設(shè)置步驟:系統(tǒng)管理員能夠經(jīng)過權(quán)限設(shè)置進(jìn)行添加不一樣登錄角色并能夠給予不一樣權(quán)限;圖4-1-3圖4-1-34.1.4修改權(quán)限:系統(tǒng)管理員能夠經(jīng)過查詢出系統(tǒng)不一樣用戶類型權(quán)限并能夠進(jìn)行多種權(quán)限添加或刪除進(jìn)行修改;圖4-1-4圖4-1-4關(guān)鍵功效具體實(shí)現(xiàn)5.1請假功效實(shí)現(xiàn)學(xué)生在需要請假時(shí),進(jìn)入系統(tǒng)根據(jù)要求填寫好請假條內(nèi)容確定后則提交請假申請交由教導(dǎo)員進(jìn)行審核。圖所表示:其部分代碼以下:Action:/** *保留請假條信息 *@return */ publicStringaddLeave(){ System.out.println("請假表信息:"+leave); Stringusername=(String)getRequest().getSession().getAttribute("username"); StringrootType=(String)getRequest().getSession().getAttribute("rootType"); leaveService.doFirstAudi(leave,username,rootType); returnSUCCESS; }Struct.xml:<actionname="leave_*"class="com.qjglms.struts.action.LeaveAction"method="{1}"><resultname="success">${forwardpage}</result></action>LeaveServiceImpl:/** *填寫請假表(第一崗) *@paramleave請假表對(duì)象 *@paramauditName審核人,請假學(xué)生 *@paramauditPosi審核崗位 *@paramauditStatus審核狀態(tài)1-未審核,2-已審核,3-審核不經(jīng)過 */ @Override publicvoiddoFirstAudi(Leaveleave,StringauditName,StringauditPosi){ System.out.println("保留請假表,生成第一崗統(tǒng)計(jì)"); //0-生成流水號(hào) UUIDuuid=UUID.randomUUID(); leave.setLeaveNum(uuid.toString()); //保留請假表 leaveDAO.save(leave); //3-保留審核表 //1.申請登記(學(xué)生自己) //(1)辦結(jié)本崗,流水號(hào)、審核人、崗位名稱、狀態(tài)=2(已審核) Auditaudit1=newAudit(); audit1.setLeaveNum(uuid.toString()); audit1.setAuditName(auditName); audit1.setAuditPosi(auditPosi); audit1.setStuName(auditName); audit1.setAuditStatus(2); auditDAO.save(audit1); //(2)初始化教導(dǎo)員崗位,流水號(hào)、崗位名稱、狀態(tài)=1(未審核) Auditaudit2=newAudit(); audit2.setLeaveNum(uuid.toString()); audit2.setStuName(auditName); audit2.setAuditPosi("教導(dǎo)員"); audit2.setAuditStatus(1); auditDAO.save(audit2); }5.2審核功效實(shí)現(xiàn)學(xué)生提交請假申請后,提交到教導(dǎo)員崗進(jìn)行審核,假如請假時(shí)間小于或等于3天,教導(dǎo)員審核經(jīng)過后生成請假統(tǒng)計(jì),未經(jīng)過,請假步驟結(jié)束,假如請假時(shí)間大于3天,若未審核未經(jīng)過則請假步驟結(jié)束,若在教導(dǎo)員崗審核經(jīng)過,則提交到院領(lǐng)導(dǎo)崗進(jìn)行審核,審核經(jīng)過后生成請假統(tǒng)計(jì),未經(jīng)過則請假步驟結(jié)束;圖5-2-0和圖5-2-1圖5-1-0圖5-2-1其部分代碼以下LeaveAction:/** *第二崗 *@return */ publicStringdoSecond(){ System.out.println("審核信息+"+leave); System.out.println("審核批注+"+leave.getAuditNote()); Stringusername=(String)getRequest().getSession().getAttribute("username"); StringrootType=(String)getRequest().getSession().getAttribute("rootType"); leaveService.doSecond(leave,username,rootType); returnnull; } /** *最終一崗 *@return */ publicStringdoEnd(){ System.out.println("院領(lǐng)導(dǎo)審核信息+"+leave); System.out.println("院領(lǐng)導(dǎo)審核批注+"+leave.getAuditNote()); Stringusername=(String)getRequest().getSession().getAttribute("username"); StringrootType=(String)getRequest().getSession().getAttribute("rootType"); leaveService.doEnd(leave,username,rootType); returnnull; }LeaveServiceImpl:/** *辦結(jié)第二崗 *@paramleave請假表對(duì)象 *@paramauditNote審核批注 *@paramauditName審核人 *@paramauditPosi審核人 */ publicvoiddoSecond(Leaveleave,StringauditName,StringauditPosi){ //(1)辦結(jié)本崗,流水號(hào)、審核人、崗位名稱、狀態(tài)=2(已審核) intdays=Integer.parseInt(leave.getLeaveDays()); Auditaudit1=newAudit(); audit1.setLeaveNum(leave.getLeaveNum()); audit1.setAuditName(auditName); audit1.setAuditPosi("教導(dǎo)員"); audit1.setAuditNote(leave.getAuditNote()); audit1.setAuditStatus(2); if(days<=3){//小于等于3天,成功標(biāo)志設(shè)置為1 audit1.setAuditEnd(1); Leavelea=newLeave(); lea.setAuditName(auditName); lea.setAuditNote(leave.getAuditNote()); lea.setLeaveNum(leave.getLeaveNum()); leaveDAO.updateLeave(lea); }else{ audit1.setAuditEnd(0); } auditDAO.updateByLeaveNum(audit1); if(days>3){//大于3天,生成下一崗統(tǒng)計(jì) Auditaudit2=newAudit(); audit2.setLeaveNum(leave.getLeaveNum()); audit2.setStuName(leave.getStuName()); audit2.setAuditPosi("院領(lǐng)導(dǎo)"); audit2.setAuditStatus(1); auditDAO.save(audit2); } } /** *辦結(jié)最終一崗 *@paramleave請假表對(duì)象 *@paramauditNote審核批注 *@paramauditName審核人 *@paramauditPosi審核人 */ publicvoiddoEnd(Leaveleave,StringauditName,StringauditPosi){ //(1)辦結(jié)本崗,流水號(hào)、審核人、崗位名稱、狀態(tài)=2(已審核) Auditaudit=newAudit(); audit.setLeaveNum(leave.getLeaveNum()); audit.setAuditName(auditName); audit.setAuditPosi("院領(lǐng)導(dǎo)"); audit.setAuditNote(leave.getAuditNote()); audit.setAuditStatus(2); audit.setAuditEnd(1); Leavelea=newLeave(); lea.setAuditName(auditName); lea.setAuditNote(leave.getAuditNote()); lea.setLeaveNum(leave.getLeaveNum()); leaveDAO.updateLeave(lea); auditDAO.updateByLeaveNum(audit); }5.3權(quán)限修改功效系統(tǒng)管理員能夠經(jīng)過查詢出系統(tǒng)不一樣用戶類型權(quán)限并能夠進(jìn)行多種權(quán)限添加或刪除進(jìn)行修改;圖:圖5-3圖5-3其部分代碼以下RoleAction:publicStringupdateRole()throwsIOException{ System.out.println("更新權(quán)限列表:"+role.getRootList()); roleService.updateUser(role); setForwardpage(JSP_ROLE_LIST); tips="修改成功!"; returnSUCCESS; } /** *依據(jù)角色id查找權(quán)限列表返回前臺(tái)設(shè)置單選框狀態(tài) *@return *@throwsIOException */ publicStringfindListByRootID()throwsIOException{ StringrootType=role.getRootType(); role=roleService.findListByRootID(rootType); System.out.println("返回?cái)?shù)據(jù)json:"+role); return"json2";}RoleServiceImpl:/** *依據(jù)rootType獲取權(quán)限對(duì)象 *@returnRole */ @Override publicRolefindListByRootID(StringrootType){ returnroleDao.findRootListByRoottype(rootType); }/** *更新角色權(quán)限 *@paramrole權(quán)限對(duì)象 */ @Override publicvoidupdateUser(Rolerole){ Rolerole_1=null; Listlist=roleDao.findByRootType(role.getRootType()); if(list.size()>0){ role_1=(Role)list.get(0); } role_1.setRootList(role.getRootList()); try{ roleDao.merge(role_1); }catch(Exceptione){ e.printStackTrace(); } }5.4導(dǎo)入功效學(xué)生、老師基礎(chǔ)信息能夠經(jīng)過導(dǎo)入excel表格方法進(jìn)行批量添加,其部分代碼以下:JSP:<formaction="<%=path%>/teacher_importTchExcel.action"method="post"enctype="multipart/form-data"><a>老師信息導(dǎo)入</a><br>ServiceImpl:/** *導(dǎo)入老師信息表格 */ publicvoidimportTchExcel(Teacherteacher,Stringpwd){ Useruser=newUser(); user.setPassword(pwd); user.setUsername(teacher.getTchName()); user.setUserNum(teacher.getTchNum()); user.setRootType(teacher.getRootType()); userDAO.save(user); teacherDAO.save(teacher); }6.系統(tǒng)運(yùn)行環(huán)境需求6.1硬件環(huán)境:內(nèi)存:需要最少512MHZ硬盤:40G以上6.2.軟件環(huán)境:操作系統(tǒng):WindowsXP/WIndows7或Windows更高服務(wù)器版本數(shù)據(jù)庫:Mysql5.5瀏覽器:IE8.0或更高版本、Chrome瀏覽器等主流瀏覽器7.測試結(jié)果和分析7.1關(guān)鍵測試內(nèi)容此次測試關(guān)鍵針對(duì)此次開發(fā)請假管理信息系統(tǒng)進(jìn)行系統(tǒng)測試關(guān)鍵包含功效測試、界面測試、負(fù)載測試文檔測試。7.2軟件測試目標(biāo)軟件質(zhì)量是由多個(gè)方面來衡量在有限時(shí)間里有效把一個(gè)工作正確無誤完成。符合應(yīng)用標(biāo)準(zhǔn)要求不一樣地域不一樣國家用戶使用習(xí)慣不一樣項(xiàng)目工程中可維護(hù)性、可測試性等要求。質(zhì)量就是軟件達(dá)成了最開始用戶所想要需求而代碼優(yōu)美或精巧技巧并不代表軟件高質(zhì)量。質(zhì)量也代表著它符適用戶需要。作為軟件測試這個(gè)行業(yè)最關(guān)鍵一件事就是從用戶需求出發(fā)從用戶角度去看產(chǎn)品用戶會(huì)怎么去使用這個(gè)產(chǎn)品使用過程中會(huì)碰到什么樣問題。7.2軟件測試目標(biāo)第一是確定軟件質(zhì)量能正確完成任務(wù)其首先是確定軟件做了你所期望事情其次是確定軟件以正確方法來做了這個(gè)事件。第二是提供反饋信息比如提供給開發(fā)人員或程序經(jīng)理反饋信息為風(fēng)險(xiǎn)評(píng)定所準(zhǔn)備信息。7.3軟件測試任務(wù)尋求Bug避免軟件開發(fā)過程中缺點(diǎn)衡量軟件品質(zhì)關(guān)注用戶需求。總目標(biāo)是:確保軟件質(zhì)量7.4測試方法整個(gè)系統(tǒng)測試方法包含功效測試、負(fù)載測試、文檔測試。7.4.1功效測試對(duì)需求規(guī)格說明書中描述全部功效經(jīng)過配置Tomcat服務(wù)器讓客服端進(jìn)行功效測試。測試中需要考慮惡意測試和正常測試測試出系統(tǒng)多種功效死角。7.4.2負(fù)載測試負(fù)載測試關(guān)鍵測試系統(tǒng)在多用戶在線登陸操作時(shí)候系統(tǒng)運(yùn)行情況不出現(xiàn)系統(tǒng)故障。負(fù)載測試?yán)米詣?dòng)測試工具開展網(wǎng)絡(luò)上有很多壓力測試工具。7.4.3文檔測試文檔測試關(guān)鍵包含用戶文檔、需求文檔、設(shè)計(jì)文檔測試測試關(guān)鍵在文檔內(nèi)容正確性、正確性確保了文檔正確性才能是有效文檔正確性是正確表示出文檔意思。采取走查方法進(jìn)行文檔測試。7.5測試環(huán)境7.5.1硬件環(huán)境內(nèi)存:需要最少512MHZ7.5.2軟件環(huán)境作系統(tǒng):Windowsxp/Windows7服務(wù)器版本必裝軟件:Myeclipse9.0Mysql5.5Tomcat6.0.17.6系統(tǒng)具體測試在此,因?yàn)榘婷嬗邢蓿豢赡軐⑾到y(tǒng)每一個(gè)功效測試全部表現(xiàn)出來,下面是用戶登錄和學(xué)生添加請假單及審核功效進(jìn)行測試。7.6.1用戶登錄測試:測試內(nèi)容測試數(shù)據(jù)測試結(jié)果用戶名密碼輸入有效數(shù)據(jù)adminadmin有效空數(shù)據(jù)空admin無效admin空無效空空無效7.6.2學(xué)生添加請假單測試:填寫請假單頁面:點(diǎn)擊提交后數(shù)據(jù)庫添加請假單成功:7.6.3審核功效測試:請假正常步驟:學(xué)生填寫請假單,然后提交給班主任,假如3天以內(nèi)請假單由班主任直接審批,3天以上請假單,由班主任提交給院長審批,審批經(jīng)過任課老師能夠查詢,然后更新學(xué)生考勤未經(jīng)過直接回退給學(xué)生,學(xué)生重新提交。提出假設(shè)測試假設(shè)學(xué)生提交3天

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論