1.簡單題
1.1 軟件工程的定義
將系統(tǒng)化的、規(guī)范的、可度量的方法用于軟件的開發(fā)、運行和維護的過程,即將工程化應用于軟件開發(fā)中。
1.2 閱讀經(jīng)典名著“人月神話”等資料,解釋software crisis、COCOMO模型
軟件危機(英語:Software Crisis)是早期計算機科學的一個術語,是指在軟件開發(fā)及維護的過程中所遇到的一系列嚴重問題,這些問題皆可能導致軟件產(chǎn)品的壽命縮短、甚至夭折。軟件開發(fā)是一項高難度、高風險的活動,由于它的高失敗率,故有所謂“軟件危機”之說。軟件危機的本源是復雜、期望和改變。這個術語用來描述正急遽增加之電腦的力量帶來的沖擊和可能要處理的問題的復雜性。從本質(zhì)上來說,它談到了寫出正確、可理解、可驗證的計算機程序的困難。
構造性成本模型(COCOMO,英文全稱為Constructive Cost Model)是由巴里·勃姆(Barry Boehm)提出的一種軟件成本估算方法。這種模型使用一種基本的回歸分析公式,使用從項目歷史和現(xiàn)狀中的某些特征作為參數(shù)來進行計算。
1.3 軟件生命周期
軟件生命周期(Software Development LifeCycle)是指軟件的產(chǎn)生直到成熟的全部過程。早期的軟件生命周期往往是說“軟件從計劃、需求開始,經(jīng)歷分析設計、實現(xiàn)、部署、維護,直到最后逐漸消亡的”。這是受到了第一個軟件生命周期模型---瀑布模型影響,上述語句實質(zhì)上簡要的描述了瀑布型生命周期。 現(xiàn)在的軟件生命周期不再只考慮瀑布型生命周期,另外常見的軟件生命周期模型有原型模型、螺旋模型、迭代模型。
1.4 按照SWEBok的KA劃分,本課程關注哪些KA或知識領域?
- Software requirements
- Software design
- Software configuration management
- Software engineering management
- Software engineering process
- Software engineering models and methods
- Software quality
1.5 解釋CMMI的五個級別
- Level 1 - Initial 無序
- Level 2 - Managed 已管理
- Level 3 - Defined 已定義
- Level 4 - Quantitatively Managed 已量化地管理
- Level 5 - Optimizing 優(yōu)化中
1.6 用自己的語言簡述SWEBok或CMMI
能力成熟度模型集成(英文:Capability Maturity Model Integration,簡稱CMMI)是一個過程改進方法,它的目的是幫助組織改進他們的績效。CMMI可以被用于引導橫貫一個項目、一個部門或一個完整的組織的過程改進。
在軟件工程和組織發(fā)展中的CMMI,是一個過程改進方法,它向組織提供用于有效的過程改進的基本元素。CMMI由卡內(nèi)基·梅隆大學在美國專利和商標局注冊。
按照軟件工程研究所說法,CMMI幫助“集成傳統(tǒng)獨立的組織功能,設置過程改進目標和優(yōu)先級,為質(zhì)量過程提供指引,并為評價當前過程提供一個參考點”。
2.解釋PSP各項指標及技能要求
| PSP2.1 | 解釋 |
|---|---|
| Planning | 計劃 |
| * Estimate | 估計這個任務需要多少時間 |
| Development | 開發(fā) |
| * Analysis | 需求分析(包括學習新技術) |
| * Design Spec | 生成設計文檔 |
| * Design Review | 設計復審 |
| * Coding Standard | 代碼規(guī)范 |
| * Design | 具體設計 |
| * Coding | 具體編碼 |
| * Cde Review | 代碼復審 |
| * Test | 測試 |
| Reporting | 報告 |
| * Test Report | 測試報告 |
| * Size Measurement | 計算工作量 |
| * Postmortem & Process Improvement Plan | 總結,并提出改進計劃 |
需要的技能:需求分析、文檔設計、代碼編寫、測試
統(tǒng)計:結合KanBan和GitHub等在線托管平臺進行統(tǒng)計。