㈠ 需求分析有哪兩種主要分析方法
從系統分析出發,可將需求分析方法大致分為功能分解方法、結構化分析方法、信息建模法和面向對象的分析方法。
(1)功能分解方法。
將新系統作為多功能模塊的組合。各功能義可分解為若乾子功能及介面,子功能再繼續分解。便可得到系統的雛形,即功能分解——功能、子功能、功能介面。
(2)結構化分析方法。
結構化分析方法是一種從問題空間到某種表示的映射方法,是結構化方法中重要且被普遍接受的表示系統,由數據流圖和數據詞典構成並表示。此分析法又稱為數據流法。其基本策略是跟蹤數據流,即研究問題域中數據流動方式及在各個環節上所進行的處理,從而發現數據流和加工。結構化分析可定義為數據流、數據處理或加工、數據存儲、端點、處理說明和數據字典。
(3)信息建模方法。
它從數據角度對現實世界建立模型。大型軟體較復雜;很難直接對其分析和設計,常藉助模型。模型是開發中常用工具,系統包括數據處理、事務管理和決策支持。實質上,也可看成由一系列有序模型構成,其有序模型通常為功能模型、信息模型、數據模型、控制模型和決策模型。有序是指這些模型是分別在系統的不同開發階段及開發層次一同建立的。建立系統常用的基本工具是E—R圖。經過改進後稱為信息建模法,後來又發展為語義數據建模方法,並引入了許多面向對象的特點。
信息建模可定義為實體或對象、屬性、關系、父類型/子類型和關聯對象。此方法的核心概念是實體和關系,基本工具是E-R圖,其基本要素由實體、屬性和聯系構成。該方法的基本策略是從現實中找出實體,然後再用屬性進行描述。
㈡ 需求分析的主要方法是什麼
需求分析的主要方法是面向過程法(自上向下分解),信息工程法(數據驅動)(數據流分析結構化分析方法),面向對象法(對象驅動)。需求分析是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸頌指飢入什麼數據,要得到什麼結果,野返最後應輸出什麼。在軟體工程中,需求分析指的是在建立一個新的或改變一個現存的電腦系統時描寫新系統的目的、范圍、定義和功能時所要做的所有的工作。需求分析是軟體逗氏工程中的一個關鍵過程。在這個過程中,系統分析員和軟體工程師確定顧客的需要。只有在確定了這些需要後,他們才能夠分析和尋求新系統的解決方法。需求分析階段的任務是確定軟體系統功能。
㈢ 需求分析方法有哪些
問題一:需求分析有哪些方法 三種需求分析的方法:結構化分析方法、面向對象的分析方法、面向問題域的分析方法。
結構化的分析方法是傳統的分析法,它的好處是在需求階段可以不需要精確地定義系統,只需要根據業務框架確定系統的功能范圍,以及每個功能的處理邏輯和業務規則,功能需求規格書等。因為不需要精確描述,因此描述系統的方式比較靈活多樣,可以採用圖表、示例圖、文字等等方式來描述系統。在系統開發以前,一般還可以採用更為直觀的原型系統方式和最終用戶進行交流和確認,因此對業務需求的要求會低一些,業或沖務需求階段的周期相對容易控制;通過業務全景圖,最終用戶也能了解系統的功能;通過功能活動圖和業務規則的描述,也可以相對精確地描述業務系統;因為沒有嚴格的標記語言,可以採用適當的篇幅描述適當的系統。當然,這種方法的缺點也是明顯的,分析人員和業務人員之間可能缺乏共同語言,機器不能識別業務需求書,在設計階段還需要繼續和用戶確認一部分功能。
面向對象的分析方法陪團如的最大好處是在需求階段,就能夠非常精確地描述一個系統,採用程序語言的方式和最終用戶交流(最終用戶必須要熟悉這種語言),能夠在項目一開始就發現很多問題,避免在開發的過程中出現需求的反復,而且在系統設計和開發階段不需要最終用戶參與。在實施上,一般可以採用場景、業務功能等方式來描述,比較適合於業務流程環節多的系統,或者軟體產品的開發。但是,我們也要看到,在現實中,絕大多數的應用系統都很難在需求階段就可以被精確地抽象化定義,所以這種方法的缺蘆啟點和困難也是顯而易見的:首先,用戶要非常清楚地知道最終的業務系統應該是什麼樣,或者採用一種抽象的方式能夠確定最終的應用系統;其次,因為最終用戶不需要參與設計和開發階段的工作,所以雙方確定業務需求的過程也會比較長;同時,因為是精確描述,因此描述系統的語言是非常邏輯化的,一般通過某種方式可以使機器識別業務需求,採用這種方式寫的業務需求是非常格式化的,一方面描述一個系統需要的信息非常多,可能使需求說明的篇幅非常長,不便於理解和閱讀;另外由於通過抽象的方式來推演最終系統的運行方式,對業務人骸的要求非常高。
問題二:項目需求分析的分析方法 需求分析的方法有很多.這里只強調原型化方法,其它的方法如:結構化方法,動態分析法等(個人認為,對初學者不必深究這些方法,實際上我也從來沒用過這些方法)在此不討論.原型化方法是十分重要的(是軟考等常考的知識點).原型就是軟體的一個早期可運行的版本,它實現了目標系統的某些或全部功能.原型化方法就是盡可能快地建造一個粗糙的系統,這系統實現了目標系統的某些或全部功能,但是這個系統可能在可靠性,界面的友好性或其他方面上存在缺陷.建造這樣一個系統的目的是為了考察某一方面的可行性,如演算法的可行性,技術的可行性,或考察是否滿足用戶的需求等.如,為了考察是否滿足用戶的要求,可以用某些軟體工具快速的建造一個原型系統,這個系統只是一個界面,然後聽取用戶的意見,改進這個原型.以後的目標系統就在原型系統的基礎上開發.原型主要有三種類型(軟考考過):探索型,實驗型,進化型.探索型:目的是要弄清楚對目標系統的要求,確定所希望的特性,並探討多種方案的可行性.實驗型:用於大規模開發和實現前,考核方案是否合適,規格說明是否可靠.進化型:目的不在於改進規格說明,而是將系統建造得易於變化,在改進原型的過程中,逐步將原型進化成最終系統。在使用原型化方法是有兩種不同的策略:廢棄策略,追加策略.廢棄策略:先建造一個功能簡單而且質量要求不高的模型系統,針對這個系統反復進行修改,形成比較好的思想,據此設計出較完整,准確,一致,可靠的最終系統.系統構造完成後,原來的模型系統就被廢棄不用.探索型和實驗型屬於這種策略。追加策略:先構造一個功能簡單而且質量要求不高的模型系統,作為最終系統的核心,然後通過不斷地擴充修改,逐步追加新要求,發展成為最終系統。進化型屬於這種策略.
問題三:如何做好需求分析,需求調研 轉載以下資料供參考
從廣義上理解:需求分析包括需求的獲取、分析、規格說明、變更、驗證、管理的一系列需求工程。
狹義上理解需求分析指需求的分析、定義過程。
原因
需求分析就是分析軟體用戶的需求是什麼。如果投入大量的人力,物力、財力、時間,開發出的軟體卻沒人要,那所有的投入都是徒勞。如果費了很大的精力,開發一個軟體,最後卻不滿足用戶的要求,從而要重新開發過,這種返工是讓人痛心疾首的(相信大家都有體會)。比如:用戶需要一個for linux的軟體,而你在軟體開發前期忽略了軟體的運行環境,忘了向用戶詢問這個問題,而想當然的認為是開發for windows的軟體。當你千辛萬苦地開發完成向用戶提交時才發現出了問題,那時候你是欲哭無淚了,恨不得找塊豆腐一頭撞死。
需求分析之所以重要,就因為他具有決策性、方向性、策略性的作用,他在軟體開發的過程中具有舉足輕重的地位,大家一定要對需求分析具有足夠的重視。在一個大型軟體系統的開發中,他的作用要遠遠大於程序設計。
任務
簡言之,需求分析的任務就是解決「做什麼的問題,就是要全面地理解用戶的各項要求,並准確地表達所接受的用戶需求。
過程
需求分析階段的工作,可以分為四個方面:問題識別、分析與綜合、制訂規格說明、評審。
問題識別:就是從系統角度來理解軟體,確定對所開發系統的綜合要求,並提出這些需求的實現條件,以及需求應該達到的標准。這些需求包括:功能需求(做什麼)、性能需求(要達到什麼指標)、環境需求(如機型、操作系統等)、可靠性需求(不發生故障的概率)、安全保密需求、用戶界面需求、資源使用需求(軟體運行是所需的內存、CPU等)、軟體成本消耗與開發進度需求、預先估計以後系統可能達到的目標。
分析與綜合: 逐步細化所有的軟體功能,找出系統各元素間的聯系,介面特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。最後綜合成系統的解決方案,給出要開發的系統的詳細邏輯模型(做什麼的模型)。
制訂規格說明書: 即編制文檔,描述需求的文檔稱為軟體需求規格說明書。請注意,需求分析階段的成果是需求規格說明書,向下一階段提交。
評審: 對功能的正確性,完整性和清晰性,以及其它需求給予評價。評審通過才可進行下一階段的工作,否則重新進行需求分析。
方法
需求分析的方法有很多,這里只強調原型化方法,其它的方法如:結構化方法、動態分析法等,從來沒用過這些方法在此不討論。
原型化方法是十分重要的,原型就是軟體的一個早期可運行的版本,它實現了目標系統的某些或全部功能。
原型化方法就是盡可能快地建造一個粗糙的系統,這系統實現了目標系統的某些或全部功能。但是這個系統可能在可靠性、界面的友好性或其他方面上存在缺陷。建造這樣一個系統的目的是為了考察某一方面的可行性,如演算法的可行性、技術的可行性或考察是否滿足用戶的需求等。如:為了考察是否滿足用戶的要求,可以用某些軟體工具快速的建造一個原型系統,這個系統只是一個界面,然後聽取用戶的意見,改進這個原型。以後的目標系統就在原型系統的基礎上開發。
原型主要有三種類型:探索型、實驗型、進化型。
探索型:目的是要弄清楚對目標系統的要求,確定所希望的特性,並探討多種方案的可行性。
實驗型:用於大規模開發和實現前,考核方案是否合適,規格說明是否可靠。
進化型:目的不在於改進規格說明,而是將系統建造得易於變化,在改進原型的過程中,逐步將原型進化成最終系統。
在使用原型化方法時有兩種不同的策略:廢棄策略、追加策略。
廢棄策略:先建造一個功能簡單而且質量要求不高的模型系統,針對這個系統反復進行修改,形成......>>
問題四:請問常用的需求分析方法有哪些? 結構分析方法和面向對象分析法
問題五:培訓需求分析的方法有哪幾種 組織資源分析
如果沒有確定可被利用的人力、物力和財力資源,就難以確立培訓目標。組織資源分析包括對組織的金錢、時間、人力等資源的描述。一般情況下,通過對下面問題的分析,就可了解一個組織資源的大致情況。
組織特質與環境分析
組織特質與環境對培訓的成功與否也起重要的影響作用。因為,當培訓規劃和組織的價值不一致時,培訓的效果則很難保證。組織特質與環境分析主要是對組織的系統結構、文化、資訊傳播情況的了解。主要包括如下內容:
系統特質指組織的輸入、運作、輸出、次級系統互動以及與外界環境間的交流特質,使管理者能夠系統地面對組織,避免組織分析中以偏概全的缺失。
文化特質。指組織的軟硬體設施、規章、制度、組織經營運作的方式、組織成員待人處事的特殊風格,使管理者能夠深入了解組織,而非僅僅停留在表面。
資訊傳播特質。指組織部門和成員收集、分析和傳遞信息的分工與運作,促使管理者了解組織信息傳遞和溝通的特性。
問題六:在需求分析階段常用的圖形工具有哪三種 1. 需求分析是准確的理解用的需求將其轉換成需求定義,然後由需求定義轉換成形式化的功能規約。需求分析的困難表現在問題的復雜性、交流的障礙、不完備和不一致性、需求易變性。 2. 結構化分析方法是採用自頂向下逐層分解的分析策略把一個復雜的系統分解成若干小問題然後分別解決 3. 數據流即數據通過一個系統時的變化方式。輸入數據首先轉換成中間數據,然後轉換成輸出結果數據。在此期間可以從已有的數據存儲(如磁碟文件或內存緩沖區)中引入附加數據。對數據進行轉換是程序中應有的功能或子功能。兩個轉換功能之間的數據傳遞就確定了功能間的介面。 4. 把一個功能分解成幾個子功能,並確定這些子功能與父功能的介面,就屬於橫向分解。 5. 把一個功能分解成幾個子功能,並確定這些子功能與父功能的介面,就屬於橫向分解。但如果繼續分解,把某些子功能又分解為小的子功能,某個小的子功能又分解為更小的子功能,這就屬於縱向分解了。 6. 數據流圖是用來表示系統的功能的工具它表示系統的邏輯模型描述了數據流在系統中流動的情況它是一種功能模型。
問題七:如何做需求分析 隨著技術的不斷發展和用戶對網站功能性的需求不斷提高,如今網站項目的設計已經不能再僅僅簡單地利用靜態Html文件來實現,與前幾年網站設計由一兩名網頁設計師自由的創作相比,網站項目的設計和開發越來越像一個軟體工程,也越來越復雜,網站項目的設計和開發進入了需要強調流程和分工的時代,建立規范的、有效的、健壯的開發機制,才能適應用戶不斷變化的需要,達到預期的計劃目標。
網站項目管理(WPM)的含義為Web-based Project Management,即以Web 應用程序為主要表現方式的架構來進行的項目設計及管理,這樣的架構中包含了瀏覽器、網路和Web
伺服器等關鍵主體,主要體現在網站設計、以瀏覽器為客戶端的Web應用程序開發(例如信息類網站、網上商店、虛擬郵局、客戶關系管理。)等項目管理中。
按照筆者的經驗,網站項目管理可以分為以下l六個階段進行控制:
1. 需求分析及變更管理
2. 項目模型及業務流程分析
3. 系統分析及軟體建模
4. 界面設計、交互設計及程序開發
5. 系統測試和文檔編寫
6. 客戶培訓、技術支持和售後服務
需要說明的是,這些階段雖然具有一定的延續性,但是並非完全隔斷的,例如需求變更管理和測試工作、文檔編寫都是貫穿整個項目過程的,許多工作時交叉進行或同時進行的。
(一)如何做好需求分析及變更管理?
業務員與客戶進行的溝通,撰寫需求分析報告是項目展開的基礎。項目是以客戶的需求為中心,而不是為技術而遷就需求。
一:讓客戶暢所欲言,羅列出所有的需求
讓用戶將所有的想法盡可能的闡述清楚,並把所有的要求羅列出來,不要遺漏。這時候不應該害怕「勾引」起客戶的潛在需求而增加設計開發的工作量,從而被今後客戶無止境的變更拖入泥潭,直接明白地跟客戶把問題和要求一條條地列出來,把條理、歸納、分析先都扔到一邊去,將用戶最原始、最完整的要求准確地記錄下來就完成了第一步的工作。
很明顯,假如客戶的需求做的都不完整,隨時可能會產生意想之外的變更,甚至這個變更會破壞已經做的模型及結構,那麼這個項目從開始就註定了會失敗;比如站點所有的功能都實現了,本地測試起來也沒有什麼問題了,但是你卻不知道客戶的系統是要承受每天100萬獨立IP的訪問,而你原來想當然的以為了不起就是1萬獨立IP訪問的訪問流量,稍微有經驗的開發人員都會明白這樣的設計是個災難,無論是應用伺服器、資料庫還是程序全部要重新開發!
二:透過現象分析潛在的需求
很多情況下客戶並非專業人士,在他們滔滔不絕的描述中不能指望他們幫助我們整理出重點和技術難關,這需要我們去為客戶進行分析、歸納和整理,尤其是客戶談的不多卻又是技術上實現難度和強度很高的地方特別值得注意。
客戶往往對需求的概念是非常模糊的,大多時候給出的需求都是籠統而且尺度難以控制的,這就要求業務人員在傾聽了客戶的詳細說明以後,幫助客戶進行整理和分析,同時預測客戶在開發過程中變更及今後應用中可能進行修改升級的潛在需求。
比如在為客戶設計辦公自動化系統的時候,也許就要為客戶預留將來與他們的業務單位進行交互的通道;在設計郵件系統的時候要考慮可能會需要廣告管理伺服器;設計網路電子商店時今後增加庫存產品進銷存統計分析等等;限於時間財力的考慮,客戶通常能夠接受分階段實施的開發過程,在需求分析時,提早為客戶設想到今後的需求變更除了使項目開發更加順利以外,也為今後業務的進一步深入打下......>>
問題八:軟體需求分析的方法和工具有哪些內容 1. 問卷調查法, 開發方就用戶需求中的一些個性化的、需要進一步明確的需求,通過採用向用戶發問卷調查表的方式,達到徹底弄清項目需求的一種需求獲取方法。這種方法適合於開發方和用戶方都清楚項目需求的情況。因為開發方和建設方都清楚項目的需求,則需要雙方進一步溝通的需求就比較少,通過採用這種簡單的問卷調查方法就能使問題得到較好的解決
2. 會議討論法 ,開發方和用戶方召開若干次需求討論會議,達到徹底弄清項目需求的一種需求獲取方法,這種方法適合於開發方不清楚項目需求(一般開發方是剛開始做這種業務類型的工程項目)但用戶方清楚項目需求的情況。因為用戶清楚項目的需求,則用戶能准確地表達出他們的需求,而開發方有專業的軟體開發經驗,對用戶提供的需求一般都能准確地描述和把握
3. 界面原型法 ,開發方根據自己所了解的用戶需求,描畫出應用系統的功能界面後與用戶進行交流和溝通,通過「界面原型」這一載體,達到雙方逐步明確項目需求的一種需求獲取的方法。這種方法比較適合於開發方和用戶方都不清楚項目需求的情況。因為開發方和用戶方都不清楚項目需求,因此此時就更需要藉助於一定的「載體」來加快對需求的挖掘和雙方對需求理解。這種情況下,採用「可視化」的界面原型法比較可取
㈣ 什麼是面向對象的需求分析方法
它首先用結構化分析(SA)對軟體進行需求分析,然後用結構化設計(SD)方法進行總體設計,最後是結構化編程(SP)。它給出了兩類典型的軟體結構(變換型和事務型)使軟體開發的成功率大大提高。
三種基本的結構形式就是順序、選擇和重復。三種數據結構可以進行組合,形成復雜的結構體系。這一方法從目標系統的輸入、輸出數據結構入手,導出程序框架結構,再補充其它細節,就可得到完整的程序結構圖。這一方法對輸入、輸出數據結構明確的中小型系統特別有效,如商業應用中的文件表格處理。該方法也可與其它方法結合,用於模塊的詳細設計。
㈤ 請問常用的需求分析方法有哪些
三種需求分析的方法:結構化分析方法、面向對象的分析方法、面向問題域的分析方法。
結構化的分析方法是傳統的分析法,它的好處是在需求階段可以不需要精確地定義系統,只需要根據業務框架確定系統的功能范圍,以及每個功能的處理邏輯和業務規則,功能需求規格書等。因為不需要精確描述,因此描述系統的方式比較靈活多樣,可以採用圖表、示例圖、文字等等方式來描述系統。在系統開發以前,一般還可以採用更為直觀的原型系統方式和最終用戶進行交流和確認,因此對業務需求的要求會低一些,業務需求階段的周期相對容易控制;通過業務全景圖,最終用戶也能了解系統的功能;通過功能活動圖和業務規則的描述,也可以相對精確地描述業務系統;因為沒有嚴格的標記語言,可以採用適當的篇幅描述適當的系統。當然,這種方法的缺點也是明顯的,分析人員和業務人員之間可能缺乏共同語言,機器不能識別業務需求書,在設計階段還需要繼續和用戶確認一部分功能。
面向對象的分析方法的最大好處是在需求階段,就能夠非常精確地描述一個系統,採用程序語言的方式和最終用戶交流(最終用戶必須要熟悉這種語言),能夠在項目一開始就發現很多問題,避免在開發的過程中出現需求的反復,而且在系統設計和開發階段不需要最終用戶參與。在實施上,一般可以採用場景、業務功能等方式來描述,比較適合於業務流程環節多的系統,或者軟體產品的開發。但是,我們也要看到,在現實中,絕大多數的應用系統都很難在需求階段就可以被精確地抽象化定義,所以這種方法的缺點和困難也是顯而易見的:首先,用戶要非常清楚地知道最終的業務系統應該是什麼樣,或者採用一種抽象的方式能夠確定最終的應用系統;其次,因為最終用戶不需要參與設計和開發階段的工作,所以雙方確定業務需求的過程也會比較長;同時,因為是精確描述,因此描述系統的語言是非常邏輯化的,一般通過某種方式可以使機器識別業務需求,採用這種方式寫的業務需求是非常格式化的,一方面描述一個系統需要的信息非常多,可能使需求說明的篇幅非常長,不便於理解和閱讀;另外由於通過抽象的方式來推演最終系統的運行方式,對業務人員的要求非常高。