Bug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試_第1頁
Bug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試_第2頁
Bug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試_第3頁
Bug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試_第4頁
Bug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、be97370e60d1b1af9101648ef0b86d85.pdfBug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試 作者:劉理波文檔變更記錄:文檔版本變更人變更內(nèi)容1.0劉理波文檔初始化1.0.1劉理波添加引用部分注釋來源,增加引用部分的“號,引用部分為:開發(fā)工具,ASP,HTML5,MVC,Sqlserver,QTP,單元測試,loadrunner這些部分的介紹。1.0.2劉理波添加翻譯部分注釋,翻譯引用部分為:2.6 ASPMVC3介紹目錄:Bug管理系統(tǒng)設(shè)計(jì)開發(fā)和測試1文檔變更記錄:1目錄:2第一章 緒論41.1 Bug管理系統(tǒng)的背景41.2 課題的目標(biāo)及意義4第二章 運(yùn)行環(huán)境及開發(fā)工具概述42.1

2、開發(fā)及運(yùn)行環(huán)境概述42.2 開發(fā)工具概述42.3 ASP 簡介52.4 HTML5 簡介52.4.1改進(jìn)特性:62.4.2 Html5標(biāo)簽列表62.5 SQL Server2008 簡介102.6 ASPMVC3簡介102.6.1 The Razor View Engine 介紹:112.6.2 一些新 Razor 功能如下:112.6.3 Razor 同樣包含新的 HTML helpers112.7 MVC框架簡介11第三章 需求分析123.1 功能簡介123.2 用戶介紹123.3 Bug處理流程133.4 功能模塊劃分及描述133.4.1用戶的登錄和注冊模塊133.4.2 bug管理的增

3、刪改查模塊13第四章 總體設(shè)計(jì)144.1 系統(tǒng)流程圖154.2 數(shù)據(jù)庫的設(shè)計(jì)164.2.1 user信息表164.2.2 bug信息表16第五章 Bug管理系統(tǒng)的實(shí)現(xiàn)165.1 系統(tǒng)首頁公用部分實(shí)現(xiàn)165.1.1代碼部分:165.1.2實(shí)際view拍圖展示:175.2 登錄和注冊功能模塊的實(shí)現(xiàn)185.2.1代碼部分:185.2.2實(shí)際view拍圖:225.3 Bug管理模塊的實(shí)現(xiàn)245.3.1代碼部分:245.3.2實(shí)際view拍圖275.4 數(shù)據(jù)庫數(shù)據(jù)同步的實(shí)現(xiàn)33第六章 單元測試336.1 單元測試的原理346.2 單元測試在本系統(tǒng)中的應(yīng)用34第七章 自動化測試357.1自動化測試原理和Q

4、TP介紹357.2自動化測試工具在本系統(tǒng)中的應(yīng)用35第八章 性能測試368.1 性能測試原理和Loadrunner介紹368.2 性能測試工具在本系統(tǒng)中的應(yīng)用368.2.1性能測試場景:368.2.2性能測試優(yōu)化方案:368.2.3性能測試代碼部分:37第九章 總結(jié)和問題389.1 總結(jié)389.2問題38參考文獻(xiàn)38第一章 緒論1.1 Bug管理系統(tǒng)的背景Web開發(fā)技術(shù)日新月異,越來越簡潔,快速。基于微軟新推出的AspMVC3框架,讓開發(fā)人員更快速的開發(fā)MVC的Web應(yīng)用程序,相對于Java的MVC框架更加容易入手。軟件測試技術(shù)逐步獲得國人的認(rèn)同,特別是自動化測試,性能測試可能是測試領(lǐng)域未來比

5、較有潛力的方向。基于web界面的應(yīng)用仍然比較方便,有免安裝,全球訪問的優(yōu)點(diǎn),特別是HTML5推出后,會加速基于web界面應(yīng)用的更大范圍內(nèi)的應(yīng)用。1.2 課題的目標(biāo)及意義由于時(shí)間有限,能力有限,課題目標(biāo)是基于AspMVC3建立一個(gè)簡單的bug管理系統(tǒng),主要功能涵蓋用戶管理和bug管理2個(gè)部分,然后加上基于web應(yīng)用程序的單元測試,自動化測試和性能測試等做一些有益的探索,另外bug管理本身在項(xiàng)目開發(fā)中也可以應(yīng)用。第二章 運(yùn)行環(huán)境及開發(fā)工具概述2.1 開發(fā)及運(yùn)行環(huán)境概述WindowXPSP3簡體中文版+Microsoft Visual Studio 2010SP1+AspMVC3A server 作

