軟件工程講座_第1頁(yè)
軟件工程講座_第2頁(yè)
軟件工程講座_第3頁(yè)
軟件工程講座_第4頁(yè)
軟件工程講座_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

提綱引言認(rèn)識(shí)軟件認(rèn)識(shí)軟件工程軟件工程人才和知識(shí)體系第一頁(yè),共29頁(yè)。1.引言為什么要講軟件和軟件工程唯有對(duì)軟件和軟件的開(kāi)發(fā)過(guò)程,有充分的認(rèn)識(shí),才能更好的開(kāi)發(fā)出,過(guò)程受控、質(zhì)量受控的軟件產(chǎn)品。對(duì)于軟件和軟件工程的認(rèn)識(shí)是困難的,但軟件開(kāi)發(fā)的過(guò)程,又存在很多困惑,需要對(duì)此有深刻的認(rèn)識(shí)第二頁(yè),共29頁(yè)。認(rèn)識(shí)軟件及軟件開(kāi)發(fā)過(guò)程是困難的對(duì)軟件的偏見(jiàn)或誤解

軟件就是程序,軟件開(kāi)發(fā)就是編寫(xiě)程序。編完了程序,就一切OK了。掌握了最新的語(yǔ)言和工具,就能寫(xiě)程序了。軟件是靈活的,軟件的修改很容易。一個(gè)人,只要會(huì)編程,就能寫(xiě)軟件,就是程序員;一個(gè)公司,只要召些程序員,就能開(kāi)發(fā)好的軟件產(chǎn)品。只要有幾個(gè)有經(jīng)驗(yàn)的程序員,再找些兼職的大學(xué)生,就能組成一個(gè)軟件公司。第三頁(yè),共29頁(yè)。2.認(rèn)識(shí)軟件軟件在現(xiàn)代社會(huì)的角色什么是軟件軟件的特征軟件是一門(mén)科學(xué)軟件的神話第四頁(yè),共29頁(yè)。軟件無(wú)處不在軟件不僅僅是在計(jì)算機(jī)運(yùn)行的程序任何預(yù)先定義好的程序步驟的地方,都有軟件的身影軟件的應(yīng)用領(lǐng)域系統(tǒng)軟件實(shí)時(shí)軟件商業(yè)軟件工程和科學(xué)計(jì)算軟件嵌入式軟件個(gè)人計(jì)算機(jī)軟件基于Web的軟件(網(wǎng)站)人工智能軟件第五頁(yè),共29頁(yè)。什么是軟件軟件的定義——軟件由二部分組成:程序:在運(yùn)行時(shí),能提供所希望的功能和性能的指令集和數(shù)據(jù)結(jié)構(gòu)。文檔:描述程序研制過(guò)程、方法及使用的文檔軟件處理的是信息和邏輯軟件的開(kāi)發(fā),絕不僅僅是編寫(xiě)程序軟件圍繞著邏輯進(jìn)行軟件是新時(shí)代的產(chǎn)業(yè)核心軟件就是一個(gè)信息交換器

產(chǎn)生、管理、獲取、修改、顯示或傳送信息

