軟件需求管理工具的研究和設計(可編輯)_第1頁
軟件需求管理工具的研究和設計(可編輯)_第2頁
軟件需求管理工具的研究和設計(可編輯)_第3頁
軟件需求管理工具的研究和設計(可編輯)_第4頁
軟件需求管理工具的研究和設計(可編輯)_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件需求管理工具的研究和設計 山東大學碩士學位論文軟件需求管理工具的研究和設計姓名:張慧珍申請學位級別:碩士專業:軟件工程指導教師:趙合計20050312山東大學碩士學位論文摘要需求,是項目初始估計和初始計劃的基礎,同時也是產品開發和產品驗證的基礎,整個開發活動都要圍繞它來進行,一個項目成功與否往往取決于它是否符合需求。根據 證實,從到年的導致項目失敗的最重要的原因與需求有關。焉求管理,簡單地說,就是記錄并管理需求、跟蹤需求變更,其目的是在客戶和解決客戶需求的軟件項目之間,建立對客戶需求的共同理解,并形成評估、計劃、實簏和跟蹤整個軟件生命周期中軟件項目活動的基礎。它在國際質量標準?和刪中具有重

2、要的位置.在本文中,“需求管理”指的是需求工程中的所有活動,它包含了一般意義上的需求開發和需求管理階段,涵蓋了需求獲取、需求分析、需求變更、需求跟蹤等所有過程.要解決需求管理過程中的問題,使用需求管理工具是一個很好的途徑。在本文中簡要介紹了需求的兩種生命周期模型模型和模型,并在這兩種模型的基礎上,摒棄它們的缺點,提出了一種以基線為中心的進程迭代的需求生命周期模型,基于這種生命周期模型設計實現了需求管理工具。該工具具有與需求生命周期緊密結合的業務流程,對需求生命周期中的屬性進行跟蹤和管理;并且在管理需求的變更時圍繞需求基線進行,使變更變得可控;能夠層次性的獲取業務需求、用戶需求和功能需求,并形成

3、需求跟蹤鏈。而在技術方面由于軟件開發中需求的內容豐富,格式多樣,不僅有文本信息,還有圖片、表格等非文本信息。為了管理這些信息,該工具采用了數據庫中的類型的字段來保存這氈信息.在實現需求跟蹤時,為了處理需求和原始需求、設計、實現、測試等過程的復雜關系,工具采用了以需求為中心,其他文檔均看作是需求的擴展文檔的方法。需求中包含其他文檔的編號作為索引,并在數據庫中使用一個關聯關系表來表示需求和其他擴展文檔的關聯關系,兩者之間可以根據編號相互查找,從而達到雙向跟蹤的目的.本文的第五章詳細論述了該工具的設計和實現內容,其中對需求管理模塊傲了重點闡述,這個模塊包含了管理流程的各個階段:從需求獲取到需求發布,

4、以及之后的需求跟蹤,它與文中所述的需求管理理論是相對應的。最后是對該工具進行測試的簡單說明。需求基線、生命周期模型關鍵詞: 需求管理、需求變更、伽、第頁山東大學碩士學位論文 .,., . , , ,. ? ,“.” , ,., ,. , .?, . , ., ., , ., , , . ,., , 第頁山東大學碩士學位論文。 . , ., , .,. .,.:。塒,第頁原創性聲明本人鄭重聲明:所呈交的學位論文,是本人在導師的指導下,獨立進行研究所取得的成果。除文中已經注明引用的內容外,本論文不包含任何其他個人或集體己經發表或撰寫過的科研成果。對本文的研究作出重要貢獻的個人和集體,均已在文中以明

5、確方式標明。本聲明的法律責任由本人承擔。論文作者簽名:蟛日期:?當止關于學位論文使用授權的聲明本人完全了解山東大學有關保留、使用學位論文的規定,同意學校保留或向國家有關部門或機構送交論文的復印件和電子版,允許論文被查閱和借閱;本人授權山東大學可以將本學位論文的全部或部分內容編入有關數據庫進行檢索,可以采用影印、縮印或其他復制手段保存論文和匯編本學位論文。保密論文在解密后應遵守此規定論文作者簽名:絲:辯師簽名:論文作者簽名:必師簽名:山東大學碩士學位論文第一章序言.背景.需求管理在軟件開發中的必要性隨著計算機技術的發展,社會對軟件的需求量日益增大,而軟件的開發完全依賴于人工,致使軟件開發成本費不

6、斷上漲,在美國軟件成本約占計算機系統總成本的%,已成為司空見慣的現象。由于軟件是邏輯、智力產品,盲目增加軟件開發人員并不能成比例地提高軟件開發能力。相反,隨著人員數量的增加,人員的組織、協調、通信、培訓和管理方面的問題將更為嚴重。人們在大型軟件項目開發面前顯得力不從心.在年月的財富雜志的標題是。軟件所帶來的麻煩?令人討厭”【】,業界知名人士 的這篇文章痛責了軟件的低質量與低可靠性;知名的市場研究公司在他們的報告中提供了更加清楚的說明。特剎是,根據的調查超過個公司的多個軟件項目發現:奪%的軟件項目在完成之前被取消浪費了億%的項目超出預算的項目按時且在預算內大公司%的項目按時且在預算內小公司為了更