6、為開發(fā)環(huán)境的web服務(wù)器SQL Server 2008 作為數(shù)據(jù)庫2.2 開發(fā)工具概述“Visual Studio是微軟公司推出的開發(fā)環(huán)境。是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設(shè)計(jì)和組織,變得更加簡單明了。Visual Studio 2010同時(shí)帶來了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持開發(fā)面向Windows 7的應(yīng)用程序。除了Mic

7、rosoft SQL Server,它還支持 IBM DB2和Oracle數(shù)據(jù)庫。9個(gè)新功能:它將是經(jīng)典的一個(gè)版本,相當(dāng)于當(dāng)年的6.0版。而且它可以自定義開始頁;新功能還包括: (1)C# 4.0中的動態(tài)類型和動態(tài)編程; (2)多顯示器支持; (3)使用Visual Studio 2010的特性支持TDD; (4)支持Office ; (5)Quick Search特性; (6)C+ 0x新特性; (7)IDE增強(qiáng); (8)使用Visual C+ 2010創(chuàng)建Ribbon界面; (9)新增基于.NET平臺的語言 F#;“注:上段引用自百度百科,搜索關(guān)鍵字Visual Studio2.3 ASP

8、 簡介“ASP網(wǎng)頁特點(diǎn):ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應(yīng)用程序。 與HTML相比,ASP網(wǎng)頁具有以下特點(diǎn): (1)利用ASP可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實(shí)現(xiàn)動態(tài)網(wǎng)頁技術(shù); (2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試;asp 網(wǎng)頁界面(5張)(3)服務(wù)器上的ASP解釋程序會在服務(wù)器端執(zhí)行ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各

9、種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁; (4)ASP提供了一些內(nèi)置對象,使用這些對象可以使服務(wù)器端腳本功能更強(qiáng)。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進(jìn)行處理,然后向web瀏覽器發(fā)送信息; (5)ASP可以使用服務(wù)器端ActiveX組件來執(zhí)行各種各樣的任務(wù),例如存取數(shù)據(jù)庫、發(fā)送Email或訪問文件系統(tǒng)等。 (6)由于服務(wù)器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。 (7) 方便連接ACCESS與SQL數(shù)據(jù)庫. (8)開發(fā)需要有豐富的經(jīng)驗(yàn),否則會留出漏洞,讓駭客(

10、cracker)利用進(jìn)行注入攻擊. ASP也不僅僅局限于與HTML結(jié)合制作WEB網(wǎng)站,而且還可以與XHTML和WML語言結(jié)合制作WAP手機(jī)網(wǎng)站。但是其原理也是一樣的。ASP-工作原理:當(dāng)在Web站點(diǎn)中融入ASP功能后,將發(fā)生以下事情: 1、用戶向?yàn)g覽器地址欄輸入網(wǎng)址,默認(rèn)頁面的擴(kuò)展名是.asp。 2、瀏覽器向服務(wù)器發(fā)出請求。 3、服務(wù)器引擎開始運(yùn)行ASP程序。 4、ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。 5、頁面信息發(fā)送到瀏覽器。ASP的升級平臺:asp net運(yùn)行特點(diǎn):ASP NET是把基于通用語言的程序在服務(wù)器上運(yùn)行。不像以前的ASP即時(shí)解釋程序,而是將

11、程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,執(zhí)行效果,比一條一條的解釋強(qiáng)很多,執(zhí)行效率大大的提高。 ASP NET可以運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機(jī)制,數(shù)據(jù)接口的處理都能無縫的整合到ASP NET的Web應(yīng)用中。ASP NET同時(shí)也是language-independent語言獨(dú)立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#,VB.NET,Jscript,managedC+,J#。將來,這樣的多種程序語言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP NET。開發(fā)語言:ASP

