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

下載本文檔

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

文檔簡介

1.2軟件危機(jī)1.3軟件工程1.4軟件生命周期1.5軟件過程1.1軟件2023/1/111.1軟件軟件:程序以及開發(fā)、使用和維護(hù)程序所需要的所有文檔。軟件:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行程序時(shí)所必需的數(shù)據(jù)。(1983IEEE)

InstituteofElectricalandElectronicEngineers

(軟件=程序+文檔+數(shù)據(jù))軟件與程序的主要區(qū)別是:規(guī)模龐大、復(fù)雜度高2023/1/111.2軟件危機(jī)1.2.1軟件危機(jī)介紹1.軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。(1)如何開發(fā)軟件,以滿足對(duì)軟件日益增長的需求;(2)如何維護(hù)數(shù)量不斷膨脹的已有軟件。

軟件蕭條(softwaredepression)

軟件困擾(softwareaffliction)

2023/1/112.軟件危機(jī)的典型表現(xiàn)(1)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確;(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;(3)軟件產(chǎn)品的質(zhì)量往往靠不?。唬?)軟件常常是不可維護(hù)的;(5)軟件通常沒有合適的文檔資料(6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占比例逐年上升;(7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢。2023/1/111.2.2軟件危機(jī)產(chǎn)生的原因

1.軟件本身的特點(diǎn)

(1)軟件是邏輯部件而不是物理部件,缺乏“可見性”,管理和控制軟件開發(fā)過程相當(dāng)困難;(2)軟件維護(hù)較難;(3)軟件規(guī)模龐大。

2.軟件開發(fā)與維護(hù)的方法不正確(1)忽視需求分析(2)輕視軟件維護(hù)2023/1/111.2.3消除軟件危機(jī)的途徑

1.應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí)

軟件=程序+文檔+數(shù)據(jù)

2.必須充分認(rèn)識(shí)到軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項(xiàng)目3.應(yīng)該開發(fā)和使用更好的軟件工具2023/1/111.3軟件工程

提出:1968年NATO聯(lián)邦德國1.3.1軟件工程介紹1.軟件工程

(1)軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理。

1968年第一屆NATO會(huì)議提出(2)軟件工程是:a把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件;b研究a中提到的途徑。1993年IEEE提出2023/1/11

(3)軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前呢能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。2.軟件工程的特性

(1)軟件工程關(guān)注于大型程序的構(gòu)造(2)軟件工程的中心課題是控制復(fù)雜性(3)軟件經(jīng)常變化(4)開發(fā)軟件的效率非常重要(5)和諧地合作是開發(fā)軟件的關(guān)鍵(6)軟件必須有效地支持它的用戶(7)在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。2023/1/111.3.2軟件工程的基本原理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.開發(fā)小組的人員應(yīng)該少而精7.認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性2023/1/111.3.3軟件工程方法學(xué)軟件工程包括技術(shù)和管理兩方面的內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。

管理:是通過計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。方法學(xué):在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱為范型。

軟件工程方法學(xué)的要素:方法工具過程

方法:是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問題。2023/1/11工具:是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境。如果把各個(gè)階段使用的軟件工具有機(jī)地集合稱一個(gè)整體,支持軟件卡發(fā)的全過程,則稱為軟件工程支撐環(huán)境。過程:是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。2023/1/111.傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用。

前一個(gè)階段任務(wù)的完成是開始進(jìn)行后一個(gè)階段工作的前提和基礎(chǔ),而后一階段任務(wù)的完成通常是使前一階段提出的解決更進(jìn)一步具體化,加進(jìn)了更多的實(shí)現(xiàn)細(xì)節(jié)。2023/1/112.面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué)把數(shù)據(jù)和行為看成同等重要,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來的方法。

要點(diǎn):(1)把對(duì)象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。(2)把所有對(duì)象都劃分成類(class)。(3)按照父類(基類)與子類(派生類)的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(類等級(jí))。(4)對(duì)象彼此間僅能通過發(fā)送消息相互聯(lián)系。2023/1/111.4軟件生命周期軟件生命周期軟件定義軟件開發(fā)運(yùn)行維護(hù)問題定義可行性研究需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測試綜合測試確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件。使軟件持久地滿足用戶的需要2023/1/11軟件生命周期各個(gè)階段的基本任務(wù)1.問題定義

要解決的問題是什么?2.可行性研究

對(duì)于上一個(gè)階段所確定的問題有行的通的解決辦法嗎?3.需求分析

為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么?4.總體設(shè)計(jì)

概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?5.詳細(xì)設(shè)計(jì)

應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?2023/1/116.編碼和單元測試

寫出正確的容易理解、容易維護(hù)的程序模塊。7.綜合測試

通過各種類型的測試使軟件達(dá)到預(yù)定的要求。8.軟件維護(hù)

通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。改正性維護(hù):診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯(cuò)誤。適應(yīng)性維護(hù):修改軟件以適應(yīng)環(huán)境的變化。完善性維護(hù):根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件使它更完善。預(yù)防性維護(hù):修改軟件為將來的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。2023/1/111.5軟件過程

是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。1.5.1瀑布模型

需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測試綜合測試維護(hù)2023/1/111.瀑布模型的特點(diǎn)

(1)階段間具有順序性和依賴性

a.必須等前一階段的工作完成之后,才能開始后一階段的工作;

b.前一階段的輸出文檔就是后一階段的輸入文檔,因此,只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結(jié)果。(2)推遲實(shí)現(xiàn)的觀點(diǎn)(3)質(zhì)量保證的觀點(diǎn)a.每一階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù);

b.每一階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問題,改正錯(cuò)誤。2023/1/11實(shí)際的瀑布模型需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測試綜合測試維護(hù)變化的需求驗(yàn)證2023/1/112.瀑布模型的優(yōu)點(diǎn)

(1)可強(qiáng)迫開發(fā)人員采用規(guī)范的方法;(2)嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔;(3)要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證。3.瀑布模型的缺點(diǎn)

瀑布模型由文檔驅(qū)動(dòng)是它的一個(gè)主要缺點(diǎn),很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需求。2023/1/111.5.2快速原型模型是快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集??焖僭万?yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測試綜合測試維護(hù)變化的需求驗(yàn)證2023/1/11快速原型模型的優(yōu)點(diǎn):(1)有助于保證用戶的真實(shí)需求得到滿足;(2)不帶反饋環(huán),軟件產(chǎn)品開發(fā)基本上是線性順序進(jìn)行的。2023/1/111.5.3增量模型需求分析驗(yàn)證規(guī)格說明驗(yàn)證概要設(shè)計(jì)驗(yàn)證維護(hù)針對(duì)每個(gè)構(gòu)件,完成詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測試后交付給用戶2023/1/11增量模型的優(yōu)點(diǎn):

(1)能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品;(2)逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來的沖擊。2023/1/111.5.4螺旋模

溫馨提示

  • 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)論