版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第1章章 軟件技術(shù)概述軟件技術(shù)概述第第 2 頁頁1. 計算機系統(tǒng)的組成計算機系統(tǒng)的組成2. 軟件技術(shù)概述軟件技術(shù)概述 2.1 程序設(shè)計語言程序設(shè)計語言 2.2 數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)與算法 2.3 操作系統(tǒng)操作系統(tǒng) 2.4 數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù) 2.5 軟件工程軟件工程 2.6 軟件開發(fā)方法軟件開發(fā)方法第第 3 頁頁l軟件技術(shù)與工程;軟件技術(shù)與工程;l涵蓋的主要分支及其內(nèi)容;涵蓋的主要分支及其內(nèi)容;l學習和掌握軟件、程序、軟件工程、軟件學習和掌握軟件、程序、軟件工程、軟件生命周期等基本概念生命周期等基本概念。第第 4 頁頁什么是計算機?什么是計算機?計算機就是我們平時常用的計算機就是我們平時
2、常用的PC機嗎?機嗎? 計算機(computer):t一種用于高速計算的電子計算機器,可以進行數(shù)值計算,又可以進行邏輯計算,還具有存儲記憶功能。t是能夠按照程序運行,自動、高速處理海量數(shù)據(jù)的現(xiàn)代化智能電子設(shè)備。t由硬件系統(tǒng)和軟件系統(tǒng)所組成,沒有安裝任何軟件的計算機稱為裸機。t可分為超級計算機、工業(yè)控制計算機、網(wǎng)絡(luò)計算機、個人計算機、嵌入式計算機五類。t較先進的計算機有生物計算機、光子計算機、量子計算機等。第第 5 頁頁第第 6 頁頁是接收、處理和提供數(shù)據(jù)的裝置,它是接收、處理和提供數(shù)據(jù)的裝置,它由由硬件硬件和和軟件軟件兩大部分組成。兩大部分組成。平時常用的平時常用的PC機只是計算機的一種,計算
3、機機只是計算機的一種,計算機家族中還有很多其他的成員。家族中還有很多其他的成員。第第 7 頁頁l超過超過100萬個處理器萬個處理器l每個處理器每秒可運算每個處理器每秒可運算10億次,運算能力相當于擊億次,運算能力相當于擊敗國際象棋世界級棋手的敗國際象棋世界級棋手的超級電腦超級電腦“深藍深藍”的的1000倍;倍;l占地達兩個籃球場之大,占地達兩個籃球場之大,重達重達106噸。噸。nIBMIBM的的Blue Gene/LBlue Gene/L巨型計算機巨型計算機n 國產(chǎn)銀河、曙光國產(chǎn)銀河、曙光n “ “天河一號天河一號”第第 8 頁頁第第 9 頁頁第第 10 頁頁l什么是硬件?什么是硬件? 硬件是
4、硬件是組成計算機系統(tǒng)的所有電子的、機組成計算機系統(tǒng)的所有電子的、機械的、磁性的、光學的裝置和部件。械的、磁性的、光學的裝置和部件。l配置一臺個人計算機需要購買哪些東西?配置一臺個人計算機需要購買哪些東西? CPU、內(nèi)存、硬盤、主板、鍵鼠、顯示器、內(nèi)存、硬盤、主板、鍵鼠、顯示器l馮馮諾依曼:諾依曼: “存儲程序式計算機存儲程序式計算機” (1945年年) 5大部件構(gòu)成:大部件構(gòu)成: 第第 11 頁頁l發(fā)展歷史發(fā)展歷史邏輯元件:電子管邏輯元件:電子管晶體管晶體管集成電路集成電路l發(fā)展規(guī)律及特點發(fā)展規(guī)律及特點速度慢速度慢速度快速度快體積大容量小體積大容量小體積小容量大體積小容量大外設(shè)少、簡單外設(shè)少、
5、簡單外設(shè)繁多、復(fù)雜外設(shè)繁多、復(fù)雜外設(shè)速度發(fā)展慢于外設(shè)速度發(fā)展慢于CPUCPU速度的發(fā)展速度的發(fā)展摩爾定律(假設(shè)價格保持不變,處理器芯片上摩爾定律(假設(shè)價格保持不變,處理器芯片上的晶體管數(shù)每的晶體管數(shù)每1818個月翻一番)個月翻一番)中國科學家首次在實驗中發(fā)現(xiàn)量子反?;魻栃?yīng)t不需要外加磁場產(chǎn)生霍爾效應(yīng),將推動新一代低能耗晶體管和電子學器件的發(fā)展,可能加速推進信息技術(shù)革命進程。t超級計算機將有可能成為iPad大小的掌上筆記本,智能手機內(nèi)存也許會超過目前最先進產(chǎn)品的上千倍,除了超長待機時間,還將擁有當代人無法想象的快速。t霍爾效應(yīng)基礎(chǔ)器件,比如感應(yīng)器、傳感器,做的非常小。t如果今后把材料溫度提高到
6、在日常溫度之下,有可能還會造出一種非常高速的電網(wǎng),就是所謂的量子電網(wǎng)。第第 12 頁頁第第 13 頁頁誕生于誕生于19461946年年1880018800個晶體管個晶體管7000070000個電阻器個電阻器1800018000個電容器個電容器5 5百萬個焊接點百萬個焊接點重量重量3030噸噸耗電耗電174174千瓦千瓦/h/h50005000次加法次加法/s/s第第 14 頁頁42,000,00042,000,000個晶體管個晶體管時鐘頻率時鐘頻率1.5GHz1.5GHz運算速度為運算速度為1700 MIPS1700 MIPS(MIPS MIPS 代表代表百萬指令百萬指令集每秒集每秒 )第第
7、15 頁頁Intel Pentium 雙核處理器雙核處理器AMD Athlon 64 X2雙核處理器雙核處理器第第 16 頁頁AMD 三核處理器三核處理器Intel四核處理器四核處理器AMD 六核處理器六核處理器Intel六核處理器六核處理器第第 17 頁頁第第 18 頁頁l軟件程序?開發(fā)軟件寫程序?軟件程序?開發(fā)軟件寫程序?認識的誤區(qū)!認識的誤區(qū)!程序只是軟件的一個組成部分;寫程序只是程序只是軟件的一個組成部分;寫程序只是軟件開發(fā)的過程中的一個步驟。軟件開發(fā)的過程中的一個步驟。l軟件是軟件是程序程序、數(shù)據(jù)數(shù)據(jù)以及以及有關(guān)文檔資料有關(guān)文檔資料的集合。的集合。l軟件是(可運行的)思想和內(nèi)容的數(shù)字
8、化軟件是(可運行的)思想和內(nèi)容的數(shù)字化思想:算法、規(guī)律、方法思想:算法、規(guī)律、方法程序程序內(nèi)容:圖形、圖像、數(shù)據(jù)、聲音、文字等內(nèi)容:圖形、圖像、數(shù)據(jù)、聲音、文字等數(shù)據(jù)數(shù)據(jù)第第 19 頁頁l個體含義,表示計算機系統(tǒng)中具體的程序、個體含義,表示計算機系統(tǒng)中具體的程序、數(shù)據(jù)和有關(guān)文檔,例如操作系統(tǒng)軟件數(shù)據(jù)和有關(guān)文檔,例如操作系統(tǒng)軟件“Windows XP”,是從個體含義上講的;,是從個體含義上講的;l整體含義,它相對于計算機硬件系統(tǒng)而言,整體含義,它相對于計算機硬件系統(tǒng)而言,是對計算機系統(tǒng)中所有程序、數(shù)據(jù)及相關(guān)文是對計算機系統(tǒng)中所有程序、數(shù)據(jù)及相關(guān)文檔的統(tǒng)稱。檔的統(tǒng)稱。第第 20 頁頁軟件有兩種屬性
9、:軟件有兩種屬性:l靜態(tài)屬性:它由程序、數(shù)據(jù)及相關(guān)文檔組成,靜態(tài)屬性:它由程序、數(shù)據(jù)及相關(guān)文檔組成,可以存儲,也可供人們閱讀和交流;可以存儲,也可供人們閱讀和交流;l動態(tài)屬性:它是可運行的,蘊涵著一定的操動態(tài)屬性:它是可運行的,蘊涵著一定的操作內(nèi)容和步驟,由計算機執(zhí)行而產(chǎn)生特定的作內(nèi)容和步驟,由計算機執(zhí)行而產(chǎn)生特定的結(jié)果或動態(tài)效應(yīng)。結(jié)果或動態(tài)效應(yīng)。第第 21 頁頁 從軟件的屬性來看,它是一種特殊的事物,具有從軟件的屬性來看,它是一種特殊的事物,具有自身的特性,可概括如下:自身的特性,可概括如下:(1)智能性 (6)依附性(2)無形性 (7)非損性(3)抽象性 (8)復(fù)制性(4)系統(tǒng)性 (9)演
10、化性(5)泛域性http:/forum.eet- 22 頁頁l所有的硬件都是相似的,軟件則各有各的不同。所有的硬件都是相似的,軟件則各有各的不同。l但是軟件的開發(fā)過程存在很多規(guī)律和共性,找到但是軟件的開發(fā)過程存在很多規(guī)律和共性,找到并利用這些規(guī)律來幫助和指導軟件的開發(fā),這正并利用這些規(guī)律來幫助和指導軟件的開發(fā),這正是軟件技術(shù)學科所研究的內(nèi)容。是軟件技術(shù)學科所研究的內(nèi)容。操作系統(tǒng)操作系統(tǒng) 、語言編、語言編譯器、數(shù)據(jù)庫系統(tǒng)譯器、數(shù)據(jù)庫系統(tǒng)文字處理軟件、財文字處理軟件、財務(wù)軟件、用戶自己務(wù)軟件、用戶自己開發(fā)的軟件等開發(fā)的軟件等硬件硬件系統(tǒng)軟件系統(tǒng)軟件應(yīng)用軟件應(yīng)用軟件用戶用戶第第 23 頁頁l操作系統(tǒng)
11、是對硬件的首次擴充,它管理著計算機操作系統(tǒng)是對硬件的首次擴充,它管理著計算機系統(tǒng)的軟、硬件資源,其它軟件都是在操作系統(tǒng)系統(tǒng)的軟、硬件資源,其它軟件都是在操作系統(tǒng)的基礎(chǔ)上運行的。的基礎(chǔ)上運行的。l信息管理是計算機的一個重要應(yīng)用領(lǐng)域,而信息信息管理是計算機的一個重要應(yīng)用領(lǐng)域,而信息管理的核心就是數(shù)據(jù)庫管理系統(tǒng)。管理的核心就是數(shù)據(jù)庫管理系統(tǒng)。l群件拓寬了電子郵件的內(nèi)涵,涵蓋很多通信協(xié)調(diào)群件拓寬了電子郵件的內(nèi)涵,涵蓋很多通信協(xié)調(diào)功能,如電話會議、共享項目進度表等。功能,如電話會議、共享項目進度表等。第第 24 頁頁l文字處理軟件、電子表格處理軟件、演示制文字處理軟件、電子表格處理軟件、演示制作軟件、個
12、人數(shù)據(jù)庫、個人信息管理軟件等。作軟件、個人數(shù)據(jù)庫、個人信息管理軟件等。l多媒體處理軟件主要包括圖形、圖像處理、多媒體處理軟件主要包括圖形、圖像處理、動畫制作、音頻視頻處理、桌面排版等。動畫制作、音頻視頻處理、桌面排版等。l集成的環(huán)境中,包含了語言編輯器(有的還集成的環(huán)境中,包含了語言編輯器(有的還包括界面和外觀的編輯)、調(diào)試工具、編譯包括界面和外觀的編輯)、調(diào)試工具、編譯工具、運行工具、圖標圖像制作工具等。工具、運行工具、圖標圖像制作工具等。第第 25 頁頁l主要有主要有Web服務(wù)器軟件,服務(wù)器軟件,Web瀏覽器,文件傳送瀏覽器,文件傳送工具、遠程訪問工具、郵件軟件、新聞閱讀工具、工具、遠程訪
13、問工具、郵件軟件、新聞閱讀工具、信息檢索、多媒體、信息檢索、多媒體、Web頁創(chuàng)作工具等。頁創(chuàng)作工具等。l幫助操作系統(tǒng)更有效地完成系統(tǒng)的管理和維護。幫助操作系統(tǒng)更有效地完成系統(tǒng)的管理和維護。包括殺病毒軟件、文件壓縮、快速復(fù)制工具、磁包括殺病毒軟件、文件壓縮、快速復(fù)制工具、磁盤維護與診斷工具、實用工具軟件等。盤維護與診斷工具、實用工具軟件等。l學習、游戲軟件、電子字典、各種小工具軟件學習、游戲軟件、電子字典、各種小工具軟件第第 26 頁頁l軟硬件獨立和互動軟硬件獨立和互動獨立原理:軟件理論上能實現(xiàn)的功能本質(zhì)上與獨立原理:軟件理論上能實現(xiàn)的功能本質(zhì)上與硬件是獨立的(不管硬件是何種形式)硬件是獨立的(
14、不管硬件是何種形式)互動原理:軟件實際能實現(xiàn)的功能受制于硬件,互動原理:軟件實際能實現(xiàn)的功能受制于硬件,硬件發(fā)展一個臺階,軟件就能前進一大步硬件發(fā)展一個臺階,軟件就能前進一大步l軟硬件等效軟硬件等效簡單的硬件簡單的硬件+復(fù)雜的軟件復(fù)雜的軟件簡單的軟件簡單的軟件+復(fù)雜的硬件復(fù)雜的硬件最終都可以完成同一個任務(wù),不同的只是開發(fā)最終都可以完成同一個任務(wù),不同的只是開發(fā)成本(時間上的和物質(zhì)上的)!成本(時間上的和物質(zhì)上的)!第第 27 頁頁l軟件技術(shù)發(fā)展歷程軟件技術(shù)發(fā)展歷程(1)程序設(shè)計時代()程序設(shè)計時代(1946年年1955年)年)以硬件為中心,編程處于從屬地位以硬件為中心,編程處于從屬地位(2)軟
15、件行業(yè)化時代()軟件行業(yè)化時代(1955年年1970年)年)程序需求增加;軟件概念的提出;軟件行業(yè)誕生程序需求增加;軟件概念的提出;軟件行業(yè)誕生(3 3)軟件工程時代()軟件工程時代(1970年至現(xiàn)在)年至現(xiàn)在)軟件危機;軟件工程領(lǐng)域的出現(xiàn)軟件危機;軟件工程領(lǐng)域的出現(xiàn)第一代軟件技術(shù):模塊化、自頂而下結(jié)構(gòu)化設(shè)計第一代軟件技術(shù):模塊化、自頂而下結(jié)構(gòu)化設(shè)計第二代軟件技術(shù):軟件測試方法、原理、理論第二代軟件技術(shù):軟件測試方法、原理、理論第三代軟件技術(shù):軟件需求定義技術(shù)第三代軟件技術(shù):軟件需求定義技術(shù)軟件開發(fā)集成環(huán)境軟件開發(fā)集成環(huán)境第第 28 頁頁 軟件本質(zhì)上是一種思想:利用計算機來解決某個軟件本質(zhì)上是
16、一種思想:利用計算機來解決某個問題的思想!軟件的實現(xiàn)就是將這個思想數(shù)字化的問題的思想!軟件的實現(xiàn)就是將這個思想數(shù)字化的過程!過程! 程序設(shè)計語言程序設(shè)計語言 編譯技術(shù)編譯技術(shù) 軟件及實現(xiàn)技術(shù)軟件及實現(xiàn)技術(shù) 操作系統(tǒng)操作系統(tǒng)及實用程序及實用程序 計算機計算機 數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù) 軟件技術(shù)軟件技術(shù) 軟件工具軟件工具 軟件工程軟件工程 軟件開發(fā)方法與技術(shù)軟件開發(fā)方法與技術(shù) 軟件開發(fā)方法軟件開發(fā)方法 數(shù)據(jù)結(jié)構(gòu)和算法數(shù)據(jù)結(jié)構(gòu)和算法第第 29 頁頁程序程序: :是使計算機完成某種任務(wù)的一組有序命令是使計算機完成某種任務(wù)的一組有序命令(指令語句)(指令語句)的集合。的集合。 l 程序設(shè)計語言發(fā)展的三個階段
17、:程序設(shè)計語言發(fā)展的三個階段:寫程序就像寫文章,要解決兩個問題:寫程序就像寫文章,要解決兩個問題:1.1.明確自己要表達的是什么明確自己要表達的是什么2.2.用一種語言把它表達出來用一種語言把它表達出來程序設(shè)計語言程序設(shè)計語言是編寫計算機程序所用的語言。是編寫計算機程序所用的語言。第第 30 頁頁 是機器指令的集合,是機器指令的集合,其代碼由其代碼由0 0、1 1組成的二進制串表組成的二進制串表示,不需翻譯可直接為示,不需翻譯可直接為機器所接受。機器所接受。 為為符號化符號化的機器語言。它的機器語言。它用助記用助記符和標識符代替機器指令的操作碼和地址碼。符和標識符代替機器指令的操作碼和地址碼。
18、 是一種與具體的計算機指令系統(tǒng)是一種與具體的計算機指令系統(tǒng)無關(guān)、獨立于計算機類型、且表達方式接近無關(guān)、獨立于計算機類型、且表達方式接近于自然語言或數(shù)學語言、容易被人們掌握和于自然語言或數(shù)學語言、容易被人們掌握和書寫的語言。如書寫的語言。如C C,PascalPascal,javajava等。等。第第 31 頁頁n機器語言機器語言00111110 00001001 00111111B 00111110 00001001 00111111B 或或 3E 09 3FH3E 09 3FHn匯編語言匯編語言MOV AX,X MOV AX,X INC AX INC AX MOV X,AX MOV X,AX
19、n C C語言語言 x=x+1x=x+1或或 x+x+或或 +x+x第第 32 頁頁l比機器語言或匯編語言更易于學習;比機器語言或匯編語言更易于學習;l程序更易于編寫和調(diào)試(程序更為短?。环绦蚋子诰帉懞驼{(diào)試(程序更為短??;符號本身更自然,因此更多注意力可放在程序號本身更自然,因此更多注意力可放在程序邏輯而非語法細節(jié)上);邏輯而非語法細節(jié)上);l程序可讀性更強;程序可讀性更強;l較好的平臺無關(guān)性;較好的平臺無關(guān)性;l上述原因使得解決問題的時間和成本減少。上述原因使得解決問題的時間和成本減少。第第 33 頁頁l翻譯程序翻譯程序 是把甲種語言程序翻譯為等價的乙種語言程序的程序。是把甲種語言程序翻
20、譯為等價的乙種語言程序的程序。其中,甲種語言稱為源語言。乙種語言稱為目標語言。其中,甲種語言稱為源語言。乙種語言稱為目標語言。l匯編程序匯編程序 若源語言是匯編語言,目標語言是機器語言,則該翻若源語言是匯編語言,目標語言是機器語言,則該翻譯程序被稱為匯編程序。譯程序被稱為匯編程序。l編譯程序編譯程序 若源語言是高級語言,目標語言是匯編語言或機器語若源語言是高級語言,目標語言是匯編語言或機器語言,則該翻譯程序被稱為編譯程序。言,則該翻譯程序被稱為編譯程序。l解釋程序解釋程序 是翻譯程序的另一種形式,它對源程序的語句邊解釋是翻譯程序的另一種形式,它對源程序的語句邊解釋邊執(zhí)行,不產(chǎn)生目標程序。邊執(zhí)行
21、,不產(chǎn)生目標程序。第第 34 頁頁l程序中往往要處理大量的數(shù)據(jù),這些數(shù)據(jù)采程序中往往要處理大量的數(shù)據(jù),這些數(shù)據(jù)采用什么樣的方式來用什么樣的方式來組織、存放組織、存放才能最大限度才能最大限度地方便應(yīng)用地方便應(yīng)用處理處理,提高程序效率呢?,提高程序效率呢?l數(shù)據(jù)結(jié)構(gòu)研究數(shù)據(jù)的組織形式,包括數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)研究數(shù)據(jù)的組織形式,包括數(shù)據(jù)的邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)、物理結(jié)構(gòu)物理結(jié)構(gòu)以及在該數(shù)據(jù)結(jié)構(gòu)上所以及在該數(shù)據(jù)結(jié)構(gòu)上所施加的施加的運算運算。l數(shù)據(jù)結(jié)構(gòu)是算法設(shè)計的基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)是算法設(shè)計的基礎(chǔ)。第第 35 頁頁l算法算法是對解題方法的精確描述。描述的方式是對解題方法的精確描述。描述的方式可以是各種各樣的。如自然語
22、言、流程圖、可以是各種各樣的。如自然語言、流程圖、偽代碼、程序設(shè)計語言等。偽代碼、程序設(shè)計語言等。l算法必須具有有窮性、確定性、能行性、輸算法必須具有有窮性、確定性、能行性、輸入和輸出。入和輸出。l一個問題可以有多種解題方法,那么就有多一個問題可以有多種解題方法,那么就有多個對應(yīng)的算法。算法的優(yōu)劣由算法的個對應(yīng)的算法。算法的優(yōu)劣由算法的時間復(fù)時間復(fù)雜度雜度和和空間復(fù)雜度空間復(fù)雜度來衡量。來衡量。第第 36 頁頁l裸機裸機:沒有安裝任何軟件的計算機。:沒有安裝任何軟件的計算機。l操作系統(tǒng)操作系統(tǒng)是直接運行于裸機之上的系統(tǒng)軟件,是直接運行于裸機之上的系統(tǒng)軟件,它負責對計算機系統(tǒng)的各種軟硬件資源進行
23、它負責對計算機系統(tǒng)的各種軟硬件資源進行管理和分配,為用戶提供友好的計算機使用管理和分配,為用戶提供友好的計算機使用界面和平臺。界面和平臺。l在裸機上配置操作系統(tǒng)之后就構(gòu)成了在裸機上配置操作系統(tǒng)之后就構(gòu)成了操作系操作系統(tǒng)虛擬機統(tǒng)虛擬機。所有其它的軟件或程序都在擴充。所有其它的軟件或程序都在擴充后的機器上運行。后的機器上運行。第第 37 頁頁應(yīng)用程序應(yīng)用程序用戶程序用戶程序操作系統(tǒng)虛擬機操作系統(tǒng)虛擬機操作系統(tǒng)操作系統(tǒng)裸裸 機機第第 38 頁頁l數(shù)據(jù)庫是一種強大的數(shù)據(jù)處理技術(shù)。數(shù)據(jù)庫是一種強大的數(shù)據(jù)處理技術(shù)。l它把應(yīng)用中所有的數(shù)據(jù)它把應(yīng)用中所有的數(shù)據(jù)有結(jié)構(gòu)地有結(jié)構(gòu)地集中在一起,集中在一起,并提供對這
24、些數(shù)據(jù)的存儲管理、多用戶共享、并提供對這些數(shù)據(jù)的存儲管理、多用戶共享、操作、安全保護、完整性控制等強大功能。操作、安全保護、完整性控制等強大功能。l一個國家的信息化程度是衡量該國國力的重一個國家的信息化程度是衡量該國國力的重要標準,而信息化是以數(shù)據(jù)庫技術(shù)為基礎(chǔ)的。要標準,而信息化是以數(shù)據(jù)庫技術(shù)為基礎(chǔ)的。l現(xiàn)代的銀行、金融、證券、保險等各行業(yè)的現(xiàn)代的銀行、金融、證券、保險等各行業(yè)的高效運營都依賴于數(shù)據(jù)庫技術(shù)。高效運營都依賴于數(shù)據(jù)庫技術(shù)。第第 39 頁頁l產(chǎn)生背景(上個世紀產(chǎn)生背景(上個世紀7070年代)年代)硬件的發(fā)展使得計算機的應(yīng)用領(lǐng)域迅速擴大,硬件的發(fā)展使得計算機的應(yīng)用領(lǐng)域迅速擴大,導致軟件
25、的規(guī)模和復(fù)雜度急劇增長。導致軟件的規(guī)模和復(fù)雜度急劇增長。早期手工作坊式的軟件開發(fā)方式因無法適應(yīng)這早期手工作坊式的軟件開發(fā)方式因無法適應(yīng)這種變化而形成了種變化而形成了“軟件危機軟件危機”。主要表現(xiàn)在:。主要表現(xiàn)在:u開發(fā)成本和進度估計不準確,生產(chǎn)效率低。開發(fā)成本和進度估計不準確,生產(chǎn)效率低。u軟件產(chǎn)品的質(zhì)量不可靠。軟件產(chǎn)品的質(zhì)量不可靠。u軟件常常是不可維護的。軟件常常是不可維護的。u缺乏適當?shù)奈臋n資料缺乏適當?shù)奈臋n資料。u用戶對軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。用戶對軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。第第 40 頁頁l什么是什么是“軟件工程軟件工程”?1983年年IEEE給出的定義為:給出的定義為:“軟
26、件工程是開發(fā)、運行、維護和修復(fù)軟件的系軟件工程是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)方法統(tǒng)方法”。l軟件工程是指導計算機軟件開發(fā)和維護的工程學軟件工程是指導計算機軟件開發(fā)和維護的工程學科,采用工科,采用工程的概念、原理、技術(shù)和方法來開發(fā)程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件。與維護軟件。l軟件工程是一門交叉學科,用軟件工程是一門交叉學科,用管理學管理學的原理、方的原理、方法來進行軟件生產(chǎn)管理;用法來進行軟件生產(chǎn)管理;用工程學工程學的觀點來進行的觀點來進行費用估算、制定進度和實施方案;用費用估算、制定進度和實施方案;用數(shù)學數(shù)學方法來方法來建立軟件可靠性模型以及分析各種算法。建立軟件可靠性模型以及
27、分析各種算法。第第 41 頁頁l在給定成本、進度的前提下,開發(fā)出具有在給定成本、進度的前提下,開發(fā)出具有可可修改性、有效性、可靠性、可理解性、可維修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適用性、可移植性、可護性、可重用性、可適用性、可移植性、可追蹤性、可互操作性追蹤性、可互操作性和和滿足用戶需求滿足用戶需求的軟件的軟件產(chǎn)品。產(chǎn)品。第第 42 頁頁l貫穿貫穿“軟件工程軟件工程”這一學科的基本線索是這一學科的基本線索是軟軟件生命周期學說件生命周期學說,它告訴,它告訴軟件開發(fā)者和維護軟件開發(fā)者和維護者者“什么時候做什么以及怎么做什么時候做什么以及怎么做”。l軟件生命周期軟件生命周期就
28、象人的壽命一樣,從出生算就象人的壽命一樣,從出生算到死亡,從產(chǎn)生開發(fā)需求一直到軟件報廢為到死亡,從產(chǎn)生開發(fā)需求一直到軟件報廢為止。包括:軟件計劃、需求分析、軟件開發(fā)止。包括:軟件計劃、需求分析、軟件開發(fā)和軟件維護四個時期。和軟件維護四個時期。第第 43 頁頁l軟件計劃(系統(tǒng)定義)軟件計劃(系統(tǒng)定義)用戶想解決什么問題?(軟件定義)用戶想解決什么問題?(軟件定義)這個問題能否解決?(可行性分析)這個問題能否解決?(可行性分析)l需求分析(系統(tǒng)分析)需求分析(系統(tǒng)分析)目標系統(tǒng)應(yīng)該做成什么樣子?目標系統(tǒng)應(yīng)該做成什么樣子?l軟件開發(fā)(系統(tǒng)實現(xiàn))軟件開發(fā)(系統(tǒng)實現(xiàn))怎樣實現(xiàn)目標系統(tǒng)?(軟件設(shè)計)怎樣實
29、現(xiàn)目標系統(tǒng)?(軟件設(shè)計)系統(tǒng)的具體實現(xiàn)(軟件編程)系統(tǒng)的具體實現(xiàn)(軟件編程)實現(xiàn)的系統(tǒng)與是否符合目標?(軟件測試)實現(xiàn)的系統(tǒng)與是否符合目標?(軟件測試)l軟件維護(系統(tǒng)維護)軟件維護(系統(tǒng)維護)如何保持系統(tǒng)正常運行?如何升級或修復(fù)錯誤?如何保持系統(tǒng)正常運行?如何升級或修復(fù)錯誤?第第 44 頁頁 軟件開發(fā)模型是軟件開發(fā)的全部過程、軟件開發(fā)模型是軟件開發(fā)的全部過程、活動和任務(wù)的結(jié)構(gòu)框架活動和任務(wù)的結(jié)構(gòu)框架。l瀑布模型瀑布模型l原型模型原型模型l螺旋模型螺旋模型第第 45 頁頁1瀑布模型瀑布模型(1 1)各階段間具有順序性和依賴性。各階段間具有順序性和依賴性。即后一階段工即后一階段工作必須在前一階段
30、工作完成后才能進行,前一階作必須在前一階段工作完成后才能進行,前一階段的輸出文檔是后一階段的輸入文檔。段的輸出文檔是后一階段的輸入文檔。(2 2)質(zhì)量保證機制的依賴性。質(zhì)量保證機制的依賴性。即每一步都必須循序即每一步都必須循序漸進,及早消除故障隱患,保證本階段的工作的漸進,及早消除故障隱患,保證本階段的工作的質(zhì)量,從而達到保證整體軟件質(zhì)量的目的。質(zhì)量,從而達到保證整體軟件質(zhì)量的目的。 (3 3)推遲實現(xiàn)原則。推遲實現(xiàn)原則。前一階段工作做的越細、越扎前一階段工作做的越細、越扎實,后一階段工作進行的就越順利,強調(diào)實,后一階段工作進行的就越順利,強調(diào)“寧慢寧慢求好求好”。因此,各階段工作總是容易一拖
31、再拖,。因此,各階段工作總是容易一拖再拖,致使整個工期推遲實現(xiàn)。顯然瀑布模型不能滿足致使整個工期推遲實現(xiàn)。顯然瀑布模型不能滿足呈爆炸狀增長的社會應(yīng)用需求。呈爆炸狀增長的社會應(yīng)用需求。 第第 46 頁頁軟件計劃軟件計劃需求分析需求分析軟件設(shè)計軟件設(shè)計軟件編碼軟件編碼軟件測試軟件測試軟件維護軟件維護變化的需求變化的需求第第 47 頁頁2原型模型原型模型l也稱樣品模式,即開始提出一個樣品雛形,通過也稱樣品模式,即開始提出一個樣品雛形,通過不斷改進,完善樣品,使得最后得到用戶所需要不斷改進,完善樣品,使得最后得到用戶所需要的產(chǎn)品。的產(chǎn)品。l由于在項目開發(fā)初始階段人們對軟件的需求認識由于在項目開發(fā)初始階
32、段人們對軟件的需求認識常常弄不清楚,原型模型提出分兩次開發(fā)軟件能常常弄不清楚,原型模型提出分兩次開發(fā)軟件能較好地使用戶滿意較好地使用戶滿意: :u第一次只是試驗開發(fā),其目標在于探索可行性,第一次只是試驗開發(fā),其目標在于探索可行性,弄清軟件需求。通常把第一次得到的試驗性產(chǎn)弄清軟件需求。通常把第一次得到的試驗性產(chǎn)品稱為原型。品稱為原型。u第二次則在原型基礎(chǔ)上獲得較滿意的軟件產(chǎn)品。第二次則在原型基礎(chǔ)上獲得較滿意的軟件產(chǎn)品。u顯然,原型模型在克服瀑布模型缺點,減少由顯然,原型模型在克服瀑布模型缺點,減少由于軟件需求不明確而給開發(fā)工作帶來的風險,于軟件需求不明確而給開發(fā)工作帶來的風險,有著顯著的效果。有
33、著顯著的效果。第第 48 頁頁 初步需求初步需求分析分析 快速設(shè)計快速設(shè)計 建造原型建造原型 用戶評估原用戶評估原型(新需求)型(新需求) 開發(fā)產(chǎn)品開發(fā)產(chǎn)品 開始開始 結(jié)束結(jié)束 第第 49 頁頁l原型模型的優(yōu)點:原型模型的優(yōu)點:(1)開發(fā)人員和用戶在原型上達成一致,共同承擔)開發(fā)人員和用戶在原型上達成一致,共同承擔因修改原型而造成的風險,用戶成了名副其實因修改原型而造成的風險,用戶成了名副其實的開發(fā)組成員??梢詼p少設(shè)計中的錯誤和開發(fā)的開發(fā)組成員??梢詼p少設(shè)計中的錯誤和開發(fā)中的風險,從而提高了系統(tǒng)的準確性、正確性中的風險,從而提高了系統(tǒng)的準確性、正確性以及用戶的滿意程度。以及用戶的滿意程度。(2
34、)縮短了開發(fā)周期,加快了工程進度,降低了成)縮短了開發(fā)周期,加快了工程進度,降低了成本。本。l原型模型的缺點:原型樣品只是一個臨時原型模型的缺點:原型樣品只是一個臨時的系統(tǒng),它沒有考慮整體的質(zhì)量和日后的的系統(tǒng),它沒有考慮整體的質(zhì)量和日后的可維護性等問題。可維護性等問題。第第 50 頁頁3螺旋模型螺旋模型l螺旋模型將瀑布模型與原型模型結(jié)合起來,并且螺旋模型將瀑布模型與原型模型結(jié)合起來,并且加入加入風險分析風險分析,構(gòu)成具有特色的模式,可以彌補,構(gòu)成具有特色的模式,可以彌補前兩種模型的不足。前兩種模型的不足。l螺旋模型將工程分為螺旋模型將工程分為4個主要活動:制定計劃,風個主要活動:制定計劃,風險
35、分析,實現(xiàn)工程和用戶評價。險分析,實現(xiàn)工程和用戶評價。4個活動螺旋式地個活動螺旋式地重復(fù)執(zhí)行,直到最終得到用戶認可的產(chǎn)品。重復(fù)執(zhí)行,直到最終得到用戶認可的產(chǎn)品。l螺旋模型的缺點:螺旋模型的缺點:(1)它很難讓用戶確信這種研發(fā)方法是可控制的;)它很難讓用戶確信這種研發(fā)方法是可控制的;(2)它要求有風險評價的專門技術(shù),如果主要風險)它要求有風險評價的專門技術(shù),如果主要風險不能發(fā)現(xiàn),則問題一定會發(fā)生;不能發(fā)現(xiàn),則問題一定會發(fā)生;第第 51 頁頁生命周期計劃生命周期計劃需求計劃需求計劃風險分析風險分析原型原型1原型原型2原型原型3可操作可操作的原型的原型建模建模模擬模擬評價評價操作概念操作概念軟件需求
36、軟件需求需求確認需求確認開發(fā)計劃開發(fā)計劃組裝測試計劃組裝測試計劃風險分析風險分析風險分析風險分析風險分析風險分析軟件產(chǎn)品軟件產(chǎn)品設(shè)計設(shè)計設(shè)計驗證與確認設(shè)計驗證與確認詳細詳細設(shè)計設(shè)計編碼編碼單元單元測試測試組裝組裝測試測試驗收驗收測試測試實現(xiàn)實現(xiàn)成本成本順時針為進展方向順時針為進展方向計劃:計劃:明確目標、約束條件明確目標、約束條件選擇方案選擇方案風險分析風險分析構(gòu)造原型構(gòu)造原型工程實現(xiàn)工程實現(xiàn)用戶評價;階段評審用戶評價;階段評審驗收測試計劃驗收測試計劃需求精化計劃需求精化計劃需求評價需求評價評審決策實現(xiàn)計劃實現(xiàn)計劃第第 52 頁頁l結(jié)構(gòu)化方法結(jié)構(gòu)化方法1、自頂向下,逐步細化、自頂向下,逐步細化
37、2、模塊化、模塊化3、結(jié)構(gòu)化程序設(shè)計、結(jié)構(gòu)化程序設(shè)計l面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ǖ诘?53 頁頁l由于人類思維能力的限制,如果一次面臨的因素由于人類思維能力的限制,如果一次面臨的因素太多,就無法作出精確的思維。太多,就無法作出精確的思維。l例如:舉辦一個生日例如:舉辦一個生日partypartyt布置場地布置場地t準備食物準備食物t準備節(jié)目準備節(jié)目t邀請客人邀請客人l自頂向下,逐步細化就是自頂向下,逐步細化就是將復(fù)雜的問題分解成若將復(fù)雜的問題分解成若干個子問題,直到所有子問題都簡單到能用程序干個子問題,直到所有子問題都簡單到能用程序設(shè)計語言來表達的方法。設(shè)計語言來表達的方法。P54初始序列:初始序列:45* 34 27 18 72 45 40 66交換次數(shù)交換次數(shù) 比較次數(shù)比較次數(shù)第第1趟:趟:18 34 27 45* 72 45 40 66 17第第2趟:趟:18 27 34 45* 72 45 40 66 16第第3趟:趟:18 27 34 45* 72 45 40 66 15第第4趟:趟:18 27 34 40 72 45 45* 66 14第第5趟:趟:18 27 34 40 45 72 45* 66 13第第6趟:趟:18 27 34 40 45 45* 72 66 12第第7趟:趟:18 27 34 40 45 45* 66
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)代理銷售合同模板
- 服務(wù)委托合同范本
- 車輛貸款居間服務(wù)合同A年
- 家具購銷簡單合同
- 民爆物品購銷合同
- 裝飾合同示范文本
- 技術(shù)服務(wù)合同和技術(shù)開發(fā)合同
- 愛情合同參考范本
- 車位出租合同
- 標準實木家具購銷合同范本
- 數(shù)據(jù)遷移解決方案
- 2024供電營業(yè)規(guī)則學習課件
- 腦卒中后吞咽障礙患者進食護理-2023中華護理學會團體標準
- 2024春蘇教版《亮點給力大試卷》 數(shù)學四年級下冊(全冊有答案)
- 高考滿分作文常見結(jié)構(gòu)完全解讀
- 專題2-2十三種高考補充函數(shù)歸類(講練)
- 三年級英語上冊整冊書單詞默寫表學生版(外研版三起)
- 六年級數(shù)學上冊100道口算題(全冊完整版)
- 高三數(shù)學開學第一課
- 系統(tǒng)解剖學考試重點筆記
評論
0/150
提交評論