12、 NET常用的主要有兩種開發(fā)語言,VB NET和C#,C#相對更為常用,因?yàn)槭?NET獨(dú)有的語言,VB NET則為以前VB程序設(shè)計(jì),適合于以前VB程序員,如果新接觸.NET,沒有其他開發(fā)語言經(jīng)驗(yàn),建議直接學(xué)習(xí)C#?!白ⅲ荷隙我米园俣劝倏?,搜索關(guān)鍵字ASP2.4 HTML5 簡介“HTML 5 的第一份正式草案已于2008年1月22日公布。HTML 5有兩大特點(diǎn):首先,強(qiáng)化了 Web 網(wǎng)頁的表現(xiàn)性能。其次,追加了本地?cái)?shù)據(jù)庫等 Web 應(yīng)用的功能。2.4.1改進(jìn)特性:HTML5提供了一些新的元素和屬性,例如(網(wǎng)站導(dǎo)航塊)和。這種標(biāo)簽將有利于搜索引擎的索引整理,同時(shí)更好的幫助小屏幕裝置和視障人士使

13、用,除此之外,還為其他瀏覽要素提供了新的功能,如和標(biāo)記。1. 取消了一些過時(shí)的HTML4標(biāo)記其中包括純粹顯示效果的標(biāo)記,如和,它們已經(jīng)被CSS取代。 HTML5 吸取了XHTML2 一些建議,包括一些用來改善文檔結(jié)構(gòu)的功能,比如,新的HTML 標(biāo)簽 header, footer, dialog, aside, figure 等的使用,將使內(nèi)容創(chuàng)作者更加語義地創(chuàng)建文檔,之前的開發(fā)者在實(shí)現(xiàn)這些功能時(shí)一般都是使用div。 2. 將內(nèi)容和展示分離b 和 i 標(biāo)簽依然保留,但它們的意義已經(jīng)和之前有所不同,這些標(biāo)簽的意義只是為了將一段文字標(biāo)識出來,而不是為了為它們設(shè)置粗體或斜體式樣。u,font,cent

14、er,strike 這些標(biāo)簽則被完全去掉了。 3. 一些全新的表單輸入對象包括日期,URL,Email 地址,其它的對象則增加了對非拉丁字符的支持。HTML5 還引入了微數(shù)據(jù),這一使用機(jī)器可以識別的標(biāo)簽標(biāo)注內(nèi)容的方法,使語義Web 的處理更為簡單??偟膩碚f,這些與結(jié)構(gòu)有關(guān)的改進(jìn)使內(nèi)容創(chuàng)建者可以創(chuàng)建更干凈,更容易管理的網(wǎng)頁,這樣的網(wǎng)頁對搜索引擎,對讀屏軟件等更為友好。 4. 全新的,更合理的Tag多媒體對象將不再全部綁定在 object 或 embed Tag 中,而是視頻有視頻的Tag,音頻有音頻的 Tag。 5. 5.本地?cái)?shù)據(jù)庫這個(gè)功能將內(nèi)嵌一個(gè)本地的SQL 數(shù)據(jù)庫,以加速交互式搜索,緩存以

15、及索引功能。同時(shí),那些離線Web 程序也將因此獲益匪淺。不需要插件的富動畫。 6. Canvas 對象 將給瀏覽器帶來直接在上面繪制矢量圖的能力,這意味著用戶可以脫離Flash 和Silverlight,直接在瀏覽器中顯示圖形或動畫。 7. 瀏覽器中的真正程序?qū)⑻峁?API 實(shí)現(xiàn)瀏覽器內(nèi)的編輯,拖放,以及各種圖形用戶界面的能力。內(nèi)容修飾Tag 將被剔除,而使用CSS?!白ⅲ荷隙我米园俣劝倏?,搜索關(guān)鍵字HTML52.4.2 Html5標(biāo)簽列表按字母順序排列的標(biāo)簽列表標(biāo)簽描述4: 指在HTML 4.01 中定義了該元素 5: 指在HTML 5 中定義了該元素定義注釋4 5定義文檔類型45定義超鏈

16、接45定義縮寫45HTML 5 中不支持4定義地址元素45定義 applet(HTML 5 中不支持)4定義圖像映射中的區(qū)域45定義 article5定義頁面內(nèi)容之外的內(nèi)容5定義聲音內(nèi)容5定義粗體文本45定義頁面中所有鏈接的基準(zhǔn)URL45HTML 5 中不支持,請使用CSS 代替4定義文本顯示的方向45定義大號文本(HTML 5 中不支持)4定義長的引用45定義 body 元素45插入換行符45定義按鈕45定義圖形5定義表格標(biāo)題45定義居中的文本(HTML 5 中不支持)4定義引用45定義計(jì)算機(jī)代碼文本45定義表格列的屬性45定義表格列的分組45定義命令按鈕5定義下拉列表5定義定義的描述45定

