軟件項目需求管理_第1頁
軟件項目需求管理_第2頁
軟件項目需求管理_第3頁
軟件項目需求管理_第4頁
軟件項目需求管理_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件項目需求工程主要內(nèi)容軟件項目需求概述軟件需求開發(fā)和管理軟件需求規(guī)格的定義方法一、軟件項目需求概述1.什么是需求需求的基本概念寬泛地講,需求來源于用戶的一些“需要”,這些“需要”被分析、確認后形成完整的文檔,該文檔詳細地說明了產(chǎn)品“必須或應(yīng)當”做什么。需求的重要性FrederickBrooks在他1987年經(jīng)典文章“NoSilverBullet”中闡述了需求的重要性:開發(fā)軟件系統(tǒng)最困難的部分就是準確說明開發(fā)什么。最困難的概念性工作是編寫出詳細的需求,包括所有面向用戶、面向機器和其它軟件系統(tǒng)的接口。此工作一旦做錯,將會給系統(tǒng)帶來極大的損害,并且以后對它修改也極為困難。需求是產(chǎn)品的根源,需求工作的優(yōu)劣對產(chǎn)品影響最大。就像一條河流,如果源頭被污染了,那么整條河流也就被污染了。國內(nèi)軟件業(yè)的痼疾:人們并不清楚究竟該做什么,但卻一直忙碌不停地開發(fā)。2.了解客戶、最終用戶、間接用戶基本概念“用戶”(user)是一種泛稱,它可細分為“客戶”(customer)、“最終用戶”(theenduser)和“間接用戶”(或稱為關(guān)系人)。掏錢買軟件的用戶稱為客戶,而真正操作軟件的用戶叫最終用戶??蛻襞c最終用戶可能是同一個人也可能不是同一個人。3.需求工程基本概念什么是需求工程把所有與需求直接相關(guān)的活動通稱為需求工程。需求工程中的活動可分為兩大類,一類屬于需求開發(fā),另一類屬于需求管理。3.需求工程基本概念需求開發(fā)過程域需求開發(fā)的目的是通過調(diào)查與分析,獲取用戶需求并定義產(chǎn)品需求。需求調(diào)查的目的是通過各種途徑獲取用戶的需求信息(原始材料),產(chǎn)生《用戶需求說明書》。需求分析的目的是對各種需求信息進行分析,消除錯誤,刻畫細節(jié)等。常見的需求分析方法有“問答分析法”和“建模分析法”兩類。需求定義的目的是根據(jù)需求調(diào)查和需求分析的結(jié)果,進一步定義準確無誤的產(chǎn)品需求,產(chǎn)生《產(chǎn)品需求規(guī)格說明書》。系統(tǒng)設(shè)計人員將依據(jù)《產(chǎn)品需求規(guī)格說明書》開展系統(tǒng)設(shè)計工作。需求管理過程域需求管理的目的是在客戶與開發(fā)方之間建立對需求的共同理解,維護需求與其它工作成果的一致性,并控制需求的變更。需求確認是指開發(fā)方和客戶共同對需求文檔進行評審,雙方對需求達成共識后作出書面承諾,使需求文檔具有商業(yè)合同效果。需求跟蹤是指通過比較需求文檔與后續(xù)工作成果之間的對應(yīng)關(guān)系,建立與維護“需求跟蹤矩陣”,確保產(chǎn)品依據(jù)需求文檔進行開發(fā)。需求變更控制是指依據(jù)“變更申請-審批-更改-重新確認”的流程處理需求的變更,防止需求變更失去控制而導致項目發(fā)生混亂。二、軟件需求開發(fā)和管理1.需求開發(fā)的主要困難與對策知識技能問題態(tài)度問題合作關(guān)系用戶說不清楚需求開發(fā)人員寫不好需求文檔用戶經(jīng)常變更需求2.如何開展需求調(diào)查準備調(diào)查調(diào)研單準備預約執(zhí)行調(diào)查調(diào)研會議閱讀文檔遠程調(diào)研(電話mail)需求分析2.、調(diào)研單調(diào)研內(nèi)容需要文檔(是否復?。┯媱潟r間計劃方式聯(lián)系人聯(lián)系方式3.如何進行需求分析基本概念需求分析是指在需求開發(fā)過程中,對所獲取的需求信息進行分析,及時排除錯誤和彌補不足,確保需求文檔正確地反映用戶的真實意圖?!皢柎鸱治龇ā北容^適合于用戶需求調(diào)查階段“建模分析法”比較適合于產(chǎn)品需求定義階段。問答分析方法問答分析最重要的問題是:“是什么”和“為什么”。其它常見的問題有:需求存在二義性嗎?需求文檔的上下文有矛盾嗎?需求完備嗎?需求是必要的嗎?需求可實現(xiàn)嗎?需求可驗證嗎?需求的優(yōu)先級確定了嗎?

三、定義需求規(guī)格的方法需求規(guī)格原型方法結(jié)構(gòu)化分析法面向?qū)ο蟮挠美治龇P(guān)鍵功能列表法1.原型方法定義按照用戶的需要,快速形成一個操作流程界面可能只是一個框架,具體的功能沒有實現(xiàn),只是結(jié)果靜態(tài)的操作流程,以便與用戶快速就需求達成一致主要考慮系統(tǒng)的功能需求,很少考慮非功能需求需求分析原型開發(fā)原型評價需求規(guī)格原型方法的類型進化型開發(fā)出來用于了解問題,并形成被交付軟件的部分或全部的基礎(chǔ)拋棄型開發(fā)出來獲以便更多地了解問題或探究可能的方案的靈活性或者合理性,是嘗試性軟件,不用于被交付軟件的實際部分2.結(jié)構(gòu)化分析方法20世紀70年發(fā)展起來的面向數(shù)據(jù)流的方法是一種自頂向下逐步求精的分析方法根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系進行分析的技術(shù)數(shù)據(jù)流圖(DFD)數(shù)據(jù)字典(DD)系統(tǒng)流程圖數(shù)據(jù)流圖是一種描述軟件系統(tǒng)邏輯模型的圖形符號數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達和容易理解整個系統(tǒng)頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續(xù)細化,形成子圖。數(shù)據(jù)字典描述系統(tǒng)中涉及的每個數(shù)據(jù),是數(shù)據(jù)描述的集合,通常配合數(shù)據(jù)流圖使用,用來描述數(shù)據(jù)流圖中出現(xiàn)的各種數(shù)據(jù)和加工.組成數(shù)據(jù)項:數(shù)據(jù)元素數(shù)據(jù)流:由數(shù)據(jù)項組成的數(shù)據(jù)流數(shù)據(jù)文件:表示對數(shù)據(jù)文件的存儲數(shù)據(jù)流圖需求分析實例:建立學生管理系統(tǒng)學管科體檢科學籍科學生處學管科體檢科學籍科學生管理信息系統(tǒng)學生處領(lǐng)導學生基本信息學生健康信息學生成績學生健康情況表學生成績單查詢要求不及格人數(shù)人數(shù)統(tǒng)計表數(shù)據(jù)字典-數(shù)據(jù)流學生基本信息:學號十姓名學生健康信息:學號十健康情況學生成績:學號十{課程名+成績}查詢要求:[健康查詢單|平均成績查詢單l不及格人數(shù)查詢]學生健康情況表:優(yōu)%十良%十一般%十差%學生成績單:學號十姓名十{課程名+成績}+總成績不及格人數(shù)統(tǒng)計表:學號十成績十不及格總?cè)藬?shù)數(shù)據(jù)字典-文件文件文件名:基本信息組成:{學號十姓名十入學成績十生源}組織:按學號遞增順序排列文件名:健康文件組成:{學號+姓名+健康情況}組織:按照健康情況為優(yōu)、良、一般、差順序排列文件名:成績文件組成:{學號+姓名+平均成績}組織:按照評劇成績遞增順序排列加工說明加工編號2.1加工名稱:學生基本信息處理輸入流:合法的學生信息輸出流:錄入單,修改單,刪除單加工邏輯:根據(jù)輸入的要求,對學生基本信息進行錄入、修改或刪除3.用例需求(usecase)分析用例需求分析方法采用一種面向?qū)ο蟮那榫胺治龇椒ㄓ美窍到y(tǒng)向用戶提供一個有價值的結(jié)果的某項功能所有的用例結(jié)合起來就構(gòu)成了用例模型從用戶角度出發(fā)考慮的功能需求UML

