版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
*1.2軟件危機1.3軟件工程1.4軟件生命周期1.5軟件過程1.1軟件*1.1軟件軟件:程序以及開發(fā)、使用和維護程序所需要的所有文檔。軟件:計算機程序、方法、規(guī)則、相關(guān)的文檔資料以及在計算機上運行程序時所必需的數(shù)據(jù)。(1983IEEE)
InstituteofElectricalandElectronicEngineers
(軟件=程序+文檔+數(shù)據(jù))軟件與程序的主要區(qū)別是:規(guī)模龐大、復(fù)雜度高*1.2軟件危機1.2.1軟件危機介紹1.軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。(1)如何開發(fā)軟件,以滿足對軟件日益增長的需求;(2)如何維護數(shù)量不斷膨脹的已有軟件。
軟件蕭條(softwaredepression)
軟件困擾(softwareaffliction)
*2.軟件危機的典型表現(xiàn)(1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確;(2)用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;(3)軟件產(chǎn)品的質(zhì)量往往靠不?。唬?)軟件常常是不可維護的;(5)軟件通常沒有合適的文檔資料(6)軟件成本在計算機系統(tǒng)總成本中所占比例逐年上升;(7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機應(yīng)用迅速普及深入的趨勢。*1.2.2軟件危機產(chǎn)生的原因
1.軟件本身的特點
(1)軟件是邏輯部件而不是物理部件,缺乏“可見性”,管理和控制軟件開發(fā)過程相當(dāng)困難;(2)軟件維護較難;(3)軟件規(guī)模龐大。
2.軟件開發(fā)與維護的方法不正確(1)忽視需求分析(2)輕視軟件維護*1.2.3消除軟件危機的途徑
1.應(yīng)該對計算機軟件有一個正確的認(rèn)識
軟件=程序+文檔+數(shù)據(jù)
2.必須充分認(rèn)識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項目3.應(yīng)該開發(fā)和使用更好的軟件工具*1.3軟件工程
提出:1968年NATO聯(lián)邦德國1.3.1軟件工程介紹1.軟件工程
(1)軟件工程就是為了經(jīng)濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用完善的工程原理。
1968年第一屆NATO會議提出(2)軟件工程是:a把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護過程,也就是把工程應(yīng)用于軟件;b研究a中提到的途徑。1993年IEEE提出*
(3)軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前呢能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。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)品。*1.3.2軟件工程的基本原理1.用分階段的生命周期計劃嚴(yán)格管理2.堅持進行階段評審3.實行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)該少而精7.認(rèn)不斷改進軟件工程實踐的必要性*1.3.3軟件工程方法學(xué)軟件工程包括技術(shù)和管理兩方面的內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。
管理:是通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。方法學(xué):在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱為范型。
軟件工程方法學(xué)的要素:方法工具過程
方法:是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“怎樣做”的問題。*工具:是為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境。如果把各個階段使用的軟件工具有機地集合稱一個整體,支持軟件卡發(fā)的全過程,則稱為軟件工程支撐環(huán)境。過程:是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。*1.傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化實現(xiàn))來完成軟件開發(fā)的各項任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運用。
前一個階段任務(wù)的完成是開始進行后一個階段工作的前提和基礎(chǔ),而后一階段任務(wù)的完成通常是使前一階段提出的解決更進一步具體化,加進了更多的實現(xiàn)細(xì)節(jié)。*2.面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué)把數(shù)據(jù)和行為看成同等重要,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法。
要點:(1)把對象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。(2)把所有對象都劃分成類(class)。(3)按照父類(基類)與子類(派生類)的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)(類等級)。(4)對象彼此間僅能通過發(fā)送消息相互聯(lián)系。*1.4軟件生命周期軟件生命周期軟件定義軟件開發(fā)運行維護問題定義可行性研究需求分析總體設(shè)計詳細(xì)設(shè)計編碼和單元測試綜合測試確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計完成該項工程需要的資源和成本,并且制定工程進度表。具體設(shè)計和實現(xiàn)在前一個時期定義的軟件。使軟件持久地滿足用戶的需要*軟件生命周期各個階段的基本任務(wù)1.問題定義
要解決的問題是什么?2.可行性研究
對于上一個階段所確定的問題有行的通的解決辦法嗎?3.需求分析
為了解決這個問題,目標(biāo)系統(tǒng)必須做什么?4.總體設(shè)計
概括地說,應(yīng)該怎樣實現(xiàn)目標(biāo)系統(tǒng)?5.詳細(xì)設(shè)計
應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)呢?*6.編碼和單元測試
寫出正確的容易理解、容易維護的程序模塊。7.綜合測試
通過各種類型的測試使軟件達(dá)到預(yù)定的要求。8.軟件維護
通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要。改正性維護:診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤。適應(yīng)性維護:修改軟件以適應(yīng)環(huán)境的變化。完善性維護:根據(jù)用戶的要求改進或擴充軟件使它更完善。預(yù)防性維護:修改軟件為將來的維護活動預(yù)先做準(zhǔn)備。*1.5軟件過程
是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。1.5.1瀑布模型
需求分析驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護*1.瀑布模型的特點
(1)階段間具有順序性和依賴性
a.必須等前一階段的工作完成之后,才能開始后一階段的工作;
b.前一階段的輸出文檔就是后一階段的輸入文檔,因此,只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結(jié)果。(2)推遲實現(xiàn)的觀點(3)質(zhì)量保證的觀點a.每一階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù);
b.每一階段結(jié)束前都要對所完成的文檔進行評審,以便盡早發(fā)現(xiàn)問題,改正錯誤。*實際的瀑布模型需求分析驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證*2.瀑布模型的優(yōu)點
(1)可強迫開發(fā)人員采用規(guī)范的方法;(2)嚴(yán)格地規(guī)定了每個階段必須提交的文檔;(3)要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗證。3.瀑布模型的缺點
瀑布模型由文檔驅(qū)動是它的一個主要缺點,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需求。*1.5.2快速原型模型是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集??焖僭万炞C規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證*快速原型模型的優(yōu)點:(1)有助于保證用戶的真實需求得到滿足;(2)不帶反饋環(huán),軟件產(chǎn)品開發(fā)基本上是線性順序進行的。*1.5.3增量模型需求分析驗證規(guī)格說明驗證概要設(shè)計驗證維護針對每個構(gòu)件,完成詳細(xì)設(shè)計、編碼和集成,經(jīng)測試后交付給用戶*增量模型的優(yōu)點:
(1)能在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品;(2)逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。*1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民航西北空管局2026屆畢業(yè)生招聘18人備考題庫參考答案詳解
- 2026福建廈門市人工智能創(chuàng)新中心招聘42人備考題庫含答案詳解
- 分?jǐn)?shù)與除法課件介紹
- 咽喉科工作制度崗位職責(zé)及診療規(guī)范
- 采購部培訓(xùn)課件如何寫
- 保險業(yè)務(wù)處理流程手冊
- 藥理學(xué)入門:藥物經(jīng)濟學(xué)成本效益分析課件
- 生產(chǎn)5s管理培訓(xùn)課件
- 葡萄種育苗技術(shù)培訓(xùn)課件
- 2025至2030中國氫燃料電池汽車行業(yè)市場現(xiàn)狀供需瓶頸及投資方向預(yù)測分析報告
- 天津市重點名校2026屆高一數(shù)學(xué)第一學(xué)期期末統(tǒng)考試題含解析
- 工程車輛銷售合同范本
- 新人抖音直播獎勵制度規(guī)范
- 2026年消防安全評估協(xié)議
- 【小學(xué)】【期末】家長會:孩子在學(xué)校的底氣【課件】
- 鋼結(jié)構(gòu)防腐涂裝工藝方案
- 云上(貴州)數(shù)據(jù)開發(fā)有限公司招聘筆試題庫2026
- 書法美育課件
- 腹壁切口疝教學(xué)課件
- 睡眠監(jiān)測基礎(chǔ)知識
- 2025寧德時代新能源科技股份有限公司招聘備考題庫及答案詳解(新)
評論
0/150
提交評論