




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機軟件技術基礎第1章軟件技術概述第2頁第1章軟件技術概述1.計算機系統(tǒng)2.軟件技術概述2.1程序設計語言2.2數(shù)據(jù)結構與算法2.3操作系統(tǒng)2.4數(shù)據(jù)庫技術2.5軟件工程2.6軟件開發(fā)方法第3頁學習內容和學習目標了解軟件技術所涵蓋的主要分支及其研究內容;學習和掌握軟件、程序、軟件工程、軟件生命周期等基本概念。第4頁1.計算機系統(tǒng)什么是計算機?
計算機是接收、處理和提供數(shù)據(jù)的裝置,它由硬件和軟件兩大部分組成。計算機就是我們平時常用的PC機嗎?
PC機只是計算機的一種,計算機家族中還有很多其他的成員。第5頁養(yǎng)在深閨的巨型計算機超過100萬個處理器每個處理器每秒可運算10億次,運算能力相當于擊敗國際象棋世界級棋手的超級電腦“深藍”的1000倍;占地達兩個籃球場之大,重達106噸。IBM的BlueGene/L巨型計算機
國產(chǎn)天河、曙光第6頁養(yǎng)在深閨的巨型計算機共312萬個計算核心。峰值計算速度每秒5.49億億次,世界第一。占地面積720平方米。國防科大的天河2號超級計算機第7頁無處不在的嵌入式家族第8頁第9頁(1)計算機硬件及其發(fā)展什么是硬件? 硬件是組成計算機系統(tǒng)的所有電子的、機械的、磁性的、光學的裝置和部件。配置一臺個人計算機需要購買哪些東西?
CPU、內存、硬盤、主板、鍵鼠、顯示器…馮·諾依曼:1945年,“存儲程序式計算機”
5大部件構成:
運算器+控制器+存儲器+輸入設備+輸出設備CPUIO設備第10頁計算機硬件的發(fā)展發(fā)展歷史邏輯元件:電子管→晶體管→集成電路發(fā)展規(guī)律及特點速度慢→速度快體積大容量小→體積小容量大外設少、簡單→外設繁多、復雜外設速度發(fā)展慢于CPU速度的發(fā)展摩爾定律(假設價格保持不變,處理器芯片上的晶體管數(shù)每18個月翻一番)第11頁世界上第一臺電子計算機ENIAC誕生于1946年18800個晶體管70000個電阻器18000個電容器5百萬個焊接點重量30噸耗電174千瓦/h5000次加法/s第12頁PentiumIV(2000)42,000,000個晶體管時鐘頻率1.5GHz運算速度為1700MIPS(MIPS代表‘百萬指令集每秒’)第13頁雙核處理器(2005)IntelPentium雙核處理器AMDAthlon64X2雙核處理器第14頁三核、四核、六核處理器AMD三核處理器Intel四核處理器AMD六核處理器Intel六核處理器第15頁(2)計算機軟件軟件=程序?開發(fā)軟件=寫程序?認識的誤區(qū)!程序只是軟件的一個組成部分;寫程序只是軟件開發(fā)的過程中的一個步驟。軟件是程序、數(shù)據(jù)以及有關文檔資料的集合。軟件是(可運行的)思想和內容的數(shù)字化思想:算法、規(guī)律、方法→程序內容:圖形、圖像、數(shù)據(jù)、聲音、文字等→數(shù)據(jù)第16頁軟件的兩方面含義個體含義,表示計算機系統(tǒng)中具體的程序、數(shù)據(jù)和有關文檔,例如操作系統(tǒng)軟件“WindowsXP”,是從個體含義上講的;整體含義,它相對于硬件而言,是對計算機系統(tǒng)中所有程序、數(shù)據(jù)及相關文檔的概括。第17頁軟件的靜態(tài)和動態(tài)屬性軟件有兩種屬性:靜態(tài)屬性:它由程序、數(shù)據(jù)及相關文檔組成,可以存儲,也可供人們閱讀和交流;動態(tài)屬性:它是可運行的,蘊涵著一定的操作內容和步驟,由計算機執(zhí)行而產(chǎn)生特定的結果或動態(tài)效應。第18頁軟件的特征
從軟件的屬性來看,它是一種特殊的事物,具有自身的特性,可概括如下:(1)智能性(6)依附性(2)無形性(7)非損性(3)抽象性(8)復制性(4)系統(tǒng)性(9)演化性(5)泛域性第19頁軟件的分類所有的硬件都是相似的,軟件則各有各的不同。但是軟件的開發(fā)過程存在很多規(guī)律和共性,找到并利用這些規(guī)律來幫助和指導軟件的開發(fā),這正是各類軟件技術所研究的內容。操作系統(tǒng)、語言編譯器、數(shù)據(jù)庫管理系統(tǒng)文字處理軟件、財務軟件、用戶自己開發(fā)的軟件等硬件系統(tǒng)軟件應用軟件用戶第20頁常見軟件介紹1.操作系統(tǒng)操作系統(tǒng)是對硬件的首次擴充,它管理著計算機系統(tǒng)的軟、硬件資源,其它軟件都是在操作系統(tǒng)的基礎上運行的。2.數(shù)據(jù)庫管理系統(tǒng)信息管理是計算機的一個重要應用領域,而信息管理的核心就是數(shù)據(jù)庫管理系統(tǒng)。3.群件系統(tǒng)群件拓寬了電子郵件的內涵,涵蓋很多通信協(xié)調功能,如制定會議的計劃、共享項目進度表等。第21頁4.辦公軟件組件文字處理軟件、電子表格處理軟件、演示制作軟件、個人數(shù)據(jù)庫、個人信息管理軟件等。5.多媒體處理軟件多媒體處理軟件主要包括圖形、圖像處理、動畫制作、音頻視頻處理、桌面排版等。6.程序開發(fā)工具環(huán)境集成的環(huán)境中,包含了語言編輯器(有的還包括界面和外觀的編輯)、調試工具、編譯工具、運行工具、圖標圖像制作工具等。第22頁7.Internet工具軟件主要有Web服務器軟件,Web瀏覽器,文件傳送工具、遠程訪問工具、郵件軟件、新聞閱讀工具、信息檢索、多媒體、Web頁創(chuàng)作工具等。8.系統(tǒng)工具軟件幫助操作系統(tǒng)更有效地完成系統(tǒng)的管理和維護。包括殺病毒軟件、文件壓縮、快速復制工具、磁盤維護與診斷工具、實用工具軟件等。9.其它一些常見軟件學習、游戲軟件、電子字典、各種小工具軟件第23頁(3)硬件與軟件的關系軟硬件獨立原理和互動原理獨立原理:軟件理論上能實現(xiàn)的功能本質上與硬件是獨立的(不管硬件是何種形式)互動原理:軟件實際能實現(xiàn)的功能受制于硬件,硬件發(fā)展一個臺階,軟件就能前進一大步軟硬件等效定律簡單的硬件+復雜的軟件簡單的軟件+復雜的硬件最終都可以完成同一個任務,不同的只是開發(fā)時間和成本!第24頁硬件是計算機系統(tǒng)的物質基礎;軟件是提高計算機系統(tǒng)效率和方便用戶使用計算機的程序擴展;它們二者相互依賴、相互促進、共同發(fā)展。好的軟件能充分發(fā)揮硬件的性能,提升計算機的價值。各類軟件技術的最終目的就是設計出好的軟件,以便最大限度地合理利用和發(fā)揮硬件的能力,使計算機系統(tǒng)更好地為用戶服務?!皼]有軟件的硬件是僵尸,沒有硬件的軟件是幽靈”第25頁2.軟件技術概述軟件技術發(fā)展歷程(1)程序設計時代(1946年~1955年)以硬件為中心,編程處于從屬地位(2)軟件行業(yè)化時代(1955年~1970年)程序需求增加;軟件概念的提出;軟件行業(yè)誕生(3)軟件工程時代(1970年至現(xiàn)在)軟件危機;軟件工程領域的出現(xiàn)第一代軟件技術:模塊化、自頂而下結構化設計第二代軟件技術:軟件測試方法、技術、原理、理論第三代軟件技術:軟件需求定義技術軟件開發(fā)集成環(huán)境——第四代軟件技術?第26頁軟件技術的研究領域
軟件本質上是一種思想:利用計算機來解決某個問題的思想!軟件的實現(xiàn)就是將這個思想數(shù)字化的過程!在這個過程中要用到各種各樣的軟件技術,有的是抽象的指導理論,有的是具體的實現(xiàn)工具。
程序設計語言
編譯技術
軟件及實現(xiàn)技術操作系統(tǒng)及實用程序計算機數(shù)據(jù)庫技術軟件技術軟件工具軟件工程軟件開發(fā)方法與技術程序設計方法
數(shù)據(jù)結構和算法第27頁2.1
程序與程序設計語言
程序:是使計算機完成某種任務的一組有序命令(指令語句)的集合。
程序設計語言發(fā)展的三個階段:
機器語言→匯編語言→高級語言寫程序就像寫文章,要解決兩個問題:1.明確自己要表達的是什么2.用一種語言把它表達出來程序設計語言是編寫計算機程序所用的語言。第28頁程序設計語言機器語言
是機器指令的集合,其代碼由0、1組成的二進制串表示,不需翻譯可直接為機器所接受。匯編語言
為符號化的機器語言。它用助記符和標識符代替機器指令的操作碼和地址碼。高級語言
是一種與具體的計算機指令系統(tǒng)無關、獨立于計算機類型、且表達方式接近于自然語言或數(shù)學語言、容易被人們掌握和書寫的語言。如C,Pascal,java等。第29頁舉例任務:x+1→x機器語言
001111100000100100111111B或3E093FH匯編語言
MOVAX,XINCAXMOVX,AXC語言
x=x+1 或x++ 或++x第30頁高級語言的優(yōu)點比機器語言或匯編語言更易于學習;程序更易于編寫和調試(程序更為短小;記號本身更自然,因此更多注意力可放在程序邏輯而非語法細節(jié)上);程序可讀性更強;較好的平臺無關性;上述原因使得解決問題的時間和成本減少。第31頁語言翻譯翻譯程序
是把甲種語言程序翻譯為等價的乙種語言程序的程序。其中,甲種語言稱為源語言。乙種語言稱為目標語言。匯編程序
若源語言是匯編語言,目標語言是機器語言,則該翻譯程序被稱為匯編程序。編譯程序
若源語言是高級語言,目標語言是匯編語言或機器語言,則該翻譯程序被稱為編譯程序。解釋程序
是翻譯程序的另一種形式,它對源程序的語句邊解釋邊執(zhí)行,不產(chǎn)生目標程序。第32頁2.2
數(shù)據(jù)結構與算法程序中往往要處理大量的數(shù)據(jù),這些數(shù)據(jù)采用什么樣的方式來組織、存放才能最大限度地方便應用處理,提高程序效率呢?數(shù)據(jù)結構研究數(shù)據(jù)的組織形式,包括數(shù)據(jù)的邏輯結構、物理結構以及在該數(shù)據(jù)結構上所施加的運算。數(shù)據(jù)結構是算法設計的基礎。第33頁算法算法是對解題方法的精確描述。描述的方式可以是各種各樣的。如自然語言、流程圖、偽代碼、程序設計語言等。算法必須具有有窮性、確定性、能行性、輸入和輸出。一個問題可以有多種解題方法,那么就有多個對應的算法。算法的優(yōu)劣由算法的時間復雜度和空間復雜度來衡量。第34頁2.3
操作系統(tǒng)裸機:沒有安裝任何軟件的計算機。操作系統(tǒng)是直接運行于裸機之上的系統(tǒng)軟件,它負責對計算機系統(tǒng)的各種軟硬件資源進行管理和分配,為用戶提供友好的計算機使用界面和平臺。在裸機上配置操作系統(tǒng)之后就構成了操作系統(tǒng)虛擬機。所有其它的軟件或程序都在擴充后的機器上運行。第35頁應用程序用戶程序操作系統(tǒng)虛擬機操作系統(tǒng)裸機第36頁2.5
軟件工程產(chǎn)生背景(上個世紀70年代)硬件的發(fā)展使得計算機的應用領域迅速擴大,導致軟件的規(guī)模和復雜度急劇增長。早期手工作坊式的軟件開發(fā)方式因無法適應這種變化而形成了“軟件危機”。主要表現(xiàn)在:開發(fā)成本和進度估計不準確,生產(chǎn)效率低。軟件產(chǎn)品的質量不可靠。軟件常常是不可維護的。缺乏適當?shù)奈臋n資料。用戶對軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。第37頁軟件工程概念什么是“軟件工程”?1983年IEEE給出的定義為:“軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法”。軟件工程是指導計算機軟件開發(fā)和維護的工程學科,采用工程的概念、原理、技術和方法來開發(fā)與維護軟件。軟件工程是一門交叉學科,用管理學的原理、方法來進行軟件生產(chǎn)管理;用工程學的觀點來進行費用估算、制定進度和實施方案;用數(shù)學方法來建立軟件可靠性模型以及分析各種算法。第38頁軟件工程的基本目標在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產(chǎn)品。第39頁軟件生命周期貫穿“軟件工程”這一學科的基本線索是軟件生命周期學說,它告訴軟件開發(fā)者和維護者“什么時候做什么以及怎么做”。軟件生命周期就象人的壽命一樣,從出生算到死亡,從產(chǎn)生開發(fā)需求一直到軟件報廢為止。包括:軟件計劃、需求分析、軟件開發(fā)和軟件維護四個時期。第40頁軟件生命周期階段軟件計劃(系統(tǒng)定義)用戶想解決什么問題?(軟件定義)這個問題能否解決?(可行性分析)需求分析(系統(tǒng)分析)目標系統(tǒng)應該做成什么樣子?軟件開發(fā)(系統(tǒng)實現(xiàn))怎樣實現(xiàn)目標系統(tǒng)?(軟件設計)系統(tǒng)的具體實現(xiàn)(軟件編程)實現(xiàn)的系統(tǒng)與是否符合目標?(軟件測試)軟件維護(系統(tǒng)維護)如何保持系統(tǒng)正常運行?如何升級或修復錯誤?第41頁軟件開發(fā)模型
軟件開發(fā)模型是軟件開發(fā)的全部過程、活動和任務的結構框架。瀑布模型原型模型螺旋模型第42頁軟件開發(fā)模型1.瀑布模型(1)各階段間具有順序性和依賴性。即后一階段工作必須在前一階段工作完成后才能進行,前一階段的輸出文檔是后一階段的輸入文檔。(2)質量保證機制的依賴性。即每一步都必須循序漸進,及早消除故障隱患,保證本階段的工作的質量,從而達到保證整體軟件質量的目的。(3)推遲實現(xiàn)原則。前一階段工作做的越細、越扎實,后一階段工作進行的就越順利,強調“寧慢求好”。因此,各階段工作總是容易一拖再拖,致使整個工期推遲實現(xiàn)。顯然瀑布模型不能滿足呈爆炸狀增長的社會應用需求。
第43頁軟件開發(fā)模型之一:瀑布模型軟件計劃需求分析軟件設計軟件編碼軟件測試軟件維護變化的需求第44頁2.原型模型也稱樣品模式,即開始提出一個樣品雛形,通過不斷改進,完善樣品,使得最后得到用戶所需要的產(chǎn)品。由于在項目開發(fā)初始階段人們對軟件的需求認識常常弄不清楚,原型模型提出分兩次開發(fā)軟件能較好地使用戶滿意:第一次只是試驗開發(fā),其目標在于探索可行性,弄清軟件需求。通常把第一次得到的試驗性產(chǎn)品稱為原型。第二次則在原型基礎上獲得較滿意的軟件產(chǎn)品。顯然,原型模型在克服瀑布模型缺點,減少由于軟件需求不明確而給開發(fā)工作帶來的風險,有著顯著的效果。第45頁軟件開發(fā)模型之二:原型模型
初步需求分析
快速設計
建造原型
用戶評估原型(新需求)
開發(fā)產(chǎn)品
開始
結束
第46頁原型模型的優(yōu)點:(1)開發(fā)人員和用戶在原型上達成一致,共同承擔因修改原型而造成的風險,用戶成了名副其實的開發(fā)組成員??梢詼p少設計中的錯誤和開發(fā)中的風險,從而提高了系統(tǒng)的準確性、正確性以及用戶的滿意程度。(2)縮短了開發(fā)周期,加快了工程進度,降低了成本。原形模型的缺點:原型樣品只是一個臨時的系統(tǒng),它沒有考慮整體的質量和日后的可維護性等問題。第47頁3.螺旋模型螺旋模型將瀑布模型與原型模型結合起來,并且加入風險分析,構成具有特色的模式,可以彌補前兩種模型的不足。螺旋模型將工程分為4個主要活動:制定計劃,風險分析,實現(xiàn)工程和用戶評價。4個活動螺旋式地重復執(zhí)行,直到最終得到用戶認可的產(chǎn)品。螺旋模型的缺點:(1)它很難讓用戶確信這種研發(fā)方法是可控制的;(2)它要求有風險評價的專門技術,如果主要風險不能發(fā)現(xiàn),則問題一定會發(fā)生;第48頁生命周期計劃需求計劃風險分析原型1原型2原型3可操作的原型建模模擬評價操作概念軟件需求需求確認開發(fā)計劃組裝測試計劃風險分析風險分析風險分析軟件產(chǎn)品設計設計驗證與確認詳細設計編碼單元測試組裝測試驗收測試實現(xiàn)成本順時針為進展方向計劃:明確目標、約束條件選擇方案風險分析構造原型工程實現(xiàn)用戶評價;階段評審驗收測試計劃需求精化計劃需求評價評審決策實現(xiàn)計劃軟件開發(fā)模型之三:螺旋模型第49頁2.6
軟件開發(fā)方法結構化方法自頂向下,逐步細化模塊化結構化程序設計面向對象方法第50頁自頂向下,逐步細化由于人類思維能力的限制,如果一次面臨的因素太多,就無法作出精確的思維。例如:舉辦一個生日party布置場地準備食物準備節(jié)目邀請客人自頂向下,逐步細化就是將復雜的問題分解成若干個子問題,直到所有子問題都簡單到能用程序設計語言來表達的方法。第51頁示例:選擇排序算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河北外國語學院附屬中學招聘模擬試卷及參考答案詳解
- 北京市房屋承租居間合同(合集4篇)
- 2025杭州錢塘區(qū)緊缺崗位人才招聘23人考前自測高頻考點模擬試題附答案詳解(考試直接用)
- 2025內蒙古鴻德文理學院招聘24人考前自測高頻考點模擬試題及參考答案詳解1套
- 2025江蘇無錫市錫山區(qū)衛(wèi)生健康系統(tǒng)招聘事業(yè)編制衛(wèi)生人才15人(校園招聘)模擬試卷及答案詳解1套
- 2025國網(wǎng)中國電力科學研究院有限公司第二批高校畢業(yè)生錄用人選的模擬試卷及答案詳解(名校卷)
- 2025年臨沂科技職業(yè)學院公開招聘教師和教輔人員(46名)模擬試卷及答案詳解(奪冠)
- 2025年福安市市級機關公開遴選考試真題
- 2025廣東深圳大學文化產(chǎn)業(yè)研究院宗祖盼副教授博士后招聘1人模擬試卷帶答案詳解
- 2025年甘肅省蘭州大學數(shù)學與統(tǒng)計學院人才招聘模擬試卷及完整答案詳解1套
- 肺栓塞的護理疑難病例討論
- 日間化療服務管理制度
- 外科病人的心理護理講課件
- 2024-2025學年上海市浦東新區(qū)六年級(下)期中數(shù)學試卷(五四學制)(含解析)
- 油工承包合同協(xié)議書
- BSEN50342-1-2015鉛酸起動電池完整
- 2025至2030中國特殊教育市場現(xiàn)狀調查及前景方向研究報告
- 2024年1月浙江省普通高校招生選考思想政治真題試題試卷原卷答案解析
- 辦公樓物業(yè)服務投標方案(技術方案)
- 物業(yè)招投標管理辦法
- 預防乳腺癌術后淋巴水腫
評論
0/150
提交評論