第六頁(yè),共29頁(yè)。軟件在現(xiàn)代社會(huì)的角色各產(chǎn)業(yè)在經(jīng)濟(jì)結(jié)構(gòu)中的比例工業(yè)經(jīng)濟(jì)結(jié)構(gòu)與信息經(jīng)濟(jì)結(jié)構(gòu)的演變軟件是信息時(shí)代的焦點(diǎn)計(jì)算機(jī)和軟件導(dǎo)致了“知識(shí)的民主化”“電子社會(huì)”是全球知識(shí)交換的關(guān)鍵。由計(jì)算機(jī)控制的信息和知識(shí),將是21世紀(jì)中權(quán)力的焦點(diǎn)。第七頁(yè),共29頁(yè)。軟件的特征軟件是邏輯的而不是有形的系統(tǒng)元件,具有與硬件完全不同的特征軟件是被開(kāi)發(fā)或設(shè)計(jì)的,而不是傳統(tǒng)意義上被制造的軟件成本集中于開(kāi)發(fā)上,軟件項(xiàng)目不能像制造項(xiàng)目那樣管理軟件不會(huì)磨損,不過(guò)它會(huì)退化對(duì)未發(fā)現(xiàn)的BUG的修復(fù),會(huì)引起較高的故障率不能像硬件維修中直接更換磨損的零件,軟件維護(hù)要復(fù)雜得多故障率時(shí)間第八頁(yè),共29頁(yè)。軟件的特征(2)大多數(shù)軟件開(kāi)發(fā),仍是手工作坊式的開(kāi)發(fā)模式在硬件世界和現(xiàn)代工業(yè)的發(fā)展中,被大量使用的標(biāo)準(zhǔn)設(shè)計(jì)的構(gòu)建是一條非常成功的路子。標(biāo)準(zhǔn)化也是軟件設(shè)計(jì)的一個(gè)方向,軟件產(chǎn)業(yè)正在向基于構(gòu)件的組裝前進(jìn)目前,大多數(shù)軟件仍是定制的軟件是一種邏輯實(shí)體,具有抽象性。人們可以使用軟件,但是無(wú)法看到軟件本身的形態(tài)。必須通過(guò)觀察、分析、思考、判斷,才能了解其功能、性能等特性。設(shè)計(jì)中,軟件的質(zhì)量、可維護(hù)性、可測(cè)試性更加重要當(dāng)前軟件設(shè)計(jì)的趨勢(shì),是設(shè)計(jì)高度封裝,定義良好的應(yīng)用接口軟件是復(fù)雜的,而且以后會(huì)更加復(fù)雜軟件是人類(lèi)有史以來(lái)生產(chǎn)的復(fù)雜度最高的工業(yè)產(chǎn)品。軟件的復(fù)雜,不是因?yàn)檐浖旧韽?fù)雜,而是人的思想復(fù)雜第九頁(yè),共29頁(yè)。軟件是一門(mén)科學(xué)軟件和數(shù)學(xué)的關(guān)系馬克思說(shuō):一門(mén)科學(xué)只有當(dāng)它達(dá)到了能夠成功應(yīng)用數(shù)學(xué)時(shí),才算真正發(fā)展了。愛(ài)因斯坦說(shuō):數(shù)學(xué)給予精密自然科學(xué)以某種程度的可靠性,沒(méi)有數(shù)學(xué),這些科學(xué)是達(dá)不到這樣的可靠性的。

