第一章計(jì)算機(jī)軟件技術(shù)概述_第1頁
第一章計(jì)算機(jī)軟件技術(shù)概述_第2頁
第一章計(jì)算機(jī)軟件技術(shù)概述_第3頁
第一章計(jì)算機(jī)軟件技術(shù)概述_第4頁
第一章計(jì)算機(jī)軟件技術(shù)概述_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一章計(jì)算機(jī)軟件技術(shù)概述了解以下知名公司的發(fā)展歷史,掌握公司業(yè)務(wù)范圍及主流產(chǎn)品的應(yīng)用領(lǐng)域Microsoft、Apple、IBM、Oracle(Sun、Google、Adobe、Amazon、Symbian1.1 軟件的組成要素1.2 軟件技術(shù)的組成體系1.3 軟件的主要屬性與特點(diǎn)1.4 軟件的工作與存儲(chǔ)空間1.1 軟件的組成要素引子:使用計(jì)算機(jī)就是使用軟件,我們會(huì)用到許多感興趣的應(yīng)用軟件,而應(yīng)用軟件還需要一個(gè)“看不見的引擎”的支撐和驅(qū)動(dòng)。我們不能真正看到或觸摸這個(gè)“引擎”也稱軟件平臺(tái),但在現(xiàn)代產(chǎn)品中它卻無處不在,有的甚至家喻戶曉1、軟件(Software的三要素計(jì)算機(jī)軟件:程序、數(shù)據(jù)及相關(guān)文檔

2、組成文檔(Document:指軟件開發(fā)、維護(hù)和使用相關(guān)的圖文資料,包括對(duì)軟件程序和數(shù)據(jù)的描述等2、軟件與程序軟件的組成中,程序和數(shù)據(jù)是主體,核心是程序。有時(shí)軟件和程序可以相互替換使用,并不嚴(yán)格區(qū)分,也有稱軟件程序但要了解,兩者區(qū)別是很明顯程序側(cè)重描述軟件實(shí)現(xiàn)的指令代碼,并且源程序中的代碼通常是可以閱讀的,但是不能被計(jì)算機(jī)直接執(zhí)行,而可執(zhí)行程序的代碼通常是無法被閱讀的,但可以提交計(jì)算機(jī)執(zhí)行。從這個(gè)角度,我們所購買的軟件只是程序的可執(zhí)行版本而不是(軟件的源代碼軟件包含程序,其內(nèi)涵與外延更廣泛計(jì)算機(jī)系統(tǒng)由軟件與硬件組成。硬件(Hardware作為有形、可觸摸的物理設(shè)備構(gòu)成一個(gè)“裸機(jī)”,須加載軟件(即

3、裝入程序才能構(gòu)成可以運(yùn)行和發(fā)揮功用的計(jì)算機(jī)系統(tǒng)以服務(wù)于用戶計(jì)算機(jī)軟硬件協(xié)同工作、相互支持、相互制約,推動(dòng)著計(jì)算機(jī)應(yīng)用的發(fā)展1.2 軟件技術(shù)的組成體系計(jì)算機(jī)軟件技術(shù)是與軟件開發(fā)及軟件使用相關(guān)的理論和技術(shù)的總稱。軟件使用體現(xiàn)軟件在各行各業(yè)的具體應(yīng)用從學(xué)科角度,軟件技術(shù)體系非常豐富、廣泛,可概括為軟件理論、軟件系統(tǒng)及軟件開發(fā)三大組成部分軟件系統(tǒng)由系統(tǒng)軟件、支撐軟件及應(yīng)用軟件組成,涉及軟件整體含義的內(nèi)容組成,不同軟件根據(jù)其作用按不同的層次環(huán)繞硬件。上述也是一種常用軟件分類方法1、系統(tǒng)軟件系統(tǒng)軟件屬于基礎(chǔ)軟件(1面向系統(tǒng)并為整個(gè)計(jì)算機(jī)系統(tǒng)服務(wù)(2面向用戶的應(yīng)用軟件及中間件等須通過它發(fā)揮作用操作系統(tǒng)(Op

4、erating System是主要系統(tǒng)軟件(或軟件平臺(tái),Platform,是最貼近硬件、最基礎(chǔ)的一層軟件,與具體應(yīng)用領(lǐng)域無關(guān),其他任何軟件都依賴于它OS影響著計(jì)算機(jī)系統(tǒng)的穩(wěn)定性、可靠性操作系統(tǒng)或軟件平臺(tái)對(duì)計(jì)算機(jī)(及各種信息設(shè)備和產(chǎn)品的運(yùn)行起著非同尋常的作用,是計(jì)算機(jī)中的“看不見的引擎”從微處理器的視角看,計(jì)算機(jī)平臺(tái)中,操作系統(tǒng)是CPU接收指令的唯一程序,其他任何程序都通過OS與CPU打交道操作系統(tǒng)是非常復(fù)雜的軟件(程序,通常由一個(gè)“內(nèi)核”和其他程序模塊組成,負(fù)責(zé)計(jì)算機(jī)軟硬件資源的分配與調(diào)度、程序的執(zhí)行,涉及進(jìn)程管理、內(nèi)存管理、設(shè)備管理、文件管理、網(wǎng)絡(luò)支持及安全管理等,我們使用計(jì)算機(jī)時(shí)所必須安裝

5、和感知的第一個(gè)軟件即OS(OS界面示例:操作系統(tǒng)(OS是最主要系統(tǒng)軟件,用戶首先選擇和安裝的軟件語言處理系統(tǒng)也是一類重要的軟件,有人將其歸類為系統(tǒng)軟件,也有單獨(dú)劃為編程軟件,是軟件開發(fā)者所關(guān)心的用于創(chuàng)建、調(diào)試、維護(hù)應(yīng)用軟件的工具,主要涉及:為什么需要語言處理系統(tǒng)?應(yīng)用軟件(程序基于某高級(jí)語言編制而成,但要讓軟件能被計(jì)算機(jī)理解、執(zhí)行,就需要借助語言處理系統(tǒng)的翻譯處理最常用語言處理系統(tǒng)有:即編譯系統(tǒng)(或稱為編譯程序、編譯器及解釋系統(tǒng)(或稱為解釋程序、解釋器編譯程序(Compiler:將高級(jí)語言書寫的程序(源程序翻譯成等價(jià)的低級(jí)語言(機(jī)器或匯編語言程序(稱為目標(biāo)程序,Object program的計(jì)

6、算機(jī)程序(軟件高級(jí)語言程序被處理后生成的目標(biāo)程序不能直接執(zhí)行,還需鏈接程序(Chain Program以生成可執(zhí)行程序解釋程序(Interpreter:直接翻譯(轉(zhuǎn)換為機(jī)器碼并執(zhí)行某種語言編寫的源程序指令的計(jì)算機(jī)程序與編譯程序的工作模式不同,解釋程序采用類似外語現(xiàn)場(chǎng)“口譯”中的邊說邊翻譯的工作模式,解釋程序?qū)υ闯绦蛱幚砗蟛⒉划a(chǎn)生一個(gè)獨(dú)立的目標(biāo)程序而是輸出執(zhí)行計(jì)算結(jié)果2、支撐軟件:支撐軟件開發(fā)、維護(hù)與運(yùn)行的一類專業(yè)軟件。此類軟件較廣泛的是中間件(Middleware,可理解為介于OS與應(yīng)用軟件之間的軟件3、應(yīng)用軟件(Application Software:指面向具體業(yè)務(wù)和應(yīng)用領(lǐng)域的軟件計(jì)算機(jī)應(yīng)

7、用很大程度取決于應(yīng)用軟件為終端用戶帶來效率的提高,其他的軟件都服務(wù)于應(yīng)用軟件,提供支持操作系統(tǒng)作為軟件平臺(tái)搭起應(yīng)用軟件與硬件溝通的橋梁軟件平臺(tái)聚集各種應(yīng)用軟件開發(fā)者及終端用戶,還吸引中間件(開發(fā)者為應(yīng)用軟件開發(fā)者提供各種支持幫助示例:應(yīng)用軟件可以基于不同的操作系統(tǒng)(軟件平臺(tái),對(duì)比手機(jī)和個(gè)人電腦平臺(tái)應(yīng)用程序編程接口(API,Application Programming Interface:操作系統(tǒng)對(duì)終端用戶和應(yīng)用程序(軟件支持模式不同應(yīng)用程序是應(yīng)用程序(軟件開發(fā)商提供給終端用戶的產(chǎn)品和服務(wù),程序開發(fā)人員或者應(yīng)用程序通過OS所提供的各種應(yīng)用程序編程接口獲取OS服務(wù),以便更有效開發(fā)面向終端用戶的各

8、種軟件產(chǎn)品Java是當(dāng)今極具競(jìng)爭(zhēng)力的熱門技術(shù),其核心構(gòu)成包括Java語言、JVM及Java API,Java平臺(tái)(JVM和Java API能夠嵌入所有OS平臺(tái)中。基于Java平臺(tái)這種跨平臺(tái)特點(diǎn),Java應(yīng)用程序只需編譯一次,即可在各種計(jì)算機(jī)系統(tǒng)運(yùn)行,即實(shí)現(xiàn)“write once,run anywere”1.3 軟件的主要屬性與特點(diǎn)軟件的抽象性(無形性軟件的復(fù)雜性(知識(shí)性軟件的開發(fā)模式(手工軟件的知識(shí)產(chǎn)權(quán)(盜版軟件項(xiàng)目與產(chǎn)品(群體1、軟件的抽象性一方面軟件是一種無形的、不可觸摸、不會(huì)產(chǎn)生“磨損”的信息產(chǎn)品和邏輯產(chǎn)品(“比特bit”集,但通過其載體及運(yùn)行呈現(xiàn)的界面被用戶感知、傳播和使用另一方面,軟

9、件只有裝入計(jì)算機(jī)中,并運(yùn)行和使用,才能確定其提供的功能是否滿足需要、是否好用(用戶體驗(yàn)用戶通過軟件(界面,Interface使用計(jì)算機(jī)硬件的功能。軟件界面歷經(jīng)不斷改進(jìn)和發(fā)展,使用軟件使用更容易、更方便、更人性化,促進(jìn)了計(jì)算機(jī)的普及示例:不同軟件界面展示與啟示(圖略示例:同一軟件界面發(fā)展(圖略1990年2月Photoshop 1.0正式發(fā)布:當(dāng)時(shí)只能運(yùn)行在蘋果的麥金塔電腦上等直到CS、CS2、CS3到CS5(平均1到2年示例:軟件程序圖標(biāo)、文件及其運(yùn)行模式源程序或可執(zhí)行程序都是以文件的形式存儲(chǔ)于計(jì)算機(jī)存儲(chǔ)體中(硬盤如文字處理程序Word 2003、瀏覽器程序都是最常用的程序文件,它們的文件名分別

10、為winword.exe和iexplore.exe,DOS與Windows下的顯示、運(yùn)行對(duì)比如下(圖略2、軟件的復(fù)雜性軟件是人們(軟件開發(fā)團(tuán)隊(duì)通過大量的腦力勞動(dòng),把知識(shí)與技術(shù)轉(zhuǎn)化為信息產(chǎn)生的知識(shí)性產(chǎn)品,這個(gè)轉(zhuǎn)化的過程稱為軟件開發(fā)。軟件的復(fù)雜性源自于問題和任務(wù)本身及軟件開發(fā)過程的復(fù)雜“當(dāng)越來越多的功能組件加入OS,并且硬件的性能隨之逐漸增強(qiáng)時(shí),OS大小和復(fù)雜性也在不斷升級(jí)”3、軟件的開發(fā)模式迄今軟件開發(fā)幾乎完全依賴人類手工模式完成,盡管有軟件工程、自動(dòng)化工具輔助與支撐,以及軟件開發(fā)團(tuán)隊(duì)協(xié)作在一定程度上可以提高開發(fā)效率軟件開發(fā)的工作量大、周期長且成本高昂,工作辛苦乏味,極具挑戰(zhàn)性如操作系統(tǒng)(OS:

11、從概念形成、架構(gòu)、開發(fā)實(shí)現(xiàn)到發(fā)布通常需要?dú)v時(shí)數(shù)年對(duì)于應(yīng)用軟件:希望能在連續(xù)幾代的操作系統(tǒng)上工作,操作系統(tǒng)平臺(tái)改變必須盡可能保持軟件的“后向兼容性”專有操作系統(tǒng)或?qū)S熊浖?商業(yè)軟件等開發(fā)是采用軟件公司團(tuán)隊(duì)的集中式、市場(chǎng)與商業(yè)利益驅(qū)動(dòng)模式,開發(fā)成本用戶埋單商業(yè)軟件價(jià)格是個(gè)敏感話題。 與硬件價(jià)格的不斷下降相比, 軟件價(jià)格 并未同步下降 而開源軟件則是基于“軟件自由”的信仰和源代碼公開, 從而實(shí)現(xiàn)“免費(fèi) 軟件”目標(biāo),它通常是依賴互聯(lián)網(wǎng)、吸收全世界各地的程序員的非集 中式軟件開發(fā)(生產(chǎn))方式 專有軟件如Windows操作系統(tǒng)數(shù)千萬行代碼是一個(gè)被嚴(yán)守的商業(yè)秘 密, 至今只有被嚴(yán)格審查的少數(shù)外部人員在高度機(jī)

12、密的條件下才能看 到其源代碼。 而開源軟件的源代碼是完全公開的, 任何人可免費(fèi)獲取 “開源”是指參與者所編寫的軟件程序的源代碼完成后,要公開最后的 程序代碼, 用戶可免費(fèi)獲取開源軟件(包括源代碼) 但要受GPL(通用公共許可證)的限制:“如果你發(fā)行的工作全部或 者部分包含或來源于開源程序及它的衍生產(chǎn)品,那么 你必須將它免 費(fèi)授權(quán)給任何的遵循這一 協(xié)議的第三方”(自由軟件基金會(huì)FSF) 最成功的開源軟件平臺(tái):Linux操作系統(tǒng)(最早是由芬蘭赫爾辛基大 學(xué)的學(xué)生Linus Torvalds編寫的,1991年),當(dāng)今OS領(lǐng)域的“沒有所 有者的新挑戰(zhàn)者” Apache服務(wù)器(軟件):也是最成功、最著名

13、的開源項(xiàng)目之一、最 流行的Web服務(wù)器軟件(最早由美國國際超級(jí)計(jì)算機(jī)應(yīng)用中心NCSA 編寫,National Center for Supercomputing Applications) 開源軟件是自愿者出于興趣、 提高編程和開發(fā)技能、 對(duì)“自由”的向往、 探索、挑戰(zhàn)及榮譽(yù)等非物質(zhì)的動(dòng)機(jī)在空閑時(shí)間進(jìn)行的 GPL強(qiáng)制實(shí)施機(jī)制的意義:“保證了沒有人能夠通過在集體知識(shí)產(chǎn)權(quán) 上加上一點(diǎn)私有知識(shí)產(chǎn)權(quán)就把整個(gè)軟件變成了私有產(chǎn)品” 基于開源軟件的商業(yè)模式:如通過支持Linux,增加硬件、專有軟件 和服務(wù)的銷售 4、軟件的知識(shí)產(chǎn)權(quán)(Intellectual Property) 軟件一旦開發(fā)完成, 可以反復(fù)拷貝和使用, 其復(fù)制和傳播的成本極為 低廉 軟件擁有者收益受軟件盜版影響很大(還有同類軟件市場(chǎng)競(jìng)爭(zhēng)等因 素) (1)發(fā)售難辨認(rèn)的機(jī)器碼(反編譯困難) (2)版權(quán)(授權(quán))、專利等法律形式以 保護(hù)合法使用和阻止知識(shí)產(chǎn)權(quán) 被竊用 5、軟件的項(xiàng)目屬性和產(chǎn)品屬性 軟件項(xiàng)目(Project):有的軟件將只是針對(duì)某個(gè)特定用戶的開發(fā) 軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論