軟體系統的涉眾可以定義為所有能夠影響軟體系統的實現,或者會被實現後的軟體系統所影響的個人和團體。常見的涉眾類別有使用者,客戶,開發者,管理者,領域專家,**力量,市場力量等。涉眾群體不是固定不變的。按照複雜程度可以將資訊系統分為小型系統,組織級系統,戰略資訊系統,組織間系統四種型別。涉眾分析包括涉眾識別,涉眾描述,涉眾評估(包括基於涉眾擴充套件特徵建立的分布圖進行優先順序評估,最終得到參與者,環境設定者,被影響者,觀眾四種型別。還有風險評估和共贏分析),涉眾選擇(包括以完整取樣,態度積極,數量適中,比例恰當為標準的代表取樣,參與策略,使用者替代源等)。硬資料,包括定量(資料收集**,統計報表)和定性(整個組織的描述文件,業務指導文件,業務備忘)硬資料兩種。常用的硬資料取樣技術是隨機抽樣和分層抽樣。
需求獲取的方法之一是面談,利用面談可以獲得事實和問題,被會見者的觀點,被會見者的感受,組織和個人的目標。面談中包括兩種基本問題型別,開放式問題和封閉式問題,各有優缺點。面談結構包括金字塔結構,即封閉問題到開放問題的過度結構。漏斗結構,即開放到封閉結構。菱形結構,前兩種結構的結合。除了開放問題和封閉問題,還有**式問題,誘導性問題,雙筒問題,元問題,程式性提示等幾個其他重要的問題型別。在面談之前,需要做閱讀背景資料,確定面談主題和目標,選擇被會見者,準備被會見者,確定問題和型別等準備。面談中需要建立乙個理想氛圍和環境,保持有禮貌的傾聽,控制面談過程,保持面談主題,使用**式問題,觀察被會見者,使用道具支援。結束後感謝被會見者。記錄面談可以採用筆錄,錄音攝像(徵得被會見者的同意)。面談結束需要複查面談記錄,總結面談資訊,完成面談報告。面談包括結構化面談,半結構化面談,非結構化面談等幾個方面。還有群體面談。除了面談,還有調查問卷,頭腦風暴等方式。
原型通常是乙個系統的一部分或者乙個模型。原型方法通過在使用者和需求工程師之間設立乙個有形的物件,使得雙方的交流更加簡單和有效。一方面可以使使用者更好的理解需求工程的假設,一方面可以使需求工程師通過觀察使用者的反饋加深對使用者的理解,明確自己的假設正確性。原型類別有演示原型,樣板原型,拼湊原型,演示化原型,水平和垂直原型。原型開發方法包括探索式,實驗式,演化式。原型方法包括過程,確定需求,開發,評估,修正。優點是及早解決系統開發中的不確定性,風險是會使需求不夠完善。
常見的觀察方法有取樣觀察,民族誌(長期浸入式),話語分析,協議分析,任務分析等。通過對突現,區域性,暫時,涉身,開放,模糊,等幾個情景性的性質中得到需要採用觀察方法解決的問題有:理解複雜的協同事件,獲取工作中的異常處理,獲取與使用者認識不一致的實際知識,了解使用者的認知和獲取預設知識。其中民族誌的優點是能夠得到資訊的深度理解和讓真實世界的社會性因素可見化,缺點是耗時,結果難以傳遞到開發過程。
需求獲取的常見模型驅動方法有:面向目標的方法(目標的獲取,分析和實現),基於場景的方法,基於用例的方法。用例就是一種場景的文字化表現方式,詳細用法就是uml的設計。
模型語言有語法,語義和語用。常見的需求分析技術包括,上下文圖,資料流圖,實體聯絡圖,功能實體矩陣,功能分解圖,過程依賴圖,用例圖,類圖等uml建模過程。常見需求分析技術,可以通過wieringa和zachman進行分類(書p206/209)。需求分析方法有傳統分析,結構化分析,資訊工程和物件導向分析。實踐中的需求分析需要需求分析技術的使用,非功能需求的建模,確定需求優先順序,新技術方法的需要等。
過程建模是結構化分析方法的典型技術,也就是分析需求獲取活動獲得的資訊,發現系統的功能和其與外界的互動,建立能夠實現系統功能的過程分解結構,形成系統的過程模型,並用圖形的方式將過程模型描述出來。過程建模使用的主要技術有:上下文圖,資料流圖,微規格說明(過程規範),資料字典。因為已經學過uml建模,大致理解各個方面。最後是邏輯dfd,物理dfd與傳統的dfd三種建模方法的區別和優缺點。
過程模型更多的是側重資料產生與使用的時間,地點和方式,而沒有描述資料的定義,結構和關係等特性。資料建模就是描述的後者。資料建模包括概念,物理和邏輯資料模型。使用erd描述資料模型的方法,erd的建立方法主要有三種:依據充分描述資訊的建立,依據硬資料表單的建立,複雜情況下的建立。現在實現erd與過程模型同步的技術中,功能/實體矩陣是一種比較常見的技術。 物件導向建模就是有關uml的各種圖和建模方式的描述。
《需求工程 軟體建模與分析》讀書筆記3
在讀完 需求工程 軟體建模與分析 的前三部分後,我對軟體需求有了初步的了解,在之後的閱讀中我開始了對這本書的第四部分,需求的文件化和驗證,在這與部分的閱讀中我開始了解到了需求文件的書寫規範,這一部分在軟體需求中同樣十分重要。需求工程 軟體建模與分析 在需求的文件化和驗證中主要分兩個部分講述,分別是需...
《需求工程 軟體建模與分析》讀書筆記三
需求規格說明活動就是將需求極其軟體解決方案進行定義和文件化,並傳遞給開發人員的需求工程活動。編寫需求規格說明文件 清晰明確結構化的文件可以將軟體系統的需求資訊和解決方案更好的傳遞給所有的開發者 可以拓展人們的知識記憶能力 可以成為各方人員之間有關軟體系統的協議基準 可以成為專案開發活動的乙個重要依據...
《需求工程 軟體建模與分析》讀書筆記三
最近讀完了 需求工程 軟體建模與分析 這本書,這次我主要讀了第五部分 需求管理與工程管理 分為三章,需求管理 需求工程的過程管理 需求工程中的專案管理。需求管理中包括維護需求基線,實現需求跟蹤,控制變更,實踐中需求管理。需求管理的重要任務 交流涉眾的需要,將需求應用 實施到解決方案,驅動設計和實現工...