




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
應(yīng)用軟件層應(yīng)用軟件層在計算機系統(tǒng)的位置應(yīng)用軟件能夠擴展人們某些方面能力的特點才是計算機革命的真正驅(qū)動力。軟件工程
本章討論的主要問題是:
1.什么是軟件危機?軟件危機有哪些典型表現(xiàn)?為什么會產(chǎn)生軟件危機?
2.什么是軟件工程?為什么要用工程的方法來管理軟件的開發(fā)過程?
3.應(yīng)該按照什么樣的過程來開發(fā)軟件?如何考核這個過程?
4.軟件質(zhì)量指的是什么?軟件測試在保證軟件質(zhì)量中的作用是什么?情景問題——“著名”軟件錯誤
在1985年6月~1987年1月,用于追蹤癌變細胞的Therac-25型放射治療儀由于軟件錯誤導(dǎo)致了意外輻射,結(jié)果造成一名患者死亡,一名患者嚴(yán)重受傷。
1990年1月,AT&T(美國電話電報公司)經(jīng)歷了一場令人難忘的通信大災(zāi)難,AT&T的長途電話網(wǎng)癱瘓9個小時,導(dǎo)致了幾十億美元的損失,并引發(fā)了各種騷亂。最后技術(shù)人員發(fā)現(xiàn)問題出在100萬行編碼中的一條錯誤的語句上,一個函數(shù)接受了一個錯誤的參數(shù)。
1996年6月,歐洲空間局發(fā)射的無人火箭Ariane5在升空40秒后就爆炸了,原因是一個相對于平臺的水平速率是64位的浮點數(shù),結(jié)果被轉(zhuǎn)換成16位的整數(shù),導(dǎo)致火箭偏離了航道,然后解體、爆炸。情景問題——“著名”軟件錯誤
1991年2月,海灣戰(zhàn)爭期間,一枚伊拉克“飛毛腿”導(dǎo)彈襲擊了靠近沙特阿拉伯城市達蘭的一個美軍基地,造成28名美軍士兵死亡,100多人受傷,而位于達蘭的美國“愛國者”導(dǎo)彈發(fā)射器沒有能夠成功地跟蹤并攔截“飛毛腿”導(dǎo)彈。原因是“愛國者”導(dǎo)彈發(fā)射軟件的一個運算涉及到十進制數(shù)0.1,而這個數(shù)沒有被精確地轉(zhuǎn)換為對應(yīng)的二進制數(shù),在大約100個小時的發(fā)射操作中,這個算術(shù)運算的累計誤差是0.34秒,足以使導(dǎo)彈偏離目標(biāo)。
1999年9月,美國發(fā)射的火星氣候探測儀在接近火星時被燒毀,原因是混淆了英國計量單位和國際計量單位,使飛船進入火星大氣層的進入點比預(yù)計的低了大約100公里。軟件開發(fā)與建造房屋的類比一個人就可以建造。需要的是:最小限度的設(shè)計——建模簡單的建造過程簡單的工具由一個團隊來建造。需要的是:認真的建模認真定義的建造過程功能強大的工具情景問題——“著名”軟件錯誤
一般需要多個專業(yè)團隊來共同建造。需要的是:認真的建模認真定義的建造過程功能強大的工具標(biāo)準(zhǔn)化構(gòu)件化軟件作為一種思維產(chǎn)品和其他工程產(chǎn)品相比,有著很多不同的特性,幾乎所有的軟件在特定條件下都會有意想不到的行為。軟件開發(fā)與建造房屋的類比情景問題——“著名”軟件錯誤
軟件工程——軟件危機
軟件危機的表現(xiàn)
軟件危機:指在計算機軟件的開發(fā)和維護過程中遇到的一系列嚴(yán)重問題。軟件危機的典型表現(xiàn)是:(1)軟件開發(fā)成本和進度無法預(yù)測。(2)用戶對已完成的軟件系統(tǒng)不滿意。(3)軟件可靠性沒有保證。(4)軟件沒有適當(dāng)?shù)奈臋n資料。(5)軟件維護費用不斷上升。軟件危機不僅僅是不能正常運行的軟件才具有的,實際上,幾乎所有軟件都不同程度地存在這些問題。軟件工程——軟件危機
軟件開發(fā)的復(fù)雜性(1)開發(fā)環(huán)境的復(fù)雜性(2)用戶需求的多樣性(3)技術(shù)手段的綜合性(4)軟件的復(fù)雜性(5)程序的不可見性(6)無法保證軟件的正確性軟件工程——什么是軟件工程
軟件工程的定義
軟件工程:研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好技術(shù)方法結(jié)合起來。軟件工程包含三個要素:方法、工具和過程。軟件工程——什么是軟件工程
軟件工程的定義
方法:軟件工程的方法指的是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“如何做”的問題。結(jié)構(gòu)化方法的基本思想是“自頂而下,逐步求精”,核心是模塊化軟件工程——什么是軟件工程
軟件工程的定義
方法:軟件工程的方法指的是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“如何做”的問題。面向?qū)ο蠓椒ǖ幕舅枷胧恰白缘紫蛏稀?,核心是抽象、繼承等
軟件工程——什么是軟件工程
軟件工程的定義
工具:軟件工程的工具是為方法的運用提供自動的或半自動的軟件支撐環(huán)境。軟件工程的研究重點之一就是提出可以在開發(fā)過程中使用的各種支持工具。例如,用于數(shù)據(jù)分析的實體-聯(lián)系圖,用于結(jié)構(gòu)化方法的數(shù)據(jù)流圖、模塊結(jié)構(gòu)圖,用于面向?qū)ο蠓椒ǖ念悎D、UML建模,以及能夠?qū)浖_發(fā)全過程提供支持的軟件工程環(huán)境,例如Rational公司提供的RUP(Rational統(tǒng)一過程)和Rose。軟件工程——什么是軟件工程
軟件工程的定義
過程:軟件工程的過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。過程定義了運用方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施以及標(biāo)志軟件開發(fā)各個階段任務(wù)完成的里程碑。例如:軟件生命周期、CMM、文檔資料等。軟件工程已成為一門交叉性學(xué)科,軟件工程是應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法來創(chuàng)建軟件,從而達到提高質(zhì)量、降低成本的目的。計算機科學(xué)和數(shù)學(xué)用于構(gòu)造模型、分析算法;工程科學(xué)用于制定規(guī)范、明確樣例、評估成本、權(quán)衡;管理科學(xué)用于進度、質(zhì)量、成本等的管理。軟件工程——什么是軟件工程
軟件工程的定義
軟件工程——什么是軟件工程
軟件工程的基本原理1.用分階段的生存周期計劃嚴(yán)格管理2.堅持進行階段評審3.實行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)該少而精7.承認不斷改進軟件工程實踐的必要性ISO9000把過程定義為“把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動”。
軟件生命周期:一個軟件從提出開發(fā)要求開始,到開發(fā)完成投入使用,直至廢棄為止的整個時期。軟件生命周期有兩個要點:分階段和文檔。
分階段:從時間進程的角度,整個軟件生命周期被劃分為若干個階段,每個階段有明確的目標(biāo)和任務(wù),要確定完成任務(wù)的理論、方法和工具,要有檢查和審核的手段,要規(guī)定每個階段工作完成的標(biāo)志,即所謂的里程碑。
文檔:指以某種可讀形式存在的技術(shù)資料和管理資料。文檔是在軟件開發(fā)過程中產(chǎn)生的。軟件工程——軟件過程
軟件生命周期
1.軟件定義:主要解決的問題是“做什么”。(1)問題定義:確定軟件的處理對象、軟件與外界的接口、軟件的功能和性能、界面。(2)軟件項目計劃:可行性分析報告、項目計劃書。(3)需求分析:需求規(guī)格說明書。2.軟件開發(fā):主要解決的問題是“怎么做”。(1)軟件設(shè)計:確定軟件結(jié)構(gòu),針對軟件結(jié)構(gòu)中每個部分設(shè)計實現(xiàn)細節(jié)。(2)編碼:程序清單。(3)軟件測試:軟件測試計劃、軟件測試報告。3.軟件維護:軟件維護計劃、軟件維護報告。軟件工程——軟件過程
軟件生命周期
使用程序的人一般不是寫這個程序的人,他們很可能不懂程序,因此需要有使用說明,甚至需要培訓(xùn)教材;修改程序的人可能不是寫這個程序的人,他們需要理解這個程序的設(shè)計思想和程序的演變過程;這個程序可能是一個大系統(tǒng)的一部分,承擔(dān)其他任務(wù)的人需要知道怎樣才能在系統(tǒng)中利用這個程序。因此,需要與程序有關(guān)的其他信息,這些信息要以人們能夠理解的方式加以表現(xiàn)——文檔。軟件工程——軟件過程
為什么需要文檔
軟件工程——軟件過程
軟件開發(fā)模型早期使用瀑布模型,強調(diào)軟件生命周期各階段的固定順序,每個階段完成后都要進行嚴(yán)格的評審。軟件工程——軟件過程
軟件開發(fā)模型快速原型模型通過快速構(gòu)建一個可運行的原型系統(tǒng),讓用戶試用獲取用戶的真實需求,從而減少由于需求不明給開發(fā)工作帶來的風(fēng)險。
軟件工程——軟件過程
軟件開發(fā)模型
近年較有影響的是Rational公司提出的RUP軟件統(tǒng)一過程,RUP使用統(tǒng)一建模語言UML為主要工具,以漸增和迭代的方式進行軟件生命周期的各種活動。主流的開發(fā)模型強調(diào)軟件過程不同階段的劃分,強調(diào)開發(fā)人員的明確分工,但是,也出現(xiàn)了一些較為另類的開發(fā)模式,如極限編程主張團隊成員自由地交換想法,通過設(shè)計、實現(xiàn)、測試的輪轉(zhuǎn),漸進地開發(fā)軟件,當(dāng)軟件規(guī)模不太大時,極限編程是一種可取的開發(fā)模型。軟件質(zhì)量特性
軟件質(zhì)量:指軟件與明確敘述的功能和性能需求、明確描述的開發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度。(1)軟件需求。與需求不一致就是質(zhì)量不高。(2)開發(fā)標(biāo)準(zhǔn)。開發(fā)標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開發(fā)的準(zhǔn)則,沒有遵守這些準(zhǔn)則就不能開發(fā)出高質(zhì)量的軟件產(chǎn)品。(3)隱含需求。通常,行業(yè)內(nèi)有一組沒有顯式描述的隱含需求。軟件工程——軟件質(zhì)量
軟件測試
無論怎樣強調(diào)軟件測試的重要性和它對軟件可靠性的影響都不過分。軟件測試仍然是保證軟件質(zhì)量的關(guān)鍵步驟,它是對軟件規(guī)格說明、設(shè)計和編碼的最終復(fù)審。軟件測試的根本目標(biāo)是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交付給用戶。(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3)成功的測試是發(fā)現(xiàn)了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件工程——軟件質(zhì)量
總結(jié)
經(jīng)過業(yè)界多年努力和來自其他工程技術(shù)的啟發(fā),確立了軟件工程學(xué)的一些基本原則,提出了很多實用的方法和工具,制定了軟件開發(fā)應(yīng)該遵從的標(biāo)準(zhǔn)規(guī)范,但至今未能徹底解決軟件開發(fā)所面臨的種種問題。軟件工程尚未構(gòu)成堅實的基礎(chǔ)理論體系,大部分的軟件特性仍然無法用定量的方法測量,軟件產(chǎn)品的質(zhì)量仍然無法保證。盡管如此,軟件開發(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45660-2025電子裝聯(lián)技術(shù)電子模塊
- GB/T 32250.5-2025農(nóng)林機械在用噴霧機的檢測第5部分:航空噴霧系統(tǒng)
- 網(wǎng)頁設(shè)計與開發(fā)(HTML5+CSS3)-課程標(biāo)準(zhǔn)
- 2025年中國卷式耳塞行業(yè)市場全景分析及前景機遇研判報告
- 2025年中國金屬夾行業(yè)市場全景分析及前景機遇研判報告
- 2025年中國健康和運動跟蹤器行業(yè)市場全景分析及前景機遇研判報告
- 2025年中國監(jiān)控鏡頭行業(yè)市場全景分析及前景機遇研判報告
- 筆記本對筆套裝行業(yè)深度研究分析報告(2024-2030版)
- 普外圍手術(shù)期管理
- 毒性飲片培訓(xùn)課件
- 世界文明史學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 英語國家概況(修訂版)Chapter-18
- 2023-2024學(xué)年四川省南充市高一下學(xué)期7月期末物理試題(解析版)
- 2024年全國財會知識競賽考試題庫(濃縮500題)
- 中學(xué)體育七年級《籃球基本技巧》說課課件
- 實戰(zhàn)-數(shù)字化轉(zhuǎn)型工作手冊 兩份資料
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 2023-2024學(xué)年譯林版八年級英語下冊期末易錯120題(江蘇專用)(含答案解析)
- G -B- 17378.7-2007 海洋監(jiān)測規(guī)范 第7部分 近海污染生態(tài)調(diào)查和生物監(jiān)測(正式版)
- (高清版)JTST 325-2024 水下深層水泥攪拌樁法施工質(zhì)量控制與檢驗標(biāo)準(zhǔn)
- 茂名高州市村(社區(qū))后備干部招聘筆試真題2023
評論
0/150
提交評論