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

下載本文檔

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

文檔簡介

1、2014 - 2015學(xué)年 第 2 學(xué)期 1總體目標41.1背景41.1.1引言41.2要求41.3目標42.需求分析52.1功能需求描述52.1.1基本功能:52.1.2業(yè)務(wù)功能:52.2用戶需求描述52.2.1學(xué)生用戶需求描述52.2.2任課教師用戶需求描述53.數(shù)據(jù)庫設(shè)計54. 功能模塊設(shè)計74.1系統(tǒng)流程85. 主要功能的具體實現(xiàn)115.1請假功能的實現(xiàn)115.2審核功能的實現(xiàn)145.3權(quán)限修改功能185.4導(dǎo)入功能206系統(tǒng)的運行環(huán)境需求216.1硬件環(huán)境:216.2.軟件環(huán)境:217測試結(jié)果與分析217.1主要測試內(nèi)容217.2軟件測試的目的227.3軟件測試的任務(wù) 227.4.1

2、功能測試227.4.2負載測試227.4.3文檔測試227.5 測試環(huán)境237.6 系統(tǒng)具體測試238課程設(shè)計總結(jié)241總體目標1.1背景1.1.1引言目前高校大部分都還是采用學(xué)生寫好請假條,然后到輔導(dǎo)員那里申請請假的方式進行請假,這種方式不僅麻煩而且比較費時。在信息化的今天,能有效地借助網(wǎng)絡(luò)才能提高辦事效率。因此,請假管理系統(tǒng)能夠解決這種請假方式所帶來的很多麻煩。1.2要求請假管理系統(tǒng)要達到以下功能:增刪查改:學(xué)生信息管理(導(dǎo)入/查/改/刪)、老師(含輔導(dǎo)員和系領(lǐng)導(dǎo))信息管理業(yè)務(wù)功能:學(xué)生填寫請假事由、提交給輔導(dǎo)員審批、按請假制度超過3天的提交給系領(lǐng)導(dǎo)審批、打印請假條、學(xué)生查看歷史請假記錄、

3、輔導(dǎo)員可按不同篩選條件查看請假記錄。1.3目標請假管理系統(tǒng)的基本目標是方便學(xué)生請假和校方的批假工作,系統(tǒng)實現(xiàn)后,應(yīng)做該到:方便學(xué)生:學(xué)生可以通過登錄本系統(tǒng)填寫請假原因向校方申請請假,不用通過手寫請假條后找到導(dǎo)員請假。方便校方:學(xué)生在系統(tǒng)中申請請假后可以進入本系統(tǒng)進行審核,方便了校方很多請假方面的工作。2.需求分析2.1功能需求描述2.1.1基本功能:學(xué)生信息管理(導(dǎo)入/查/改/刪)、老師(含輔導(dǎo)員和系領(lǐng)導(dǎo))信息管理2.1.2業(yè)務(wù)功能:學(xué)生填寫請假事由、提交給輔導(dǎo)員審批、按請假制度超過3天的提交給系領(lǐng)導(dǎo)審批、打印請假條、學(xué)生查看歷史請假記錄、輔導(dǎo)員可按不同篩選條件查看請假記錄。2.2用戶需求描述

4、2.2.1學(xué)生用戶需求描述學(xué)生對本系統(tǒng)的主要需求是:學(xué)生填寫請假理由進行請假、打印請假條、查看請假記錄、修改密碼。2.2.2任課教師用戶需求描述校方對本系統(tǒng)的主要需求是:學(xué)生信息管理(導(dǎo)入/查/改/刪)、老師(含輔導(dǎo)員和系領(lǐng)導(dǎo))信息管理、對學(xué)生的請假申請進行審核、打印、和查看請假記錄。3.數(shù)據(jù)庫設(shè)計請假管理系統(tǒng)涉及到學(xué)生用戶、教師用戶和管理員。根據(jù)實際應(yīng)用的需要,最大限度的提高系統(tǒng)的性能,本系統(tǒng)涉及到8張表,分別是管理員表、學(xué)生表、教師表、請假表、審核表、崗位表、管理員表、權(quán)限表。學(xué)生表(student):字段類型長度主鍵是否為空注釋idint5010idstu_numvachar5000學(xué)號