UnifiedModelingLanguage統(tǒng)一建模語言,是一種通用的模擬語言。Booch,Rumbaugh

和Jocobson

基礎(chǔ)上發(fā)展起來的。1997年11月國際對象管理組織OMG批準將UML作為基于面向?qū)ο蠹夹g(shù)的標準建模語言。UML制定了一整套完整的面向?qū)ο蟮臉擞浐吞幚矸椒?。UML需求視圖用例視圖(UsecaseDiagram)順序圖(SequenceDiagram)狀態(tài)圖(StateDiagram)活動圖(ActivityDiagram)用例視圖用例視圖主要是展示了外部行為者所觀察到的系統(tǒng)將提交的功能.即:各類外部行為者與系統(tǒng)所提供的用例的連接用例(Usecase):系統(tǒng)所提供的功能描述角色(Actor):可能使用用例的人或者外部系統(tǒng)UML圖符

用例實例

用例實例

順序圖示順序圖展示了幾個對象之間的動態(tài)協(xié)作關(guān)系,主要用來顯示對象之間發(fā)送消息的順序,還顯示對象之間的交互,即系統(tǒng)執(zhí)行某一特定時間點所發(fā)生的事。

活動視圖

活動圖用來描述執(zhí)行工作流程中涉及的活動,展示了連續(xù)的活動流。