7、深入地了解問題所在, 的調查也包括了對引起這些失敗的原因的問答.根據調查的結果,對項目造成“傷害”的三個最重要的原因如下表所示:囂回筏鬣滋乏磊乏:、:鬈蘭。黠埂層造成旅餐喲豢滋瑟燮譬:鬣.%缺乏用戶參與.%不完整的需求與規范.%需求與規范的變更表. 對項目造成傷害的因素需求錯誤是在復雜的軟件項目中所發現的最大的錯誤種類.所研究的美國空軍項目顯示,根據錯誤的來源劃分,需求錯誤是所發現錯誤%的來源,而邏輯設計錯誤僅占整個錯誤的%】,如圖.所示.第頁山東大學碩士學位論文圈,在軟件生命周期的需求階段發現錯圖,美霉空軍項目的錯誤根源誤比在維護階段發現錯誤可以節約的成本比是:其它研究也證實了這一點,例如與

8、,引用 的報告顯示%的缺陷可以追蹤到需求階段【.蝴而同時對需求階段產生的錯誤進行修復是非常昂貴的。根據的研究顯示,的報告指出大約%的項目預算花在了返工上口。的報告指出返工的花銷可以占大型軟件項目的%。因為它們數目大并且會造成多方面的影響,發現與改正需求錯誤要耗費%的返工費用。,與脒的研究得出了在項目生命周期的不同階段發生錯誤的代價嘲,這些統計再次證明了早期的研究川.雖然這些研究是獨立進行的.但是他們都幾乎得出了相同的結論:在需求階段消除錯誤可以大大節約成本。圖.?是這些研究成果的總結礙。麗根據 最近一次從正面進行的導致項目成功的調查發現,促使項目成功的%的原因與需求管理有關。因此。進行有效的需

9、求管理,可以減少軟件開發中的需求錯誤,從而可以大大降低開發成本,縮短開發周期,促進項目成功。而引入新的管理工具和方法是解決需求問題的關鍵。.現有需求管理工具的局限性需求管理在國外是非常受重視的,到目前為止,已出現了一批很優秀的商業化的需求管理工具軟件.其中比較有代表性的是,等。最新的是由公司推出的,適用于操作系統。具有良好的需求管理能力和集成擴展性;它以數據庫的形式管理需求工作產品;提供和整合,支持多種格式的文件的導入導出。第頁山東大學碩士學位論文是由公司推出的以數據庫為中心的需求管理工具,適用于和操作系統;支持多種文件格式與數據庫的導入和導出.是由公司推出的強有力的需求管理工具,適用于操作系

10、統;它是以文檔為核心管理需求工作產品的,不支持以形式存儲的需求導入到數據庫中的功能,同樣也不支持非文本對象,如或文件與數據庫的合并【硼。這些工具的基本功能比較相似,需求使用唯一的標號進行標識,需求之間的關系以及與軟件開發生命周期其它階段的實體的關聯都是通過手工建立,工具提供了強大的查詢、跟蹤和管理功能.這些工具基本上都已完成了需求管理的功能,但還存在下列局限性:.由于經濟和文化等方面的原因,難以適應國內企業和單位的要求;如除了入門級的,其他需求管理工具價格都很高,很多想規范需求管理的中小型公司考慮到成本太高而放棄,一套工具大概需要兩萬美元:同時這些工具對國內用戶來說,界面不友好,操作也比較復雜

11、【塒.在軟件開發中,需求變化頻繁,這些工具對需求變更的支持較少。.工具本身未嵌入需求管理過程和準則,中小型企業不能快速她實施規范化的需求管理。.對于整個需求的管理,采取被動的方式即用戶自身去尋找相應的管理工作【】.而到目前為止,國內軟件企業對需求管理重要性的認識還不夠,很多都還只是處于理論研究的階段,還沒有真正形成產品的需求管理工具。所以構建一個適合國內應用的需求管理工具是必要的。.本文研究內容本文是關于軟件需求管理工具的研究和設計,該工具是在符合現有的需求管理理論和借鑒國外現有需求管理工具的基礎上構建的以下為了敘述方便把該需求管理工具簡稱為系統.它的設計體現了整個需求管理所經歷的階段,同時具

12、有下列特點:獲取業務需求、用戶需求、功能需求等不同層次的需求,并形成需求和其他開發元素之間的需求跟蹤鏈.系統提供需求生命周期中的全程管理和跟蹤,并提供典型的項目開發第頁山東大學碩士學位論文架構,有利于中小型企業迅速建立可控的、文檔化和規范化的需求管理過程。需求變更的管理,采用了嚴格的需求變更評審,并使用基線管理需求版本,使需求變更達到可控的狀態。在需求管理的過程中,各種需求管理任務將隨著需求狀態的變更沿著需求的生命周期主動進入該周期責任人的工作區,從而提高了工作效率。具有良好的用戶界面友好性.本文的結構本文共分六章:第一章序言。介紹了隨著軟件工程的發展,在軟件開發中進行需求管理的必要性;國外在

