1. 簡(jiǎn)單題
軟件工程的定義
軟件工程是(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化方法應(yīng)用于軟件,以及(2)對(duì)以上方法的研究 —— IEEE Standard 610.12
閱讀經(jīng)典名著“人月神話”等資料,解釋 software crisis、COCOMO 模型
software crisis,軟件危機(jī):指隨著計(jì)算機(jī)軟件需求迅速增長(zhǎng),落后的軟件生產(chǎn)方式已經(jīng)無(wú)法滿足,導(dǎo)致開發(fā)與維護(hù)過(guò)程的成本增長(zhǎng)、開發(fā)進(jìn)度難以控制、質(zhì)量不可靠、可維護(hù)性低等問題。
COCOMO 模型,構(gòu)造性成本模型,是由巴里·勃姆(Barry Boehm)提出的軟件成本估算方法。使用基本的回歸分析,從項(xiàng)目歷史和現(xiàn)狀中的某些特征作為參數(shù)來(lái)進(jìn)行計(jì)算。一般由三個(gè)循序漸進(jìn)的層次組成:1、“基本COCOMO”,快速、早期地對(duì)重要的方面進(jìn)行粗略的成本估計(jì);2、“中級(jí)COCOMO”中考慮進(jìn)了這些成本驅(qū)動(dòng)者的因素;3、“詳細(xì)COCOMO”加入了對(duì)開發(fā)階段影響的考量。
軟件生命周期
Systems Development Life Cycle(SDLC),軟件生命周期:是軟件的產(chǎn)生直到報(bào)廢的生命周期。周期內(nèi)有問題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)到廢棄等階段,這種按時(shí)間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進(jìn),每個(gè)階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟件的質(zhì)量。
按照 SWEBok 的 KA 劃分,本課程關(guān)注哪些 KA 或知識(shí)領(lǐng)域?
The published version of SWEBOK V3 has the following 15 knowledge areas (KAs) within the field of software engineering:
- Software requirements
- Software design
- Software construction
- Software testing
- Software maintenance
- Software configuration management
- Software engineering management
- Software engineering process
- Software engineering models and methods
- Software quality
- Software engineering professional practice
- Software engineering economics
- Computing foundations
- Mathematical foundations
- Engineering foundations
其中本課程主要關(guān)注:
- software requirements
- software design
- software construction
- software engineering management
- software engineering tools and methods
解釋 CMMI 的五個(gè)級(jí)別。 如:Level 1 - Initial:無(wú)序, 自發(fā)生產(chǎn)模式
-
Level 1 - 初始級(jí)(Initial):
軟件過(guò)程是無(wú)序的,有時(shí)甚至是混亂的,對(duì)過(guò)程幾乎沒有定義,成功取決于個(gè)人努力。管理是反應(yīng)式的。
-
Levle 2 - 可重復(fù)級(jí)(Repeatable):
建立了基本的項(xiàng)目管理管理過(guò)程來(lái)跟蹤費(fèi)用、進(jìn)度和功能特性。制定了必要的過(guò)程紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得成功的經(jīng)驗(yàn)。
-
Level 3 - 已定義級(jí)(Defined):
已將軟件管理和工程兩方面的過(guò)程文檔化、標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)軟件過(guò)程。所有的項(xiàng)目均使用經(jīng)批準(zhǔn)、剪裁的標(biāo)準(zhǔn)軟件過(guò)程來(lái)開發(fā)和維護(hù)軟件,軟件產(chǎn)品的生產(chǎn)在整個(gè)軟件過(guò)程是可見的。
-
Level 4 - 量化管理級(jí)(Managed):
分析對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)度量數(shù)據(jù),對(duì)軟件過(guò)程和產(chǎn)品都有定量的理解與控制。管理有一個(gè)作出結(jié)論的客觀依據(jù),管理能夠在定量的范圍內(nèi)預(yù)測(cè)性能。
-
Level 5 - 優(yōu)先管理級(jí)(Optimizing):
過(guò)程的量化反饋和先進(jìn)的新思想、新技術(shù)促使過(guò)程持續(xù)不斷改進(jìn)。
用自己語(yǔ)言簡(jiǎn)述 SWEBok 或 CMMI (約200字)
SWEBok(SoftWare Engineering Body Of Knowledge), 軟件工程知識(shí)體系:是由工業(yè)界的專業(yè)團(tuán)體和成員制定的國(guó)際標(biāo)準(zhǔn),規(guī)定了軟件工程的知識(shí)體系。在軟件工程這個(gè)大領(lǐng)域內(nèi)定義了許多細(xì)分的小知識(shí)領(lǐng)域,v3 版本一共定義了 15 個(gè) Konwledge areas(KAs),包括軟件需求、軟件設(shè)計(jì)、軟件構(gòu)件、軟件測(cè)試、軟件維護(hù)等軟件工程體系下的細(xì)分領(lǐng)域。
這個(gè)知識(shí)體系給人才的培養(yǎng)和評(píng)估上提供了權(quán)威的標(biāo)準(zhǔn)和指南。
2. 解釋 PSP 各項(xiàng)指標(biāo)及技能要求
按表格 PSP 2.1, 了解一個(gè)軟件工程師在接到一個(gè)任務(wù)之后要做什么,需要哪些技能,解釋你打算如何統(tǒng)計(jì)每項(xiàng)數(shù)據(jù)?
- 計(jì)劃
- 估計(jì)這個(gè)任務(wù)需要多長(zhǎng)時(shí)間
- 開發(fā)
- 分析需求
- 生成設(shè)計(jì)文檔
- 設(shè)計(jì)復(fù)審
- 代碼規(guī)范
- 具體設(shè)計(jì)
- 具體編碼
- 代碼復(fù)審
- 測(cè)試
- 測(cè)試
- 記錄時(shí)間花費(fèi)
- 測(cè)試報(bào)告
- 計(jì)算工作量
- 事后總結(jié)
- 提出過(guò)程改進(jìn)計(jì)劃
時(shí)間花費(fèi)以及工作量需要記錄。每件工作花費(fèi)的時(shí)間可以用完成的天數(shù)來(lái)統(tǒng)計(jì)。在工作量的計(jì)算上,可以使用工作時(shí)間和代碼行數(shù)來(lái)統(tǒng)計(jì)。