學生請假標準管理系統需求分析設計文檔附待部分核心代碼ssh框架實現_第1頁
學生請假標準管理系統需求分析設計文檔附待部分核心代碼ssh框架實現_第2頁
學生請假標準管理系統需求分析設計文檔附待部分核心代碼ssh框架實現_第3頁
學生請假標準管理系統需求分析設計文檔附待部分核心代碼ssh框架實現_第4頁
學生請假標準管理系統需求分析設計文檔附待部分核心代碼ssh框架實現_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論