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