軟件工程軟件工程概述課件

上傳人:仙*** 文檔編號:241786962 上傳時間:2024-07-24 格式:PPT 頁數(shù):79 大?。?39KB
收藏 版權(quán)申訴 舉報 下載
軟件工程軟件工程概述課件_第1頁
第1頁 / 共79頁
軟件工程軟件工程概述課件_第2頁
第2頁 / 共79頁
軟件工程軟件工程概述課件_第3頁
第3頁 / 共79頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《軟件工程軟件工程概述課件》由會員分享,可在線閱讀,更多相關(guān)《軟件工程軟件工程概述課件(79頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、軟件工程軟件工程概述軟件工程軟件工程概述ppt課件課件1、戰(zhàn)鼓一響,法律無聲。英國2、任何法律的根本;不,不成文法本身就是講道理法律,也-即明示道理。愛科克3、法律是最保險的頭盔。愛科克4、一個國家如果綱紀不正,其國風(fēng)一定頹敗。塞內(nèi)加5、法律不能使人人平等,但是在法律面前人人是平等的。波洛克1.軟件的定義 軟件是計算機系統(tǒng)中與硬件相互依存的一部分,它是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是指按事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是指使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是指與程序開發(fā)、維護和使用有關(guān)的圖文資料。2.軟件的分類1)按軟件功能系統(tǒng)軟件支撐軟件應(yīng)用軟件2)按軟件規(guī)模微

2、型軟件小型軟件中型軟件大型軟件甚大型軟件極大型軟件3.軟件的特點軟件是一種邏輯實體,而不是物理實體。軟件的生產(chǎn)過程是開發(fā),而不是制造。軟件不存在磨損、老化現(xiàn)象。軟件的開發(fā)和運行常常受到計算機系統(tǒng)的限制。軟件是復(fù)雜的。年 份軟 件指 令 條 數(shù)1963水星計劃系統(tǒng)200萬條1967雙子星座計劃系統(tǒng)400萬條1973阿波羅計劃系統(tǒng)1000萬條1979哥倫比亞航天飛機系統(tǒng)4000萬條美國宇航局的軟件系統(tǒng)一覽表圖1-1 計算機系統(tǒng)中軟硬件成本所占比例的變化1.1.2 軟件生產(chǎn)的發(fā)展程序設(shè)計時期(約為20世紀5060年代)程序系統(tǒng)時期(約為20世紀6070年代)軟件工程時期(20世紀70年代以后)時 期

3、特 點程 序 設(shè) 計程 序 系 統(tǒng)軟 件 工 程軟件的含義程序程序及規(guī)格說明書程序、文檔、數(shù)據(jù)主要程序設(shè)計語言匯編語言、機器語言高級語言 高級語言、各種開發(fā)工具軟件使用者程序員本人少數(shù)用戶市場用戶軟件規(guī)模小型中型大型開發(fā)軟件需要的人力個人開發(fā)小組開發(fā)小組及大中型軟件開發(fā)機構(gòu)軟件開發(fā)涉及的工作編碼設(shè)計、編碼、測試軟件生命周期的各個階段1.1.3 軟件開發(fā)面臨的主要問題 西方計算機科學(xué)家在20世紀6070年代總結(jié)了軟件開發(fā)和維護過程中遇到的一系列嚴重問題,表現(xiàn)為以下幾方面:對軟件開發(fā)成本和進度的估計常常不準確,開發(fā)成本超出預(yù)算,實際進度相比預(yù)定計劃一再拖延。用戶對“已完成”系統(tǒng)不滿意的現(xiàn)象時有發(fā)生

