版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面試計(jì)算機(jī)網(wǎng)絡(luò)1.什么是數(shù)字證書數(shù)字證書就是互聯(lián)網(wǎng)通訊中標(biāo)志通訊各方身份信息的一串?dāng)?shù)字,提供了一種在Internet上驗(yàn)證通信實(shí)體身份的方式,其作用類似于司機(jī)的駕駛執(zhí)照或平常生活中的身份證。它是由一個(gè)由權(quán)威機(jī)構(gòu)-----CA機(jī)構(gòu),又稱為證書授權(quán)(CertificateAuthority)中心發(fā)行的,人們可以在網(wǎng)上用它來辨認(rèn)對方的身份。數(shù)字證書是一個(gè)經(jīng)證書授權(quán)中心數(shù)字署名的包含公開密鑰擁有者信息以及公開密鑰的文獻(xiàn)。最簡樸的證書包含一個(gè)公開密鑰、名稱以及證書授權(quán)中心的數(shù)字署名。2.木馬和蠕蟲的區(qū)別病毒“指編制或者在計(jì)算機(jī)程序中插入的破壞計(jì)算機(jī)功能或者破壞數(shù)據(jù),影響計(jì)算機(jī)使用并且可以自我復(fù)制的一組計(jì)算機(jī)指令或者程序代碼”。病毒必須滿足兩個(gè)條件:
1、它必須能自行執(zhí)行。它通常將自己的代碼置于另一個(gè)程序的執(zhí)行途徑中。
2、它必須能自我復(fù)制。例如,它也許用受病毒感染的文獻(xiàn)副本替換其他可執(zhí)行文獻(xiàn)。病毒既可以感染桌面計(jì)算機(jī)也可以感染網(wǎng)絡(luò)服務(wù)器。蠕蟲(worm)是病毒中的一種,但是它與普通病毒之間有著很大的區(qū)別。一般認(rèn)為:蠕蟲是一種通過網(wǎng)絡(luò)傳播的惡性病毒,它具有病毒的一些共性,如傳播性、隱蔽性、破壞性等等,同時(shí)具有自己的一些特性,如不運(yùn)用文獻(xiàn)寄生(有的只存在于內(nèi)存中),對網(wǎng)絡(luò)導(dǎo)致拒絕服務(wù),以及和黑客技術(shù)相結(jié)合,等等。普通病毒需要傳播受感染的駐留文獻(xiàn)來進(jìn)行復(fù)制,而蠕蟲不使用駐留文獻(xiàn)即可在系統(tǒng)之間進(jìn)行自我復(fù)制,普通病毒的傳染能力重要是針對計(jì)算機(jī)內(nèi)的文獻(xiàn)系統(tǒng)而言,而蠕蟲病毒的傳染目的是互聯(lián)網(wǎng)內(nèi)的所有計(jì)算機(jī)。木馬是病毒的一種,病毒是一種破壞性的程序。病毒破壞你的信息,而木馬竊取你的信息。特洛伊木馬與病毒的重大區(qū)別是特洛伊木馬不具傳染性,它并不能像病毒那樣復(fù)制自身,也并不"刻意"地去感染其他文獻(xiàn),它重要通過將自身偽裝起來,吸引用戶下載執(zhí)行。操作系統(tǒng)1、TCP三次握手的過程基于TCP協(xié)議傳輸數(shù)據(jù)之前,為確認(rèn)連接正常,會通過三次握手來建立虛連接,連接建立完畢后才干進(jìn)行數(shù)據(jù)的傳輸。三次握手的過程如下:一方面由發(fā)起端發(fā)送連接請求;當(dāng)接受方收到連接請求后,假如批準(zhǔn)建立連接會回復(fù)應(yīng)答報(bào)文;然后發(fā)送方收到此應(yīng)答報(bào)文,會發(fā)送對此應(yīng)答報(bào)文的確認(rèn)信息。通過這種三次握手的過程來在數(shù)據(jù)發(fā)送的初期建立連接,保障數(shù)據(jù)的正常傳輸。2.庫函數(shù)調(diào)用和系統(tǒng)調(diào)用的區(qū)別函數(shù)庫調(diào)用是語言或應(yīng)用程序的一部分,而系統(tǒng)調(diào)用是操作系統(tǒng)的一部分。你要保證弄懂“trap(自陷)”這個(gè)關(guān)鍵字的含義。系統(tǒng)調(diào)用是在操作系統(tǒng)內(nèi)核發(fā)現(xiàn)一個(gè)“trap”或中斷后進(jìn)行的。在所有的ANSIC編譯器版本中,C庫函數(shù)是相同的各個(gè)操作系統(tǒng)的系統(tǒng)調(diào)用是不同的它調(diào)用函數(shù)庫中的一段程序(或函數(shù))它調(diào)用系統(tǒng)內(nèi)核的服務(wù)與用戶程序相聯(lián)系是操作系統(tǒng)的一個(gè)入口點(diǎn)在用戶地址空間執(zhí)行在內(nèi)核地址空間執(zhí)行它的運(yùn)營時(shí)間屬于“用戶時(shí)間”它的運(yùn)營時(shí)間屬于“系統(tǒng)”時(shí)間屬于過程調(diào)用,調(diào)用開銷較小需要在用戶空間和內(nèi)核上下文環(huán)境間切換,開銷較大在C函數(shù)庫libc中有大約300個(gè)函數(shù)在UNIX中大約有90個(gè)系統(tǒng)調(diào)用典型的C函數(shù)庫調(diào)用:systemfprintfmalloc典型的系統(tǒng)調(diào)用:chdirforkwritebrk;庫函數(shù)調(diào)用通常比行內(nèi)展開的代碼慢,由于它需要付出函數(shù)調(diào)用的開銷。但系統(tǒng)調(diào)用比庫函數(shù)調(diào)用還要慢很多,由于它需要把上下文環(huán)境切換到內(nèi)核模式。3.工作集的定義和作用所謂工作集是指進(jìn)程已映射的物理內(nèi)存部分(即這些內(nèi)存塊全在物理內(nèi)存中,并且CPU可以直接訪問),尚有一部分不在工作集中的虛擬內(nèi)存則也許在轉(zhuǎn)換列表中(CPU不能通過虛地址訪問,需要Windows映射之后才干訪問),尚有一部分則在磁盤上的頁面文獻(xiàn)里。 工作集在進(jìn)程運(yùn)營時(shí)會被Windows自動調(diào)整,頻繁訪問的頁面(4KB的塊)會留在內(nèi)存中,而不頻繁訪問的頁面在內(nèi)存緊張時(shí)會被從工作集中移出,暫時(shí)保存在內(nèi)存中的“轉(zhuǎn)換列表”中,或者進(jìn)一步換出到頁面文獻(xiàn)中。當(dāng)應(yīng)用程序再次訪問某一頁面時(shí),操作系統(tǒng)會將它重新加回工作集中。進(jìn)程與線程計(jì)算機(jī)的核心是CPU,它承擔(dān)了所有的計(jì)算任務(wù)。單個(gè)CPU一次只能運(yùn)營一個(gè)任務(wù)。進(jìn)程代表CPU所能解決的單個(gè)任務(wù)。任一時(shí)刻,CPU總是運(yùn)營一個(gè)進(jìn)程,其他進(jìn)程處在非運(yùn)營狀態(tài)。一個(gè)進(jìn)程可以涉及多個(gè)線程。進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)營效率。一個(gè)進(jìn)程的內(nèi)存空間是共享的,每個(gè)線程都可以使用這些共享內(nèi)存。一個(gè)線程使用某些共享內(nèi)存時(shí),其他線程必須等它結(jié)束,才干使用這一塊內(nèi)存。"互斥鎖"(Mutualexclusion,縮寫Mutex),防止多個(gè)線程同時(shí)讀寫某一塊內(nèi)存區(qū)域。某些內(nèi)存區(qū)域,只能供應(yīng)固定數(shù)目的線程使用。操作系統(tǒng)的設(shè)計(jì),因此可以歸結(jié)為三點(diǎn):(1)以多進(jìn)程形式,允許多個(gè)任務(wù)同時(shí)運(yùn)營;(2)以多線程形式,允許單個(gè)任務(wù)提成不同的部分運(yùn)營;(3)提供協(xié)調(diào)機(jī)制,一方面防止進(jìn)程之間和線程之間產(chǎn)生沖突,另一方面允許進(jìn)程之間和線程之間共享資源。5.cpu最小時(shí)鐘周期時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘頻率的倒數(shù)。時(shí)鐘周期表達(dá)了SDRAM所能運(yùn)營的最高頻率。SDRAM全稱為“SynchronousDynamicrandomaccessmemory”,在電腦系統(tǒng)上為同步內(nèi)存的意思。理論上,SDRAM與CPU在同一個(gè)時(shí)鐘周期里運(yùn)營。時(shí)鐘周期是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。CPU工作的最小時(shí)間單位。在一個(gè)時(shí)鐘周期內(nèi),CPU僅完畢一個(gè)最基本的動作。進(jìn)程調(diào)度無論是在批解決系統(tǒng)還是分時(shí)系統(tǒng)中,用戶進(jìn)程數(shù)一般都多于解決機(jī)數(shù)、這將導(dǎo)致它們互相爭奪解決機(jī)。此外,系統(tǒng)進(jìn)程也同樣需要使用解決機(jī)。這就規(guī)定進(jìn)程調(diào)度程序按一定的策略,動態(tài)地把解決機(jī)分派給處在就緒隊(duì)列中的某一個(gè)進(jìn)程,以使之執(zhí)行。從就緒的進(jìn)程中選出最適合的一個(gè)來執(zhí)行。1.等待態(tài):等待某個(gè)事件的完畢;2.就緒態(tài):等待系統(tǒng)分派解決器以便運(yùn)營;3.運(yùn)營態(tài):占有解決器正在運(yùn)營。也許引起進(jìn)程切換的中斷因素有:時(shí)鐘中斷、設(shè)備I/O中斷信號、系統(tǒng)調(diào)用等所謂批解決(batchprocessing)就是將作業(yè)按照它們的性質(zhì)分組(或分批),然后再成組(或成批)地提交給計(jì)算機(jī)系統(tǒng),由計(jì)算機(jī)自動完畢后再輸出結(jié)果,從而減少作業(yè)建立和結(jié)束過程中的時(shí)間浪費(fèi)。根據(jù)在內(nèi)存中允許存放的作業(yè)數(shù),批解決系統(tǒng)又分為單道批解決系統(tǒng)和多道批解決系統(tǒng)。批解決系統(tǒng)(batchprocessingsystem)中,一個(gè)作業(yè)可以長時(shí)間地占用cpu。而分時(shí)系統(tǒng)中,一個(gè)作業(yè)只能在一個(gè)時(shí)間片(TimeSlice,一般取100ms)的時(shí)間內(nèi)使用cpu。分時(shí)操作系統(tǒng)(time-sharingsystem),“分時(shí)”的含義:分時(shí)是指多個(gè)用戶分享使用同一臺計(jì)算機(jī)。多個(gè)程序分時(shí)共享硬件和軟件資源。軟件工程1.什么是白盒測試?什么是黑盒測試?區(qū)別是什么?白盒測試也叫做alpha測試,是指程序設(shè)計(jì)員為了驗(yàn)證程序的邏輯過程而進(jìn)行的測試,因知道內(nèi)部原理而得名。黑盒測試也beta測試,是由客戶(使用者)進(jìn)行的測試,目的在于檢查程序的功能,因不知道其內(nèi)部結(jié)構(gòu)而得名。代碼可見不可見的區(qū)別:黑盒不管代碼,只測試功能;白盒要判斷程序代碼邏輯結(jié)構(gòu)。面向?qū)ο筌浖こ烫攸c(diǎn)1與人類習(xí)慣思維方法一致2穩(wěn)定性好3可重用性好4較易開發(fā)大型軟件產(chǎn)品5可維護(hù)性好需求分析所謂"需求分析",是指對要解決的問題進(jìn)行具體的分析,弄清楚問題的規(guī)定,涉及需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么。可以說,在軟件工程當(dāng)中的“需求分析”就是擬定要計(jì)算機(jī)“做什么”,要達(dá)成什么樣的效果。可以說需求分析是做系統(tǒng)之前必做的。UML建模語言UnifiedModelingLanguage(UML)又稱統(tǒng)一建模語言或標(biāo)準(zhǔn)建模語言。它是一個(gè)支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持,涉及由需求分析到規(guī)格,到構(gòu)造和配置。UML提出了一套IT專業(yè)人員期待數(shù)年的統(tǒng)一的標(biāo)準(zhǔn)建模符號。通過使用UML,這些人員可以閱讀和交流系統(tǒng)架構(gòu)和設(shè)計(jì)規(guī)劃--就像建筑工人數(shù)年來所使用的建筑設(shè)計(jì)圖同樣。順序圖順序圖是將交互關(guān)系表達(dá)為一個(gè)二維圖??v向是時(shí)間軸,時(shí)間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨(dú)立對象的類元角色。類元角色用生命線表達(dá)。當(dāng)對象存在時(shí),角色用一條虛線表達(dá),當(dāng)對象的過程處在激活狀態(tài)時(shí),生命線是一個(gè)雙道線。eg.一次學(xué)生的注冊數(shù)據(jù)庫1.什么是事務(wù)解決?事務(wù)解決(TRANSACTION)是由一個(gè)或多個(gè)SQL語句序列結(jié)合在一起所形成的一個(gè)邏輯解決單元。事務(wù)解決中的每個(gè)語句都是完畢整個(gè)任務(wù)的一部分工作,所有的語句組織在一起可以完畢某一特定的任務(wù)。DBMS在對事務(wù)解決中的語句進(jìn)行解決時(shí),是按照下面的約定來進(jìn)行的,這就是“事務(wù)解決中的所有語句被作為一個(gè)原子工作單位,所有的語句既可成功地被執(zhí)行,也可以沒有任何一個(gè)語句被執(zhí)行”。2.DBA的作用數(shù)據(jù)庫管理員(DatabaseAdministrator,簡稱DBA),是一個(gè)負(fù)責(zé)管理和維護(hù)數(shù)據(jù)庫服務(wù)器的人。數(shù)據(jù)庫管理員負(fù)責(zé)全面管理和控制數(shù)據(jù)庫系統(tǒng)。3.數(shù)據(jù)庫三級模式人們?yōu)閿?shù)據(jù)庫設(shè)計(jì)了一個(gè)嚴(yán)謹(jǐn)?shù)捏w系結(jié)構(gòu),數(shù)據(jù)庫領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級模式結(jié)構(gòu),它涉及外模式、概念模式、內(nèi)模式,有效地組織、管理數(shù)據(jù),提高了數(shù)據(jù)庫的邏輯獨(dú)立性和物理獨(dú)立性。用戶級相應(yīng)外模式,概念級相應(yīng)概念模式,物理級相應(yīng)內(nèi)模式,使不同級別的用戶對數(shù)據(jù)庫形成不同的視圖。所謂視圖,就是指觀測、結(jié)識和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫在用戶“眼中"的反映,很顯然,不同層次(級別)用戶所“看到”的數(shù)據(jù)庫是不相同的。什么是數(shù)據(jù)模型數(shù)據(jù)(data)是描述事物的符號記錄。模型(Model)是現(xiàn)實(shí)世界的抽象。數(shù)據(jù)模型(DataModel)是數(shù)據(jù)特性的抽象,是數(shù)據(jù)庫管理的教學(xué)形式框架。數(shù)據(jù)模型所描述的內(nèi)容涉及三個(gè)部分:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)約束。
1)數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)重要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)以及數(shù)據(jù)間的聯(lián)系等。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)模型的基礎(chǔ),數(shù)據(jù)操作和約束都建立在數(shù)據(jù)結(jié)構(gòu)上。不同的數(shù)據(jù)結(jié)構(gòu)具有不同的操作和約束。
2)數(shù)據(jù)操作:數(shù)據(jù)模型中數(shù)據(jù)操作重要描述在相應(yīng)的數(shù)據(jù)結(jié)構(gòu)上的操作類型和操作方式。
3)數(shù)據(jù)約束:數(shù)據(jù)模型中的數(shù)據(jù)約束重要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、詞義聯(lián)系、他們之間的制約和依存關(guān)系,以及數(shù)據(jù)動態(tài)變化的規(guī)則,以保證數(shù)據(jù)的對的、有效和相容。數(shù)據(jù)模型按不同的應(yīng)用層次提成三種類型:分別是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
1、概念數(shù)據(jù)模型(ConceptualDataModel):簡稱概念模型,是面向數(shù)據(jù)庫用戶的實(shí)現(xiàn)世界的模型,重要用來描述世界的概念化結(jié)構(gòu),它使數(shù)據(jù)庫的設(shè)計(jì)人員在設(shè)計(jì)的初始階段,擺脫計(jì)算機(jī)系統(tǒng)及DBMS的具體技術(shù)問題,集中精力分析數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系等,與具體的數(shù)據(jù)管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)無關(guān)。概念數(shù)據(jù)模型必須換成邏輯數(shù)據(jù)模型,才干在DBMS中實(shí)現(xiàn)。
2、邏輯數(shù)據(jù)模型(LogicalDataModel):簡稱數(shù)據(jù)模型,這是用戶從數(shù)據(jù)庫所看到的模型,是具體的DBMS所支持的數(shù)據(jù)模型,如網(wǎng)狀數(shù)據(jù)模型(NetworkDataModel)、層次數(shù)據(jù)模型(HierarchicalDataModel)等等。此模型既要面向用戶,又要面向系統(tǒng),重要用于數(shù)據(jù)庫管理系統(tǒng)(DBMS)的實(shí)現(xiàn)。
3、物理數(shù)據(jù)模型(PhysicalDataModel):簡稱物理模型,是面向計(jì)算機(jī)物理表達(dá)的模型,描述了數(shù)據(jù)在儲存介質(zhì)上的組織結(jié)構(gòu),它不僅與具體的DBMS有關(guān),并且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實(shí)現(xiàn)時(shí)都有起相應(yīng)的物理數(shù)據(jù)模型。DBMS為了保證其獨(dú)立性與可移植性,大部分物理數(shù)據(jù)模型的實(shí)現(xiàn)工作又系統(tǒng)自動完畢,而設(shè)計(jì)者只設(shè)計(jì)索引、聚集等特殊結(jié)構(gòu)。
在概念數(shù)據(jù)模型中最常用的是E-R模型、擴(kuò)充的E-R模型、面向?qū)ο竽P图爸^詞模型。在邏輯數(shù)據(jù)類型中最常用的是層次模型、網(wǎng)狀模型、關(guān)系模型。事務(wù)解決事務(wù)是這樣一種機(jī)制,它保證多個(gè)SQL語句被當(dāng)作單個(gè)工作單元來解決。事務(wù)具有以下的作用:
*一致性:同時(shí)進(jìn)行的查詢和更新彼此不會發(fā)生沖突,其他用戶不會看到發(fā)生了變化但尚未提交的數(shù)據(jù)。
*可恢復(fù)性:一旦系統(tǒng)故障,數(shù)據(jù)庫會自動地完全恢復(fù)未完畢的事務(wù)。關(guān)系數(shù)據(jù)庫的定義用二維表結(jié)構(gòu)來表達(dá)實(shí)體及實(shí)體之間的聯(lián)系的數(shù)據(jù)模型。將現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表達(dá)。從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。編譯原理句子和句型的定義以及區(qū)別句型句子的結(jié)構(gòu)類型。句子——設(shè)G是一個(gè)給定的文法,S是文法的開始符號,假如Sx(其中x∈VT*),則稱x是文法的一個(gè)句子。句型——設(shè)G是一個(gè)給定的文法,S是文法的開始符號,假如Sx(其中x∈V*),則稱x是文法的一個(gè)句型。V為屬性的有窮集,Vt表達(dá)終結(jié)符集合,Vn表達(dá)非終結(jié)符集合,V表達(dá)文法符號集合(即既包含終結(jié)符,也包含非終結(jié)符.S(start)也是一個(gè)非終結(jié)符,然后大寫的為非終結(jié)符,小寫的為終結(jié)符V是一個(gè)符號集合,假設(shè)V指的是三個(gè)符號a,b,c的集合,記為V={a,b,c}
V*讀作“V的閉包”,它的數(shù)學(xué)定義是V自身的任意多次自身連接(乘法)運(yùn)算的積,也是一個(gè)集合。也就是說,用V中的任意符號進(jìn)行任意多次(涉及0次)連接,得到的符號串,都是V*這個(gè)集合中的元素。
0次連接的結(jié)果是不含任何符號的空串,記為ε
1次連接就是只有一個(gè)符號的符號串,比如,a,b,c
2次連接是兩個(gè)符號構(gòu)成的符號串,比如,aa,ab,ac,ba,bb,bc,等等...文法是編譯原理的基礎(chǔ),是描述一門程序設(shè)計(jì)語言和實(shí)現(xiàn)其編譯器的方法.文法定義:喬姆斯基將所有文法都定義為一個(gè)四元組:
G=(VN,VT,P,Z)
VN:非終結(jié)符號集VT:終結(jié)符號集P:產(chǎn)生式或規(guī)則的集合Z:開始符號(辨認(rèn)符號),Z∈VN
文法和語言分類:0型、1型、2型、3型這幾類文法的差別在于對產(chǎn)生式施加不同的限制。C語言和數(shù)據(jù)結(jié)構(gòu)1.什么是樹?什么是圖?樹和圖有什么區(qū)別?樹和圖都是非線性的數(shù)據(jù)結(jié)構(gòu)。圖相對于樹來說,是更加抽象和復(fù)雜的??梢哉J(rèn)為樹是圖的基礎(chǔ),樹是一種更簡樸意義上的圖。
在樹型結(jié)構(gòu)中,每一個(gè)數(shù)據(jù)元素都也許和下一層中多個(gè)元素(即孩子結(jié)點(diǎn))相關(guān),但卻只能與上一層中的一個(gè)元素(即雙親結(jié)點(diǎn))相關(guān)。而在圖形結(jié)構(gòu)中,結(jié)點(diǎn)之間的關(guān)系可以是任意的,圖中任意兩個(gè)數(shù)據(jù)之間都也許相關(guān)。2.完全二叉樹和滿二叉樹的區(qū)別完全二叉樹的定義:深度為k,有n個(gè)結(jié)點(diǎn)的二叉樹當(dāng)且僅當(dāng)其每一個(gè)結(jié)點(diǎn)都與深度為k的滿二叉樹中編號從1至n的結(jié)點(diǎn)一一相應(yīng)時(shí),稱為完全二叉樹。
特點(diǎn):葉子結(jié)點(diǎn)只也許在層次最大的兩層上出現(xiàn);對任一結(jié)點(diǎn),若其右分支下子孫的最大層次為l,則其左分支下子孫的最大層次必為l或l+1
滿二叉樹:一棵深度為k,且有2的(k)次方-1個(gè)節(jié)點(diǎn)的二叉樹
特點(diǎn):每一層上的結(jié)點(diǎn)數(shù)都是最大結(jié)點(diǎn)數(shù)。哪種二叉樹數(shù)與存儲結(jié)構(gòu)有關(guān)線索二叉樹。n個(gè)結(jié)點(diǎn)的二叉鏈表中具有n+1(2n-(n-1)=n+1)個(gè)空指針域。運(yùn)用二叉鏈表中的空指針域,存放指向結(jié)點(diǎn)在某種遍歷順序下的前趨和后繼結(jié)點(diǎn)的指針(這種附加的指針稱為"線索")。4.選擇編程語言所依據(jù)的規(guī)則在選擇編程語言時(shí)以下事情應(yīng)當(dāng)考慮:常規(guī)特性:性能、兼容性、操作……l團(tuán)隊(duì)大小l代碼多少l代碼的壽命l應(yīng)用領(lǐng)域l工具:選擇語言考慮的最后一個(gè)問題是工具的支持。一個(gè)合適的編輯器對于你編程所起的作用不亞于語言自身的語法.1.匯編是面向機(jī)器的程序設(shè)計(jì)語言.匯編語言是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是運(yùn)用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語言。在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。這樣用符號代替機(jī)器語言的二進(jìn)制碼,就把機(jī)器語言變成了匯編語言。因此匯編語言亦稱為符號語言。2.C適于快而小的程序,但不支持面向?qū)ο蟮木幊獭W詮腃發(fā)明了以后,它就取代了匯編語言在操作系統(tǒng)編程的領(lǐng)導(dǎo)地位。從性能上說,除了匯編語言,C語言是最接近機(jī)器的語言。各種操作系統(tǒng)的編程接口的默認(rèn)語言都是C語言。因此,用C語言編程,可以最大限度發(fā)揮操作系統(tǒng)的能力。同時(shí),由于絕大部分的商品軟件都是C或與C兼容的C++實(shí)現(xiàn)的,都有C編程接口,可以說,沒有C不能實(shí)現(xiàn)的功能。缺陷是在公司級開發(fā)中,幾乎無用武之地。3.C++完全支持面向?qū)ο?,但是非常?fù)雜。優(yōu)點(diǎn)在于具有大量的庫,如MFC,可直接調(diào)用windows庫函數(shù)干很多事情。C語言進(jìn)化而來的,有強(qiáng)大的功能,舉例吧:軟件:微軟的Office系列Macromedia網(wǎng)頁三劍客-flash,dreamweaver,fireworksAdobe出的超有名的作圖軟件-PhotoShop3D動畫軟件-3DMax游戲:PC平臺幾乎所有的游戲星際爭霸、魔獸爭霸、CS、帝國時(shí)代、跑跑卡丁車、傳奇、魔獸世界....那數(shù)不勝數(shù)了,自己數(shù)吧:)以上均出自C++之手,因素是C++靠近計(jì)算機(jī)底層,編寫出來的程序?qū)ο到y(tǒng)資源依賴較小,功能強(qiáng)大,運(yùn)營速度快,比如你的兩個(gè)朋友與你分別玩用VB、Java、與C++編寫的“跑跑卡丁車”,你玩C++那款游戲已經(jīng)跑玩結(jié)束了,發(fā)現(xiàn)你的兩個(gè)朋友還沒開始跑呢,那是相稱的卡啊,所以這一系列的軟件、游戲都會采用C++編寫。雖然C++很有優(yōu)點(diǎn),但是對于學(xué)習(xí)者來說應(yīng)當(dāng)是比較困難的一門語言。(再說明一點(diǎn),C或C++屬于語言,而VC-“VisualC++”是用來編寫C或C++的工具)4.VisualBasic與Delphi易學(xué),但不可移植且有專利權(quán)。VisualBasic(簡稱VB)VB是快速的界面生成語言,是快速的數(shù)據(jù)庫程序開發(fā)語言。vba是vb的應(yīng)用版,嵌入在MSoffice中。編寫MSoffice上的程序很好用。缺陷是只能在Windows平臺運(yùn)作。DelphiKylix和vb同樣是快速開發(fā)環(huán)境,但性能更好,功能更強(qiáng)大,亦可以用于Linux平臺。語法建基于Pascal,是面向?qū)ο蟮某绦蛘Z言5.Java商業(yè)編程語言。有很多簡潔的功能,但是慢。創(chuàng)作工具可以以最快的速度產(chǎn)生你的程序,但是僅對某一些類型的程序起作用。Java作為現(xiàn)代語言,具有非常豐富的語法特性,如模塊和類,不像C隨操作系統(tǒng)和編譯器的不同有極大差異。Java所有的API都是類庫,相對C的函數(shù)來說,是非常大的進(jìn)步。缺陷是要學(xué)的技術(shù)太多,二是在底層開發(fā)中不行。Java開發(fā)的軟件大部分是面向事業(yè)單位、公司及公司的,它的功能同樣強(qiáng)大,結(jié)構(gòu)比C++清楚,學(xué)習(xí)起來比C++簡樸多了,并且是跨平臺運(yùn)營的程序,用Java開發(fā)出來的軟件可以在世界幾乎所有的系統(tǒng)上運(yùn)營(涉及Linux、掌上電腦、手機(jī)等),但正由于如此,使之運(yùn)營時(shí)會比C++開發(fā)的軟件要慢。6.Web類的大體說下流行的phpjspasp三者從數(shù)據(jù)庫操作上而言,jsp>php>asp從目前市場角度來說,asp幾乎壟斷了中小型市場。而asp漏洞百出,因素也是市場片面比較大,垃圾程序較多。學(xué)java,學(xué)的不僅僅是技術(shù),而是一種思想
架構(gòu)項(xiàng)目的思想
。
所以java是培養(yǎng)架構(gòu)師,培養(yǎng)System
Designer,Project
Manager的
c語言和c++只能培養(yǎng)技術(shù)專家,資深程序員。筆試1.UML在UML2中有二種基本的圖范疇:結(jié)構(gòu)圖和行為圖。每個(gè)UML圖都屬于這二個(gè)圖范疇。結(jié)構(gòu)圖的目的是顯示建模系統(tǒng)的靜態(tài)結(jié)構(gòu)。它們涉及類,組件和(或)對象圖。另一方面,行為圖顯示系統(tǒng)中的對象的動態(tài)行為,涉及如對象的方法,協(xié)作和活動之類的內(nèi)容。行為圖的實(shí)例是活動圖,用例圖和序列圖。1.1用例圖用例圖重要用來描述“用戶、需求、系統(tǒng)功能單元”之間的關(guān)系。它展示了一個(gè)外部用戶可以觀測到的系統(tǒng)功能模型圖?!居猛尽浚簬椭_發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求。用例圖所包含的元素如下:1.參與者(Actor)表達(dá)與您的應(yīng)用程序或系統(tǒng)進(jìn)行交互的用戶、組織或外部系統(tǒng)。用一個(gè)小人表達(dá)。2.用例(UseCase)用例就是外部可見的系統(tǒng)功能,對系統(tǒng)提供的服務(wù)進(jìn)行描述。用橢圓表達(dá)。3.子系統(tǒng)(Subsystem)用來展示系統(tǒng)的一部分功能,這部分功能聯(lián)系緊密。4.關(guān)系用例圖中涉及的關(guān)系有:關(guān)聯(lián)、泛化、包含、擴(kuò)展。如下表所示:a.關(guān)聯(lián)(Association)表達(dá)參與者與用例之間的通信,任何一方都可發(fā)送或接受消息?!炯^指向】:指向消息接受方b.泛化(Inheritance)就是通常理解的繼承關(guān)系,子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。【箭頭指向】:指向父用例c.包含(Include)包含關(guān)系用來把一個(gè)較復(fù)雜用例所表達(dá)的功能分解成較小的環(huán)節(jié)?!炯^指向】:指向分解出來的功能用例d.擴(kuò)展(Extend)擴(kuò)展關(guān)系是指用例功能的延伸,相稱于為基礎(chǔ)用例提供一個(gè)附加功能?!炯^指向】:指向基礎(chǔ)用例e.依賴(Dependency)以上4種關(guān)系,是UML定義的標(biāo)準(zhǔn)關(guān)系。但VS2023的用例模型圖中,添加了依賴關(guān)系,用帶箭頭的虛線表達(dá),表達(dá)源用例依賴于目的用例?!炯^指向】:指向被依賴項(xiàng)5.項(xiàng)目(Artifact)用例圖雖然是用來幫助人們形象地理解功能需求,但卻沒多少人可以通看懂它。很多時(shí)候跟用戶交流甚至用Excel都比用例圖強(qiáng),VS2023中引入了“項(xiàng)目”這樣一個(gè)元素,以便讓開發(fā)人員可以在用例圖中鏈接一個(gè)普通文檔。用依賴關(guān)系把某個(gè)用例依賴到項(xiàng)目上:然后把項(xiàng)目-》屬性的Hyperlink設(shè)立到你的文檔上;這樣當(dāng)你在用例圖上雙擊項(xiàng)目時(shí),就會打開相關(guān)聯(lián)的文檔。6.注釋(Comment)包含(include)、擴(kuò)展(extend)、泛化(Inheritance)的區(qū)別:條件性:泛化中的子用例和include中的被包含的用例會無條件發(fā)生,而extend中的延伸用例的發(fā)生是有條件的;直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務(wù),而include中被包含的用例為參與者提供間接服務(wù)。對extend而言,延伸用例并不包含基礎(chǔ)用例的內(nèi)容,基礎(chǔ)用例也不包含延伸用例的內(nèi)容。對Inheritance而言,子用例包含基礎(chǔ)用例的所有內(nèi)容及其和其他用例或參與者之間的關(guān)系;一個(gè)用例圖示例:1.2類圖在UML的靜態(tài)機(jī)制中類圖是一個(gè)重點(diǎn),它不僅是設(shè)計(jì)人員關(guān)心的核心,更是實(shí)現(xiàn)人員關(guān)注的核心。建模工具也重要根據(jù)類圖來產(chǎn)生代碼。類的屬性、操作中的可見性使用+、#、-分別表達(dá)public、protected、private。類之間的關(guān)系是類圖中比較復(fù)雜的內(nèi)容。有泛化(Generalization),實(shí)現(xiàn)(Realization),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)。1.泛化(Generalization)【泛化關(guān)系】:是一種繼承關(guān)系,是“a-kind-of”關(guān)系,定義一般元素和特殊元素之間的分類關(guān)系。表達(dá)一般與特殊的關(guān)系,它指定了子類如何特化父類的所有特性和行為。例如:老虎是動物的一種,即有老虎的特性也有動物的共性?!炯^指向】:帶三角箭頭的實(shí)線,箭頭指向父類2.實(shí)現(xiàn)(Realization)【實(shí)現(xiàn)關(guān)系】:是一種類與接口的關(guān)系,表達(dá)類是接口所有特性和行為的實(shí)現(xiàn).【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口3.關(guān)聯(lián)(Association)【關(guān)聯(lián)關(guān)系】:是一種擁有的關(guān)系,它使一個(gè)類知道另一個(gè)類的屬性和方法;如:老師與學(xué)生,丈夫與妻子關(guān)聯(lián)可以是雙向的,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個(gè)箭頭或者沒有箭頭,單向的關(guān)聯(lián)有一個(gè)箭頭?!敬a體現(xiàn)】:成員變量【箭頭及指向】:帶普通箭頭的實(shí)心線,指向被擁有者上圖中,老師與學(xué)生是雙向關(guān)聯(lián),老師有多名學(xué)生,學(xué)生也也許有多名老師。但學(xué)生與某課程間的關(guān)系為單向關(guān)聯(lián),一名學(xué)生也許要上多門課程,課程是個(gè)抽象的東西他不擁有學(xué)生。下圖為自身關(guān)聯(lián):關(guān)聯(lián)的一方關(guān)聯(lián)對象位于直線的上端,關(guān)聯(lián)數(shù)目位于同側(cè)的直線下端,另一方則相反
多重值和它們的表達(dá)表達(dá)含義0..10個(gè)或1個(gè)1只能1個(gè)0..*0個(gè)或多個(gè)*0個(gè)或多個(gè)1..*1個(gè)或多個(gè)3只能3個(gè)0..50到5個(gè)5..155到15個(gè)4.聚合(Aggregation)【聚合關(guān)系】:是整體與部分的關(guān)系,且部分可以離開整體而單獨(dú)存在。如車和輪胎是整體和部分的關(guān)系,輪胎離開車仍然可以存在。聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強(qiáng)的關(guān)聯(lián)關(guān)系;關(guān)聯(lián)和聚合在語法上無法區(qū)分,必須考察具體的邏輯關(guān)系?!敬a體現(xiàn)】:成員變量【箭頭及指向】:帶空心菱形的實(shí)心線,菱形指向整體5.組合(Composition)【組合關(guān)系】:是整體與部分的關(guān)系,但部分不能離開整體而單獨(dú)存在。如公司和部門是整體和部分的關(guān)系,沒有公司就不存在部門。組合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強(qiáng)的關(guān)系,它規(guī)定普通的聚合關(guān)系中代表整體的對象負(fù)責(zé)代表部分的對象的生命周期?!敬a體現(xiàn)】:成員變量【箭頭及指向】:帶實(shí)心菱形的實(shí)線,菱形指向整體聚合和組合的區(qū)別:聚合關(guān)系是“has-a”關(guān)系,組合關(guān)系是“contains-a”關(guān)系;聚合關(guān)系表達(dá)整體與部分的關(guān)系比較弱,而組合比較強(qiáng);聚合關(guān)系中代表部分事物的對象與代表聚合事物的對象的生存期無關(guān),一旦刪除了聚合對象不一定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時(shí)也就刪除了代表部分事物的對象。6.依賴(Dependency)【依賴關(guān)系】:是一種使用的關(guān)系,即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助,所以要盡量不使用雙向的互相依賴.假如類A和類B有關(guān)聯(lián)關(guān)系,它們之間必然有依賴關(guān)系?!敬a表現(xiàn)】:局部變量、方法的參數(shù)或者對靜態(tài)方法的調(diào)用【箭頭及指向】:帶箭頭的虛線,指向被使用者各種關(guān)系的強(qiáng)弱順序:泛化=實(shí)現(xiàn)>組合>聚合>關(guān)聯(lián)>依賴下面這張UML圖,比較形象地展示了各種類圖關(guān)系:【類圖說明】reader類是借閱者的類,它的屬性很多,涉及借閱者的賬戶ID(reader_id)、姓名(reader_Name)、地址(Address)、班級(class)、所借書籍的書目(borrowed)等。其中重要操作有借書(addborrowed)和還書(deleteborrowed)和預(yù)訂(reservation)等。admin類是管理員類,他有編號和姓名屬性,操作重要是書籍的增刪改和讀者的增刪改等等。(3)Title類是記錄書目信息的類,涉及書籍的名字(name)、作者(author)、book_id等屬性。(4)Item類是具體某本書的類,屬性涉及書籍號(id)。操作涉及預(yù)訂(reserve)、按書目查找(find_on_title)等。(5)borrow類是某本書的借閱信息類,涉及所借閱書籍的ISBN、借閱的時(shí)間(date)等。(6)Reservation類是預(yù)訂信息類,每個(gè)預(yù)訂信息涉及預(yù)訂日期(date)、所預(yù)訂書籍的ISBN、預(yù)訂書籍的用戶ID(UserID)等屬性。(7)persistentstore類是書籍永久的存儲類,在數(shù)據(jù)庫中的存儲數(shù)據(jù),其他對與書籍有關(guān)的活動都要通過其存儲類。圖書館管理系統(tǒng)的類圖及關(guān)系如下:1.3流程圖-活動圖活動圖是一種工作流程圖。1:初始節(jié)點(diǎn),活動最終節(jié)點(diǎn),操作,連接符<1>初始節(jié)點(diǎn):在繪制活動圖中,總有一個(gè)起始點(diǎn),在UML的規(guī)范中用”實(shí)心圓點(diǎn)“表達(dá)。<2>活動最終節(jié)點(diǎn):有起點(diǎn)就必然存在終點(diǎn),在UML中用”空心圓點(diǎn)“表達(dá)。<3>操作:是活動圖中的一個(gè)基本環(huán)節(jié),具有原子性。<4>連接符:操作之間的過渡我們用”連接符“進(jìn)行連接。下面做個(gè)簡樸的例子加深下印象,這個(gè)也是最簡樸的活動圖。2:注釋良好的代碼習(xí)慣是二行一注釋,在UML中同樣也存在注釋,道理都同樣,幫助團(tuán)隊(duì)理解。3:對象節(jié)點(diǎn)一方面看下專業(yè)的解釋:假如一個(gè)操作執(zhí)行結(jié)束之后生成了某些數(shù)據(jù)需要傳遞給下一個(gè)目的操作,此時(shí)需要用對象節(jié)點(diǎn)表達(dá)。相應(yīng)到上面案例就是我們需要在”登陸界面“和”登陸后臺“中間插一個(gè)”登陸信息“的對象節(jié)點(diǎn),這個(gè)也就是”登陸界面“產(chǎn)生的數(shù)據(jù)。4:決策節(jié)點(diǎn)和合并節(jié)點(diǎn)<1>決策節(jié)點(diǎn):在工具箱中我們看到?jīng)Q策節(jié)點(diǎn)使用”菱形“來表達(dá)的,也非常好理解,決策嘛,不就是抉擇,一條邊進(jìn),多條邊出。<2>合并節(jié)點(diǎn):既然放在一起講,它們肯定有關(guān)聯(lián),多條邊進(jìn),一條邊出,比如在很多頁面中都有傳送門讓我們進(jìn)入登陸頁面。假如眼尖的話已經(jīng)看到了”連接符"旁邊的提醒信息,這個(gè)也就是“警示信息”,設(shè)立方法很簡樸,選中“連接符”,按F4打開“屬性窗口”,然后在Guard字段中設(shè)立值即可。5:分叉節(jié)點(diǎn)和聯(lián)接節(jié)點(diǎn)這兩個(gè)節(jié)點(diǎn)是真的需要同對出現(xiàn),用途跟“決策和合并”非常類似,分叉節(jié)點(diǎn)是一條邊進(jìn),多條邊出,聯(lián)接節(jié)點(diǎn)是多條邊進(jìn),一條邊出,只但是有一點(diǎn)不同樣的就是,聯(lián)接節(jié)點(diǎn)需要等待“分叉節(jié)點(diǎn)”的所有邊都到達(dá)后整個(gè)流程才干繼續(xù)進(jìn)行下去。相應(yīng)上圖中,我們登錄成功后,進(jìn)入了分叉節(jié)點(diǎn),此時(shí)我們需要干兩件事情,“簽到”和“發(fā)微博“,假如只做了其中某一件事情,整個(gè)流程都會解決中斷狀態(tài),直到兩件事都已做完,,是不是有點(diǎn)多線程的味道。圖書館管理系統(tǒng)的借書活動圖1.4ER圖實(shí)體-聯(lián)系圖(Entity-RelationDiagram)用來建立數(shù)據(jù)模型。通常將它簡稱為ER圖,相應(yīng)地可把用ER圖描繪的數(shù)據(jù)模型稱為ER模型。
ER圖提供了表達(dá)實(shí)體(即數(shù)據(jù)對象)、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。
構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系,其表達(dá)方法為:
˙實(shí)體型:用矩形表達(dá),矩形框內(nèi)寫明實(shí)體名;
˙屬性:用橢圓形表達(dá),并用無向邊將其與相應(yīng)的實(shí)體連接起來;多值屬性由雙線連接;主屬性名稱下加下劃線;
˙聯(lián)系:用菱形表達(dá),菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型
在E-R圖中要明確表白1對多關(guān)系,1對1關(guān)系和多對多關(guān)系。
˙1對1關(guān)系在兩個(gè)實(shí)體連線方向?qū)?;
˙1對多關(guān)系在1的一方寫1,多的一方寫N;
˙多對多關(guān)系則是在兩個(gè)實(shí)體連線方向各寫N,MER圖缺陷不能很好表達(dá)單向和雙向關(guān)系圖書館管理系統(tǒng)數(shù)據(jù)庫建模圖書館管理系統(tǒng)各實(shí)體之間的ER圖1.5數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram):簡稱DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的重要表達(dá)工具及用于表達(dá)軟件模型的一種圖示方法。數(shù)據(jù)流程圖中有以下幾種重要元素:→:數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的途徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等數(shù)據(jù)項(xiàng)組成。由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)當(dāng)用名詞或名詞短語命名?!酰簲?shù)據(jù)源(終點(diǎn))。代表系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。如數(shù)據(jù)表?!穑簩?shù)據(jù)的加工(解決)。加工是對數(shù)據(jù)進(jìn)行解決的單元,它接受一定的數(shù)據(jù)輸入,對其進(jìn)行解決,并產(chǎn)生輸出。〓:數(shù)據(jù)存儲。表達(dá)信息的靜態(tài)存儲,可以代表文獻(xiàn)、文獻(xiàn)的一部分、數(shù)據(jù)庫的元素等。DataStoreDataStore頂層一層SQL語句1數(shù)據(jù)的創(chuàng)建createdatabasedb1;2刪除數(shù)據(jù)庫dropdatabasedb1;3使用數(shù)據(jù)庫usedb1;4創(chuàng)建數(shù)據(jù)表創(chuàng)建帶有約束的表createtablestudent1( --描述表的每一列 --列名類型數(shù)據(jù)約束, sidintegerprimarykeyauto_increment, namevarchar(10) notnull, sexvarchar(10)default'male');4-1:刪除表droptableusers;5(select)查詢數(shù)據(jù)的操作select*fromusers;行篩選(篩選) select*fromusers wheresex='male';列篩選(投影)selectusername,sexfromusers//查詢男生的姓名selectusernamefromuserswheresex='male';6(insert)插入操作 insertintousers(username,password,sex)values('haha','123456','male');7(update)更新操作(修改) updateuserssetsex='女',password='' whereusername='haha';8(delete)刪除操作 deletefromuserswhereusername='haha'數(shù)據(jù)傳遞過程的協(xié)議描述傳輸協(xié)議中各層都為上一層提供業(yè)務(wù)功能。為了提供這種業(yè)務(wù)功能,下一層將上一層中的數(shù)據(jù)并入到本層的數(shù)據(jù)域中,然后通過加入報(bào)頭或報(bào)尾來實(shí)現(xiàn)該層業(yè)務(wù)功能,該過程叫做數(shù)據(jù)封裝。用戶的數(shù)據(jù)要通過一次次包裝,最后轉(zhuǎn)化成可以在網(wǎng)絡(luò)上傳輸?shù)男盘枺l(fā)送到網(wǎng)絡(luò)上。當(dāng)?shù)竭_(dá)目的計(jì)算機(jī)后,再執(zhí)行相反的拆包過程。下層可以向上層提供的服務(wù)有兩種形式:面向連接的服務(wù)(TCP)和無連接的服務(wù)(UDP)。TCP:傳輸控制協(xié)議,當(dāng)傳輸出現(xiàn)錯(cuò)誤時(shí)能自動予以糾正;UDP:用戶數(shù)據(jù)包協(xié)議,當(dāng)傳輸出現(xiàn)錯(cuò)誤時(shí)會將錯(cuò)誤信息丟棄;UDP方式比TCP方式有更強(qiáng)大的容錯(cuò)性,采用UDP的話,它的緩沖速度比TCP快45%,并且可以大大的節(jié)省網(wǎng)絡(luò)共享帶寬,當(dāng)網(wǎng)絡(luò)出現(xiàn)不穩(wěn)定期,不會經(jīng)常出現(xiàn)緩沖,所以不少影視節(jié)目采用UDP方式傳送。雙方在數(shù)據(jù)傳輸中必須遵守的規(guī)則。數(shù)據(jù)傳遞過程:(1)尋址。當(dāng)一個(gè)應(yīng)用程序希望與另一個(gè)應(yīng)用程序傳輸數(shù)據(jù)時(shí),必須指明是與哪個(gè)應(yīng)用程序相連。尋址的方法一般采用定義傳輸?shù)刂?。因特網(wǎng)傳輸?shù)刂酚蒊P地址和主機(jī)端標(biāo)語組成。(2)建立連接。在實(shí)際的網(wǎng)絡(luò)應(yīng)用中,采用三次握手的算法,并增長某些條件以保證建立起可靠的連接。增長的條件是:所發(fā)送的報(bào)文都要有遞增的序列號;對每個(gè)報(bào)文設(shè)立一個(gè)計(jì)時(shí)器,設(shè)定一個(gè)最大時(shí)延,對那些超過最大時(shí)延仍沒有收到確認(rèn)信息的報(bào)文就認(rèn)為已經(jīng)丟失,需要重傳。(3)釋放連接。也采用三次握手的算法。OSI,OpenSystemInterconnection的縮寫,意為開放式系統(tǒng)互聯(lián)。國際標(biāo)準(zhǔn)化組織(ISO)制定了OSI模型。MAC(MediaAccessControl)地址,或稱為MAC位址、硬件位址,用來定義網(wǎng)絡(luò)設(shè)備的位置。在OSI模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé)IP地址,第二層數(shù)據(jù)鏈路層則負(fù)責(zé)MAC位址。因此一個(gè)主機(jī)會有一個(gè)IP地址,而每個(gè)網(wǎng)絡(luò)位置會有一個(gè)專屬于它的MAC地址。IP地址和MAC地址相同點(diǎn)是它們都唯一,不同的特點(diǎn)重要有:1.對于網(wǎng)絡(luò)上的某一設(shè)備,如一臺計(jì)算機(jī)或一臺路由器,其IP地址可變(但必須唯一),而MAC地址不可變。我們可以根據(jù)需要給一臺主機(jī)指定任意的IP地址,如我們可以給局域網(wǎng)上的某臺計(jì)算機(jī)分派IP地址為12,也可以將它改成00。而任一網(wǎng)絡(luò)設(shè)備(如網(wǎng)卡,路由器)一旦生產(chǎn)出來以后,其MAC地址永遠(yuǎn)唯一且不能由用戶改變。2.長度不同。IP地址為32位,MAC地址為48位。3.分派依據(jù)不同。IP地址的分派是基于網(wǎng)絡(luò)拓?fù)洌琈AC地址的分派是基于制造商。4.尋址協(xié)議層不同。IP地址應(yīng)用于OSI第三層,即網(wǎng)絡(luò)層,而MAC地址應(yīng)用在OSI第二層,即數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層協(xié)議可以使數(shù)據(jù)從一個(gè)節(jié)點(diǎn)傳遞到相同鏈路的另一個(gè)節(jié)點(diǎn)上(通過MAC地址),而網(wǎng)絡(luò)層協(xié)議使數(shù)據(jù)可以從一個(gè)網(wǎng)絡(luò)傳遞到另一個(gè)網(wǎng)絡(luò)上(ARP根據(jù)目的IP地址,找到中間節(jié)點(diǎn)的MAC地址,通過中間節(jié)點(diǎn)傳送,從而最終到達(dá)目的網(wǎng)絡(luò))描述在OSI參考模型中(OSI模型的七層協(xié)議)數(shù)據(jù)傳輸?shù)幕具^程一方面從計(jì)算機(jī)里面的數(shù)據(jù)出發(fā),比如QQ寫入的信息是最原始的,也就是應(yīng)用層的工作,然后是表達(dá)層,傳輸?shù)木幋a,是用什么編碼傳輸數(shù)據(jù),還涉及加密的過程。而會話層則重要進(jìn)行端對端的連接的建立維持和斷開.這三部分是端對端的連接。下一層是傳輸層,重要涉及端口和進(jìn)程,表達(dá)用什么進(jìn)程連接通信,比如說對方用QQ進(jìn)行信息傳遞,而這邊有QQ,msn,yahoo,那么為什么就只有QQ可以接受到信息呢?這個(gè)功能辨認(rèn)就是靠傳輸層的作用了.下面三層是點(diǎn)到點(diǎn)的連接.網(wǎng)絡(luò)層寫上ip,指明數(shù)據(jù)傳輸?shù)穆?是快速的尋址,能快速找到去往的路.數(shù)據(jù)鏈路層是在網(wǎng)絡(luò)層封裝的基礎(chǔ)上封裝MAC地址,是精確的尋址方式。物理層通過規(guī)定物理設(shè)備和物理媒體之間的接口技術(shù),實(shí)現(xiàn)物理設(shè)備之間的比特流透明傳輸(涉及DTE-DTE和DCE-DCE之間的比特流傳輸)。建立、維持和釋放物理連接(標(biāo)記物理連接、選擇服務(wù)質(zhì)量:速率、延遲、傳輸誤碼率等),并在物理連接上透明傳輸比特流(涉及排序和故障告知等)HTTP協(xié)議HTTP協(xié)議即超文本傳送協(xié)議。超文本傳輸協(xié)議(HTTP-Hypertexttransferprotocol)是一種具體規(guī)定了瀏覽器和萬維網(wǎng)服務(wù)器(WWW服務(wù)器)之間互相通信的規(guī)則,通過因特網(wǎng)傳送萬維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議。HTTP是一個(gè)應(yīng)用層協(xié)議,由請求和響應(yīng)構(gòu)成,是一個(gè)標(biāo)準(zhǔn)的客戶端服務(wù)器模型。HTTP是一個(gè)無狀態(tài)的協(xié)議。無狀態(tài)是指協(xié)議對于事務(wù)解決沒有記憶能力。缺少狀態(tài)意味著假如后續(xù)解決需要前面的信息,則它必須重傳,這樣也許導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。HTTP是“請求-響應(yīng)”的工作模式。4.1HTTP協(xié)議格式涉及Client向Server的請求消息和Server向Client的響應(yīng)消息。協(xié)議消息由起始行,頭域和可選的消息體組成。HTTP請求協(xié)議(報(bào)文)的一般格式——由三部分組成,分別是:請求行、消息報(bào)頭(請求頭)、請求正文(請求體) 請求行以一個(gè)方法符號開頭,以空格分開,后面跟著請求的URI和協(xié)議的版本,格式如下:MethodRequest-URIHTTP-VersionCRLF其中Method表達(dá)請求方法;Request-URI是一個(gè)統(tǒng)一資源標(biāo)記符;HTTP-Version表達(dá)請求的HTTP協(xié)議版本;CRLF表達(dá)回車和換行(除了作為結(jié)尾的CRLF外,不允許出現(xiàn)單獨(dú)的CR或LF字符)HTTP響應(yīng)協(xié)議的一般格式——也是由三個(gè)部分組成,分別是:狀態(tài)行、消息報(bào)頭、響應(yīng)正文1.響應(yīng)頭第一行也稱為狀態(tài)行,格式如下:HTTP-Version空格Status-Code空格Reason-PhraseCRLFHTTP-Version表達(dá)HTTP版本,例如為HTTP/1.1。Status-Code是結(jié)果代碼,用三個(gè)數(shù)字表達(dá)。Reason-Phrase是個(gè)簡樸的文本描述,解釋Status-Code的具體因素。Status-Code用于機(jī)器自動辨認(rèn),Reason-Phrase用于人工理解。Status-Code的第一個(gè)數(shù)字代表響應(yīng)類別,也許取5個(gè)不同的值。后兩個(gè)數(shù)字沒有分類作用。Status-Code的第一個(gè)數(shù)字代表響應(yīng)的類別(消息(1字頭)成功(2字頭)重定向(3字頭)請求錯(cuò)誤(4字頭)服務(wù)器錯(cuò)誤(5字頭)),后續(xù)兩位描述在該類響應(yīng)下發(fā)生的具體狀況。2、響應(yīng)報(bào)頭后述3、響應(yīng)正文就是服務(wù)器返回的資源的內(nèi)容HTTP消息報(bào)頭(即頭域)涉及普通報(bào)頭(Cache-Control)、請求報(bào)頭(Accept、Authorization、Host、User-Agent)、響應(yīng)報(bào)頭(Location、Server)、實(shí)體報(bào)頭(Content-Encoding、Content-Language、Content-Length、Content-Type、Last-Modified、Expires))。HTTP報(bào)文由請求行或狀態(tài)行組成,后面是信息頭和主體。請求報(bào)文的格式由請求行、通用信息頭、請求頭、實(shí)體頭、信息主體組成。響應(yīng)報(bào)文由響應(yīng)行、通用信息頭、響應(yīng)頭、實(shí)體頭、信息主體組成。為了指示IE瀏覽器(客戶端)不要緩存頁面,服務(wù)器端的JSP程序可以編寫如下:response.sehHeader("Cache-Control","no-cache");請求報(bào)頭舉例:GET/form.htmlHTTP/1.1(CRLF)Accept:image/gif,image/x-xbitmap,image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*(CRLF)Accept-Language:zh-cn(CRLF)Accept-Encoding:gzip,deflate(CRLF)If-Modified-Since:Wed,05Jan202311:21:25GMT(CRLF)If-None-Match:W/"80b1a4c018f3c41:8317"(CRLF)User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.0)(CRLF)Host:.(CRLF)Connection:Keep-Alive(CRLF)(CRLF)響應(yīng)報(bào)頭舉例:WWW-Authenticate:Basicrealm="BasicAuthTest!"http://可以看出服務(wù)器對請求資源采用的是基本驗(yàn)證機(jī)制。實(shí)體報(bào)頭舉例:eg:為了讓瀏覽器不要緩存頁面,我們也可以運(yùn)用Expires實(shí)體報(bào)頭域,設(shè)立為0,jsp中程序如下:response.setDateHeader("Expires","0");常用的實(shí)體報(bào)頭Content-Encoding實(shí)體報(bào)頭域被用作媒體類型的修飾符,它的值指示了已經(jīng)被應(yīng)用到實(shí)體正文的附加內(nèi)容的編碼,因而要獲得Content-Type報(bào)頭域中所引用的媒體類型,必須采用相應(yīng)的解碼機(jī)制。Content-Encoding這樣用于記錄文檔的壓縮方法,eg:Content-Encoding:gzipContent-Language實(shí)體報(bào)頭域描述了資源所用的自然語言。沒有設(shè)立該域則認(rèn)為實(shí)體內(nèi)容將提供應(yīng)所有的語言閱讀者。eg:Content-Language:daContent-Length實(shí)體報(bào)頭域用于指明實(shí)體正文的長度,以字節(jié)方式存儲的十進(jìn)制數(shù)字來表達(dá)。Content-Type實(shí)體報(bào)頭域用語指明發(fā)送給接受者的實(shí)體正文的媒體類型。eg:Content-Type:text/html;charset=ISO-8859-1Content-Type:text/html;charset=GB2312Last-Modified實(shí)體報(bào)頭域用于指示資源的最后修改日期和時(shí)間。Expires實(shí)體報(bào)頭域給出響應(yīng)過期的日期和時(shí)間。為了讓代理服務(wù)器或?yàn)g覽器在一段時(shí)間以后更新緩存中(再次訪問曾訪問過的頁面時(shí),直接從緩存中加載,縮短響應(yīng)時(shí)間和減少服務(wù)器負(fù)載)的頁面,我們可以使用Expires實(shí)體報(bào)頭域指定頁面過期的時(shí)間。eg:Expires:Thu,15Sep202316:23:12GMTHTTP協(xié)議消息結(jié)構(gòu)圖:HTTP協(xié)議-請求報(bào)文格式:HTTP協(xié)議-相應(yīng)報(bào)文格式:4.2HTTP協(xié)議解決錯(cuò)誤請求的過程瀏覽器向服務(wù)器發(fā)出請求,服務(wù)器解決也許成功,也許是失敗,也許沒有權(quán)限訪問等因素,服務(wù)器會通過相應(yīng)狀態(tài)碼來告訴瀏覽器解決結(jié)果。響應(yīng)頭第一行也稱為狀態(tài)行,格式如下:HTTP-Version空格Status-Code空格Reason-PhraseCRLFStatus-Code的第一個(gè)數(shù)字代表響應(yīng)的類別(消息(1字頭)成功(2字頭)重定向(3字頭)請求錯(cuò)誤(4字頭)服務(wù)器錯(cuò)誤(5字頭)),后續(xù)兩位描述在該類響應(yīng)下發(fā)生的具體狀況。一些常見的狀態(tài)碼為:1)"200":表達(dá)執(zhí)行成功,返回OK。2)"302":Found重定向。3)"400":BadRquest錯(cuò)誤請求,發(fā)犯錯(cuò)誤的不符合HTTP協(xié)議的請求。4)"401":(未授權(quán))請求規(guī)定身份驗(yàn)證。對于需要登錄的網(wǎng)頁,服務(wù)器也許返回此響應(yīng)。5)"403":Forbidden嚴(yán)禁。6)"404":NotFound未找到,演示訪問一個(gè)不存在的頁面看報(bào)文。7)"500":InternalServerError服務(wù)器內(nèi)部錯(cuò)誤,演示頁面拋出異常8)"503":ServiceUnavailable。一般是訪問人數(shù)過多,可以用12306網(wǎng)站實(shí)驗(yàn)同樣,也許會得到這個(gè)結(jié)果。4.3發(fā)送分組時(shí)協(xié)議發(fā)送順序無連接協(xié)議(ConnectionlessProtocol)是可以使無連接服務(wù)在一個(gè)網(wǎng)絡(luò)中的協(xié)議。這個(gè)Internet協(xié)議(IP)和用戶數(shù)據(jù)包協(xié)議(UDP)是最流行的無連接協(xié)議。通信協(xié)議要么是面向連接的,要么是無連接的。這依賴于信息發(fā)送方是否需要與接受方聯(lián)系并通過聯(lián)系來維持一個(gè)對話(面向連接的),還是沒有任何預(yù)先聯(lián)系就發(fā)送消息(無連接的)且希望接受方能順序接受所有內(nèi)容。這些方法揭示了網(wǎng)絡(luò)上實(shí)現(xiàn)通信的兩種途徑。在面向連接的方法中,網(wǎng)絡(luò)負(fù)責(zé)順序發(fā)送報(bào)文分組并且以一種可靠的方法檢測丟失和沖突。這種方法被“可靠的”傳輸服務(wù)使用。面向連接的服務(wù)更適于需要穩(wěn)定數(shù)據(jù)流的應(yīng)用。在無連接的方法中,網(wǎng)絡(luò)只需要將報(bào)文分組發(fā)送到接受點(diǎn),檢錯(cuò)與流控由發(fā)送方和接受方解決。無連接方法是設(shè)計(jì)用于突發(fā)的、暫時(shí)的通信。這種方法被稱作“最佳工作(best-effort)”或“無應(yīng)答(unacknowledged)”的傳輸協(xié)議所使用。電路互換是建立一條臨時(shí)的專用通路,使用完以后拆除鏈接,適合打數(shù)據(jù)量的實(shí)時(shí)通信。報(bào)文互換不在通信節(jié)點(diǎn)建立通路,將信息組合成報(bào)文,采用存儲-轉(zhuǎn)發(fā)機(jī)制,線路的運(yùn)用率高,但延遲大。分組互換是數(shù)據(jù)包定長的報(bào)文互換,互換節(jié)點(diǎn)的緩沖區(qū)可減小,傳播時(shí)延也更??;一般分為數(shù)據(jù)包、虛電路、信元互換。廣域網(wǎng)的通信子網(wǎng)重要使用分組互換技術(shù)。分組互換也稱包互換,它是將用戶傳送的數(shù)據(jù)劃提成一定的長度,每個(gè)部分叫做一個(gè)分組。在每個(gè)分組的前面加上一個(gè)分組頭,用以指明該分組發(fā)往何地址,然后由互換機(jī)根據(jù)每個(gè)分組的地址標(biāo)志,將他們轉(zhuǎn)發(fā)至目的地,這一過程稱為分組互換。進(jìn)行分組互換的通信網(wǎng)稱為分組互換網(wǎng)。從互換技術(shù)的發(fā)展歷史看,數(shù)據(jù)互換經(jīng)歷了電路互換、報(bào)文互換、分組互換和綜合業(yè)務(wù)數(shù)字互換的發(fā)展過程。分組互換實(shí)質(zhì)上是在“存儲—轉(zhuǎn)發(fā)”基礎(chǔ)上發(fā)展起來的。它兼有電路互換和報(bào)文互換的優(yōu)點(diǎn)。分組互換在線路上采用動態(tài)復(fù)用技術(shù)傳送按一定長度分割為許多小段的數(shù)據(jù)—分組。每個(gè)分組標(biāo)記后,在一條物理線路上采用動態(tài)復(fù)用的技術(shù),同時(shí)傳送多個(gè)數(shù)據(jù)分組。把來自用戶發(fā)端的數(shù)據(jù)暫存在互換機(jī)的存儲器內(nèi),接著在網(wǎng)內(nèi)轉(zhuǎn)發(fā)。到達(dá)接受端,再去掉分組頭將各數(shù)據(jù)字段按順序重新裝配成完整的報(bào)文。分組互換比電路互換的電路運(yùn)用率高,比報(bào)文互換的傳輸時(shí)延小,交互性好。英語口語1.操作系統(tǒng)的作用操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源,合理有效地組織計(jì)算機(jī)系統(tǒng)的工作,為用戶提供一個(gè)使用方便可擴(kuò)展的工作環(huán)境,從而起到連接計(jì)算機(jī)和用戶的接口作用。Operatingsystemisthecontrolandmanagementcoreofvarioushardwareandsoftwareresourcesofcomputerresources,rationallyorganizecomputersystemstoprovideuserswithaconvenientandscalableworkenvironment,whichplaystheinterfaceroleofconnectingthecomputerandusers.2.軟件開發(fā)模型對比軟件開發(fā)模型(SoftwareDevelopmentModel)是指軟件開發(fā)所有過程、活動和任務(wù)的結(jié)構(gòu)框架。軟件開發(fā)涉及需求、設(shè)計(jì)、編碼和測試等階段,有時(shí)也涉及維護(hù)階段。軟件開發(fā)模型能清楚、直觀地表達(dá)軟件開發(fā)全過程,明確規(guī)定了要完畢的重要活動和任務(wù),用來作為軟件項(xiàng)目工作的基礎(chǔ)下面對瀑布模型增量模型快速原型模型螺旋模型噴泉模型做簡要分析。瀑布模型瀑布模型是經(jīng)典的軟件開發(fā)模型,開發(fā)過程是通過設(shè)計(jì)一系列階段順序展開的,從系統(tǒng)需求分析開始直到產(chǎn)品發(fā)布和維護(hù),每個(gè)階段都會產(chǎn)生循環(huán)反饋,因此,假如有信息未被覆蓋或者發(fā)現(xiàn)了問題,那么最佳“返回”上一個(gè)階段并進(jìn)行適當(dāng)?shù)男薷?,?xiàng)目開發(fā)進(jìn)程從一個(gè)階段“流動”到下一個(gè)階段,每個(gè)階段之間的依賴性強(qiáng)。優(yōu)點(diǎn):1)為項(xiàng)目提供了按階段劃分的檢查點(diǎn)2)當(dāng)前一階段完畢后,只需要去關(guān)注后續(xù)階段缺陷:1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增長了工作量;2)與用戶見面晚,從而增長了開發(fā)的風(fēng)險(xiǎn);3)初期的錯(cuò)誤也許要等到開發(fā)后期的測試階段才干發(fā)現(xiàn),發(fā)現(xiàn)問題越晚代價(jià)越高合用范圍:需求很明確的軟件開發(fā)項(xiàng)目;在開發(fā)時(shí)間內(nèi)需求沒有或很少變化;分析設(shè)計(jì)人員應(yīng)相應(yīng)用領(lǐng)域很熟悉;低風(fēng)險(xiǎn)項(xiàng)目(對目的、環(huán)境很熟悉);用戶使用環(huán)境很穩(wěn)定;用戶除提出需求以外,很少參與開發(fā)工作增量模型 增量模型是一種非整體開發(fā)的模型,分為兩種形式:基于瀑布模型的漸增模型;基于原型的快速原型模型增量模型的優(yōu)點(diǎn):人員分派靈活,剛開始不用投入大量人力資源。假如核心產(chǎn)品很受歡迎,則可增長人力實(shí)現(xiàn)下一個(gè)增量客戶可以不斷地看到所開發(fā)的軟件,從而減少開發(fā)風(fēng)險(xiǎn)缺陷:1)由于各個(gè)構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的,所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分,這需要軟件具有開放式的體系結(jié)構(gòu)。2)在開發(fā)過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。快速原型模型又稱原型模型,它是增量模型的另一種形式;它是在開發(fā)真實(shí)系統(tǒng)之前,構(gòu)造一個(gè)原型,在該原型的基礎(chǔ)上,逐漸完畢整個(gè)系統(tǒng)的開發(fā)工作??焖僭湍P偷牡谝徊绞墙ㄔ煲粋€(gè)快速原型,實(shí)現(xiàn)客戶或未來的用戶與系統(tǒng)的交互,用戶或客戶對原型進(jìn)行評價(jià),進(jìn)一步細(xì)化待開發(fā)軟件的需求。通過逐步調(diào)整原型使其滿足客戶的規(guī)定,開發(fā)人員可以擬定客戶的真正需求是什么;第二步則在第一步的基礎(chǔ)上開發(fā)客戶滿意的軟件產(chǎn)品。優(yōu)點(diǎn):減少由于軟件需求不明確帶來的開發(fā)風(fēng)險(xiǎn)。缺陷:所選用的開發(fā)技術(shù)和工具不一定符合主流的發(fā)展;快速建立起來的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改也許會導(dǎo)致產(chǎn)品質(zhì)量低下。螺旋模型螺旋模型將瀑布模型和增量模型結(jié)合起來,并加入了風(fēng)險(xiǎn)分析,重要分為四個(gè)工作環(huán)節(jié):(1)制定計(jì)劃:擬定軟件目的,選定實(shí)行方案,弄清項(xiàng)目開發(fā)的限制條件;(2)風(fēng)險(xiǎn)分析:分析評估所選方案,考慮如何辨認(rèn)和消除風(fēng)險(xiǎn);(3)實(shí)行工程:實(shí)行軟件開發(fā)和驗(yàn)證;(4)客戶評估:評價(jià)開發(fā)工作,提出修正建議,制定下一步計(jì)劃。優(yōu)點(diǎn):1)設(shè)計(jì)上的靈活性,可以在項(xiàng)目的各個(gè)階段進(jìn)行變更。2)以小的分段來構(gòu)建大型系統(tǒng),使成本計(jì)算變得簡樸容易。3)客戶始終參與每個(gè)階段的開發(fā),保證了項(xiàng)目不偏離對的方向以及項(xiàng)目的可控性。4)隨著項(xiàng)目推動,客戶始終掌握項(xiàng)目的最新信息,從而他或她可以和管理層有效地交互。5)客戶認(rèn)可這種公司內(nèi)部的開發(fā)方式帶來的良好的溝通和高質(zhì)量的產(chǎn)品缺陷:1)采用螺旋模型需要具有相稱豐富的風(fēng)險(xiǎn)評估經(jīng)驗(yàn)和專門知識,在風(fēng)險(xiǎn)較大的項(xiàng)目開發(fā)中,假如未可以及時(shí)標(biāo)記風(fēng)險(xiǎn),勢必導(dǎo)致重大損失。2)過多的迭代次數(shù)會增長開發(fā)成本,延遲提交時(shí)間。噴泉模型噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,重要用于描述面向?qū)ο蟮能浖_發(fā)過程。優(yōu)點(diǎn):該模型的各個(gè)階段沒有明顯的界線,開發(fā)人員可以同步進(jìn)行開發(fā)。其優(yōu)點(diǎn)是可以提高軟件項(xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。缺陷:由于噴泉模型在各個(gè)開發(fā)階段是重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,因此不利于項(xiàng)目的管理。此外這種模型規(guī)定嚴(yán)格管理文檔,使得審核的難度加大,特別是面對也許隨時(shí)加入各種信息、需求與資料的情況。WaterfallmodelThewaterfallmodelisasequentialdesignprocess,oftenusedinsoftwaredevelopmentprocesses,inwhichprogressisseenasflowingsteadilydownwards(likeawaterfall)throughthephasesofConception,Initiation,Analysis,Design,Construction,Testing,Production/Implementation,andMaintenance.Thewaterfalldevelopmentmodeloriginatesinthemanufacturingandconstructionindustries;highlystructuredphysicalenvironmentsinwhichafter-the-factchangesareprohibitivelycostly,ifnotimpossible.Sincenoformalsoftwaredevelopmentmethodologiesexistedatthetime,thishardware-orientedmodelwassimplyadaptedforsoftwaredevelopment.[1]ThefirstknownpresentationdescribinguseofsimilarphasesinsoftwareengineeringwasheldbyHerbertD.BeningtonatSymposiumonadvancedprogrammingmethodsfordigitalcomputerson29June1956.[2]ThispresentationwasaboutthedevelopmentofsoftwareforSAGE.In1983thepaperwasrepublished[3]withaforewordbyBeningtonpointingoutthattheprocesswasnotinfactperformedinastricttop-downfashion,butdependedonaprototype.Thefirstformaldescriptionofthewaterfallmodelisoftencitedasa1970articlebyWinstonW.Royce,[4][5]althoughRoycedidnotusetheterm"waterfall"inthisarticle.Roycepresentedthismodelasanexampleofaflawed,non-workingmodel.[6]This,infact,ishowthetermisgenerallyusedinwritingaboutsoftwaredevelopment—todescribeacriticalviewofacommonlyusedsoftwaredevelopmentpractice.[7]Theearliestuseoftheterm"waterfall"mayhavebeena1976paperbyBellandThayer.[8]prototype[?prot??ta?p]n.原型,雛形,藍(lán)本;復(fù)數(shù):prototypesprohibitively[pro?h?b?t?vl?]adv.嚴(yán)禁地;過高地;過度地OperatingsystemAnoperatingsystem(OS)isacollectionofsoftwarethatmanagescomputerhardwareresourcesandprovidescommonservicesforcomputerprograms.Theoperatingsystemisanessentialcomponentofthesystemsoftwareinacomputersystem.Applicationprogramsusuallyrequireanoperatingsystemtofunction.Time-sharingoperatingsystemsscheduletasksforefficientuseofthesystemandmayalsoincludeaccountingsoftwareforcostallocationofprocessortime,massstorage,printing,andotherresources.Forhardwarefunctionssuchasinputandoutputandmemoryallocation,theoperatingsystemactsasanintermediarybetweenprogramsandthecomputerhardware,[1][2]althoughtheapplicationcodeisusuallyexecuteddirectlybythehardwareandwillfrequentlymakeasystemcalltoanOSfunctionorbeinterruptedbyit.Operatingsystemscanbefoundonalmostanydevicethatcontainsacomputer—fromcellularphonesandvideogameconsolestosupercomputersandwebservers.ExamplesofpopularmodernoperatingsystemsincludeAndroid,BSD,iOS,Linux,OSX,QNX,MicrosoftWindows,[3]WindowsPhone,andIBMz/OS.Allthese,exceptWindows,WindowsPhoneandz/OS,sharerootsinUNIX.schedulevt.安排,計(jì)劃;編制目錄;將……列入計(jì)劃表n.時(shí)間表;計(jì)劃表;一覽表[過去式scheduled過去分詞scheduled
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供電局微笑服務(wù)演講稿
- 員工代表演講稿
- 企業(yè)普通員工年終工作總結(jié)
- 去音標(biāo)課件教學(xué)課件
- 晚上做課件教學(xué)課件
- 探礦全證辦理流程
- 《EDA技術(shù)與設(shè)計(jì)》全套教學(xué)課件
- 深度多模態(tài)數(shù)據(jù)融合 Deep Multimodal Data Fusion
- 部編版歷史九年級上冊第三單元 第10課《拜占庭帝國和查士丁尼法典》說課稿
- 實(shí)數(shù)復(fù)習(xí)課件教學(xué)課件
- 食品檢驗(yàn)檢測技術(shù)專業(yè)職業(yè)生涯規(guī)劃書
- 食品40農(nóng)產(chǎn)品加工業(yè)發(fā)展
- 《如何學(xué)好初中數(shù)學(xué)》課件
- 02(111)力學(xué)第二章平面匯交力系與平面力偶系解析
- 粉塵防爆知識課件
- 女西褲前片結(jié)構(gòu)制圖教案
- 產(chǎn)品開發(fā)保密協(xié)議
- 新能源汽車充電樁專屬安裝竣工驗(yàn)收單模板
- ISO全套制度及業(yè)務(wù)流程之銷售過程管理程序
- 區(qū)塊鏈技術(shù)及應(yīng)用PPT完整全套教學(xué)課件
評論
0/150
提交評論