軟件工程的定義
- 將系統(tǒng)化乳附、 規(guī)范化辛蚊、 可度量的
方法應(yīng)用與軟件的開(kāi)發(fā)、 運(yùn)行和維護(hù)的過(guò)程窟扑,
即將工程化應(yīng)用于軟件中喇颁。 - 對(duì)(1)中所述方法
的研究
Software Crisis
軟件危機(jī)是指在軟件開(kāi)發(fā)及維護(hù)的過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題,這些問(wèn)題皆可能導(dǎo)致軟件產(chǎn)品的壽命縮短甚至夭折嚎货。軟件危機(jī)的根源是軟件的大量需求與軟件生產(chǎn)力效率之間的矛盾和軟件系統(tǒng)的復(fù)雜性與軟件開(kāi)發(fā)方法之間的矛盾橘霎。軟件危機(jī)的原因主要是用戶(hù)需求不明確、軟件開(kāi)發(fā)過(guò)程缺乏正確的理論指導(dǎo)殖属、軟件開(kāi)發(fā)的規(guī)模越來(lái)越大且軟件開(kāi)發(fā)的復(fù)雜度越來(lái)越高姐叁。軟件工程的表現(xiàn)形式有項(xiàng)目運(yùn)行超出預(yù)算、項(xiàng)目運(yùn)行超過(guò)時(shí)間洗显、軟件質(zhì)量低落外潜、軟件通常不匹配需求和項(xiàng)目無(wú)法管理且代碼難以維護(hù)。軟件危機(jī)的解決途徑主要是正確認(rèn)識(shí)計(jì)算機(jī)軟件的內(nèi)涵挠唆、充分認(rèn)識(shí)到軟件開(kāi)發(fā)是一種組織良好处窥、管理嚴(yán)密、協(xié)同配合的工程活動(dòng)玄组、采用成熟的軟件開(kāi)發(fā)技術(shù)和方法滔驾、開(kāi)發(fā)和使用適當(dāng)?shù)能浖ぞ摺?/p>
COCOMO模型
COCOMO模型是一種在軟件項(xiàng)中估算工作量、成本以及時(shí)間表的模型俄讹。COCOMO模型由三個(gè)不斷深入和詳細(xì)的層次組成哆致。第一層,“基本COCOMO”患膛,適用對(duì)軟件開(kāi)發(fā)進(jìn)行快速沽瞭、早期地對(duì)重要的方面進(jìn)行粗略的成本估計(jì),但因其缺少不同的項(xiàng)目屬性(“成本驅(qū)動(dòng)者”)的因素剩瓶,所以準(zhǔn)確性有一定的局限性驹溃。“中級(jí)COCOMO”中考慮進(jìn)了這些成本驅(qū)動(dòng)者延曙⊥愫祝“詳細(xì)COCOMO”加入了對(duì)不同軟件開(kāi)發(fā)階段影響的考量。
軟件生命周期
又稱(chēng)為軟件生存周期或系統(tǒng)開(kāi)發(fā)生命周期枝缔,是軟件的產(chǎn)生直到報(bào)廢的生命周期布疙,周期內(nèi)有問(wèn)題定義蚊惯、可行性分析、總體描述灵临、系統(tǒng)設(shè)計(jì)截型、編碼、調(diào)試和測(cè)試儒溉、驗(yàn)收與運(yùn)行宦焦、維護(hù)升級(jí)到廢棄等階段,每個(gè)階段都要有定義顿涣、工作波闹、審查、形成文檔以供交流或備查涛碑,以提高軟件的質(zhì)量精堕。隨著新的面向?qū)ο蟮脑O(shè)計(jì)方法和技術(shù)的成熟,生命周期的每一個(gè)周期都有確定的任務(wù)蒲障,并產(chǎn)生一定規(guī)格的文檔(資料)歹篓,提交給下一個(gè)周期作為繼續(xù)工作的依據(jù)。軟件開(kāi)發(fā)要求覆蓋軟件開(kāi)發(fā)的全過(guò)程揉阎,即每一周期工作的開(kāi)始只能也必須是建立在前一個(gè)周期結(jié)果“正確”前提上的延續(xù)滋捶;因此,每一周期都是按“活動(dòng) ── 結(jié)果 ── 審核 ── 再活動(dòng) ── 直至結(jié)果正確”循環(huán)往復(fù)進(jìn)展的余黎。軟件生存周期從時(shí)間角度上把整個(gè)周期劃分為若干個(gè)階段重窟。各階段的任務(wù)彼此間盡可能相對(duì)獨(dú)立,上一階段的輸出是下一階段任務(wù)的輸入惧财。同一個(gè)階段各項(xiàng)任務(wù)的性質(zhì)盡可能相同巡扇,從而降低每個(gè)階段任務(wù)的復(fù)雜性,簡(jiǎn)化不同階段之間的聯(lián)系垮衷,有利于軟件開(kāi)發(fā)過(guò)程的組織管理厅翔。各階段的劃分受軟件規(guī)模、性質(zhì)搀突、種類(lèi)刀闷、開(kāi)發(fā)方法等因素的影響。
SWEBok KA 及課程關(guān)注KA
SWEBok的知識(shí)領(lǐng)域有軟件需求仰迁、軟件設(shè)計(jì)甸昏、軟件建構(gòu)、軟件測(cè)試徐许、軟件維護(hù)與更新施蜜、軟件構(gòu)型管理、軟件工程管理雌隅、軟件開(kāi)發(fā)過(guò)程翻默、軟件工程工具與方法缸沃、軟件質(zhì)量。本課程關(guān)注的知識(shí)領(lǐng)域有軟件需求修械、軟件設(shè)計(jì)趾牧、軟件建構(gòu)、軟件測(cè)試肯污、軟件構(gòu)型管理翘单、軟件開(kāi)發(fā)工程、軟件工程工具與方法仇箱、軟件質(zhì)量等。
解釋 CMMI 的五個(gè)級(jí)別东羹。例如:Level 1 - Initial:無(wú)序剂桥,自發(fā)生產(chǎn)模式。
- 第一級(jí)-初始級(jí):軟件過(guò)程是無(wú)序的属提,有時(shí)甚至是混亂的权逗,對(duì)過(guò)程幾乎沒(méi)有定義,成功取決于個(gè)人努力冤议。管理是反應(yīng)式的斟薇。
- 第二級(jí)-已管理:建立了基本的項(xiàng)目管理過(guò)程來(lái)跟蹤費(fèi)用、進(jìn)度和功能特性恕酸。制定了必要的過(guò)程紀(jì)律堪滨,能重復(fù)早先類(lèi)似應(yīng)用項(xiàng)目取得的 成功經(jīng)驗(yàn)。第二級(jí)共7個(gè)過(guò)程域:需求管理蕊温、項(xiàng)目規(guī)劃袱箱、項(xiàng)目跟蹤與控制、供應(yīng)商協(xié)議管路义矛、度量與分析发笔、過(guò)程與產(chǎn)品質(zhì)量保證、配置管理凉翻。
- 第三級(jí)-已定義:已將軟件管理和工程兩方面的過(guò)程文檔化了讨、標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)軟件過(guò)程制轰。所有項(xiàng)目均使用經(jīng)批準(zhǔn)前计、剪裁的標(biāo)準(zhǔn)軟件過(guò)程來(lái)開(kāi)發(fā)和維護(hù)軟件,軟件產(chǎn)品的生產(chǎn)在整個(gè)軟件過(guò)程是可見(jiàn)的垃杖。第二級(jí)共14個(gè)過(guò)程域:需求開(kāi)發(fā)残炮、技術(shù)解決方案、產(chǎn)品集成缩滨、驗(yàn)證势就、確認(rèn)泉瞻、組織過(guò)程焦點(diǎn)、組織過(guò)程定義苞冯、組織培訓(xùn)袖牙、集成項(xiàng)目管理、風(fēng)險(xiǎn)管理舅锄、決策分析和解決鞭达、集成團(tuán)隊(duì)、集成組織環(huán)境皇忿、集成供應(yīng)商管理畴蹭。
- 第四級(jí)-已量化的管理:分析對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)度量數(shù)據(jù),對(duì)軟件過(guò)程和產(chǎn)品都有定量的理解與控制鳍烁。管理有一個(gè)作出結(jié)論的客觀依據(jù)叨襟,管理能夠在定量的范圍內(nèi)預(yù)測(cè)性能。第四級(jí)共兩個(gè)過(guò)程域:組織過(guò)程性能幔荒、量化項(xiàng)目管理糊闽。
- 第五級(jí)-優(yōu)化中:過(guò)程的量化反饋和先進(jìn)的新思想、新技術(shù)促使過(guò)程持續(xù)不斷改進(jìn)爹梁。第五級(jí)共兩個(gè)過(guò)程域:組織創(chuàng)新與部署右犹、原因分析與決策
簡(jiǎn)述 SWEBok 或 CMMI
CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD)1.02版本是應(yīng)用于軟件業(yè)項(xiàng)目管理方法姚垃,SEI在部分國(guó)家和地區(qū)開(kāi)始推廣和試用念链。隨著應(yīng)用的推廣與模型本身的發(fā)展,演繹成為一種被廣泛應(yīng)用的綜合性模型积糯。
自從1994年SEI正式發(fā)布軟件CMM以來(lái)钓账,相繼又開(kāi)發(fā)出了系統(tǒng)工程、軟件采購(gòu)絮宁、人力資源管理以及集成產(chǎn)品和過(guò)程開(kāi)發(fā)方面的多個(gè)能力成熟度模型梆暮。雖然這些模型在許多組織都得到了良好的應(yīng)用,但對(duì)于一些大型軟[企業(yè)來(lái)說(shuō)绍昂,可能會(huì)出現(xiàn)需要同時(shí)采用多種模型來(lái)改進(jìn)自己多方面過(guò)程能力的情況啦粹。這時(shí)他們就會(huì)發(fā)現(xiàn)存在一些問(wèn)題,其中主要問(wèn)題體現(xiàn)在:
1窘游、不能集中其不同過(guò)程改進(jìn)的能力以取得更大成績(jī)唠椭;
2、要進(jìn)行一些重復(fù)的培訓(xùn)忍饰、評(píng)估和改進(jìn)活動(dòng)贪嫂,因而增加了許多成本
3、遇到不同模型中有一些對(duì)相同事物說(shuō)法不一致艾蓝,或活動(dòng)不協(xié)調(diào)力崇,甚至相抵觸斗塘。
于是,希望整合模型[需求產(chǎn)生了亮靴。1997 年馍盟,美國(guó)聯(lián)邦航空管理局(FAA)開(kāi)發(fā)了FAA-iCMMSM(聯(lián)邦航空管理局的集成CMM),該模型集成了適用于系統(tǒng)工程的SE-CMM茧吊、軟件獲取的SA-CMM 和軟件的SW-CMM 三個(gè)模型中的所有原則贞岭、概念和實(shí)踐。該模型被認(rèn)為是第一個(gè)集成化的模型搓侄。
CMMI 與CMM 最大的不同點(diǎn)在于:CMMISM-SE/SW/IPPD/SS 1.1 版本有四個(gè)集成成分瞄桨,即:系統(tǒng)工程(SE)和軟件工程(SW)是基本的科目,對(duì)于有些組織還可以應(yīng)用集成產(chǎn)品和過(guò)程開(kāi)發(fā)方面(IPPD)的內(nèi)容讶踪,如果涉及到供應(yīng)商外包管理可以相應(yīng)的應(yīng)用SS(Supplier Sourcing)部分芯侥。
CMMI 有兩種表示方法,一種是大家很熟悉的俊柔,和軟件CMM 一樣的階段式表現(xiàn)方法筹麸,另一種是連續(xù)式的表現(xiàn)方法活合。這兩種表現(xiàn)方法的區(qū)別是:階段式表現(xiàn)方法仍然把CMMI 中的若干個(gè)過(guò)程區(qū)域分成了5 個(gè)成熟度級(jí)別雏婶,幫助實(shí)施CMMI 的組織建議一條比較容易實(shí)現(xiàn)的過(guò)程改進(jìn)發(fā)展道路。而連續(xù)式表現(xiàn)方法則通過(guò)將CMMI 中過(guò)程區(qū)域分為四大類(lèi):過(guò)程管理白指、項(xiàng)目管理留晚、工程以及支持。對(duì)于每個(gè)大類(lèi)中的過(guò)程區(qū)域告嘲,又進(jìn)一步分為基本的和高級(jí)的错维。這樣,在按照連續(xù)式表示方法實(shí)施CMMI的時(shí)候橄唬,一個(gè)組織可以把項(xiàng)目管理或者其他某類(lèi)的實(shí)踐一直做到最好赋焕,而其他方面的過(guò)程區(qū)域可以完全不必考慮。
解釋 PSP 各項(xiàng)指標(biāo)及技能要求:
首先是各自定位角色, 然后根據(jù)分得的工作涉及到的能力進(jìn)行記錄測(cè)試,團(tuán)隊(duì)內(nèi)出一個(gè)全體可見(jiàn)的個(gè)人貢獻(xiàn)與工作分析表,相互督促學(xué)習(xí),確保數(shù)據(jù)客觀真實(shí)