4、。軟件質(zhì)量常常不可靠,“缺陷”和“補丁”不斷。軟件的可維護程度非常低。軟件通常沒有相應(yīng)的文檔資料。軟件成本不斷提高。軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和人們需求的增長。1.1.4 軟件危機的提出1968年,北大西洋公約組織的計算機科學(xué)家在聯(lián)邦德國召開國際會議,第一次討論了“軟件危機”問題?!败浖C”是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題,這類問題不僅僅是“不能正常運行的軟件”才具有的,實際上幾乎所有軟件都不同程度地存在這類問題。概括來說,軟件危機包含兩方面的問題:一是如何開發(fā)軟件,以滿足不斷增長、日趨復(fù)雜的需求;二是如何維護規(guī)模不斷膨脹的軟件產(chǎn)品。這次會議同時提出了解決“

5、軟件危機”的途徑,即采用工程化的思想來管理軟件開發(fā)的過程,并正式提出“軟件工程”一詞,從此一門新興的工程學(xué)科軟件工程應(yīng)運而生。1.2 軟件工程1.2.1 軟件工程的定義軟件工程是導(dǎo)軟件開發(fā)和維護的一門工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法,把經(jīng)過時間檢驗而證明是正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,用于開發(fā)和維護軟件。軟件工程是一門綜合性的交叉學(xué)科,它涉及哲學(xué)、計算機科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)及應(yīng)用領(lǐng)域知識。2.軟件的分類1)按軟件功能系統(tǒng)軟件支撐軟件應(yīng)用軟件1.2.2 軟件工程的內(nèi)容和目標(biāo)軟件工程的三個要素軟件工程方法軟件工具軟件工程的過程軟件工程的目標(biāo)付出較低的開

6、發(fā)成本達到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護費用能按時完成開發(fā)工作,及時交付使用1.2.3 軟件工程的作用(1)從軟件企業(yè)的專業(yè)人才來講,其作用體現(xiàn)在以下幾個方面:高層管理人員利用軟件工程的理論和方法來管理整個公司。中層項目經(jīng)理和軟件工程師:利用軟件工程的理論和方法,來管理項目組的軟件開發(fā)。軟件藍領(lǐng)工人利用軟件工程的理論和方法來實現(xiàn)軟件的開發(fā)。軟件營銷人員利用軟件工程的理論和方法與客戶進行溝通,以贏得客戶的信任。軟件實施和維護人員:利用軟件工程的理論和方法,來實現(xiàn)軟件的功能、性能與接口的實施和維護。軟件售前人員利用軟件工程的理論和方法,來提高投標(biāo)成功的把握。(2)

7、從軟件項目管理來講,其作用體現(xiàn)在:在規(guī)定的時間內(nèi)按照規(guī)定的成本實現(xiàn)符合預(yù)期的質(zhì)量目標(biāo)(軟件的功能、性能和接口達到需求說明書的要求)的軟件。(3)從軟件企業(yè)本身來講,其作用體現(xiàn)在:持續(xù)地規(guī)范軟件開發(fā)過程和軟件管理過程,不斷地優(yōu)化軟件組織的個人素質(zhì)和集體素質(zhì),從而逐漸增強軟件企業(yè)的市場競爭實力。(4)從軟件企業(yè)發(fā)展進程來講,其作用體現(xiàn)在:克服軟件危機,控制軟件開發(fā)進度,節(jié)約開發(fā)成本,提高軟件質(zhì)量。2.軟件的分類1)按軟件功能系統(tǒng)軟件支撐軟件應(yīng)用軟件1.2.4 軟件工程的基本原則用分階段的生存周期計劃嚴格管理堅持進行階段評審實行嚴格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少

8、而精承認不斷改進軟件工程實踐的必要性1.3 軟件生命周期1.3.1 軟件生命周期的定義可行性分析需求分析概要設(shè)計詳細設(shè)計編碼測試維護可行性分析 在項目進入具體開發(fā)之前,首先需要進行的步驟是可行性分析。這一步驟必須回答的問題是“將要開發(fā)的軟件系統(tǒng)是做什么的?在經(jīng)濟上、技術(shù)上和操作上是否可行?”,具體來說,需要考慮的問題有:該軟件項目的性質(zhì)是什么、它是數(shù)據(jù)處理問題還是實時控制問題、它是科學(xué)計算問題還是人工智能問題等,以及該問題是否有行得通的解決辦法,若有解決問題的辦法,則需要多少費用、多少資源(包括硬件、軟件和人員)、多少時間。需求分析 這一階段主要要解決的是系統(tǒng)“做什么”的問題。用戶了解他們所面

