第1章軟件工程學(xué)概述_第1頁
第1章軟件工程學(xué)概述_第2頁
第1章軟件工程學(xué)概述_第3頁
第1章軟件工程學(xué)概述_第4頁
第1章軟件工程學(xué)概述_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件工程許靜

E-Mail:xjhelen@163.com1軟件工程(SoftwareEngineering,簡稱為SE)是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計(jì)語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等方面。在現(xiàn)代社會(huì)中,軟件應(yīng)用于多個(gè)方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會(huì)的發(fā)展,使得人們的工作更加高效,同時(shí)提高了生活質(zhì)量。2教材軟件工程導(dǎo)論(第5版)張海藩清華大學(xué)出版社(2008)3各章節(jié)主要內(nèi)容第1章軟件與軟件工程第2章可行性研究第3章需求分析第4章總體設(shè)計(jì)第5章詳細(xì)設(shè)計(jì)第6章實(shí)現(xiàn)第7章軟件維護(hù)第8章面向?qū)ο蟮姆治鲈O(shè)計(jì)方法第9章軟件項(xiàng)目管理4考試?yán)碚摽荚?平時(shí)成績30%(考勤、書面作業(yè)、課堂測(cè)驗(yàn)、論文等)期末考試70%(閉卷)5第1章軟件工程學(xué)概述內(nèi)容提要:軟件和軟件危機(jī)軟件工程軟件生命周期軟件過程6§1.1軟件和軟件危機(jī)1、軟件軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料72、軟件的特點(diǎn)抽象性:軟件是邏輯實(shí)體,而不是具體的物理實(shí)體嚴(yán)密性:軟件是邏輯產(chǎn)品,它的生產(chǎn)與物理產(chǎn)品不同,在它的開發(fā)過程中沒有明顯的制造過程智力性:軟件的開發(fā)是技術(shù)人員從無到有寫出程序的過程持久性:軟件沒有時(shí)間磨損一次性:軟件的開發(fā)和運(yùn)行常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有不同程度的依賴難以度量:難定量變量必須維護(hù):糾錯(cuò)和變更83、軟件的發(fā)展軟件的發(fā)展是與計(jì)算機(jī)硬件系統(tǒng)的發(fā)展密切相關(guān)的軟件發(fā)展經(jīng)歷了三個(gè)階段試驗(yàn)階段:1940—1960

特點(diǎn):(1)先硬后軟

(2)完全是手工編寫程序,手工操作

(3)工作效率極低

(4)無文檔資料、只有程序文本9軟件的發(fā)展理論抽象階段:1960—1970

特點(diǎn):(1)軟件急劇發(fā)展

a.高級(jí)語言涌現(xiàn)(公布1000多種,常用20多種)

b.操作系統(tǒng)(批處理、分時(shí)、實(shí)時(shí))、數(shù)據(jù)庫的出現(xiàn)(2)出現(xiàn)軟件作坊(3)出現(xiàn)了軟件危機(jī)

a.質(zhì)量差

b.成本難以控制

c.進(jìn)度難控

d.維護(hù)困難

10美國IBM公司在1963年至1966年開發(fā)的IBM360機(jī)的操作系統(tǒng),這一項(xiàng)目花了5000人一年的工作量,最多時(shí)有1000人投入開發(fā)工作,寫出了近100萬行源程序……據(jù)統(tǒng)計(jì),這個(gè)操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個(gè)程序錯(cuò)誤而修正的結(jié)果。這個(gè)項(xiàng)目的負(fù)責(zé)人F.D.Brooks事后總結(jié)了他在組織開發(fā)過程中的沉痛教訓(xùn)時(shí)說:“……正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑?zāi)難……程序設(shè)計(jì)正像這樣一個(gè)泥潭,……一批批程序員被迫在泥潭中拼命掙扎,……誰也沒有料到問題竟會(huì)陷入這樣的困境……。”11軟件的發(fā)展(4)提出“軟件工程”術(shù)語1968年10月,北大西洋公約組織召開討論軟件可靠性會(huì)議上提出“軟件工程”12軟件的發(fā)展技術(shù)發(fā)展階段:1970—今特點(diǎn):(1)軟件的成批生產(chǎn):不是copy,出現(xiàn)軟件工廠(2)微機(jī)急劇發(fā)展,普遍應(yīng)用(3)“軟件工程”被正式承認(rèn)1973年,國際軟件可靠性會(huì)議決定,軟件錯(cuò)誤來自設(shè)計(jì)上的錯(cuò)誤1975年,召開第一次軟件工程國際會(huì)議,軟件工程被正式承認(rèn),出版了軟件工程雜志SoftwareEngineering13軟件的發(fā)展軟件產(chǎn)品在不同時(shí)期關(guān)注的問題不同:

