版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目 錄TOC\o"1-3"\h\u1前言 前言1.1項(xiàng)目開發(fā)背景近年來,各家公司對(duì)各項(xiàng)目的管理趨向于信息智能化,科技公司更為突出,多個(gè)項(xiàng)目往往都是并行由多個(gè)團(tuán)隊(duì)在負(fù)責(zé)的,而項(xiàng)目如何管理才能使團(tuán)隊(duì)的交流和協(xié)作更為便捷和信息化,規(guī)范軟件項(xiàng)目開發(fā)流程的嚴(yán)謹(jǐn)性。目前雖有一些優(yōu)秀的項(xiàng)目管理協(xié)作工具,比如Teambition這種軟件,不過這種工具免費(fèi)版只開放一些功能而已,而且限制團(tuán)隊(duì)成員人數(shù),只有用收費(fèi)版才能有更多的功能及使用權(quán)。為了使公司更加方便地對(duì)項(xiàng)目進(jìn)行有效管理,同時(shí)也減少公司的成本開銷,此課題的背景是開發(fā)一個(gè)定制屬于公司的項(xiàng)目管理系統(tǒng),從實(shí)際出發(fā),打造輕量型的項(xiàng)目管理系統(tǒng),方便項(xiàng)目成員對(duì)項(xiàng)目有一個(gè)整體參與以及項(xiàng)目負(fù)責(zé)人對(duì)項(xiàng)目的整體把控。1.2項(xiàng)目開發(fā)的意義設(shè)計(jì)并實(shí)現(xiàn)一個(gè)項(xiàng)目管理系統(tǒng),使項(xiàng)目負(fù)責(zé)人和項(xiàng)目成員可以更加快捷、方便完成項(xiàng)目,同時(shí)也規(guī)范化整個(gè)項(xiàng)目管理流程。本系統(tǒng)的設(shè)計(jì)目標(biāo)是立足于中小型科技公司的內(nèi)部項(xiàng)目管理協(xié)作方面的實(shí)際需要,面向公司內(nèi)項(xiàng)目的所有成員,建立一個(gè)使用便捷、可靠的項(xiàng)目管理系統(tǒng),從而更方便地對(duì)項(xiàng)目的研發(fā)過程進(jìn)行規(guī)范化管理以及對(duì)項(xiàng)目進(jìn)度進(jìn)行把控。
2可行性分析2.1技術(shù)可行性本系統(tǒng)對(duì)技術(shù)的要求不算太難,但要求開發(fā)人員有一點(diǎn)項(xiàng)目經(jīng)驗(yàn)。主要軟件有IntellijIDEA2017,MySQL5.7,技術(shù)上后端架構(gòu)使用當(dāng)前主流的JavaWeb框架Springboot,整合了權(quán)限安全框架Shiro,還有持久層框架Mybatis,前端架構(gòu)則使用了bootstrap、jQuery、Thymeleaf、CSS、JavaScript、ajax+json等前端技術(shù)。2.2經(jīng)濟(jì)可行性整體上此系統(tǒng)比較簡(jiǎn)便,需要一臺(tái)裝有瀏覽器的win10系統(tǒng)的PC電腦就夠了。然后安裝好MySQL5.7數(shù)據(jù)庫,IntellijIDEA2017編程開發(fā)工具即可,而tomcat應(yīng)用服務(wù)器在springboot框架已經(jīng)內(nèi)嵌了一個(gè)tomcat9版本,稍作配置即可使用。2.3操作可行性本系統(tǒng)整體上比較簡(jiǎn)便,本系統(tǒng)一旦部署好,就只需要打開Web瀏覽器即可訪問本系統(tǒng)。2.4社會(huì)可行性在企業(yè)中,都會(huì)有大大小小的各個(gè)項(xiàng)目,而如何有效及規(guī)范的管理這些項(xiàng)目,使得在項(xiàng)目管理和協(xié)作中達(dá)到敏捷開發(fā)管理,這是很有必要的,項(xiàng)目管理系統(tǒng)符合現(xiàn)實(shí)企業(yè)實(shí)際場(chǎng)景。
3需求分析此系統(tǒng)的受眾是科技公司內(nèi)部的項(xiàng)目管理過程中的所有項(xiàng)目負(fù)責(zé)人、開發(fā)人員、測(cè)試人員、以及系統(tǒng)后臺(tái)管理員。整個(gè)項(xiàng)目管理流程分為需求創(chuàng)建,指派需求任務(wù)、處理開發(fā)任務(wù)、處理測(cè)試任務(wù)、需求審核驗(yàn)收,不同的角色會(huì)有相應(yīng)不同的權(quán)限操作,項(xiàng)目負(fù)責(zé)人在登錄進(jìn)系統(tǒng)后是可以進(jìn)行立項(xiàng)操作的,然后由后臺(tái)管理員去審批是否通過立項(xiàng),然后可對(duì)已立項(xiàng)通過項(xiàng)目進(jìn)行創(chuàng)建需求任務(wù)并指派給對(duì)應(yīng)項(xiàng)目成員進(jìn)行處理,而當(dāng)是項(xiàng)目成員登錄進(jìn)系統(tǒng)只能查看參與項(xiàng)目的任務(wù),同時(shí)不能對(duì)需求任務(wù)進(jìn)行編輯,只可查看。系統(tǒng)還建立了一個(gè)文檔中心,可支持用戶上傳下載項(xiàng)目文件資料共享,方便管理。后臺(tái)管理員可對(duì)系統(tǒng)的項(xiàng)目模塊、文檔中心、用戶模塊、角色模塊進(jìn)行維護(hù)操作,還支持站內(nèi)搜索功能和導(dǎo)入導(dǎo)出功能。同時(shí),該系統(tǒng)主要分為十三個(gè)功能模塊,有首頁信息計(jì)算統(tǒng)計(jì)模塊、管理員分配用戶角色權(quán)限模塊、項(xiàng)目信息總覽模塊、任務(wù)信息總覽模塊、管理員維護(hù)角色模塊。項(xiàng)目進(jìn)度管理模塊、管理員維護(hù)項(xiàng)目模塊、任務(wù)創(chuàng)建指派流程模塊、文檔中心模塊、項(xiàng)目負(fù)責(zé)人立項(xiàng)模塊、項(xiàng)目成員管理模塊、用戶管理員登錄模塊、管理員維護(hù)用戶模塊。此外,通過對(duì)角色權(quán)限的分配,從而實(shí)現(xiàn)對(duì)不同用戶的不用粒度的權(quán)限控制,主要體現(xiàn)在三類角色上,項(xiàng)目負(fù)責(zé)人,項(xiàng)目成員,管理員。3.1系統(tǒng)參與者分析所得,本系統(tǒng)有后臺(tái)管理員,項(xiàng)目負(fù)責(zé)人,開發(fā)人員,測(cè)試人員四個(gè)類角色,分別有不同的操作權(quán)限。3.1.1后臺(tái)管理員后臺(tái)管理員是個(gè)很特殊的角色,只有管理員才可以進(jìn)入項(xiàng)目管理系統(tǒng)的管理端,其他角色均不可。管理員可以在后臺(tái)系統(tǒng)中審核正在立項(xiàng)的項(xiàng)目,對(duì)項(xiàng)目的增加、刪除、修改、查詢,對(duì)用戶和角色信息的導(dǎo)入和批量導(dǎo)入,對(duì)文檔中心共享的資料進(jìn)行維護(hù),還有最重要的是對(duì)用戶角色進(jìn)行分配授權(quán)操作,最后還可以把各模塊的信息批量導(dǎo)出到Excel表格。3.1.2項(xiàng)目負(fù)責(zé)人 項(xiàng)目負(fù)責(zé)人是系統(tǒng)的主要用戶,他們相比起普通的項(xiàng)目成員多了一些更高的權(quán)限,比如項(xiàng)目負(fù)責(zé)人是可以立項(xiàng)操作的,也可以創(chuàng)建需求任務(wù)并指派需求,而這些操作對(duì)于普通的項(xiàng)目成員是沒法編輯的,只能查看。還有一些與項(xiàng)目成員一樣的功能,支持站內(nèi)搜索文檔資料以及上傳下載文檔資料在項(xiàng)目?jī)?nèi)共享。3.1.3開發(fā)人員開發(fā)人員就相當(dāng)于普通的項(xiàng)目成員,可對(duì)所參與項(xiàng)目的需求進(jìn)行查看,但不能編輯,同時(shí)可以對(duì)自身的開發(fā)任務(wù)進(jìn)行移交操作和處理完任務(wù)執(zhí)行下一步操作,使任務(wù)流程指向測(cè)試階段。3.1.4測(cè)試人員測(cè)試人員也相當(dāng)于普通的項(xiàng)目成員,一樣可以對(duì)參與項(xiàng)目的需求進(jìn)行查看,但不能編輯,同時(shí)對(duì)開發(fā)人員開發(fā)出來的功能進(jìn)行測(cè)試,找出隱藏的bug。3.2功能需求分析本系統(tǒng)為了實(shí)現(xiàn)項(xiàng)目管理的一體化,提高項(xiàng)目管理工作的效率。共拆分出十三個(gè)功能模塊,即首頁信息計(jì)算統(tǒng)計(jì)模塊、管理員分配用戶角色權(quán)限模塊、項(xiàng)目信息總覽模塊、任務(wù)信息總覽模塊、管理員維護(hù)角色模塊。項(xiàng)目進(jìn)度管理模塊、管理員維護(hù)項(xiàng)目模塊、任務(wù)創(chuàng)建指派流程模塊、文檔中心模塊、項(xiàng)目負(fù)責(zé)人立項(xiàng)模塊、項(xiàng)目成員管理模塊、用戶管理員登錄模塊、管理員維護(hù)用戶模塊。用戶管理員登錄模塊:用戶登錄系統(tǒng)和管理員登錄系統(tǒng)。項(xiàng)目信息總覽模塊:顯示與當(dāng)前登錄用戶相關(guān)的項(xiàng)目信息情況,查看項(xiàng)目詳情首頁信息計(jì)算統(tǒng)計(jì)模塊:統(tǒng)計(jì)當(dāng)前登錄用戶參與的任務(wù)數(shù)與項(xiàng)目數(shù)任務(wù)信息總覽模塊:顯示與當(dāng)前登錄用戶相關(guān)的任務(wù)信息情況項(xiàng)目成員管理模塊:項(xiàng)目負(fù)責(zé)人維護(hù)著項(xiàng)目成員的變動(dòng)項(xiàng)目進(jìn)度管理模塊:根據(jù)任務(wù)數(shù)和已完成的任務(wù)數(shù)對(duì)項(xiàng)目進(jìn)度進(jìn)行計(jì)算并顯示任務(wù)創(chuàng)建指派流程模塊:項(xiàng)目負(fù)責(zé)人創(chuàng)建系統(tǒng)需求任務(wù),然后指派需求任務(wù)給開發(fā)人員,當(dāng)開發(fā)人員登錄系統(tǒng)用戶端即可看到任務(wù)并處理開發(fā)任務(wù),之后測(cè)試人員登錄系統(tǒng)就可看到開發(fā)人員處理好的功能任務(wù),開始處理測(cè)試任務(wù),最后項(xiàng)目負(fù)責(zé)人審核驗(yàn)收需求文檔中心模塊:建立起一個(gè)文檔中心,所有項(xiàng)目用戶和管理員都可以上傳和下載文檔資料到各個(gè)參與的項(xiàng)目,后臺(tái)管理員還可知道文檔的存放路徑項(xiàng)目負(fù)責(zé)人立項(xiàng)模塊:當(dāng)是項(xiàng)目負(fù)責(zé)人的身份進(jìn)入系統(tǒng)時(shí),才能發(fā)起添加項(xiàng)目申請(qǐng),待后臺(tái)管理員通過審核后才能執(zhí)行項(xiàng)目管理員維護(hù)項(xiàng)目模塊:后臺(tái)管理員在后臺(tái)審核項(xiàng)目負(fù)責(zé)人發(fā)起的立項(xiàng)申請(qǐng),同時(shí)也對(duì)已審核項(xiàng)目進(jìn)行維護(hù)管理,支持站內(nèi)搜索、插入、導(dǎo)入、導(dǎo)出、修改等操作管理員維護(hù)用戶模塊:后臺(tái)管理員在后臺(tái)對(duì)用戶進(jìn)行管理維護(hù),支持站內(nèi)搜索、插入、導(dǎo)入、導(dǎo)出、修改等操作管理員維護(hù)角色模塊:后臺(tái)管理員對(duì)角色信息進(jìn)行增加、修改、刪除、查詢、支持批量導(dǎo)入導(dǎo)出角色管理員分配用戶角色權(quán)限模塊:管理員在添加用戶后,給用戶分配角色權(quán)限3.3性能需求分析性能需求指的是保證系統(tǒng)安全穩(wěn)定有效運(yùn)行的基本要求。本系統(tǒng)至少需要符合以下的軟件硬件要求:服務(wù)器端基本要求:CPU:Intel(R)Core(TM)i5-6200U內(nèi)存:8.00GB操作系統(tǒng):Windows10Pro數(shù)據(jù)庫:MySQL5.7Web服務(wù)器:Tomcat9開發(fā)平臺(tái):IntellijIDEA2017,JDK1.8開發(fā)語言:JAVA開發(fā)框架:Springboot+Mybatis+Shrio系統(tǒng)架構(gòu):B/S(browser/server)客戶端基本要求:PC:帶有游覽器的PC即可瀏覽器:GoogleChrome、Firefox、3.4系統(tǒng)業(yè)務(wù)用例3.4.1前臺(tái)用戶系統(tǒng)總用例圖此用例是前臺(tái)用戶系統(tǒng)主要用例,除了有登錄、還有上傳文檔資料、下載文檔資料、刪除文檔資料、站內(nèi)搜索文檔、處理任務(wù)、顯示參與任務(wù)數(shù)、查看項(xiàng)目進(jìn)度共8個(gè)用例,涵蓋了用戶從登錄系統(tǒng)到退出的整個(gè)項(xiàng)目參與流程,此外,項(xiàng)目負(fù)責(zé)人還特有創(chuàng)建需求任務(wù)、立項(xiàng)、維護(hù)項(xiàng)目成員變動(dòng)、審核需求任務(wù)、指派需求任務(wù)、刪除需求任務(wù)共6個(gè)用例。圖3.1前臺(tái)用戶系統(tǒng)總用例圖3.4.2后臺(tái)管理系統(tǒng)總用例圖此用例是后臺(tái)管理系統(tǒng)主要用例,除了有登錄、還有審核立項(xiàng)的項(xiàng)目、維護(hù)已通過審核項(xiàng)目的信息、維護(hù)用戶信息、維護(hù)角色信息、維護(hù)文檔資料、站內(nèi)搜索文檔、分配用戶角色權(quán)限、批量導(dǎo)入數(shù)據(jù)、批量導(dǎo)出數(shù)據(jù)Excel總成績(jī)導(dǎo)出等。圖3.2管理員端總用例圖3.4.3用戶管理員登錄模塊圖3.3用戶管理員登錄模塊用例圖用例1:用戶進(jìn)入系統(tǒng)參與者:項(xiàng)目經(jīng)理或項(xiàng)目成員范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:操作者賬號(hào)信息已錄入數(shù)據(jù)庫后置條件:用戶網(wǎng)絡(luò)正常主要步驟:用戶輸入自己的用戶ID和密碼。點(diǎn)擊登錄按鈕。登錄成功,頁面自動(dòng)跳轉(zhuǎn)至用戶端主頁。替代步驟:2a.密碼或用戶名有誤:登錄失敗,頁面自動(dòng)返回到登錄頁面。用例2:管理員進(jìn)入系統(tǒng)參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理員端前置條件:操作者賬號(hào)信息已錄入數(shù)據(jù)庫后置條件:網(wǎng)絡(luò)正常主要步驟:管理員輸入自己的管理員ID和密碼。點(diǎn)擊登錄按鈕。登錄成功,頁面自動(dòng)跳轉(zhuǎn)至管理員主頁。替代步驟:2a.密碼或用戶名有誤:登錄失敗,頁面自動(dòng)返回到登錄頁面。3.4.4項(xiàng)目管理模塊圖3.3項(xiàng)目管理模塊用例圖用例3:項(xiàng)目負(fù)責(zé)人立項(xiàng)項(xiàng)目參與者:項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:項(xiàng)目經(jīng)理已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟:項(xiàng)目負(fù)責(zé)人點(diǎn)擊項(xiàng)目面板中的添加項(xiàng)目按鈕系統(tǒng)進(jìn)入添加項(xiàng)目頁面,顯示需要填寫的信息表單項(xiàng)目負(fù)責(zé)人填寫對(duì)應(yīng)項(xiàng)目的信息點(diǎn)擊確定提交按鈕系統(tǒng)自動(dòng)保存項(xiàng)目負(fù)責(zé)人所填寫的內(nèi)容用例4:維護(hù)項(xiàng)目成員變動(dòng)參與者:項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:用戶已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟:項(xiàng)目負(fù)責(zé)人點(diǎn)擊項(xiàng)目面板的各項(xiàng)目模塊系統(tǒng)進(jìn)入項(xiàng)目詳情頁面項(xiàng)目負(fù)責(zé)人點(diǎn)擊項(xiàng)目成員處修改框重新輸入項(xiàng)目成員,用、分隔之后點(diǎn)擊保存,系統(tǒng)自動(dòng)會(huì)保存項(xiàng)目負(fù)責(zé)人對(duì)項(xiàng)目成員的維護(hù)變動(dòng)用例5:查看項(xiàng)目參與者:項(xiàng)目經(jīng)理或項(xiàng)目成員范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:用戶已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟:項(xiàng)目負(fù)責(zé)人或項(xiàng)目成員點(diǎn)擊項(xiàng)目面板的各項(xiàng)目模塊系統(tǒng)進(jìn)入項(xiàng)目詳情頁面用例6:查看項(xiàng)目參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:管理員網(wǎng)絡(luò)正常主要步驟:管理員點(diǎn)擊項(xiàng)目中心菜單點(diǎn)擊管理已審核項(xiàng)目子菜單系統(tǒng)進(jìn)入已審核項(xiàng)目信息總覽頁面用例7:刪除項(xiàng)目參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:管理員網(wǎng)絡(luò)正常主要流程管理員點(diǎn)擊項(xiàng)目中心菜單點(diǎn)擊管理已審核項(xiàng)目子菜單系統(tǒng)進(jìn)入已審核項(xiàng)目信息總覽界面鼠標(biāo)選擇到要想刪除的那個(gè)項(xiàng)目的條目點(diǎn)擊那條目的刪除按鈕系統(tǒng)自動(dòng)彈出刪除確認(rèn)框,點(diǎn)擊確認(rèn)按鈕系統(tǒng)刪除項(xiàng)目信息用例8:審核立項(xiàng)項(xiàng)目參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:管理員網(wǎng)絡(luò)正常主要步驟1.管理員單擊項(xiàng)目中心菜單進(jìn)入后再單擊審核項(xiàng)目子菜單2.系統(tǒng)進(jìn)入未審核項(xiàng)目信息總覽界面3.鼠標(biāo)選擇到要想審核的那個(gè)項(xiàng)目的條目并點(diǎn)擊那條目的審核按鈕4.系統(tǒng)進(jìn)入立項(xiàng)項(xiàng)目的項(xiàng)目詳情信息5.選擇下拉選框,選擇狀態(tài)為通過審核或者拒絕通過審核并提交替代步驟:7a.選擇通過審核系統(tǒng)返回審核項(xiàng)目列表審核項(xiàng)目列表中當(dāng)前審核通過的項(xiàng)目已不存在7b.選擇拒絕通過審核系統(tǒng)返回審核項(xiàng)目列表審核項(xiàng)目列表中當(dāng)前審核通過的項(xiàng)目仍然存在可以選擇一件清空立項(xiàng)的所有項(xiàng)目管理員重復(fù)1-7步,重新審核用例9:站內(nèi)搜索項(xiàng)目參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:管理員網(wǎng)絡(luò)正常主要步驟1.管理員點(diǎn)擊項(xiàng)目中心菜單2.點(diǎn)擊管理已審核項(xiàng)目子菜單3.系統(tǒng)進(jìn)入已審核項(xiàng)目信息總覽界面4.鼠標(biāo)移動(dòng)到搜索框5.輸入關(guān)鍵字并點(diǎn)擊搜索按鈕用例10:批量導(dǎo)出項(xiàng)目參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:管理員網(wǎng)絡(luò)正常主要步驟1.管理員點(diǎn)擊項(xiàng)目中心菜單2.點(diǎn)擊管理已審核項(xiàng)目子菜單3.系統(tǒng)進(jìn)入已審核項(xiàng)目信息總覽界面4.點(diǎn)擊批量導(dǎo)出詳細(xì)項(xiàng)目信息Excel表按鈕5.選擇要保存的本地路徑6.系統(tǒng)自動(dòng)下載Excel表格數(shù)據(jù)3.4.5任務(wù)管理模塊圖3.4任務(wù)管理模塊用例圖用例11:項(xiàng)目負(fù)責(zé)人創(chuàng)建需求任務(wù)參與者:項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:項(xiàng)目負(fù)責(zé)人已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要流程項(xiàng)目負(fù)責(zé)人點(diǎn)擊任務(wù)面板模塊點(diǎn)擊添加,系統(tǒng)進(jìn)入添加任務(wù)的頁面輸入相關(guān)任務(wù)信息后,點(diǎn)擊添加按鈕添加成功或失敗的提示框彈出隨后跳轉(zhuǎn)到任務(wù)面板頁面用例12:項(xiàng)目負(fù)責(zé)人刪除需求任務(wù)參與者:項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:項(xiàng)目負(fù)責(zé)人已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟項(xiàng)目負(fù)責(zé)人點(diǎn)擊任務(wù)面板模塊選中要?jiǎng)h除的需求任務(wù)塊點(diǎn)擊任務(wù)塊中的刪除按鈕系統(tǒng)彈出刪除確認(rèn)框點(diǎn)擊確認(rèn)后立即刪除任務(wù)用例13:項(xiàng)目負(fù)責(zé)人指派需求任務(wù)參與者:項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:項(xiàng)目負(fù)責(zé)人已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟項(xiàng)目負(fù)責(zé)人點(diǎn)擊任務(wù)面板模塊選中要指派的需求任務(wù)塊點(diǎn)擊任務(wù)塊中的指派按鈕系統(tǒng)彈出指派項(xiàng)目成員名單模態(tài)框在下拉選項(xiàng)中選擇要指派的項(xiàng)目成員點(diǎn)擊確認(rèn)后此需求任務(wù)就掛在了被指派者的任務(wù)下用例14:項(xiàng)目成員處理任務(wù)參與者:項(xiàng)目成員范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:項(xiàng)目成員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟項(xiàng)目負(fù)責(zé)人點(diǎn)擊任務(wù)面板模塊選中要指派的需求任務(wù)塊點(diǎn)擊任務(wù)塊中的指派按鈕系統(tǒng)彈出指派項(xiàng)目成員名單模態(tài)框在下拉選項(xiàng)中選擇要指派的項(xiàng)目成員點(diǎn)擊確認(rèn)后此需求任務(wù)就掛在了被指派者的任務(wù)下用例15:項(xiàng)目成員查看任務(wù)詳情參與者:項(xiàng)目成員范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:項(xiàng)目成員已經(jīng)成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)正常主要步驟項(xiàng)目負(fù)責(zé)人點(diǎn)擊任務(wù)面板模塊選中要查看的需求任務(wù)塊點(diǎn)擊任務(wù)塊中的查看詳情按鈕系統(tǒng)進(jìn)入任務(wù)詳情頁面3.4.6文檔中心模塊圖3.5文檔中心模塊用例圖用例16:上傳文檔資料參與者:項(xiàng)目成員或項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:用戶已成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)連接正常主要步驟用戶點(diǎn)擊文檔中心模塊系統(tǒng)進(jìn)入文檔資料展示頁面點(diǎn)擊上傳文檔資料按鈕選擇文檔所屬項(xiàng)目的項(xiàng)目ID選擇本地要上傳的文件最后點(diǎn)擊添加按鈕用例17:下載文檔資料參與者:項(xiàng)目成員或項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:用戶已成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)連接正常主要步驟:1.用戶點(diǎn)擊文檔中心模塊2.系統(tǒng)進(jìn)入文檔資料展示頁面3.選中要下載的文檔資料條目4.點(diǎn)擊下載圖標(biāo)按鈕5.選擇本地要保存的路徑用例18:站內(nèi)搜索文檔參與者:項(xiàng)目成員或項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:用戶已成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)連接正常主要步驟用戶點(diǎn)擊文檔中心模塊系統(tǒng)進(jìn)入文檔資料展示頁面在搜索框中輸入要搜索的關(guān)鍵字點(diǎn)擊搜索按鈕用例19:刪除文檔資料參與者:項(xiàng)目成員或項(xiàng)目經(jīng)理范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:用戶已成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:用戶網(wǎng)絡(luò)連接正常主要步驟用戶點(diǎn)擊文檔中心模塊系統(tǒng)進(jìn)入文檔資料展示頁面選中要?jiǎng)h除的文檔資料條目單擊刪除按鈕,系統(tǒng)彈出刪除確認(rèn)框單擊確認(rèn)按鈕立即刪除3.4.7用戶管理模塊圖3.6用戶管理模塊用例圖用例20:添加用戶參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟:?jiǎn)螕艄芾碛脩舨藛蜗碌木S護(hù)用戶信息子菜單單擊添加用戶按鈕系統(tǒng)跳轉(zhuǎn)到添加用戶界面輸入用戶必填信息點(diǎn)擊添加按鈕,系統(tǒng)立即保存用戶數(shù)據(jù)用例21:站內(nèi)搜索用戶參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊管理用戶菜單下的維護(hù)用戶信息子菜單在搜索框中輸入搜索關(guān)鍵字點(diǎn)擊搜索按鈕系統(tǒng)自動(dòng)匹配搜索出對(duì)應(yīng)的用戶數(shù)據(jù)并進(jìn)行展示用例22:修改用戶信息參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊管理用戶菜單下的維護(hù)用戶信息子菜單選中要修改用戶的條目點(diǎn)擊編輯按鈕系統(tǒng)自動(dòng)跳轉(zhuǎn)到用戶數(shù)據(jù)編輯頁面修改完后點(diǎn)擊更新按鈕系統(tǒng)自動(dòng)保存用戶最新數(shù)據(jù)用例23:刪除用戶信息參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊管理用戶菜單下的維護(hù)用戶信息子菜單選中要?jiǎng)h除的條目,點(diǎn)擊刪除按鈕系統(tǒng)彈出刪除確認(rèn)框點(diǎn)擊確認(rèn)按鈕,系統(tǒng)立即刪除用戶數(shù)據(jù)用例24:批量導(dǎo)入用戶信息參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊管理用戶菜單下的維護(hù)用戶信息子菜單先點(diǎn)擊下載Excel模塊按鈕本地按照模塊的格式填寫好對(duì)應(yīng)用戶數(shù)據(jù)點(diǎn)擊批量導(dǎo)入用戶按鈕彈出導(dǎo)入用戶Excel模態(tài)框選擇剛才編輯好的用戶Excel上傳到系統(tǒng)點(diǎn)擊提交按鈕后系統(tǒng)自動(dòng)進(jìn)行批量導(dǎo)入操作用例25:批量導(dǎo)出用戶信息參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊管理用戶菜單下的維護(hù)用戶信息子菜單點(diǎn)擊批量導(dǎo)出用戶按鈕選擇本地保存的導(dǎo)出路徑點(diǎn)擊確認(rèn),系統(tǒng)自動(dòng)導(dǎo)出用戶數(shù)據(jù)Excel表3.4.8角色管理模塊圖3.7角色管理模塊用例圖用例26:批量導(dǎo)出用戶信息參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊管理角色菜單下的維護(hù)角色信息子菜單點(diǎn)擊批量導(dǎo)出角色按鈕選擇本地保存的導(dǎo)出路徑點(diǎn)擊確認(rèn),系統(tǒng)自動(dòng)導(dǎo)出用戶數(shù)據(jù)Excel表3.4.9分配用戶角色權(quán)限模塊圖3.8分配用戶角色權(quán)限模塊用例圖用例27:分配用戶角色權(quán)限參與者:管理員范圍:項(xiàng)目管理系統(tǒng)管理端前置條件:管理員已成功登錄項(xiàng)目管理系統(tǒng)管理端后置條件:網(wǎng)絡(luò)連接正常主要步驟管理員點(diǎn)擊分配用戶角色菜單系統(tǒng)進(jìn)入用戶角色分配頁面在搜索框輸入用戶ID或者用戶名點(diǎn)擊搜索按鈕之后在下拉選框中選擇目前系統(tǒng)所分配的角色崗位最后點(diǎn)擊確認(rèn)分配角色按鈕3.4.10個(gè)人統(tǒng)計(jì)模塊圖3.9個(gè)人統(tǒng)計(jì)模塊用例圖用例28:查看個(gè)人處理任務(wù)數(shù)參與者:項(xiàng)目經(jīng)理或者項(xiàng)目成員范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:系統(tǒng)自動(dòng)統(tǒng)計(jì)好個(gè)人處理任務(wù)數(shù),用戶已成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:網(wǎng)絡(luò)連接正常主要步驟用戶點(diǎn)擊首頁模塊進(jìn)入首頁任務(wù)數(shù)據(jù)統(tǒng)計(jì)展示頁面用例29:查看個(gè)人參與項(xiàng)目數(shù)參與者:項(xiàng)目經(jīng)理或者項(xiàng)目成員范圍:項(xiàng)目管理系統(tǒng)用戶端前置條件:系統(tǒng)自動(dòng)統(tǒng)計(jì)好個(gè)人參與項(xiàng)目數(shù),用戶已成功登錄項(xiàng)目管理系統(tǒng)用戶端后置條件:網(wǎng)絡(luò)連接正常主要步驟用戶點(diǎn)擊首頁模塊進(jìn)入首頁項(xiàng)目數(shù)據(jù)統(tǒng)計(jì)展示頁面
4概要設(shè)計(jì)4.1系統(tǒng)整體流程圖圖4.1系統(tǒng)整體流程圖上圖為系統(tǒng)整體流程圖,直觀簡(jiǎn)潔地描述了系統(tǒng)整體執(zhí)行流程,第一步是登錄系統(tǒng),判斷用戶ID與密碼是否相符,同時(shí)判斷登錄者身份,如果是項(xiàng)目負(fù)責(zé)人,可以進(jìn)行項(xiàng)目需求任務(wù)的創(chuàng)建和指派需求給對(duì)應(yīng)的項(xiàng)目成員以及最后項(xiàng)目需求任務(wù)的審核,如果是開發(fā)人員,可根據(jù)被指派的需求任務(wù)處理自身的開發(fā)任務(wù),如果是測(cè)試人員,可根據(jù)被指派的需求任務(wù)處理自身的測(cè)試任務(wù)。如果登錄身份是管理員,則進(jìn)入管理員后臺(tái)頁面,對(duì)所有項(xiàng)目進(jìn)行維護(hù)管理,若有正在立項(xiàng)的項(xiàng)目也可以對(duì)其進(jìn)行審核,同時(shí)管理員負(fù)責(zé)在后臺(tái)添加和刪除用戶信息,也可通過導(dǎo)入導(dǎo)出功能實(shí)現(xiàn)批量添加用戶,還要對(duì)用戶的角色權(quán)限進(jìn)行分配。4.2領(lǐng)域模型領(lǐng)域模型從業(yè)務(wù)出發(fā),專注于分析問題領(lǐng)域,下圖是我做出的管理員、項(xiàng)目成員、項(xiàng)目、任務(wù)等概念的領(lǐng)域模型分析。圖4.2領(lǐng)域模型圖4.3模塊結(jié)構(gòu)本系統(tǒng)共拆分出十三個(gè)功能模塊,即首頁信息計(jì)算統(tǒng)計(jì)模塊、管理員分配用戶角色權(quán)限模塊、項(xiàng)目信息總覽模塊、任務(wù)信息總覽模塊、管理員維護(hù)角色模塊。項(xiàng)目進(jìn)度管理模塊、管理員維護(hù)項(xiàng)目模塊、任務(wù)創(chuàng)建指派流程模塊、文檔中心模塊、項(xiàng)目負(fù)責(zé)人立項(xiàng)模塊、項(xiàng)目成員管理模塊、用戶管理員登錄模塊、管理員維護(hù)用戶模塊。此外,通過對(duì)角色權(quán)限的分配,從而實(shí)現(xiàn)對(duì)不同用戶的不用粒度的權(quán)限控制。4.3.1模塊結(jié)構(gòu)圖圖4.3系統(tǒng)整體流程圖4.3.2模塊結(jié)構(gòu)表表4.1模塊結(jié)構(gòu)表模塊名模塊子功能功能細(xì)化用戶管理員登錄模塊登錄用戶和管理員登錄系統(tǒng)項(xiàng)目信息總覽模塊顯示項(xiàng)目情況顯示僅與當(dāng)前登錄用戶相關(guān)的項(xiàng)目信息情況,查看項(xiàng)目詳情首頁信息模塊計(jì)算統(tǒng)計(jì)當(dāng)前登錄用戶參與任務(wù)數(shù)與項(xiàng)目數(shù)統(tǒng)計(jì)當(dāng)前登錄用戶參與任務(wù)數(shù)與項(xiàng)目數(shù)項(xiàng)目成員管理模塊維護(hù)人員變動(dòng)項(xiàng)目負(fù)責(zé)人維護(hù)項(xiàng)目成員的變動(dòng)項(xiàng)目進(jìn)度管理模塊計(jì)算并顯示進(jìn)度根據(jù)任務(wù)數(shù)和已完成的任務(wù)數(shù)對(duì)項(xiàng)目進(jìn)度進(jìn)行計(jì)算并顯示任務(wù)創(chuàng)建指派流程模塊1、創(chuàng)建需求任務(wù)2、指派任務(wù)3、審核驗(yàn)收需求任務(wù)項(xiàng)目負(fù)責(zé)人開始創(chuàng)建需求任務(wù),并指派需求任務(wù)給對(duì)應(yīng)開發(fā)人員,開發(fā)人員處理開發(fā)任務(wù),之后測(cè)試人員測(cè)試功能處理測(cè)試任務(wù),最后項(xiàng)目負(fù)責(zé)人審核驗(yàn)收需求文檔中心模塊1、上傳文檔資料2、下載文檔資料3、查看文檔資料存放路徑在項(xiàng)目?jī)?nèi),開辟一個(gè)專門存放文檔的地方,供項(xiàng)目?jī)?nèi)成員下載和上傳,后臺(tái)管理員端還可知道文檔的存放路徑項(xiàng)目負(fù)責(zé)人立項(xiàng)模塊項(xiàng)目負(fù)責(zé)人立項(xiàng)項(xiàng)目負(fù)責(zé)人對(duì)項(xiàng)目進(jìn)行立項(xiàng),待后臺(tái)管理員通過審核后才能進(jìn)行執(zhí)行項(xiàng)目管理員管理項(xiàng)目模塊1、管理員審核項(xiàng)目2、管理員維護(hù)已審核項(xiàng)目3、審核項(xiàng)目信息4、批量導(dǎo)入導(dǎo)出項(xiàng)目后臺(tái)管理員對(duì)正在立項(xiàng)的項(xiàng)目進(jìn)行審核,決定是否通過,對(duì)已審核項(xiàng)目信息進(jìn)行維護(hù),支持批量導(dǎo)入導(dǎo)出項(xiàng)目管理員管理用戶模塊1、維護(hù)角色信息2、批量導(dǎo)入導(dǎo)出用戶后臺(tái)管理員對(duì)用戶信息進(jìn)行維護(hù),支持批量導(dǎo)入導(dǎo)出用戶管理員分配用戶角色權(quán)限模塊分配用戶角色權(quán)限管理員在添加用戶后對(duì)用戶角色權(quán)限進(jìn)行分配管理員管理角色模塊1、維護(hù)角色信息2、批量導(dǎo)入導(dǎo)出角色后臺(tái)管理員對(duì)角色信息進(jìn)行維護(hù),支持批量導(dǎo)入導(dǎo)出角色4.4數(shù)據(jù)庫設(shè)計(jì)4.4.1系統(tǒng)數(shù)據(jù)庫E-R圖E-R圖叫做實(shí)體-聯(lián)系圖,下方E-R圖描述了項(xiàng)目管理系統(tǒng)的現(xiàn)實(shí)概念結(jié)構(gòu)模型。圖4.4系統(tǒng)數(shù)據(jù)庫E-R圖4.4.2系統(tǒng)數(shù)據(jù)庫總表表4.2系統(tǒng)數(shù)據(jù)庫總表表名中文描述表名功能說明users用戶表存儲(chǔ)用戶信息roles角色權(quán)限表存儲(chǔ)角色信息projects項(xiàng)目表存儲(chǔ)項(xiàng)目信息表tasks項(xiàng)目任務(wù)表存儲(chǔ)項(xiàng)目任務(wù)信息documents項(xiàng)目文檔表存儲(chǔ)項(xiàng)目文檔資料members項(xiàng)目人員表存儲(chǔ)項(xiàng)目成員信息(解決項(xiàng)目與項(xiàng)目人員的多對(duì)多關(guān)聯(lián))execute任務(wù)執(zhí)行表存儲(chǔ)任務(wù)處理者信息(解決任務(wù)與處理人的多對(duì)多關(guān)聯(lián))auditing立項(xiàng)審核表存儲(chǔ)待審核項(xiàng)目表4.4.3數(shù)據(jù)字典表4.3users數(shù)據(jù)字典表名users列名數(shù)據(jù)類型非空約束條件中文描述userIdvarchar(20)true主鍵主鍵標(biāo)識(shí),用戶賬號(hào)IDuserNamevarchar(50)true用戶名passwordvarchar(50)true密碼sexchar(2)true性別addressvarchar(100)false住址phonevarchar(20)false聯(lián)系手機(jī)號(hào)roleIdinttrue角色I(xiàn)D表4.4roles數(shù)據(jù)字典表名roles列名數(shù)據(jù)類型非空約束條件中文描述roleIdinttrue主鍵主鍵標(biāo)識(shí),角色I(xiàn)DroleTypevarchar(50)true角色類型roleNamevarchar(50)true角色名rolePowervarchar(50)true角色擁有的權(quán)限,如增加、刪除、修改、查詢表4.5projects數(shù)據(jù)字典表名projects表列名數(shù)據(jù)類型非空約束條件中文描述projectIdvarchar(30)true主鍵主鍵標(biāo)識(shí),項(xiàng)目IDprojectNamevarchar(50)false項(xiàng)目名稱projectContentvarchar(255)false項(xiàng)目簡(jiǎn)要介紹time_startdatefalse項(xiàng)目開始時(shí)間time_enddatefalse項(xiàng)目結(jié)束時(shí)間leadervarchar(20)false項(xiàng)目負(fù)責(zé)人phonevarchar(20)false聯(lián)系手機(jī)號(hào)inputMoneyfloatfalse項(xiàng)目投入資金outputMoneyfloatfalse項(xiàng)目創(chuàng)收資金costfloatfalse項(xiàng)目成本costDetailfloatfalse項(xiàng)目資金消費(fèi)明細(xì)西processfloatfalse項(xiàng)目總進(jìn)度(已完成任務(wù)數(shù)/總共任務(wù)數(shù))表4.6tasks數(shù)據(jù)字典表名tasks表列名數(shù)據(jù)類型非空約束條件中文描述taskIdvarchar(20)true主鍵主鍵標(biāo)識(shí),任務(wù)IDtaskNamevarchar(50)false任務(wù)名稱taskContentvarchar(255)false任務(wù)內(nèi)容createTimedatefalse創(chuàng)建時(shí)間finishTimedatefalse截止完成時(shí)間taskStatusvarchar(20)true任務(wù)狀態(tài),如已完成、正在進(jìn)行taskTypevarchar(20)true任務(wù)類型,如需求任務(wù)、開發(fā)任務(wù)taskLevelvarchar(10)true任務(wù)優(yōu)先級(jí)projectIdvarchar(30)true外鍵,關(guān)聯(lián)Projects表關(guān)聯(lián)項(xiàng)目表的項(xiàng)目ID表4.7documents數(shù)據(jù)字典表名documents表列名數(shù)據(jù)類型非空約束條件中文描述documentIdinttrue主鍵主鍵標(biāo)識(shí),文檔IDdocumentNamevarchar(100)false文檔名uploadTimedatefalse文檔上傳時(shí)間authorvarchar(50)false文檔作者savePathvarchar(255)false文檔存儲(chǔ)路徑projectIdvarchar(30)true外鍵,關(guān)聯(lián)Projects表關(guān)聯(lián)項(xiàng)目表的項(xiàng)目ID表4.8members數(shù)據(jù)字典表名members表列名數(shù)據(jù)類型非空約束條件中文描述memberIdinttrue主鍵主鍵標(biāo)識(shí),項(xiàng)目人員IDuserIdvarchar(20)true外鍵,關(guān)聯(lián)Users表用戶ID,項(xiàng)目人員projectIdvarchar(30)true外鍵,關(guān)聯(lián)Projects表項(xiàng)目ID表4.9execute數(shù)據(jù)字典表名execute表列名數(shù)據(jù)類型非空約束條件中文描述executeIdinttrue主鍵主鍵標(biāo)識(shí),任務(wù)處理IDuserIdvarcahr(20)true外鍵,關(guān)聯(lián)Users表用戶ID,任務(wù)處理者taskIdvarchar(20)true外鍵,關(guān)聯(lián)Tasks表任務(wù)ID表4.10auditing數(shù)據(jù)字典表名auditing表列名數(shù)據(jù)類型非空約束條件中文描述auditingIdvarchar(30)true主鍵主鍵標(biāo)識(shí),審核IDprojectName_tmpvarchar(50)false項(xiàng)目名稱projectContent_tmpvarchar(255)false項(xiàng)目簡(jiǎn)要介紹time_start_tmpdatefalse項(xiàng)目開始時(shí)間time_end_tmpdatefalse項(xiàng)目結(jié)束時(shí)間leader_tmpvarchar(20)false項(xiàng)目負(fù)責(zé)人phone_tmpvarchar(20)false聯(lián)系手機(jī)號(hào)inputMoney_tmpfloatfalse項(xiàng)目投入資金outputMoney_tmpfloatfalse項(xiàng)目創(chuàng)收資金cost_tmpfloatfalse項(xiàng)目成本costDetail_tmpvarchar(300)false項(xiàng)目資金消費(fèi)明細(xì)auditingStatusinttrue立項(xiàng)審核狀態(tài)0未審核通過1審核通過4.5項(xiàng)目api接口設(shè)計(jì)項(xiàng)目api設(shè)計(jì)采用當(dāng)前規(guī)范的restful風(fēng)格API接口設(shè)計(jì),本項(xiàng)目中具體應(yīng)用而設(shè)計(jì)出的RESTful風(fēng)格api大概有以下這些:表4.11項(xiàng)目API接口表功能請(qǐng)求方式請(qǐng)求資源api后臺(tái)管理端restfulAPI跳轉(zhuǎn)到登錄頁面/toLogin執(zhí)行登錄請(qǐng)求/login執(zhí)行登出請(qǐng)求/auth/logout跳轉(zhuǎn)到前臺(tái)用戶首頁/user-sys/index跳轉(zhuǎn)到后臺(tái)管理員首頁/admin-sys/index查詢所有角色信息GET/admin-sys/roles跳轉(zhuǎn)到添加角色界面GET/admin-sys/role添加role對(duì)象POST/admin-sys/role跳轉(zhuǎn)到修改角色界面GET/admin-sys/role/{roleId}修改role對(duì)象PUT/admin-sys/role刪除role對(duì)象DELETE/admin-sys/role/{roleId}查詢所有用戶信息GET/admin-sys/users跳轉(zhuǎn)到添加用戶界面GET/admin-sys/user添加user對(duì)象POST/admin-sys/user跳轉(zhuǎn)到修改用戶界面GET/admin-sys/user/{userId}修改user對(duì)象PUT/admin-sys/user刪除user對(duì)象DELETE/admin-sys/user/{userId}跳轉(zhuǎn)到分配用戶角色界面GET/admin-sys/user/role分配用戶角色PUT/admin-sys/user/role/{userId},{roleName}跳轉(zhuǎn)到當(dāng)前登錄管理員信息界面GET/admin-sys/admin/{userId}批量導(dǎo)出用戶信息EXCELGET/admin-sys/users-export下載用戶信息EXCEL模板GET/admin-sys/users-template批量導(dǎo)入用戶信息EXCELPOST/admin-sys/users-import批量導(dǎo)出角色信息EXCELGET/admin-sys/roles-export下載角色信息EXCEL模板GET/admin-sys/roles-template批量導(dǎo)入角色信息EXCELPOST/admin-sys/roles-import查詢所有項(xiàng)目信息GET/admin-sys/projects跳轉(zhuǎn)到修改項(xiàng)目界面GET/admin-sys/project/{projectId}修改project對(duì)象PUT/admin-sys/project刪除project對(duì)象DELETE/admin-sys/project/{projectId}批量導(dǎo)出項(xiàng)目信息EXCELGET/admin-sys/projects-export查詢所有文檔信息GET/admin-sys/documents添加文檔資料POST/admin-sys/document刪除文檔資料DELETE/admin-sys/document查詢所有未審核項(xiàng)目列表GET/admin-sys/auditings審核未通過的項(xiàng)目PUT/admin-sys/auditing一鍵清空未審核項(xiàng)目列表DELETE/admin-sys/auditing按關(guān)鍵字站內(nèi)搜索用戶GET/admin-sys/user-search/{keyword}按關(guān)鍵字站內(nèi)搜索文檔GET/admin-sys/document-search/{keyword}按關(guān)鍵字站內(nèi)搜索項(xiàng)目GET/admin-sys/project-search/{keyword}按關(guān)鍵字站內(nèi)搜索用戶角色分配GET/admin-sys/user/role-search/{keyword}前臺(tái)用戶端restfulAPI跳轉(zhuǎn)到當(dāng)前登錄用戶信息界面GET/user-sys/user/{userId}根據(jù)當(dāng)前用戶查詢參與的項(xiàng)目GET/user-sys/projects/{userId}跳轉(zhuǎn)到當(dāng)前登錄用戶的所有任務(wù)列表界面GET/user-sys/tasks/{userId}跳轉(zhuǎn)到添加任務(wù)界面GET/user-sys/task添加任務(wù)POST/user-sys/task刪除任務(wù)DELETE/user-sys/task/{taskId}跳轉(zhuǎn)到查看指定任務(wù)詳情界面GET/user-sys/task/{taskId}跳轉(zhuǎn)到文檔中心GET/user-sys/documents/{userId}刪除文檔資料DELETE/admin-sys/document/{documentId}站內(nèi)搜索文檔資料GET/user-sys/docuemnt-search/{keyword}上傳文檔資料POST/user-sys/document查找當(dāng)前任務(wù)的可指派項(xiàng)目成員GET/user-sys/task-apport/{taskId}指派任務(wù)給項(xiàng)目成員PUT/user-sys/task-apport/{taskId}項(xiàng)目負(fù)責(zé)人添加項(xiàng)目成員POST/user-sys/member項(xiàng)目負(fù)責(zé)人刪除項(xiàng)目成員DELETE/user-sys/member項(xiàng)目負(fù)責(zé)人修改項(xiàng)目信息PUT/user-sys/project項(xiàng)目負(fù)責(zé)人進(jìn)入到立項(xiàng)界面GET/user-sys/project項(xiàng)目負(fù)責(zé)人立項(xiàng)操作POST/user-sys/project5詳細(xì)設(shè)計(jì)5.1程序開發(fā)視圖 本系統(tǒng)的開發(fā)使用主流的JavaWeb開發(fā)框架Springboot+持久層框架Mybatis+輕量級(jí)的權(quán)限安全框架Shiro,按照功能的不同進(jìn)行分層的結(jié)構(gòu)進(jìn)行開發(fā),分層結(jié)構(gòu)總共5層:View視圖層、Controller控制層、Service實(shí)現(xiàn)層、Dao持久層、Model模型層。各層之間逐層交互調(diào)用關(guān)系和詳細(xì)開發(fā)視圖如圖5.1所示。圖5.1程序開發(fā)視圖5.2系統(tǒng)類關(guān)系圖圖5.2用戶登錄類圖登錄總共分為兩類大角色登錄,用戶與管理員共同使用LoginController類,LoginController類根據(jù)不同的標(biāo)識(shí),登錄跳轉(zhuǎn)到不同的View。圖5.3用戶管理類圖使用UserController類來進(jìn)行請(qǐng)求的控制轉(zhuǎn)發(fā),調(diào)用UserService接口來進(jìn)行請(qǐng)求的邏輯處理,再調(diào)用UserMapper接口通過User持久化對(duì)象的交互把用戶數(shù)據(jù)持久化進(jìn)數(shù)據(jù)庫DB中,完成一系列用戶管理操作,比如查看所有用戶信息列表,是通過UserController類中的userList方法-->UserService接口中的findAllUser方法-->UserMapper接口中的findAllUser方法從而實(shí)現(xiàn)此功能,返回頁面請(qǐng)求到的數(shù)據(jù),在頁面再進(jìn)行數(shù)據(jù)渲染展示;比如批量導(dǎo)入用戶信息功能,原理其實(shí)是通過UserController類的importExcel方法-->ExcelService接口中的importUserExcel方法,利用poi的jar包程序?qū)ι蟼鞯膃xcel文件進(jìn)行解析讀取表格數(shù)據(jù),最后循環(huán)調(diào)用UserService接口中的saveUser方法對(duì)數(shù)據(jù)進(jìn)行批量讀入。圖5.4文檔中心類圖關(guān)于文檔資料的維護(hù)管理都在這個(gè)文檔中心類中,不管是用戶還是管理員,都是通過這個(gè)DocumentController類來對(duì)請(qǐng)求進(jìn)行控制處理的,項(xiàng)目負(fù)責(zé)人要上傳文檔資料時(shí)是將上傳文件資料存到項(xiàng)目中指定的文件夾路徑下,在獲取這個(gè)路徑,把這個(gè)文件存儲(chǔ)路徑通過調(diào)用DocumentMapper接口與Document對(duì)象持久化到數(shù)據(jù)庫DB中,然后返回給頁面的下載圖標(biāo)超鏈接中就嵌入了這個(gè)文件路徑,當(dāng)項(xiàng)目部署啟動(dòng)后同時(shí)就可以對(duì)上傳的文件進(jìn)行下載操作了。5.3系統(tǒng)詳細(xì)設(shè)計(jì)項(xiàng)目管理系統(tǒng),主要是服務(wù)于企業(yè)的團(tuán)隊(duì)成員。所以,該系統(tǒng)設(shè)計(jì)需要簡(jiǎn)便,方便操作,界面直觀,同時(shí)確保系統(tǒng)穩(wěn)定、穩(wěn)固。下面是項(xiàng)目管理系統(tǒng)的主要界面。5.3.1登錄頁面用戶登錄系統(tǒng)是進(jìn)行項(xiàng)目協(xié)同或管理員管理的前提條件,項(xiàng)目成員對(duì)項(xiàng)目的操作是有區(qū)分對(duì)象和權(quán)限的,所以對(duì)整個(gè)項(xiàng)目流程的把控和參與,以及所有操作前都需要先登錄系統(tǒng)。圖5.5登錄頁面5.3.2用戶端項(xiàng)目面板頁面 前臺(tái)用戶系統(tǒng)的項(xiàng)目面板最主要的就是項(xiàng)目信息的總覽,界面簡(jiǎn)潔,各項(xiàng)目采用項(xiàng)目塊的方式排列成一行一行,可以直接點(diǎn)擊對(duì)應(yīng)項(xiàng)目塊而進(jìn)入查看項(xiàng)目詳情,讓項(xiàng)目負(fù)責(zé)人和項(xiàng)目成員登錄進(jìn)前臺(tái)系統(tǒng)后,可以方便進(jìn)行操作,這里有權(quán)限方面的控制,如項(xiàng)目負(fù)責(zé)人進(jìn)入此面板,才會(huì)有立項(xiàng)這個(gè)功能按鈕。點(diǎn)擊進(jìn)入項(xiàng)目詳情中同樣也只有項(xiàng)目負(fù)責(zé)人才有權(quán)限可以維護(hù)項(xiàng)目成員變動(dòng)的模塊。圖5.6用戶端的項(xiàng)目面板5.3.3用戶端維護(hù)項(xiàng)目成員變動(dòng) 項(xiàng)目負(fù)責(zé)人進(jìn)入對(duì)應(yīng)的項(xiàng)目塊,進(jìn)行維護(hù)項(xiàng)目成員變動(dòng)的操作,這個(gè)模塊放置在了項(xiàng)目詳情頁面,在下拉選框中可以搜索到在后臺(tái)導(dǎo)入的所有用戶,選中后點(diǎn)擊確定加入成員即可增加當(dāng)前項(xiàng)目成員。圖5.7項(xiàng)目負(fù)責(zé)人維護(hù)項(xiàng)目成員變動(dòng)模塊5.3.4用戶端任務(wù)面板頁面任務(wù)面板頁面是項(xiàng)目成員操作得最多的一個(gè)板塊,項(xiàng)目成員可以在這個(gè)頁面下查看參與項(xiàng)目下的所有需求,還可以查看當(dāng)前掛在自己名下的所有任務(wù),項(xiàng)目負(fù)責(zé)人在這個(gè)板塊下還可以添加需求任務(wù)和指派需求任務(wù)。圖5.8項(xiàng)目負(fù)責(zé)人任務(wù)面板頁面5.3.5用戶端上傳文檔資料頁面 用戶點(diǎn)擊導(dǎo)航欄進(jìn)入文檔中心,在文檔中心里,可以看到當(dāng)前登錄用戶所參與項(xiàng)目的所有文檔資料,可以模糊搜索關(guān)鍵字匹配到想要查看的文檔資料,在文檔中心里項(xiàng)目成員還可以上傳文檔資料以供查閱使用。圖5.9上傳文檔資料5.3.6用戶端指派需求任務(wù) 項(xiàng)目負(fù)責(zé)人在任務(wù)面板中可以對(duì)需求任務(wù)進(jìn)行指派操作。圖5.10項(xiàng)目負(fù)責(zé)人指派需求5.3.7用戶端處理任務(wù) 當(dāng)項(xiàng)目成員登錄進(jìn)系統(tǒng)后,進(jìn)入任務(wù)面板,可以看到被項(xiàng)目負(fù)責(zé)人指派到自己名下的任務(wù),從而根據(jù)任務(wù)詳情處理任務(wù),按流程進(jìn)行。圖5.11項(xiàng)目成員處理需求5.3.8管理端管理用戶信息整個(gè)系統(tǒng)的用戶信息是不會(huì)憑空而來,只有通過管理員在管理端錄入用戶信息,這些用戶才可以在用戶端進(jìn)行相應(yīng)的權(quán)限操作,體現(xiàn)了系統(tǒng)的安全性。針對(duì)用戶數(shù)據(jù)若比較多的情況,考慮便捷性,我加入了站內(nèi)搜索的功能。使得管理員在管理用戶信息是方便快捷。圖5.12管理員管理用戶信息5.3.9管理端導(dǎo)入Excel數(shù)據(jù)表格總是只能單條記錄的添加,會(huì)顯得系統(tǒng)比較繁瑣,所以我加入了批量導(dǎo)入數(shù)據(jù)的功能,即先點(diǎn)擊下載Excel模板,按照模板的格式規(guī)范填寫好準(zhǔn)備好用戶數(shù)據(jù),之后在系統(tǒng)內(nèi)通過上傳Excel數(shù)據(jù)表格讓系統(tǒng)自動(dòng)解析出用戶信息并批量錄入數(shù)據(jù)庫。圖5.13管理員下載用戶Excel模板數(shù)據(jù)表格圖5.14管理員上傳用戶Excel數(shù)據(jù)表格5.3.10管理端分配用戶權(quán)限錄入完用戶信息時(shí),需要給用戶分配好角色權(quán)限,項(xiàng)目管理系統(tǒng)最主要的就是權(quán)限的準(zhǔn)確性,各個(gè)權(quán)限都有對(duì)應(yīng)的可操作范圍,再次體現(xiàn)系統(tǒng)的安全性。圖5.15管理員分配用戶權(quán)限頁面圖5.16管理員分配用戶權(quán)限成功提示5.3.11管理端管理已審核項(xiàng)目項(xiàng)目管理系統(tǒng),最主要的對(duì)象就是項(xiàng)目,所以對(duì)項(xiàng)目的管理也是很不可或缺,項(xiàng)目管理模塊中,管理員可以對(duì)項(xiàng)目進(jìn)行編輯,刪除,批量導(dǎo)出,站內(nèi)搜索等一系列功能。圖5.17管理員管理已審核項(xiàng)目頁面5.3.12管理端審核項(xiàng)目這是審核立項(xiàng)項(xiàng)目的功能,主要是為了增強(qiáng)系統(tǒng)的審批功能,當(dāng)項(xiàng)目負(fù)責(zé)人在用戶端立項(xiàng)后,項(xiàng)目不能立即就被創(chuàng)建,立項(xiàng)后需要管理員在后臺(tái)對(duì)立項(xiàng)項(xiàng)目進(jìn)行審核,然后選擇是否通過審核允許立項(xiàng)。圖5.18管理員審核項(xiàng)目負(fù)責(zé)人立項(xiàng)項(xiàng)目的頁面
6軟件測(cè)試6.1測(cè)試環(huán)境6.1.1服務(wù)器端環(huán)境CPU:Intel(R)Core(TM)i5-6200U內(nèi)存:8.00GB操作系統(tǒng):Windows10Pro數(shù)據(jù)庫:MySQL5.7Web服務(wù)器:Tomcat96.1.2客戶端測(cè)試環(huán)境瀏覽器:GoogleChrome操作系統(tǒng):Windows10ProCPU:Intel(R)Core(TM)i5-6200U6.2測(cè)試計(jì)劃對(duì)于這個(gè)系統(tǒng),我的測(cè)試計(jì)劃是把測(cè)試重點(diǎn)放在一些核心功能的測(cè)試上,比如前臺(tái)用戶端的項(xiàng)目負(fù)責(zé)人指派需求功能,管理員批量導(dǎo)入用戶數(shù)據(jù)功能,導(dǎo)出Excel表格功能等,而每開發(fā)好一個(gè)功能模塊就先安排一次獨(dú)立功能模塊的測(cè)試,后續(xù)多個(gè)模塊開發(fā)好就再進(jìn)行多模塊聯(lián)合測(cè)試。6.2.1總體描述本系統(tǒng)在win10電腦,tomcat9.0服務(wù)器作為部署環(huán)境,用Firefox火狐瀏覽器+Chrome谷歌瀏覽器,模擬項(xiàng)目管理系統(tǒng)在實(shí)際運(yùn)行中各功能操作的正確性。 項(xiàng)目管理系統(tǒng)前臺(tái)用戶端整體測(cè)試和后臺(tái)管理端的整體測(cè)試,用戶端測(cè)試中,首先使用用戶ID和密碼登錄系統(tǒng)用戶端,成功登錄后進(jìn)入首頁,點(diǎn)擊項(xiàng)目面板進(jìn)行參與項(xiàng)目查看和操作,主要針對(duì)不同用戶進(jìn)行登錄,因?yàn)榇讼到y(tǒng)對(duì)角色權(quán)限的把控是重點(diǎn),項(xiàng)目負(fù)責(zé)人角色登錄用戶端和項(xiàng)目成員角色登錄用戶端,有幾項(xiàng)區(qū)別:項(xiàng)目負(fù)責(zé)人在項(xiàng)目面板中是擁有立項(xiàng)功能按鈕,還有指派需求功能按鈕,進(jìn)入項(xiàng)目信息中項(xiàng)目負(fù)責(zé)人還擁有維護(hù)項(xiàng)目成員變動(dòng)的功能模塊,這幾項(xiàng)功能對(duì)于項(xiàng)目成員登錄進(jìn)系統(tǒng)是不會(huì)有顯示出來的。這就是前臺(tái)用戶端基于角色的細(xì)粒度權(quán)限管理,前臺(tái)用戶端主要測(cè)試重點(diǎn)在這里,經(jīng)一系列切換登錄流程操作下來,系統(tǒng)根據(jù)用戶角色正常顯示功能按鈕。點(diǎn)擊文檔中心模塊進(jìn)入查看文檔列表,用戶是可以上傳文檔資料到對(duì)應(yīng)項(xiàng)目里的,點(diǎn)擊上傳文檔按鈕,選擇本地要上傳的文件,勾選上參與項(xiàng)目ID,點(diǎn)擊添加按鈕,一系列測(cè)試操作后均正常。 項(xiàng)目管理系統(tǒng)后臺(tái)管理端有多個(gè)模塊,首先登錄管理員端,管理員端的菜單欄在首頁左側(cè),可以看到項(xiàng)目中心、文檔中心、管理用戶、管理角色等模塊,逐個(gè)菜單功能點(diǎn)擊測(cè)試。在管理員端管理用戶菜單中點(diǎn)擊維護(hù)用戶信息子菜單,點(diǎn)擊下載用戶Excel模板按鈕下載模板文件,然后點(diǎn)擊批量導(dǎo)入用戶按鈕,在系統(tǒng)彈出的導(dǎo)入模態(tài)框中上傳本地Excel用戶數(shù)據(jù)表格,系統(tǒng)就開始自動(dòng)批量錄入用戶數(shù)據(jù)了。同時(shí)系統(tǒng)也支持了批量導(dǎo)出用戶信息Excel功能,點(diǎn)擊批量導(dǎo)出用戶按鈕,經(jīng)過一系列操作功能正常。6.2.2測(cè)試原則我們?nèi)斯な遣豢赡茏龅礁F舉測(cè)試,用有限的良好測(cè)試用例發(fā)現(xiàn)更多的缺陷。對(duì)系統(tǒng)的測(cè)試是早測(cè)試早有利,減少項(xiàng)目時(shí)間成本。6.2.3測(cè)試方法單元測(cè)試:通過對(duì)代碼中獨(dú)立功能進(jìn)行調(diào)試,一般由開發(fā)人員執(zhí)行。黑盒測(cè)試:通過輸入不符合規(guī)范的數(shù)據(jù)或操作,和預(yù)期輸出結(jié)果比對(duì)從而發(fā)現(xiàn)缺陷。集成測(cè)試:通過對(duì)系統(tǒng)的按模塊區(qū)分單獨(dú)做測(cè)試,最后將這些模塊整合起來再一起做測(cè)試。6.3測(cè)試用例6.3.1用戶登錄測(cè)試用例表6.1用戶登錄測(cè)試用例用例IDT001用例名稱用戶登錄用例描述用戶通過用戶ID和密碼登錄項(xiàng)目管理系統(tǒng)用戶端測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1進(jìn)入登錄頁面輸入登錄頁面地址進(jìn)入進(jìn)入登錄頁面與預(yù)期結(jié)果一致Step2進(jìn)行登錄輸入用戶ID及密碼系統(tǒng)跳轉(zhuǎn)至用戶端首頁與預(yù)期結(jié)果一致6.3.2管理員登錄測(cè)試用例表6.2管理員登錄測(cè)試用例用例IDT002用例名稱管理員登錄用例描述管理員通過輸入管理員ID和密碼登錄系統(tǒng)測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1進(jìn)入登錄頁面輸入登錄頁面地址進(jìn)入登錄頁面成功進(jìn)入登錄頁面與預(yù)期結(jié)果一致Step2進(jìn)行登錄輸入管理員ID與密碼系統(tǒng)跳轉(zhuǎn)至管理員端首頁與預(yù)期結(jié)果一致6.3.3項(xiàng)目負(fù)責(zé)人創(chuàng)建需求任務(wù)測(cè)試用例表6.3項(xiàng)目負(fù)責(zé)人創(chuàng)建需求測(cè)試用例用例IDT003用例名稱項(xiàng)目負(fù)責(zé)人創(chuàng)建需求用例描述項(xiàng)目負(fù)責(zé)人在立項(xiàng)頁面輸入數(shù)據(jù),并提交保存。測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1進(jìn)入立項(xiàng)頁面項(xiàng)目負(fù)責(zé)人角色登錄用戶端后點(diǎn)擊項(xiàng)目面板,單擊立項(xiàng)功能按鈕項(xiàng)目面板中有對(duì)應(yīng)的立項(xiàng)按鈕,點(diǎn)擊后進(jìn)入立項(xiàng)頁面與預(yù)期結(jié)果一致Step2在表單中輸入數(shù)據(jù)并保存在輸入框內(nèi)輸入數(shù)據(jù),然后點(diǎn)擊添加按鈕系統(tǒng)跳轉(zhuǎn)到項(xiàng)目面板頁面與預(yù)期結(jié)果一致6.3.4項(xiàng)目負(fù)責(zé)人指派需求測(cè)試用例表6.4項(xiàng)目負(fù)責(zé)人指派需求測(cè)試用例用例IDT004用例名稱項(xiàng)目負(fù)責(zé)人指派需求用例描述項(xiàng)目負(fù)責(zé)人點(diǎn)擊對(duì)應(yīng)任務(wù)塊的指派按鈕,選擇用戶并確認(rèn)指派。測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1進(jìn)入任務(wù)面板頁面項(xiàng)目負(fù)責(zé)人登錄進(jìn)系統(tǒng)用戶端后點(diǎn)擊任務(wù)面板頁面進(jìn)入并展示用戶參與項(xiàng)目的任務(wù)與預(yù)期結(jié)果一致Step2選擇要指派的任務(wù)找到要指派的需求任務(wù),單擊任務(wù)塊的指派功能按鈕系統(tǒng)自動(dòng)彈出指派模態(tài)框,讓我們選擇用戶與預(yù)期結(jié)果一致Step3選擇用戶,并確認(rèn)指派項(xiàng)目負(fù)責(zé)人在下拉選框中找到要指派的項(xiàng)目成員,并點(diǎn)擊確認(rèn)彈出指派成功的提示框,返回任務(wù)面板頁面與預(yù)期結(jié)果一致6.3.5用戶上傳文檔資料測(cè)試用例表6.5用戶上傳文檔資料測(cè)試用例用例編號(hào)T005用例名稱用戶上傳文檔資料用例描述用戶點(diǎn)擊文檔中心的上傳文檔功能按鈕,上傳后點(diǎn)擊添加。測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1用戶進(jìn)入文檔中心顯示頁面用戶點(diǎn)擊導(dǎo)航欄中的文檔中心菜單進(jìn)入文檔資料顯示列表與預(yù)期結(jié)果一致Step2上傳文檔資料用戶點(diǎn)擊上傳文檔功能按鈕,選擇上傳文件,點(diǎn)擊添加頁面返回到文檔中心顯示文檔資料列表與預(yù)期結(jié)果一致6.3.6管理員管理用戶測(cè)試用例表6.6管理員管理用戶測(cè)試用例用例編號(hào)T006用例名稱管理員管理用戶信息用例描述管理員修改、增加、刪除用戶信息測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1管理員進(jìn)入用戶列表管理頁面管理員在管理員端點(diǎn)擊管理用戶菜單,再點(diǎn)擊維護(hù)用戶信息子菜單頁面跳轉(zhuǎn)到用戶信息管理頁面,顯示用戶信息與預(yù)期結(jié)果一致Step2管理員編輯用戶信息管理員點(diǎn)擊需要修改的條目的編輯按鈕,跳轉(zhuǎn)到編輯頁面后輸入修改數(shù)據(jù),再點(diǎn)擊更新按鈕修改用戶信息成功,并跳轉(zhuǎn)到用戶信息列表與預(yù)期結(jié)果一致Step3管理員增加新的用戶管理員點(diǎn)擊添加用戶按鈕,調(diào)整到添加頁面后輸入用戶數(shù)據(jù),再點(diǎn)擊添加按鈕進(jìn)入添加用戶頁面,輸入用戶信息,添加成功返回用戶列表與預(yù)期結(jié)果一致Step4管理員刪除用戶管理員點(diǎn)擊需要?jiǎng)h除的用戶,系統(tǒng)彈出刪除確認(rèn)框,再點(diǎn)擊確認(rèn)按鈕系統(tǒng)彈出刪除提示框刪除成功,再刷新用戶列表與預(yù)期結(jié)果一致6.3.7管理員導(dǎo)入用戶Excel表格測(cè)試用例表6.7管理員導(dǎo)入用戶Excel數(shù)據(jù)表格測(cè)試用例用例編號(hào)T007用例名稱管理員導(dǎo)入用戶Excel數(shù)據(jù)表格用例描述管理員批量導(dǎo)入用戶數(shù)據(jù)測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1下載用戶Excel數(shù)據(jù)表格模板管理員在進(jìn)入用戶列表后,點(diǎn)擊下載用戶信息Excel模板功能按鈕系統(tǒng)彈出Excel數(shù)據(jù)表格的保存路徑選框與預(yù)期結(jié)果一致Step2上傳修改好的用戶Excel數(shù)據(jù)表格管理員點(diǎn)擊批量導(dǎo)入用戶功能按鈕系統(tǒng)彈出導(dǎo)入提示框與預(yù)期結(jié)果一致Step3批量錄入用戶信息管理員在導(dǎo)入提示框點(diǎn)擊確認(rèn)系統(tǒng)彈出導(dǎo)入結(jié)果框,然后刷新用戶列表與預(yù)期結(jié)果一致6.3.8管理員分配用戶權(quán)限測(cè)試用例表6.8管理員分配用戶權(quán)限測(cè)試用例用例編號(hào)T008用例名稱管理員分配用戶權(quán)限用例描述管理員分配用戶角色權(quán)限測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1管理員進(jìn)入用戶角色分配頁面管理員點(diǎn)擊管理員端的分配用戶角色菜單頁面跳轉(zhuǎn)到分配用戶角色頁面與預(yù)期結(jié)果一致Step2管理員分配用戶角色管理員選擇要分配的用戶角色,再點(diǎn)擊確認(rèn)分配角色功能按鈕下拉框關(guān)閉,彈出分配成功提示框,刷新頁面與預(yù)期結(jié)果一致6.3.9管理員管理已審核項(xiàng)目測(cè)試用例表6.9管理員管理已審核項(xiàng)目測(cè)試用例用例編號(hào)T009用例名稱管理員管理已審核項(xiàng)目用例描述管理員修改、刪除已審核項(xiàng)目測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1管理員進(jìn)入已審核項(xiàng)目列表頁面管理員點(diǎn)擊項(xiàng)目中心菜單下的管理已審核項(xiàng)目子菜單頁面跳轉(zhuǎn)到已審核項(xiàng)目列表與預(yù)期結(jié)果一致Step2管理員修改項(xiàng)目信息管理員點(diǎn)擊項(xiàng)目列表中項(xiàng)目的編輯功能按鈕頁面跳轉(zhuǎn)到編輯項(xiàng)目信息頁面與預(yù)期結(jié)果一致Step3管理員輸入修改數(shù)據(jù)并提交管理員數(shù)據(jù)修改數(shù)據(jù),并點(diǎn)擊更新按鈕提交表單系統(tǒng)到跳轉(zhuǎn)到項(xiàng)目列表展示頁面與預(yù)期結(jié)果一致Step4管理員刪除已審核項(xiàng)目管理員點(diǎn)擊項(xiàng)目的刪除功能按鈕,再點(diǎn)擊確認(rèn)系統(tǒng)彈出刪除確認(rèn)框,點(diǎn)擊確認(rèn)后則刷新項(xiàng)目列表與預(yù)期結(jié)果一致6.3.10管理員審核立項(xiàng)項(xiàng)目測(cè)試用例表6.10管理員審核立項(xiàng)項(xiàng)目測(cè)試用例用例編號(hào)T010用例名稱管理員審核立項(xiàng)項(xiàng)目用例描述管理員審核立項(xiàng)項(xiàng)目測(cè)試步驟編號(hào)場(chǎng)景測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果Step1管理員進(jìn)入審核立項(xiàng)界面管理員在管理員端的項(xiàng)目中心菜單點(diǎn)擊審核項(xiàng)目子菜單頁面跳轉(zhuǎn)到立項(xiàng)項(xiàng)目列表頁與預(yù)期結(jié)果一致Step2管理員審核項(xiàng)目信息管理員點(diǎn)擊審核功能按鈕頁面跳轉(zhuǎn)到立項(xiàng)項(xiàng)目詳情頁與預(yù)期結(jié)果一致Step3管理員通過立項(xiàng)審核管理員審核完項(xiàng)目信息,下拉框選擇通過審核,并點(diǎn)擊更新按鈕頁面返回立項(xiàng)項(xiàng)目列表頁,同時(shí)清除此立項(xiàng)記錄與預(yù)期結(jié)果一致6.4測(cè)試總結(jié)圖6.1系統(tǒng)測(cè)試出的bug分布圖整體系統(tǒng)的測(cè)試中,測(cè)試出的bug數(shù)總共有25個(gè),其中前端界面顯示出現(xiàn)問題的bug有6個(gè),占比24%,后端接口數(shù)據(jù)功能bug有4個(gè),占比16%,而前后端聯(lián)調(diào)數(shù)據(jù)交互bug有15個(gè),占比60%。經(jīng)過多次對(duì)用戶端和管理端進(jìn)行整體測(cè)試,整體核心流程都可以正常完成,各模塊工作正常,測(cè)試出來的都是小bug,且已修復(fù)完畢。目前來看,整個(gè)系統(tǒng)可穩(wěn)定投入使用。
7總結(jié)這次畢業(yè)設(shè)計(jì),是對(duì)自己編程技能的一次挑戰(zhàn)。在大三下學(xué)期的框架實(shí)訓(xùn)課,組織其他2位同學(xué)跟著趙卓君老師完成了“國(guó)際交流管理系統(tǒng)”,對(duì)一個(gè)系統(tǒng)的開發(fā)已經(jīng)有大概的認(rèn)識(shí)和一些個(gè)人的見解,這一次獨(dú)立完成的項(xiàng)目管理系統(tǒng)選用了互聯(lián)網(wǎng)主流的框架技術(shù),是對(duì)自己能力的進(jìn)一步挑戰(zhàn),我也希望可以完美地完成這么一個(gè)系統(tǒng),真正把大學(xué)學(xué)到的技能用到實(shí)處。剛開始確定課題后,經(jīng)常與指導(dǎo)老師趙卓君老師商討,了解需求,而這個(gè)期間,對(duì)項(xiàng)目管理需求的不清晰,導(dǎo)致經(jīng)歷了很多次更改需求,重構(gòu)數(shù)據(jù)庫設(shè)計(jì),對(duì)系統(tǒng)的改造,好在最后趙老師都能給到我一些建議,讓我能從中明白該怎么做下去以及項(xiàng)目管理過程中的實(shí)際意義。因?yàn)榈谝淮谓佑|新技術(shù),所以在代碼編寫過程中吃過很多虧,最印象深刻的是Ajax前端技術(shù)的使用,平時(shí)主要都是在學(xué)習(xí)后臺(tái)框架技術(shù),對(duì)前端技術(shù)不是很精通,對(duì)異步請(qǐng)求后臺(tái)獲取數(shù)據(jù)并渲染這個(gè)實(shí)現(xiàn)過程遭遇卡點(diǎn),我使用的是Thymeleaf模板引擎開發(fā)界面,當(dāng)刪除數(shù)據(jù)請(qǐng)求時(shí)并不是執(zhí)行后就跳轉(zhuǎn)到其他頁面,于是跟添加請(qǐng)求不一樣的做法,我采用了Ajax異步請(qǐng)求技術(shù)來實(shí)現(xiàn)前后臺(tái)交互,在當(dāng)前頁面刪除數(shù)據(jù)后局部刷新頁面,可是一直請(qǐng)求報(bào)錯(cuò)405,這個(gè)bug糾結(jié)了我許久,經(jīng)過很多思考和嘗試查閱許多資料,最后明白是要在傳遞data數(shù)據(jù)時(shí)改變請(qǐng)求方式,把_method:DELETE參數(shù)封裝進(jìn)data數(shù)據(jù)里一同傳送才解決的。還有一次就是使用poi技術(shù)去解析Excel表時(shí)也遭遇卡點(diǎn),因?yàn)樯蟼鞯腅xcel數(shù)據(jù)格式總是不匹配,最后經(jīng)過思考考慮,我加多了一個(gè)功能,就是提供下載導(dǎo)入前的Excel模板,管理員在導(dǎo)入Excel先下載模板,在模板里規(guī)范的格式填寫數(shù)據(jù)Excel,之后再上傳就好了,其實(shí)做導(dǎo)入導(dǎo)出Excel功能的時(shí)候遇到了許多困難,還好之前大三實(shí)訓(xùn)課時(shí)做的系統(tǒng)實(shí)現(xiàn)過導(dǎo)入導(dǎo)出Excel功能,當(dāng)時(shí)我花了2天研究并實(shí)現(xiàn)了導(dǎo)入導(dǎo)出功能,主要用到了poi和jxl這兩種技術(shù)解析處理Excel數(shù)據(jù),當(dāng)時(shí)還總結(jié)寫了一篇博文記錄分享了實(shí)現(xiàn)和排查解決bug過程。參考文獻(xiàn)[1]張工廠MySQL5.7從入門到精通北京:清華大學(xué)出版社,2019[2]楊恩雄SpringBoot2+Thymeleaf企業(yè)應(yīng)用實(shí)戰(zhàn)北京:電子工業(yè)出版社,2018[3]李剛瘋狂軟件著SpringBoot2企業(yè)應(yīng)用實(shí)戰(zhàn)北京:電子工業(yè)出版社,2018[4]劉增輝著MyBatis從入門到精通北京:電子工業(yè)出版社,2017[5]楊開振等,JavaEE互聯(lián)網(wǎng)輕量級(jí)框架整合開發(fā)北京:電子工業(yè)出版社,2017[6]韓萬江,姜立新.軟件項(xiàng)目管理案例教程(第3版)[M].北京:清華大學(xué)出版社,2013[7]萬常選,廖國(guó)瓊,吳京慧,劉喜平等編著,數(shù)據(jù)庫系統(tǒng)原理與設(shè)計(jì)(第2版)[M].北京:清華大學(xué)出版社,2012[8]趙卓君等.Java程序設(shè)計(jì)高級(jí)教程[M].北京:北京交通大學(xué)出版社、清華大學(xué)出版社,2011[9]趙卓君等.Java程序設(shè)計(jì)基礎(chǔ)教程[M].北京:北京交通大學(xué)出版社、清華大學(xué)出版社,2010[10]BruceEckel編著,Java編程思想(第4版)北京:機(jī)械工業(yè)出版社,2007
謝辭時(shí)光飛逝,不知不覺中,為時(shí)一個(gè)學(xué)期的畢業(yè)設(shè)計(jì)即將結(jié)束了,這也同時(shí)代表著大學(xué)生活已近尾聲。四年的努力與付出,都將隨著這個(gè)畢業(yè)設(shè)計(jì)的完成,將要?jiǎng)澫戮涮?hào)。在這四年中經(jīng)歷太多的事情,學(xué)會(huì)了許多東西,獨(dú)立能力能提升不少。還記得剛剛進(jìn)入大學(xué),我還只是以為我的軟件是修電腦的,還有些心浮氣躁,隨著時(shí)間的流逝,在這過程中不斷鍛煉自我,讓我變得更加的穩(wěn)重。在這四年,學(xué)到了很多,經(jīng)常泡圖書館自學(xué)的我,學(xué)習(xí)成績(jī)一向很好,獲得了很多次獎(jiǎng)學(xué)金,也積極參加專業(yè)相關(guān)的競(jìng)賽,在此十分感謝那些教給我知識(shí)的老師們和朝夕相處的室友同學(xué)們。在這里,我特別感謝下我的畢業(yè)設(shè)計(jì)指導(dǎo)老師趙卓君副教授,還記得第一次見到趙卓君老師是在大二上Java基礎(chǔ)課還有一門數(shù)據(jù)庫基礎(chǔ)課,而那會(huì)我也很好學(xué),經(jīng)過有問題請(qǐng)教趙卓君老師,趙老師每次都會(huì)十分負(fù)責(zé)認(rèn)真幫我解答問題。有時(shí)候下課時(shí)間太短暫不夠解答,老師會(huì)同意課后讓我到辦公室去找她詳細(xì)答疑,那時(shí)我就十分感謝并敬重趙老師,而且給我的感覺,老師是一個(gè)十分自律和有教學(xué)責(zé)任感的好老師。在大三下學(xué)期,我隨著實(shí)訓(xùn)課的作業(yè)要求組織另外2位同學(xué)跟著趙老師做國(guó)際交流管理系統(tǒng)項(xiàng)目,這也是我第一次真實(shí)參與做完整的項(xiàng)目系統(tǒng)。在這里感謝趙老師給了我一次機(jī)會(huì)嘗試接觸實(shí)戰(zhàn)系統(tǒng)。在這次畢業(yè)設(shè)計(jì)中,無論是前期的需求分析,還是到中期檢查暴露出的一些問題,趙老師都會(huì)十分耐心的與我討論并給我建議,對(duì)我這個(gè)畢業(yè)設(shè)計(jì)幫助很大。所以,在這大學(xué)四年遇到趙卓君老師,并且作為趙老師學(xué)生,我感到十分幸運(yùn)。最后,感謝我的舍友和我的同學(xué)朋友。這次特別感謝下健哥,每當(dāng)我在宿舍寫代碼遇到bug卡住思考無解時(shí),我都會(huì)請(qǐng)教健哥,健哥是我們宿舍里學(xué)習(xí)成績(jī)最好的一個(gè),他也很樂意幫助解決編程問題。用他自己的話講,就是別人遇到的bug可能我之前遇到過或者我以后也會(huì)遇到過,所以有時(shí)間多討論學(xué)習(xí)對(duì)大家都有好處。同時(shí)也感謝自己,感謝自己在這四年和在這個(gè)畢業(yè)設(shè)計(jì)中從來沒有放棄,并希望在接下來的工作中我可以好好發(fā)展,邁入社會(huì),更多一份擔(dān)當(dāng)。附錄程序源代碼用戶信息批量導(dǎo)入//Controller層核心代碼/**
*@Author小江[com.zhbit]
*@Date2020/1/2922:42
*Description批量導(dǎo)入用戶信息到數(shù)據(jù)庫
*/
@PostMapping("/admin-sys/users-import")
@ResponseBody
publicStringimportExcel(@RequestParam(value="uploadFile")MultipartFileuploadFile,HttpServletRequestreq,HttpServletResponseresp){
("測(cè)試是否獲取到上傳的文件:"+uploadFile);
("文件名:"+uploadFile.getOriginalFilename());
intsum=0;//導(dǎo)入數(shù)據(jù)條數(shù)
List<User>userList=excelService.importUserExcel(uploadFile,req,resp);
("打印userList對(duì)象:"+userList);
if(userList.isEmpty()){
return"批量導(dǎo)入數(shù)據(jù)失敗,角色信息表為空或者所有角色信息均已存在數(shù)據(jù)庫";
}
for(inti=0;i<userList.size();i++){
userService.saveUser(userList.get(i));
sum++;
}
return"批量導(dǎo)入"+sum+"條數(shù)據(jù)成功";
}//Service層核心代碼@Override
publicList<User>importUserExcel(MultipartFileuploadFile,HttpServletRequestreq,HttpServletResponseresp){
introwNum=0;//用來循環(huán)的行數(shù)
intrealRowCount=0;//真正有數(shù)據(jù)的行數(shù),總數(shù)據(jù)數(shù)
Workbookworkbook=null;
//獲取excel工作簿
try{
workbook=getWorkbookByInputStream(uploadFile.getInputStream(),uploadFile.getOriginalFilename());
if(workbook==null){
returnnull;
}
}catch(IOExceptione){
e.printStackTrace();
}
Sheetsheet=workbook.getSheetAt(0);
//獲取excel工作表
if(null==sheet){
workbook.createSheet();
}
//獲取excel總數(shù)據(jù)數(shù)
realRowCount=sheet.getPhysicalNumberOfRows();
List<User>userList=newArrayList<>();
Useruser=null;
for(Rowrow:sheet){
if(realRowCount==rowNum){
break;
}
if(this.isBlankRow(row)){//空行跳過
("第"+row.getRowNum()+"行存在空數(shù)據(jù)");
continue;
}
if(row.getRowNum()==-1){
continue;
}else{
if(row.getRowNum()==0){//第一行表頭跳過
continue;
}
}
rowNum++;
user=newUser();
if(row.getCell(0)!=null&&row.getCell(0).toString()!=""){
user.setUserId(row.getCell(0).getStringCellValue());
}
if(row.getCell(1)!=null&&row.getCell(1).toString()!=""){
user.setUserName(row.getCell(1).getStringCellValue());
}
if(row.getCell(2)!=null){
//設(shè)置類型為字符型,否則導(dǎo)入密碼時(shí)報(bào)錯(cuò)
row.getCell(2).setCellType(CellType.STRING);
user.setPassword(row.getCell(2).getStringCellValue());
}
if(row.getCell(3)!=null&&row.getCell(3).toString()!=""){
user.setSex(row.getCell(3).getStringCellValue());
}
if(row.getCell(4)!=null&&row.getCell(4).toString()!=""){
user.setAddress(row.getCell(4).getStringCellValue());
}
if(row.getCell(5)!=null){
//設(shè)置類型為字符型,否則導(dǎo)入手機(jī)號(hào)時(shí)報(bào)錯(cuò)
row.getCell(5).setCellType(CellType.STRING);
user.setPhone(row.getCell(5).getStringCellValue());
}
if(userMapper.findByUserId(user.getUserId())==null){
(user.getUserId());
userList.add(user);
}else{
("此用戶對(duì)象已存在");
continue;
}
}
returnuserList;
}@Override
publicWorkbookgetWorkbookByInputStream(InputStreamiStream,StringfileName){
Workbookworkbook=null;
try{
if(null==fileName){
returnnull;
}
if(fileName.endsWith(".xls")){
workbook=newHSSFWorkbook(iStream);
}elseif(fileName.endsWith(".xlsx")){
workbook=newXSSFWorkbook(iStream);
}else{
("僅支持excel文件");
returnnull;
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(iStream!=null){
try{
iStream.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
returnworkbook;
}
@Override
publicbooleanisBlankRow(Rowrow){
if(row==null){
returntrue;
}
Iterator<Cell>iter=row.cellIterator();
while(iter.hasNext()){
Cellcell=iter.next();
if(cell==null){
continue;
}
Stringvalue=cell.getStringCellValue();
if(value!=null&&!"".equals(value.toString())){
returnfalse;
}
}
returntrue;
}//Mapper層核心代碼<insertid="saveUser"parameterType="User"keyProperty="userId"useGeneratedKeys="true">
insertintousers(userId,userName,password,sex,address,phone)
values(
#{userId,jdbcType=VARCHAR},
#{userName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},
#{sex,jdbcType=VARCHAR},
#{address,jdbcType=VARCHAR},
#{phone,jdbcType=VARCHAR}
)
</insert>//Model層核心代碼/**
*FileName:User
*Author:小江
*Date:2019/12/2621:07
*History:
*/
packagecom.zhbit.xiaojiang.entity;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年庫房轉(zhuǎn)租合同轉(zhuǎn)租條件、轉(zhuǎn)租手續(xù)及租金處理分析
- 2024年企業(yè)內(nèi)部審計(jì)保密協(xié)議
- 2024年度企業(yè)社會(huì)責(zé)任報(bào)告合同
- 2024年度住宅小區(qū)木門安裝工程合同
- 2024年度許可使用合同(商標(biāo))
- 腰椎ct課件教學(xué)課件
- 2024北京技術(shù)合同
- 2024年大數(shù)據(jù)使用協(xié)議:數(shù)據(jù)收集、分析和應(yīng)用的具體規(guī)定
- 液體密度課件教學(xué)課件
- 輿論學(xué)課件教學(xué)
- 警察給小學(xué)生講課課件
- 山東省臨沂市蘭山區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期中數(shù)學(xué)試題
- 四年級(jí)期中家長(zhǎng)會(huì)課件
- 《COPD診療新進(jìn)展》課件
- 禮修于心 儀養(yǎng)于行 課件-2023-2024學(xué)年高一上學(xué)期文明禮儀在心中養(yǎng)成教育主題班會(huì)
- 第七章 成組技術(shù)
- 防腐設(shè)備設(shè)備安全操作規(guī)程
- 幼兒行為觀察與指導(dǎo)第八章幼兒園游戲活動(dòng)中的觀察與指導(dǎo)
- 英語專業(yè)導(dǎo)論(第2版)PPT完整全套教學(xué)課件
- 電解原理的應(yīng)用 全國(guó)優(yōu)質(zhì)課一等獎(jiǎng)
- 天線測(cè)試手冊(cè)
評(píng)論
0/150
提交評(píng)論