淺談學(xué)生公寓管理系統(tǒng)設(shè)計_第1頁
淺談學(xué)生公寓管理系統(tǒng)設(shè)計_第2頁
淺談學(xué)生公寓管理系統(tǒng)設(shè)計_第3頁
淺談學(xué)生公寓管理系統(tǒng)設(shè)計_第4頁
淺談學(xué)生公寓管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

淺談學(xué)生公寓管理系統(tǒng)設(shè)計【摘要】隨著計算機(jī)信息管理的普及和發(fā)展,信息自動化管理已成為必然趨勢。一個能大大提高學(xué)生宿舍管理績效的管理系統(tǒng)尤為重要,不僅可以方便各方相關(guān)人員在宿舍管理的信息交流、查詢、修改,也極大方便了管理工作,降低相關(guān)管理人員的管理工作量?;谝陨锨闆r,本文提出了開發(fā)學(xué)生公寓管理系統(tǒng)的方案,方案采用Jsp及MySQL,使用eclipse開發(fā)完成,系統(tǒng)支持三大用戶類型,分為系統(tǒng)管理員、宿舍管理員以及學(xué)生,登錄時通過用戶識別跳轉(zhuǎn)至各自用戶類型對應(yīng)的用戶頁面。系統(tǒng)管理員擁有最高權(quán)限,宿舍管理員、學(xué)生的管理及賬號的創(chuàng)建均由系統(tǒng)管理員完成。同時,系統(tǒng)還具有修改密碼、學(xué)生管理、宿舍樓管理、宿舍管理員管理、缺寢記錄管理等功能,其中,系統(tǒng)管理員幾乎擁有全部功能,宿舍管理員擁有學(xué)生查看功能、缺寢記錄管理功能和修改密碼功能,學(xué)生缺寢記錄查看功能和修改密碼功能。整個系統(tǒng)層次結(jié)構(gòu)簡潔明了,權(quán)限分明,對于提高學(xué)生公寓信息的管理效率有著極大的助益?!娟P(guān)鍵詞】Jsp;MySQL;eclipse;學(xué)生公寓管理DiscussiononthedesignofstudentapartmentmanagementsystemWiththepopularizationanddevelopmentofcomputerinformationmanagement,informationautomationmanagementhasbecomeaninevitabletrend.Amanagementsystemthatcangreatlyimprovethemanagementperformanceofstudentdormitoryisparticularlyimportant.Itcannotonlyfacilitatetheinformationexchange,queryandmodificationofrelevantpersonnelindormitorymanagement,butalsogreatlyfacilitatethemanagementworkandreducethemanagementworkloadofrelevantmanagementpersonnel.Basedontheabovesituation,thispaperproposesaplantodevelopastudentapartmentmanagementsystem.TheplanadoptsJspandMySQLandisdevelopedbyeclipse.Thesystemsupportsthreetypesofusers,namelysystemadministrator,dormitoryadministratorandstudent.Systemadministratorhasthehighestauthority,dormitoryadministrator,studentmanagementandaccountcreationarecompletedbythesystemadministrator.Atthesametime,thesystemalsohaschangepasswords,studentmanagement,dormitorymanagement,dormitorymanagement,lackoflayrecordsmanagement,andotherfunctions,thesystemadministratortohavenearlyallfunctions,thedormitoryadministratorhasstudentsviewthesleepfunction,lackofrecordmanagementfunctionandmodifythepasswordfunction,studentslackoflayrecordstocheckthefunctionandmodifythepasswordfunction.Thewholesystemhasasimplehierarchicalstructureandclearauthority,whichisofgreathelptoimprovethemanagementefficiencyofstudentapartmentinformation.Keywords:Studentapartmentmanagement;jsp;MySQL;eclipse目錄1系統(tǒng)總體設(shè)計 11.1總體思路 11.2系統(tǒng)總體結(jié)構(gòu)規(guī)劃 11.2.1系統(tǒng)管理員功能結(jié)構(gòu)圖 21.2.2宿舍管理員功能結(jié)構(gòu)圖 21.2.3學(xué)生功能結(jié)構(gòu)圖 31.3數(shù)據(jù)庫設(shè)計 41.3.1數(shù)據(jù)庫表需求分析 41.3.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 41.3.3數(shù)據(jù)庫表的規(guī)劃 62系統(tǒng)詳細(xì)設(shè)計 112.1登錄流程圖 112.2系統(tǒng)管理員操作流程圖 112.2.1宿舍管理員管理操作流程圖 122.2.2學(xué)生管理操作流程圖 132.2.3宿舍樓管理流程圖 142.2.4缺寢記錄流程圖 153系統(tǒng)實現(xiàn) 173.1開發(fā)環(huán)境 173.2代碼實現(xiàn)結(jié)構(gòu) 173.3界面設(shè)計與實現(xiàn) 173.3.1登錄界面的設(shè)計與實現(xiàn) 173.3.2用戶界面的設(shè)計與實現(xiàn) 203.4數(shù)據(jù)庫實現(xiàn) 223.5功能實現(xiàn) 233.5.1登錄模塊的設(shè)計與實現(xiàn) 233.5.2宿舍管理員管理模塊的設(shè)計與實現(xiàn) 273.5.3學(xué)生管理模塊的設(shè)計與實現(xiàn) 283.5.4宿舍樓管理模塊的設(shè)計與實現(xiàn) 303.5.5缺寢記錄模塊的設(shè)計與實現(xiàn) 323.5.6修改密碼模塊的設(shè)計與實現(xiàn) 373.5.7首頁與退出系統(tǒng)的設(shè)計與實現(xiàn) 384系統(tǒng)測試 394.1測試的目的 394.2黑盒測試 394.3測試用例的設(shè)計 394.3.1登錄模塊測試 404.3.2宿舍管理員管理模塊測試 514.3.3學(xué)生管理模塊測試 544.3.4宿舍樓管理模塊測試 574.3.5缺寢記錄管理模塊測試 604.3.6修改密碼測試 62結(jié)論 65參考文獻(xiàn) 66致謝 671系統(tǒng)總體設(shè)計1.1總體思路該系統(tǒng)面對的對象有系統(tǒng)管理員、學(xué)生和宿舍管理員,三者通過各自的賬號進(jìn)入該系統(tǒng),然后完成各自需要完成的操作。其中,學(xué)生可以查詢、提交信息及修改密碼;宿舍管理員可以查看學(xué)生信息、公寓信息及提交考勤信息;系統(tǒng)管理員可以管理宿管、樓宇、學(xué)生信息等。因此,在系統(tǒng)實現(xiàn)之前,需要先確定不同用戶類型之間的權(quán)限。這需要對系統(tǒng)做詳細(xì)的需求分析,確定每個用戶類型在系統(tǒng)內(nèi)應(yīng)該擁有的操作權(quán)限,并且在設(shè)計數(shù)據(jù)庫的時候,我們需要給每個實體設(shè)計合適的屬性。1.2系統(tǒng)總體結(jié)構(gòu)規(guī)劃學(xué)生公寓管理系統(tǒng)整體上包括了四個主要模塊:登陸模塊、系統(tǒng)管理員模塊、宿舍管理員模塊、學(xué)生模塊。模塊之內(nèi)亦存在許多功能,因用戶的權(quán)限不同而擁有的功能不同。本管理系統(tǒng)的系統(tǒng)總體規(guī)劃如圖1.1所示:圖1.1系統(tǒng)總體結(jié)構(gòu)規(guī)劃圖因用戶角色的權(quán)限不同,各用戶模塊的功能結(jié)構(gòu)圖也有其不同細(xì)分之處。1.2.1系統(tǒng)管理員功能結(jié)構(gòu)圖系統(tǒng)管理人員的用戶角色,能夠?qū)λ奚針?、宿舍管理員、學(xué)生的個人信息進(jìn)行查看、添加、修改、刪除,同時能夠為宿舍樓分配宿舍管理員以及對學(xué)生缺寢記錄的查找和刪除。如圖1.2所示:圖1.2系統(tǒng)管理員功能結(jié)構(gòu)圖1.2.2宿舍管理員功能結(jié)構(gòu)圖宿舍管理人員的用戶角色,能夠查看、學(xué)生所在寢室、聯(lián)系電話信息等,可以添加學(xué)生的缺寢記錄信息,能增加、修改、刪除、查詢學(xué)生的缺寢記錄。如圖1.3所示:圖1.3宿舍管理員功能結(jié)構(gòu)圖1.2.3學(xué)生功能結(jié)構(gòu)圖學(xué)生的用戶角色,能夠查看個人的考勤記錄和修改密碼。如圖1.4所示:圖1.4學(xué)生功能結(jié)構(gòu)圖1.3數(shù)據(jù)庫設(shè)計1.3.1數(shù)據(jù)庫表需求分析本系統(tǒng)由于不止擁有單一類型的用戶,服務(wù)的對象包括系統(tǒng)管理員、宿舍管理員和學(xué)生。用戶在使用系統(tǒng)時,首先需要在登錄頁面輸入用戶名和密碼,驗證通過后才能進(jìn)入系統(tǒng)。不同數(shù)據(jù)實體需要包括的屬性不同:用戶實體的屬性需要包括用戶編號、姓名、用戶名、密碼、性別、聯(lián)系電話等等;宿舍實體的屬性需要包括宿舍編號、宿舍名字等等;記錄實體的屬性需要包括記錄編號、學(xué)生姓名、所在宿舍樓等等。針對不同的數(shù)據(jù)對象,我們需要設(shè)計其各自的數(shù)據(jù)概念結(jié)構(gòu)。1.3.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計系統(tǒng)管理員E-R結(jié)構(gòu)圖系統(tǒng)管理員需要具有的屬性為:系統(tǒng)管理員用戶編號,用戶名,密碼,系統(tǒng)管理員姓名,性別,電話,如圖1.5所示:圖1.5系統(tǒng)管理員E-R結(jié)構(gòu)圖宿舍管理員E-R結(jié)構(gòu)圖宿舍管理員需要具有的屬性為:宿舍管理員用戶編號,用戶名,密碼,樓棟編號,宿舍管理員姓名,性別,電話,如圖1.6所示:圖1.6宿舍管理員E-R結(jié)構(gòu)圖學(xué)生E-R結(jié)構(gòu)圖學(xué)生需要具有的屬性為:學(xué)生編號,學(xué)號,密碼,姓名,樓棟編號,宿舍號,性別,電話,如圖1.7所示:圖1.7學(xué)生E-R結(jié)構(gòu)圖宿舍樓棟E-R結(jié)構(gòu)圖宿舍樓棟需要具有的屬性為:樓棟編號,宿舍樓名字,宿舍樓簡介,如圖1.8所示:圖1.8宿舍樓棟E-R結(jié)構(gòu)圖缺寢記錄E-R結(jié)構(gòu)圖缺寢記錄需要具有的屬性為:記錄編號,缺寢日期,學(xué)生姓名,學(xué)生學(xué)號,宿舍樓棟編號,宿舍號,電話,備注,如圖1.9所示:圖1.9缺寢記錄E-R結(jié)構(gòu)圖1.3.3數(shù)據(jù)庫表的規(guī)劃通過對數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計,我們需要將概念模型轉(zhuǎn)換為管理系統(tǒng)支持的數(shù)據(jù)模型。1.系統(tǒng)管理員信息表(admin)該表用來保存系統(tǒng)管理員的相關(guān)信息,包括系統(tǒng)管理員編號(adminId)、系統(tǒng)管理員姓名(name)、用戶名(username)、密碼(password)、性別(sex)、聯(lián)系電話(tel)。其中系統(tǒng)管理員編號是主鍵(adminId)。如下表1.1所示:表1.1系統(tǒng)管理員信息表屬性名稱數(shù)據(jù)類型是否允許缺省屬性介紹Adminidint否系統(tǒng)管理員編號Passwordvarchar是密碼Usernamevarchar是用戶名Namevarchar是系統(tǒng)管理員姓名Sexvarchar是性別Telvarchar是聯(lián)系電話2.宿舍管理員信息表(dormmanager)該表用來保存宿舍管理員的相關(guān)信息,包括宿舍管理員編號(dormManId)、用戶名(username)、密碼(password)、宿舍樓編號(dormBuildId)、宿舍管理員姓名(name)、性別(sex)、聯(lián)系電話(tel)。其中宿舍管理員編號是主鍵(dormManId)。如下表1.2所示:表1.2宿舍管理員信息表屬性名稱數(shù)據(jù)類型是否允許缺省屬性介紹Dormmanidint否宿舍管理員編號Passwordvarchar是密碼Usernamevarchar是用戶名Dormbuildidint是宿舍樓編號Namevarchar是宿舍管理員姓名Sexvarchar是性別Telvarchar是聯(lián)系電話3.學(xué)生信息表(student)該表用來保存學(xué)生的相關(guān)信息,包括學(xué)生編號(studentId)、學(xué)生學(xué)號(stuNumber)、密碼(password)、姓名(name)、宿舍樓編號(dormBuildId)、宿舍號(dormName)、性別(sex)、聯(lián)系電話(tel)。其中系統(tǒng)管理員編號是主鍵(studentId)。如下表1.3所示:表1.3學(xué)生信息表屬性名稱數(shù)據(jù)類型是否允許缺省屬性介紹Studentidint否學(xué)生編號Stunumbervarchar是學(xué)生學(xué)號Passwordvarchar是密碼namevarchar是姓名Dormbuildidint是宿舍樓編號Dormnamevarchar是宿舍號Sexvarchar是性別Telvarchar是聯(lián)系電話4.宿舍信息表(dorm)該表用來保存宿舍的相關(guān)信息,包括宿舍編號(dormId)、宿舍樓編號(dormBuildId)、宿舍號(dormName)、宿舍類型(dormType)、宿舍人數(shù)(dormNumber)、宿舍聯(lián)系電話(dormTel)。其中系統(tǒng)管理員編號是主鍵(dormId)。如下表1.4所示:表1.4宿舍信息表屬性名稱數(shù)據(jù)類型是否允許缺省屬性介紹Dormidint否宿舍編號Dormbuildidint是宿舍樓編號Dormnamevarchar是宿舍號Dormtypevarchar是宿舍類型Dormnumberint是宿舍人數(shù)dormtelvarchar是聯(lián)系電話5.宿舍樓信息表(dormbuild)該表用來保存宿舍樓的相關(guān)信息,包括、宿舍樓名稱(dormBuildName)、宿舍樓簡介(dormBuildDetail)。其中宿舍樓編號是主鍵(dormBuildId)。如下表1.5所示:表1.5宿舍信息表屬性名稱數(shù)據(jù)類型是否允許缺省屬性介紹Dormbuildidint否宿舍樓編號Dormbuildnameint是宿舍樓名稱Dormbuilddetailvarchar是宿舍樓簡介6.缺寢記錄信息表(record)該表用來記錄學(xué)生缺寢的相關(guān)信息,包括記錄編號(recordId)、宿舍樓編號(dormBuildId)、宿舍號(dormName)、學(xué)生學(xué)號(studentNumber)、學(xué)生姓名(studentName)、日期(date)、備注(detail)。其中記錄編號是主鍵(recordId)。如下表1.6所示:表1.6宿舍信息表屬性名稱數(shù)據(jù)類型是否允許缺省屬性介紹Recordedint否記錄編號Dormbuildidint是宿舍樓編號dormnamevarchar是宿舍號Studentnumbervarchar是學(xué)生學(xué)號Studentnamevarchar是學(xué)生姓名Datedate是日期Detailvarchar是備注2系統(tǒng)詳細(xì)設(shè)計2.1登錄流程圖當(dāng)用戶打開登錄界面時,用戶需要輸入正確的用戶名和對應(yīng)的密碼,并選擇登錄用戶的類型,用戶名和密碼都不允許為空。當(dāng)用戶名和密碼均輸入正確,且符合所選的用戶類型,即可登錄成功進(jìn)入系統(tǒng)的管理界面。用戶依照不同的管理權(quán)限執(zhí)行不同的操作。用戶登錄系統(tǒng)流程圖如圖2.1所示。圖2.1登錄流程圖2.2系統(tǒng)管理員操作流程圖當(dāng)系統(tǒng)管理員進(jìn)入系統(tǒng)管理頁面時,在用戶管理頁面下?lián)碛校核奚峁芾韱T管理功能、宿舍樓管理功能、學(xué)生管理功能、缺寢記錄功能、修改密碼功能、退出系統(tǒng)功能,系統(tǒng)管理員需要選擇對應(yīng)的功能,才可以繼續(xù)下一步操作,如圖2.2所示。圖2.2系統(tǒng)管理員操作流程圖2.2.1宿舍管理員管理操作流程圖當(dāng)系統(tǒng)管理員進(jìn)入到宿舍管理員的管理界面,可見一個表格形式的列表,該列表展示了現(xiàn)有的宿舍管理員姓名以及各自管理的宿舍樓、聯(lián)系電話等信息。系統(tǒng)管理員可以在此頁面對宿舍管理員進(jìn)行添加、修改以及刪除操作,系統(tǒng)管理員需要選擇對應(yīng)的功能,才可以繼續(xù)下一步操作,如圖2.3所示。圖2.3宿舍管理員管理操作流程圖2.2.2學(xué)生管理操作流程圖當(dāng)系統(tǒng)管理員進(jìn)入學(xué)生的管理界面,可以看到一個表格形式的列表,該列表展示了現(xiàn)有的學(xué)生姓名以及各自居住的宿舍樓、寢室、聯(lián)系電話等信息。系統(tǒng)管理員可以在此頁面對學(xué)生進(jìn)行添加、修改以及刪除操作,系統(tǒng)管理員需要選擇對應(yīng)的功能,才可以急需下一步操作,如圖2.4所示。圖2.4學(xué)生管理操作流程圖2.2.3宿舍樓管理流程圖當(dāng)系統(tǒng)管理員進(jìn)入宿舍樓的管理界面,可見一個表格形式的列表,該列表展示了現(xiàn)有的宿舍樓以及各自的簡介等信息。系統(tǒng)管理員可以在此頁面對宿舍樓進(jìn)行添加、修改、刪除以及查看管理員操作,系統(tǒng)管理員需要選擇對應(yīng)的功能,才可以進(jìn)行下一步操作,其流程圖如圖2.5所示:圖2.5宿舍樓管理流程圖2.2.4缺寢記錄流程圖系統(tǒng)管理員進(jìn)入缺寢記錄界面,可見一個表格形式的列表,該列表展示了現(xiàn)有的學(xué)生學(xué)號、學(xué)生姓名、缺寢日期等信息。系統(tǒng)管理員在此頁面僅可對學(xué)生的缺寢記錄進(jìn)行刪除操作,系統(tǒng)管理員需要選擇對應(yīng)的記錄,才可以進(jìn)行下一步操作,其流程圖如圖2.6所示。圖2.6缺寢記錄流程圖

