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