計(jì)算機(jī)科學(xué)導(dǎo)論第8章軟件工程_第1頁
計(jì)算機(jī)科學(xué)導(dǎo)論第8章軟件工程_第2頁
計(jì)算機(jī)科學(xué)導(dǎo)論第8章軟件工程_第3頁
計(jì)算機(jī)科學(xué)導(dǎo)論第8章軟件工程_第4頁
計(jì)算機(jī)科學(xué)導(dǎo)論第8章軟件工程_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第8章 軟件工程,本章要點(diǎn):,了解軟件危機(jī)、軟件工程的概念、軟件的生命周期 掌握軟件開發(fā)模型和軟件開發(fā)方法 了解軟件質(zhì)量評價(jià)和保證體系 了解軟件項(xiàng)目管理 了解軟件評審 了解軟件可靠性 了解軟件容錯(cuò) 了解軟件環(huán)境,8.1 軟件工程概述,1.軟件危機(jī) 概念:大型軟件開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題 。 表現(xiàn)形式:質(zhì)量難以保證 、開發(fā)成本和開發(fā)進(jìn)度難以控制 、維護(hù)非常困難 、用戶不滿意 。 產(chǎn)生的原因: 規(guī)模 、管理 、費(fèi)用 、開發(fā)技術(shù) 、生產(chǎn)方式 、開發(fā)工具。,8.1 軟件工程概述,2.基本概念 軟件工程 :研究大規(guī)模程序設(shè)計(jì)的方法、工具和管理的一門工程科學(xué),也就是運(yùn)用系統(tǒng)的、規(guī)范的和可定量的

2、方法來開發(fā)、運(yùn)行和維護(hù)軟件的系統(tǒng)工程。,8.1 軟件工程概述,3.軟件生命周期 一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。 (包括可行性分析和項(xiàng)目開發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試、維護(hù)等活動(dòng))。,8.2 軟件開發(fā)模型,1.瀑布模型,8.2 軟件開發(fā)模型,2.快速原型法模型,8.2 軟件開發(fā)模型,3.螺旋模型,8.2 軟件開發(fā)模型,4.噴泉模型,8.3 軟件開發(fā)方法,1.模塊化方法 將待開發(fā)軟件劃分為一些功能相對獨(dú)立的模塊,模塊與模塊之間定義相應(yīng)的接口,各個(gè)模塊是可以分別單獨(dú)開發(fā)、調(diào)試、運(yùn)行測試的,最后,再將多個(gè)模塊組合起來,進(jìn)行軟件的整體測試,從而完成整個(gè)軟件的

3、開發(fā)。 注意模塊劃分原則: 低耦合、大小適宜、接口明確、高復(fù)用率、調(diào)用層次少。,8.3 軟件開發(fā)方法,2. 結(jié)構(gòu)化方法 又稱面向數(shù)據(jù)流的軟件開發(fā)方法 ,使用了一組符號和一系列的準(zhǔn)則和工具來完成軟件開發(fā)各階段的工作。 原則: 用戶參與需求分析,先分析、再設(shè)計(jì)、后實(shí)現(xiàn),自頂向下,文檔化管理。,8.3 軟件開發(fā)方法,3.面向數(shù)據(jù)結(jié)構(gòu)方法 通過分析信息結(jié)構(gòu),并使用專門的圖形描述工具數(shù)據(jù)結(jié)構(gòu)圖進(jìn)行系統(tǒng)分析,從而得到軟件結(jié)構(gòu)。 4.面向?qū)ο蠓椒?從分析組成系統(tǒng)的對象開始,以數(shù)據(jù)抽象的類為基礎(chǔ)、自底向上的開發(fā)方法。,8.3 軟件開發(fā)方法,5.統(tǒng)一建模語言(UML) 是一種面向?qū)ο蟮慕UZ言。它只是給出一套用

4、于建模的元素及表示符號,并定義了它們的語義,而并不涉及如何進(jìn)行系統(tǒng)建模。,8.3 軟件開發(fā)方法,軟件復(fù)用和構(gòu)件技術(shù) 利用人們長期進(jìn)行軟件開發(fā)而積累的知識、經(jīng)驗(yàn)、設(shè)計(jì)方法、需求分析、設(shè)計(jì)、編碼、測試、文檔等,來進(jìn)行新的軟件開發(fā)。復(fù)用對象可以包括整個(gè)軟件開發(fā)過程及其成果。 構(gòu)件(Component)是在軟件系統(tǒng)設(shè)計(jì)中可以明確辨識的構(gòu)成成分。而可復(fù)用構(gòu)件(Reusable Component)是指具有相對獨(dú)立的功能和可復(fù)用價(jià)值的構(gòu)件。,8.4 軟件質(zhì)量評價(jià)和保證,1.軟件質(zhì)量的定義 (1) 與所確定的功能和性能需求的一致性。 (2) 與所成文的開發(fā)標(biāo)準(zhǔn)的一致性。 (3) 與所有專業(yè)開發(fā)的軟件所期望的