3系統(tǒng)實現(xiàn)3.1開發(fā)環(huán)境操作系統(tǒng):Windows764bit。數(shù)據(jù)庫軟件:MySQLEnterpriseEdition。運(yùn)行環(huán)境:ApacheTomcat7.0。分辨率:最佳分辨率為1920*1080。3.2代碼實現(xiàn)結(jié)構(gòu)在系統(tǒng)的實現(xiàn)設(shè)計過程中,由于涉及的頁面效果及頁面功能較多,因此將頁面的顯示與頁面的功能操作分離,src文件夾里存放Java代碼,其中分為dao層(數(shù)據(jù)訪問層)、filter層(過濾層)、model層(實體層)、util層(工具層)、web層(展示層);webContent文件夾里存放Jsp代碼,其中Login.jsp為登陸頁面,mainAdmin.jsp為系統(tǒng)管理員用戶主頁面,mainManage.jsp為宿舍管理員用戶主頁面,mainStudent.jsp為學(xué)生用戶主頁面。3.3界面設(shè)計與實現(xiàn)3.3.1登錄界面的設(shè)計與實現(xiàn)系統(tǒng)的登錄界面的設(shè)計,有四點需求:1.用戶名及密碼的文本框輸入2.用戶類型的勾選選項3.布置登錄、重置按鈕4.界面布局的美化實現(xiàn)過程:1)首先基本確定一個div容器用于存放,登錄所需的輸入框等相關(guān)的子容器參考常規(guī)平臺登陸頁面的位置大致擺放;2)系統(tǒng)需要驗證用戶及密碼登錄,首先需要建立用戶名及密碼的文本輸入框,再通過使用兩個<input>標(biāo)簽,定義其分別為用戶名及密碼的文本輸入框;3)由于系統(tǒng)分三大用戶類型,因此在登錄界面應(yīng)有用戶類型的勾選選項,通過使用四個<label>標(biāo)簽為各自子元素的input元素分別定義其標(biāo)注為系統(tǒng)管理員、宿舍管理員以及學(xué)生,實現(xiàn)用戶類型的勾選。4)通過<button>標(biāo)簽定義顯示文本為“登錄”以及“重置”的按鈕,實現(xiàn)登錄、重置按鈕的布置。5)最后通過上述標(biāo)簽位置、大小及字體的調(diào)整等等,加以頁面背景圖裝飾,實現(xiàn)界面布局的美化。效果展示:圖3.1登錄界面展示圖關(guān)鍵代碼:<formname="myForm"class="form-signin"action="login"method="post"onsubmit="returncheckForm()"><h2class="form-signin-heading"><fontcolor="gray">學(xué)生公寓管理系統(tǒng)</font></h2><inputid="userName"name="userName"value="${user.userName}"type="text"class="input-block-level"placeholder="用戶名..."><inputid="password"name="password"value="${user.password}"type="password"class="input-block-level"placeholder="密碼..."><labelclass="radioinline"><inputid="admin"type="radio"name="userType"value="admin"checked/>系統(tǒng)管理員</label><labelclass="radioinline"><inputid="dormManager"type="radio"name="userType"value="dormManager"${userType==2?'checked':''}/>宿舍管理員</label><labelclass="radioinline"><inputid="student"type="radio"name="userType"value="student"${userType==3?'checked':''}/>學(xué)生</label><labelclass="checkbox"><inputid="remember"name="remember"type="checkbox"value="remember-me"${remember==1?'checked':''}>記住我    <fontid="error"color="red">${error}</font></label><buttonclass="btnbtn-largebtn-primary"type="submit">登錄</button>    <buttonclass="btnbtn-largebtn-primary"type="button">重置</button><palign="center"style="padding-top:15px;"></p></form>3.3.2用戶界面的設(shè)計與實現(xiàn)本系統(tǒng)有三大用戶類型,登錄不同的用戶之后會跳轉(zhuǎn)到擁有對應(yīng)用戶權(quán)限功能的頁面,所以三大用戶類型對應(yīng)的用戶界面有一些細(xì)節(jié)之差,但大體界面結(jié)構(gòu)一致。在此以權(quán)限最高、功能最多的系統(tǒng)管理員用戶界面為例分析需求:1.首先作為一個功能型管理系統(tǒng),用戶進(jìn)入用戶頁面要有一個直觀可見的功能菜單;2.其次是系統(tǒng)全名的提示以及歡迎用語和當(dāng)前登錄的用戶名等一系列的友好提示。根據(jù)界面設(shè)計需求以及由大到小、由主到次的排序原則,結(jié)合常規(guī)網(wǎng)站平面設(shè)計風(fēng)格,應(yīng)將系統(tǒng)名放置于頁面頂部顯示,同時在頂部邊側(cè)顯示當(dāng)前登陸用戶;3.功能菜單放置與頁面頂部之下、靠左位置,預(yù)留右側(cè)的空白區(qū)域,當(dāng)點擊功能菜單的某一功能時,可提供功能詳情的顯示區(qū)域,4.同時,在用戶剛剛登陸進(jìn)入用戶頁面時,可在此處顯示歡迎用語。實現(xiàn)過程:結(jié)合以上分析,1.首先將頁面主體的顯示區(qū)域分為兩大容器,頂部容器放置系統(tǒng)名(頂部之中的右側(cè)小區(qū)域顯示登陸用戶);2.頁面頂部之下的區(qū)域,考慮到上述第2點,為了顯示效果整體對齊美觀及后續(xù)移動調(diào)整,故頁面頂部之下的區(qū)域包含在一個容器中,其中又分為左右子容器,左側(cè)存放功能菜單,使用無序列表ul和列表項目li排列,右側(cè)用于顯示功能詳情及歡迎用語;3.考慮到頁面美觀,調(diào)整各標(biāo)簽位置、大小及字體等等,為頂部容器加以背景圖裝飾,同時給系統(tǒng)名稱設(shè)置浮動效果避免遮擋。整體設(shè)計下來頁面簡介、大方。效果展示:圖3.2用戶界面之系統(tǒng)管理員界面展示圖關(guān)鍵代碼:<divclass="container-fluid"style="padding-right:0px;padding-left:0px;"> <divregion="north"style="height:100px;background-image:url('images/bg.jpg')"> <divalign="left"style="width:80%;height:100px;float:left;padding-top:40px;padding-left:30px;"><fontcolor="white"size="6">宿舍管理系統(tǒng)</font></div> <divstyle="padding-top:70px;padding-right:20px;">當(dāng)前用戶: <fontcolor="red">${currentUser.userName}</font></div> </div></div> <divclass="container-fluid"> <divclass="row-fluid"> <divclass="span2bs-docs-sidebar"> <ulclass="navnav-listbs-docs-sidenav"> <li><ahref="blank"><iclass="icon-chevron-right"></i>首頁</a></li> <li><ahref="dormManager?action=list"><iclass="icon-chevron-right"></i>宿舍管理員管理</a></li> <li><ahref="student?action=list"><iclass="icon-chevron-right"></i>學(xué)生管理</a></li> <li><ahref="dormBuild?action=list"><iclass="icon-chevron-right"></i>宿舍樓管理</a></li> <li><ahref="record?action=list"><iclass="icon-chevron-right"></i>缺寢記錄</a></li> <li><ahref="password?action=preChange"><iclass="icon-chevron-right"></i>修改密碼</a></li> <li><ahref="login.jsp"><iclass="icon-chevron-right"></i>退出系統(tǒng)</a></li> </ul></div> <divclass="span10"> <jsp:includepage="${mainPage==null?'admin/blank.jsp':mainPage}"></jsp:include> </div> </div> </div>3.4數(shù)據(jù)庫實現(xiàn)根據(jù)數(shù)據(jù)庫的需求分析以及結(jié)構(gòu)規(guī)劃和設(shè)計,對宿舍公寓管理系統(tǒng)的數(shù)據(jù)庫進(jìn)行實現(xiàn),其數(shù)據(jù)表結(jié)構(gòu)圖如下圖所示:圖3.3數(shù)據(jù)表結(jié)構(gòu)圖3.5功能實現(xiàn)3.5.1登錄模塊的設(shè)計與實現(xiàn)用戶登錄模塊,在本系統(tǒng)中,其任務(wù)是為用戶提供登錄系統(tǒng)的接口,通過輸入用戶的賬號和密碼,選擇登錄的用戶類型,如果正確則跳轉(zhuǎn)用戶界面。其詳細(xì)情況如圖所示:圖3.4登錄模塊圖用戶登錄分為三個用戶類型,分別為系統(tǒng)管理員和宿舍管理員以及學(xué)生,當(dāng)用戶登錄時輸入用戶名及密碼并選擇用戶類型,點擊登錄后,系統(tǒng)首先通過HttpServletRequest對象獲取其userType參數(shù)以此來區(qū)分用戶類型。然后分別判斷其userType的值進(jìn)行處理。以下部分代碼為系統(tǒng)實現(xiàn)根據(jù)不同的登錄用戶類型,跳轉(zhuǎn)不同用戶管理界面的關(guān)鍵代碼。具體代碼在src目錄下的com.lero.web目錄下的BlankServlet文件中。關(guān)鍵代碼: ProtectedvoiddoPost(HttpServletRequestrequest,HttpServletResponse response) throwsServletException,IOException{ HttpSessionsession=request.getSession();Object currentUserType=session.getAttribute("currentUserType"); if("admin".equals((String)currentUserType)){ request.setAttribute("mainPage","admin/blank.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request,response); }elseif("dormManager".equals((String)currentUserType)){ request.setAttribute("mainPage","dormManager/blank.jsp"); request.getRequestDispatcher("mainManager.jsp").forward(request,response); }elseif("student".equals((String)currentUserType)){ request.setAttribute("mainPage","student/blank.jsp"); request.getRequestDispatcher("mainStudent.jsp").forward(request,response); }系統(tǒng)通過userType值區(qū)分用戶類型后,再獲取用戶登錄時輸入的用戶名和密碼,并將其封裝成用戶對應(yīng)的對象:1.如用戶登錄時選擇用戶類型為系統(tǒng)管理員,則封裝成admin對象;2.如用戶登錄時選擇用戶類型為宿舍管理員,則封裝成dormmanager對象;3.如用戶登錄時選擇用戶類型為學(xué)生,則封裝成student對象。之后調(diào)用dao層的Login方法,根據(jù)用戶登錄時選擇的身份類型去數(shù)據(jù)庫匹配對應(yīng)的賬號和密碼,如有相關(guān)數(shù)據(jù),則登錄成功,將相關(guān)信息存儲后轉(zhuǎn)發(fā)到封裝對象對應(yīng)的jsp頁面:1.如封裝對象為admin對象,則跳轉(zhuǎn)至mainAdmin.jsp頁面;2.如封裝對象為dormmanager對象,則跳轉(zhuǎn)至mainManager.jsp頁面;3.如封裝對象為admin對象,則跳轉(zhuǎn)至mainStudent.jsp頁面。否則,即數(shù)據(jù)庫中匹配不到對應(yīng)的賬號和密碼,則返回login頁面并提示用戶相關(guān)錯誤信息。以下代碼為驗證系統(tǒng)管理員賬號密碼是否正確的部分代碼,實現(xiàn)系統(tǒng)管理員用戶登錄,具體代碼在src目錄下的com.lero.web目錄下的LoginServlet文件中。關(guān)鍵代碼:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); HttpSessionsession=request.getSession(); StringuserName=request.getParameter("userName"); Stringpassword=request.getParameter("password"); Stringremember=request.getParameter("remember"); StringuserType=request.getParameter("userType"); Connectioncon=null; try{con=dbUtil.getCon(); AdmincurrentAdmin=null; DormManagercurrentDormManager=null; StudentcurrentStudent=null; if("admin".equals(userType)){ Adminadmin=newAdmin(userName,password); currentAdmin=userDao.Login(con,admin); if(currentAdmin==null){ request.setAttribute("admin",admin); request.setAttribute("error","用戶名或密碼錯誤!"); request.getRequestDispatcher("login.jsp").forward(request,response);}else{ if("remember-me".equals(remember)){ rememberMe(userName,password,userType,response); }else{ deleteCookie(userName,request,response);} session.setAttribute("currentUserType","admin"); session.setAttribute("currentUser",currentAdmin); request.setAttribute("mainPage","admin/blank.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request,response);}宿舍管理員用戶以及學(xué)生用戶的登錄過程與系統(tǒng)管理員用戶相似。3.5.2宿舍管理員管理模塊的設(shè)計與實現(xiàn)宿舍管理員管理模塊主要是實現(xiàn)能夠設(shè)置宿舍管理員的用戶名、密碼、姓名、性別、聯(lián)系電話,當(dāng)新增一個管理員之后,還需另外分配宿舍樓給其管理(需要另行進(jìn)入宿舍樓管理功能)。宿舍管理員管理模塊實現(xiàn)效果圖如圖所示:圖3.5宿舍管理員管理模塊圖該模塊為宿舍管理員管理模塊,能夠進(jìn)行宿舍管理員的添加、修改、刪除、查找。當(dāng)系統(tǒng)根據(jù)系統(tǒng)管理員的操作執(zhí)行命令時,系統(tǒng)首先使用request.getParameter()方法獲取操作的值,通過equals()函數(shù)判斷信息在數(shù)據(jù)中是否存在,如果在數(shù)據(jù)中存在,則進(jìn)行相對應(yīng)的操作。關(guān)鍵代碼如下:Strings_dormManagerText=request.getParameter("s_dormManagerText");StringsearchType=request.getParameter("searchType");Stringpage=request.getParameter("page");Stringaction=request.getParameter("action"); DormManagerdormManager=newDormManager(); if("preSave".equals(action)){ dormManagerPreSave(request,response); return; }elseif("save".equals(action)){dormManagerSave(request,response); return; }elseif("delete".equals(action)){dormManagerDelete(request,response); return; }else if("list".equals(action)){ if(StringUtil.isNotEmpty(s_dormManagerText)){ if("name".equals(searchType)){ dormManager.setName(s_dormManagerText); }elseif("userName".equals(searchType)){ dormManager.setUserName(s_dormManagerText); } }3.5.3學(xué)生管理模塊的設(shè)計與實現(xiàn)學(xué)生管理模塊主要實現(xiàn)管理員進(jìn)行學(xué)生的增加、修改、刪除等,如學(xué)生入學(xué)時可以在系統(tǒng)上增加該學(xué)生,退學(xué)/畢業(yè)后可以將該學(xué)生刪除,中間也可以對學(xué)生信息進(jìn)行修改操作,學(xué)生的宿舍樓棟、寢室信息也可一并在此處修改。學(xué)生管理模塊實現(xiàn)效果圖如圖所示:圖3.6學(xué)生管理模塊圖實現(xiàn)過程:系統(tǒng)定義一個新的student.java類,使用request.getParameter()方法,發(fā)送post請求獲取操作的值,通過equals()函數(shù)判斷信息是否存在,如果在數(shù)據(jù)中存在,則執(zhí)行對應(yīng)操作。關(guān)鍵代碼:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); HttpSessionsession=request.getSession(); ObjectcurrentUserType=session.getAttribute("currentUserType"); Strings_studentText=request.getParameter("s_studentText"); StringdormBuildId=request.getParameter("buildToSelect"); StringsearchType=request.getParameter("searchType"); Stringaction=request.getParameter("action"); Studentstudent=newStudent(); if("preSave".equals(action)){ studentPreSave(request,response); return; }elseif("save".equals(action)){ studentSave(request,response); return; }elseif("delete".equals(action)){ studentDelete(request,response); return; }elseif("list".equals(action)){ if(StringUtil.isNotEmpty(s_studentText)){ if("name".equals(searchType)){ student.setName(s_studentText); }elseif("number".equals(searchType)){ student.setStuNumber(s_studentText); }elseif("dorm".equals(searchType)){ student.setDormName(s_studentText); } }3.5.4宿舍樓管理模塊的設(shè)計與實現(xiàn)宿舍樓管理模塊主要是對宿舍樓棟進(jìn)行添加、修改、刪除等操作。如學(xué)院新建宿舍樓時可添加新宿舍樓,宿舍樓有了新的命名或者有需要修改簡介的時候可以選擇修改,宿舍樓需要分配給哪位宿舍管理員管理時可以進(jìn)行分配操作等。宿舍樓管理模塊實現(xiàn)效果圖如圖所示:圖3.7宿舍樓管理模塊圖實現(xiàn)過程:當(dāng)系統(tǒng)管理員在該頁面對宿舍樓進(jìn)行管理操作時,系統(tǒng)發(fā)送post請求,通過request.getParameter("action")方法獲取action值之后,利用equals()函數(shù)與數(shù)據(jù)庫進(jìn)行對比,判斷用戶要進(jìn)行的操作。關(guān)鍵代碼:if("preSave".equals(action)){ dormBuildPreSave(request,response); return; }elseif("save".equals(action)){ dormBuildSave(request,response); return; }elseif("delete".equals(action)){ dormBuildDelete(request,response); return; }elseif("manager".equals(action)){ dormBuildManager(request,response); return; }elseif("addManager".equals(action)){ dormBuildAddManager(request,response); }elseif("move".equals(action)){ managerMove(request,response); }elseif("list".equals(action)){ if(StringUtil.isNotEmpty(s_dormBuildName)){ dormBuild.setDormBuildName(s_dormBuildName); } session.removeAttribute("s_dormBuildName"); request.setAttribute("s_dormBuildName",s_dormBuildName); }elseif("search".equals(action)){ if(StringUtil.isNotEmpty(s_dormBuildName)){ dormBuild.setDormBuildName(s_dormBuildName); session.setAttribute("s_dormBuildName",s_dormBuildName); }else{ session.removeAttribute("s_dormBuildName"); }3.5.5缺寢記錄模塊的設(shè)計與實現(xiàn)學(xué)生缺寢記錄模塊有添加、修改、刪除、查詢功能,管理員可對學(xué)生缺寢記錄信息進(jìn)行一系列操作,學(xué)生也可在學(xué)生的用戶界面查詢自己的缺寢記錄信息。以系統(tǒng)管理員的缺寢記錄功能為例,缺寢記錄管理模塊實現(xiàn)效果如圖所示:圖3.8缺寢記錄模塊圖實現(xiàn)過程:以系統(tǒng)管理員的操作為例,系統(tǒng)管理員對缺寢記錄做出操作后,系統(tǒng)利用equals()函數(shù),在數(shù)據(jù)中對比request.getParameter("action")方法獲取到的action值,根據(jù)對比結(jié)果判斷用戶進(jìn)行的操作,從而實現(xiàn)缺寢記錄的增加、修改、刪除等操作判斷。代碼實現(xiàn)思路與前幾個模塊相似,在此不做贅述。其中,增加和修改共用同一個方法,其action參數(shù)的值均為“save”,區(qū)別在于當(dāng)傳遞到后臺的數(shù)據(jù)中存在記錄Id的時候,其執(zhí)行修改操作,否則,執(zhí)行新增操作。增加,修改:填寫完學(xué)號和備注信息或者修改完學(xué)號和備注信息之后,點擊提交按鈕,數(shù)據(jù)傳遞到后臺,其先從session對象中獲取管理員所管理的宿舍的棟號,之后根據(jù)所輸入的學(xué)號判斷該學(xué)生是否位于所管理的宿舍樓里,如果不在所管理的樓層,則返回管理員頁面,并給出相應(yīng)的提示信息。否則,通過判斷用戶recordId是否為空來選擇對記錄信息進(jìn)行更新(recordId值不為空)或者新增(recordId值為空)。以下是部分關(guān)鍵代碼,具體代碼位于src/com/lero/web/RecordServlet處。StringrecordId=request.getParameter("recordId");

StringstudentNumber=request.getParameter("studentNumber");

Stringdate=request.getParameter("date");

Stringdetail=request.getParameter("detail");

Recordrecord=newRecord(studentNumber,date,detail);

if(StringUtil.isNotEmpty(recordId)){

if(Integer.parseInt(recordId)!=0){

record.setRecordId(Integer.parseInt(recordId));

}

}

Connectioncon=null;

try{

con=dbUtil.getCon();

intsaveNum=0;

HttpSessionsession=request.getSession();

DormManagermanager=(DormManager)(session.getAttribute("currentUser"));

intbuildId=manager.getDormBuildId();

Studentstudent=StudentDao.getNameById(con,studentNumber,buildId);

if(student.getName()==null){

request.setAttribute("record",record);

request.setAttribute("error","學(xué)號不在您管理的宿舍樓內(nèi)");

request.setAttribute("mainPage","dormManager/recordSave.jsp");

request.getRequestDispatcher("mainManager.jsp").forward(request,response);

}else{

record.setDormBuildId(student.getDormBuildId());

record.setStudentName(student.getName());

record.setDormName(student.getDormName());

if(StringUtil.isNotEmpty(recordId)&&Integer.parseInt(recordId)!=0){

saveNum=recordDao.recordUpdate(con,record);

}else{

saveNum=recordDao.recordAdd(con,record);

}

if(saveNum>0){

request.getRequestDispatcher("record?action=list").forward(request,response);

}else{

request.setAttribute("record",record);

request.setAttribute("error","保存失敗");

request.setAttribute("mainPage","dormManager/recordSave.jsp");

request.getRequestDispatcher("mainManager.jsp").forward(request,response);

}

}刪除:當(dāng)點擊了刪除按鈕,并確認(rèn)之后,其會提交該條記錄的recordId值到后臺,在后臺獲取了該值之后,調(diào)用recordDao的recordDelete方法對記錄進(jìn)行刪除。以下是部分關(guān)鍵代碼,具體代碼位于src/com/lero/web/RecordServlet處。privatevoidrecordDelete(HttpServletRequestrequest,

HttpServletResponseresponse){

StringrecordId=request.getParameter("recordId");

Connectioncon=null;

try{

con=dbUtil.getCon(); recordDao.recordDelete(con,recordId);

request.getRequestDispatcher("record?action=list").forward(request,response);} catch(Exceptione){e.printStackTrace();} finally{try{dbUtil.closeCon(con);}catch(Exceptione){

e.printStackTrace(); }

}

}查找:查找功能根據(jù)用戶角色的不同,所能執(zhí)行的功能也不同。對于學(xué)生而言,其只能查找到本人的所有記錄,對于系統(tǒng)管理員而言,其能查找到所有的記錄。對于宿舍管理員而言,其只能查找到其所在管理樓層的記錄。記錄信息的查找可以按照姓名,學(xué)號,寢室進(jìn)行。以宿舍管理員按照寢室進(jìn)行查找為例。其先通過request對象獲取到查找的信息,之后,通過session對象獲取管理員管理的樓的信息,之后根據(jù)管理員所管理的宿舍樓和寢室號為條件,進(jìn)行記錄的查找。以下是部分關(guān)鍵代碼,具體代碼位于src/com/lero/web/RecordServlet處。elseif("dormManager".equals((String)currentUserType)){

DormManagermanager=(DormManager)(session.getAttribute("currentUser"));

intbuildId=manager.getDormBuildId();

StringbuildName=DormBuildDao.dormBuildName(con,buildId);

List<Record>recordList=recordDao.recordListWithBuild(con,record,buildId);

request.setAttribute("dormBuildName",buildName);

request.setAttribute("recordList",recordList);

request.setAttribute("mainPage","dormManager/record.jsp");

request.getRequestDispatcher("mainManager.jsp").forward(request,response);

}3.5.6修改密碼模塊的設(shè)計與實現(xiàn)先通過存儲在session對象中的用戶類型(currentUserType鍵)來獲取存儲在session中的用戶信息對象。之后獲取request對象中的新舊密碼信息。以用戶角色為學(xué)生為例,其獲取了保存在session中的學(xué)生對象之后,判斷舊密碼是否和存儲在數(shù)據(jù)庫中的保持一致。如一致,則調(diào)用userDao的adminUpdate方法對密碼進(jìn)行更新,同時更新session中存儲的學(xué)生對象的密碼信息,之后返回密碼修改頁面,并給出相關(guān)提示信息。如不一致,則直接返回密碼修改頁面,并給出“原密碼錯誤”的相關(guān)提示信息。以下是部分關(guān)鍵代碼,具體代碼在src/com/lero/web/PasswordServlet文件中。elseif("student".equals((String)currentUserType)){

Studentstudent=(Student)(session.getAttribute("currentUser"));

if(oldPassword.equals(student.getPassword())){

userDao.adminUpdate(con,student.getStudentId(),newPassword);

student.setPassword(newPassword);

request.setAttribute("oldPassword",oldPassword);

request.setAttribute("newPassword",newPassword);

request.setAttribute("rPassword",newPassword);

request.setAttribute("error","修改成功");

request.setAttribute("mainPage","student/passwordChange.jsp");

request.getRequestDispatcher("mainStudent.jsp").forward(request,response);

}else{

request.setAttribute("oldPassword",oldPassword);

request.setAttribute("newPassword",newPassword);

request.setAttribute("rPassword",newPassword);

request.setAttribute("error","原密碼錯誤");

request.setAttribute("mainPage","student/passwordChange.jsp");

request.getRequestDispatcher("mainStudent.jsp").forward(request,response);

}

}3.5.7首頁與退出系統(tǒng)的設(shè)計與實現(xiàn)首頁與退出系統(tǒng)功能的設(shè)計相對簡單,用戶通過點擊“首頁”或者“退出系統(tǒng)”功能,頁面跳轉(zhuǎn)至指定的頁面即可。實現(xiàn)過程:以系統(tǒng)管理員點擊“首頁”功能為例,系統(tǒng)管理員點擊功能菜單的“首頁”之后,通過存放“首頁”的容器綁定鏈接,指向系統(tǒng)管理員的首頁頁面(即admin文件夾下的blank子頁面),即可實現(xiàn)跳轉(zhuǎn)至首頁。4系統(tǒng)測試4.1測試的目的系統(tǒng)的測試,是開發(fā)過程中的一個重要環(huán)節(jié),沒能通過測試就不能算是真正的開發(fā)完成。可見,測試環(huán)節(jié)是系統(tǒng)開發(fā)的質(zhì)量保證,極為重要。測試的目的,是找到盡可能多的缺陷和錯誤,把系統(tǒng)的錯誤和缺陷找出來,及時進(jìn)行修改,避免系統(tǒng)出現(xiàn)bug、奔潰等造成不必要的損失。因此,合理地設(shè)計系統(tǒng)測試,也顯得尤為重要,是判斷系統(tǒng)開發(fā)是否能通過測試的重要標(biāo)準(zhǔn)。4.2黑盒測試黑盒測試,也常常稱之為功能測試,顧名思義,就是把開發(fā)出來的系統(tǒng)看作一個黑盒子整體,我們看不到測試過程中內(nèi)部的運(yùn)行邏輯、運(yùn)行流程等,但能測試其輸出的結(jié)果是否是合理的、正確的。黑盒測試能發(fā)現(xiàn)以下類型的主要錯誤:1.功能點的遺漏或錯誤2.界面數(shù)據(jù)、效果顯示錯誤3.數(shù)據(jù)庫讀取錯誤4.性能錯誤5.初始化過程和結(jié)束的錯誤黑盒測試是最貼近用戶使用感受及效果的測試,因此我們選擇,對系統(tǒng)進(jìn)行黑盒測試。4.3測試用例的設(shè)計合理地測試用例設(shè)計,不僅是測試發(fā)揮有效作用的大前提,也是測試結(jié)果的權(quán)威保證。黑盒測試中,測試用例設(shè)計方法較多,主要分為:1.等價類劃分方法;2.邊界值分析方法;3.錯誤推測方法;4.因果圖方法;5.判定\t"/item/%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95/_blank"表驅(qū)動分析方法;6.正交實驗設(shè)計方法;7.功能圖分析方法。其中,被測試人員使用得最多的,是邊界值分析法、等價類劃分法和錯誤推斷法。在本系統(tǒng)的測試中,由于模塊較多,故計劃從用戶的角度出發(fā),根據(jù)不同的模塊及常規(guī)操作流程,設(shè)計測試用例。由于系統(tǒng)設(shè)計開發(fā)的邏輯特性,以權(quán)限最高、功能最多的系統(tǒng)管理員為例,宿舍管理員以及學(xué)生的用戶身份及其功能也會進(jìn)行測試,但考慮到篇幅太多,故只闡述系統(tǒng)管理員的功能測試。4.3.1登錄模塊測試登錄模塊測試需求分析:結(jié)合本系統(tǒng)的系統(tǒng)特性,要測試登錄模塊,主要測試其對賬號密碼正確性的驗證及其返回結(jié)果是否合格、使用匹配的賬號密碼與不對應(yīng)的賬號類型是否能登錄等。因此有以下三點需求:1.賬號密碼驗證;2.用戶類型驗證;3.錯誤提示驗證。根據(jù)以上需求分析,設(shè)計測試用例,測試記錄如下表4.1:表4.1登錄模塊測試用例用例編號用例歸屬測試項測試子項測試步驟預(yù)期結(jié)果結(jié)論MK-001-001登錄模塊系統(tǒng)管理員角色正確的用戶名,正確的密碼登錄驗證1.登錄系統(tǒng)主頁;2.在“用戶名”輸入框填寫正確的用戶名;3.在“密碼”輸入框填寫正確的密碼;4.選擇“系統(tǒng)管理員”角色;5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;2.用戶名”輸入框與“密碼”輸入框能正常輸入;3.輸入正確的用戶名及密碼后,選擇系統(tǒng)管理員角色,通過登錄按鈕,可正常登錄;合格MK-001-002登錄模塊系統(tǒng)管理員角色正確的用戶名,錯誤的密碼登錄驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框填寫錯誤的密碼;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.輸入正確的用戶名、錯誤的密碼后,選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于密碼錯誤,無法正常登錄;合格MK-001-003登錄模塊系統(tǒng)管理員角色正確的用戶名,密碼為空登錄驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框為空;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于密碼為空,系統(tǒng)不允許空用戶名及密碼,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-004登錄模塊系統(tǒng)管理員角色用戶名、密碼為空登錄驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框為空;

3.在“密碼”輸入框為空;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于密碼為空,系統(tǒng)不允許空用戶名及密碼,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-005登錄模塊系統(tǒng)管理員角色用戶名輸入框長度驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框輸入錯誤的100個字符;

3.在“密碼”輸入框為正確的密碼;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于用戶名長度超過限制,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-006登錄模塊系統(tǒng)管理員角色用戶名輸入框特殊字符驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框輸入所有特殊字符;

3.在“密碼”輸入框為空;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于系統(tǒng)防止跨站腳本攻擊,不允許用戶名含有特殊字符,系統(tǒng)給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-007登錄模塊系統(tǒng)管理員角色密碼輸入框長度驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框輸入錯誤的100個字符;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于密碼長度超過限制,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-008登錄模塊系統(tǒng)管理員角色密碼輸入框特殊字符驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框輸入所有特殊字符;

4.選擇“系統(tǒng)管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇系統(tǒng)管理員角色,通過點擊登錄按鈕,由于系統(tǒng)防止跨站腳本攻擊,不允許密碼含有特殊字符,系統(tǒng)給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-009登錄模塊宿舍管理員角色正確的用戶名,正確的密碼登錄驗證1.登錄系統(tǒng)主頁;2.在“用戶名”輸入框填寫正確的用戶名;3.在“密碼”輸入框填寫正確的密碼;4.選擇“宿舍管理員”角色;5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;2.用戶名”輸入框與“密碼”輸入框能正常輸入;3.輸入正確的用戶名及密碼后,選擇宿舍管理員角色,通過登錄按鈕,可正常登錄;合格MK-001-010登錄模塊宿舍管理員角色正確的用戶名,錯誤的密碼登錄驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框填寫錯誤的密碼;

4.選擇“宿舍管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.輸入正確的用戶名、錯誤的密碼后,選擇宿舍管理員角色,通過點擊登錄按鈕,由于密碼錯誤,無法正常登錄;合格MK-001-011登錄模塊宿舍管理員角色正確的用戶名,密碼為空登錄驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框為空;

4.選擇“宿舍管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇宿舍管理員角色,通過點擊登錄按鈕,由于密碼為空,系統(tǒng)不允許空用戶名及密碼,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-012登錄模塊宿舍管理員角色用戶名、密碼為空登錄驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框為空;

3.在“密碼”輸入框為空;

4.選擇“宿舍管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇宿舍管理員角色,通過點擊登錄按鈕,由于密碼為空,系統(tǒng)不允許空用戶名及密碼,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-013登錄模塊宿舍管理員角色用戶名輸入框長度驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框輸入錯誤的100個字符;

3.在“密碼”輸入框為正確的密碼;

4.選擇“宿舍管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇宿舍管理員角色,通過點擊登錄按鈕,由于用戶名長度超過限制,給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-014登錄模塊宿舍管理員角色用戶名輸入框特殊字符驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框輸入所有特殊字符;

3.在“密碼”輸入框為空;

4.選擇“宿舍管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

2.用戶名”輸入框與“密碼”輸入框能正常輸入;

3.選擇宿舍管理員角色,通過點擊登錄按鈕,由于系統(tǒng)防止跨站腳本攻擊,不允許用戶名含有特殊字符,系統(tǒng)給予友好提示,觸發(fā)登錄后無法登錄;合格MK-001-015登錄模塊宿舍管理員角色密碼輸入框長度驗證1.登錄系統(tǒng)主頁;

2.在“用戶名”輸入框填寫正確的用戶名;

3.在“密碼”輸入框輸入錯誤的100個字符;

4.選擇“宿舍管理員”角色;

5.點擊“登錄”按鈕,驗證登錄情況;1.用戶可正常打開登錄頁面;

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

評論

0/150

提交評論