




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
引言當今社會是一個逐步步入信息化的社會,科技發(fā)展的速度越來越快。隨著科技的發(fā)展,對于項目的質量管理也逐漸受人們重視。為了滿足大部分人的需求,近些年國內(nèi)外的各種項目質量管理系統(tǒng)所包含的功能越來越全面,但相對應的系統(tǒng)的構成也越來越復雜,這使項目質量的管理難度越來越高。而一個項目是否能成功,主要在于是否能夠在給定的預算和制定好的交付時間內(nèi)滿足用戶對其項目質量的要求。本文在分析了國內(nèi)外幾款比較受歡迎的項目質量管理系統(tǒng),發(fā)現(xiàn)呈兩極分化,一邊是過于簡化用戶難以上手,另一邊是過于龐大繁雜的系統(tǒng)功能,雖能滿足大部分用戶需求,但系統(tǒng)過于臃腫,兩方面都會導致用戶的使用成本升高。通過將整個系統(tǒng)模塊化設計和一定技術優(yōu)化系統(tǒng)的頁面,來降低用戶使用成本,提高用戶管理項目效率,這就是本設計的研究目的。為了達成此目的,設計一個簡潔高效的項目質量管理平臺。用戶不需要使用說明即可輕松使用本平臺進行創(chuàng)建項目,創(chuàng)建、管理問題并實時管理項目相關文件與文檔。本平臺中還可以使用評論功能讓項目成員能夠輕松快捷的與其他成員互相溝通交流。
1緒論1.1研究背景和意義當今社會是一個逐漸步入信息化的社會,科技發(fā)展的速度越來越快。隨著科技的發(fā)展,項目質量管理也逐漸得到了重視。一個項目之所以能成功,在于能夠在給定的預算和制定好的交付期限內(nèi)滿足客戶對產(chǎn)品質量的要求。在整個開發(fā)階段,因為各種原因,產(chǎn)品會出現(xiàn)各式各樣的問題,如果沒有對產(chǎn)品的質量進行嚴格的監(jiān)察和管理,在交付時就會出現(xiàn)若干問題,不僅會拉長項目時間,還會影響用戶對團隊的看法,所以項目質量管理在整個生命周期都是重中之重。因此,本設計的目的是設計一個簡潔高效的項目質量管理平臺,讓用戶可以短時間、高效率的把控多個項目的質量。1.2國內(nèi)外研究現(xiàn)狀問題作為一個軟件開發(fā)過程中的伴生物不可避免,有效地追溯和分析以及處理項目中所存在的問題就會顯得十分重要。項目開發(fā)階段需要進行妥善地處理各種問題,這將直接影響到過程質量與交付時產(chǎn)品質量。在對于系統(tǒng)問題進行分析與處理時,隨著人們對于系統(tǒng)質量的要求不斷提高,開發(fā)人員需要更高的技術水平。在整個項目開發(fā)中決定整個項目成敗與否的關鍵就是軟件質量,軟件質量難以得到保證的原因一是由于復雜度越高的項目開發(fā)系統(tǒng)就越容易出現(xiàn)問題,另一方面則是由于這些軟件開發(fā)系統(tǒng)所自身是不可見的。在測試工作開始前測試人員根據(jù)需求文檔編寫測試用例并進行功能測試。在執(zhí)行用例時發(fā)現(xiàn)問題并不難,但高效解決問題是一個難點,合理的問題跟蹤流程與問題的歸檔統(tǒng)計功能將大大提高開發(fā)與測試人員的工作效率。目前國際上有很多的軟件公司已經(jīng)根據(jù)相關的需求開發(fā)了一些基于web的質量管理系統(tǒng),其中比較有名的有:(1)bugify:bugify:這是個異常簡易的大型缺陷事件追溯處理系統(tǒng),功能十分強大。主要的幾項功能內(nèi)容包括:設置缺陷優(yōu)先級,搜索結果過濾,郵件發(fā)送通知,標簽,缺陷鏈接,最突出的一項功能便是可以支持無限的其他語言。(2)JIRA:JIRA是一個缺陷跟蹤系統(tǒng)。JIRA已經(jīng)廣泛地運用在了問題追蹤、搜集需求、跟蹤項目質量等領域。它具有豐富的擴展靈活的配置,能夠簡單部署且功能全面。(3)禪道:禪道是開源的項目跟蹤管理軟件。它內(nèi)置了項目管理和無限擴展機制,用戶可以針對自身需求對禪道的二次開發(fā)。它也為對應頁面提供了API。這些問題跟蹤軟系統(tǒng)無論是在功能上還是技術上都十分強大,它們都具有良好的可擴展性,并且可以按照不同需求制定項目流程,能夠分配權限。但是這類系統(tǒng)在設計和進行研究開發(fā)的過程中,復雜度比較高,針對不同的用戶需要消耗一定的成本對其進行系統(tǒng)的量身定制和設計,并且對于系統(tǒng)的相關管理人員都需要通過相應的技術培訓之后才能熟練地掌握和運用整個系統(tǒng)的所有功能,因此該類系統(tǒng)在實際使用過程中成本頗高。當前我國的問題跟蹤管理系統(tǒng)存在的問題主要有以下兩點:(1)系統(tǒng)的研究方向單一,大多數(shù)系統(tǒng)只注重問題跟蹤管理,而忽視了項目進度管理。(2)系統(tǒng)具有較強的局限性,當系統(tǒng)開發(fā)出來后往往只適用于當前企業(yè)而不適用于其他公司。
2相關技術與概念介紹2.1python簡介Python,它是一個解釋性、編譯性的面向對象編程語言,使用Python語言整個軟件開發(fā)的過程中不需要編譯這個環(huán)節(jié)。與其他主流的編程設計語言,例如c++和java等對比,python以一種極為簡單但又十分強大的編程方式完整的實現(xiàn)了面向對象編程。最重要的一點就python具有巨大的標準庫,可以用來解決各種難題,包括正則表達式、線程、數(shù)據(jù)庫、網(wǎng)頁庫和瀏覽器等等。2.2Django框架簡介2.2.1Django簡介Django是一個基于Python語言的開源應用框架。在創(chuàng)建網(wǎng)站時可以使用Django框架使整個流程更加輕松,并進一步創(chuàng)造性地開發(fā)了高效率的WEB服務。Django的基本結構是基于MVC模型的,使得后續(xù)對該程序的更新修改和擴充變得更加簡單,并且讓某些部分被重復使用成為了可能。它既能夠封裝網(wǎng)絡和線程操作,也有提供HTTP請求和響應、數(shù)據(jù)庫讀寫管理等一系列功能。功能完善、要素齊全。強大的數(shù)據(jù)庫可以訪問API。2.2.2MVC簡介MVC模式是一種網(wǎng)絡架構模式,它將系統(tǒng)三大部分:模型、視圖與控制器。MVC以一種低耦合的方式連接在一起。模型是設計系統(tǒng)應有的數(shù)據(jù),負責構建對象并鏈接數(shù)據(jù)庫服務器。視圖主要負責前端頁面,具有與用戶進行交互的功能??刂破鲃t主要負責有前端向服務端發(fā)送請求,并對每一個請求做出相應的處理。MVC模式如圖2.1所示:圖2.SEQ圖\*ARABIC1MVC架構設計圖2.3數(shù)據(jù)庫與相關存儲設備介紹本設計所研究的輕量化項目質量管理平臺重點在于輕量化與簡潔高效,所以沒有選擇將所有數(shù)據(jù)存儲在mysql中,而是根據(jù)不同需求將數(shù)據(jù)存儲在不同數(shù)據(jù)庫中,例如驗證碼存儲在Redis之中而文件管理的中的文件則通過騰訊云的對象存儲來保存,一方面減少本地服務器的負載,另一方面能夠更安全的保存重要數(shù)據(jù)。以下是程序中所使用的數(shù)據(jù)庫與相關存儲設備的介紹。2.3.1SQLite簡介SQLite,是嚴格遵守ACID標準的輕量化的關系型數(shù)據(jù)庫,并且已經(jīng)在很多嵌入式系統(tǒng)中被廣泛的使用,占用系統(tǒng)資源極低,處理速度也是相對于Mysql、PostgreSQL這兩款被廣大開發(fā)者所熟知的數(shù)據(jù)庫都要快。2.3.2Redis簡介Redis也是一個被廣泛使用的數(shù)據(jù)庫,因為Redis的眾多數(shù)據(jù)都是存儲在內(nèi)存中的,所以在進行讀寫操作時運行速度很快,因此Redis被廣泛應用在緩存上。Redis的主要優(yōu)點如下:一、它的性能極高,讀取速度與寫入速度極快,二、它擁有豐富的數(shù)據(jù)類型,支持列表、哈希表等多種數(shù)據(jù)類型的操作。三、原子,要么成功地執(zhí)行或者失敗不執(zhí)行,多個操作也支持事務,即原子性。四、豐富的特性,Redis還支持通知,key過期等等特性。2.3.3對象存儲簡介對象存儲桶是騰訊公司提供的一種基于對象文件信息的分布式云存儲服務,用戶可以直接通過互聯(lián)網(wǎng)隨時存儲。騰訊云對象的存儲功能讓用戶可以使用到一個具有高擴充度、低費用、可靠、安全的大規(guī)模數(shù)據(jù)庫存儲服務。通過cos我們就可以實現(xiàn)對任意一個格式的文件進行上傳、下載及管理。2.4開發(fā)工具PyCharmPyCharm是一個基于Python語言的集成開發(fā)環(huán)境,功能完善可以提高開發(fā)者效率,還提供了一些高級開發(fā)功能,在Django框架中可以進行更加快速的Web開發(fā)。Pycharm還自帶有常用的三種編譯器,這樣就可以能夠通過Django框架進行Web開發(fā)。所以選取了PyCharm作為本系統(tǒng)的開發(fā)工具。
3系統(tǒng)需求分析3.1系統(tǒng)可行性分析系統(tǒng)的可行性分析主要目的是通過對一個項目的主要實施內(nèi)容以及實施條件,從技術、經(jīng)濟、工程等各個方面對項目進行了深入的研究和綜合分析,對項目質量管理平臺開發(fā)過程完成以后各種階段可能獲取到的社會經(jīng)濟效益和社會經(jīng)濟影響進行了綜合預測,為整個項目的決策實施工作提供了重要依據(jù)的一種具有較高綜合性的管理系統(tǒng)質量分析方法。以下是通過多個方面來論證項目質量管理平臺的系統(tǒng)可行性。3.1.1技術可行性技術的可行性就是指企業(yè)進行決策技術和決策計劃的技術時不能超過目前所掌握的技術資源條件之間的邊界。主要應該考慮以下幾個重要的方面因素:在一個給定的時間內(nèi)系統(tǒng)能否完全實現(xiàn)所需要的功能,通過什么去實現(xiàn)該產(chǎn)品以及產(chǎn)品的質量如何。本系統(tǒng)主要是使用Python語言進行編寫,后端則是使用Python的Django框架,而在系統(tǒng)中前端所需要使用的就是Bootstrap框架與JavaScript插件來搭建和開發(fā)web版本下項目質量管理的平臺,Django框架由于采用MVC模式所以功能強大且耦合性低、重用度高、部署速度快、可維修性高等特點,并且Django還有強大的數(shù)據(jù)庫功能、簡潔的URL設計。最重要的是Django的文檔齊全插件豐富,能夠快速開發(fā)。作者相對于java更熟悉Python語言,在最近一年編寫了不少基于Python的算法腳本,也學習并體驗過使用Django框架的程序,對于此方面頗有心得。所以作者可以保證能夠做到在一個給定的時間內(nèi)完成所有需求描述中的各種功能。另外,作者在最近一年主要負責功能測試,也學習過部分項目管理相關的知識,所以能夠正確把握項目的質量,保證最后能夠產(chǎn)出合格的系統(tǒng)。3.1.2經(jīng)濟可行性經(jīng)濟發(fā)展可行性的分析包括成本-收益分析和短期-長遠利潤分析,從兩方面分別評估本設計所研究的項目質量管理平臺是否具有經(jīng)濟可行性,是否值得開發(fā)。首先由于本系統(tǒng)使用了騰訊云的SMS發(fā)送短信功能與COS對象存儲桶功能,所以在為用戶提供這些服務時需要一定成本,但是騰訊云的短信功能和對象存儲有一定的免費額度所以在系統(tǒng)運行初期時,使用騰訊云的服務只需要支付對象存儲桶的傳輸時產(chǎn)生的花費。其次本系統(tǒng)在開發(fā)過程中的開發(fā)成本較少,只通過一臺計算機進行開發(fā)。最后還需要將系統(tǒng)部署在本地或云服務器上,由于本系統(tǒng)注重輕量化,所以對服務器的負載要求并不會很高。收益方面本系統(tǒng)提供了會員服務,普通會員只能體驗系統(tǒng)功能,實際使用時限制較大,用戶可以通過購買會員來享受更好的服務。如此本系統(tǒng)初期只需要支出較少成本即可在短時間內(nèi)獲取一定利益。另外本系統(tǒng)的會員分為三個檔次,即普通會員,VIP,SVIP,而用戶購買大量會員時會給予一定優(yōu)惠,這樣可以提高一定的用戶黏度,將短期利益轉換為長遠利益。綜上所述本設計所研究的項目質量管理系統(tǒng)具有一定的經(jīng)濟可行性,能夠帶來一定經(jīng)濟收益。3.1.3社會可行性社會可行性主要是在特定環(huán)境下進行項目的研究開發(fā)和執(zhí)行,其中包含了一些社會影響因素的可行性,法律的可行性,使用的可行性。本系統(tǒng)能夠大大提高了用戶在對一個項目進行管理時的工作效率,進而為更多的用戶帶來了更多的收益,并且本次管理系統(tǒng)將沒有任何侵害到任何一個人、集體、國家利益的行為,沒有任何違背黨和國家政策與法律。因此本設計研究的項目質量管理系統(tǒng)具有社會可行性。3.1.4風險因素及對策本系統(tǒng)在實際運營后可能會出現(xiàn)一定的風險,例如用戶固定不在增長或購買會員的用戶數(shù)量增長緩慢甚至降低等問題。為了應對這些風險,本系統(tǒng)會采取相對應的一些對策,包括但不限于開展邀新獎勵活動,讓用戶邀請新用戶來使用本系統(tǒng)并給予老用戶一定的獎勵?;蚴情_發(fā)新功能為用戶提供更好的服務,又或者是與能夠為項目質量管理提供一定幫助的系統(tǒng)對接,吸引更多用戶使用本系統(tǒng)。3.2系統(tǒng)功能性需求分析系統(tǒng)功能性需求分析是整個研究過程中的第一階段,也是一個直接關系到整個研究過程中系統(tǒng)的開發(fā)工作是否成功的重要步驟。準確、全面并且具有規(guī)范性的軟件需求分析,這對于保證系統(tǒng)研究與開發(fā)的成敗至關重要。此部分對本設計所研究的項目質量管理平臺的各種需求進行了詳細的分析。首先是對整體系統(tǒng)進行需求分析,之后對系統(tǒng)中所涉及的各個模塊的功能進行需求分析。3.2.1系統(tǒng)主要功能項目質量管理平臺主要為用戶提供一個平臺,讓用戶能夠準確且快捷的管理自己負責項目的質量。核心功能是對項目問題的創(chuàng)建、更新與管理,并圍繞此核心功能開發(fā)出文件管理,文檔管理,數(shù)據(jù)可視化等功能。以下是各個模塊的需求分析。1.問題創(chuàng)建與更新的需求:此需求為本次開發(fā)的核心需求,項目的質量管理離不開問題管理,想要把握好項目的質量,就要實時能夠實時掌握項目出現(xiàn)的問題,問題的狀態(tài)分為:新建、處理中、已解決、已忽略、待反饋、已關閉、重新打開七種狀態(tài)。在創(chuàng)建與更新時可以配置當前問題的問題類型、主題、問題描述、狀態(tài)、優(yōu)先級、時間等數(shù)據(jù)并且能夠將問題指派給項目組中的任意一名成員,并且對應的指派動作也會展示在概覽頁面之中。當項目中已有的問題數(shù)量過多時,應該支持分頁展示,并且能夠根據(jù)問題類型、問題狀態(tài)、問題優(yōu)先級、指派者與關注著進行篩選當前項目中的問題。除此之外,為了能夠讓用戶直觀的看到每個問題的解決過程,需要在問題詳細頁面展示問題的操作記錄,操作記錄的展示分為修改記錄與回復兩大種類,用戶進行回復可以插入到對應記錄下方。2.文件管理的需求:為了降低本地服務器的負載并且滿足當前功能,文件管理需要使用騰訊云的對象存儲功能,每個項目單獨存儲。當用戶使用此功能時,可以完成對項目所有文件的管理與單一文件的上傳下載。支持文件夾的多層嵌套與級聯(lián)刪除,文件列表上方會展示當前文件夾路徑,點擊路徑中任意文件夾能夠跳轉到對應文件夾展示文件列表。3.數(shù)據(jù)可視化的需求:統(tǒng)計中可以統(tǒng)計當前項目的人員工作進度和問題優(yōu)先級,默認展示當天數(shù)據(jù),可以隨意更改時間范圍,可以快捷選擇時間范圍例如昨天、最近7天、本月等。4.注冊與登錄的需求:為了防止用戶重復注冊賬號并且為用戶的賬號打標,用戶在注冊時需要提供自身郵箱和手機號以及一些必要信息進行注冊,使用騰訊云短信功能對用戶手機號進行驗證,方便后期用戶找回賬號。登錄時用戶可以選擇驗證碼登錄或者使用手機驗證碼登錄。項目質量管理平臺用例圖設計,如圖3.1所示:圖3.1項目質量管理平臺用例圖3.2.2業(yè)務流程分析業(yè)務流程分析主要是對于項目質量管理平臺的各種業(yè)務和功能進一步的細化,從而建立起來形成一套科學且合理的項目業(yè)務流程,定義每種項目的內(nèi)容,對現(xiàn)行項目的管理方法進行詳盡地的回顧和具體描述,從而了解和認知每種項目在業(yè)務及其技術方面的特點和具體需求。項目質量管理平臺業(yè)務流程圖分析,如圖3.2所示:圖3.SEQ圖\*ARABIC2項目質量管理平臺業(yè)務流程分析圖3.3系統(tǒng)非功能性需求分析項目質量管理平臺本身作為一款能夠同時提供給所有的用戶進行對項目質量管理的服務系統(tǒng),系統(tǒng)的安全尤其重要,所以也對系統(tǒng)的一些非功能性的需求進行了分析,雖然對本項目管理系統(tǒng)的功能性基本沒有什么影響,但是為了改善和提升系統(tǒng)的用戶體驗,保證系統(tǒng)的信息安全,需要綜合考慮到對系統(tǒng)響應時間的需求、系統(tǒng)安全的需求與系統(tǒng)的易用性要求。3.3.1系統(tǒng)響應時間需求作為以高效率為目標而開發(fā)的項目質量管理平臺,在用戶使用過程中,應該具有快速相應的特性,保證單個用戶所感受到的交互式操作的響應時間應小于等于0.1s,而系統(tǒng)響應時間,包括但不限于過濾問題等功能,響應時間應小于等于1s。3.3.2系統(tǒng)可靠性需求系統(tǒng)應該具有較高的可靠性,在系統(tǒng)運行中不會無故出現(xiàn)宕機問題,保證用戶在系統(tǒng)中進行正常操作時,所有環(huán)節(jié)均能夠正常運行。在系統(tǒng)運行過程中,應能夠防止出現(xiàn)惡意用戶直接對服務器發(fā)送請求所導致的其他用戶數(shù)據(jù)出錯或是未支付成功開通會員等問題。在系統(tǒng)重要部分進行數(shù)據(jù)驗證,保證用戶的項目數(shù)據(jù)不會丟失。3.3.3系統(tǒng)易用性需求項目質量管理平臺的用戶操作頁面設計得應該是簡潔易用且靈活,風格統(tǒng)一不突兀,系統(tǒng)幫助信息完善,能夠協(xié)助用戶更好的使用本系統(tǒng),充分的考慮到本系統(tǒng)的易用性。本系統(tǒng)的所有交互清晰明了,對于首次接觸本系統(tǒng)的用戶,經(jīng)過短時間的熟悉即可熟練的使用本系統(tǒng)的所有功能。3.3.4系統(tǒng)可擴展性要求本系統(tǒng)采用模塊化設計,可以根據(jù)用戶的需求階段性地對系統(tǒng)進行更新設計,可以視情況可以由專業(yè)人員部署在windows或Linux中,為用戶進一步提供服務。
4系統(tǒng)總體設計系統(tǒng)總體設計是根據(jù)需求分析說明說得出的系統(tǒng)邏輯和模型來決定一個合理的軟件系統(tǒng)的總體結構,其中包括劃分整個系統(tǒng)的各個模塊,模板間的相互調(diào)用關系和軟件所使用的數(shù)據(jù)庫結構。下面將對項目質量管理系統(tǒng)進行系統(tǒng)總體設計。4.1系統(tǒng)架構設計本管理系統(tǒng)因為需要直接部署在網(wǎng)頁終端所以使用的是B/S架構MVC模式,B/S架構也就是一種瀏覽器/服務員架構的模式,是對C/S網(wǎng)站架構的一種重新改進。在B/S架構下的用戶可以直接通過瀏覽器直接進入系統(tǒng)的界面,一小部分的邏輯可以在前端執(zhí)行,其余的邏輯則可以在服務端執(zhí)行。B/S網(wǎng)絡架構把系統(tǒng)功能所實現(xiàn)的核心組成部分都集中到后端服務器上,降低了系統(tǒng)的維護與使用費用,而且當用戶在使用本管理系統(tǒng)時只需要自己安裝任意一個瀏覽器,用戶就可以通過網(wǎng)絡瀏覽器直接與服務端之間進行交互,通過這種方法可以降低用戶在使用本系統(tǒng)是電腦的負載,減輕系統(tǒng)維護與安裝升級的費用。B/S架構如圖4.1所示:圖4.1B/S架構設計圖4.2系統(tǒng)總體架構項目質量管理平臺主要采用的模式是MVC的模式,把系統(tǒng)分為三個組成部分:控制器、視圖以及模型。MVC以一種簡單的、低耦合的技術形式緊密地相互聯(lián)系著。模型能夠完成具體的業(yè)務操作。視圖可以將信息展示在前端??刂破?不做具體操作,只是中轉用戶輸入的信息。從前端獲取數(shù)據(jù),引導用戶輸入并向模型發(fā)送用戶輸入的數(shù)據(jù),負責管理前后端與用戶的交互控制。使用MVC模式能讓系統(tǒng)的耦合性變低,使其方便維護,能夠更好地針對不同模塊開發(fā)而互不影響,并且重用性高,但是使用MVC后會導致項目架構變復雜,開發(fā)過程的難度會提升。4.3系統(tǒng)功能模塊劃分項目質量管理系統(tǒng)的功能模塊主要分為項目管理、問題管理、文件管理與用戶管理。1.項目管理包括創(chuàng)建項目、刪除項目以及對項目的規(guī)劃,在項目詳情頁面可以看到當前項目的大部分數(shù)據(jù)概覽,包括新增問題趨勢、問題概覽、項目成員、項目詳細信息與項目動態(tài)。用戶可以生成邀請鏈接邀請非項目組成員進入項目。2.問題管理包括創(chuàng)建問題、更新問題和過濾問題列表,問題會根據(jù)當前問題狀態(tài)展示不同顏色,點擊對應問題進入問題詳情,在問題詳情中可以實時展示不同項目參與者對當前問題的更新記錄并且用戶可以對其中任意一條記錄進行評價。在統(tǒng)計中可以觀察不同時間段該項目的問題狀態(tài)與優(yōu)先級可視化數(shù)據(jù)。3.文件管理分為兩種,一是大文件管理,另一個是文章管理,大文件管理可以創(chuàng)建多級文件夾來實現(xiàn)對較大文件的存儲功能,點擊對應文件夾即可跳轉,文件夾不支持下載但可以修改名字,文件支持上傳下載功能。文章管理能夠新建、修改或刪除文章,使用markdown文檔編輯器使頁面更加簡潔。4.個人管理包括注冊登錄與會員功能等,注冊需要用戶通過手機號獲取驗證碼注冊,登錄可以選擇驗證碼登錄或手機驗證碼登錄,會員功能能夠為用戶提供更好的服務。系統(tǒng)功能模塊如圖4.2所示:圖4.2系統(tǒng)功能模塊圖4.4系統(tǒng)數(shù)據(jù)庫設計4.4.1E-R模型本設計所研究的項目質量管理系統(tǒng)在存儲用戶數(shù)據(jù)時,可能會出現(xiàn)一些大型文件,這時若將數(shù)據(jù)存儲在本地服務器將會對本地服務器造成一定影響,為了解決此問題,本次將系統(tǒng)涉及到的所有數(shù)據(jù)依據(jù)其數(shù)據(jù)特性分為三種存儲方式,常規(guī)的數(shù)據(jù)存儲在sqlite數(shù)據(jù)庫中,一些特殊數(shù)據(jù)根據(jù)其特殊性存儲在redis中或是對象存儲桶中。當用戶進行注冊、登錄或購買會員時,有服務器為用戶創(chuàng)建驗證碼或者訂單號,這種數(shù)據(jù)存在時間限制,所以將其存儲在redis中并設置過期時間。當用戶進行上傳下載任意文件時,服務器將會調(diào)用騰訊云對象存儲功能,完成文件上傳下載功能,并將文件基礎信息存儲在sqlite中,除此之外的常規(guī)數(shù)據(jù)會存儲在sqlite中,當用戶發(fā)送指令調(diào)用數(shù)據(jù)時,服務器將會從數(shù)據(jù)庫中獲取數(shù)據(jù)并以json格式返回給前端展示。本系統(tǒng)E-R圖如圖4.3所示:圖4.3項目質量管理平臺E-R圖4.4.2數(shù)據(jù)庫表設計在數(shù)據(jù)庫設計階段完成后,得到系統(tǒng)E-R圖,根據(jù)實際情況將E-R圖中屬性轉換為數(shù)據(jù)庫表的鍵名,完成數(shù)據(jù)庫表的設計工作。本系統(tǒng)的數(shù)據(jù)庫各個表詳細信息如下所示:用戶信息表UserInfo:包含用戶名、郵箱、手機號、密碼表4.1用戶信息表UserInfo序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2usernamevarchar32用戶名3emailvarchar32郵箱4mobile_phonevarchar32手機號5passwordvarchar32密碼價格策略表PricePolicy:包含收費類型、標題、價格、項目數(shù)、項目成員數(shù)、單項目空間、單文件大小、創(chuàng)建時間表4.2價格策略表PricePolicy序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2categorysmallint收費類型3titlevarchar32標題4priceint價格5project_numint項目數(shù)6project_memberint項目成員數(shù)7project_spaceint單項目空間8per_file_sizeint單文件大小9create_datetimedatetime創(chuàng)建時間交易記錄表Transaction:包含狀態(tài)、訂單號、用戶、價格策略、數(shù)量、實際支付價格等數(shù)據(jù)表4.3交易記錄表Transaction序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2statussmallint狀態(tài)3ordervarchar64訂單號4userForeignKey用戶外鍵5price_policyForeignKey價格策略外鍵6countint數(shù)量(年)7priceint實際支付價格8start_datetimedatetime開始時間9end_datetimedatetime結束時間10create_datetimedatetime創(chuàng)建時間項目表Project:包含項目名、顏色、項目描述、項目已使用空間、參與人數(shù)、創(chuàng)建者、COS桶等數(shù)據(jù)表4.4項目表Project序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2namevarchar32項目名3colorsmallint顏色4descvarchar255項目描述5use_spacebigint項目已使用空間6starboolean星標7join_countsmallint參與人數(shù)8creatorForeignKey創(chuàng)建者外鍵9create_datetimedatetime創(chuàng)建時間10bucketvarchar128COS桶11regionvarchar32COS區(qū)域項目參與者表ProjectUser:包含用戶、項目、星標、加入時間表4.5項目參與者表ProjectUser序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2userForeignKey用戶外鍵3projectForeignKey項目外鍵4starBoolean星標5create_datetimedatetime加入時間wiki表:包含項目、標題、內(nèi)容、父文章、深度表4.6wiki表序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2projectForeignKey項目外鍵3titlevarchar32標題4contenttext內(nèi)容5parentForeignKey父文章6depthint深度文件庫表FileRepository:包含項目、類型、名稱、文件大小、文件路徑、父級目錄、最近更新這等數(shù)據(jù)表4.7文件庫表FileRepository序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2projectForeignKey項目外鍵3file_typesmallint類型4namevarchar32文件夾名稱5keyvarchar128文件儲存在COS中的KEY6file_sizebigint文件大小7file_pathvarchar255文件路徑8parentForeignKey父級目錄外鍵9update_userForeignKey最近更新者外鍵10update_datetimedatetime更新時間問題表Issues:包含項目、問題類型、模塊、主題、問題描述、優(yōu)先級、狀態(tài)、指派等數(shù)據(jù)表4.8問題表Issues序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2projectForeignKey項目外鍵3issues_typeForeignKey問題類型外鍵4moduleForeignKey模塊外鍵5subjectvarchar80主題6desctext問題描述7priorityvarchar12優(yōu)先級8statussmallint狀態(tài)9assignForeignKey指派外鍵10attentionForeignKey關注者外鍵11start_datedate開始時間12end_datedate結束時間13modesmallint模式14parentForeignKey父問題外鍵15creatorForeignKey創(chuàng)建者外鍵16create_datetimedatetime創(chuàng)建時間17latest_update_datetimedatetime最后更新時間模塊表Module:包含項目、模塊名稱表4.9模塊表Module序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2projectForeignKey項目外鍵3titlevarchar32模塊名稱問題類型表IssuesType:包含項目、類型名稱表4.10問題類型表IssuesType序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2projectForeignKey項目外鍵3titlevarchar32類型名稱問題回復表IssuesReply:包含類型、問題、描述、創(chuàng)建者、創(chuàng)建時間、回復表4.11問題回復表IssuesReply序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2reply_typeint類型3issuesForeignKey問題外鍵4contenttext描述5creatorForeignKey創(chuàng)建者外鍵6create_datetimedatetime創(chuàng)建時間7replyForeignKey回復外鍵項目邀請碼表ProjectInvite:包含項目、邀請碼、限制數(shù)量、已邀請數(shù)量、有效期等數(shù)據(jù)表4.12項目邀請碼表ProjectInvite序號字段名數(shù)據(jù)類型長度字段提示是否主鍵1idint主鍵是2projectForeignKey項目外鍵3codevarchar64邀請碼4countint限制數(shù)量5use_countint已邀請數(shù)量6periodint有效期7create_datetimedatetime創(chuàng)建時間8creatorForeignKey創(chuàng)建者外鍵4.5系統(tǒng)硬件運行環(huán)境本系統(tǒng)硬件運行環(huán)境表如下所示表4.13運行環(huán)境表配置詳細信息CPUAMD八核R7-4800H顯卡GTX-1650內(nèi)存16g硬盤512g固態(tài)+1T機械顯示器1920*1080分辨率操作系統(tǒng)Windows10數(shù)據(jù)庫sqlite+redis開發(fā)工具pycharm-django瀏覽器版本IE90.0.818.51
5系統(tǒng)詳細設計與實現(xiàn)系統(tǒng)詳細架構設計是整個軟件開發(fā)過程的一個重要組成步驟,是對整個系統(tǒng)進行更為精致和詳細化的架構設計,針對整個系統(tǒng)每個核心功能模塊也都進行詳細設計并且實現(xiàn)算法結構。在系統(tǒng)的詳細架構設計實施階段,通過對需求進行詳細分析來設計出能夠滿足每個客戶實際需要的產(chǎn)品。5.1項目質量管理平臺注冊登錄的設計與實現(xiàn)首次進入本平臺,會進入首頁展示頁,可以看到一些系統(tǒng)相關介紹,若用戶希望體驗本系統(tǒng)的相關功能,需要先進入注冊頁面進行注冊。注冊示意圖如圖5.1所示。用戶在注冊時點擊發(fā)送驗證碼會調(diào)用send_sms函數(shù)校驗手機號合法性并接入騰訊云的短信功能用來給用戶發(fā)送手機驗證碼,同時為當前用戶生成一個有效期一分鐘的驗證碼存儲在redis中。當用戶點擊注冊時調(diào)用RegisterModelForm函數(shù)對表單進行驗證,主要驗證表單中的郵箱、手機號合法性以及其他信息的輸入格式。當用戶注冊成功后給予用戶免費版權益,調(diào)用md5函數(shù)對密碼進行加密并與其他數(shù)據(jù)一同存儲在數(shù)據(jù)庫中。用戶注冊流程如圖5.2所示。圖5.1用戶注冊示意圖 圖5.2用戶注冊流程圖在用戶注冊完成后頁面直接跳轉到驗證碼登錄頁面,驗證碼登錄示意圖如圖5.3所示。可以使用圖形驗證碼或點擊右下角按鈕切換為手機短信驗證碼來進行登錄。圖形驗證碼登錄調(diào)用check_code函數(shù)自動生成對應的圖形驗證碼,圖形展示在前端,校驗用驗證碼存儲在數(shù)據(jù)庫中,通過login函數(shù)調(diào)用loginform函數(shù)進行相應的表單驗證,將用戶輸入的密碼經(jīng)過md5調(diào)用md5方法加密后即可進行相應的表單驗證,驗證通過后即可登陸成功。手機短信驗證碼登錄調(diào)用注冊時的發(fā)送短信方法,短信登錄示意圖如圖5.4所示,表單驗證通過后即可登陸成功。注冊與登錄流程如圖5.5所示:圖5.3圖形驗證碼登錄示意圖圖5.4短信登錄示意圖 圖5.5用戶登錄流程圖5.2項目質量管理平臺文檔管理的設計與實現(xiàn)當用戶進入某一個項目中時,點擊wiki按鈕調(diào)用wiki方法展示當前項目的文檔首頁,頁面左側調(diào)用wiki_catalog方法展示當前項目的文章目錄,文章目錄如圖5.6所示,對應文章的子文章會展示在父文章下方并縮進兩格。圖5.6文章目錄示意圖右側默認展示新建文章按鈕,當點擊左側某一文章時,右側展示對應文章,如圖5.7所示。頁面右上角展示新建按鈕,點擊調(diào)用wiki_add方法,添加文章調(diào)用封裝好的editormd包使用戶可以使用markdown文檔編輯器。在markdown文檔編輯器中能夠調(diào)用wiki_upload方法完成上傳圖片,圖片存儲在對象存儲桶中并生成一個訪問鏈接存儲在數(shù)據(jù)庫中,用戶訪問時自動通過訪問鏈接將圖片展示在文章中。同時可以通過wiki_edit方法獲取文章數(shù)據(jù)編輯文章或調(diào)用wiki_delete方法刪除對應文章。文章管理流程圖如下所示:圖5.7文章正文示意圖圖5.8文件管理流程圖5.3項目質量管理平臺文件管理的設計與實現(xiàn)用戶處于項目中時點擊文件按鈕進入文件管理頁面,默認展示文件庫根目錄,如圖5.9所示。圖5.9文件列表示意圖點擊新建文件夾調(diào)用file方法在根目錄下新建文件夾并更新目錄,新建文件夾模態(tài)框如圖5.10所示。圖5.10新建文件夾示意圖點擊上傳文件彈出模態(tài)框選擇文件,為了防止臨時憑證過期,在點擊上傳的同時調(diào)用cos_credential方法獲取cos上傳臨時憑證保證文件上傳對象存儲桶成功,當存儲成功時調(diào)用file_post方法將上傳成功的文件寫入數(shù)據(jù)庫。列表中文件點擊下載按鈕調(diào)用file_download方法從數(shù)據(jù)庫獲取對應文件信息并去對象存儲桶獲取文件內(nèi)容,獲取到后返回給瀏覽器提示下載框。點擊刪除按鈕調(diào)用file_delete方法判斷是否為文件夾,若是文件夾則對文件夾中的內(nèi)容一并在數(shù)據(jù)庫中進行刪除并訪問對象存儲桶刪除文件內(nèi)容,為防止刪除未完成時系統(tǒng)出問題導致刪除失敗,本系統(tǒng)在前一個文件刪除成功后才會開始刪除下一個文件。文件管理流程圖如下圖所示:圖5.11文件管理流程圖5.4項目質量管理平臺問題管理的設計與實現(xiàn)問題管理為本平臺核心功能,用戶處于項目中時,點擊問題按鈕展示問題頁面,問題頁面如圖5.12所示,左側為篩選欄,通過前端插件select2與封裝好的SelectFilter類和CheckFilter類完成對問題的篩選。SelectFilter類實現(xiàn)下拉框功能,CheckFilter類實現(xiàn)選擇框功能。右側展示新建問題按鈕與邀請成員按鈕。圖5.12問題頁面示意圖點擊新建問題按鈕彈出模態(tài)對話框進行新建問題,其中問題描述同樣適用markdown文檔編輯器,點擊確定后調(diào)用issues方法進行表單驗證,表單驗證通過后將問題存儲進數(shù)據(jù)庫。點擊邀請成員按鈕彈出模態(tài)對話框配置邀請鏈接詳情,如圖5.13,點擊確定調(diào)用invite_url生成邀請鏈接,當項目外用戶訪問此鏈接時調(diào)用invite_join方法判斷用戶是否注冊、用戶是否在項目中、邀請鏈接是否到達邀請上限,當驗證通過后用戶成功加入項目。圖5.13邀請成員示意圖點擊某一問題進入編輯問題頁面,如圖5.13所示,用戶編輯除問題描述之外其他數(shù)據(jù)時調(diào)用issues_change方法更新問題并在頁面右側展示更新記錄,而當用戶修改問題描述時因為markdown的原因,需要調(diào)用issues_detail方法進行編輯,在更新問題描述后同樣在頁面右側最下方展示更新記錄,更新記錄與評論如圖5.14所示。用戶可以在問題右側對當前問題進行評論或回復,調(diào)用issues_record方法判斷問題是否存在,驗證問題存在后更新問題記錄。圖5.14問題編輯示意圖圖5.15更新記錄與評論示意圖圖5.16問題管理流程圖用戶點擊統(tǒng)計按鈕可查看當前問題統(tǒng)計圖,圖表使用highcharts的堆疊柱狀圖與基礎餅圖,前端使用daterangepicker獲取用戶選擇時間范圍并將時間范圍傳給static_priority方法與statistics_project_user方法分別從數(shù)據(jù)庫中獲取問題優(yōu)先級和問題類型配比,并以優(yōu)先級餅圖和人員工作進度柱狀圖的形式展示在頁面上。問題管理流程圖如下圖所示:圖5.17問題統(tǒng)計流程圖5.5項目質量管理平臺項目管理的設計與實現(xiàn)用戶在進入管理中心后,首先調(diào)用project_list展示用戶所有參與的項目。創(chuàng)建的項目與參與的項目均可以點擊星標調(diào)用project_star方法將對應項目移入星標項目中,再次點擊調(diào)用project_unstar方法取消星標。頁面左上顯示了創(chuàng)建項目的按鈕,點擊該按鍵后彈出了創(chuàng)建項目的模態(tài)對話框。點擊確定調(diào)用project_list方法創(chuàng)建項目,創(chuàng)建項目的同時為項目創(chuàng)建一個對象存儲桶并為項目初始化問題類型。圖5.18項目列表示意圖在進入項目詳情后進入設置頁面可以刪除此項目,如圖5.19,調(diào)用delete方法判斷用戶是否為當前項目的創(chuàng)建者、輸入的項目名是否合法,驗證通過后才可以刪除項目。圖5.19刪除項目示意圖項目管理流程圖如圖5.20所示:圖5.20項目管理流程圖5.6項目質量管理平臺會員的設計與實現(xiàn)用戶在首頁點擊價格按鈕進入會員購買頁面,調(diào)用price方法從數(shù)據(jù)庫中獲取所有價格策略并展示,如圖5.21,選定套餐與購買數(shù)量后點擊確定,調(diào)用payment方法計算原價支付金額并計算用戶已購買的套餐,并遍歷用戶訂單判斷其訂單是否符合抵扣規(guī)則,若用戶支付過的訂單中存在訂單滿足抵扣規(guī)則,展示支付金額有抵扣后的優(yōu)惠金額,否則展示原價。如圖5.22。圖5.21價格策略示意圖圖5.22會員購買示意圖點擊立即支付調(diào)用pay方法將用戶數(shù)據(jù)、應用公鑰與私鑰和支付寶公鑰、返回url以及訂單數(shù)據(jù)一起打包后轉換為json格式發(fā)送給支付寶沙箱環(huán)境接口,使用支付寶支付功能,當支付流程完成后,支付寶端返回給系統(tǒng)回調(diào)函數(shù),系統(tǒng)接收回調(diào)函數(shù)并解析其中的sign,判斷支付流程是否完成,若支付完成返回首頁。會員流程圖如下圖所示:圖5.23會員流程圖
6系統(tǒng)測試6.1系統(tǒng)測試說明測試工作是系統(tǒng)軟件開發(fā)過程中的一個重要基本組成環(huán)節(jié),是直接貫穿于整個軟件系統(tǒng)開發(fā)生命周期的一個重要過程,也是對整個產(chǎn)品進行最終確認的方式。測試是為了盡快盡早的發(fā)現(xiàn)當前產(chǎn)品中存在的諸如系統(tǒng)問題或是與需求文檔不一致的問題。本次測試工作在進行測試時主要使用了黑盒測試的方法,并輔以白盒測試對系統(tǒng)進行測試。6.2測試目的與環(huán)境本次測試的目標主要是為了檢驗項目質量管理系統(tǒng)的各個模塊在功能上是否正常,是否滿足需求文檔的要求。根據(jù)軟件需求文檔自行設計完整的測試用例,通過測試用例以黑盒的方式對系統(tǒng)各個模塊進行了各種功能性的用例測試,并根據(jù)用例測試后的結果初步完善了本軟件系統(tǒng)各個模塊的基本功能。本次測試將系統(tǒng)部署在本地,并通過本地IE瀏覽器直接訪問,本地測試系統(tǒng)環(huán)境為:處理器AMD八核R7-4800H,內(nèi)存16G,硬盤512G,操作系統(tǒng)windows10,瀏覽器版本IE90.0.8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年玉佛飾品項目可行性研究報告
- 2025春新版三年級科學下冊?填空專項訓練
- 新疆科技學院《朝鮮語會話一》2023-2024學年第一學期期末試卷
- 天津市重點中學2024-2025學年初三(下)第二次月考英語試題試卷含答案
- 天津醫(yī)科大學《油田開發(fā)地質學基礎》2023-2024學年第二學期期末試卷
- 湖南民族職業(yè)學院《博士英語》2023-2024學年第一學期期末試卷
- 嘉峪關市重點中學2025年高三5月調(diào)研歷史試題試卷含解析
- 江西上饒重點中學2025屆高三下第三次模擬考試生物試題含解析
- 山西省大同市口泉中學2025屆高三下學期期末聯(lián)考英語試題含解析
- 天津石油職業(yè)技術學院《畫法幾何與建筑制圖》2023-2024學年第二學期期末試卷
- 《異常子宮出血診斷與治療指南(2022版)》解讀
- 中小學思政課課件
- 兒童牙齒分齡護理方案
- 蒼虬閣詩集完整版本
- 2023-2024學年廣東省深圳市寶安區(qū)七年級(下)期中英語試卷
- DB43T 2558-2023 城鎮(zhèn)低效用地識別技術指南
- 任務2 比亞迪·秦混合動力汽車控制系統(tǒng)構造與檢修
- 人教版小學英語三起PEP常用表達法(三四年級共4冊)
- 高速公路隧道機電工程施工組織設計方案方案
- 拖掛式房車商業(yè)發(fā)展計劃書
- 09S304衛(wèi)生設備安裝圖集
評論
0/150
提交評論