之前的部落格較長的描述了軟體工程中的系統文獻映射研究方法。這裡接着給出一個我曾經做過的工作作為例子,以更直覺地展示這種研究類型。該研究的背景資訊這裡不再贅述。
這篇部落客要介紹基于前面分析的文獻,假設條件的自動化和人工管理的比較。
方面 | 假設條件的自動化管理 | 假設條件的人工管理 |
定義 | 假設條件的自動化管理的相關文獻一般不會定義假設條件的概念。 | 假設條件的人工管理的文獻中有多種顯式的假設條件概念的定義。 |
目标 | 假設條件的自動化管理一般用于系統驗證,包括子產品、構件、程式的驗證。其管理過程中假設條件均被自動化管理。 | 假設條件的人工管理用于多個目的,如在各個軟體開發活動中管理假設條件。假設條件的人工管理一般需要涉衆的參與(如假設條件制定)。 |
軟體開發活動 | 假設條件的自動化管理主要用于軟體設計和構造,而很少用于其他軟體開發活動。 | 假設條件的人工管理主要用于需求工程和軟體設計,但也會在其他軟體開發活動中使用。 |
軟體制品 | 與假設條件的自動化管理關聯最緊密的制品為構件。其他類型的制品如接口、代碼、線程、模型、需求也可能存在關聯。 | 與假設條件的人工管理關聯緊密的制品有多種,如需求、體系結構、設計決策、構件、模型、代碼。 |
假設條件的分類 | 假設條件的自動化管理的相關文獻一般不對假設條件分類。 | 假設條件的人工管理的相關文獻中提出了特定的假設條件分類。 |
假設條件管理活動 | 假設條件的自動化管理的主要活動為制定、描述、評價。 | 假設條件的人工管理的主要活動為制定、描述、評價、維護。其他活動也可被用于假設條件的人工管理。 |
方法 | 假設條件的自動化管理的代表性方法為assume-guarantee reasoning。 | 假設條件的人工管理無代表性的方法。 |
工具 | 假設條件的自動化管理有多種專用工具。 | 假設條件的人工管理的大部分工具為軟體開發中的一般性工具或主要用于管理其他制品但可用于管理假設條件的工具。 |
涉衆 | 假設條件的自動化管理的相關文獻一般不提到涉衆。 | 假設條件的人工管理的相關文獻包括不同種類的涉衆,如客戶、需求工程師、設計師、開發人員。 |
收益 | 假設條件的自動化管理主要為軟體設計、構造、驗證獲得收益。 | 假設條件的人工管理除了可為所有五個軟體開發活動獲得收益,也可為軟體開發的其他方面獲得收益,如提高軟體品質,提高制品間的可追溯性。 |
挑戰 | 假設條件的自動化管理的挑戰主要與假設條件自身有關,如如何解決假設條件爆炸的問題。 | 假設條件的人工管理的挑戰不僅與假設條件管理本身相關,且與假設條件的概念關聯,如了解和分類假設條件。 |
未被妥善管理的假設條件帶來的後果 | 假設條件的自動化管理的相關文獻一般不提及未被妥善管理的假設條件帶來的後果。 | 假設條件的人工管理的相關文獻提到多種未被妥善管理的假設條件帶來的後果,如系統錯誤、設計問題。 |
經驗 | 假設條件的自動化管理的大部分經驗為對假設條件管理的建議,特别是如何使用特定的方法、工具等的建議。 | 假設條件的人工管理的經驗包括所有三個方面,即假設條件的影響、假設條件管理的建議、假設條件的了解。 |