13、管理需求方面所提供的工具的特點及局限性,提出了本文的目標?構建軟件需求管理工具。第二章論述了需求管理相關的理論,首先介紹了需求管理的概念,繼而對和姍中關于軟件需求管理的內容作了較為詳細的描述。第三章詳細論述了需求管理中各個階段的任務、目標和方法。第四章是從技術架構和功能架構兩方面簡要介紹了系統的總體設計,并論述了本文需要解決的關鍵技術問題。第五章對系統的設計和實現作了詳細描述。分析了和兩種生命周期模型,并在此基礎上提出了一個改進的需求生命周期模型:以基線為中心支持進程迭代的生命周期模型,并圍繞該模型對系統進行了詳細的論述。該系統主要分為項目管理、人員管理、角色管理、基線管理、需求管理、統計查詢

14、等部分,關于系統的這些模塊重點進行介紹。第六章對系統的測試進行了簡單的說明。列出了系統主要的測試功能點和相關的用例。最后是對本文的總結。第頁山東大學碩士學位論文第二章需求管理相關理論.需求管理概述.軟件需求軟件需求管理的對象是軟件需求,在過去幾年有許多軟件需求的定義涌現出來.電氣和電子工程師學會使用的需求定義為【:用戶解決問題或達成目標所需的條件或能力.系統或系統的部分滿足合同、標準、規格或其它必須遵循的正式文檔必須適用的條件和必須擁有的能力.上兩條中的條件或能力,文檔化的表現形式。把需求定義為。正在構建的系統必須符合的條件或具備的功能”;刪定義中需求是指和客戶一起建立并不斷更新的對各項軟件工

15、作所達成的協議;在本文中我們認為需求是系統或軟件必須達到的目標和能力.和著名的需求工程設計師 .提出了一傘包容且更為精練的定義,它特指軟件方面?但不僅僅限于軟件.“軟件需求可定義為:用戶解決某一闖題或達到某一目標所需的軟件功能。系統或系統構件為了滿足合同、規約、標準或其他正式實行的文檔而必須滿足或具備的軟件功能.一軟件需求是“軟件開發中指觀必須實現什么的規格說明,它描述了系統的行為、特性或屬性,是在開發過程中對系統的約束”.軟件需求包括三個不同層次的需求?業務需求、用戶需求和功能需求【.奪業務需求反映了組織機構或客戶對系統、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明.奪用戶需求

16、描述了用戶使用產品必須要完成的任務,這在使用用例 文檔或方案腳本中予以說明.功能需求定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求.第,頁山東大學碩士學位論文.需求工程和需求管理從現代軟件工程的角度來看,需求工程領域可以分為需求開發和需求管理兩個部分舊,或者說需求工程就是一個開發需求和管理需求的過程,如圖所示.需求工程是軟件工程的子領域,是一門分析并記錄軟件需求的學圖.需求工程內容科,它不斷反復的進行需求定義、文檔記錄和需求的演進,并最終在驗證的基礎上凍結需求.在需求工程中需求是作為一個貫穿整個軟件產品生命周期的對象進行設計、跟蹤和管理的。.需求開發本文中我們將

17、需求開發簡單的分為需求獲取和需求分析階段,需求規約和需求驗證蘊含其中.需求獲取是需求工程最前端的活動,獲取需求的方法和技術是多種多樣的,可以分為物理方法、概念方法兩個層次.物理方法指系統分析員與風險承擔人之間的信息交流方式,例如問卷或面談等。概念方法指那些指導上述交流中內容、模式和步驟的參考模型,例如場景分析或目標分析等。需求分析對需求獲取階段確定的系統邊界和原始需求進行沖突分析、建模、規約并驗證。簡單的說,就是依據某種建模方式對原始需求進行整理并文檔化【“】.需求管理需求管理需要“建立并維護在軟件工程中同客戶達成的契約”,所以需求管理關注的問題是對已經達成共識的需求進行管理,支持系統的需求演

18、進椰。它是對系統需求進行引入、組織和文檔化的一種系統化的方法與步驟,在客戶和實現客戶需求的軟件項目之間達成共識,以便更好地控制分配的需求,為軟件工程和管理建立基線,同時保證軟件計劃、產品和管理活動能與分配的需求保持一致.需求管理將貫穿整個需求過程,它能夠確證;我們確知客戶的器求是什么質量奪滿足客戶需求的最佳解決辦法統性目前需求管理主要包括:需求確認.在需求得到顧客和開發人員的共同認可后,定義需求基線.需求變更的管理.由于需求可能處于不停的改變狀態之中,所以要根據需求跟蹤信息,采用統一的變更控制方法,對變更進行控制。并且第頁山東大學碩士學位論文以可控制的方式將需求變更融入項目中,變更管理是需求管

19、理的關鍵。需求的評審.評審提出的需求變更、評估每項變更的可能影響從而決定是否實施它.需求跟蹤。將每項需求與其對應的設計、源代碼和測試用例等聯系起來,在整個項目過程中跟蹤需求狀態及其變更情況,保證在整個項目的生命周期中所有需求的實現,便于分析需求變更產生的影響【閽.本文以后將采用“需求管理”這個詞.它比需求工程更適合用來描述所有涉及到的活動,并且還準確地強調了追蹤變更以保持涉眾與項目團隊之間共識的重要性.因此本文中歷論述的需求管理是涵蓋整個需求工程中的所有過程領域的。. 中的需求管理標準是旨在全面覆蓋國內外所有的貿易進程活動的標準體系.但是,它不可能涵蓋到具體的區域唧.是一系列質量管理和質量保證