電子計(jì)算機(jī)(尤其是計(jì)算機(jī)軟件)的產(chǎn)生與發(fā)展改變著數(shù)學(xué)的歷史第十頁(yè),共29頁(yè)。軟件的神話(Myths)管理者眼中的軟件神話輔助工具關(guān)于建造軟件的標(biāo)準(zhǔn)和書(shū)籍,難道不能提供人們所有的信息嗎?程序員眼中的軟件神話軟件是一門(mén)藝術(shù)一旦寫(xiě)出了程序,并能正常運(yùn)行,程序員的工作就結(jié)束了軟件工程將創(chuàng)建大量的、不必要的文檔,并影響項(xiàng)目進(jìn)度在程序真正運(yùn)行之前,是沒(méi)有辦法評(píng)估其質(zhì)量的。產(chǎn)業(yè)界的數(shù)據(jù)表明:在一個(gè)軟件上所投入的60%到80%的工作量,是花費(fèi)在第一次將軟件交給客戶之后。第十一頁(yè),共29頁(yè)。軟件的神話(Myths)客戶眼中的軟件神話軟件的神話,導(dǎo)致客戶過(guò)高的期望值,并最終引起對(duì)開(kāi)發(fā)人員的不滿意。典型的客戶神話:有了對(duì)目標(biāo)的一般性描述,就足以開(kāi)始寫(xiě)程序了——我們可以以后再補(bǔ)充細(xì)節(jié)糟糕的系統(tǒng)定義是軟件項(xiàng)目失敗的主要原因。對(duì)需求進(jìn)行形式化的、詳細(xì)的描述是由必要的,這些內(nèi)容只有通過(guò)客戶和開(kāi)發(fā)者之間徹底的交流之后,才能確定。軟件很靈活,可以很方便的進(jìn)行修改。很多客戶認(rèn)為項(xiàng)目需求總是在不斷變更,并且這些變更能夠很容易地滿足第十二頁(yè),共29頁(yè)。軟件開(kāi)發(fā)的困境無(wú)論是早期的孤立的程序員,還是現(xiàn)在的軟件開(kāi)發(fā)團(tuán)隊(duì),面臨著相同的無(wú)法克服的困境和問(wèn)題為什么需要那么長(zhǎng)時(shí)間才能結(jié)束開(kāi)發(fā)?為什么軟件開(kāi)發(fā)的成本如此之高?為什么我們不能在把軟件交付給客戶之前就發(fā)現(xiàn)所有的錯(cuò)誤?為什么在軟件開(kāi)發(fā)過(guò)程中,我們總是難以度量其進(jìn)度?第十三頁(yè),共29頁(yè)。3.認(rèn)識(shí)軟件工程計(jì)算機(jī)軟件發(fā)展的三個(gè)階段軟件危機(jī)軟件工程認(rèn)識(shí)軟件開(kāi)發(fā)過(guò)程第十四頁(yè),共29頁(yè)。計(jì)算機(jī)軟件發(fā)展的三個(gè)階段及特點(diǎn)程序設(shè)計(jì)程序系統(tǒng)軟件工程時(shí)間60年代中期之前60年代中——70年代中期70年代中期之后特點(diǎn)硬件通用,軟件專(zhuān)用;程序規(guī)模小,編寫(xiě)者和使用者為同組人出現(xiàn)“軟件作坊”、出現(xiàn)產(chǎn)品軟件;“個(gè)體化”開(kāi)發(fā)方法軟件開(kāi)發(fā)成為一門(mén)新興的工程學(xué)科——軟件工程軟件的范疇程序程序及說(shuō)明書(shū)產(chǎn)品軟件(項(xiàng)目軟件)主要語(yǔ)言匯編高級(jí)語(yǔ)言高級(jí)語(yǔ)言系統(tǒng)軟件工作范圍程序編寫(xiě)程序編寫(xiě)軟件設(shè)計(jì)和測(cè)試軟件生存期硬件特征價(jià)高、存儲(chǔ)量小、可靠性差降價(jià);速度、容量、可靠性明顯提高向超高速、大容量、微型化發(fā)展軟件特征完全不受重視軟件技術(shù)的發(fā)展不滿足需要,出現(xiàn)了軟件危機(jī)開(kāi)發(fā)技術(shù)有進(jìn)步,但未獲得突破性進(jìn)展,軟件危機(jī)未完全擺脫第十五頁(yè),共29頁(yè)。軟件危機(jī)(softwarecrisis)的產(chǎn)生硬件和軟件發(fā)展的不平衡硬件性能的發(fā)展極其迅速,給軟件提出了更高的要求軟件的開(kāi)發(fā)和維護(hù)成本越來(lái)越大,令人吃驚地高失敗的軟件開(kāi)發(fā)項(xiàng)目屢見(jiàn)不鮮什么是軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的成本、質(zhì)量、進(jìn)度失控的嚴(yán)重問(wèn)題。第十六頁(yè),共29頁(yè)。軟件危機(jī)軟件危機(jī)的表現(xiàn)軟件成本日益增長(zhǎng)開(kāi)發(fā)進(jìn)度難以控制軟件質(zhì)量差軟件維護(hù)困難軟件開(kāi)發(fā)速度跟不上計(jì)算機(jī)發(fā)展速度軟件危機(jī)的原因技術(shù)原因軟件規(guī)模越來(lái)越大軟件復(fù)雜度越來(lái)越高管理原因軟件開(kāi)發(fā)缺乏正確的理論指導(dǎo),過(guò)分依靠個(gè)人技巧和創(chuàng)造性對(duì)用戶需求沒(méi)有完整準(zhǔn)確的認(rèn)識(shí),就匆忙著手編寫(xiě)程序如何克服軟件危機(jī):軟件工程第十七頁(yè),共29頁(yè)。軟件工程軟件工程的提出和定義1968年秋,提出軟件工程1)將系統(tǒng)化的、規(guī)范化的、可量化的工程原則和方法,應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)。2)對(duì)1)中方法的理論研究軟件工程認(rèn)為:按照工程化的原則和方法組織軟件開(kāi)發(fā)工作,是擺脫軟件危機(jī)的一個(gè)主要出路。主要目標(biāo):高效開(kāi)發(fā)高質(zhì)量軟件

兩條思路工業(yè)界:參照修改其它工程項(xiàng)目的管理模式

如ISO,SixSigma學(xué)術(shù)界:CMM/I第十八頁(yè),共29頁(yè)。軟件開(kāi)發(fā)過(guò)程模型軟件開(kāi)發(fā)過(guò)程的最簡(jiǎn)單的模型:瀑布模型意義軟件的開(kāi)發(fā),是有不同的階段的軟件開(kāi)發(fā),不僅僅是編碼第十九頁(yè),共29頁(yè)。軟件開(kāi)發(fā)有自身的規(guī)律軟件的生命周期軟件開(kāi)發(fā)模型瀑布模型噴泉模型螺旋模型

