版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 概論軟件工程提綱軟件發(fā)展軟件工程軟件生命周期軟件開發(fā)策略軟件過程模型CASE工具與環(huán)境1.1 軟件發(fā)展硬軟合一計算機(jī)通過運行程序來實現(xiàn)各種不同的應(yīng)用。不是唯一軟件離不開程序,但程序并不是軟件的全部。權(quán)威定義R.S.Pressman:“軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機(jī)程序和使程序正常執(zhí)行所需的數(shù)據(jù),加上描述程序的操作和使用的文檔”。軟件程序+數(shù)據(jù)+文檔數(shù)據(jù)使程序正常運行所需要的輸入信息。文檔程序軟件軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機(jī)程序和使程序正常執(zhí)行所需的數(shù)據(jù),加上描述程序的操作和使用的文檔。各種報告、說明、手冊的總稱。是軟件開發(fā)的記錄,主要供人們閱讀,既可以用于
2、專業(yè)人員和用戶之間的通信與交流,也可以用于軟件開發(fā)過程的管理和運行階段的維護(hù)。為了解決某個特定問題而用程序設(shè)計語言編寫的適合計算機(jī)處理的語句序列。1.1 軟件發(fā)展階段1階段2階段3軟件危機(jī)軟件危機(jī)的典型表現(xiàn)軟件危機(jī)的主要原因軟件工程存儲容量比較小衡量程序質(zhì)量的標(biāo)準(zhǔn)主要是功效采用個體工作方式占用內(nèi)存小用低級語言編寫程序研究內(nèi)容是科學(xué)計算程序、服務(wù)性程序和程序庫運算速度比較慢運行時間省以數(shù)值數(shù)據(jù)處理為主研究對象是順序程序輸入、輸出量較小幾乎沒有其他文檔從第一臺計算機(jī)上的第一個程序出現(xiàn)到實用的高級程序設(shè)計語言出現(xiàn)之前第一階段 1946-19561.1 軟件發(fā)展存儲容量比較大高速主機(jī)與低速外圍設(shè)備的矛
3、盾突出出現(xiàn)了高級程序設(shè)計語言提出了軟件一詞,開始認(rèn)識到文檔的重要性應(yīng)用領(lǐng)域包括數(shù)據(jù)處理(非數(shù)值數(shù)據(jù))研究高級程序設(shè)計語言、編譯程序、操作系統(tǒng)、支持編程的工具及各種應(yīng)用軟件外圍設(shè)備得到迅速發(fā)展出現(xiàn)了操作系統(tǒng)、并發(fā)程序、數(shù)據(jù)庫及其管理系統(tǒng)計算量不大工作方式逐步從個體方式轉(zhuǎn)向合作方式輸入、輸出量卻較大出現(xiàn)軟件危機(jī)第二階段 1956-19681.1 軟件發(fā)展從實用的高級程序設(shè)計語言出現(xiàn)以后到軟件工程出現(xiàn)以前美國用于控制火星探測器計算機(jī)軟件IBM360系列機(jī)的操作系統(tǒng)項目負(fù)責(zé)人在項目結(jié)束后的總結(jié)“,”號被誤寫為“”最終致使飛往火星的探測器發(fā)生爆炸造成高達(dá)數(shù)億美元的損失5000人年的工作量寫出近100萬行
4、的源程序投入了這么多的人力和物力,得到的結(jié)果卻極其糟糕正像一只逃亡的野獸落到泥潭中做垂死掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑?zāi)難程序設(shè)計工作正像這樣一個泥潭一批批程序員被迫在泥潭中掙扎誰也沒有料到問題竟會陷入這樣的困境這個操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個程序錯誤而修正的結(jié)果1.1 軟件發(fā)展1.1 軟件發(fā)展軟件危機(jī)包含下述兩方面的問題:軟件危機(jī)是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。如何開發(fā)軟件,以滿足對軟件日益增長的需求如何維護(hù)數(shù)量不斷膨脹的已有軟件(1)軟件危機(jī)的典型表現(xiàn)對軟件開發(fā)成本和進(jìn)度的估計常常很不正確軟件通常沒有適當(dāng)?shù)奈臋n資料軟件產(chǎn)品的
5、質(zhì)量往往靠不住軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢軟件常常是不可維護(hù)的用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升(2)軟件危機(jī)的主要原因軟件開發(fā)與維護(hù)的方法與認(rèn)識軟件自身的特點軟件本身的特點:軟件是邏輯的,而不是物理的產(chǎn)品;軟件是由開發(fā)或工程化而形成的,沒有明顯的制造過程;軟件在運行和使用期間,不存在硬件那樣的磨損和老化問題,但它存在退化問題,開發(fā)人員必須維護(hù)軟件;大多數(shù)軟件是自定的,而不是通過已有構(gòu)件組裝而成的;軟件成本相當(dāng)昂貴;軟件本身是復(fù)雜的;相當(dāng)多的軟件工作涉及到社會因素。(2)軟件危機(jī)的主要原因(2)軟件危機(jī)
6、的主要原因忽視軟件需求分析的重要認(rèn)為軟件開發(fā)就是寫程序輕視軟件維護(hù) 軟件開發(fā)與維護(hù)的方法與認(rèn)識42“個體勞動的神秘技巧” - 工程項目?!败浖褪浅绦颉?- 完整的配置。(3)消除軟件危機(jī)的途徑3消除錯誤的概念和做法推廣使用實踐中總結(jié)出來的成功技術(shù)和方法開發(fā)和使用更好的軟件工具有必要的組織管理措施硬件向巨型機(jī)和微型機(jī)兩方面發(fā)展網(wǎng)絡(luò)軟件、分布式應(yīng)用和軟件得到發(fā)展提出了軟件工程出現(xiàn)了“計算機(jī)輔助軟件工程”用工程化方法管理和開發(fā)軟件研究軟件開發(fā)模型、軟件開發(fā)方法和技術(shù)、軟件工具與環(huán)境、軟件過程、軟件自動化系統(tǒng)等計算機(jī)網(wǎng)絡(luò)飛速發(fā)展個體合作方式轉(zhuǎn)向工程方式應(yīng)用領(lǐng)域滲透到各個業(yè)務(wù)行業(yè)研究智能化、自動化、集
7、成化、并行化為標(biāo)志的軟件開發(fā)技術(shù)出現(xiàn)了嵌入式應(yīng)用側(cè)重構(gòu)件、軟件體系結(jié)構(gòu)、元計算研發(fā)第三階段 1968年以來1.1 軟件發(fā)展從軟件工程出現(xiàn)至今提綱軟件發(fā)展軟件工程軟件生命周期軟件開發(fā)策略軟件過程模型CASE工具與環(huán)境定義基本原理軟件工程方法學(xué)1.2 軟件工程 軟件工程是應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法制作軟件的工程。計算機(jī)科學(xué)技術(shù)百科全書 把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護(hù)過程,也就是把工程應(yīng)用于軟件;研究中提到的途徑。IEEE 軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實際機(jī)器上有效地運行的軟件,而建立和使用完善的工程原理。1968年NATO(北大西
8、洋公約組織)1.2.1 軟件工程的定義軟件工程的目標(biāo)預(yù)算合理費用較低功能達(dá)標(biāo)性能良好提高維護(hù)性降低維護(hù)費用提高生產(chǎn)率及時交付結(jié)果應(yīng)能清楚地審查5開發(fā)小組的人員應(yīng)該少而精6承認(rèn)不斷改進(jìn)軟件工程實踐的必要性7用分階段的生命周期計劃嚴(yán)格管理1相互獨立,缺一不可1.2.2 軟件工程的基本原理B.W.Boehm于1983年在一篇論文中提出了軟件工程的7條基本原理。他認(rèn)為這7條原理是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小集合。堅持進(jìn)行階段評審2實行嚴(yán)格的產(chǎn)品控制3采用現(xiàn)代程序設(shè)設(shè)計技術(shù)41.2.3 軟件工程方法學(xué)軟件工程是一種層次化的技術(shù),其中過程、方法和工具是軟件工程的三個要素。(1) 軟件工程必須以有
9、組織的質(zhì)量保證為基礎(chǔ),全面質(zhì)量管理和過程改進(jìn)使得更加成熟的軟件工程方法的不斷出現(xiàn)。(2) 軟件工程過程是進(jìn)行一系列有組織的活動,從而能夠合理地和及時地開發(fā)出計算機(jī)軟件。過程定義了技術(shù)方法的采用、工程產(chǎn)品(包括模型、文檔、數(shù)據(jù)、報告、表格等)的產(chǎn)生、里程碑的建立、質(zhì)量的保證和變更的管理。(3) 軟件工程方法為軟件開發(fā)提供如何做的技術(shù),它涵蓋了項目計劃、需求分析、系統(tǒng)設(shè)計、程序?qū)崿F(xiàn)、測試與維護(hù)等一系列的任務(wù)。(4)軟件工具為過程和方法提供自動的或半自動的支持。這些軟件工具被集成起來,建立起一個支持軟件開發(fā)的系統(tǒng),稱之為計算機(jī)輔助軟件工程(CASE,Computer Aided Software E
10、ngineering)。CASE集成了軟件、硬件和一個存放開發(fā)過程信息的軟件工程數(shù)據(jù)庫,形成了一個軟件工程環(huán)境。1.2.3 軟件工程方法學(xué)軟件工程層次的擴(kuò)展程序=算法+結(jié)構(gòu)方法(面向過程/OOP/MDA)過程(RUP/XP)工程(需求管理)(配置管理)(文檔化)組織(管理、計劃)1.2.3 軟件工程方法學(xué)提綱軟件發(fā)展軟件開發(fā)策略軟件過程模型CASE工具與環(huán)境軟件生命周期1. 3 軟件生命周期軟件維護(hù)改正錯誤適應(yīng)新環(huán)境滿足新需求軟件開發(fā)總體設(shè)計詳細(xì)設(shè)計編碼和單元測試綜合測試軟件定義問題定義可行性研究需求分析1. 3 軟件生命周期需求分析3可行性分析2問題定義1詳細(xì)設(shè)計5總體設(shè)計4編碼和單元測試6
11、綜合測試7軟件維護(hù)8包括問題性質(zhì)、工程目標(biāo)、工程規(guī)模,并經(jīng)客戶認(rèn)可的書面報告關(guān)鍵問題:“要解決的問題是什么?”問題定義1不是解決具體問題,而是研究問題的范圍,價值與可行性是客戶是否繼續(xù)進(jìn)行這項工程的決定的重要依據(jù)關(guān)鍵問題:對上一階段所確定的問題有行得通的解決辦法嗎?需求分析3可行性研究2問題定義1詳細(xì)設(shè)計5總體設(shè)計4編碼和單元測試6綜合測試7軟件維護(hù)8可行性研究21. 3 軟件生命周期1. 3 軟件生命周期用戶和軟件開發(fā)人員之間的斷層關(guān)鍵問題:為了解決這個問題,系統(tǒng)必須做什么通過雙方密切配合,形成系統(tǒng)邏輯模型,撰寫規(guī)格說明書需求分析3需求分析2問題定義1詳細(xì)設(shè)計5總體設(shè)計4編碼和單元測試6綜合
12、測試7軟件維護(hù)8需求分析31. 3 軟件生命周期推薦幾種可能的實現(xiàn)方案,并推薦一種最佳方案關(guān)鍵問題:概況的說,應(yīng)該怎樣實現(xiàn)目標(biāo)系統(tǒng)?總體設(shè)計3可行性分析2問題定義1詳細(xì)設(shè)計5總體設(shè)計4編碼和單元測試6綜合測試7軟件維護(hù)8總體設(shè)計4設(shè)計程序的體系結(jié)構(gòu),確定模塊及其相關(guān)聯(lián)系1. 3 軟件生命周期制定詳細(xì)規(guī)格,使得程序員可以據(jù)此進(jìn)行編碼關(guān)鍵問題:應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)?需求分析3可行性研究2問題定義1詳細(xì)設(shè)計5總體設(shè)計4編碼和單元測試6綜合測試7軟件維護(hù)8詳細(xì)設(shè)計5設(shè)計每個模塊,確定需要的算法和數(shù)據(jù)結(jié)構(gòu)1. 3 軟件生命周期依據(jù)詳細(xì)設(shè)計進(jìn)行編碼,并仔細(xì)測試每個模塊關(guān)鍵任務(wù):寫出正確、容易理解、容
13、易維護(hù)的程序模塊詳細(xì)設(shè)計5總體設(shè)計4編碼和單元測試6綜合測試7軟件維護(hù)8編碼和單元測試61. 3 軟件生命周期集成測試、驗收測試等關(guān)鍵任務(wù):通過各種類型的測試使軟件得到需求詳細(xì)設(shè)計5編碼和單元測試6綜合測試7軟件維護(hù)8綜合測試71. 3 軟件生命周期編碼和單元測試6綜合測試7軟件維護(hù)8四類維護(hù):改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)關(guān)鍵任務(wù):通過各種必要的維護(hù)活動使得系統(tǒng)持續(xù)地滿足用戶需要軟件維護(hù)8提綱軟件發(fā)展軟件開發(fā)策略軟件過程模型CASE工具與環(huán)境1.確保質(zhì)量;2.提高效率。具有一定集成度并可以重復(fù)使用的軟件組成單元稱為軟構(gòu)件(Software Component),軟件復(fù)用就是直
14、接使用已有的軟構(gòu)件,即可組裝(或加以合理修改)成新的系統(tǒng),而可以不必每次從零做起。1. 4 軟件開發(fā)策略(1)軟件復(fù)用1.降低復(fù)雜度;2.提高效率。分而治之是指把大而復(fù)雜的問題分解成若干個簡單的小問題,然后逐個解決。1. 4 軟件開發(fā)策略(2)分而治之軟件的折衷策略是指通過協(xié)調(diào)各個質(zhì)量因素,實現(xiàn)整體質(zhì)量的最優(yōu)。軟件折衷的重要原則是不能使某一方損失關(guān)鍵的職能,更不可以象舍魚而取熊掌那樣拋棄一方。軟件的優(yōu)化是指優(yōu)化軟件的各個質(zhì)量因素。提高運行速度提高對內(nèi)存資源的利用率使用戶界面更加友好使三維圖形的真實感更強。1. 4 軟件開發(fā)策略(3)折中-優(yōu)化提綱軟件發(fā)展軟件過程模型CASE工具與環(huán)境1. 5
15、軟件過程模型軟件過程軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。軟件過程描述為了開發(fā)客戶需要的軟件,什么人(who)、在什么時候(when)、做什么事(what)以及怎樣(how)做這些事以實現(xiàn)某一個特定的具體目標(biāo)。軟件過程模型軟件過程模型是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架。軟件過程模型的選擇基于項目和應(yīng)用的性質(zhì)、采用的方法工具以及需要的控制和交付的產(chǎn)品。瀑布模型螺旋模型噴泉模型快速原型模型增量模型RUP敏捷過程與極限編程1. 5 軟件過程模型常見模型1.5.1瀑布模型階段間具有順序性和依賴性推遲實現(xiàn)質(zhì)量保證;每個階段都必須完成規(guī)定的文檔每個
16、階段結(jié)束前都需要對所完成的文檔進(jìn)行評審,以便盡早發(fā)現(xiàn)問題,改正錯誤1.5.1瀑布模型優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法;嚴(yán)格地規(guī)定了每個段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗證。不足:過度依賴于書面規(guī)格說明,軟件未必真正滿足用戶需要;缺乏靈活性,難以適應(yīng)需求不明確或需求經(jīng)常變化的軟件開發(fā);開發(fā)早期存在的問題往往要到交付使用時才發(fā)現(xiàn),維護(hù)代價大。適合于用戶需求明確、完整、無重大變的軟件項目開發(fā)1.5.2快速原型模型快速原型(1)定義軟件的總體目標(biāo),標(biāo)識需求;(2)快速制訂原型開發(fā)的計劃,構(gòu)建原型;(3)用戶試用,提出修改意見;(4)(5)依據(jù)滿意的原型撰寫規(guī)格
17、說明文檔??焖俳⑵饋淼目梢栽谟嬎銠C(jī)上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集1.5.2快速原型模型不帶反饋環(huán)線性進(jìn)行加速軟件開發(fā)過程節(jié)約軟件開發(fā)成本原型的用途是獲知用戶的真正需求原型系統(tǒng)的內(nèi)部結(jié)構(gòu)并不重要利用軟件工具生成的可用到最終軟件產(chǎn)品中原型類型探索型演化型廢棄策略實驗型追加策略使用策略1.5.2快速原型模型 探索型 演化型 追加策略 廢棄策略 實驗型目的是要弄清目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性目的是驗證方案或算法的合理性,它是在大規(guī)模開發(fā)和實現(xiàn)前,用于考核方案是否合適,規(guī)格說明是否可靠目的是將原型作為目標(biāo)系統(tǒng)的一部分,通過對原型的多次改進(jìn)
18、,逐步將原型演化成最終的目標(biāo)系統(tǒng)這些原型關(guān)注于目標(biāo)系統(tǒng)的某些特性,而不是全部特性,開發(fā)這些原型時通常不考慮與探索或?qū)嶒災(zāi)康臒o關(guān)的功能、質(zhì)量、結(jié)構(gòu)等因素,這種原型通常被廢丟,然后根據(jù)探索或?qū)嶒灥慕Y(jié)果用良好的結(jié)構(gòu)和設(shè)計思想重新設(shè)計目標(biāo)系統(tǒng)。實現(xiàn)了目標(biāo)系統(tǒng)中已明確定義的特性的一個子集,通過對它的不斷修改和擴(kuò)充,逐步追加新的要求,最后使其演化成最終的目標(biāo)系統(tǒng)。適用情況:用戶定義了一組一般性目標(biāo),但不能標(biāo)識出詳細(xì)的輸入、處理及輸出需求;開發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式等。1.5.3增量模型增量原型:也稱為漸增模型。使用增量模型開發(fā)軟件時,把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)
19、計、編碼、集成和測試。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定的功能。分解時惟一必須遵守的約束條件是,當(dāng)把新構(gòu)件集成到現(xiàn)有軟件中時,所形成的產(chǎn)品必須是可測試的。1.5.3增量模型實現(xiàn)中的困難分批交付構(gòu)件,每個構(gòu)件均可用體系結(jié)構(gòu)必須是開放的開發(fā)人員可逐步開發(fā)整體-構(gòu)件之間的矛盾減少用戶對全新產(chǎn)品的沖擊多構(gòu)件并發(fā)的風(fēng)險便于進(jìn)一步的維護(hù)優(yōu)點1優(yōu)點2優(yōu)點3優(yōu)點41.5.3增量模型增量模型特別適用于:需求經(jīng)常變化的軟件開發(fā)市場急需而開發(fā)人員和資金不能在設(shè)定的市場期限之前實現(xiàn)一個完善的產(chǎn)品的軟件開發(fā)1.5.4螺旋模型軟件風(fēng)險是任何軟件開發(fā)項目中都普遍存在的實際問題,項目越大,軟件越復(fù)雜,承擔(dān)該項
20、目所冒的風(fēng)險也越大。螺旋模型的基本思想是降低風(fēng)險。構(gòu)建原型是一種使某些風(fēng)險降至最低的方法??梢詫⒙菪P涂醋鲈诿總€階段前都增加了風(fēng)險分析過程的快速原型模型。完整的螺旋模型1.5.4螺旋模型點畫線的長度: 累積開發(fā)費用螺旋線的角度: 開發(fā)進(jìn)度螺旋線每個周期: 一個開發(fā)階段1.5.4螺旋模型優(yōu)點特點有利于軟件重用和質(zhì)量監(jiān)控減少了過多測試和不足的風(fēng)險維護(hù)和開發(fā)直接沒有本質(zhì)區(qū)別風(fēng)險驅(qū)動,需要豐富知識及經(jīng)驗適用于內(nèi)部開發(fā)的大規(guī)模項目工作量及成本隨迭代次數(shù)增加1.5.5噴泉模型噴泉模型是典型的面向?qū)ο蟮能浖^程模型之一“噴泉”代指面向?qū)ο箝_發(fā)過程迭代和無縫的特性工作重點放在生命周期的分析階段,在定義面向問
21、題的對象后,不斷充實和擴(kuò)充這些對象。分析階段的對象模型也適用于設(shè)計和實現(xiàn)階段。1.5.5噴泉模型不同階段的圓圈相互重疊:活動之間的交迭;概念和表示方法的一致性:開發(fā)活動之間的無縫過渡;向下的箭頭:階段內(nèi)的求精。為避免使用噴泉模型開發(fā)軟件時開發(fā)過程過分無序,應(yīng)該把一個線性過程(例如,快速原型模型或圖中的中心垂線)作為總目標(biāo)。面向?qū)ο蠓缎捅旧硪蠼?jīng)常對開發(fā)活動進(jìn)行迭代或求精。1.5.6 RUP來源是由Rational公司的Booch、Jacobson、 Rumbaugh提出的軟件過程模型,也稱RUP(Rational Unified Process),或統(tǒng)一過程。使用統(tǒng)一建模語言,采用用例驅(qū)動和架
22、構(gòu)有限的策略,使用迭代增量建造方法。思想價值總結(jié)了多年商業(yè)化驗證的六條最有效的軟件開發(fā)經(jīng)驗,這些經(jīng)驗被稱為“最佳實踐”。1.5.6 RUP基于構(gòu)件的體系結(jié)構(gòu)管理需求迭代式開發(fā)可視化建模驗證軟件質(zhì)量控制軟件變更允許需求有變化通過驗證減少風(fēng)險每階段有可執(zhí)行版本利用用例捕獲功能用例驅(qū)動設(shè)計與實現(xiàn)現(xiàn)有的或新開發(fā)的構(gòu)件定義體系結(jié)構(gòu)的系統(tǒng)化方法可視化建模UML語言不再是事后型或單獨小組進(jìn)行貫穿整個開發(fā)過程、全員參與描述了如何控制、跟蹤和監(jiān)控修改,確保迭代開發(fā)成功1.5.6 RUP在每個階段的每次迭代的最后,用例模型、分析模型、設(shè)計模型、實現(xiàn)模型都會增量,每個階段結(jié)束的里程碑處,管理層做出是否繼續(xù)、進(jìn)度、預(yù)
23、算、是否給下一階段提供資助等決定。不同階段工作流的側(cè)重點不同,前兩階段大部分工作集中在需求、分析和架構(gòu)設(shè)計上;在構(gòu)造階段,重點轉(zhuǎn)移到詳細(xì)設(shè)計、實現(xiàn)和測試上。1.5.6 RUP業(yè)務(wù)建模需求分析和設(shè)計實現(xiàn)測試部署配置與變更管理項目管理環(huán)境了解使用目標(biāo)系統(tǒng)的機(jī)構(gòu)及其商業(yè)運作,評價其影響。獲取用戶需求,并且使開發(fā)人員和用戶達(dá)成對需求共識。把需求分析的結(jié)果轉(zhuǎn)化成分析模型與設(shè)計模型。把設(shè)計模型轉(zhuǎn)化為實現(xiàn)結(jié)果。檢查各個子系統(tǒng)的交互和集成,驗證需求,消除缺陷。生成目標(biāo)系統(tǒng)的可執(zhí)行版本,將軟件移交給最終用戶。跟蹤并維護(hù)在軟件開發(fā)過程中產(chǎn)生的所有制品完整性和一致性。制定計劃、人員配置、執(zhí)行和監(jiān)督方面的實用準(zhǔn)則,風(fēng)
24、險管理。向軟件開發(fā)機(jī)構(gòu)提供軟件開發(fā)環(huán)境,包括過程管理和工具支持。1.5.6 RUP初始階段細(xì)化階段構(gòu)造階段移交階段進(jìn)行問題定義,確定目標(biāo),評估其可行性,降低關(guān)鍵風(fēng)險。制定項目計劃、配置各類資源、建立系統(tǒng)架構(gòu)(包括各類視圖)。開發(fā)整個產(chǎn)品,并確保產(chǎn)品可移交給用戶。產(chǎn)品發(fā)布、安裝、用戶培訓(xùn)。1.5.6 敏捷過程與極限編程是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。在敏捷開發(fā)中,軟件項目的構(gòu)建被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征。換言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。敏捷開發(fā)極限編程是敏捷過程
25、中最有名的一個, 適于小型項目,極限編程(XP,eXtreme Programming)對于傳統(tǒng)的軟件工程中看來是“極端的”實踐。極限編程1.5.6 敏捷過程與極限編程17位著名的軟件專家于2001年2月聯(lián)合起草了敏捷軟件開發(fā)宣言。個體和交互勝過過程和工具可以工作的軟件勝過面面俱到的文檔客戶合作勝過合同談判響應(yīng)變化勝過遵循計劃聲明是對不同因素在保證軟件開發(fā)成功方面起作用大小的比較,不是降低或者忽略某個因素。1.5.6 敏捷過程與極限編程敏捷開發(fā)的特點:“適應(yīng)性”(Adaptive)而非“預(yù)設(shè)性” (Predictive)“面向人” (people oriented)而非“面向過程”(proce
26、ss oriented)敏捷開發(fā)的目的是建立起一個項目團(tuán)隊全員參與到軟件開發(fā)中,包括設(shè)定軟件開發(fā)流程的管理人員,只有這樣軟件開發(fā)流程才有可接受性。同時敏捷開發(fā)要求研發(fā)人員獨立自主在技術(shù)上進(jìn)行決策,因為他們是最了解什么技術(shù)是需要和不需要的。再者,敏捷開發(fā)特別重視項目團(tuán)隊中的信息交流1.5.6 敏捷過程與極限編程核心價值觀簡單短交付周期使用客戶素材驗收測試開放的工作空間可持續(xù)的開發(fā)速度溝通勇氣反饋謙遜有效實踐重構(gòu)最優(yōu)化實現(xiàn)用戶素材客戶作為開發(fā)團(tuán)隊結(jié)對編程測試驅(qū)動開發(fā)持續(xù)集成集體所有及時調(diào)整計劃使用隱喻客戶素材是指正在進(jìn)行的關(guān)于需求的談話內(nèi)容的助記符。代碼重構(gòu)是指在不改變系前提下,重新調(diào)整和優(yōu)化系統(tǒng)
27、的內(nèi)部結(jié)構(gòu)。是整個系統(tǒng)在一起的全局視圖,描述系統(tǒng)如何運作,新功能如何添加。1.5.6 敏捷過程與極限編程XP項目的整體開發(fā)過程1.5.6 敏捷過程與極限編程XP迭代開發(fā)過程敏捷過程能夠較好的適應(yīng)商業(yè)環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束。1.5.7 微軟過程微軟過程準(zhǔn)則小型項目組并行完成開發(fā)項目進(jìn)度表高穩(wěn)定和權(quán)威采用快速循環(huán)、遞進(jìn)的開發(fā)過程創(chuàng)造性工作衡量產(chǎn)品特性和成本零缺陷作為追求目標(biāo)里程碑評審會目的是改進(jìn)工作項目早期軟件配置項基線化,后期凍結(jié)產(chǎn)品原型驗證,對項目進(jìn)行早期論證1.5.7 微軟過程規(guī)劃階段:獲得用戶情況和客戶需求等,完成:產(chǎn)品目標(biāo);獲取競爭對手信息;完成調(diào)研分析;確定
28、產(chǎn)品主要特征;定義問題及功能。設(shè)計階段:70%以上的需求:特性規(guī)格說明書;系統(tǒng)設(shè)計;子系統(tǒng)及規(guī)格說明;制定產(chǎn)品開發(fā)計劃開發(fā)階段:完成所有構(gòu)件開發(fā),包括編寫程序代碼和書寫文檔。發(fā)布階段:發(fā)布產(chǎn)品或解決方案,穩(wěn)定發(fā)布過程,將項目移交運營和支持人員,用戶認(rèn)可。穩(wěn)定階段:對產(chǎn)品進(jìn)行測試和調(diào)試,確保產(chǎn)品在真實環(huán)境下的使用和操作。1.5.7 微軟過程微軟過程的生命周期模型適用于商業(yè)環(huán)境的具有有限資源和有限開發(fā)時間約束的項目的軟件過程模式。綜合了Rational統(tǒng)一過程和敏捷過程的許多優(yōu)點,對眾多成功項目經(jīng)驗的總結(jié)。在方法、工具和產(chǎn)品方面論述不夠全面。提綱軟件發(fā)展CASE工具與環(huán)境1.6 CASE工具與環(huán)境在軟件工程活動中,軟件工程師和管理人員按照軟件工程的方法和原則,借助于計算機(jī)及其軟件工具的幫助,開發(fā)、維護(hù)、管理軟件產(chǎn)品的過程稱為計算機(jī)輔助軟件工程。計算機(jī)輔助軟件工程(CASE) Computer Aided Software Engineering軟件工具是用來輔助計算機(jī)軟件的開發(fā)、運行、維護(hù)、管理、支持過程中的活動或任務(wù)的軟件。集成型開發(fā)環(huán)境是一種把支持多種軟件開發(fā)方法和過程模型的軟件工具集成到一起的軟件開發(fā)環(huán)境。集成型開發(fā)環(huán)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年購銷合同:某鋼鐵企業(yè)向供應(yīng)商訂購0萬噸原材料2篇
- 二零二五年度高鐵站房PC構(gòu)件預(yù)制及吊裝工程合同2篇
- 二零二五年度物業(yè)管理顧問合同(含交通樞紐管理)2篇
- 二零二五版貨車司機(jī)意外傷害賠償合同范本3篇
- 二零二五年度綠色環(huán)保型二手房按揭交易合同模板3篇
- 二零二五食堂承包合同(大路食堂運營管理)3篇
- 二零二五版二手房買賣與家具選購代理合同3篇
- 稅務(wù)局2025年度企業(yè)社會責(zé)任報告編制合同
- 二零二五年度智慧社區(qū)家居安裝合同規(guī)范3篇
- 二零二五年度蟲草科研合作與技術(shù)轉(zhuǎn)移合同范本3篇
- 居家養(yǎng)老護(hù)理人員培訓(xùn)方案
- 江蘇省無錫市2024年中考語文試卷【附答案】
- 管理者的九大財務(wù)思維
- 四年級上冊數(shù)學(xué)應(yīng)用題練習(xí)100題附答案
- 2024年度中國電建集團(tuán)北京勘測設(shè)計研究院限公司校園招聘高頻難、易錯點500題模擬試題附帶答案詳解
- 有關(guān)企業(yè)會計人員個人工作總結(jié)
- 人教版高中數(shù)學(xué)必修二《第十章 概率》單元同步練習(xí)及答案
- 干部人事檔案專項審核工作情況報告(8篇)
- 智慧校園信息化建設(shè)項目組織人員安排方案
- 多旋翼無人機(jī)駕駛員執(zhí)照(CAAC)備考試題庫大全-下部分
- 2024年青海一級健康管理師高頻核心題庫300題(含答案詳解)
評論
0/150
提交評論