20、的國際標準,由個質量標準組成,其中是軟件開發維護的標準,包含了許多規格說明,重點在于使用有效的需求管理進程來控制和提高產品或服務的質量。它給企業的質量管理提供了一個宏觀的框架。中沒有明確的提出需求管理的概念,但是對需求管理的要求隱藏在條文.與顧客有關的過程中,包括產品有關要求的確定、產品要求的評審和顧客的溝通等【闞.在這些文檔中,包含了許多規格說明,重點在于使用有效的需求管理進程來控制和提高產品或服務的質量。標準強調應用需求管理,特別是它要求:建立需求的責任分配給各個小組的成員建立同意和批準對需求變更的方法和過程奪盡量避免對需求的誤解建立過程,對需求討論的結果進行記錄和復審還規定,在通常發生技

21、術設計和編程的項目開發階段的輸入應該被定義和建檔。這些“輸入”當然是需求,指定,必須定義需求,以便于驗證是否達到。它還提倡利用過程來確保以一種有序風格解決不完整,有歧義或沖突的需求。但是指出了要做什么,但是沒有說明如何做的闖題。第頁山東大學碩士學位論文總之,在開發工作的開始就強調需求,是為了確定技術設計和開發工作是以有序的風格在進行著。機構才更可能生產出滿足規格說明或者需求的系統,而不是在生命周期的結束時刻依賴瘋狂的測試和確定行為來保證質量.刪中的需求管理伽是能力成熟度模型的縮寫。該模型是 一?袁國卡內基梅隆大學軟件工程研究院于年提出的一種軟件生產和質量保證的模式嗍.在中,需求是一個活的實體,

22、處于應用系統開發的最核心.整個的指導方針是,所有活動、規劃、 .改進和軟件工作產品都將根據分分配需求配給軟件的需求一致地進行必要 的開發和修改.并且姍進一步苧塑蘭皇相應過程指出,需求應該被管理和控制嗍?眄孬:;日.變更在級中需求管理是首要 ?一需求變更關鍵過程領域,是軟件開發基線評審?一變更 .【.一活動中不可或缺的組成部分。變更評審把需求管理過程區域總結為:需廳主;嗣求管理的目的是在客戶以及客戶。? 伽中需求管理過程定義【需求的軟件團隊之間建立共同的理解。即是在客戶和開發機構之間建立一個共識,形成軟件工程所必需的管理基線,從而對需求實施有效的控制.在軟件開發活動中,所有活動計劃、日程安排、交

23、付工件都直接或間接地和需求保持一致。塒建議至少要掌握三個方面的信息:軟件需求的變更內容和累計變更次數,待決定的、被建議的、被批準的以及融入基線的軟件需求變更的個數統計信息。中重心是根據已定義和建檔的標準實踐來管理軟件活動。它的包括機構過程關注、機構過程定義、培訓程序集成軟件管理、軟件產品工程、組間協調和同行復審.軟件產品工程明確指出:“軟件需求的獲取、維護、歸檔和校驗有賴于系統化的分析,這種分析要以項目所定義的軟件開發流程為根據”.給出了幾點針對性的指導建議:變更需要經過提請、分析并且在第頁山東大學碩士學位論文合適的條件下被整合;需求的變更得到批準并加以整合以后,相應的工件和活動才能變更;在變

24、更發生之前確定該變更所帶來的影響,團隊之間要針對變更進行必要的溝通和協商;所有的變更從始至終被跟蹤剛.綜上所述,需求管理在和瑚中都是作為軟件開發的重要過程來描述的,同時還提供了具體的管理方法和步驟,尤其在蹦中從二級開始需求管理均是作為軟件開發的核心過程來對待,為軟件開發的順利進行提供有力的保證.第頁山東大學碩士學位論文第三章需求管理內容.需求獲取需求獲取是需求管理的主體.對于所開發的軟件產品。獲取需求是一個理解和明確用戶類不同的需要和限制的過程【.軟件需求可以分為三個層次:業務需求、用戶需求和功能需求以及非功能需求,其中各組成部分之間的關系如.所示。需求獲取就是使用一些方法和步驟,依次獲取這三

25、個層次的需求,形圈.軟件需求中各屢次間的關系成軟件需求規格說明書,并依照他們之間的內在聯系形成需求間的關聯關系。需求獲取也是一個和用戶深入交流和探討的過程.需求分析需求分析的目的在于開發出高質量和具體的需求,這樣你就能做出實用的項目估算并可以進行設計、構造和測試鯽.它包括分析原始需求的類型以及需求和已有需求的關聯屬性,明確需求應有屬性,并修改相關的屬性,根據其標識、優先級,重要性、可行性、風險、來源和類型來將需求分類。標識:應該唯一地標識每個需求例如:編號、名字標簽、助記法、按鈕、超文本,需要的時候能夠用標識來反映鏈揍和關系,不同的需求也可以通過標識得到區分.優先級:客戶應該指明每個需求的優先