17、義刪除文本45定義元素的細(xì)節(jié)5 定義定義項(xiàng)目45定義目錄列表(HTML 5 中不支持)4 定義文檔中的一個(gè)部分45定義定義列表45定義定義的項(xiàng)目45 定義強(qiáng)調(diào)文本45 定義外部交互內(nèi)容或插件5 定義 fieldset45 定義 figure 元素的標(biāo)題5 定義媒介內(nèi)容的分組,以及它們的標(biāo)題5 HTML 5 中不支持4 定義 section 或 page 的頁腳5 定義表單45 定義子窗口(框架)(HTML 5 中不支持)4 定義框架的集(HTML 5 中不支持)4 to 定義標(biāo)題1 到標(biāo)題645 定義關(guān)于文檔的信息45 定義 section 或 page 的頁眉5 定義有關(guān)文檔中的 secti

18、on 的信息5定義有關(guān)文檔中的 section 的信息45 定義 html 文檔45 定義斜體文本45 定義行內(nèi)的子窗口(框架)45 定義圖像45 定義輸入域45定義插入文本45 定義生成密鑰5 定義單行的輸入域(HTML 5 中不支持)4 定義鍵盤文本45 定義表單控件的標(biāo)注45 定義 fieldset 中的標(biāo)題45 定義列表的項(xiàng)目45 定義資源引用45 定義圖像映射45 定義有記號的文本45 定義菜單列表45 定義元信息45 定義預(yù)定義范圍內(nèi)的度量5 定義導(dǎo)航鏈接5 定義 noframe 部分(HTML 5 中不支持)4 定義 noscript 部分45 定義嵌入對象45 定義有序列表45

19、 定義選項(xiàng)組45 定義下拉列表中的選項(xiàng)45 定義輸出的一些類型5定義段落45 為對象定義參數(shù)45 定義預(yù)格式化文本45定義任何類型的任務(wù)的進(jìn)度5 定義短的引用45定義若瀏覽器不支持 ruby 元素顯示的內(nèi)容5 定義 ruby 注釋的解釋5 定義 ruby 注釋5 定義加刪除線的文本(HTML 5 中不支持)4 定義樣本計(jì)算機(jī)代碼45 定義腳本45定義 section45 定義可選列表45 定義小號文本45 定義媒介源45 定義文檔中的 section45 定義加刪除線的文本(HTML 5 中不支持)4定義強(qiáng)調(diào)文本45 定義樣式定義45 定義下標(biāo)文本45定義 details 元素的標(biāo)題5 定義上

20、標(biāo)文本452.5 SQL Server2008 簡介“SQL Server 2008是一個(gè)重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改進(jìn),使得它成為至今為止的最強(qiáng)大和最全面的SQL Server版本。這篇文章詳細(xì)介紹了Microsoft SQL Server 2008中的新的特性、優(yōu)點(diǎn)和功能 在現(xiàn)今數(shù)據(jù)的世界里,公司要獲得成功和不斷發(fā)展,他們需要定位主要的數(shù)據(jù)趨勢的愿景。微軟的這個(gè)數(shù)據(jù)平臺愿景幫助公司滿足這些數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動應(yīng)用程序的需求。微軟將繼續(xù)投入和發(fā)展以下的關(guān)鍵領(lǐng)域來支持他們的數(shù)據(jù)平臺愿景:關(guān)鍵任務(wù)企業(yè)數(shù)據(jù)平臺、動態(tài)開發(fā)、關(guān)系數(shù)據(jù)和商業(yè)智能?!弊ⅲ荷隙我米园俣劝倏?,搜索關(guān)鍵

21、字SQL server2.6 ASPMVC3簡介“ASP.NET MVC 3 是基于 ASP.NET MVC 1 和 2, 加入了很棒的功能使代碼更簡單,和更好的擴(kuò)充性。新功能如下:l Extensible Scaffolding with MvcScaffold integration l HTML 5 enabled project templates l The Razor View Engine l Support for Multiple View Engines l Controller Improvements l JavaScript and Ajax l Model Vali