9、對的問題,知道必須做什么,但是通常不能完整地、準確地表達出來,也不知道怎樣用計算機解決他們的問題。而軟件開發(fā)人員雖然知道怎樣用軟件完成人們提出的各種功能要求,但是,對用戶的具體業(yè)務(wù)和需求不完全清楚,這是需求分析階段的困難所在。概要設(shè)計 這一階段主要解決的是系統(tǒng)“怎么做”的問題。具體來說,開發(fā)人員要把確定的各項功能需求轉(zhuǎn)換成相應(yīng)的軟件體系結(jié)構(gòu),在該結(jié)構(gòu)中,每個成分都是意義明確的模塊,即每個模塊都和某些功能需求相對應(yīng)。因此,概要設(shè)計的核心內(nèi)容就是設(shè)計軟件的結(jié)構(gòu),弄清該結(jié)構(gòu)由哪些模塊構(gòu)成,每個模塊的功能是什么,這些模塊之間的層次結(jié)構(gòu)是怎樣的。同時,還要設(shè)計該應(yīng)用系統(tǒng)的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu),即應(yīng)用

10、系統(tǒng)要存儲什么數(shù)據(jù),這些數(shù)據(jù)是什么樣的結(jié)構(gòu),它們之間有什么關(guān)系等??尚行苑治?在項目進入具體開發(fā)之前,首先需要進行的步驟是可行性分析。這一步驟必須回答的問題是“將要開發(fā)的軟件系統(tǒng)是做什么的?在經(jīng)濟上、技術(shù)上和操作上是否可行?”,具體來說,需要考慮的問題有:該軟件項目的性質(zhì)是什么、它是數(shù)據(jù)處理問題還是實時控制問題、它是科學(xué)計算問題還是人工智能問題等,以及該問題是否有行得通的解決辦法,若有解決問題的辦法,則需要多少費用、多少資源(包括硬件、軟件和人員)、多少時間。詳細設(shè)計 詳細設(shè)計階段就是對每個模塊要完成的功能具體描述為精確的、結(jié)構(gòu)化的過程描述,即該模塊的控制結(jié)構(gòu)是怎樣的,先做什么,后做什么,有什

11、么樣的條件判定,有哪些重復(fù)處理等,然后用相應(yīng)的工具把這些控制結(jié)構(gòu)表示出來。編碼 編碼階段就是把每個模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計算機可接受的程序代碼,即用種某特定程序設(shè)計語言編寫的“源程序清單”。編寫出的程序應(yīng)該結(jié)構(gòu)好、清晰易讀,并與設(shè)計一致。測試 軟件測試階段的主要任務(wù)是發(fā)現(xiàn)和排除錯誤,也就是對軟件系統(tǒng)進行從上到下的全面的測試和檢驗,看它是否符合軟件總體設(shè)計方案規(guī)定的功能和要求。測試分為模塊測試、集成測試、確認測試。模塊測試是查找各模塊在功能和結(jié)構(gòu)上存在的問題。集成測試是將各模塊按一定順序組裝起來進行的測試,主要是查找各模塊之間的接口問題。確認測試是按需求說明書對軟件的功能逐項進行測試,以確定軟件功