26、級,這一點可以通過潛在的客戶的多數意見來獲得,適當的時候,可以使用比例如:或者使用簡單的詞目如高、中、低和無來指明每個需求的優先級。重要性:與客戶一起工作的分析員應該定義每個需求的重要性,從用戶的觀點來看某些需求可能只有較低的優先級,卻是系統成功所不可或缺的。例如,度量外圍溫度的需求可以為別的需求如維護柜內溫度提供必不可少的支持,應第頁山東大學碩士學位論文該指明這種關系,以便客戶取消主要的需求時可以同時清除那些為之提供支持的需求。可行性:客戶和分析員應該共同指明將每個特定的需求包括在系統中的可行性,并根據可適用于系統領域的可行性類型將其分類。基于對一些如技術的當前狀態如比較購買商業構件和自主研

27、究,以及對與特定需求相關聯的風險或成本等內容的理解,可以獲知其可行性.風險:可以使用風險分析技術將系統需求分級。根據它們的因果關系或風險的可避免性,多數風險與潛在的財務損失,環境影響、安全和健康問題以及國家標準或法律相關.來源:應該進一步通過標明其起源來將每個需求分類.可以被當作某個需求的產生原因的來源可以有多個,指明每個需求的起源很有好處,以便當需求不清楚,相互沖突或需要被刪改的時候能夠找到需要商議的個人或組織。.需求確認對需求的分析結果進行確認,指定需求的基線,對需求的設計、實現和測試做初步的估算,明確下一步的責任人及時間.對于不需要實現的需求歸入“已作廢”需求基線中。.需求變更需求變更是

28、指在軟件需求基線已經確定之后又要添加新的需求或進行較大的需求變動。變更天生是過程的一部分,所以我們應該認識到變更的不可避免性,并采取有效的方法來管理變更切.一整個產品生命周斯一圖.需求交更圖本系統針對變更頻繁、多用戶參與的特點,提供了良好的業務協同環境,第頁山東大學碩士學位論文使客戶與開發人員及其所有的風險承擔人可以實現協同工作,同時還提供了詳盡的需求跟蹤鏈。由變更控制委員會控制的唯一變更渠道,使需求變更變得可控。需求變更過程中的核心部門是,進行變更的控制,需求變更的過程如下鯽:.提出變更請求變更需求的擁有人提出變更的正式申請。.指派變更控制部門在獲得一個需求問題的報告后,指派需求工程師負責本

29、變更的分析和確認工作。.分析分析這個問題及其它的問題。確定它是新的要求,還是修改請求,或圖.需求變更控制流程者是誤解修改所針對的真實需要是什么客戶的可能結果是什么完成該請求的成本如何是否需要進一步調查根據需求跟蹤鏈,可以清楚的確定所影響的程序設計部分,程序實現部分,和測試部分,并且確定受影響的個人。.變更風險評估成員開會進行討論,對于變更影響進行分析,并對變更風險進行評審.對于拒絕變更的需求項,就不再對其有任何修改,不用繼續下面的步驟,同時將該需求并入“已廢止”基線,供以后項目跟蹤使用。對于決定修改的需求項,將給這些需求項設定修改的優先級或變更的實現日期.。確認根據變更評估過程中的投票結果,進

30、一步進行分析:會不會得不償失,是否應該拒絕該請求是否應將它作為新的需求,或變更的需求,且優先級如何,是否作為可選項能否包含在下一個發行版本中,或者再延遲是否有其他處理方法能否作為交換,要求供應商提供其他變更能否暫緩決定,暫緩多久分析完成,達成共識。.發布第頁山東大學碩士學位論文根據變更決定的實現方式修訂規格說明,將它作為某個基線版本的需求,并按照需求跟蹤流程跟蹤其發布后的生命階段。.需求跟蹤需求跟蹤是需求管理的基礎,同時也是需求變更控制的基礎嘲.可跟蹤性,是兩個或多個實體之間具有定義好的鏈接或關系,可以從一個實體跟蹤或回溯到另一個實體。實現對需求的跟蹤,即跟蹤一個需求使用的全過程,也就是從最初

31、的用戶需求到設計實現的整個生存期。要實現在軟件生命周期各個階段對需求的跟蹤,前提條件是在各個階段都必須有比較完善的文檔。例如,需求工程階段的需求規格說明書,設計階段的設計文檔,以及需求實現階段的源代碼等等。這些文檔之間的層次關聯關系是實現需求跟蹤的基礎。在這些元素間建立了跟蹤關系后,就可以將每項需求從最初的業務需求一直跟蹤到測試這項需求的測試用例。同樣,我們也可以根據這條跟蹤關系鏈回溯到業務需求.目前,應用較多的需求跟蹤技術是需求跟蹤能力矩陣或需求跟蹤能力樹,它通過矩陣或者樹的形式來反映各個需求之間一對多或多對多的關系【.。基線管理建立需求基線版本和需求控制版本文檔,確定一個需求基準,這是一致

32、性需求在特定時刻的快照.之后的需求變更就遵循變更控制過程即可閉。每個版本的需求規格說明都必須是獨立說明,以避免將底稿和基準或新日版本相混淆。最好的辦法是使用合適的配置管理工具在版本控制下為需求文檔定位。在本系統中所有的歷史版本均保存到需求數據庫。基線管理屬于配置管理研究的范疇,但如果要更好的完成需求管理的任務,就必須引入配置管理中基線管理技術.在配置管理中,“配置”和。配置項”是重要的概念,。配置”是在技術文檔中明確說明并最終組成軟件產品的功能或物理屬性。因此“配置”包括了即將受控的所有產品特性,其內容及相關文檔,軟件版本,變更文檔,軟件運行的支持數據,以及其他一切保證軟件一致性的組成要素,相