5、stu_namevachar5000學(xué)生姓名stu_sexvachar5000性別stu_classvachar5000班級leava_timesint5000請假次數(shù)stu_phonevachar5000聯(lián)系電話stu_yuanxivachar5000所屬院系root_typevachar5000權(quán)限類型(崗位名稱)教師表(teacher):字段類型長度主鍵是否為空注釋idint 5010idtch_numvachar5000教師編號tch_namevachar5000教師姓名tch_sexvachar5000教師性別lavelvachar5000級別(輔導(dǎo)員,領(lǐng)導(dǎo))yuanxivachar

6、5000所屬院系tch_phonevachar5000聯(lián)系電話root_typevacahr5000權(quán)限類型(崗位名稱)請假表(leave):字段類型長度主鍵是否為空注釋idint 5010idleave_numvachar5000請假流水號leave_startvachar5000請假開始時間leave_endvachar5000請假結(jié)束時間leave_daysvachar5000請假天數(shù)leave_reasonvachar5000請假原因stu_numvachar5000請假學(xué)號stu_namevachar5000學(xué)生姓名審核表(audit):字段類型長度主鍵是否為空注釋idint5010

7、idleave_numvachar5000請假流水號audit_namevachar5000審核人audit_statusint5000審核狀態(tài)audit_timevachar5000審核時間audit_posivachar5000審核崗位audit_notevachar15000批注崗位表(position):字段類型長度主鍵是否為空注釋idint5010idposi_numvachar5000崗位編號posi_namevachar5000崗位名稱管理員表(admin):字段類型長度主鍵是否為空注釋idint 5010idadmin_numvachar5000管理員編號admin_namev

8、acahr5000管理員名字admin_phoneint1000聯(lián)系電話權(quán)限表(root):字段類型長度主鍵是否為空注釋idint5010idroot_typevachar5000權(quán)限類型(學(xué)生,輔導(dǎo)員,領(lǐng)導(dǎo))root_listvachar5000權(quán)限集合root_numvachar5000權(quán)限編號4. 功能模塊設(shè)計請假管理系統(tǒng)涉及到學(xué)生用戶、教師用戶和管理員,主要的功能模塊為學(xué)生管理模塊、教師管理模塊、請假管理模塊、角色管理模塊。本系統(tǒng)的功能模塊圖如圖:4-0圖4-04.1系統(tǒng)流程4.1.1登陸流程:如圖4-1-1圖4-1-14.1.2請假流程:需要請假的學(xué)生可以在系統(tǒng)中填寫請假條進行請假申

9、請,提交請假申請后,提交到輔導(dǎo)員崗進行審核,如果請假時間小于或等于3天,輔導(dǎo)員審核通過后生成請假記錄,未通過,請假流程結(jié)束,如果請假時間大于3天,若未審核未通過則請假流程結(jié)束,若在輔導(dǎo)員崗審核通過,則提交到院領(lǐng)導(dǎo)崗進行審核,審核通過后生成請假記錄,未通過則請假流程結(jié)束;如圖4-1-2圖4-1-24.1.3權(quán)限設(shè)置流程:系統(tǒng)管理員可以通過權(quán)限設(shè)置進行添加不同的登錄角色并可以賦予不同的權(quán)限;如圖4-1-3圖4-1-34.1.4修改權(quán)限:系統(tǒng)管理員可以通過查詢出系統(tǒng)不同用戶類型的權(quán)限并可以進行各種權(quán)限的添加或者刪除進行修改;如圖4-1-4圖4-1-45. 主要功能的具體實現(xiàn)5.1請假功能的實現(xiàn)學(xué)生在

10、需要請假時,進入系統(tǒng)按照要求填寫好請假條的內(nèi)容確認后則提交請假申請交由輔導(dǎo)員進行審核。如圖所示:其部分代碼如下:Action:/* * 保存請假條信息 * return */public String addLeave()System.out.println("請假表信息:"+leave);String username = (String) getRequest().getSession().getAttribute("username");String rootType = (String) getRequest().getSession().get