70年代:規(guī)模問題規(guī)模大

80年代:量的問題人員缺乏的量

90年代:質(zhì)的問題可靠性和易操作

90年代后:接口問題數(shù)據(jù)和程序的互換和連接性開放式系統(tǒng)

144、軟件危機(jī)(1)軟件危機(jī)定義軟件的開發(fā)和維護(hù)過程中所遇到的一系列問題(2)軟件危機(jī)的典型表現(xiàn)對(duì)軟件開發(fā)的成本和進(jìn)度估計(jì)不準(zhǔn)確用戶對(duì)已完成的軟件產(chǎn)品往往不滿意軟件產(chǎn)品的質(zhì)量不可靠可維護(hù)性差文檔不完整或無文檔軟件成本上升(軟件+硬件比例成本)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。15軟硬件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例16軟件危機(jī)(3)軟件危機(jī)產(chǎn)生的原因與軟件本身特點(diǎn)有關(guān)。開發(fā)與維護(hù)的方法有關(guān)a.對(duì)需求分析的理解不明就匆忙著手編寫程序b.重程序,輕配置c.輕視軟件維護(hù)17軟件危機(jī)(4)消除軟件危機(jī)的途徑正確認(rèn)識(shí)計(jì)算機(jī)軟件軟件開發(fā)過程的工程化開發(fā)工具的高性能化開發(fā)人員的高素質(zhì)化18§1.2軟件工程1、軟件工程定義用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門工程學(xué)科。2、軟件工程的基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性19軟件工程3、軟件工程方法學(xué)軟件工程包括技術(shù)和管理兩方面的內(nèi)容軟件工程的管理就是通過計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。軟件工程方法學(xué):在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)。20軟件工程軟件工程方法學(xué)包括3個(gè)要素:方法、工具和過程方法:為軟件開發(fā)提供了如何做的技術(shù)工具:為軟件工程方法提供了自動(dòng)化或半自動(dòng)化的軟件支撐環(huán)境過程:軟件工程過程定義了①方法使用的順序;②要求交付的文檔資料;③為保證質(zhì)量和適應(yīng)變化所需要的管理;④軟件開發(fā)各個(gè)階段完成的里程碑。21軟件工程目前最廣泛的軟件工程方法學(xué):(1)傳統(tǒng)方法學(xué):也叫做生命周期方法學(xué),采用結(jié)構(gòu)化技術(shù)完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化得運(yùn)用。(2)面向?qū)ο蠓椒▽W(xué)軟件項(xiàng)目實(shí)踐WordVisioPowerDesignerSourcesafeRoseMicrosoftproject22§1.3

軟件生命周期軟件生命周期軟件生命周期(SoftwareLifeCycle)是指一個(gè)軟件產(chǎn)品從被提出開始研制到軟件最終被廢棄不再使用為止的全過程。軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3個(gè)時(shí)期組成,每個(gè)時(shí)期又被劃分成若干個(gè)階段23軟件生命周期階段基本任務(wù)軟件定義軟件開發(fā)運(yùn)行維護(hù)問題定義可行性研究需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試綜合測(cè)試確定要解決的問題是什么確定項(xiàng)目的可行性確定目標(biāo)系統(tǒng)必須具備哪些功能概括的說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)寫出正確的容易理解、容易維護(hù)的程序模塊通過各種類型的測(cè)試使軟件達(dá)到預(yù)定的要求通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久的滿足用戶的需要24§1.4