33、對于硬件類配置,軟件產品的“配置”包括更多的內容,并具有易變性.受控軟件經常被劃分為各類配置項,這類劃分是進行軟件配置管理的基礎和前提,是邏輯上組成軟件系統的各組成部分。第頁山東大學碩士學位論文各隨軟件開發活動的進展,會有越來越多的部件進入受控狀態。一般地,軟件開發過程從概念演繹和需求分析開始,然后是設計,各軟件配置項的編碼或寫作,集成測試,最后是用戶手冊的編寫等。軟件配置管理包括了在軟件生命周期的時間分散點上對各進行標識并對他們的修改進行控制的過程。在一個開發階段結束或一組功能開發完成后,要對相應的進行基線化并形成各類基線。在配置管理系統中,基線就是一個或一組在其生命周期的不同時間點上通過正

34、式評審而進入正式受控的一種狀態,而這個過程被稱為“基線化”。每一個基線都是其下一步開發的出發點和參考點。每個基線都將接受配置管理的嚴格控制,對其的修改將嚴格按照變更控制要求的過程進行,在一個軟件開發階段結束時,上一個基線加上增加和修改的基線內容形成下一個基線。這就是“基線管理”的過程,醫此基線具有以下屬性:通過正式的評審過程建立基線存在于基線庫中,對基線的變更接受更高權限的控制基線是進一步開發和修改的基準和出發點一般地,第一個基線包含了通過評審的軟件需求,因此稱之為“需求基線”,通過建立這樣一個基線,受控的系統需求成為進一步軟件開發的出發點,對需求的變更被正式初始化、評估。受控的需求還是對軟件

35、進行功能評審的基礎”。第頁山東大學碩士學位論文第四章系統的總體設計.系統技術架構.數據庫服務器:客戶端應用程序;使用.技術平臺,語言開發,運行于所有的.平臺。應用程序架構如下:客戶服務器視圖/棼制層迤 多數據層網絡連接致據庫服務囂敦據庫操作層:圖.系統技術架構.系統功能架構圖.項目管理模塊圖.系統功能架構圖.需求管理模塊第頁山東大學碩士學位論文圖.統計分析模塊 圖.基礎信息管理模塊.需要解決的關鍵技術.需求中非文本格式的信息的存儲軟件開發中需求的內容豐富,格式多樣,尤其是在需求獲取階段的原始需求,不僅有文本信息,更多的是客戶的圖片、表格等非文本信息,為了把需求描述清楚,需要保存這些信息.由于本

36、系統所有數據均使用數據庫存儲,所以該類信息的存儲是本系統的技術難點.在數據庫中可以使用型字段保存大的數據,在此我們選取型字段保存需求中的非文本信息,采用格式保存。此方案的優點有:.解決了非文本信息的數據庫存儲問題。.需求的詳細說明采用格式,可以和其他文字處理軟件生成的格式的文檔兼容,這樣就可以從等字處理軟件中把格式化的需求說明粘貼到需求詳細說明的文本域中。.需求跟蹤鏈的數據結構本系統達到的目標之一就是通過維護需求的生命周期中各個階段的文檔從麗形成一個需求跟蹤鏈,把需求生命周期中的各個階段嚴格管理起來。因此必須對需求的各個階段的輸出和需求建立關系,由于需求和原始需求、設計、實現、測試等過程具有復

37、雜的關系,必須采用復雜的數據結構設計方能達到該目標。本系統中以需求為中心,其他文檔均看作是需求的擴展文檔。描述需求的數據結構中包含其他文檔的作為索引,各種類型的文檔在需求中均使用列表類型的數據來存儲,以實現多對多的關系。在數據庫中采用一個關聯關系表達到需求和其他擴展文檔的關聯關系.下圖為需求和相關資源及其第頁山東大學碩士學位論文關聯關系的數據庫設計:釉嘲贈 匿嘲麟莨琶蘑鰳曦置 需隸蘊號 鬣 害演綰母莊呈需隸彗號卜 呻瓷渣藍號需求名稱 砭詳細描述信息需求類型資源類型編號關聯類型 創建者狀態創建時問父需求編號完成時間其他宇段 狀態圖.一需求信息表和需求相關資源數據表的關聯關系系統把需求信息存放在需

38、求信息表中該表的詳細信息參看.中的數據表設計說明。系統把需求相關聯的信息統一存放在需求資源信息表 中,該表中包含原始需求、設計文檔、實現文檔和測試文檔等需求生命周期中使用的關聯文檔。通過資源類型來標識出不同的資源文檔,資源類型為:“原始需求”、。設計文檔”、“實現文檔”、“測試文檔”和。其他文檔”.系統把需求和需求資源信息之間的關聯關系通過需求資源關系表來存儲。通過查詢該表中的數據,能夠獲得需求和需求資源之間的雙向關聯關系。該表中的關聯類型包括;“使用”、“參考。依賴”等,默認的關系為“參考”.系統通過需求資源關聯關系表達到對需求及其生命周期中的其他附屬文檔之闖的雙向關聯關系。第頁山東大學碩士

