Bug管理系統(tǒng)UML2.0全程建模(V1.0)_第1頁
Bug管理系統(tǒng)UML2.0全程建模(V1.0)_第2頁
Bug管理系統(tǒng)UML2.0全程建模(V1.0)_第3頁
Bug管理系統(tǒng)UML2.0全程建模(V1.0)_第4頁
Bug管理系統(tǒng)UML2.0全程建模(V1.0)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Bug管理系統(tǒng)UML2.0全程建?!到y(tǒng)分析與設(shè)計報告劉偉(中南大學信息科學與工程學院湖南長沙410083)

Bug管理系統(tǒng)UML2.0全程建模目錄1.項目概述1.1需求分析1.2開發(fā)技術(shù)1.3UML2.0全程建模概述2.系統(tǒng)分析2.1用例模型2.2BMS用例圖2.3BMS時序圖.....................................................................................................................................1................................................................................................................................1................................................................................................................................3..........................................................................................................3.....................................................................................................................................4................................................................................................................................5............................................................................................................................5(需求模型)....................................................................................................6(需求模型)....................................................................................................8)....................................................................................................92.4BMS狀態(tài)圖2.5BMS活動圖(需求模型3.系統(tǒng)設(shè)計...................................................................................................................................103.1體系結(jié)構(gòu)設(shè)計......................................................................................................................113.2BMS類圖3.3BMS時序圖3.4BMS包圖3.5BMS組件圖3.6BMS部署圖..............................................................................................................................12(實現(xiàn)模型)..................................................................................................13..............................................................................................................................15..........................................................................................................................15..........................................................................................................................164.參考資料...................................................................................................................................171信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模1.項目概述隨著軟件項目規(guī)模和復雜性的增大,有效跟蹤和管理項目中存在的缺陷Bug變得越來越重要。每一個軟件企業(yè)都需要妥善處理軟件中的缺陷,這將直接關(guān)系到軟件過程質(zhì)量與軟件產(chǎn)品質(zhì)量,但并非所有的軟件組織都知道如何有效地管理自己軟件中的缺陷。在軟件缺陷管理(SoftwareDefectManagement)中,軟件缺陷的分類和管理非常重要,因此軟件缺陷管理工具的開發(fā)和使用將在現(xiàn)代軟件開發(fā)中發(fā)揮重要作用。本報告將使用UML2.0對Bug管理系統(tǒng)進行全程建模,該系統(tǒng)名為缺陷管理系統(tǒng)(BugManagementSystem,BMS),并按照軟件工程的標準,提供一套完整的解決方案。1.1需求分析一個完備的bug管理流程通常包括如下幾個步驟,如圖1-1所示:圖1-1bug管理流程圖圖1-1是bug管理的最基本流程,而實際的bug管理要更加復雜,不同的步驟由不同的角色負責,如提交bug、驗證修改后的軟件是測試人員的工作,分析和定位bug以及修改相應的軟件分是析設(shè)計人員以及開發(fā)人員的工作,在整個過1信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模程中項目經(jīng)理還需要對bug信息進行統(tǒng)計和監(jiān)控。在BMS的需求分析過程中,我們發(fā)現(xiàn)bug管理流程的某些步驟可以通過一個bug管理系統(tǒng)來完成,一方面可以提高bug的處理速度,另一方面便于對bug信息的跟蹤與統(tǒng)計。通過對bug管理流程和實際使用過程的需求分析,BMS系統(tǒng)基本需求如下:(1)系統(tǒng)預設(shè)管理員帳號為Admin,初始密碼為Admin。BMS系統(tǒng)管理員在登錄系統(tǒng)后可修改密碼,系統(tǒng)管理員的主要工作包括增加相關(guān)人員初始信息,包括帳號、初始密碼和項目角色,項目角色包括測試人員、開發(fā)組長、開發(fā)人員和項目經(jīng)理;另外,系統(tǒng)管理員還可以刪除人員信息。(2)其他用戶在登錄后方可使用該系統(tǒng),除了帳號和項目角色外用戶可以修改各項個人信息,包括(3)測試人員可以利用BMS提交自己發(fā)現(xiàn)的bug信息,提類型、bug嚴重程度、bug發(fā)生的位置(如所處功能模塊、測試界面的URL或名稱等)、測試環(huán)境描述、使用的具和版本信息例信息(包括測試數(shù)據(jù)、期望結(jié)果和實際結(jié)果等信息)、附加描述信息、附件(屏幕截圖或錄像等)等。測試人員將盡量填寫完整這些信息以便最大程度幫助開發(fā)人員現(xiàn)重bug以便調(diào)試,在系統(tǒng)數(shù)據(jù)庫中需要記錄bug的狀態(tài)。(4)測試人員將bug提交給開發(fā)組長,開發(fā)組長在查看bug信息給相關(guān)記錄開發(fā)組長的bug查看和分發(fā)情況。(5)開發(fā)人員可以登錄系統(tǒng)查看bug詳情,系統(tǒng)可以記錄開發(fā)人員是否已查看bug詳情。在對bug進行修復后,更新bug修復信息(修復內(nèi)容、修復時間、修復人等),將更新的bug信息發(fā)送給測試人員,系統(tǒng)將修改bug的狀態(tài),然后通知測試人員以獲取最新版本進行驗證。(6)測試人員如驗證無誤,可關(guān)閉該bug;否則可重新返回開發(fā)人員修無論驗證是否通過,測試人員需更新bug測試信息(測試結(jié)果、測試時間、測試人等)。(7)項目經(jīng)理可以隨時查看bug統(tǒng)計報告,對bug信息進行分真實姓名、聯(lián)系電話和電子郵箱等。交的信息包括bug測試工、測試用之后可將bug分發(fā)開發(fā)人員,系統(tǒng)可以復。類匯總與實時跟蹤。2信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模1.2開發(fā)技術(shù)本系統(tǒng)采用三層B/S結(jié)構(gòu)進行開發(fā),包括客戶端瀏覽器層、Web服務器層和數(shù)據(jù)庫服務器層,系統(tǒng)整體架構(gòu)如圖1-2所示:圖1-2BMS整體架構(gòu)在實際部署和使用過程中,如果數(shù)據(jù)量較小,可以將Web服務器和數(shù)據(jù)庫服務器合二為一。B/S結(jié)構(gòu)具備部署和升級簡單等優(yōu)點,系統(tǒng)安裝、修改和維護全在服務器端解決,用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運行全部的模塊;同時B/S結(jié)構(gòu)還提供了一種異種機、異種網(wǎng)聯(lián)機、聯(lián)網(wǎng)解決方案,開發(fā)團隊與測試團隊可以基于不同的操作系統(tǒng)平臺和網(wǎng)絡(luò)環(huán)境進行協(xié)同工作。BMS系統(tǒng)開發(fā)技術(shù)包括:采用JavaEE平臺,使用MVC架構(gòu),來實現(xiàn)系統(tǒng)功能,數(shù)據(jù)庫采用MySQL,并使用Navicat中間件使用Tomcat6.5,運用JSP+Servlet+JavaBean等技術(shù)8forMySQL對MySQL數(shù)據(jù)庫進行可視化管理,服務器開發(fā)工具使用MyEclipse8.0。1.3UML2.0全程建模概述為了更為高效快捷地開發(fā)BMS,我們采用了UML(UnifiedModelingLanguage,統(tǒng)一建模語言)2.0建模技術(shù),并充分使用UML2.0建模語言的特性,對系統(tǒng)進行全程建模。在使用UML2.0的同時,我們提出了UML全程建模(UML-FullProcessModeling,UML-FPM)的概念,將UML2.0中的13種圖應用于系統(tǒng)分析與設(shè)計的全過程,通過對UML2.0十三種圖進行分析,并根據(jù)這些圖在該圖中將之間的關(guān)系及作用繪制了如圖1-3所示的UML2.0全程建模流程圖,3信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模系統(tǒng)開發(fā)過程分為兩個大階段:需求分析與系統(tǒng)分析,系統(tǒng)設(shè)計與實現(xiàn),該圖使用UML活動圖繪制,較為全面、清晰地描述如何應用UML技術(shù)來構(gòu)造系統(tǒng)的分析與設(shè)計模型以及UML各圖形之間的關(guān)系。通信圖(需求模型)需求分析與系統(tǒng)分析用例圖(用例文檔)[是]是否需要清晰顯示交互對象關(guān)系是否存在復雜對象時序圖(需求模型)是否存在復雜流程[是][是]狀態(tài)圖(需求模型)活動圖(需求模型)系統(tǒng)設(shè)計與實現(xiàn)時序圖(實現(xiàn)模型)狀態(tài)圖(實現(xiàn)模型)是否需要對時序圖進行組織活動圖(實現(xiàn)模型)[是]是否需要清晰顯示對象間的關(guān)系是否需要了解每一個活動的細節(jié)[是][是]通信圖(實現(xiàn)模型)交互概覽圖是否需要標明定時約束是否需要一個類圖實例類圖[是][邏輯劃分][物理劃分][是]定時圖對象圖組件圖包圖組合結(jié)構(gòu)圖[是]部署圖內(nèi)部結(jié)構(gòu)是否復雜圖1-3UML2.0全程建模流程圖BMS采用UML-FPM進行全程建模,我們構(gòu)造了BMS的各種視圖,包括用戶視圖、結(jié)構(gòu)視圖、動態(tài)視圖、實現(xiàn)視圖和環(huán)境視圖,每種視圖對應一種或多種UML圖形,通過這些圖形來對系統(tǒng)進行全面而有效的分析與設(shè)計。2.系統(tǒng)分析在BMS的系統(tǒng)分析階段,我們使用了用例圖、時序圖、狀態(tài)圖和活動圖等UML圖形構(gòu)造系統(tǒng)的分析模型,對系統(tǒng)進行深入的分析,明確系統(tǒng)的開發(fā)目標,更好地回答了“做什么”的問題,各種圖形相互補充,從不同的角度對系統(tǒng)進行全面的分析。通過使用UML-FPM方法,我們構(gòu)造了系統(tǒng)的分析模型,具體分析工作如下:4信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模2.1用例模型在BMS系統(tǒng)中,我們首先使用用戶視圖即用例圖來將系統(tǒng)功能需求圖形化,通過找出執(zhí)行者與用例來明確和細化系統(tǒng)功能。UML用例建模流程如圖2-1所示:圖2-1UML用例建模流程圖BMS的執(zhí)行者包括系統(tǒng)管理員、開發(fā)組長、開發(fā)人員、測試人員和項目經(jīng)理,每個執(zhí)行者對應的功能有所差異。系統(tǒng)提供主要功能包括人員信息的管理和bug信息的管理,因此用例主要包括對人員信息和bug信息的增刪改查等操作。2.2BMS用例圖通過對系統(tǒng)進行分析,BMS用例圖如圖2-2所示:<<include>><<include>>分發(fā)bug開發(fā)組長修改密碼<<include>>增加人員信息<<include>>登錄系統(tǒng)管理員<<include>>刪除人員信息修改個人信息<<include>><<include>><<include>>開發(fā)人員用戶更新bug修復信息<<include>>查看bug信息<<include>><<include>>更新bug測試信息測試人員提交bug信息關(guān)閉bug信息查看bug統(tǒng)計報告項目經(jīng)理圖2-2BMS用例圖5信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模2.3BMS時序圖(需求模型)在UML-FPM中,我們將時序圖分為兩類,一類用于描述系統(tǒng)需求,構(gòu)造系統(tǒng)的需求模型;另一類用于指導設(shè)計與實現(xiàn),構(gòu)造系統(tǒng)的實現(xiàn)模型。在系統(tǒng)分析時,可以通過時序圖來對執(zhí)行者和系統(tǒng)的交互過程進行建模,方便用戶更好地理解系統(tǒng)的工作流程。對于需求模型時序圖,一般使用用戶熟悉的業(yè)務語言來進行系統(tǒng)描述,不涉及到實現(xiàn)細節(jié),一方面方便用戶理解,另一方面可以指導后續(xù)類圖的設(shè)計。時序圖可顯示不同的業(yè)務對象如何交互,對于交流當前業(yè)務如何進行很有用,一個業(yè)務級的時序圖能被當作一個需求文件使用,為實現(xiàn)一個未來系統(tǒng)傳遞需求;同時,時序圖能夠使用更為清晰形象的表達,將用例帶入下一層次,通常一個用例可以被細化為一個或者更多的時序圖。時序圖的主要用途之一,是把用例表達的需求,轉(zhuǎn)化為進一步、更深層次的細精表達。根據(jù)需求我們繪制了每一個用例的時序圖,由于篇幅關(guān)系,未將每個用例的時序圖一一列舉。圖2-3、2-4、2-5、2-6分別是用例“登錄”、“提交bug信息”、“查看bug信息”和“更新bug信息”的時序圖。登錄登錄界面業(yè)務對象數(shù)據(jù)庫操作對象數(shù)據(jù)庫用戶打開界面loop[如果驗證失敗]系統(tǒng)提示輸入帳號和密碼輸入帳號和密碼提交數(shù)據(jù)驗證數(shù)據(jù)查詢數(shù)據(jù)返回結(jié)果返回結(jié)果返回結(jié)果顯示結(jié)果圖2-3用例“登錄”時序圖(需求模型)6信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模提交bug信息提交界面業(yè)務對象數(shù)據(jù)庫操作對象數(shù)據(jù)庫測試人員打開界面loop[wrong]輸入bug信息提交bug信息驗證bug信息增加數(shù)據(jù)返回結(jié)果返回結(jié)果返回結(jié)果顯示結(jié)果圖2-4用例“提交bug信息”時序圖(需求模型)查看bug信息bug顯示界面業(yè)務對象數(shù)據(jù)庫操作對象數(shù)據(jù)庫用戶打開界面查詢信息查詢信息查詢信息返回信息返回信息返回信息顯示bug信息圖2-5用例“查看bug信息”時序圖(需求模型)7信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模更新bug修復信息bug顯示界面bug信息修改界面業(yè)務對象數(shù)據(jù)庫操作對象數(shù)據(jù)庫開發(fā)人員ref查看bug信息返回bug信息查看bug信息()1:顯示bug信息2:選擇一個bug3:選擇bug信息4:查詢bug信息5:查詢數(shù)據(jù)庫6:返回bug信息7:返回bug信息8:返回bug信息9:顯示一個bug信息10:輸入修復信息11:提交修復信息12:更新bug信息13:更新數(shù)據(jù)庫14:返回信息15:返回信息16:返回信息17:顯示更新結(jié)果圖2-6用例“更新bug信息”時序圖(需求模型)2.4BMS狀態(tài)圖(需求模型)在需求分析過程中,我們發(fā)現(xiàn)BMS系統(tǒng)的核心對象是bug,因此可以使用對其進行建模。UML中的狀態(tài)圖狀態(tài)及其引起狀態(tài)轉(zhuǎn)移的事件。只有那些具有重要交互行為的類,才會使用狀態(tài)圖來描述,一個狀態(tài)圖狀態(tài)圖可以用來描述一個特定對象的所有可能包括一系列對象的狀態(tài)及狀態(tài)之間的轉(zhuǎn)換。在實際建模中,并不需要給出每個對象的狀態(tài)圖,而需要將注意力集中在整體系統(tǒng)或少數(shù)關(guān)鍵的對象上,特別是那些狀態(tài)比較多的對象。在BMS系統(tǒng)中,最復雜也最為重要的對象是bug,它在系統(tǒng)中擁有多種不同的狀態(tài),不同類型的用戶可以對其進行操作,為了更好地描述bug對象狀態(tài)的轉(zhuǎn)換,我們繪制了bug對象狀態(tài)圖,如圖2-7所示:8信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模新提交bug開發(fā)組長查看開發(fā)組長已查看bug分發(fā)已分發(fā)bug開發(fā)人員查看開發(fā)人員看bug已查已修復bugdo/驗證]/驗證已關(guān)閉bug[驗證通過]/驗證修復bug[驗證未通過圖2-7bug對象狀態(tài)圖在圖2-7中,我們可以清晰了解bug對象在系統(tǒng)中所具有的狀態(tài)以及這些狀態(tài)之間的轉(zhuǎn)換過程,如測試人員提交的bug其狀態(tài)為“新提交bug”,開發(fā)組長查看后該bug的狀態(tài)“開發(fā)組長已查看bug”。將變?yōu)?.5BMS活動圖(需求模型)在狀態(tài)圖中,我們描述了BMS系統(tǒng)中bug對象的各種狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換關(guān)系,但是這些狀態(tài)在轉(zhuǎn)換的過程中無法確定何種狀態(tài)由哪類執(zhí)行者負責操作,因此可以通過活動圖來進行建模,此時的活動圖用于對需求模型進行進一步細化。在系統(tǒng)分析過程中,我們使用活動圖取代傳統(tǒng)的流程圖,在表示系統(tǒng)業(yè)務流程的同時通過泳道來確定每一個活動的執(zhí)行者。在活動圖中我們還使用了對象流來表示活動與對象之間的依賴關(guān)系,描述在活動中對象的狀態(tài)。通過活動圖建立的模型比狀態(tài)圖建立的模型具有更多信息,在BMS中,我們描述了不同用戶對bug的操作活動以及在每一次活動之后bug對象所處于的狀態(tài),對操作流程進行圖化形建模,如圖2-8所示:9信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模測試人員開發(fā)組長開發(fā)人員提交bug信息新提交bug開發(fā)組長已查看bug開發(fā)組長查看bug信息分發(fā)bug已分發(fā)bug開發(fā)人員查看bug信息開發(fā)人員已查看bug更新bug修復信息已修復bug測試人員查看bug信息更新bug測試信息修復是否成功[否][是]關(guān)閉bug信息已關(guān)閉bug圖2-8BMS活動圖3.系統(tǒng)設(shè)計在對系統(tǒng)進行全面分析后,我們開始使用UML-FPM方法對系統(tǒng)進行設(shè)計,構(gòu)造了BMS系統(tǒng)的設(shè)計模型,包括類圖、包圖、時序圖(實現(xiàn)模型)、組件圖和部署圖等的繪制,回答了“怎么做”的問題。具體設(shè)計工作如下:10信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模3.1體系結(jié)構(gòu)設(shè)計BMS采用多層JavaEE設(shè)計方案,考慮到系統(tǒng)的擴展性,定義了抽象的數(shù)據(jù)訪問層,系統(tǒng)體系結(jié)構(gòu)圖如圖3-1所示:圖3-1BMS體系結(jié)構(gòu)圖在圖3-1中,BMS系統(tǒng)一共包含五層,其中表示層使用JSP來實現(xiàn),控制層使用Servlet實現(xiàn),Servlet將調(diào)用業(yè)務邏輯層中的方法實現(xiàn)具體業(yè)務功能,如果業(yè)務功能在實現(xiàn)過程需要訪問數(shù)據(jù)庫,則調(diào)用數(shù)據(jù)訪問層中的數(shù)據(jù)庫操作方法,為了保證系統(tǒng)的擴展性,我們定義了抽象的數(shù)據(jù)訪問層,業(yè)務邏輯層針對抽象數(shù)據(jù)訪問層編程,而將具體數(shù)據(jù)訪問類類名存儲在配置文件中,使用XML格式的文件作為配置文件,提高系統(tǒng)的可擴展性。具體實現(xiàn)方案如圖3-2所示:<className>DAO</className>BOconfig.xmlIDAODAO圖3-2數(shù)據(jù)訪問層擴展實現(xiàn)方案11信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模3.2BMS類圖類圖是一個面向?qū)ο笙到y(tǒng)最核心的設(shè)計圖之一,BMS的主要功能包括bug管理和人員信息管理,針對這兩個主要功能模塊,我們繪制了兩個類圖,圖3-3對用戶信息管理進行建模,圖3-4對bug信息管理進行建模使用了彩色UML建模紅色表示數(shù)據(jù)傳輸類DTO,使用粉紅色表使用綠色表示Servlet控制類,藍色表示業(yè)務邏輯類BO,使。為了更好地描述各種不同的類,我們方式,不同類型的類使用不同的顏色來表示,如使用示JSP界面類,使用用淺藍色表示數(shù)據(jù)訪問接口IDAO,使用橙色表示數(shù)據(jù)訪問類DAO。UserDTO-userAccount:String-userPassword:String-userRole-userName-userTel:int:String:String:String-userEmail+<<Getter>>getUserAccount()+<<Setter>>setUserAccount(StringnewUserAccount)+<<Getter>>getUserPassword():String:void:String+<<Setter>>setUserPassword(StringnewUserPassword):void+<<Getter>>getUserRole():int+<<Setter>>setUserRole(intnewUserRole)+<<Getter>>getUserName()+<<Setter>>setUserName(StringnewUserName)+<<Getter>>getUserTel()+<<Setter>>setUserTel(StringnewUserTel)+<<Getter>>getUserEmail()+<<Setter>>setUserEmail(StringnewUserEmail):void:String:void:String:void:String:void<<JSP>>login.jsp<<JSP>>modifyUserInfo.jsp1..10..*<<JSP>><<JSP>>viewUser.jspaddUser.jspFindUserServlet-userdto-finduserbo:FindUserBO:UserDTOLoginServlet1..11..1-loginbo:LoginBO+doPost():void+doPost():voidAddUserServlet-adduserbo:AddUserBOViewUserServlet-findalluserbo:FindAllUserBO-userlist:List+doPost():void-userdto:UserDTO+doPost():voidDeleteUserServlet-deleteuserbo:DeleteUserBO+doPost():voidLoginBOFindAllUserBO-userdao:IUserDAO+validate(Stringaccount,:intStirngpassword)-userdao:IUserDAO+findAllUser():ListModifyUserServlet-userdto:UserDTODeleteUserBO-userdao:IUserDAO+deleteUser(Stringaccount):int-modifyuserbo:ModifyUserBO+doPost():voidAddUserBO-userdao:IUserDAO+addUser(UserDTOuserdto):intFindUserBOIUserDAO......userdao.findUserByAccount(account);......-userdao:IUserDAO+findUser(Stringaccount):UserDTO+findUserByAccount(Stringaccount):UserDTO+addUser(UserDTOuserdto)+findAllUser():int:List:int:int+deleteUser(Stringaccount)+modifyUser(UserDTOuserdto)ModifyUserBO-userdao:IUserDAO+modifyUser(UserDTOuserdto):intUserDAO+<<Implement>>findUserByAccount(Stringaccount):UserDTO+<<Implement>>addUser(UserDTOuserdto)+<<Implement>>findAllUser()+<<Implement>>deleteUser(Stringaccount)+<<Implement>>modifyUser(UserDTOuserdto):int:List:int:int圖3-3用戶信息管理部分類圖12信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模BugDTO-bugId:String:String:int-bugType-bugLevel-bugPosition:String-bugTestDescription:String-bugTestTool-bugTestCase-bugDescription-bugAttachment-bugTestInfo:String:String:String:String:String:String-bugModifyInfo+<<Getter>>getBugId()+<<Setter>>setBugId(StringnewBugId)+<<Getter>>getBugType()+<<Setter>>setBugType(StringnewBugType)+<<Getter>>getBugLevel():String:void:String:void:int+<<Setter>>setBugLevel(intnewBugLevel)+<<Getter>>getBugPosition()+<<Setter>>setBugPosition(StringnewBugPosition)+<<Getter>>getBugTestDescription()+<<Setter>>setBugTestDescription(StringnewBugTestDescription):void:String:void:String:void+<<Getter>>getBugTestTool():String+<<Setter>>setBugTestTool(StringnewBugTestTool):void+<<Getter>>getBugTestCase():String+<<Setter>>setBugTestCase(StringnewBugTestCase):void+<<Getter>>getBugDescription()+<<Setter>>setBugDescription(StringnewBugDescription):String:void+<<Getter>>getBugAttachment()+<<Setter>>setBugAttachment(StringnewBugAttachment):String:void+<<Getter>>getBugTestInfo()+<<Setter>>setBugTestInfo(StringnewBugTestInfo)+<<Getter>>getBugModifyInfo()+<<Setter>>setBugModifyInfo(StringnewBugModifyInfo):String:void:String:void<<JSP>>modifyBug.jsp<<JSP>>viewDetailBug.jsp<<JSP>><<JSP>>addBug.jspviewReport.jsp<<JSP>>viewAllBug.jspModifyBugServlet-bugdto-userdto:BugDTO:UserDTOViewDetailBugServlet-modifybugbo:ModifyBugBO-finduserbo:FindUserBO-viewdetailbugbo:FindDetailBugBO-finddetailbugbo:FindDetailBugBOAddBugServletViewAllBugServlet-bugdto:BugDTO-bugdto:BugDTO-addbugbo:AddUserBO+doPost():void-buglist:List-viewallbugbo:ViewAllBugBO+doPost():void+doPost():void+doPost():voidFindUserBO-userdao:IUserDAOFindDetailBugBOViewAllBugBO-bugdao:IBugDAO+findAllBug():List-bugdao:IBugDAO+findDetailBug(StringbugId):BugDTO+findUser(Stringaccount):UserDTOModifyBugBOAddBugBO-bugdao:IBugDAO+addBug(BugDTObugdto):int-bugdao:IBugDAO+modifyBug(BugDTObugdto):intIUserDAO......UserDTOuserdto=finintrole=userdto.getUif(role==1)IBugDAO{+findUserByAccount(Stringaccount):UserDTO+addBug(BugDTObugdto)+findAllBug()+findDetailBug(StringbugId):BugDTO+modifyBug(BugDTObugdto):int:int:List+addUser(UserDTOuserdto)+findAllUser()+deleteUser(Stringaccount)+modifyUser(UserDTOuserdto):int:List:int:int......}elseif(role==2){......}......UserDAOBugDAO+<<Implement>>findUserByAccount(Stringaccount):UserDTO+<<Implement>>addBug(BugDTObugdto)+<<Implement>>findAllBug()+<<Implement>>findDetailBug(StringbugId):BugDTO+<<Implement>>modifyBug(BugDTObugdto):int:int:List+<<Implement>>addUser(UserDTOuserdto)+<<Implement>>findAllUser():int:List:int:int+<<Implement>>deleteUser(Stringaccount)+<<Implement>>modifyUser(UserDTOuserdto)圖3-4bug信息管理部分類圖3.3BMS時序圖(實現(xiàn)模型)在系統(tǒng)設(shè)計與實現(xiàn)階段我們也可以使用時序圖進行建模,此時通過時序圖可以明確表示系統(tǒng)設(shè)計中對象之間的交互,考慮到具體系統(tǒng)實現(xiàn),對象之間通過方法調(diào)用傳遞消息。在BMS系統(tǒng)中,對每個用例均可以繪制基于實現(xiàn)模型的時序13信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模圖。由于篇幅關(guān)系,未將每個用例的時序圖一一列舉。圖3-5、3-6分別是用例“登錄”和“提交bug信息”的實現(xiàn)模型時序圖。SD-Loginlogin:LoginBOuserdao:UserDAO:login.jsploginServlet:LoginServletloop[resulsubmitt==0]doPost()validate(account,password)findUserByAccount(account)returnuserdtoreturnresultdisplay圖3-5用例“登錄”時序圖(實現(xiàn)模型)SD-AddBug:addBug.jspaddbugbo:AddBugBObugdao:BugDAOaddBugServlet:AddBugServletsubmitnew()bugdto:BugDTOsetXXX()returnbugdtodoPost()addBug(bugdto)addBug(bugdto)return1return1display圖3-6用例“提交bug信息”時序圖(實現(xiàn)模型)在圖3-5、3-6中,通過實現(xiàn)模型時序圖來表示對象之間的交互關(guān)系,每個用例對應一個時序圖,開發(fā)人員可以根據(jù)時序圖編寫實現(xiàn)代碼,并更好地與其他成員交流。14信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模3.4BMS包圖BMS根據(jù)系統(tǒng)分層架構(gòu)組包,并參照類之間的關(guān)系繪制包之間的關(guān)系,如圖3-7所示:<<import>>com.sunny.bms.servlet<<import>><<import>><<import>><<import>>com.sunny.bms.dtocom.sunny.bms.bl<<import>>com.sunny.bms.util<<import>>com.sunny.bms.idao<<import>>com.sunny.bms.dao圖3-7BMS包圖在包圖中體現(xiàn)了系統(tǒng)的分層架構(gòu),包與層的對應關(guān)系如表3-1所示:表3-1BMS包與層對應關(guān)系表包名分層com.sunny.bms.servlet控制層com.sunny.bms.blcom.sunny.bms.idaocom.sunny.bms.dao業(yè)務邏輯層抽象數(shù)據(jù)訪問層數(shù)據(jù)訪問層另外,在com.sunny.bms.dto包中封裝了數(shù)據(jù)傳輸類,在com.sunny.bms.util包中封裝了一些工具類,如字符編碼轉(zhuǎn)換類、數(shù)據(jù)加密類等,可以根據(jù)實際需要增加到系統(tǒng)中。3.5BMS組件圖組件圖表示了系統(tǒng)中每個功能所在的組件位置物理文件之間的關(guān)系,描述了以及它們之間的關(guān)系。在BMS設(shè)計方案中,將類打包成war文件或者jar文件,以便于部署和重用,BMS組件圖如圖3-8所示:15信息科學與工程學院Bug管理系統(tǒng)UML2.0全程建模dao.jarBugDAOidao.jardto.jarUserDAOBugDTOUserDTOIBugDAOIUserDAObo.jarDeleteUserBOAddBugBOFindAllUserBOViewAllBugBOModifyUserBOFindUserBOModifyBugBOFindDetailBugBOAddUserBOLoginBObug.war<<JSP>><<JSP>>AddBugServletAddUserServletaddBug.jspaddUser.jsp<<JSP>>ViewAllBugServlet<<

溫馨提示

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

評論

0/150

提交評論