12、能是否符合用戶的需求,開發(fā)的軟件是否合格,能否交付用戶使用。維護 軟件維護是軟件生存周期中時間最長的階段。己交付的軟件正式投入使用后便進入了軟件維護階段,它可以持續(xù)幾年甚至幾十年。在軟件運行過程中,可能由于各方面的原因需要對其進行修改,如運行中發(fā)現(xiàn)了軟件隱含的錯誤而需要修改,為了適應(yīng)變化了的軟件運行環(huán)境而需要做適當(dāng)?shù)刈兏?,也可能是因為用戶業(yè)務(wù)發(fā)生變化而需要擴充和增強軟件的功能等。1.4 軟件開發(fā)方法1.4.1 結(jié)構(gòu)化開發(fā)方法1978年,E.Yourdon和L.L.Constan-tine提出SASD(Structured Analysis and Structured Design)方法,也可

13、稱為面向功能的軟件開發(fā)方法,或面向數(shù)據(jù)流的軟件開發(fā)方法結(jié)構(gòu)化開發(fā)方法的指導(dǎo)思想是自頂向下、逐步求精,基本原則是功能分解與抽象,它由結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化程序設(shè)計構(gòu)成1.4.2 面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法以數(shù)據(jù)結(jié)構(gòu)為驅(qū)動的以1975年M.A.Jackson提出的Jackson方法和1974年J.D.Warnier提出的Warnier方法最有代表性主要思想是:一個問題的數(shù)據(jù)結(jié)構(gòu)與處理該問題數(shù)據(jù)結(jié)構(gòu)的控制結(jié)構(gòu)有著驚人的相似之處,根據(jù)這一思想,從目標(biāo)系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補充其他細節(jié),就可以得到完整的程序結(jié)構(gòu)圖對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)特別有效1.4.3 面向

14、對象的開發(fā)方法面向?qū)ο箝_發(fā)方法的基本出發(fā)點是盡可能按照人類認識世界的方法和思維方式來分析和解決問題??陀^世界是由許多具體的事物、事件、概念和規(guī)則組成的,這些均可看成對象面向?qū)ο驩O(Object-Oriented)技術(shù)在需求分析、可維護性和可靠性這3個軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實質(zhì)性的突破,徹底解決了在這些方面存在的問題1.5 軟件開發(fā)模型1.5.1 瀑布模型 瀑布模型是由溫斯頓羅伊斯(Winston Royce)在1970年提出的,其核心思想是按工序?qū)栴}簡化,將功能的實現(xiàn)與設(shè)計分開,便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計方法將邏輯實現(xiàn)與物理實現(xiàn)分開。瀑布模型將軟件生命周期劃分為軟件

15、計劃、需求分析和定義、軟件設(shè)計、軟件實現(xiàn)、軟件測試、軟件運行和維護6個階段,并規(guī)定了它們自上而下、相互銜接的固定次序瀑布模型的特點十分明顯:軟件生存周期的順序性盡可能推遲軟件的編碼強調(diào)文檔瀑布模型的主要問題:各個階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量。由于開發(fā)模型是線性的,用戶只有等到整個過程的末期才能見到開發(fā)成果,從而增加了開發(fā)的風(fēng)險。早期的錯誤可能要等到開發(fā)后期的測試階段才能發(fā)現(xiàn),進而帶來嚴重的后果。1.5.2 快速原型模型 快速原型模型主要是針對在軟件開發(fā)過程中需求分析不明確的情形而提出的,它又稱為原型模型。采用快速原型模型進行開發(fā)的過程是:在開發(fā)真實系統(tǒng)之前構(gòu)造