39、學位論文第五章系統的詳細設計和實現.相關技術.盯. 是一種新的計算平臺【引,它簡化了在高度分布式?環境中的應用程序開發. 旨在實現下列目標:提供一個一致的面向對象的編程環境,而無論對象代碼是在本地存儲和執行,還是在本地執行但在上分布,或者是在遠程執行的.提供一個將軟件部署和版本控制沖突最小化的代碼執行環境。提供一個保證代碼包括由未知的或不完全受信任的第三方創建的代碼安全執行的代碼執行環境。提供一個可消除腳本環境或解釋環境的性能問題的代碼執行環境。使開發人員的經驗在面對類型大不相同的應用程序如基于的應用程序和基于的應用程序時保持一致。按照工業標準生成所有通信,以確保基于. 的代碼可與任何其他代碼

40、集成。.具有兩個主要組件;奪公共語言運行庫.類庫的基礎.您可以將運行庫看作一個在公共語言運行庫是.執行時管理代碼的代理,它提供核心服務如內存管理、線程管理和遠程處理,而且還強制實施嚴格的類型安全以及可確麗面于更乎蘩;圉保安全性和可靠性的其他形式的代碼準確二二二二二二二孟 . 莆性.事實上,代碼管理的概念是運行庫的箍基本原則?以運行庫為目標的代碼稱為托.垂至 三三三至 固./囊非托管代碼。?.要蓁凳罷太要了以運行庫為目標的代碼稱為至三三三三丑輦例哪螂類庫是. 的另一個主。圖. 系統架構要組件,它是一個綜合性的面向對象的可第頁山東大學碩士學位論文重用類型集合,您可以使用它開發多種應用程序,這些應用

41、程序包括傳統的命令行或圖形用戶界面應用程序。也包括基于.所提供的最新創佇.新的應用程序如窗體和】口札.組件.提供對口】等數據源以及通過和公開的數據源的一致訪問。數據共享使用者應用程序可以使用.來連接到這些數據源,并檢索、三鹵操作和更新數據.為.環境下數據庫編程提供了統一的接口. .技術. ?善. 是公司為.應用提供的數據存瓣.?踟.取方案,區別于基于的艮幢 / 或.;數據提供者為.陲.?。豸提供另外的方法訪問圖.卜 數據庫訪問技術數據庫,獲得更優越的性能和更完善的支持,他們三者的關系如圖.所示.使用。組件開發使用.】技術獲取數據庫連接,需要使用.提供的類來獲取數據庫連接.下面是使用連接字符串連

42、接數據庫的;語言例子:第頁山東大學碩士學位論文.連接字符串屬性列表渤您疆燮懋纓翳熬懣霪翳翳鬻灌餮鍪燮匿銎懋娶鍪濯懋罄鬻瑟滋溢翟連接活動秒時間最大獲取連接等待時間秒 連接數據庫網絡服務名管理員權限:既 釋放連接數目當存在空聞連接在分布式事務處理中是否自動顯示服務 建立連接數目當連接池連接均繁忙連接池最大連接數 連接池最小連接數用戶密碼是否保存密碼是否啟用連接池代理用戶名 代理用戶密碼用戶名表. .連接字符串屬性列表對象對象用于指定執行的命令文本?字符串或存儲過程,該對象需要使用構造函數進行初始化./聾 /定義要查詢的語句,?“; /聲明對象,同時指定該對象使用的數據庫連接和命令,;第頁山東大學碩

43、士學位論文關閉并清除可以調用連接對象的方法或方法來關閉到數據庫的連接,方法調用方法。錯誤處理結構的錯誤處理是.語言的一部分,下面是使用語法的一個相對最小的例子。,使用異常捕獲來判斷系統運行是錯誤所在,給用戶明確的提示信息,打開數據庫連接.;,/聲明對象。;,設置數據庫命令對象使用的連接.;/設定數據庫命令對象要執行的.。 如,”.。;/設置命令的類型.;/,聲明對象.獲得數據庫命令對象的執行結果.;.;州捕獲/,根據的序號判斷異常的原因.:.。 .;靼搦, . .。;第頁山東大學碩士學位論文.字段的存取作為大數據在數據庫數據存儲中扮演重要角色,一些多媒體資料均以類型的字段來存儲,對以字段的讀寫

44、方法可以參考下面的代碼。讀取字段代碼片斷:、,獲得類型的字段 “/ 、/ 。”字段/ “。查詢關鍵字字段/, 。數據庫表的名稱/ ,/,聲明數據庫命令對象,并指定使用的數據庫連接”,;/設定數據庫對象要執行的命令 。.“。.。,。.。”.”;/使用獲得數據命令對象的執行結果.;./獲取大字符對象.;第頁山東大學碩士學位論文更新字段代碼片斷:/更新字段,聲明事務對象伯 :,/聲明數據命令對象;,/開始事務處理.;/創建數據命令對象,并制定該對象使用的數據庫連接。,;,使用提供的共事更新鎖獲得要更新的字段.。. 。. 。.。.。:.,/使用獲取執行結果.;/使用讀取數據.;,給當前對象加鐨,以便進

