基于BS架構(gòu)的考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于BS架構(gòu)的考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于BS架構(gòu)的考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于BS架構(gòu)的考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于BS架構(gòu)的考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

頁(yè)共48頁(yè)datetime日期Date0否否否context反饋內(nèi)容Text0否是否以上將教務(wù)處子系統(tǒng)中數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)的 E-R圖轉(zhuǎn)換成MySql所支持的數(shù)據(jù)模型相符合的結(jié)構(gòu),只需使用數(shù)據(jù)定義語(yǔ)言將數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果嚴(yán)格描述出來(lái),再經(jīng)過(guò)調(diào)試產(chǎn)生目標(biāo)模式就可以組織數(shù)據(jù)入庫(kù),進(jìn)行數(shù)據(jù)庫(kù)實(shí)施。.詳細(xì)設(shè)計(jì)考勤系統(tǒng)登陸界面效果圖(圖5-1):代碼設(shè)計(jì)登錄子系統(tǒng):在登陸頁(yè)面對(duì)應(yīng)的地方輸入用戶id名和密碼,確認(rèn)后登錄。在提交jsp文件之前,先進(jìn)行前臺(tái)的數(shù)據(jù)驗(yàn)證,如id位數(shù)不得少于5位,密碼不得少于5位,驗(yàn)證通過(guò)后提交jsp文件之,首先判斷id的位數(shù),如果id的位數(shù)為10位的話,則對(duì)數(shù)據(jù)庫(kù)中的student表進(jìn)行檢索,如果id的位數(shù)為5位的話,則到Teacher表中進(jìn)行查詢,否則,則到相對(duì)應(yīng)的學(xué)生工作管理了人員表、或者系統(tǒng)管理員表進(jìn)行檢索,若檢索到的記錄集為空,則說(shuō)明id錯(cuò)誤,從而轉(zhuǎn)到相對(duì)應(yīng)的出錯(cuò)處理程序,若驗(yàn)證成功,則進(jìn)行檢查密碼是否一致,不一致則做出錯(cuò)誤處理,若一致則跳轉(zhuǎn)到相對(duì)應(yīng)成功的歡迎界面,并將id、密碼以session對(duì)象保存起來(lái)。出錯(cuò)以及處理:在該模塊中可能發(fā)生的錯(cuò)誤有:id號(hào)錯(cuò)誤,系統(tǒng)這時(shí)會(huì)提示“無(wú)此用戶,請(qǐng)重新輸入”密碼錯(cuò)誤,系統(tǒng)會(huì)提示“密碼錯(cuò)誤”登錄失敗跳轉(zhuǎn)到原來(lái)的登錄界面,并在登陸框下方顯示錯(cuò)誤信息,若登錄成功,則直接轉(zhuǎn)入首頁(yè)。登錄成功界面又分為,學(xué)生,任課老師,班主任,管理員對(duì)應(yīng)不同的成功界面:詳細(xì)代碼設(shè)計(jì)如下:1)LoginAction:屬性:privateStringid;privateStringpassword;方法:privatevoidlogin();2)ILoginService:方法:privateStringuserLogin();3)LoginServiceImpl:屬性:privateStringid;privateStringpassword;方法:userLogin();4)IUserDao:方法:publicStringqueryUserByIDAndPassword();5)UserDaoImpl:方法:publicStringqueryUserByIDAndPassword();6)User:屬性:privateStringid;privateStringpassword;方法:setter()/setter()點(diǎn)名子系統(tǒng):進(jìn)入點(diǎn)名子系統(tǒng)的前提是用戶成功登陸,進(jìn)入課表頁(yè)面,選擇對(duì)應(yīng)的課程,點(diǎn)擊進(jìn)入該課程的點(diǎn)名頁(yè)面,對(duì)學(xué)生進(jìn)行點(diǎn)名,確定點(diǎn)名完畢之后提交。曠課的學(xué)生名單以及session對(duì)象傳遞到StudentRCList類中,通過(guò)RollCallAction把曠課的學(xué)生信息保存到數(shù)據(jù)庫(kù)的表中,更新數(shù)據(jù)庫(kù)中曠課學(xué)生表。學(xué)生工作可以設(shè)置學(xué)生免聽,在前臺(tái).jsp頁(yè)面中選擇相對(duì)應(yīng)的學(xué)生,提交學(xué)生id給后臺(tái)NOListenAction,NOListenAction通過(guò)調(diào)用業(yè)務(wù)邏輯類,設(shè)置學(xué)生表的免聽狀態(tài),并保存數(shù)據(jù)庫(kù)。詳細(xì)代碼設(shè)計(jì):1)RollCallController:屬性:privateIRollCallServicerollCallService;privateIQueryServiceOfLeavequeryLeaveService;方法:protectedMapreferenceData(HttpServletRequestrequest);2)IRollCallService:方法:PublicList<Student>queryStudents(intclassId,List<LeaveRequest>leaveList);3)RollCallServiceImpl:屬性:privateHibernateTemplatehibernateTemplate;privateLeaveRequestleave;方法:publicList<Student>queryStudents(intclassId,List<LeaveRequest>leaveList);publicList<Student>listStudents(intclassId);4)AddRCinfoSuccController:屬性:privateRollCallRecordrcRecord;privateRollCallFormrcForm;privateArrayList<Student>stuList;privateISaveRCInforServicesaveRCInforService;privateHibernateTemplatehibernateTemplate;方法:publicModelAndViewhandleRequest(HttpServletRequestrequest,HttpServletResponseresponse)5)ISaveRCInforService:方法:public boolean saveRCInfo(List<RollCallRecord>rcRecordList,RollCallFormrcForm);publicbooleansaveRCRecord(List<RollCallRecord>recordList);publicbooleansaveRCForm(RollCallFormrcForm);6)SaveRCInfoServiceImpl:屬性:privateHibernateTemplatehibernateTemplate;方法:publicbooleansaveRCInfo(List<RollCallRecord>rcRecordList,RollCallFormrcForm)統(tǒng)計(jì)子系統(tǒng):全部統(tǒng)計(jì):在統(tǒng)計(jì)頁(yè)面中點(diǎn)擊統(tǒng)計(jì)全部學(xué)生曠課記錄按鈕,即可查看整個(gè)學(xué)院全部有曠課記錄的學(xué)生,對(duì)學(xué)生曠課信息表進(jìn)行遍歷查詢,并顯示在相對(duì)應(yīng)頁(yè)面。統(tǒng)計(jì)班級(jí),在頁(yè)面對(duì)應(yīng)搜索框輸入班級(jí),根據(jù)關(guān)鍵字對(duì)學(xué)生曠課信息表進(jìn)行部分查詢,并顯示。1)點(diǎn)名考勤統(tǒng)計(jì)類圖如下(圖5-1):w0二1RcllCalllte-O-RallCallSer\-ieeRollCalIForzDaDo..lttati.iticiRCFons0findAbstntRtcordt()fttRCForaStB.tiitictlnf*()findribftntRtcordi。亳tRCF白=*0 E 。一1RollCallFaragetRCF&rzLStatisticslafcaUfiudAbsentHecords二getRCFcurwE()AdsinRolICtlIC^ntrollerlifitTeacherK^llCallFors()listAlIStuRCReccrds0sijGTsRCForzisQ5-1點(diǎn)名考勤類圖2)請(qǐng)假統(tǒng)計(jì)類圖如下(圖5-2):圖5-2請(qǐng)假統(tǒng)計(jì)類圖請(qǐng)假子系統(tǒng):學(xué)生登錄對(duì)應(yīng)的請(qǐng)假頁(yè)面,填寫請(qǐng)假信息,提交之后將請(qǐng)假信息作為一條記錄插入到請(qǐng)假條數(shù)據(jù)表中,學(xué)生工作管理登錄系統(tǒng)之后,點(diǎn)擊查看請(qǐng)假條按鈕,遍歷請(qǐng)假條數(shù)據(jù)表并顯示,若批準(zhǔn)請(qǐng)假,則查找到學(xué)生曠課信息表中請(qǐng)假的學(xué)生,并刪除對(duì)應(yīng)記錄,若不批準(zhǔn),則改變假條的狀態(tài)為refused并保存數(shù)據(jù)庫(kù)。詳細(xì)代碼設(shè)計(jì)1)AskLeaveController屬性:privateIQueryServiceCoursequeryCourseService;方法:protectedMapreferenceData(HttpServletRequestrequest);IQueryServiceCourse方法:publicString□□queryCourse(StringtID,intwhichWeek);publicint口□queryEducationalClassId();QueryServiceOfCourselmpl屬性:privateHibernateTemplatehibernateTemplate;方法:publicString□□queryCourse(StringtID,intwhichWeek);publicint口口queryEducationalClassId()publicList<EducationalArrangement>listCourses()基礎(chǔ)數(shù)據(jù)維護(hù)系統(tǒng):(補(bǔ)充中)SpringSecurity設(shè)計(jì)SpringSecurity的介紹Spring安全是一個(gè)功能強(qiáng)大和高度可自定義的身份驗(yàn)證和訪問(wèn)控制框架。 它是在事實(shí)上標(biāo)準(zhǔn)確保基于Spring的應(yīng)用程序Spring安全是最成熟和廣泛使用的Spring項(xiàng)目之一。成立2003年和積極維護(hù)的SpringSource,它用于安全的許多苛刻的環(huán)境,包括政府機(jī)構(gòu)、 軍事應(yīng)用程序和中央銀行。它是根據(jù)一個(gè)Apache2.0許可證釋放,以便可以放心地使用它在本考勤系統(tǒng)項(xiàng)目中。Spring安全也很容易了解、部署和管理。本系統(tǒng)專注于的安全命名空間提供了允許的XML只用幾行中的完整的應(yīng)用程序安全的最常見(jiàn)操作的指令。SpringSecurity對(duì)WebSecurity的支持大量地依賴于Servlet過(guò)濾器。這些過(guò)濾器攔截進(jìn)入請(qǐng)求,并且在應(yīng)用程序處理該請(qǐng)求之前進(jìn)行某些安全處理。SpringSecurity提供有若干個(gè)過(guò)濾器,它們能夠攔截Servlet請(qǐng)求,并將這些請(qǐng)求轉(zhuǎn)給認(rèn)證和訪問(wèn)決策管理器處理,從而增強(qiáng)Security。SpringSecurity的特點(diǎn):(1)高可移植性;作為spring的一個(gè)開源工具,具有同spring相同的可移植性;(2)可配置性;這點(diǎn)在下面的例子中可看到;(3)具有豐富靈活的驗(yàn)證模型,下面是列舉的幾個(gè)認(rèn)證技術(shù):HTTPBASICauthenticationheaders( 一個(gè)基于IEFTRFC的標(biāo)準(zhǔn))②LDAP(一個(gè)非常常見(jiàn)的跨平臺(tái)認(rèn)證需要做法,特別是在大環(huán)境 )JA-SIGCentralAuthenticationService( 也被稱為CAS這是一個(gè)流行的開源單點(diǎn)登錄系統(tǒng))JavaAuthenticationandAuthorizationService(JAAS)Form-basedauthentication( 提供簡(jiǎn)單用戶接口的需求)SpringSecurity是一個(gè)開放的平臺(tái),可以編寫自己的驗(yàn)證機(jī)制。SpringSecurity 的驗(yàn)證與授權(quán)介紹首先本系統(tǒng)必須要分清驗(yàn)證與授權(quán)之間的區(qū)別,這樣才能使本系統(tǒng)更好的理解他們?cè)赟pringSecurity中所代表的含義。顧名思義,看上去他們的區(qū)別很明顯,但是對(duì)于本系統(tǒng)來(lái)說(shuō),重要的是理解他們之間的關(guān)聯(lián)關(guān)系。從字面上看,兩者中文的區(qū)別一目了然,但是在英文中這兩個(gè)單詞是非常容易混淆的。驗(yàn)證:通常當(dāng)某個(gè)角色要識(shí)別某個(gè)個(gè)體或者某段進(jìn)程(請(qǐng)求)的身份時(shí),都要對(duì)他們所提供的身份信息進(jìn)行鑒定,這個(gè)鑒定過(guò)程可以稱之為驗(yàn)證。授權(quán):系統(tǒng)賦予某個(gè)個(gè)體在一定范圍內(nèi)從事某些行動(dòng)的權(quán)利,這個(gè)過(guò)程可以稱之為授權(quán)。驗(yàn)證與授權(quán)的特點(diǎn)驗(yàn)證是通過(guò)檢查身份信息來(lái)確定某個(gè)個(gè)體的過(guò)程,驗(yàn)證是決定某個(gè)個(gè)體行為規(guī)范的行為。簡(jiǎn)單來(lái)說(shuō),驗(yàn)證是確定你是誰(shuí)?授權(quán)則是允許你做什么。舉例來(lái)說(shuō),有些時(shí)候你需要出示駕照來(lái)說(shuō)明你的身份,這就是一種驗(yàn)證的表現(xiàn)形式。而在很多時(shí)候,你的駕照做為一種證明你身份的手段來(lái)使你通過(guò)驗(yàn)證以及獲得各種授權(quán)。SpringSecurity驗(yàn)證與授權(quán)的特點(diǎn)分別為:驗(yàn)證的特點(diǎn).支持多種驗(yàn)證方式.支持多種加密格式.支持組件的擴(kuò)展和替換.可以本地化輸出信息.3.2授權(quán)的特點(diǎn).支持多種仲裁方式.支持組件的擴(kuò)展和替換.支持對(duì)頁(yè)面訪問(wèn)、方法訪問(wèn)、對(duì)象訪問(wèn)的授權(quán).4SpringSecurity核心安全實(shí)現(xiàn)如下圖是SpringSecurity的主要組件圖(圖6-1):圖6-1SpringSecurity組件圖.5權(quán)限分配設(shè)計(jì)權(quán)限分配概述:系統(tǒng)中對(duì)學(xué)生考勤信息管理主要用戶:任課老師、班主任、學(xué)生工作管理人員、學(xué)生、系統(tǒng)管理員,針對(duì)五個(gè)角色的使用需求,系統(tǒng)提供以下功能與權(quán)限分配:任課老師:登錄、登出、查看課表、進(jìn)入具體教學(xué)班進(jìn)行點(diǎn)名、提交考勤數(shù)據(jù)、上報(bào)考勤數(shù)據(jù)、查看考勤提交情況、查看考勤數(shù)據(jù)、和班主任通訊。學(xué)生工作管理人員:登錄、登出、導(dǎo)出教師提交的考勤數(shù)據(jù)、查看全體學(xué)生考勤信

