版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章軟件工程的基本原理
第01章軟件工程基本原理目的要求:認(rèn)識《軟件工程》這門課的內(nèi)容和教學(xué)安排,了解計算機系統(tǒng)的發(fā)展歷程,軟件危機產(chǎn)生的原因及消除途徑;掌握軟件工程的概念、基本原理。了解軟件過程的概念,掌握瀑布模型以及軟件生命周期方法學(xué)的階段劃分,了解快速原型模型、增量模型、螺旋模型、噴泉模型的基本思想。
教學(xué)目的、要求,重點、難點第01章軟件工程基本原理教學(xué)重點:講述軟件危機產(chǎn)生的原因;軟件工程的概念;軟件過程的概念,瀑布模型以及軟件生命周期方法學(xué)的階段劃分;教學(xué)難點:螺旋模型、噴泉模型的基本思想;講授內(nèi)容:計算機系統(tǒng)發(fā)展歷程;軟件危機;軟件工程。軟件過程的概念,瀑布模型以及軟件生命周期方法學(xué)的階段劃分快速原型模型、增量模型、螺旋模型、噴泉模型。第01章軟件工程基本原理
計算機系統(tǒng)應(yīng)用的日益普及和深化。硬件和軟件的迅速發(fā)展。在計算機系統(tǒng)發(fā)展的早期時代所形成的一些錯誤概念和做法,已經(jīng)嚴(yán)重地阻礙了計算機軟件的開發(fā),為更有效地開發(fā)和維護(hù)軟件,軟件工作者在20世紀(jì)60年代后期開始認(rèn)真研究消除軟件危機的方法,從而形成了計算機科學(xué)技術(shù)領(lǐng)域中的一們新興學(xué)科:計算機軟件工程學(xué)。
第01章軟件工程基本原理計算機系統(tǒng)已經(jīng)經(jīng)歷了4個不同的發(fā)展階段,計算機軟件也經(jīng)歷了4個階段。
60年代中期以前:為具體應(yīng)用專門編寫,認(rèn)為無需預(yù)先計劃,規(guī)模較小,編寫者和使用者是同一人,無系統(tǒng)化方法,無管理,人們頭腦中的一個隱含過程,除程序清單無文檔資料。
60年代中期到70年代中期:第二代,多道程序、多用戶系統(tǒng)的引入,數(shù)據(jù)庫系統(tǒng)的出現(xiàn),重要特征:軟件作坊,廣泛使用產(chǎn)品軟件,但仍使用個體化軟件開發(fā)方法。程序運行時發(fā)現(xiàn)的錯誤必須設(shè)法改正,用戶有了新的需求時必須相應(yīng)的修改程序,硬件或操作系統(tǒng)更新時通常需要修改程序以適應(yīng)新的環(huán)境。第一節(jié)軟件概述一、軟件的發(fā)展與特點第01章軟件工程基本原理 1968年北大西洋公約組織的計算機科學(xué)家在聯(lián)邦德國召開國際會議,討論軟件危機問題,正式提出“軟件工程”。
從20世紀(jì)70年代中期開始的10年:分布式系統(tǒng),局域網(wǎng)、廣域網(wǎng)、寬帶數(shù)字通信等對軟件開發(fā)者提出了更高的要求,主要特點:出現(xiàn)了微處理器,及智能產(chǎn)品(個人計算機)。
計算機系統(tǒng)發(fā)展的第四代:以硬件和軟件的綜合效果為主,復(fù)雜的操作系統(tǒng)控制的強大的桌面機及局域網(wǎng)、廣域網(wǎng),與先進(jìn)的應(yīng)用軟件相配合,已經(jīng)成為當(dāng)前的主流。第01章軟件工程基本原理計算機軟件發(fā)展的三個階段及其特點特點,階段程序設(shè)計程序系統(tǒng)軟件工程軟件所指程序程序及說明書程序、文檔、數(shù)據(jù)主要程序設(shè)計語言匯編及機器語言高級語言軟件語言*軟件工作范圍程序編寫設(shè)計和測試整個軟件生命周期需求者程序設(shè)計者少數(shù)用戶市場用戶開發(fā)軟件的組織個人開發(fā)小組開發(fā)小組及大中型開發(fā)機構(gòu)軟件規(guī)模小型中、小型大、中、小型第01章軟件工程基本原理特點,階段程序設(shè)計程序系統(tǒng)軟件工程決定質(zhì)量的因素個人技術(shù)小組技術(shù)水平技術(shù)與管理水平開發(fā)技術(shù)和手段子程序、程序庫結(jié)構(gòu)化程序設(shè)計數(shù)據(jù)庫,開發(fā)工具,集成開發(fā)環(huán)境,工程化開發(fā)方法,標(biāo)準(zhǔn)和規(guī)范,網(wǎng)絡(luò)及分布式開發(fā),OO技術(shù),CASE維護(hù)責(zé)任者程序設(shè)計者開發(fā)小組專職維護(hù)人員硬件的特征高價、存儲量小、可靠性差降價,速度、容量、可靠性明顯提高向超高速,大容量,網(wǎng)絡(luò)化,微型化方向發(fā)展軟件的特征完全不受重視軟件的技術(shù)發(fā)展不能滿足需求開發(fā)技術(shù)有進(jìn)步,但尚未完全擺脫軟件危機第01章軟件工程基本原理
指在計算機軟件開發(fā)和維護(hù)的過程中所遇到的一系列嚴(yán)重問題。
概括的說:如何開發(fā)軟件,怎樣滿足對軟件的日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。
具體的說:主要有以下一些表現(xiàn):1、對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確;2、用戶對已完成的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;3、軟件產(chǎn)品的質(zhì)量經(jīng)??坎蛔。?、軟件常常是不可維護(hù)的;5、軟件通常沒有適當(dāng)文檔資料;6、軟件成本在計算機系統(tǒng)總成本中中所占的比例逐年上升;7、軟件開發(fā)的生產(chǎn)率提高的速度,既跟不上硬件發(fā)展的速度,也遠(yuǎn)遠(yuǎn)跟不上計算機應(yīng)用普及深入的趨勢。二、軟件危機第01章軟件工程基本原理
IBM公司的OS/360,共約100萬條指令,花費了5000個人年;經(jīng)費達(dá)數(shù)億美圓,而結(jié)果卻令人沮喪,錯誤多達(dá)2000個以上,系統(tǒng)根本無法正常運行。OS/360系統(tǒng)的負(fù)責(zé)人Brooks這樣描述開發(fā)過程的困難和混亂:“…像巨獸在泥潭中作垂死掙扎,掙扎得越猛,泥漿就沾得越多,最后沒有一個野獸能夠逃脫淹沒在泥潭中的命運?!?/p>
1963年美國飛往火星的火箭爆炸,造成1000萬美元的損失。原因是FORTRAN程序:
DO5I=1,3
誤寫為:DO5I=1.
3
1967年蘇聯(lián)“聯(lián)盟一號”載人宇宙飛船在返航時,由于軟件忽略一個小數(shù)點,在進(jìn)入大氣層時因打不開降落傘而燒毀。第01章軟件工程基本原理
在軟件開發(fā)和維護(hù)的過程中存在這么多嚴(yán)重問題,一方面與軟件本身的特點有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。
1、軟件不同于硬件:它是計算機系統(tǒng)中的邏輯部件,在寫出程序代碼并在計算機上運行之前,軟件開發(fā)過程的進(jìn)展情況較難衡量,軟件開發(fā)的質(zhì)量也較難評價,因此管理和控制軟件開發(fā)過程相當(dāng)困難。
2、軟件在運行過程中不會因使用時間過長而被用壞,如果運行中發(fā)現(xiàn)錯誤,很可能是遇到了一個在開發(fā)時期引入雜在測試階段沒能檢測出來的故障,因此軟件維護(hù)通常意味著改正或修改原來的設(shè)計。產(chǎn)生軟件危機的原因第01章軟件工程基本原理
3、軟件不同于一般程序:規(guī)模龐大,必須有嚴(yán)格而科學(xué)的管理。
4、軟件專業(yè)人員對軟件開發(fā)和維護(hù)有不少的糊涂觀念,在實踐過程中或多或少地采用了錯誤的方法和技術(shù),忽視軟件需求分析的重要性,認(rèn)為開發(fā)軟件就是寫程序并使之運行,輕視軟件維護(hù),這可能是軟件危機的主要原因。
硬件/軟件產(chǎn)品失效率曲線磨合調(diào)整磨損用壞時間失效率修改點實際曲線時間失效率理想曲線軟件產(chǎn)品硬件產(chǎn)品第01章軟件工程基本原理52002020001000需求分析結(jié)構(gòu)設(shè)計詳細(xì)設(shè)計編碼集成測試系統(tǒng)測試現(xiàn)場改正一個問題的估算費用/美元改正一個問題的估算工作量/人日0.050.52.5改正一個問題需付出的代價代價早期中期晚期時間高中低變更代價隨時間變化的趨勢第01章軟件工程基本原理
一個軟件從定義、開發(fā)、使用、維護(hù),直到最終被廢棄,要經(jīng)歷一個漫長的時期,這就如同一個人要經(jīng)過胎兒、兒童、青年、中年、老年,直到最終死亡的漫長時期一樣,通常把軟件經(jīng)歷的這個漫長時期稱為生存周期。 在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價很不相同: 軟件工程學(xué)的一個重要目標(biāo)就是提高軟件的可維護(hù)性,減少軟件維護(hù)的代價。生存周期:第01章軟件工程基本原理
1、軟件開發(fā)應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項目。 2、必須充分吸收和借鑒人類長期以來從事各種工程項目所積累的行之有效的原理、概念、技術(shù)和方法,特別是要吸取幾十年來從事計算機硬件研究和開發(fā)的經(jīng)驗教訓(xùn)。 3、應(yīng)該推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法。 4、應(yīng)該開發(fā)和使用更好的軟件工具。 總之,為了解決軟件危機,既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。軟件工程.正是從管理和技術(shù)兩方面研究如何更好的開發(fā)和維護(hù)計算機軟件的一門新興學(xué)科.解決軟件危機的途徑第01章軟件工程基本原理
軟件工程是指導(dǎo)計算機軟件開發(fā)和維護(hù)的工程學(xué)科.采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程.
1983年IEEE給軟件工程的定義:“軟件工程是開發(fā)、運行、維護(hù)和修復(fù)軟件的系統(tǒng)方法?!睆娬{(diào)“系統(tǒng)方法”不是“個人技巧”。
Fairly認(rèn)為:“軟件工程學(xué)是為了在成本限額以內(nèi)按時完成開發(fā)和修復(fù)軟件產(chǎn)品所需要的系統(tǒng)生產(chǎn)和維護(hù)技術(shù)及管理學(xué)科”。強調(diào)“成本限額以內(nèi)”及“技術(shù)和管理兩個方面”。第二節(jié)軟件工程一、軟件工程與方法學(xué)第01章軟件工程基本原理
FritzBauer認(rèn)為:“軟件工程是為了經(jīng)濟(jì)地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用的完善的工程化原則”。強調(diào)“經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件,應(yīng)建立和使用的完善的工程化原則”。
1993年IEEE進(jìn)一步給出了一個更全面的定義: 軟件工程是:(1)把系統(tǒng)化的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護(hù)的過程,也就是把工程化應(yīng)用于軟件中;(2)研究(1)中提到的途徑。第01章軟件工程基本原理
1、用分階段的生命周期計劃嚴(yán)格管理 2、堅持進(jìn)行階段評審 3、實行嚴(yán)格的產(chǎn)品控制 4、采用現(xiàn)代程序設(shè)計技術(shù) 5、結(jié)果應(yīng)能清楚的審查 6、開發(fā)小組的人員應(yīng)該少而精 7、承認(rèn)不斷改進(jìn)軟件工程實踐的必要性二、軟件工程的基本原理第01章軟件工程基本原理三、軟件工程的內(nèi)容軟件開發(fā)技術(shù)軟件開發(fā)方法學(xué)瀑布模型的生命周期方法、動態(tài)需求的快速原型、面向?qū)ο蟮姆椒?;軟件工具用來開發(fā)軟件的軟件。軟件工程環(huán)境支持軟件開發(fā)的環(huán)境、工具及其關(guān)系;軟件工程管理質(zhì)量管理人力管理、進(jìn)度安排、質(zhì)量保證、資源管理軟件工程經(jīng)濟(jì)學(xué)以經(jīng)濟(jì)的觀點研究開發(fā)過程中的經(jīng)濟(jì)效益:成本估算、效益分析。第01章軟件工程基本原理
軟件工程包含:技術(shù)和管理。是技術(shù)和管理的緊密結(jié)合。通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。 軟件工程方法學(xué)包括三個要素:方法:完成軟件開發(fā)的各項任務(wù)的技術(shù)方法;回答“如何做”的問題。工具:為方法的應(yīng)用提供或半自動的軟件支撐環(huán)境;過程:為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架、規(guī)定了完成各項任務(wù)的工作步驟。四、軟件工程方法學(xué)第01章軟件工程基本原理
劃分軟件生存周期階段的基本原則:使各階段的任務(wù)彼此間盡可能相對獨立,同一階段各項任務(wù)的性質(zhì)盡可能相同,從而降低每個階段任務(wù)的復(fù)雜程度,簡化不同階段之間的聯(lián)系,有利于軟件開發(fā)工程的組織管理.
面向?qū)ο蠓椒ǖ乃膫€要點:對象;類;父類(基類)和子類(派生類);消息。
面向?qū)ο蠓椒▽W(xué)的出發(fā)點和基本原則,是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法和過程盡可能接近人類認(rèn)識世界解決問題的方法和過程,從而使描述問題的問題空間與實現(xiàn)解法的解空間在結(jié)構(gòu)上盡可能一致。
傳統(tǒng)方法學(xué)(生命周期方法學(xué))或(結(jié)構(gòu)化范型):采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)程序設(shè)計和結(jié)構(gòu)化測試)。第01章軟件工程基本原理第三節(jié)軟件工程過程第01章軟件工程基本原理
軟件工程過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,包括軟件工程活動和軟件管理活動。這些活動的執(zhí)行可以是有序的、循環(huán)的、嵌套的,也可以有條件引發(fā)的。在完成開發(fā)任務(wù)時必須進(jìn)行一些活動,并使用適當(dāng)?shù)馁Y源(人員、時間、計算機硬件、軟件工具等),在過程結(jié)束時將把輸入(軟件需求)轉(zhuǎn)化為輸出(軟件產(chǎn)品)。ISO9000把過程定義為:“把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動”。 過程定義了運用方法的順序、應(yīng)交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施以及標(biāo)志軟件開發(fā)各個階段任務(wù)完成的里程碑。軟件工程過程包括:開發(fā)過程、運作過程、維護(hù)過程、管理過程、支持過程、獲取過程、供應(yīng)過程、剪裁過程等第01章軟件工程基本原理 在美國SEI(軟件工程研究所,設(shè)在美國卡耐基-梅農(nóng)大學(xué),是致力于軟件過程改進(jìn)的權(quán)威機構(gòu))提出的“能力成熟度模型”(CMM,CapabilityMaturityModule)中,設(shè)定了52個目標(biāo),18個關(guān)鍵活動域和316個關(guān)鍵活動,能夠用來評價軟件開發(fā)組織的過程能力。第01章軟件工程基本原理工作任務(wù)里程碑、交付物軟件質(zhì)量保證點任務(wù)集合框架活動公共過程框架保護(hù)性輔助活動軟件工程過程通過定義適合于所有軟件項目的框架活動而建立。每個集合由軟件工程工作任務(wù)、軟件項目里程碑、軟件工作產(chǎn)品和交付物以及質(zhì)量保證點組成。獨立于任何一個框架第01章軟件工程基本原理 從宏觀上來看,所有的軟件開發(fā)過程都可以看成一個循環(huán)解決問題的過程。包括4個不同的階段:狀態(tài)描述,問題定義,技術(shù)開發(fā)和方案綜述。問題循環(huán)解決的各個階段狀態(tài)描述問題定義技術(shù)開發(fā)方案綜述第01章軟件工程基本原理狀態(tài)描述問題定義技術(shù)開發(fā)方案綜述狀態(tài)描述問題定義技術(shù)開發(fā)方案綜述狀態(tài)描述問題定義技術(shù)開發(fā)方案綜述問題循環(huán)解決階段中的階段狀態(tài)描述第01章軟件工程基本原理
軟件生存周期劃分為四個時期:軟件分析時期、設(shè)計時期、編碼與測試時期、運行與維護(hù)時期。每個時期又劃分為若干個階段。
1、軟件的分析時期任務(wù):確定軟件開發(fā)工程必須完成的總目標(biāo);可行性;采用的策略;必要的功能;所需的資源和成本;工程進(jìn)度;分為三個階段:問題定義、可行性研究、需求分析;
2、軟件設(shè)計時期的任務(wù):具體設(shè)計和實現(xiàn)在前一時期定義的軟件。分為2個階段:總體設(shè)計;詳細(xì)設(shè)計;
3、編碼和測試時期;編碼和單元測試、綜合測試;
4、軟件維護(hù)時期的任務(wù):使軟件持久地滿足用戶的需要。有四個方面的維護(hù)活動:改正性、完善性、適應(yīng)性、預(yù)防性;
第四節(jié)軟件生存周期第01章軟件工程基本原理階段關(guān)鍵問題結(jié)束標(biāo)準(zhǔn)問題定義問題是什么關(guān)于規(guī)模和目標(biāo)的報告書可行性研究有可行的解嗎系統(tǒng)高層邏輯模型:數(shù)據(jù)流圖,成本/效益分析需求分析系統(tǒng)必須做什么系統(tǒng)的邏輯模型:數(shù)據(jù)流圖,數(shù)據(jù)字典,算法描述總體設(shè)計概括的說,系統(tǒng)應(yīng)該如何解決這個問題可能的解法:系統(tǒng)流程圖,成本/效益分析,推薦的系統(tǒng)結(jié)構(gòu):層次圖或結(jié)構(gòu)圖第01章軟件工程基本原理階段關(guān)鍵問題結(jié)束標(biāo)準(zhǔn)詳細(xì)設(shè)計怎樣具體地實現(xiàn)這個系統(tǒng)編寫規(guī)格說明編碼和單元測試正確的程序模塊源程序清單,單元測試方案和結(jié)果綜合測試符合要求的軟件綜合測試方案和結(jié)果、完整一致的軟件配置維護(hù)持久地滿足用戶需要的軟件完整準(zhǔn)確的維護(hù)記錄第01章軟件工程基本原理第五節(jié)軟件開發(fā)模型一、軟件生存周期模型的概念:軟件生存周期模型是從軟件項目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個生存周期的系統(tǒng)開發(fā)、運行和維護(hù)所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。第01章軟件工程基本原理瀑布模型按照傳統(tǒng)的瀑布模型來開發(fā)軟件,有以下特點:1、階段間有順序性和依賴性;2、推遲實現(xiàn)的觀點;3、質(zhì)量保證的觀點;需求分析驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護(hù)優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法;嚴(yán)格規(guī)定了每個階段必須提交的文檔;要求每個階段交出的產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗證。需求分析驗證實線箭頭表示開發(fā)過程;虛線箭頭表示維護(hù)過程。反饋線開發(fā)過程維護(hù)過程第01章軟件工程基本原理
快速原型是快速建立起來的可以在計算機上運行的程序,完成的功能是最終產(chǎn)品能完成功能的一個子集??焖僭湍P筒粠Х答伃h(huán),軟件開發(fā)基本上是線形順序進(jìn)行的。1、原型系統(tǒng)已經(jīng)通過與用戶交互得到驗證;開發(fā)人員在建立原型中學(xué)到了許多東西;快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護(hù)變化的需求驗證實線箭頭表示開發(fā)過程;虛線箭頭表示維護(hù)過程。開發(fā)過程維護(hù)過程快速原型模型第01章軟件工程基本原理
把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成和測試。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并能完成特定的功能。每個增量構(gòu)件實現(xiàn)軟件的基本需求,提供最核心的功能。應(yīng)該使構(gòu)件的規(guī)模適中。
分解的約束條件:當(dāng)把新構(gòu)件集成到現(xiàn)有軟件中時,所形成的產(chǎn)品必須是可測試的。分批地逐步向用戶提交產(chǎn)品,每次提交一個滿足用戶需求子集的可運行產(chǎn)品。增量模型(漸增模型)第01章軟件工程基本原理增量模型的優(yōu)點:1、能在較短的時間內(nèi)向用戶提交可完成一些有用的工作的產(chǎn)品。2、逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品。
需求分析驗證規(guī)格說明驗證概要設(shè)計驗證針對每個構(gòu)件,完成詳細(xì)設(shè)計、編碼和集成,經(jīng)測試后交付給用戶維護(hù)增量模型第01章軟件工程基本原理規(guī)格說明設(shè)計交付客戶編碼和集成構(gòu)件1:規(guī)格說明設(shè)計交付客戶編碼和集成構(gòu)件2:規(guī)格說明設(shè)計交付客戶編碼和集成構(gòu)件n:………風(fēng)險更大的增量模型第01章軟件工程基本原理
軟件開發(fā)的風(fēng)險:1、產(chǎn)品交付用戶之后用戶可能不滿意;2、到交付日期后軟件可能還未開發(fā)出來;3、實際開發(fā)成本可能超過預(yù)算;4、產(chǎn)品完成之前一些關(guān)鍵的開發(fā)人員可能“跳槽”了;5、聘請不到需要的專業(yè)人員;
基本思想:使用原型及其他方法來盡量降低風(fēng)險??煽醋髟诿總€階段之前都增加了風(fēng)險分析過程的快速原型模型。螺旋線每個周期對應(yīng)一個開發(fā)階段。螺旋模型第01章軟件工程基本原理快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護(hù)變化的需求驗證風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析簡化的螺旋模型
螺旋模型的基本思想:使用原型及其他方法來盡量降低風(fēng)險。簡化的螺旋模型可看作在每個階段都增加了風(fēng)險分析過程的快速原型模型。第01章軟件工程基本原理完整的螺旋模型計劃下一階段確定目標(biāo),選擇方案,設(shè)定約束條件各步驟的進(jìn)度風(fēng)險分析可運行的原型風(fēng)險分析風(fēng)險分析風(fēng)險分析原型3原型2原型1評估方案,識別并排除風(fēng)險操作概念詳細(xì)設(shè)計設(shè)計驗證與確認(rèn)軟件產(chǎn)品設(shè)計需求確認(rèn)軟件需求實現(xiàn)集成與測試計劃編碼單元測試集成測試驗收測試開發(fā)計劃需求計劃與生命周期計劃模擬、模型、基準(zhǔn)開發(fā)驗證下一級產(chǎn)品當(dāng)前累計的開發(fā)費用第01章軟件工程基本原理
每個階段開始時(左上象限)的任務(wù)是:確定該項目的目標(biāo)、為完成這些目標(biāo)選擇方案及設(shè)定這些方案的約束條件。接下來的任務(wù)是:從風(fēng)險角度分析上步的工作結(jié)果,努力排除各種潛在的風(fēng)險,如果風(fēng)險不能排除,則停止開發(fā)工作或大幅度削減項目規(guī)模。如果成功排除了所有風(fēng)險,則啟動下一個開發(fā)步驟(右下象限),這個步驟相當(dāng)于純粹的瀑布模型。最后是評價該階段工作成果并計劃下一階段的工作。第01章軟件工程基本原理優(yōu)點:
1、對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有利于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標(biāo);
2、減少了過多的測試或測試不足所帶來的風(fēng)險;
3、維護(hù)只是模型的另一個周期,在維護(hù)和開發(fā)之間沒有本質(zhì)的區(qū)別。第01章軟件工程基本原理
“噴泉”體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。迭代是軟件開發(fā)過程中普遍存在的一種內(nèi)在屬性。軟件過程各個階段之間的迭代或一個階段內(nèi)各個工作步驟之間的迭代,在面向?qū)ο蠓缎椭斜仍诮Y(jié)構(gòu)化范型中更常見。因此,噴泉模型是典型的面向?qū)ο笊芷谀P汀?/p>
噴泉模型第01章軟件工程基本原理需求階段面向?qū)ο蠓治鲭A段面向?qū)ο笤O(shè)計階段編碼階段集成和測試階段運行狀態(tài)進(jìn)一步開發(fā)維護(hù)期噴泉模型第01章軟件工程基本原理基于知識的模型
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏發(fā)電項目屋頂租賃合同
- 廣西小學(xué)教學(xué)樓合同協(xié)議書
- 海外打工合同書
- 合同到期聲明范本
- 2024年廣州客運資格證應(yīng)用能力試題及答案詳解
- 2024對外建筑工程承包合同
- 2024家庭農(nóng)場土地租賃合同
- 深圳大學(xué)《自然辯證法》2021-2022學(xué)年第一學(xué)期期末試卷
- 魚肉購銷合同(2篇)
- 種植松樹協(xié)議書(2篇)
- 大學(xué)生職業(yè)生涯規(guī)劃成長賽道
- 建設(shè)項目設(shè)計管理方案
- 2024年屆海南航空控股股份有限公司招聘筆試參考題庫含答案解析
- 前程無憂在線測試題庫及答案行測
- 手術(shù)室突發(fā)事件的緊急處理與應(yīng)急演練
- 《軍事理論》課程標(biāo)準(zhǔn)
- 倉庫貨物條碼管理培訓(xùn)
- 第六章-中國早期社會學(xué)中的社區(qū)學(xué)派-《中國社會學(xué)史》必備
- 太陽能發(fā)電技術(shù)在航天與航空領(lǐng)域的應(yīng)用
- 大學(xué)生預(yù)防猝死知識講座
- (2)反壟斷法(字向東)
評論
0/150
提交評論