45、行更新操作.;/清除原有的對象.;:.;,修改字段,完成更新操作.,.;/提交事務,以便釋放鎮定.;,處理操作期間的異常,并回滾操作.。:,.;.; 。/釋放使用的資源.;第頁山東大學碩士學位論文.事務處理及并發控制事務處理有四個基本的屬性:原子性:如果園故障而中斷,所有結果均撤銷。一致性:事務的結果保留不變的特性。孤立性:中間狀態對其他事務是不可見的。持久性:已完成的事務的結果是持久的,當一個事務完成之后,事務提交成功了,即使系統了,事務所作的修改仍然是成功的。事務的終止有兩種方式:提交一個事務會使其所有的更改永久不變,而回滾 一個事務則撤銷其所有的更改。系統通過從底層封裝的事務處理,保證系

46、統的事務的正確性。事務的調用方式如下:并發控制主要是通過對數據進行加鎖的控制,主要是讀鎖,寫鎖,并發排他鎖等.系統使用提供的共享更新鎖達到在網絡環境下數據操作的正確性.的共享更新鎖獲取和使用方式如下:第“頁山東大學碩士學位論文,共享更新鎖的獲取方式列名,列名】?表名條件列名,列名】?/使用 下關鍵字來獲取記錄的數據鎖.界面設計界面是程序和用戶的接口,一個好的界面要以用戶為中心,符合用戶的習慣。設計一個友好的界面一般來講要滿足以下特征:.操作簡單,易學,易掌握.界面美觀,操作舒適一.快速反應,響應合理在本系統中界面分四個主要區域:菜單和按鈕區、需求列表區、工作區即需求顯示區和狀態欄。如下圖所示:

47、圖.一系統主界面菜單和按鈕區是系統所有功能模塊的入口.需求列表顯示區按照不同的基線以樹狀顯示系統中的需求.樹的一級為不同的需求基線具體數目將和項目的設置有關,二級將按照需求的父子關系一次顯示系統中的需求。可以使用戶方便的定位到某個需求.在工作區中可以對系統中的需求進行察看和維護,系統的大部分操作都是第頁山東大學碩士學位論文通過系統的工作區來進行。狀態欄主要顯示一些和當前操作相關的提示信息.系統主界面控件及其布局代碼如下:,/主界面代碼:.,設定名稱.”。:/設定窗體標題.。需求管理系統。:/向窗體中添加控件,增加需求屬性控件.;/增加主窗口右側上下分割控制.;,/增加需求詳細信息編輯窗口.;/

48、增加左右分割控件.;/增加需求測覽樹.;/增加狀態欄.;/增加工具欄.;/,設定窗口風格.;.;.。.;/設定系統的主菜單.:.;.需求管理詳細設計.模型設計需求是軟件需求管理的對象,需求的生命周期貫穿了整個需求管理過程,第頁山東大學碩士學位論文它直接反映需求管理的內容和過程,這里將分析兩種生命周期模型一和模型,并在此基礎上提出了以基線為中心的支持進程迭代的生命周期模型。.現有的需求生命周期模型.模型的縮寫,這個模型是由是愛立信公司提出的,/?、在蹦模型中,一個需求可被,%療?蘭竺蘭掌視為由一組屬性層次地構成的,懶岫 岫 / ,屬性可以是觶眥可以是復岫頁,弋:一糞薯二曼姜:妻磊蘆言耄霎驀:蚋蛐

49、山.亍呃囂?乏主再 還有一些是可選的,可以定制:舡“黼弋軟件需求開發就象一個學習過吣 程,逐漸填充相應的屬性。整個 蹦模型圖.模型包括三個連續且異步的子過程:首先是需求的獲取和需求的細化,它們將在數據庫中填入相應的詳細需求;再是需求的計劃,它用來確定需求,并選擇相應的需求進入軟件產品的發行版本;最后的過程是需求的實現,將需求設計到相應的軟件產品中去。模型相應的四個階段為:需求的獲取經過各種方法獲取了相應的潛在需求,并且通過產品委員會的確定,才能成為正式的需求。需求的細化通過系統分析員和各種風險承擔人進行協商,確定相應需求的各種屬性,將需求內容進行充實。需求的計劃當相應的需求已經完成,并且通過了

50、驗證,經由產品委員會進行確定,可以進行下一階段的實現工作.奪需求的實現在這個階段需求可以在上一次的實現的基礎上實現迭代式的實現.第頁山東大學碩士學位論文.模型是 的縮寫,這個模型是由公司提出的,可以保證軟件產品即時的發布和良好的軟件產品質量。包括了典型的需求過程活動,如需求的啟發,需求的文檔化,需求的驗證,同時強烈關注需求的選擇和產品的發布.在該模型中,有許多的角色參與其中,?將負責需求的管理,同時決定哪個需求將在發布的圖. 模型版本中實現,還將負責需求變更的管理工作。用戶和產品使用者將向提出相應的要求以及對產品的反饋,需求小組將負責需求的分析和細化工作,專家小組將對于個別需求提出深度的分折,開發小組將負責產品的開發,測試小組將根據需求對產品進行測試。該模型將分為六種狀態:已創建該狀態表示需求已經新建了。奪已分配表示該需求已經指定了專人對其相應的屬性進行評價和確認。已

溫馨提示

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

評論

0/150

提交評論