版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1.1軟件危機(jī)軟件危機(jī)介紹產(chǎn)生危機(jī)的原因消除危機(jī)的途徑1.2軟件工程1.3軟件生命周期1.4軟件過程1.1軟件危機(jī)20世紀(jì)60年代中期軟件需求急劇膨脹,軟件維護(hù)工作耗費(fèi)大量的資源1968年北大西洋公約組織的計算機(jī)專家召開國際會議,討論軟件危機(jī)問題,首次提出軟件工程概念1.1.1軟件危機(jī)介紹什么是軟件危機(jī)?在計算機(jī)軟件的開發(fā)和維護(hù)過程中,
所遇到的一系列嚴(yán)重問題。這些問題絕不僅僅是不能正常運(yùn)行的軟件才具有的,
實(shí)際上,幾乎所有軟件都不同程度地存在這些問題。包含兩方面的問題:
如何開發(fā)軟件,以滿足對軟件日益增長的需求;
如何維護(hù)軟件,數(shù)量不斷膨脹。軟件危機(jī)表現(xiàn)開發(fā)成本和進(jìn)度難以估算和控制,大大超過預(yù)期用戶對已完成的軟件不滿意,需求分析不夠充分軟件產(chǎn)品的質(zhì)量難以保證軟件維護(hù)困難難以改正錯誤難以增加新功能軟件通常沒有合適的文檔資料軟件成本在計算機(jī)系統(tǒng)總成本中比例逐年上升軟件開發(fā)生產(chǎn)率提高的速度,跟不上計算機(jī)普及速度。幾個軟件危機(jī)的案例1.1.2產(chǎn)生軟件危機(jī)原因兩個主要原因:與軟件本身的特點(diǎn)有關(guān),和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。1.1.3消除軟件危機(jī)的途徑消除“軟件就是程序”的錯誤觀念軟件=程序+文檔+數(shù)據(jù)軟件開發(fā)應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項(xiàng)目。非個人英雄主義使用實(shí)踐中總結(jié)出來的成功的技術(shù)和方法開發(fā)和使用更好的軟件工具。思考問題只要是編程高手,不懂軟件工程,也能編出很好的軟件?只要一套好的軟件工程書籍,就可以解決軟件開發(fā)過程的任何問題?只要有最好的開發(fā)工具、就能做出優(yōu)秀的軟件?軟件開發(fā)進(jìn)度慢于計劃,增加程序員來解決?軟件運(yùn)行較慢,換一臺機(jī)器?換一種算法?目錄1.1軟件危機(jī)1.2軟件工程1.2.1軟件工程定義1.2.2軟件工程原理1.2.3軟件工程方法學(xué)1.3軟件生命周期1.4軟件過程軟件工程的本質(zhì)特性軟件工程關(guān)注于大型程序/系統(tǒng)的構(gòu)造軟件工程的中心課題是控制復(fù)雜性
邏輯—>文檔分而治之可管理
軟件經(jīng)常變化開發(fā)軟件的效率非常重要和諧地合作是開發(fā)軟件的關(guān)鍵軟件必須有效地支持它的用戶在軟件工程領(lǐng)域中,是由具有一種文化背景的人,替具有另一種文化背景的人軟件=知識+程序+數(shù)據(jù)+文檔1.2.2軟件工程的基本原理(I)Boehm于1983年提出:1.用分階段的生命周期計劃嚴(yán)格管理2.堅(jiān)持進(jìn)行階段評審3.實(shí)行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性1.2.3軟件工程方法學(xué)軟件工程包括技術(shù)和管理兩方面的內(nèi)容管理——對人、財、物的合理使用和配置技術(shù)——軟件開發(fā)中采用的方法、過程、工具軟件工程方法學(xué):通常把在軟件生命周期全過程中,使用的一整套技術(shù)方法的集合,稱為方法學(xué)(Methodology),也稱為范型(Paradigm)。軟件工程方法學(xué)3個要素方法
完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,
回答“怎樣做”的問題;工具
為運(yùn)用方法,而提供的自動的或半自動的
軟件工程支撐環(huán)境;過程
為了獲得高質(zhì)量的軟件,所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件工程方法學(xué)思想傳統(tǒng)方法學(xué)面向?qū)ο蠓椒▽W(xué)。目錄1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.3.1軟件定義1.3.2軟件開發(fā)1.3.3軟件維護(hù)1.4軟件過程1.3軟件生命周期目錄1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過程什么是軟件過程軟件開發(fā)模型/過程模型/軟件工程范型瀑布、原型、增量、螺旋、噴泉RUPXPMSF將軟件的開發(fā)過程,分成若干個日程時間交錯的線性序列,每個線性序列,產(chǎn)生軟件的一個可發(fā)布的“增量”版本,后一個版本是對前一版本的修改和補(bǔ)充,重復(fù)增量發(fā)布的過程,直至產(chǎn)生最終的完善產(chǎn)品。強(qiáng)調(diào)每一個增量都發(fā)布一個可運(yùn)行的產(chǎn)品特別適用于:需求經(jīng)常變化的軟件開發(fā)市場急需而開發(fā)人員和資金不能在設(shè)定的市場期限之前實(shí)現(xiàn)一個完善的產(chǎn)品的軟件開發(fā)能有計劃地管理技術(shù)風(fēng)險,如早期增量版本中,避免采用尚未成熟的技術(shù)1.4.3增量模型增量模型在軟件開發(fā)過程中,必須及時識別和分析風(fēng)險,并且采取適當(dāng)措施,以消除或減少風(fēng)險的危害。螺旋模型B.Boehm于1988年提出使用原型等技術(shù)方法來降低風(fēng)險螺旋模型沿著螺線旋轉(zhuǎn),在四個象限上分別表達(dá)四個方面的活動,即:制定計劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件風(fēng)險分析:評價所選的方案,識別風(fēng)險,消除風(fēng)險工程實(shí)施:實(shí)施軟件開發(fā),驗(yàn)證工作產(chǎn)品客戶評估:評價開發(fā)工作,提出修正建議
1.4.5噴泉模型噴泉模型體現(xiàn)了面向?qū)ο筌浖_發(fā)過程,迭代和無縫的特性,圖中代表不同階段的圓圈相互重疊,表示兩個活動之間存在交迭。1.4.6RUP經(jīng)驗(yàn)證的、最有效的軟件開發(fā)經(jīng)驗(yàn),
稱為最佳實(shí)踐:迭代式開發(fā)管理需求使用基于構(gòu)件的體系結(jié)構(gòu)可視化建模驗(yàn)證軟件質(zhì)量控制軟件變更漸進(jìn)的認(rèn)識需求會不斷變化提高重用更易理解溝通全程質(zhì)保確保迭代成功RUP軟件開發(fā)生命周期核心過程工作流程核心支持工作流程
4個連續(xù)工作階段1.4.7敏捷過程與極限編程(I)敏捷過程團(tuán)隊(duì)高效工作、快速響應(yīng)變化開發(fā)宣言個體和交互勝過過程和工具可以工作的軟件勝過面面俱到的文檔客戶合作勝過合同談判響應(yīng)變化勝過遵循計劃1.4.7敏捷過程與極限編程(II)XP是敏捷過程中最負(fù)盛名的一個用于需求模糊且常變XP的有效實(shí)踐客戶作為開發(fā)團(tuán)隊(duì)的成員使用用戶素材短交付周期驗(yàn)收測試結(jié)對編程測試驅(qū)動開發(fā)集體所有持續(xù)集成可持續(xù)的開發(fā)速度開放的工作空間及時調(diào)整計劃簡單的設(shè)計重構(gòu)使用隱喻XP(極限編程)eXtremeProgramming是一門針對業(yè)務(wù)和軟件開發(fā)的規(guī)則,它的作用在于將兩者的力量集中在共同的、可以達(dá)到的目標(biāo)上。它是以符合客戶需要的軟件為目標(biāo)而產(chǎn)生的一種方法論,XP使開發(fā)者能夠更有效的響應(yīng)客戶的需求變化,哪怕是在軟件生命周期的后期。它強(qiáng)調(diào),軟件開發(fā)是人與人合作進(jìn)行的過程,因此成功的軟件開發(fā)過程應(yīng)該充分利用人的優(yōu)勢,而弱化人的缺點(diǎn),突出了人在軟件開發(fā)過程中的作用。極端編程屬于輕量級的方法,認(rèn)為文檔、架構(gòu)不如直接編程來的直接。1.4.7敏捷過程與極限編程(III)XP項(xiàng)目的整體開發(fā)過程1.4.7敏捷過程與極限編程(IV)XP迭代開發(fā)過程1.4.8微軟過程(I)項(xiàng)目計劃應(yīng)該兼顧未來的不確定因素用有效的風(fēng)險管理來減少不確定因素的影響經(jīng)過生成并快速地測試軟件的過渡版本,從而提高產(chǎn)品的穩(wěn)定性和可預(yù)測性。采用快速循環(huán)、遞進(jìn)的開發(fā)過程用創(chuàng)造性的工作來平衡產(chǎn)品特性和產(chǎn)品成本項(xiàng)目進(jìn)度表應(yīng)該具有較高穩(wěn)定性和權(quán)威性使用小型項(xiàng)目組并發(fā)地完成開發(fā)工作在項(xiàng)目早期把軟件配置項(xiàng)基線化,項(xiàng)目后期則凍結(jié)產(chǎn)品使用原型驗(yàn)證概念,對項(xiàng)目進(jìn)行早期結(jié)論把零缺陷作為追求的目標(biāo)里程碑評審會的目的是改進(jìn)工作,切忌相互指責(zé)1.4.8微軟過程(II)微軟軟件生命周期階段劃分和主要里程碑1.4.8微軟過程(III)微軟過程的生命周期模型模型比較每個軟件開發(fā)組織,應(yīng)該選擇適合于該組織的軟件開發(fā)模型,隨著正在開發(fā)的特定產(chǎn)品特性而變化,以減小所選模型的缺點(diǎn),充分利用其優(yōu)點(diǎn)。模型比較模型優(yōu)點(diǎn)缺點(diǎn)瀑布模型文檔驅(qū)動系統(tǒng)可能不滿足客戶的需求快速原型模型關(guān)注滿足客戶需求可能導(dǎo)致系統(tǒng)設(shè)計差、效率低,難于維護(hù)增量模型開發(fā)早期反饋及時,易于維護(hù)需要開放式體系結(jié)構(gòu),可能會設(shè)計差、效率低螺旋模型噴泉模型風(fēng)險驅(qū)動迭代無縫適合OO風(fēng)險分析人員需要有經(jīng)驗(yàn)且經(jīng)過充分訓(xùn)練小結(jié)列舉軟件危機(jī)表現(xiàn)不同階段軟件變更的代價P32題2理解軟件工程概念列舉軟件工程方法學(xué)列舉軟件生命周期的階段列舉軟件過程13.7
能力成熟度模型(I)CMM(capabilitymaturitymodel),是用于評價軟件機(jī)構(gòu)的軟件過程能力成熟度的模型。有助于軟件開發(fā)機(jī)構(gòu),建立一個有規(guī)律的、成熟的軟件過程。CMMIIntro吃飯活動為例13.7CMM在改進(jìn)軟件過程作用通過確定當(dāng)前的過程成熟度,
并識別出對過程改進(jìn)起關(guān)鍵作用的問題,
從而明確過程改進(jìn)的方向和策略。通過集中開展一組過程改進(jìn)活動,
軟件機(jī)構(gòu)便能穩(wěn)步而有效地改進(jìn)其軟件過程,
使其軟件過程能力得到循序漸進(jìn)的提高。13.75個成熟度級別說明了不同級別之間,軟件過程的主要變化。為了達(dá)到從一個無序的、混亂的軟件過程,
進(jìn)化到一種有序的、有紀(jì)律的且成熟的軟件過程的目的,必須經(jīng)歷的過程改進(jìn)活動的途徑。初始級可重復(fù)級已定義級已管理級優(yōu)化級13.7.1初始級(I)軟件過程的特征是無序的,混亂的。過分的承諾幾乎沒有什么過程是經(jīng)過定義的,項(xiàng)目能否成功完全取決于開發(fā)人員的個人能力。
遇到危機(jī)就放棄原計劃過程,反復(fù)編碼和測試。成功完全依賴個人努力和杰出的專業(yè)人才。軟件過程是不可確定和不可預(yù)見的。改進(jìn)方向:建立項(xiàng)目管理過程。實(shí)施規(guī)范化管理,保障項(xiàng)目的承諾。首要任務(wù)是進(jìn)行需求管理,建立客戶與軟件項(xiàng)目之間的共同理解,使項(xiàng)目真正反映客戶的要求。建立各種軟件項(xiàng)目計劃。如軟件開發(fā)計劃、軟件質(zhì)量保證計劃、軟件配置管理計劃、軟件測試計劃、風(fēng)險管理計劃及過程改進(jìn)計劃。開展軟件質(zhì)量保證活動(SQA)。
13.7.1初始級(II)13.7.2可重復(fù)級(I)特點(diǎn):
進(jìn)行較為現(xiàn)實(shí)的承諾。主要是逐個項(xiàng)目地建立基本過程管理?xiàng)l例來加強(qiáng)過程能力。
管理工作主要跟蹤軟件經(jīng)費(fèi)支出、進(jìn)度及功能。采用基線(baseline)來標(biāo)志進(jìn)展、控制完整性。定義了軟件項(xiàng)目的標(biāo)準(zhǔn),并相信它、遵循它。
通過子合同建立有效的供求關(guān)系。
13.7.2可重復(fù)級(II)改進(jìn)方向:
不再按項(xiàng)目制定軟件過程,而是總結(jié)各種項(xiàng)目的成功經(jīng)驗(yàn),使之規(guī)則化,把具體經(jīng)驗(yàn)歸納為全組織的標(biāo)準(zhǔn)軟件過程。確定全組織的標(biāo)準(zhǔn)軟件過程,把軟件工程及管理活動集成到一個穩(wěn)固確定的軟件過程中
建立軟件工程過程小組(SEPG)長期承擔(dān)評估與調(diào)整軟件過程的任務(wù),以適應(yīng)未來軟件項(xiàng)目的要求。 積累數(shù)據(jù),建立組織的軟件過程庫及軟件過程相關(guān)的文檔庫。 加強(qiáng)培訓(xùn)。13.7.3已定義級(I)特點(diǎn):
無論管理方面或工程方面的軟件過程都已文件化、標(biāo)準(zhǔn)化,并綜合成軟件開發(fā)組織的標(biāo)準(zhǔn)軟件過程。 軟件過程標(biāo)準(zhǔn)被應(yīng)用到所有的工程中,用于編制和維護(hù)軟件。在從事一項(xiàng)工程時,產(chǎn)品的生產(chǎn)過程、花費(fèi)、計劃以及功能都是可以完全控制的,從而軟件質(zhì)量也可以控制。軟件工程過程組(SEPG)負(fù)責(zé)軟件過程活動。 在全組織范圍內(nèi)安排培訓(xùn)計劃。13.7.3已定義級(II)改進(jìn)方向
*開始著手軟件過程的定量分析,以達(dá)到定量地控制軟件項(xiàng)目過程的效果。 *通過軟件的質(zhì)量管理,達(dá)到軟件的質(zhì)量目標(biāo)。
13.7.4已管理級(I)
特點(diǎn):制定了軟件過程和產(chǎn)品質(zhì)量的詳細(xì)而具體的度量標(biāo)準(zhǔn)。軟件過程和產(chǎn)品的質(zhì)量都可以被理解和控制。軟件組織的能力是可預(yù)見的。組織的度量工程保證所有項(xiàng)目對生產(chǎn)率和質(zhì)量進(jìn)行度量,并作為重要的軟件過程活動。具有良好定義及一致的度量標(biāo)準(zhǔn)來指導(dǎo)軟件過程,并作為評價軟件過程及產(chǎn)品的定量基礎(chǔ)。在開發(fā)組織內(nèi)已建立軟件過程數(shù)據(jù)庫,保存收集到的數(shù)據(jù),可用于各項(xiàng)目的軟件過程。
13.7.4已管理級(II)改進(jìn)方向: 缺陷防范。不僅僅在發(fā)現(xiàn)了問題時能及時改進(jìn),而且應(yīng)采取特定行動防止將來出現(xiàn)這類缺陷。 主動進(jìn)行技術(shù)變動管理、標(biāo)識、選擇和評價新技術(shù),使有效的新技術(shù)能在開發(fā)組織中施行。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《工程設(shè)備復(fù)習(xí)》課件
- 心電信號識別技術(shù)-洞察分析
- 文物保護(hù)國際合作與交流-洞察分析
- 文本轉(zhuǎn)換的語義依賴規(guī)則研究-洞察分析
- 形式化方法在中綴轉(zhuǎn)后綴轉(zhuǎn)換中的應(yīng)用研究-洞察分析
- 物聯(lián)網(wǎng)安全防護(hù)-第1篇-洞察分析
- 特種水泥性能優(yōu)化-洞察分析
- 初級職稱個人專業(yè)技術(shù)工作總結(jié)范文(12篇)
- 醫(yī)學(xué)圖像增強(qiáng)與降噪算法-洞察分析
- 網(wǎng)絡(luò)切片技術(shù)在行業(yè)專網(wǎng)的應(yīng)用研究-洞察分析
- 2024年財會業(yè)務(wù)知識競賽題庫及答案(630題)
- 河北高速公路集團(tuán)限公司2024屆校園招聘(117人)高頻難、易錯點(diǎn)500題模擬試題附帶答案詳解
- 機(jī)械制圖-斷面圖
- 應(yīng)急管理法律法規(guī)課件
- 醫(yī)療投訴處理部工作總結(jié)與改進(jìn)措施計劃
- 科研倫理與學(xué)術(shù)規(guī)范-期末考試答案
- 廣告設(shè)計與創(chuàng)意作業(yè)指導(dǎo)書
- 8.1數(shù)學(xué)廣角-數(shù)與形(基礎(chǔ)作業(yè))2024-2025學(xué)年六年級上冊數(shù)學(xué) 人教版(含解析)
- 北京奧林匹克公園規(guī)劃設(shè)計方案
- 《植物生產(chǎn)與環(huán)境》 - 植物生產(chǎn)與環(huán)境概述 第1卷 (解析版)
- 個人球桿轉(zhuǎn)讓合同模板
評論
0/150
提交評論