軟件開(kāi)發(fā)方法結(jié)構(gòu)化方法structuredmethod面向?qū)ο蠓椒╫bject-orientedmethod模塊化方法modularmethod軟件復(fù)用softwarereuse軟件開(kāi)發(fā)新方法敏捷軟件開(kāi)發(fā)(極限編程——XP)快速軟件開(kāi)發(fā)統(tǒng)一軟件開(kāi)發(fā)過(guò)程第二十頁(yè),共29頁(yè)。軟件開(kāi)發(fā)過(guò)程的標(biāo)準(zhǔn)化過(guò)程決定了一個(gè)軟件開(kāi)發(fā)的質(zhì)量軟件開(kāi)發(fā)過(guò)程的成熟,是長(zhǎng)期積累的結(jié)果如何衡量一個(gè)組織具有開(kāi)發(fā)可控軟件的能力ISO9000CMM第二十一頁(yè),共29頁(yè)。軟件開(kāi)發(fā)過(guò)程中幾個(gè)關(guān)鍵的認(rèn)識(shí)認(rèn)識(shí)軟件開(kāi)發(fā)過(guò)程的模型軟件開(kāi)發(fā)的過(guò)程,不只是編寫(xiě)程序軟件開(kāi)發(fā)的過(guò)程是有規(guī)律的軟件開(kāi)發(fā)過(guò)程模型有很多,認(rèn)識(shí)開(kāi)發(fā)過(guò)程的規(guī)律很困難研究和認(rèn)識(shí)軟件開(kāi)發(fā)過(guò)程的規(guī)律,不是玩虛的,這是成功開(kāi)發(fā)軟件的基礎(chǔ)開(kāi)發(fā)成本分布工作量分布40-20-40規(guī)則第二十二頁(yè),共29頁(yè)。軟件工程學(xué)科的特點(diǎn)信息化社會(huì)需要大批實(shí)用型、國(guó)際化的軟件工程人才軟件工程學(xué)科是以計(jì)算機(jī)科學(xué)為基礎(chǔ)的新興交叉學(xué)科具有鮮明的工程特色與應(yīng)用領(lǐng)域結(jié)合緊密第二十三頁(yè),共29頁(yè)。SE——人才培養(yǎng)的基本定位培養(yǎng)目標(biāo)--軟件工程師學(xué)生畢業(yè)后,應(yīng)具備軟件工程師從事軟件工程實(shí)踐所需要的素質(zhì)、知識(shí)和能力第二十四頁(yè),共29頁(yè)。SE——知識(shí)結(jié)構(gòu)SWEBOK的十個(gè)領(lǐng)域軟件需求軟件設(shè)計(jì)軟件構(gòu)造軟件測(cè)試軟件維護(hù)軟件配置管理軟件工程管理軟件工程過(guò)程軟件工程工具和方法軟件質(zhì)量第二十五頁(yè),共29頁(yè)。SE——知識(shí)結(jié)構(gòu):SE方向三層次知識(shí)結(jié)構(gòu)第二十六頁(yè),共29頁(yè)。SE——知識(shí)結(jié)構(gòu):SEEK的10個(gè)知識(shí)領(lǐng)域494①計(jì)算基礎(chǔ)172②數(shù)學(xué)和工程基礎(chǔ)89③職業(yè)實(shí)踐35④軟件建模與分析53⑤軟件設(shè)計(jì)45⑥軟件驗(yàn)證與確認(rèn)42⑦軟件進(jìn)化10⑧軟件過(guò)程13⑨軟件質(zhì)量16⑩軟件管理19第二十七頁(yè),共29頁(yè)。SE——知識(shí)結(jié)構(gòu):應(yīng)用知識(shí)領(lǐng)域以網(wǎng)絡(luò)為中心的系統(tǒng)信息系統(tǒng)和數(shù)據(jù)處理金融和電子商務(wù)系統(tǒng)容錯(cuò)和可存活系統(tǒng)高安全系統(tǒng)安全攸關(guān)系統(tǒng)嵌入式和實(shí)時(shí)系統(tǒng)生物學(xué)系統(tǒng)科學(xué)計(jì)算系統(tǒng)電信系統(tǒng)航空和交通系統(tǒng)工業(yè)過(guò)程控制系統(tǒng)多媒體、游戲和娛樂(lè)系統(tǒng)小型移動(dòng)平臺(tái)系統(tǒng)基于Agent的系統(tǒng)中文信息處理………第二十八頁(yè),共29頁(yè)。S

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論