息、統(tǒng)計(jì)學(xué)生累計(jì)曠課信息、修改學(xué)生考勤信息、編輯和發(fā)出處罰公示、設(shè)置學(xué)生免聽。班主任:登錄、登出、查看本班考勤數(shù)據(jù)、和任課老師之間的留言。學(xué)生:登錄、登出、查看自己的考勤數(shù)據(jù)、進(jìn)入請(qǐng)假子系統(tǒng)進(jìn)行請(qǐng)假、申請(qǐng)調(diào)課。系統(tǒng)管理員:登錄、登出、導(dǎo)入教師信息、批量導(dǎo)入學(xué)生信息、批量導(dǎo)入課程信息、對(duì)導(dǎo)入的信息進(jìn)行修改。.6SpringSecurity配置(代碼實(shí)現(xiàn))Web.xml配置Java代碼:<filter><filter-name>springSecuhtyFilterChain</filter-name><filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class></filter><filter-mapping><filter-name>springSecurityFilterChain</filter-name><url-pattern>/*</url-pattern></filter-mapping><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>Spring 配置文件中設(shè)置命名空間Java代碼:<?xmlversion="1.0"encoding="UTF-8"?><beans:beansxmlns="/schema/secuhty”xmlns:beans="/schema/beans”xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beanshttp://www.springframework.Org/schema/beans/spring-beans-3.0.xsd/schema/securityhttp://www.springframework.Org/schema/security/spring-security-3.0.xsd"></beans:beans>配置最基本的驗(yàn)證與授權(quán)(applicationContext-security.xml酉己置)Java代碼:<httpauto-config="true"><intercept-urlpattern="/**"access="ROLE_USER”/></http><authentication-manager><authentication-provider><user-service><username="tom"password="123"authorities="ROLE_USER,ROLE_A"/><username="jerry"password="123"authorities="ROLE_USER,ROLE_B"/></user-service></authentication-provider></authentication-manager>通過(guò)數(shù)據(jù)庫(kù)驗(yàn)證用戶身份Java代碼:<authentication-manager><authentication-provider><password-encoderhash="md6/><jdbc-user-servicedata-source-ref="dataSource"/></authentication-provider></authentication-manager>完善web頁(yè)面驗(yàn)證規(guī)則Java代碼:<httpauto-config="true"><intercept-urlpattern="/js/**"filters="none"/><intercept-urlpattern="/css/**"filters="none"/><intercept-urlpattern="/images/**"filters="none"/><intercept-urlpattern="/a.jsp"access="ROLE_A"/><intercept-urlpattern="/b.jsp"access="ROLE_B"/><intercept-urlpattern="/c.jsp"access="ROLE_A,ROLE_B"/><intercept-urlpattern="/**"access="ROLE_USER”/></http>自定義驗(yàn)證配置Java代碼:<httpauto-config="true"><!--指定登陸頁(yè)面、成功頁(yè)面、失敗頁(yè)面--><form-loginlogin="/login.jsp"default-target-url="/index.jsp”authentication-failure-url="/login.jsp”/><!--嘗試訪問(wèn)沒(méi)有權(quán)限的頁(yè)面時(shí)跳轉(zhuǎn)的頁(yè)面 --><access-denied-handlererror="/accessDenied.jsp”/><!--使用記住用戶名、密碼功能,指定數(shù)據(jù)源和加密的 key--><remember-medata-source-ref="dataSource”/><!--logout頁(yè)面,logout后消除session--><logoutinvalidate-session="true"logout-success-url="/login.jsp"/><!--session 失效后跳轉(zhuǎn)的頁(yè)面,最大登陸次數(shù) --><session-managementinvalid-session-url="/sessionTimeout.htm"><concurrency-controlmax-sessions="1"expired-urH7sessionTimeout.htm”/></session-management></http>本地化消息輸生拷貝本地化資源文件后,在配置文件中加載該文件:Java代碼:<!--加載錯(cuò)誤信息資源文件--><beans:beanid="messageSource”class="org.springframework.context.support.ReloadableResourceBundleMessageSource"><beans:propertyname="basename"value="classpath:messages”/></beans:bean>資源文件在SpringSecurity核心包:spring-secuhty-core-3.02RELEASE.jar 的orgspringframeworksecurity目錄中。在web頁(yè)面中獲取用戶信息Java代碼:方式一:Java代碼Authenticationauth=SecurityContextHolder.getContext().getAuthentication();Collection<GrantedAuthority>col=auth.getAuthorities();方式二:標(biāo)簽庫(kù)<%@aglibprefix="sec"uri="/security/tags" %><sec:authenticationproperty="name"/><sec:authenticationproperty="authorities "/>在web頁(yè)面進(jìn)行元素安全控制Java代碼:<sec:authorizeifAnyGranted="ROLE_A”><ahref="a.jsp"> 你可以訪問(wèn)a.jsp</a></sec:authorize><sec:authorizeifNotGranted="ROLE_A”>你不可以訪問(wèn)a.jsp</sec:authorize>方式一<sec:authorizeurl="/a.jsp”><ahref="a.jsp">你可以訪問(wèn)a.jsp</a></sec:authorize>全局方法安全控制Java代碼:<global-method-secuhtypre-post-annotations="enabled"><protect-pointcutexpression="execution(*com.xasxt.*Service.add*(..))”access="ROLE_A"/><protect-pointcutexpression="execution(*com.xasxt.*Service.delete*(..))”access="ROLE_B"/></global-method-security>使用注解進(jìn)行方法安全控制Java代碼:publicclassDemoService{@PreAuthorize("hasRole('ROLE_A')")publicvoidmethodA(){}@PreAuthorize("hasAnyRole('ROLE_A,ROLE_B')")publicvoidmethodB(){}}hasRole與hasAnyRole為SS通用內(nèi)置表達(dá)式(google:springsecurityCommonBuilt-InExpressions)6.測(cè)試階段完成整個(gè)考勤管理系統(tǒng)后,要對(duì)其進(jìn)行測(cè)試與維護(hù)。測(cè)試是系統(tǒng)開發(fā)周期中一個(gè)十分重要的階段,其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對(duì)整個(gè)系統(tǒng)開發(fā)過(guò)程的最終審查。必須要非常重視測(cè)試。測(cè)試目的測(cè)試的對(duì)象不僅僅是請(qǐng)假,批假等子功能,而是整個(gè)考勤管理系統(tǒng)。以系統(tǒng)測(cè)試為核心,以找出錯(cuò)誤為目的。不是要證明程序和系統(tǒng)無(wú)錯(cuò),而是要精心選取那些易于發(fā)生錯(cuò)誤的測(cè)試數(shù)據(jù),如學(xué)生信息的邊界值,請(qǐng)假數(shù)據(jù)的整理等,都要以十分挑剔的態(tài)度,證明其是有錯(cuò)的。并且要驗(yàn)證考勤管理系統(tǒng)是否滿足教師和學(xué)生需求。測(cè)試內(nèi)容模塊功能測(cè)試、接口正確性測(cè)試、數(shù)據(jù)庫(kù)存取的測(cè)試、運(yùn)行時(shí)間的測(cè)試、設(shè)計(jì)約束和極限的測(cè)試等。測(cè)試資料本項(xiàng)測(cè)試所需的資料:a.可行性分析報(bào)告、需求分析報(bào)告、概要設(shè)計(jì)報(bào)告和詳細(xì)設(shè)計(jì)報(bào)告b.測(cè)試的輸入和輸出舉例:對(duì)于考勤管理功能,輸入:學(xué)生編號(hào);輸出:考勤統(tǒng)計(jì)此項(xiàng)測(cè)試用例的模板(以統(tǒng)計(jì)子模塊為例)項(xiàng)目/軟件學(xué)生考勤管理系統(tǒng)程序版本2012.09功能模塊名學(xué)生考勤統(tǒng)計(jì)模塊編制人用例編號(hào)A1編制時(shí)間2012.10.22相關(guān)的用例學(xué)生考勤統(tǒng)計(jì),學(xué)生信息功能特性輸入查詢條件后夠輸出相應(yīng)的信息測(cè)試目的檢測(cè)此項(xiàng)功能是否實(shí)現(xiàn)預(yù)置條件考勤信息全部輸出特殊規(guī)程說(shuō)明測(cè)試數(shù)據(jù)學(xué)生考勤信息操作步驟操作描述數(shù)據(jù)期望結(jié)果1輸入查詢條件學(xué)生帳號(hào)、密碼輸入查詢條件2輸出查詢結(jié)果學(xué)生各項(xiàng)資料輸出考勤信息測(cè)試人員葉國(guó)帥開發(fā)人員黑盒測(cè)試接口測(cè)試:1、業(yè)務(wù)需求和軟件設(shè)計(jì)的功能上的偏差(1)在業(yè)務(wù)需求里用戶給系統(tǒng)提供參考的意見(jiàn)和建議,并且制定詳細(xì)的學(xué)生個(gè)人信息;(2)在業(yè)務(wù)需求里還需要處理新舊學(xué)生用戶,恢復(fù)用戶初始密碼的功能,在概要和詳細(xì)設(shè)計(jì)里都未提到。2、在接口上,輸入和輸出的正確性(1)根據(jù)業(yè)務(wù)的需求,無(wú)論哪種角色在登錄該系統(tǒng)時(shí)都要輸入對(duì)應(yīng)的用戶名和密碼,根據(jù)詳細(xì)設(shè)計(jì)里的各個(gè)用戶的數(shù)據(jù)結(jié)構(gòu),其輸入輸出方面沒(méi)有太大的錯(cuò)誤;(2)業(yè)務(wù)需求上并沒(méi)有規(guī)定實(shí)現(xiàn)該軟件功能的具體的數(shù)據(jù)結(jié)構(gòu),又根據(jù)詳細(xì)的設(shè)計(jì),其各個(gè)角色的數(shù)據(jù)結(jié)構(gòu)使用正確,沒(méi)有明顯的錯(cuò)誤。3、性能上的要求性能的具體體現(xiàn)在系統(tǒng)所選的操作系統(tǒng)以及編程語(yǔ)言的簡(jiǎn)潔和高效等因素,在這里無(wú)法得出具體的結(jié)論。4、軟件的初始化和終止性的錯(cuò)誤和提示根據(jù)業(yè)務(wù)需求,打開該軟件的初始化界面是軟件整體界面,選中考勤信息界面后轉(zhuǎn)到輸入界面,要求角色(學(xué)生/教師/管理員/學(xué)生工作管理員)輸入用戶名和密碼,如果輸入錯(cuò)誤該系統(tǒng)會(huì)有輸入錯(cuò)誤的提示,并要求重新輸入。測(cè)試具體設(shè)計(jì)方案1、等價(jià)類劃分根據(jù)詳細(xì)設(shè)計(jì)報(bào)告,各個(gè)用戶的輸入的數(shù)據(jù)結(jié)構(gòu)已經(jīng)設(shè)計(jì)好,當(dāng)要求輸入的內(nèi)容都滿足條件時(shí)則直接進(jìn)入系統(tǒng),若不滿足時(shí)則出現(xiàn)“輸入錯(cuò)誤,請(qǐng)重新輸入”的提示框,所以由上述的數(shù)據(jù)結(jié)構(gòu)可以建立輸入等價(jià)類表:(1)輸入等價(jià)類表(表7-1):表7-1班級(jí)表輸入條件有效等價(jià)類無(wú)效等價(jià)類用戶名小于24位(1)用戶名長(zhǎng)度為0(2)或超過(guò)24位⑶密碼密碼長(zhǎng)度等于8位(4)密欠「長(zhǎng)度不等于8位(5)驗(yàn)證碼驗(yàn)證碼長(zhǎng)度不超過(guò)4位(6)驗(yàn)證碼長(zhǎng)度為0(7)或超過(guò)4位(8)登錄權(quán)限管理者(9)、普通用戶(10)與數(shù)據(jù)庫(kù)信息不符(11)根據(jù)上述的輸入等價(jià)類表,可以對(duì)等價(jià)類劃分作測(cè)試用例:正確的輸入如下:用戶名:zhangsan密碼:20130101驗(yàn)證碼:daf4登錄權(quán)限:管理員滿足有效等價(jià)類中的(1)、(4)、(6)、(9)錯(cuò)誤的的輸入如下:賬戶:(未輸入)密碼:123456驗(yàn)證碼:kilw登錄權(quán)限:(未輸入)滿足無(wú)效等價(jià)類中的(2)、(5)、(11)錯(cuò)誤的的輸入如下:賬戶:(輸入超過(guò)24位)密碼:12345678驗(yàn)證碼:kilw登錄權(quán)限:管理員滿足無(wú)效等價(jià)類中的(3)等等。根據(jù)上面的測(cè)試用例可以列出下表加以詳細(xì)說(shuō)明(表 7-2):表7-2班級(jí)表用例編號(hào)測(cè)試內(nèi)容預(yù)期結(jié)果實(shí)際結(jié)果結(jié)果分析①用戶的輸入進(jìn)入系統(tǒng)符合測(cè)試通過(guò)②“輸入錯(cuò)誤,請(qǐng)重新輸入”的提示符合測(cè)試通過(guò)③“輸入錯(cuò)誤,請(qǐng)重新輸入”的提示死機(jī)測(cè)試失敗2、邊界值分析各個(gè)用戶模塊的輸入部分根據(jù)上面對(duì)各個(gè)用戶模塊的輸入部分作的等價(jià)類表,進(jìn)行邊界值分析的測(cè)試,其余的用戶模塊參照學(xué)員模塊的測(cè)試用例。(1)輸入等價(jià)類表(表7-3):表7-3班級(jí)表輸入條件有效等價(jià)類無(wú)效等價(jià)類用戶名小于24位(1)用戶名長(zhǎng)度為0(2)或超過(guò)24位⑶密碼密碼長(zhǎng)度等于8位(4)密6當(dāng)長(zhǎng)度不等于8位(5)驗(yàn)證碼驗(yàn)證碼長(zhǎng)度不超過(guò)4位(6)驗(yàn)證碼長(zhǎng)度為0(7)或超過(guò)4位(8)登錄權(quán)限管理者(9)、普通用戶(10)與數(shù)據(jù)庫(kù)信息不符(11)以上述的輸入等價(jià)類表為基礎(chǔ),采用邊界值分析方法作以下測(cè)試用例:測(cè)試用例①:賬戶:monsoon密碼:12345678驗(yàn)證碼:kilw登錄權(quán)限:普通用戶測(cè)試用例②:賬戶:(輸入長(zhǎng)度恰為24位)密碼:12345678驗(yàn)證碼:kilw登錄權(quán)限:管理員測(cè)試用例③:賬戶:monsoon密碼:123456驗(yàn)證碼:(輸入長(zhǎng)度恰為4位)登錄權(quán)限:普通用戶根據(jù)上面的測(cè)試用例可以列出下表加以詳細(xì)說(shuō)明(表 7-4):表7-4班級(jí)表用例編號(hào)測(cè)試內(nèi)容預(yù)期結(jié)果實(shí)際結(jié)果結(jié)果分析①用戶的輸入部分直接進(jìn)入系統(tǒng)符合測(cè)試通過(guò)②直接進(jìn)入系統(tǒng)中斷測(cè)試失?、壑苯舆M(jìn)入系統(tǒng)符合測(cè)試通過(guò)其余用戶模塊部分的邊界值測(cè)試參照用戶的,在此不加以詳述測(cè)試退出標(biāo)準(zhǔn)⑴單元測(cè)試退出標(biāo)準(zhǔn):?jiǎn)卧獪y(cè)試用例設(shè)計(jì)已經(jīng)通過(guò)評(píng)審;核心代碼100%經(jīng)過(guò)CodeReview;③單元測(cè)試功能覆蓋率達(dá)到100%;④單元測(cè)試代碼行覆蓋率不低于80%;⑤所有發(fā)現(xiàn)缺陷至少60%都納入缺陷追蹤系統(tǒng)且各級(jí)缺陷修復(fù)率達(dá)到標(biāo)準(zhǔn);⑥按照單元測(cè)試用例完成了所有規(guī)定單元的測(cè)試;⑦軟件單元功能與設(shè)計(jì)一致。(2)集成測(cè)試退出標(biāo)準(zhǔn):①集成測(cè)試用例設(shè)計(jì)已經(jīng)通過(guò)評(píng)審;②集成工作版本滿足設(shè)計(jì)定義的各項(xiàng)功能、性能要求;③在集成測(cè)試中發(fā)現(xiàn)的錯(cuò)誤已經(jīng)得到修改,各級(jí)缺陷修復(fù)率達(dá)到標(biāo)準(zhǔn);AB類BU8能存在;GDE類BUGfc許存在,但不能超過(guò)單元測(cè)試總BUG勺50%;3)系統(tǒng)測(cè)試退出標(biāo)準(zhǔn):①系統(tǒng)測(cè)試用例設(shè)計(jì)已經(jīng)通過(guò)評(píng)審;②按照系統(tǒng)測(cè)試計(jì)劃完成了系統(tǒng)測(cè)試;③系統(tǒng)測(cè)試的功能覆蓋率達(dá)100%;④系統(tǒng)的功能和性能滿足產(chǎn)品需求規(guī)格說(shuō)明書的要求;⑤在系統(tǒng)測(cè)試中發(fā)現(xiàn)的錯(cuò)誤已經(jīng)得到修改并且各級(jí)缺陷修復(fù)率達(dá)到標(biāo)準(zhǔn);系統(tǒng)測(cè)試后不存在A、B類缺陷;GD類缺陷允許存在,不超過(guò)總?cè)毕莸?%;E類缺陷允許存在,不超過(guò)總?cè)毕莸?0%;7.6評(píng)價(jià)準(zhǔn)則范圍測(cè)試重點(diǎn)是模塊功能測(cè)試和接口測(cè)試,其次進(jìn)行運(yùn)行時(shí)間測(cè)試數(shù)據(jù)整理在輸入測(cè)試用例里軟件輸出結(jié)果滿足各項(xiàng)功能需求, 在考慮的范圍內(nèi)運(yùn)行沒(méi)有出現(xiàn)太大差錯(cuò)。尺度軟件運(yùn)行過(guò)程中在輸入用例測(cè)試?yán)?,?shí)際部分與預(yù)期效果存在兩例的偏差,其中一例為死機(jī),另一例為中斷,但是在允許的錯(cuò)誤范圍之內(nèi)。結(jié)語(yǔ)考勤作為一個(gè)學(xué)校上課的基礎(chǔ)管理,是老師對(duì)學(xué)生學(xué)習(xí)管理的基本依據(jù)。運(yùn)用信息技術(shù)開發(fā)出考勤管理系統(tǒng),更是讓考勤這一項(xiàng)任務(wù)變得更便捷,更高效。該考勤管理系系統(tǒng)從符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用、安全的要求出發(fā),以 B/S模式完成日常的考勤操作。教師用戶可以通過(guò)該系統(tǒng)實(shí)現(xiàn)個(gè)人登陸,快捷點(diǎn)名等工作。學(xué)生用戶可以通過(guò)該系統(tǒng)實(shí)現(xiàn)個(gè)人登陸,請(qǐng)假,查看相關(guān)考勤信息等功能。學(xué)生處管理員可以通過(guò)該系統(tǒng)實(shí)現(xiàn)個(gè)人登陸,完成基礎(chǔ)數(shù)據(jù)維護(hù),統(tǒng)計(jì),發(fā)布公告等操作。經(jīng)過(guò)實(shí)際使用證明,本文所設(shè)計(jì)的系統(tǒng)可以滿足信息技術(shù)學(xué)院進(jìn)行日常的學(xué)生考勤管理方面的需要。 采用最新的前端技術(shù),設(shè)計(jì)了清新的界面,讓教學(xué)管理系統(tǒng)更加完整和豐滿參考文獻(xiàn)[1]作者:BudiKurniawan,《深入淺出Struts?;[2]作者:高宇

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論