11、Attribute("rootType");leaveService.doFirstAudi(leave, username, rootType);return SUCCESS;Struct.xml:<action name="leave_*" class="com.qjglms.struts.action.LeaveAction" method="1"> <result name="success">$forwardpage</result> </ac

12、tion>LeaveServiceImpl:/* * 填寫請假表(第一崗) * param leave 請假表對象 * param auditName 審核人,請假學(xué)生 * param auditPosi 審核崗位 * param auditStatus 審核狀態(tài) 1-未審核, 2-已審核 , 3-審核不通過 */Overridepublic void doFirstAudi(Leave leave,String auditName,String auditPosi) System.out.println("保存請假表,生成第一崗記錄-");/0-生成流水號UUID

13、uuid = UUID.randomUUID();leave.setLeaveNum(uuid.toString();/保存請假表leaveDAO.save(leave);/3-保存審核表/1.申請登記(學(xué)生自己)/(1)辦結(jié)本崗,流水號、審核人、崗位名稱、狀態(tài)=2(已審核)Audit audit1 = new Audit();audit1.setLeaveNum(uuid.toString();audit1.setAuditName(auditName);audit1.setAuditPosi(auditPosi);audit1.setStuName(auditName);audit1.se

14、tAuditStatus(2);auditDAO.save(audit1);/(2)初始化輔導(dǎo)員崗位,流水號、崗位名稱、狀態(tài)=1(未審核)Audit audit2 = new Audit();audit2.setLeaveNum(uuid.toString();audit2.setStuName(auditName);audit2.setAuditPosi("輔導(dǎo)員");audit2.setAuditStatus(1);auditDAO.save(audit2);5.2審核功能的實現(xiàn)學(xué)生提交請假申請后,提交到輔導(dǎo)員崗進行審核,如果請假時間小于或等于3天,輔導(dǎo)員審核通過后生成

15、請假記錄,未通過,請假流程結(jié)束,如果請假時間大于3天,若未審核未通過則請假流程結(jié)束,若在輔導(dǎo)員崗審核通過,則提交到院領(lǐng)導(dǎo)崗進行審核,審核通過后生成請假記錄,未通過則請假流程結(jié)束;如圖5-2-0和圖5-2-1圖5-1-0圖5-2-1其部分代碼如下LeaveAction:/* * 第二崗 * return */public String doSecond()System.out.println("審核信息+"+leave);System.out.println("審核批注+"+leave.getAuditNote();String username = (S

16、tring) getRequest().getSession().getAttribute("username");String rootType = (String) getRequest().getSession().getAttribute("rootType");leaveService.doSecond(leave, username, rootType);return null;/* * 最后一崗 * return */public String doEnd()System.out.println("院領(lǐng)導(dǎo)審核信息+"+l

17、eave);System.out.println("院領(lǐng)導(dǎo)審核批注+"+leave.getAuditNote();String username = (String) getRequest().getSession().getAttribute("username");String rootType = (String) getRequest().getSession().getAttribute("rootType");leaveService.doEnd(leave, username, rootType);return null

18、;LeaveServiceImpl:/* * 辦結(jié)第二崗 * param leave 請假表對象 * param auditNote 審核批注 * param auditName 審核人 * param auditPosi 審核人 */public void doSecond(Leave leave,String auditName, String auditPosi)/(1)辦結(jié)本崗,流水號、審核人、崗位名稱、狀態(tài)=2(已審核)int days =Integer.parseInt(leave.getLeaveDays();Audit audit1 = new Audit();audit1.s

19、etLeaveNum(leave.getLeaveNum();audit1.setAuditName(auditName);audit1.setAuditPosi("輔導(dǎo)員");audit1.setAuditNote(leave.getAuditNote();audit1.setAuditStatus(2);if(days<=3)/小于等于3天,成功標志設(shè)置為1audit1.setAuditEnd(1);Leave lea = new Leave();lea.setAuditName(auditName);lea.setAuditNote(leave.getAudit

20、Note();lea.setLeaveNum(leave.getLeaveNum();leaveDAO.updateLeave(lea);elseaudit1.setAuditEnd(0);auditDAO.updateByLeaveNum(audit1);if(days>3)/大于3天,生成下一崗記錄Audit audit2 = new Audit();audit2.setLeaveNum(leave.getLeaveNum();audit2.setStuName(leave.getStuName();audit2.setAuditPosi("院領(lǐng)導(dǎo)");audit

21、2.setAuditStatus(1);auditDAO.save(audit2);/* * 辦結(jié)最后一崗 * param leave 請假表對象 * param auditNote 審核批注 * param auditName 審核人 * param auditPosi 審核人 */public void doEnd(Leave leave,String auditName, String auditPosi)/(1)辦結(jié)本崗,流水號、審核人、崗位名稱、狀態(tài)=2(已審核)Audit audit = new Audit();audit.setLeaveNum(leave.getLeaveNum

22、();audit.setAuditName(auditName);audit.setAuditPosi("院領(lǐng)導(dǎo)");audit.setAuditNote(leave.getAuditNote();audit.setAuditStatus(2);audit.setAuditEnd(1);Leave lea = new Leave();lea.setAuditName(auditName);lea.setAuditNote(leave.getAuditNote();lea.setLeaveNum(leave.getLeaveNum();leaveDAO.updateLeave

23、(lea);auditDAO.updateByLeaveNum(audit);5.3權(quán)限修改功能系統(tǒng)管理員可以通過查詢出系統(tǒng)不同用戶類型的權(quán)限并可以進行各種權(quán)限的添加或者刪除進行修改;如圖:圖5-3圖5-3其部分代碼如下RoleAction:public String updateRole() throws IOExceptionSystem.out.println("更新的權(quán)限列表:"+role.getRootList();roleService.updateUser(role);setForwardpage(JSP_ROLE_LIST);tips = "修改成

24、功!"return SUCCESS;/* * 根據(jù)角色id查找權(quán)限列表返回前臺設(shè)置單選框的狀態(tài) * return * throws IOException */public String findListByRootID() throws IOExceptionString rootType = role.getRootType();role = roleService.findListByRootID(rootType);System.out.println("返回數(shù)據(jù)json:"+role);return "json2"RoleServic

25、eImpl:/* * 根據(jù)rootType獲取權(quán)限對象 * return Role */Overridepublic Role findListByRootID(String rootType) return roleDao.findRootListByRoottype(rootType);/* * 更新角色權(quán)限 * param role 權(quán)限對象 */Overridepublic void updateUser(Role role) Role role_1 = null;List list = roleDao.findByRootType(role.getRootType();if(list

26、.size()>0)role_1 = (Role) list.get(0);role_1.setRootList(role.getRootList();try roleDao.merge(role_1); catch (Exception e) e.printStackTrace();5.4導(dǎo)入功能學(xué)生、教師基本信息可以通過導(dǎo)入excel表格的方式進行批量添加,其部分代碼如下:JSP:<form action="<%=path %>/teacher_importTchExcel.action" method="post" enct

27、ype="multipart/form-data"><a>教師信息導(dǎo)入 </a><br>ServiceImpl:/* * 導(dǎo)入教師信息表格 */public void importTchExcel(Teacher teacher,String pwd)User user = new User();user.setPassword(pwd);user.setUsername(teacher.getTchName();user.setUserNum(teacher.getTchNum();user.setRootType(teacher

28、.getRootType();userDAO.save(user);teacherDAO.save(teacher);6系統(tǒng)的運行環(huán)境需求6.1硬件環(huán)境:1) 內(nèi)存:需要至少512MHZ2) 硬盤:40G以上6.2.軟件環(huán)境:1) 操作系統(tǒng):Windows XP/WIndows 7或Windows更高服務(wù)器版本2) 數(shù)據(jù)庫:Mysql5.53) 瀏覽器:IE8.0或更高版本、Chrome瀏覽器等主流瀏覽器7測試結(jié)果與分析7.1主要測試內(nèi)容 本次測試主要針對本次開發(fā)的請假管理信息系統(tǒng)進行系統(tǒng)測試主要包括功能測試、界面測試、負載測試文檔測試。 7.2軟件測試的目的 軟件質(zhì)量是由幾個方面來衡量的1)

29、 在有限的時間里有效的把一個工作正確無誤完成。2) 符合應(yīng)用標準的要求不同地區(qū)不同國家的用戶使用習(xí)慣不同項目工程中的可維護性、可測試性等要求。3) 質(zhì)量就是軟件達到了最開始客戶所想要的需求而代碼的優(yōu)美或精巧的技巧并不代表軟件的高質(zhì)量。4) 質(zhì)量也代表著它符合客戶的需要。作為軟件測試這個行業(yè)最重要的一件事就是從客戶的需求出發(fā)從客戶的角度去看產(chǎn)品客戶會怎么去使用這個產(chǎn)品使用過程中會遇到什么樣的問題。 7.2軟件測試的目的第一是確認軟件的質(zhì)量能正確的完成任務(wù)其一方面是確認軟件做了你所期望的事情另一方面是確認軟件以正確的方式來做了這個事件。 第二是提供反饋信息比如提供給開發(fā)人員或程序經(jīng)理的反饋信息為風(fēng)

30、險評估所準備的信息。 7.3軟件測試的任務(wù) 1) 尋找Bug 2) 避免軟件開發(fā)過程中的缺陷 3) 衡量軟件的品質(zhì) 4) 關(guān)注用戶的需求。 總的目標是:確保軟件的質(zhì)量 7.4測試方法 整個系統(tǒng)測試方法包括功能測試、負載測試、文檔測試。 7.4.1功能測試 對需求規(guī)格說明書中描述的所有功能通過配置Tomcat服務(wù)器讓客服端進行功能測試。測試中需要考慮惡意測試和正常的測試測試出系統(tǒng)的各種功能死角。 7.4.2負載測試 負載測試主要測試系統(tǒng)在多用戶在線登陸操作時候系統(tǒng)的運行情況不出現(xiàn)系統(tǒng)故障。負載測試利用自動測試工具開展網(wǎng)絡(luò)上有很多壓力測試工具。 7.4.3文檔測試 文檔測試主要包括用戶文檔、需求文

31、檔、設(shè)計文檔測試測試主要在文檔內(nèi)容的正確性、準確性保證了文檔的正確性才能是有效的文檔準確性是精確的表達出文檔的意思。采用走查的方式進行文檔測試。 7.5 測試環(huán)境 7.5.1硬件環(huán)境 1) 內(nèi)存:需要至少512MHZ 7.5.2軟件環(huán)境 1) 作系統(tǒng):Windows xp/Windows 7的服務(wù)器版本 2) 必裝軟件:Myeclipse9.0 Mysql5.5 Tomcat 6.0.1 7.6 系統(tǒng)具體測試 在此,由于版面有限,不可能將系統(tǒng)的每一個功能的測試都表現(xiàn)出來,下面是用戶登錄和學(xué)生添加請假單及審核功能進行測試。7.6.1用戶登錄測試:測試內(nèi)容測試數(shù)據(jù)測試結(jié)果用戶名密碼輸入有效數(shù)據(jù)adminadmin有效空數(shù)據(jù)空admin無效admin空無效空空無效7.6.2學(xué)生添加請假單測試:填寫請假單頁面:點擊提交后數(shù)據(jù)庫添加請假單成功:7.6.3審核功能測試:請假正常流程:學(xué)生填寫請假單,然后提交給班主任,如果3天以內(nèi)的請假單由班主任直接審批,3天以上的請假單,由班主任提交給院長審批,審批通過的任課老師可以查詢,然后更新學(xué)生考勤未通過直接回退給學(xué)生,學(xué)生重新提交。 1) 提出假設(shè)測試 假設(shè)學(xué)生提交3天以上的請假單,如請假一周,不通過院長審批,直接由班主任審批通過,完成請假流程。3天以上的請假班主任無權(quán)限審核必須傳遞給院長由院長審核通過。故假設(shè)無效。 2)

溫馨提示

  • 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

提交評論