16、一個原型,在該原型的基礎(chǔ)上逐漸完成整個系統(tǒng)的開發(fā)工作。與瀑布模型相比,快速原型模型克服了瀑布模型的缺點,減少了由于軟件需求不明確而帶來的開發(fā)風(fēng)險;軟件原型直觀、形象,更多地遵循了人們認識事物的規(guī)律,因而更容易被人們接受;采用模擬的方法,縮短了用戶和系統(tǒng)分析、設(shè)計人員之間的距離;在整個系統(tǒng)開發(fā)過程中反饋及時,標(biāo)準統(tǒng)一,因而可及時地暴露問題;充分利用了新一代軟件開發(fā)工具,使系統(tǒng)開發(fā)和運行的效率都大大提高??焖僭湍P偷牟蛔阒幵谟冢嚎焖俳⑵饋淼南到y(tǒng)結(jié)構(gòu)加上連續(xù)的修改可能會導(dǎo)致產(chǎn)品質(zhì)量低下。1.5.3 漸增模型與瀑布模型相比,快速原型模型克服了瀑布模型的缺點,減少了由于軟件需求不明確而帶來的開發(fā)風(fēng)

17、險;軟件原型直觀、形象,更多地遵循了人們認識事物的規(guī)律,因而更容易被人們接受;采用模擬的方法,縮短了用戶和系統(tǒng)分析、設(shè)計人員之間的距離;在整個系統(tǒng)開發(fā)過程中反饋及時,標(biāo)準統(tǒng)一,因而可及時地暴露問題;充分利用了新一代軟件開發(fā)工具,使系統(tǒng)開發(fā)和運行的效率都大大提高。快速原型模型的不足之處在于:快速建立起來的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改可能會導(dǎo)致產(chǎn)品質(zhì)量低下。1.5.4 螺旋模型 螺旋模型將軟件開發(fā)劃分為制訂計劃、風(fēng)險分析、實施開發(fā)和客戶評估4類活動,活動描述如下:制訂計劃:確定軟件目標(biāo),選定實施方案,明確項目開發(fā)的限制條件。風(fēng)險分析:分析所選方案,考慮如何識別和消除風(fēng)險。實施開發(fā):實施軟件開發(fā)仍然按照瀑

18、布模型中的分析、設(shè)計、編碼、測試等步驟進行??蛻粼u估:評價軟件的功能和性能,并提出修改意見。1.5.5 噴泉模型1.5.6 構(gòu)件化開發(fā)模型 用于演化式的開發(fā)或迭代式的開發(fā),它從與客戶的交流開始,首先獲得問題的定義,同時標(biāo)識基本的類,然后對項目進行計劃與風(fēng)險分析。在進入開發(fā)階段后,首先從候選類的標(biāo)識開始,在已有的類庫中查找相應(yīng)的類是否存在,如果已經(jīng)存在則提取出來進行復(fù)用;如果候選類不存在,就要利用面向?qū)ο蟮姆椒▌?chuàng)建并存放到類庫中,初步完成系統(tǒng)的構(gòu)造后,再送客戶進行評估,這樣即完成了第一次迭代。如此反復(fù)迭代,螺旋向前,逐步完成項目的開發(fā)。1.6 軟件工具及支撐環(huán)境1.6.1 軟件工具的分類需求分析

19、工具設(shè)計工具編碼工具確認工具維護工具1.6.2 軟件開發(fā)支撐環(huán)境軟件開發(fā)支撐環(huán)境是指在基本硬件與軟件的基礎(chǔ)上,提供一組能支持軟件生存周期的工具,即提供能支持軟件開發(fā)、維護、管理和質(zhì)量控制等各個方面,而且能適應(yīng)多種用戶要求的工具。軟件開發(fā)支撐環(huán)境一般由數(shù)據(jù)庫、一組工具和一組統(tǒng)一的命令或調(diào)用方式3部分組成1.6.3 常用CASE工具VisioIBM Rational系列Power Designer第第1章結(jié)束章結(jié)束 謝謝!END16、業(yè)余生活要有意義,不要越軌。華盛頓17、一個人即使已登上頂峰,也仍要自強不息。羅素貝克18、最大的挑戰(zhàn)和突破在于用人,而用人最大的突破在于信任人。馬云19、自己活著,就是為了使別人過得更美好。雷鋒20、要掌握書,莫被書掌握;要為生而讀,莫為讀而生。布爾沃

展開閱讀全文
溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!