22、dation Improvements l Dependency Injection Improvements2.6.1 The Razor View Engine 介紹:l ASP.NET MVC 3 是一種新的view 引擎然后命名為Razor,它有如下的好處:l Razor 語法更加簡潔清,需要的鍵入次數(shù)更少l Razor 更容易學(xué)習(xí),語法類似與C#l Visual Studio 包含了只能語法輸入 l Razor views 可以單元測試而且不需要啟動web服務(wù)器2.6.2 一些新 Razor 功能如下:l model 用于指定傳遞到view的類型語法 l * * 注釋語法l 有能力指

23、定缺省的用于整個(gè)站點(diǎn)的layout l The Html.Raw 方法用來顯示文本而不用HTML-encoding。l 支持view之間的共享代碼 (_viewstart.cshtml 或者 _viewstart.vbhtml 文件). 2.6.3 Razor 同樣包含新的 HTML helpersl Chart. 渲染數(shù)據(jù)表格. l WebGrid. 渲染數(shù)據(jù)網(wǎng)格,具有完整的翻頁和數(shù)據(jù)存儲的功能 l Crypto. 用哈希算法去創(chuàng)建加密的密碼Uses hashing algorithms to create properly salted and hashed passwords. l We

24、bImage. 渲染圖片. l WebMail. 發(fā)送電子郵件信息. “注:上段引用自2.7 MVC框架簡介“MVC (Model View Controler)本來是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。 模型視圖控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2E

25、E平臺的設(shè)計(jì)模式,并且受到越來越多的使用 ColdFusion 和 PHP 的開發(fā)者的歡迎。模型視圖控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。視圖視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識語言和Web s

26、ervices. 如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性??刂破骺刂破鹘邮?/p>

27、用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請求,然后用確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)?!白ⅲ荷隙我米园俣劝倏?,搜索關(guān)鍵字MVC第三章 需求分析3.1 功能簡介基于數(shù)據(jù)庫,web服務(wù)器,web瀏覽器界面的三層結(jié)構(gòu)的B/S系統(tǒng)。用戶可以通過瀏覽器登錄,注冊,變更密碼,bug編輯,bug刪除,bug創(chuàng)建,bug編輯,bug詳細(xì)信息查看,bug過濾等功能。3.2 用戶介紹系統(tǒng)用戶和非系統(tǒng)用戶,系統(tǒng)用戶可以直接登錄,非系統(tǒng)用戶需要通過注冊變成系統(tǒng)用戶。只有系統(tǒng)用

28、戶可以看到bug。3.3 Bug處理流程3.4 功能模塊劃分及描述3.4.1用戶的登錄和注冊模塊l 不是系統(tǒng)用戶的點(diǎn)擊登錄后,再點(diǎn)擊注冊連接,注冊成功后進(jìn)入首頁。l 是系統(tǒng)用戶的直接點(diǎn)擊登錄后系統(tǒng)展示bug管理界面。l 已經(jīng)注冊用戶密碼修改功能3.4.2 bug管理的增刪改查模塊l bug編輯功能l bug刪除功能l bug創(chuàng)建功能l bug編輯功能l bug詳細(xì)信息查看功能l bug過濾等功能第四章 總體設(shè)計(jì)4.1 系統(tǒng)流程圖4.2 數(shù)據(jù)庫的設(shè)計(jì)4.2.1 user信息表string UserName get; set; 主鍵string Email get; set; string Pas

29、sword get; set; string ConfirmPassword get; set; 4.2.2 bug信息表int ID get; set; 主鍵string Summary get; set; public string Description get; set; public DateTime DetectDate get; set; public string DetectBy get; set; public string AsignedTo get; set; 第五章 Bug管理系統(tǒng)的實(shí)現(xiàn)5.1 系統(tǒng)首頁公用部分實(shí)現(xiàn)首頁的controller有2個(gè)action:一個(gè)是i

