當前位置首頁 > 計算機 > 架構(gòu)及軟件工程
搜柄,搜必應! 快速導航 | 使用教程

軟件工程基本原理

文檔格式:PPT| 49 頁|大小 235KB|積分 9.9|2024-12-10 發(fā)布|文檔ID:253263499
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 49
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預覽
  • 常見問題
  • 單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第1章 軟件工程的基本原理,目的要求,:,認識軟件工程這門課的內(nèi)容和教學安排,了解計算機系統(tǒng)的發(fā)展歷程,軟件危機產(chǎn)生的原因及消除途徑;,掌握軟件工程的概念、基本原理了解軟件過程的概念,掌握瀑布模型以及軟件生命周期方法學的階段劃分,了解快速原型模型、增量模型、螺旋模型、噴泉模型的基本思想教學目的、要求,重點、難點,教學重點:,講述軟件危機產(chǎn)生的原因;軟件工程的概念;軟件過程的概念,瀑布模型以及軟件生命周期方法學的階段劃分;,教學難點:,螺旋模型、噴泉模型的基本思想;,講授內(nèi)容:,計算機系統(tǒng)發(fā)展歷程;軟件危機;軟件工程軟件過程的概念,瀑布模型以及軟件生命周期方法學的階段劃分快速原型模型、增量模型、螺旋模型、噴泉模型計算機系統(tǒng)應用的日益普及和深化硬件和軟件的迅速發(fā)展在計算機系統(tǒng)發(fā)展的早期時代所形成的一些錯誤概念和做法,已經(jīng)嚴重地阻礙了計算機軟件的開發(fā),為更有效地開發(fā)和維護軟件,軟件工作者在20世紀60年代后期開始認真研究消除軟件危機的方法,從而形成了計算機科學技術領域中的一們新興學科:,計算機軟件工程學,。

    計算機系統(tǒng)已經(jīng)經(jīng)歷了4個不同的發(fā)展階段,計算機軟件也經(jīng)歷了4個階段60年代中期以前,:,為具體應用專門編寫,認為無需預先計劃,規(guī)模較小,編寫者和使用者是同一人,無系統(tǒng)化方法,無管理,人們頭腦中的一個隱含過程,除程序清單無文檔資料60年代中期到70年代中期,:第二代,多道程序、多用戶系統(tǒng)的引入,數(shù)據(jù)庫系統(tǒng)的出現(xiàn),重要特征:軟件作坊,廣泛使用產(chǎn)品軟件,但仍使用個體化軟件開發(fā)方法程序運行時發(fā)現(xiàn)的錯誤必須設法改正,用戶有了新的需求時必須相應的修改程序,硬件或操作系統(tǒng)更新時通常需要修改程序以適應新的環(huán)境第一節(jié) 軟件概述,一、軟件的發(fā)展與特點,1968年北大西洋公約組織的計算機科學家在聯(lián)邦德國召開國際會議,討論軟件危機問題,正式提出“軟件工程”從20世紀70年代中期開始的10年,:分布式系統(tǒng),局域網(wǎng)、廣域網(wǎng)、寬帶數(shù)字通信等對軟件開發(fā)者提出了更高的要求,主要特點:出現(xiàn)了微處理器,及智能產(chǎn)品(個人計算機)計算機系統(tǒng)發(fā)展的第四代,:以硬件和軟件的綜合效果為主,復雜的操作系統(tǒng)控制的強大的桌面機及局域網(wǎng)、廣域網(wǎng),與先進的應用軟件相配合,已經(jīng)成為當前的主流計算機軟件發(fā)展的三個階段及其特點,特點,階段,程序設計,程序系統(tǒng),軟件工程,軟件所指,程序,程序及說明書,程序、文檔、數(shù)據(jù),主要程序設計語言,匯編及機器語言,高級語言,軟件語言*,軟件工作范圍,程序編寫,設計和測試,整個軟件生命周期,需求者,程序設計者,少數(shù)用戶,市場用戶,開發(fā)軟件的組織,個人,開發(fā)小組,開發(fā)小組及大中型開發(fā)機構(gòu),軟件規(guī)模,小型,中、小型,大、中、小型,特點,階段,程序設計,程序系統(tǒng),軟件工程,決定質(zhì)量的因素,個人技術,小組技術水平,技術與管理水平,開發(fā)技術和手段,子程序、程序庫,結(jié)構(gòu)化程序設計,數(shù)據(jù)庫,開發(fā)工具,集成開發(fā)環(huán)境,工程化開發(fā)方法,標準和規(guī)范,網(wǎng)絡及分布式開發(fā),OO,技術,CASE,維護責任者,程序設計者,開發(fā)小組,專職維護人員,硬件的特征,高價、存儲量小、可靠性差,降價,速度、容量、可靠性明顯提高,向超高速,大容量,網(wǎng)絡化,微型化方向發(fā)展,軟件的特征,完全不受重視,軟件的技術發(fā)展不能滿足需求,開發(fā)技術有進步,但尚未完全擺脫軟件危機,指在計算機軟件開發(fā)和維護的過程中所遇到的一系列嚴重問題。

    概括的說:,如何開發(fā)軟件,怎樣滿足對軟件的日益增長的需求;如何維護數(shù)量不斷膨脹的已有軟件具體的說:,主要有以下一些表現(xiàn):,1、對軟件開發(fā)成本和進度的估計常常很不準確;,2、用戶對已完成的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;,3、軟件產(chǎn)品的質(zhì)量經(jīng)常靠不??;,4、軟件常常是不可維護的;,5、軟件通常沒有適當文檔資料;,6、軟件成本在計算機系統(tǒng)總成本中中所占的比例逐年上升;,7、軟件開發(fā)的生產(chǎn)率提高的速度,既跟不上硬件發(fā)展的速度,也遠遠跟不上計算機應用普及深入的趨勢二、軟件危機,IBM,公司的,OS/360,,共約,100,萬條指令,花費了,5000,個人年;經(jīng)費達數(shù)億美圓,而結(jié)果卻令人沮喪,錯誤多達,2000,個以上,系統(tǒng)根本無法正常運行OS/360,系統(tǒng)的負責人,Brooks,這樣描述開發(fā)過程的困難和混亂:,“,像巨獸在泥潭中作垂死掙扎,掙扎得越猛,泥漿就沾得越多,最后沒有一個野獸能夠逃脫淹沒在泥潭中的命運1963,年美國飛往火星的火箭爆炸,造成,1000,萬美元的損失原因是,FORTRAN,程序:,DO 5 I=1,,,3,誤寫為:,DO 5 I=1,.,3,1967,年蘇聯(lián)“聯(lián)盟一號”載人宇宙飛船在返航時,由于軟件忽略一個小數(shù)點,在進入大氣層時因打不開降落傘而燒毀。

    在軟件開發(fā)和維護的過程中存在這么多嚴重問題,一方面與軟件本身的特點有關,另一方面也和軟件開發(fā)與維護的方法不正確有關1、軟件不同于硬件,:它是計算機系統(tǒng)中的邏輯部件,在寫出程序代碼并在計算機上運行之前,軟件開發(fā)過程的進展情況較難衡量,軟件開發(fā)的質(zhì)量也較難評價,因此管理和控制軟件開發(fā)過程相當困難2、軟件在運行過程中不會因使用時間過長而被用壞,,如果運行中發(fā)現(xiàn)錯誤,很可能是遇到了一個在開發(fā)時期引入雜在測試階段沒能檢測出來的故障,因此軟件維護通常意味著改正或修改原來的設計產(chǎn)生軟件危機的原因,3、軟件不同于一般程序,:,規(guī)模龐大,必須有嚴格而科學的管理4、軟件專業(yè)人員對軟件開發(fā)和維護有不少的糊涂觀念,,,在實踐過程中或多或少地采用了錯誤的方法和技術,忽視軟件需求分析的重要性,認為開發(fā)軟件就是寫程序并使之運行,輕視軟件維護,這可能是軟件危機的主要原因,硬件/軟件產(chǎn)品失效率曲線,磨合調(diào)整,磨損用壞,時間,失效率,修改點,實際曲線,時間,失效率,理想曲線,軟件產(chǎn)品,硬件產(chǎn)品,5,200,20,2000,1000,需求分析,結(jié)構(gòu)設計,詳細設計,編碼,集成測試,系統(tǒng)測試,現(xiàn)場,改正一個問題的估算費用/美元,改正一個問題的估算工作量/人日,0.05,0.5,2.5,改正一個問題需付出的代價,代價,早期 中期 晚期 時間,高,中,低,變更代價隨時間變化的趨勢,一個軟件從定義、開發(fā)、使用、維護,直到最終被廢棄,要經(jīng)歷一個漫長的時期,這就如同一個人要經(jīng)過胎兒、兒童、青年、中年、老年,直到最終死亡的漫長時期一樣,通常把軟件經(jīng)歷的這個漫長時期稱為生存周期。

    在軟件開發(fā)的不同階段進行修改需要付出的代價很不相同:,軟件工程學的一個重要目標就是提高軟件的可維護性,減少軟件維護的代價生存周期:,1、軟件開發(fā)應該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目2、必須充分吸收和借鑒人類長期以來從事各種工程項目所積累的行之有效的原理、概念、技術和方法,特別是要吸取幾十年來從事計算機硬件研究和開發(fā)的經(jīng)驗教訓3、應該推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功的 技術和方法4、應該開發(fā)和使用更好的 軟件工具總之,為了解決軟件危機,既要有技術措施(方法和工具),又要有必要的組織管理措施軟件工程.正是從管理和技術兩方面研究如何更好的開發(fā)和維護計算機軟件的一門新興學科.,解決軟件危機的途徑,軟件工程,是指導計算機軟件開發(fā)和維護的工程學科.采用工程的概念、原理、技術和方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程.,1983年,IEEE,給軟件工程的定義,:,“,軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法強調(diào),“,系統(tǒng)方法,”,不是,“,個人技巧,”,。

    Fairly,認為,:,“,軟件工程學是為了在成本限額以內(nèi)按時完成開發(fā)和修復軟件產(chǎn)品所需要的系統(tǒng)生產(chǎn)和維護技術及管理學科,”,強調(diào),“,成本限額以內(nèi),”,及,“,技術和管理兩個方面,”,第二節(jié) 軟件工程,一、軟件工程與方法學,Fritz Bauer,認為,:,“,軟件工程是為了經(jīng)濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用的完善的工程化原則,”,強調(diào),“,經(jīng)濟地開發(fā)出高質(zhì)量的軟件,應建立和使用的完善的工程化原則,”,1993年,IEEE,進一步給出了一個更全面的定義,:,軟件工程是:(1)把系統(tǒng)化的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護的過程,也就是把工程化應用于軟件中;(2)研究(1)中提到的途徑1、用分階段的生命周期計劃嚴格管理,2、堅持進行階段評審,3、實行嚴格的產(chǎn)品控制,4、采用現(xiàn)代程序設計技術,5、結(jié)果應能清楚的審查,6、開發(fā)小組的人員應該少而精,7、承認不斷改進軟件工程實踐的必要性,二、軟件工程的基本原理,三、軟件 工程的內(nèi)容,軟件開發(fā)技術,軟件開發(fā)方法學,瀑布模型的生命周期方法、動態(tài)需求的快速原型、面向?qū)ο蟮姆椒ǎ?軟件工具,用來開發(fā)軟件的軟件軟件工程環(huán)境,支持軟件開發(fā)的環(huán)境、工具及其關系;,軟件工程管理,質(zhì)量管理,人力管理、進度安排、質(zhì)量保證、資源管理,軟件工程經(jīng)濟學,以經(jīng)濟的觀點研究開發(fā)過程中的經(jīng)濟效益:成本估算、效益分析。

    軟件工程包含:技術和管理是技術和管理的緊密結(jié)合通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達到既定目標的過程軟件工程方法學包括三個要素:,方法:,完成軟件開發(fā)的各項任務的技術方法;回答,“,如何做,”,的問題工具:,為方法的應用提供或半自動的軟件支撐環(huán)境;,過程:,為了獲得高質(zhì)量的軟件所需要完成的一系列任務的框架、規(guī)定了完成各項任務的工作步驟四、軟件工程方法學,劃分軟件生存周期階段的,基本原則,:使各階段的任務彼此間盡可能相對獨立,同一階段各項任務的性質(zhì)盡可能相同,從而降低每個階段任務的復雜程度,簡化不同階段之間的聯(lián)系,有利于軟件開發(fā)工程的組織管理.,面向?qū)ο蠓椒ǖ乃膫€要點:對象;類;父類(基類)和子類(派生類);消息面向?qū)ο蠓椒▽W的出發(fā)點和基本原則,,是盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法和過程盡可能接近人類認識世界解決問題的方法和過程,從而使描述問題的問題空間與實現(xiàn)解法的解空間在結(jié)構(gòu)上盡可能一致傳統(tǒng)方法學(生命周期方法學)或(結(jié)構(gòu)化范型):采用結(jié)構(gòu)化技術(結(jié)構(gòu)化分析、結(jié)構(gòu)化設計、結(jié)構(gòu)程序設計和結(jié)構(gòu)化測試)第三節(jié) 軟件工程過程,軟件工程,過程,是為了獲得高質(zhì)量的軟件所需要完成的一系列任務的框架,包括軟件工程活動和軟件管理活動。

    這些活動的執(zhí)行可以是有序的、循環(huán)的、嵌套的,也可以有條件引發(fā)的在完成開發(fā)任務時必須進行一些活動,并使用適當?shù)馁Y源(人員、時間、計算機硬件、軟件工具等),在過程結(jié)束時將把輸入(軟件需求)轉(zhuǎn)化為輸出(軟件產(chǎn)品)ISO9000,把過程定義為:,“,把輸入轉(zhuǎn)化為輸出的一組彼此相關的資源和活動,”,過程定義了運用方法的順序、應交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施以及標志軟件開發(fā)各個階段任務完成的里程碑軟件工程過程包括:開發(fā)過程、運作過程、維護過程、管理過程、支持過程、獲取過程、供應過程、剪裁過程等,在美國,SEI(,軟件工程研究所,設在美國卡耐基-梅農(nóng)大學,是致力于軟件過程改進的權(quán)威機構(gòu),)提出的,“,能力成熟度模型,”,(,CMM,C,apability,M,aturity,M,odule,),中,設定了52個目標,18個關鍵活動域和316個關鍵活動,能夠用來評價軟件開發(fā)組織的過程能力工作任務,里程碑、交付物,軟件質(zhì)量保證點,任務集合,框架活動,公共過程框架,保護性輔助活動,軟件工程過程,通過定義適合于所有軟件項目的框架活動而建立每個集合由軟件工程工作任務、軟件項目里程碑、軟件工作產(chǎn)品和交付物以及質(zhì)量保證點組成。

    獨立于任何一個框架,從宏觀上來看,所有的軟件開發(fā)過程都可以看成一個循環(huán)解決問題的過程包括4個不。

    點擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關注青少年成長健康無煙為成長護航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強不息.pptx
    XX學校班主任培訓用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠離亞健康.pptx
    兒童成長手冊時光里的童真印記.pptx
    幼兒園夏季傳染病預防指南預見夏天健康童行夏季傳染病預防科普.pptx
    高中生心理健康教育主題班會快樂學習高效學習正視壓力學會減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護職防同行.pptx
    XX幼兒園防災減災安全教育臨災不亂安全童行學會保護自己.pptx
    在2025年縣教育工作大會暨高考備考工作推進會上的講話發(fā)言材料.docx
    在2025年縣全面從嚴治黨和黨風廉政會議上的講話發(fā)言材料.docx
    在2025年全市慶?!拔逡弧濒邉趧幽7侗碚么髸系闹v話發(fā)言材料多篇.docx
    2025年稅務局青年代表在五四青年座談會上的發(fā)言材料3篇.docx
    在2025年市委全體會議上的主持講話發(fā)言材料.docx
    2025年黨風廉政建設工作要點材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會議上的講話發(fā)言材料.docx
    賣家[上傳人]:xueyuzhun398
    資質(zhì):實名認證