一、術語
- 軟件生存周期
- 項目
- 里程碑
- 軟件度量
- 功能點分析
- 工作分解結構(WBS)
- 軟件質量
- RMMM 計划(Risk Mitigation, Monitoring and Management Plan)
- COCOMO 模型
- 項目計划評審技術
- 軟件質量模型
- 基於時間的缺陷到達模式
- 軟件過程
- 軟件基本過程
- 軟件支持過程
- 軟件組織過程
- 過程框架
- 軟件能力成熟度模型
- 統一過程
- 過程模式
- 個體軟件過程 PSP
- 團隊軟件過程 TSP
- 過程規范
- 過程模型
- 配置管理
- 配置項
- 基線
- 預防性維護
- 適應性維護
二、簡答題
- 試給出在 SEI 的 CMMI 模型中采用過程評估和改進方法的兩個優點和兩個缺點。
- 考慮你所在機構中所用的軟件過程類型。使用 SEI 模型找出了多少個關鍵過程域?根據該模型,你所在機構的過程成熟度等級如何划定?
- 若過程改進中包括度量人在過程中的工作,並對過程進行徹底的變更,這樣的項目是否是不人道的?對過程改進會發生哪些抵觸行為?
- 給出 SEI 的 CMMI 不能適用的兩個領域,並說明理由。
- 如何將現有的軟件開發向敏捷開發方法轉換?期間會遇到哪些困難,如何解決?
- 分析比較 CMMI、ISO15504 和 6sigma 之間的共同點和區別。
- 軟件過程為什么必須進行改進?
- 軟件工程中引入軟件過程的作用和意義是什么?
- 軟件過程改進中如何管理變革?
- 軟件過程改進的框架的構成是什么?每個構成部分的作用是什么?
- 描述在軟件設計過程中的主要活動以及這些活動的輸出。使用一個實體-‐關系圖(E-‐R 圖),說明在這些活動輸出之間可能存在的關系。
- 論述度量在軟件過程改進中作用。
- 什么叫集成化過程改進?它的意義是什么?
- 制定軟件過程改進計划的流程是什么?解釋其中的主要活動的作用和目的?
- 簡述 CMMI-‐DEV V1.3 中每一成熟度等級所包含的過程域。
三、論述題
- 在什么情況下產品質量可能決定於開發團隊的質量?舉例說明什么類型的軟件產品特別依賴於個人的天賦和能力。
- ISO 9001:2008 標准中的 PDCA 循環,又叫戴明環,是美國質量管理專家休哈特博士首先提出的,由戴明采納、宣傳,獲得普及,從而也被稱為“戴明環”。它是全面質量管理所應遵循的科學程序。論述它在評估軟件項目質量管理中的作用和意義。
- 結合 CMMI 的實施,論述軟件過程改進過程中主要階段的作用。
- 復用的關鍵障礙之一是使軟件工程師考慮利用現有的構件,而不是重新開發新構件,請建議 3 到 4 種軟件組織可以用來激勵軟件工程師進行復用的方式。為了支持復用,應該采用什么技術?
- 論企業軟件過程改進的實施。請圍繞“企業軟件過程改進的實施”論題,依次從以下四個方面進行論述:
(1)敘述軟件過程改進實施的主要活動。
(2)概要敘述你參與實施的企業軟件過程改進項目以及你所擔任的主要工作。
(3)論述該企業實施軟件過程改進項目中如何根據企業的實際情況采用模型標准以及實施的主要方法和步驟。
(4)具體闡述該企業在實施軟件過程改進的活動中所發現並解決的主要問題和效果。
- 在當今“3C”的環境下,持續的改進是企業生存發展的永恆主題,其運用的工具不是單一的。某企業擬針對“某項服務顧客投訴率高”進行改進,在不同的階段可采用哪些工具。
- 根據下圖,分析說明 CMMI-‐DEV V1.3 中,五個工程類過程域之間的互動關系。

四、應用題
- 如何將現有的軟件開發向敏捷開發方法轉換?期間會遇到哪些困難,如何解決?
- 總結本企業的基本過程模型。
- 本單位是否需要引入新的軟件開發方法?分析原因並給出措施。
- 軟件生存期與軟件項目的生命期有什么區別?
- 你所在單位或項目組進行了哪些度量活動?你認為有需要改進的地方嗎?
- 當前企業的業務都是在全球化、快速變化的環境中運營,傳統的軟件開發過程無法適應由此產生的快速軟件需求。20 世紀 90 年代后期,一些軟件開發人員在“Agile Alliance 2001”中系統地闡述了敏捷開發的原則,試圖強調靈活性在快速且有效地生產軟件中所發揮的作用。目前眾多的軟件生產企事業已經在實際的軟件開發過程中接納並實踐了敏捷開發方法中的基本原則。
問題 1:敏捷開發有許多典型方法,包括極限編程(eXtreme Programming)、Scrum、Crystal、DSDM 等。請問這些方法共同的基本原則是什么?
問題 2:敏捷開發的支持者往往誇大該方法的優點,但是在實踐中,敏捷方法的基本原則有時確實很難實施。請用 200 字以內的文字說明敏捷方法中哪些原則在實踐中難以實施。
問題 3:敏捷開發方法中最有名的極限編程。請說明極限中的結對編程(Pair Programming)的概念。
問題 4:敏捷開發方法在具體實踐過程中,往往需要開發環境或工具支持,一般稱為快速應用開發技術和可視化開發技術。請用 150 字以以內的文字說明快速應用開發技術所包含的工具有哪些,並簡要說明可視化開發技術的基本概念和技術原理。