UseCase需求分析方法綜述識別出系統(tǒng)的Actor描述主要的Usecase實現(xiàn)用例視圖實現(xiàn)順序視圖、活動視圖、狀態(tài)視圖等4.關(guān)鍵功能列表KFL是對項目的功能需求進行詳細說明的一種方法。可以作為用例分析方法的附加說明,詳細說明某個用例的具體功能。4.什么是好的需求規(guī)格說明書正確清楚無二義性一致必要完備可實現(xiàn)可驗證確定優(yōu)先級闡述“做什么”而不是“怎么做”5.如何定義產(chǎn)品需求第一步:細化并分析用戶需求第二步:撰寫產(chǎn)品需求規(guī)格說明書第三步:進行需求確認軟件需求說明書的參考模板6.需求管理:確認、跟蹤、變更控制需求確認(評審和承諾)需求評審面臨的困難需求承諾需求跟蹤需求變更控制需求追蹤的意義問題舉例:作用地位

忘記實現(xiàn)子需求變更時不清楚要變動的地方搞不清改動的影響面有多大取消需求,設(shè)計仍然在進行

追蹤信息是項目管理的重要依據(jù)追蹤信息是變更的重要參考是可靠過程的重要標志定義追蹤關(guān)系(Links)業(yè)務(wù)需求系統(tǒng)需求系統(tǒng)測試軟件需求硬件需求原理圖體系結(jié)構(gòu)PCB圖單元設(shè)計單元測例集成測例直接追蹤間接追蹤后向追蹤前向追蹤實現(xiàn)舉例:追蹤表追蹤表(需求)描述編號FR1.1FR1.2應(yīng)用圖形顯示網(wǎng)絡(luò)拓撲結(jié)構(gòu)應(yīng)能使用戶在圖形中選擇并編輯

溫馨提示

  • 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

提交評論