30、ndex,一個(gè)是about, 這個(gè)2個(gè)action對應(yīng)2個(gè)view分別是About.cshtml和Index.cshtml。About.cshtml和Index.cshtml 僅僅包含部分,其余部分由如下的整個(gè)web站點(diǎn)公共部分拼裝所得。Web站點(diǎn)公共部分定義了頁面css文件,引用的js文件,公共頁頭和公共頁腳,以及公共的2個(gè)link:主頁和關(guān)于。5.1.1代碼部分: ViewBag.Title Bug管理系統(tǒng) Html.Partial(_LogOnPartial) Html.ActionLink(主頁, Index, Home) Html.ActionLink(關(guān)于, About, Home

31、) RenderBody() 另外公共頁面還包括了出錯(cuò)拋出的缺省頁面,已經(jīng)登錄狀態(tài)和非登錄狀態(tài)頁面動態(tài)展示。5.1.2實(shí)際view拍圖展示:5.2 登錄和注冊功能模塊的實(shí)現(xiàn)登錄和注冊放在一個(gè)controller里面,里面包含:LoginOn(),LogOff(),Register(),ChangePassword(),ChangePasswordSuccess()等5個(gè)action構(gòu)成,用到的數(shù)據(jù)在model里面與數(shù)據(jù)庫完成同步。5.2.1代碼部分:namespace HAMA.Controllers public class AccountController : Controller /

32、/ GET: /Account/LogOn public ActionResult LogOn() return View(); / / POST: /Account/LogOn HttpPost public ActionResult LogOn(LogOnModel model, string returnUrl) if (ModelState.IsValid) if (Membership.ValidateUser(model.UserName, model.Password) FormsAuthentication.SetAuthCookie(model.UserName, model

33、.RememberMe); if (Url.IsLocalUrl(returnUrl) & returnUrl.Length 1 & returnUrl.StartsWith(/) & !returnUrl.StartsWith(/) & !returnUrl.StartsWith(/) return Redirect(returnUrl); else return RedirectToAction(Index, Bugs); else ModelState.AddModelError(, 提供的用戶名或密碼不正確。); / 如果我們進(jìn)行到這一步時(shí)某個(gè)地方出錯(cuò),則重新顯示表單 return V

34、iew(model); / / GET: /Account/LogOff public ActionResult LogOff() FormsAuthentication.SignOut(); return RedirectToAction(Index, Home); / / GET: /Account/Register public ActionResult Register() return View(); / / POST: /Account/Register HttpPost public ActionResult Register(RegisterModel model) if (M

35、odelState.IsValid) / 嘗試注冊用戶 MembershipCreateStatus createStatus; Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); if (createStatus = MembershipCreateStatus.Success) FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersisten

36、tCookie */); return RedirectToAction(Index, Home); else ModelState.AddModelError(, ErrorCodeToString(createStatus); / 如果我們進(jìn)行到這一步時(shí)某個(gè)地方出錯(cuò),則重新顯示表單 return View(model); / / GET: /Account/ChangePassword Authorize public ActionResult ChangePassword() return View(); / / POST: /Account/ChangePassword Authori

37、ze HttpPost public ActionResult ChangePassword(ChangePasswordModel model) if (ModelState.IsValid) / 在某些出錯(cuò)情況下,ChangePassword 將引發(fā)異常, / 而不是返回 false。 bool changePasswordSucceeded; try MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */); changePasswordSucceeded =

38、currentUser.ChangePassword(model.OldPassword, model.NewPassword); catch (Exception) changePasswordSucceeded = false; if (changePasswordSucceeded) return RedirectToAction(ChangePasswordSuccess); else ModelState.AddModelError(, 當(dāng)前密碼不正確或新密碼無效。); / 如果我們進(jìn)行到這一步時(shí)某個(gè)地方出錯(cuò),則重新顯示表單 return View(model); / / GET:

39、/Account/ChangePasswordSuccess public ActionResult ChangePasswordSuccess() return View(); #region Status Codes private static string ErrorCodeToString(MembershipCreateStatus createStatus) / 請參見 以查看 / 狀態(tài)代碼的完整列表。 switch (createStatus) case MembershipCreateStatus.DuplicateUserName: return 用戶名已存在。請輸入不同的

40、用戶名。; case MembershipCreateStatus.DuplicateEmail: return 該電子郵件地址的用戶名已存在。請輸入不同的電子郵件地址。; case MembershipCreateStatus.InvalidPassword: return 提供的密碼無效。請輸入有效的密碼值。; case MembershipCreateStatus.InvalidEmail: return 提供的電子郵件地址無效。請檢查該值并重試。; case MembershipCreateStatus.InvalidAnswer: return 提供的密碼取回答案無效。請檢查該值并重試。; case MembershipCreateStatus.InvalidQuestion: return 提供的密碼取回問題無效。請檢查該值并重試。; case MembershipCreateStatus.InvalidUserName: retu

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論