《需求工程 軟體建模與分析》閱讀筆記之二

2022-07-18 21:09:29 字數 1574 閱讀 3597

這本書的第二部分主要介紹了需求獲取。

在需求獲取的過程中,有很多問題是普遍存在的,了解這些困難對更好地了解需求獲取活動的複雜性有重要意義。書中介紹了幾種常見的困難。1.使用者和開發人員的背景不同,立場不同,因此會存在交流困難。要解決這個問題,就要求開發人員在開展需求獲取之初,盡力去研究應用的背景,理解組織的業務狀況,形成乙個能夠和使用者進行有效溝通的粗略的知識框架;2.普遍使用者缺乏概括性、綜合性的表述能力。為解決這個困難,要求開發人員在與使用者接觸之前就先行確定獲取的內容主題,然後設計具體的應用環境和場景條件,讓使用者在執行細節業務的場景中來描述問題和表達願望;3.使用者存在認知困境。要解決這類問題,開發者就需要利用各種有效的需求獲取方法和技巧,引導使用者去發現使用者尚未形成明確認知的知識;4.使用者越俎代庖。要解決使用者越俎代庖帶來的困難,就要求開發者在需求獲取的過程中,注意保持業務領域和解決方案的區分界限。而且越俎代庖式需求的出現,往往意味著使用者還擁有一些重要的隱藏需求沒有被發現,開發者就應該分析使用者的深層目的,找到隱藏在背後的需求;5.缺乏使用者參與。要解決缺乏使用者參與的困難,就要求開發者在進行需求獲取時,能夠對系統的使用者以及使用者的替代源等相關涉眾進行分析,了解他們的特徵、類別、任務、取向等,並在需求獲取中採取對策避免使用者參與不足現象的發生。通過這幾個問題的分析,了解到了需求獲取過程中的困難,並且也學到了一些解決方法,應該會對以後的學習工作有幫助。

需求獲取活動至少要做到:1.研究應用背景,建立初始的知識框架。2.根據獲取的需要,採用必要的獲取方法和技巧。3.先行確定獲取的內容和主題,設定場景。4.分析使用者的高(深)層目標,理解使用者的意圖。5.進行涉眾分析,針對涉眾的特點開展工作。

專案的業務目標是系統的業務需求。根據系統的高層解決方案和系統特性,可以定義系統的上下文環境,建立系統的邊界。軟體系統的涉眾可以定義為:所有能夠影響軟體系統的實現,或者會被實現後的軟體系統所影響的個人和團隊。軟體系統中常見的涉眾類別有:使用者、客戶、開發者、管理者、領域專家、**力量、市場力量。

需求獲取方法:1.面談;2.原型;3.觀察與文件審查

1.面談:就是在需求獲取活動發生在需求工程師和使用者之間的面對面的會見,它是一種使用問答格式,具有特定目的的直接會話。之後書中介紹了面談中的問題,準備面談的主要工作,面談的階段,面談的後續工作,面談的類別,面談的優點和侷限性,群體面談以及和面談相關的其他需求獲取方法

2.原型:是在軟體開發中被廣泛使用的一種工具,在軟體開發過程中的各個階段,包括需求開發,都會使用不同型別的原型來達到不同的目的。之後書中介紹了原型的類別,原型方法,原型方法的風險。

3.觀察與文件審查:使用者專心於完成自己的工作,而且不需要同步地向需求工程師解釋自己的工作;需求工程師則置於一旁,他們很少會打斷使用者的工作,同時通過觀察使用者的行為形成對相關資訊的學習和認知。文件審查的主要獲取物件包括相關產品的需求規格說明、硬資料和客戶的需求文件。

這三種需求獲取方法給我們以後在工作中提供了方法,不至於犯不必要的錯誤。書中對於每一種方法都進行了詳細的介紹,還說明了優缺點以及適用情況,對我們有極大的好處。

在了解面談、原型、觀察和文件審查等需求獲取方法的同時,還需要懂得怎樣將整個系統的需求獲取行為有效地組織起來。需求獲取的常見模型驅動方法有:1.面向目標的方法。2.基於場景的方法。3.基於用例的方法。書中詳細介紹了這三種方法,使我們更清楚地了解了這三種常用的方法,在以後的需求工程中就有方法可循了。

《需求工程 軟體建模與分析》閱讀筆記03

一 需求工程過程概念介紹 一 概述 1.規格說明 需求工程過程是系統開發中需求開發活動的整合,它以使用者所面臨的業務問題為出發點進行分析和各種轉換,最終產生乙個能在使用者環境下解決使用者業務問題的系統方案,並將其文件化為明確的規格說明。2.生命週期 需求工程也有屬於它自己的生命週期模型,即存在針對需...

《需求工程 軟體建模與分析》閱讀筆記三

需求管理是來完成需求開發結束後,保障系統質量的乙個管理活動。需求管理在實踐中的作用有 增強專案涉眾對複雜產品特徵在細節和相互依賴關係上的理解 增進了專案涉眾之間的交流 減少了工作量的浪費,提高了生產力 準確反映社會的狀態,有助於專案決策 改變專案文化,使得需求的作用得到重視和有效發揮。維護需求基線 ...

《需求工程 軟體建模與分析》閱讀筆記一

軟體經歷了以 機器 為中心,以 應用 為中心,以 企業 為中心的發展過程,隨著 應用 為中心的軟體發展,原來的個體化 軟體作坊式 的軟體開發模式顯示出了很多的問題,針對這些問題,人們在不斷地討論與制定對策,在軟體開發技術和軟體開發過程與管理方面都取得了很多進步。根據很多方面的調查顯示,在所有的軟體開...