軟件過程軟件過程描述了為達(dá)到某個(gè)確定的目標(biāo),需要什么人在什么時(shí)間以何種方式做何種工作用軟件生命周期模型描述軟件過程生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個(gè)階段的執(zhí)行順序,生命周期模型也稱過程模型25軟件過程說明:軟件生命周期被劃分成的階段需求分析(包括問題定義、可行性研究)規(guī)格說明:用正確的文檔準(zhǔn)確的記錄目標(biāo)系統(tǒng)的要求設(shè)計(jì)(包括總體設(shè)計(jì)、詳細(xì)設(shè)計(jì))編碼、測(cè)試(單元測(cè)試)綜合測(cè)試維護(hù)26瀑布模型(文檔驅(qū)動(dòng)的模型)傳統(tǒng)的瀑布模型實(shí)際的瀑布模型27瀑布模型的特點(diǎn)①階段間具有順序性:前一階段的工作完成之后,才能開始后一階段的工作;階段間具有依賴性:每一階段結(jié)束都需要有交付的文檔,前一階段的輸出文檔是后一階段的輸入文檔。②清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn)。③保證質(zhì)量每個(gè)階段必須完成規(guī)定的文檔;每個(gè)階段結(jié)束前必須對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問題,改正錯(cuò)誤。28瀑布模型當(dāng)有一個(gè)穩(wěn)定的產(chǎn)品定義和很容易被理解的技術(shù)解決方案時(shí),瀑布模型特別合適當(dāng)你對(duì)一個(gè)定義得很好的版本進(jìn)行維護(hù)或?qū)⒁粋€(gè)產(chǎn)品移植到一個(gè)新的平臺(tái)上,瀑布模型也特別合適。瀑布模型能夠降低管理費(fèi)用,因?yàn)槟憧梢灶A(yù)先完成所有計(jì)劃。對(duì)于那些容易理解但很復(fù)雜的項(xiàng)目,采用瀑布模型比較合適,因?yàn)榭梢杂庙樞蚍椒ㄌ幚韱栴}。在質(zhì)量需求高于成本需求和進(jìn)度需求的時(shí)候,它尤為出色。當(dāng)開發(fā)隊(duì)伍的技術(shù)力量比較弱或者缺乏經(jīng)驗(yàn)時(shí),瀑布模型更為適合。29瀑布模型的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn):可強(qiáng)迫開發(fā)人員采用規(guī)范的方法。嚴(yán)格的規(guī)定了每個(gè)階段必須提交的文檔。要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證。缺點(diǎn):瀑布模型幾乎完全依賴于書面的規(guī)格說明,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。30快速原型模型快速原型模型31快速原型模型原型的好處從實(shí)踐中學(xué)習(xí)(Learningbydoing)改善的通信改善的用戶參與使部分已知的需求清晰化展示描述的一致性和完整性可能可以減少文檔減少了維護(hù)成本特征約束(利用工具構(gòu)造原型可以將某些特性落到實(shí)處,而非在紙上寫的那樣容易失誤)32快速原型模型原型法的缺點(diǎn)用戶有時(shí)誤解了原型的角色,例如他們可能誤解原形應(yīng)該和真實(shí)系統(tǒng)一樣可靠缺少項(xiàng)目標(biāo)準(zhǔn),原型法有點(diǎn)像編碼修正額外的花費(fèi):研究結(jié)果表明構(gòu)造一個(gè)原型可能需要10%額外花費(fèi)原型法要求開發(fā)者與用戶密切接觸,有時(shí)這是不可能的。例如外包軟件。33

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論