需求工程中的面談和原型

在這裏插入圖片描述

需求工程系列:

軟件需求工程習題1(1~4章)
軟件需求工程習題2(5~7章)
需求工程中的面談和原型(8、9章)
需求獲取方法之觀察與文檔審查(10章)
需求工程規格說明、需求驗證、需求管理(11~13章)


第八章 需求獲取方法之面談

1.什麼是半結構化面談?
事先需要根據面談內容準備面談的問題和麪談結構,但在面談過程中,會見者可以根據實際情況採取一些靈活的策略。

面談的類別:
在這裏插入圖片描述
面談的優點:
1.面談的開展條件較爲簡單,經濟成本較低;
2.能獲得包括事實、問題、被會見者觀點、被會見者態度和被會見者信仰等各種信息類型在內的廣泛內容;
3.通過面談,需求工程師可以和涉衆(尤其是用戶)建立相互之間的友好關係;
4.通過參與面談,被會見者會產生一種主動爲項目做出貢獻的感覺,提高涉衆的項目參與熱情。

面談的缺點和侷限性:
1.面談比較耗時,時間成本較高;
2.在被會見者地理分散的情況下往往難以實現面談;
3.面談參與者的記憶和交流能力對結果影響較大,尤其是面談的成功較高的依賴於需求工程師的人際交流能力;
4.交談當中常見的概念結構不同、模糊化表述、默認知識、潛在知識和態度偏見等各種問題在面談中都不可避免,進而影響面談的效果,導致產生不充分的、不相關的或者錯誤的數據;
5.在會見者不瞭解被會見者認知結構的情況下,面談不可能取得令人滿意的效果。

羣體面談:
將所有的涉衆方集中起來,選擇一個合適的地點,集中一段時間,召開一個多方共同參與的會議,一起進行需求的討論、分析和獲取。

頭腦風暴
1.它的目的不是發現需求,而是“發明”需求,或者說是發現“潛在”需求;
2.它鼓勵參與者在無約束的環境下進行某些問題的自由思考和自由討論,以產生新的想法;
3.包含兩個階段:想法產生階段、想法精減階段


在這裏插入圖片描述

第九章 需求獲取之原型法

爲什麼要使用原型?
軟件工程中存在着大量的不確定性,原型、迭代和(方法)驗證是人們解決不確定性的主要手段。

軟件工程中的原型分類:
1.演示原型(presentation prototype)
 主要被用在啓動項目階段
 目的是讓用戶相信應用系統的開發是可行的
2.嚴格意義上的原型(prototype proper)
 主要被用在分析需求階段
 用來闡明用戶界面或者系統功能的某些特定方面
3.試驗原型(breadboard prototype)
 主要被用在構建系統階段
 幫助開發者澄清他們所面對的一些和系統構建相關的技術問題
4.引示系統原型(pilot system prototype)
 會被開發在系統開發的各個階段
 用作最終系統的構建核心

使用原型方法獲取需求的基本過程:
在這裏插入圖片描述
確定原型需求:
明確不確定的維度:外觀、角色、實現

原型開發方法分類:
(1)探索式(exploratory)
以缺陷需求開始繼而不斷調整和修正需求的原型開發方式 。
要儘可能的調整各種設計選項,並比較多種設計方案下的用戶反饋,以得到理想的用戶需求。探索式的原型方法能夠幫助開發者更深入地瞭解用戶的業務、問題和期望。
(2)實驗式(experimental)
在初始時就擁有清晰的用戶需求,但是對需求的實現方法、實現效果、可行性沒有太大的把握。
(3)演化式(evolutionary)
在原型開發的初始點既要有清晰的原型化需求也有項目積累下來的原型資產。
探索式和實驗式方法產生的原型產品又被稱爲拋棄式原型
需求獲取原型大多數是探索式原型,也有少量的實驗式原型,但都屬於拋棄式原型,需求工程師要堅決地拋棄拋棄式需求獲取原型。

原型法的優缺點:
原型法的優勢在於:一方面可以使用戶更好地理解需求工程師的假設;另一方面可以使需求工程師通過觀察用戶的反饋來加深對用戶的理解,並明確自己的一些假設爲什麼不準確。
但原型方法的缺點是:一個成本較爲高昂的方法,在構建原型的過程中會花費一定的人力和經濟成本,而且還可能浪費開發時間。

水平原型與垂直原型:
水平原型:它僅僅實現選定功能所有層次中的某些特定層次,它能夠處理較大範圍的功能,建立的原型產品稱爲水平原型。(雖然水平原型涵蓋了很多功能,但並沒有真正地實現這些功能。)
垂直原型:它會觸及到選定功能實現的所有層次,處理的功能範圍通常較小,建立的原型產品稱爲垂直原型。

原型方法的風險:
原型方法的最大優點是能夠及早解決系統開發中的不確定性,從而減少軟件項目失敗的風險;但原型方法的複雜性使得它在減少風險的同時也引人新的風險。
1、原型方法最大的風險是成本失控。
2、給涉衆造成錯誤印象。涉衆看到了一個正在運行的原型,得出產品幾乎已經完成的結論,從而提出快速交付產品的不當要求。
3、用戶可能會被原型所表現出來的非功能特性遮蔽了眼睛,從而忽略了他們更應該重視的功能特性。
4、在澄清需求不確定性的同時也可能會掩蓋一些用戶假設,這些假設將會無從發現。


習題:

1.如果在終的物件(Final Artifact)產生之前,一箇中間物件(Mediate Artifact)被 用來在一定廣度和深度範圍內表現這個終物件,那麼這個中間物件就被認爲是終物件在 該廣度和深度上的(原型)。
2.按照使用方式進行分類,原型可分爲:演示原型、(嚴格意義上的原型)、試驗原型和引示系統原型。
3.按照開發方法進行分類,原型可分爲:演化式原型和拋棄式原型,其中拋棄式原 型又被細分爲(探索式原型和實驗式原型)。
4.原型的需求內容可以從三個緯度上分析:即( 外觀、角色和實現)。
5.故事版原型分爲被動故事板原型、主動故事板原型和( 交互故事版原型)。
6.使用原型方法獲取需求的基本過程中包括確定原型需求、原型開發、( 原型評估)和原型修正環節。
7.演示原型主要被用在(項目啓動階段)。
8.原型方法的大優點是能夠及早地解決系統開發中的( 不確定性),從而降低軟件項目失敗的風險。
9.使用演化式原型方法,在開發時就需要注意原型的( 健壯性)和代碼的質量。
10.使用實驗式開發方法,需要實現多種技術方案,考察重要的系統的( 質量屬性)。
11.通常來說,如果用戶需求出現了模糊、不清晰、不完整等具有一定不確定性的特徵,就可以考慮使用( 原型)方法。
12.選擇使用探索式開發方法,需要儘可能地考慮各種不同的設計選項,比較不同選項下的( 用戶反饋)。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章