5、隱含特性的一致性。 2. 影響軟件質(zhì)量的因素: (1) 可以直接度量的因素: 如單位時(shí)間內(nèi)千行代碼(KLOC)中所產(chǎn)生的錯(cuò)誤數(shù)。 (2) 只能間接度量的因素: 如可用性或可維護(hù)性。,8.4 軟件質(zhì)量評價(jià)和保證,3.軟件質(zhì)量保證的含義: 質(zhì)量保證就是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量活動(dòng),即確定、達(dá)到和維護(hù)需要的軟件質(zhì)量而進(jìn)行的所有有計(jì)劃、有系統(tǒng)的管理活動(dòng)。,8.6 軟件的復(fù)雜性,1. 基本概念 軟件復(fù)雜性度量的參數(shù): (1) 規(guī)模:即總共的指令數(shù),或源程序行數(shù)。 (2) 難度:通常由程序中出現(xiàn)的操作數(shù)的數(shù)目所決定的量來表示。 (3) 結(jié)構(gòu):通常用與

6、程序結(jié)構(gòu)有關(guān)的度量來表示。 (4) 智能度:即算法的難易程度。,8.7 軟件項(xiàng)目管理,1. 軟件項(xiàng)目計(jì)劃 目標(biāo)是為項(xiàng)目負(fù)責(zé)人提供一個(gè)框架,使之能合理地估算軟件項(xiàng)目開發(fā)所需的資源、經(jīng)費(fèi)和開發(fā)進(jìn)度,并控制軟件項(xiàng)目開發(fā)過程按此計(jì)劃進(jìn)行。 2. 軟件項(xiàng)目計(jì)劃內(nèi)容 范圍:給出該軟件項(xiàng)目的綜合描述,定義所要做的工作以及性能限制 。 資源:所需人員配置、軟件、硬件及其他資源。 進(jìn)度安排:給出實(shí)施進(jìn)度、資源使用表、成本估算、培訓(xùn)計(jì)劃等。,8.8 軟件可靠性,1. 軟件可靠性定義 一個(gè)程序按照用戶的要求和設(shè)計(jì)的目標(biāo),執(zhí)行其功能的正確程度。 一個(gè)可靠的程序應(yīng)要求是正確的、完整的、一致的和健壯的。 2.軟件可靠性指

7、標(biāo) 平均失效等待時(shí)間MTTF 平均失效間隔時(shí)間MTBF,8.9 軟件評審,在軟件開發(fā)的各個(gè)階段都要采用評審的方法,以發(fā)現(xiàn)軟件中的缺陷,然后加以改正。 主要包括: (1) 設(shè)計(jì)的規(guī)格說明書要符合用戶的要求。 (2) 程序要按照設(shè)計(jì)規(guī)格說明書所規(guī)定的情況正確執(zhí)行。,8.11 軟件工程環(huán)境,1.軟件開發(fā)環(huán)境概述 (1) 軟件開發(fā)環(huán)境:在計(jì)算機(jī)的基本軟件的基礎(chǔ)上,為了支持軟件的開發(fā)而提供的一組工具軟件系統(tǒng) 。 (2) 對軟件開發(fā)環(huán)境的要求: 一體化 、通用性 、適應(yīng)性和靈活性 、易使用、經(jīng)濟(jì)高效 。,8.11 軟件工程環(huán)境,2.軟件開發(fā)環(huán)境的分類 (1) 按解決的問題分類 :程序設(shè)計(jì)環(huán)境 、系統(tǒng)合成環(huán)

8、境 、項(xiàng)目管理環(huán)境 。 (2) 按軟件開發(fā)環(huán)境的演變趨向分類 : 以語言為中心的環(huán)境 、工具箱環(huán)境 、基于方法的環(huán)境 。 (3) 按集成化程度分類 : 第一代 、第二代 、第三代 。,8.11 軟件工程環(huán)境,3.軟件工具的基本概念 軟件工具 :指為支持計(jì)算機(jī)軟件的開發(fā)、維護(hù)、模擬、移植或管理而研制的程序系統(tǒng)。 (軟件工具通常由工具、工具接口和工具用戶接口3部分構(gòu)成),8.11 軟件工程環(huán)境,4.計(jì)算機(jī)輔助軟件工程 CASE定義 :CASE是一組工具和方法的集合,可以輔助軟件生存周期各階段進(jìn)行軟件開發(fā)。從學(xué)術(shù)研究角度講,CASE是多年來在軟件開發(fā)管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和軟件工具等方面研究和發(fā)展的產(chǎn)物。,軟件工程的發(fā)展方向,“敏捷開發(fā)”(Agile Develo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論