版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面試計(jì)算機(jī)網(wǎng)絡(luò)1.什么是數(shù)字證書(shū)數(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),又稱為證書(shū)授權(quán)(CertificateAuthority)中心發(fā)行的,人們可以在網(wǎng)上用它來(lái)辨認(rèn)對(duì)方的身份。數(shù)字證書(shū)是一個(gè)經(jīng)證書(shū)授權(quán)中心數(shù)字署名的包含公開(kāi)密鑰擁有者信息以及公開(kāi)密鑰的文獻(xiàn)。最簡(jiǎn)樸的證書(shū)包含一個(gè)公開(kāi)密鑰、名稱以及證書(shū)授權(quán)中心的數(shù)字署名。2.木馬和蠕蟲(chóng)的區(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ù)器。蠕蟲(chóng)(worm)是病毒中的一種,但是它與普通病毒之間有著很大的區(qū)別。一般認(rèn)為:蠕蟲(chóng)是一種通過(guò)網(wǎng)絡(luò)傳播的惡性病毒,它具有病毒的一些共性,如傳播性、隱蔽性、破壞性等等,同時(shí)具有自己的一些特性,如不運(yùn)用文獻(xiàn)寄生(有的只存在于內(nèi)存中),對(duì)網(wǎng)絡(luò)導(dǎo)致拒絕服務(wù),以及和黑客技術(shù)相結(jié)合,等等。普通病毒需要傳播受感染的駐留文獻(xiàn)來(lái)進(jìn)行復(fù)制,而蠕蟲(chóng)不使用駐留文獻(xiàn)即可在系統(tǒng)之間進(jìn)行自我復(fù)制,普通病毒的傳染能力重要是針對(duì)計(jì)算機(jī)內(nèi)的文獻(xiàn)系統(tǒng)而言,而蠕蟲(chóng)病毒的傳染目的是互聯(lián)網(wǎng)內(nèi)的所有計(jì)算機(jī)。木馬是病毒的一種,病毒是一種破壞性的程序。病毒破壞你的信息,而木馬竊取你的信息。特洛伊木馬與病毒的重大區(qū)別是特洛伊木馬不具傳染性,它并不能像病毒那樣復(fù)制自身,也并不"刻意"地去感染其他文獻(xiàn),它重要通過(guò)將自身偽裝起來(lái),吸引用戶下載執(zhí)行。操作系統(tǒng)1、TCP三次握手的過(guò)程基于TCP協(xié)議傳輸數(shù)據(jù)之前,為確認(rèn)連接正常,會(huì)通過(guò)三次握手來(lái)建立虛連接,連接建立完畢后才干進(jìn)行數(shù)據(jù)的傳輸。三次握手的過(guò)程如下:一方面由發(fā)起端發(fā)送連接請(qǐng)求;當(dāng)接受方收到連接請(qǐng)求后,假如批準(zhǔn)建立連接會(huì)回復(fù)應(yīng)答報(bào)文;然后發(fā)送方收到此應(yīng)答報(bào)文,會(huì)發(fā)送對(duì)此應(yīng)答報(bào)文的確認(rèn)信息。通過(guò)這種三次握手的過(guò)程來(lái)在數(shù)據(jù)發(fā)送的初期建立連接,保障數(shù)據(jù)的正常傳輸。2.庫(kù)函數(shù)調(diào)用和系統(tǒng)調(diào)用的區(qū)別函數(shù)庫(kù)調(diào)用是語(yǔ)言或應(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庫(kù)函數(shù)是相同的各個(gè)操作系統(tǒng)的系統(tǒng)調(diào)用是不同的它調(diào)用函數(shù)庫(kù)中的一段程序(或函數(shù))它調(diào)用系統(tǒng)內(nèi)核的服務(wù)與用戶程序相聯(lián)系是操作系統(tǒng)的一個(gè)入口點(diǎn)在用戶地址空間執(zhí)行在內(nèi)核地址空間執(zhí)行它的運(yùn)營(yíng)時(shí)間屬于“用戶時(shí)間”它的運(yùn)營(yíng)時(shí)間屬于“系統(tǒng)”時(shí)間屬于過(guò)程調(diào)用,調(diào)用開(kāi)銷較小需要在用戶空間和內(nèi)核上下文環(huán)境間切換,開(kāi)銷較大在C函數(shù)庫(kù)libc中有大約300個(gè)函數(shù)在UNIX中大約有90個(gè)系統(tǒng)調(diào)用典型的C函數(shù)庫(kù)調(diào)用:systemfprintfmalloc典型的系統(tǒng)調(diào)用:chdirforkwritebrk;庫(kù)函數(shù)調(diào)用通常比行內(nèi)展開(kāi)的代碼慢,由于它需要付出函數(shù)調(diào)用的開(kāi)銷。但系統(tǒng)調(diào)用比庫(kù)函數(shù)調(diào)用還要慢很多,由于它需要把上下文環(huán)境切換到內(nèi)核模式。3.工作集的定義和作用所謂工作集是指進(jìn)程已映射的物理內(nèi)存部分(即這些內(nèi)存塊全在物理內(nèi)存中,并且CPU可以直接訪問(wèn)),尚有一部分不在工作集中的虛擬內(nèi)存則也許在轉(zhuǎn)換列表中(CPU不能通過(guò)虛地址訪問(wèn),需要Windows映射之后才干訪問(wèn)),尚有一部分則在磁盤上的頁(yè)面文獻(xiàn)里。 工作集在進(jìn)程運(yùn)營(yíng)時(shí)會(huì)被Windows自動(dòng)調(diào)整,頻繁訪問(wèn)的頁(yè)面(4KB的塊)會(huì)留在內(nèi)存中,而不頻繁訪問(wèn)的頁(yè)面在內(nèi)存緊張時(shí)會(huì)被從工作集中移出,暫時(shí)保存在內(nèi)存中的“轉(zhuǎn)換列表”中,或者進(jìn)一步換出到頁(yè)面文獻(xiàn)中。當(dāng)應(yīng)用程序再次訪問(wèn)某一頁(yè)面時(shí),操作系統(tǒng)會(huì)將它重新加回工作集中。進(jìn)程與線程計(jì)算機(jī)的核心是CPU,它承擔(dān)了所有的計(jì)算任務(wù)。單個(gè)CPU一次只能運(yùn)營(yíng)一個(gè)任務(wù)。進(jìn)程代表CPU所能解決的單個(gè)任務(wù)。任一時(shí)刻,CPU總是運(yùn)營(yíng)一個(gè)進(jìn)程,其他進(jìn)程處在非運(yùn)營(yíng)狀態(tài)。一個(gè)進(jìn)程可以涉及多個(gè)線程。進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)營(yíng)效率。一個(gè)進(jìn)程的內(nèi)存空間是共享的,每個(gè)線程都可以使用這些共享內(nèi)存。一個(gè)線程使用某些共享內(nèi)存時(shí),其他線程必須等它結(jié)束,才干使用這一塊內(nèi)存。"互斥鎖"(Mutualexclusion,縮寫(xiě)Mutex),防止多個(gè)線程同時(shí)讀寫(xiě)某一塊內(nèi)存區(qū)域。某些內(nèi)存區(qū)域,只能供應(yīng)固定數(shù)目的線程使用。操作系統(tǒng)的設(shè)計(jì),因此可以歸結(jié)為三點(diǎn):(1)以多進(jìn)程形式,允許多個(gè)任務(wù)同時(shí)運(yùn)營(yíng);(2)以多線程形式,允許單個(gè)任務(wù)提成不同的部分運(yùn)營(yíng);(3)提供協(xié)調(diào)機(jī)制,一方面防止進(jìn)程之間和線程之間產(chǎn)生沖突,另一方面允許進(jìn)程之間和線程之間共享資源。5.cpu最小時(shí)鐘周期時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘頻率的倒數(shù)。時(shí)鐘周期表達(dá)了SDRAM所能運(yùn)營(yíng)的最高頻率。SDRAM全稱為“SynchronousDynamicrandomaccessmemory”,在電腦系統(tǒng)上為同步內(nèi)存的意思。理論上,SDRAM與CPU在同一個(gè)時(shí)鐘周期里運(yùn)營(yíng)。時(shí)鐘周期是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。CPU工作的最小時(shí)間單位。在一個(gè)時(shí)鐘周期內(nèi),CPU僅完畢一個(gè)最基本的動(dòng)作。進(jìn)程調(diào)度無(wú)論是在批解決系統(tǒng)還是分時(shí)系統(tǒng)中,用戶進(jìn)程數(shù)一般都多于解決機(jī)數(shù)、這將導(dǎo)致它們互相爭(zhēng)奪解決機(jī)。此外,系統(tǒng)進(jìn)程也同樣需要使用解決機(jī)。這就規(guī)定進(jìn)程調(diào)度程序按一定的策略,動(dòng)態(tài)地把解決機(jī)分派給處在就緒隊(duì)列中的某一個(gè)進(jìn)程,以使之執(zhí)行。從就緒的進(jìn)程中選出最適合的一個(gè)來(lái)執(zhí)行。1.等待態(tài):等待某個(gè)事件的完畢;2.就緒態(tài):等待系統(tǒng)分派解決器以便運(yùn)營(yíng);3.運(yùn)營(yíng)態(tài):占有解決器正在運(yùn)營(yíng)。也許引起進(jìn)程切換的中斷因素有:時(shí)鐘中斷、設(shè)備I/O中斷信號(hào)、系統(tǒng)調(diào)用等所謂批解決(batchprocessing)就是將作業(yè)按照它們的性質(zhì)分組(或分批),然后再成組(或成批)地提交給計(jì)算機(jī)系統(tǒng),由計(jì)算機(jī)自動(dòng)完畢后再輸出結(jié)果,從而減少作業(yè)建立和結(jié)束過(guò)程中的時(shí)間浪費(fèi)。根據(jù)在內(nèi)存中允許存放的作業(yè)數(shù),批解決系統(tǒng)又分為單道批解決系統(tǒng)和多道批解決系統(tǒng)。批解決系統(tǒng)(batchprocessingsystem)中,一個(gè)作業(yè)可以長(zhǎng)時(shí)間地占用cpu。而分時(shí)系統(tǒng)中,一個(gè)作業(yè)只能在一個(gè)時(shí)間片(TimeSlice,一般取100ms)的時(shí)間內(nèi)使用cpu。分時(shí)操作系統(tǒng)(time-sharingsystem),“分時(shí)”的含義:分時(shí)是指多個(gè)用戶分享使用同一臺(tái)計(jì)算機(jī)。多個(gè)程序分時(shí)共享硬件和軟件資源。軟件工程1.什么是白盒測(cè)試?什么是黑盒測(cè)試?區(qū)別是什么?白盒測(cè)試也叫做alpha測(cè)試,是指程序設(shè)計(jì)員為了驗(yàn)證程序的邏輯過(guò)程而進(jìn)行的測(cè)試,因知道內(nèi)部原理而得名。黑盒測(cè)試也beta測(cè)試,是由客戶(使用者)進(jìn)行的測(cè)試,目的在于檢查程序的功能,因不知道其內(nèi)部結(jié)構(gòu)而得名。代碼可見(jiàn)不可見(jiàn)的區(qū)別:黑盒不管代碼,只測(cè)試功能;白盒要判斷程序代碼邏輯結(jié)構(gòu)。面向?qū)ο筌浖こ烫攸c(diǎn)1與人類習(xí)慣思維方法一致2穩(wěn)定性好3可重用性好4較易開(kāi)發(fā)大型軟件產(chǎn)品5可維護(hù)性好需求分析所謂"需求分析",是指對(duì)要解決的問(wèn)題進(jìn)行具體的分析,弄清楚問(wèn)題的規(guī)定,涉及需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么??梢哉f(shuō),在軟件工程當(dāng)中的“需求分析”就是擬定要計(jì)算機(jī)“做什么”,要達(dá)成什么樣的效果??梢哉f(shuō)需求分析是做系統(tǒng)之前必做的。UML建模語(yǔ)言UnifiedModelingLanguage(UML)又稱統(tǒng)一建模語(yǔ)言或標(biāo)準(zhǔn)建模語(yǔ)言。它是一個(gè)支持模型化和軟件系統(tǒng)開(kāi)發(fā)的圖形化語(yǔ)言,為軟件開(kāi)發(fā)的所有階段提供模型化和可視化支持,涉及由需求分析到規(guī)格,到構(gòu)造和配置。UML提出了一套IT專業(yè)人員期待數(shù)年的統(tǒng)一的標(biāo)準(zhǔn)建模符號(hào)。通過(guò)使用UML,這些人員可以閱讀和交流系統(tǒng)架構(gòu)和設(shè)計(jì)規(guī)劃--就像建筑工人數(shù)年來(lái)所使用的建筑設(shè)計(jì)圖同樣。順序圖順序圖是將交互關(guān)系表達(dá)為一個(gè)二維圖??v向是時(shí)間軸,時(shí)間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨(dú)立對(duì)象的類元角色。類元角色用生命線表達(dá)。當(dāng)對(duì)象存在時(shí),角色用一條虛線表達(dá),當(dāng)對(duì)象的過(guò)程處在激活狀態(tài)時(shí),生命線是一個(gè)雙道線。eg.一次學(xué)生的注冊(cè)數(shù)據(jù)庫(kù)1.什么是事務(wù)解決?事務(wù)解決(TRANSACTION)是由一個(gè)或多個(gè)SQL語(yǔ)句序列結(jié)合在一起所形成的一個(gè)邏輯解決單元。事務(wù)解決中的每個(gè)語(yǔ)句都是完畢整個(gè)任務(wù)的一部分工作,所有的語(yǔ)句組織在一起可以完畢某一特定的任務(wù)。DBMS在對(duì)事務(wù)解決中的語(yǔ)句進(jìn)行解決時(shí),是按照下面的約定來(lái)進(jìn)行的,這就是“事務(wù)解決中的所有語(yǔ)句被作為一個(gè)原子工作單位,所有的語(yǔ)句既可成功地被執(zhí)行,也可以沒(méi)有任何一個(gè)語(yǔ)句被執(zhí)行”。2.DBA的作用數(shù)據(jù)庫(kù)管理員(DatabaseAdministrator,簡(jiǎn)稱DBA),是一個(gè)負(fù)責(zé)管理和維護(hù)數(shù)據(jù)庫(kù)服務(wù)器的人。數(shù)據(jù)庫(kù)管理員負(fù)責(zé)全面管理和控制數(shù)據(jù)庫(kù)系統(tǒng)。3.數(shù)據(jù)庫(kù)三級(jí)模式人們?yōu)閿?shù)據(jù)庫(kù)設(shè)計(jì)了一個(gè)嚴(yán)謹(jǐn)?shù)捏w系結(jié)構(gòu),數(shù)據(jù)庫(kù)領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級(jí)模式結(jié)構(gòu),它涉及外模式、概念模式、內(nèi)模式,有效地組織、管理數(shù)據(jù),提高了數(shù)據(jù)庫(kù)的邏輯獨(dú)立性和物理獨(dú)立性。用戶級(jí)相應(yīng)外模式,概念級(jí)相應(yīng)概念模式,物理級(jí)相應(yīng)內(nèi)模式,使不同級(jí)別的用戶對(duì)數(shù)據(jù)庫(kù)形成不同的視圖。所謂視圖,就是指觀測(cè)、結(jié)識(shí)和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫(kù)在用戶“眼中"的反映,很顯然,不同層次(級(jí)別)用戶所“看到”的數(shù)據(jù)庫(kù)是不相同的。什么是數(shù)據(jù)模型數(shù)據(jù)(data)是描述事物的符號(hào)記錄。模型(Model)是現(xiàn)實(shí)世界的抽象。數(shù)據(jù)模型(DataModel)是數(shù)據(jù)特性的抽象,是數(shù)據(jù)庫(kù)管理的教學(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ù)間的語(yǔ)法、詞義聯(lián)系、他們之間的制約和依存關(guān)系,以及數(shù)據(jù)動(dòng)態(tài)變化的規(guī)則,以保證數(shù)據(jù)的對(duì)的、有效和相容。數(shù)據(jù)模型按不同的應(yīng)用層次提成三種類型:分別是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
1、概念數(shù)據(jù)模型(ConceptualDataModel):簡(jiǎn)稱概念模型,是面向數(shù)據(jù)庫(kù)用戶的實(shí)現(xiàn)世界的模型,重要用來(lái)描述世界的概念化結(jié)構(gòu),它使數(shù)據(jù)庫(kù)的設(shè)計(jì)人員在設(shè)計(jì)的初始階段,擺脫計(jì)算機(jī)系統(tǒng)及DBMS的具體技術(shù)問(wèn)題,集中精力分析數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系等,與具體的數(shù)據(jù)管理系統(tǒng)(DatabaseManagementSystem,簡(jiǎn)稱DBMS)無(wú)關(guān)。概念數(shù)據(jù)模型必須換成邏輯數(shù)據(jù)模型,才干在DBMS中實(shí)現(xiàn)。
2、邏輯數(shù)據(jù)模型(LogicalDataModel):簡(jiǎn)稱數(shù)據(jù)模型,這是用戶從數(shù)據(jù)庫(kù)所看到的模型,是具體的DBMS所支持的數(shù)據(jù)模型,如網(wǎng)狀數(shù)據(jù)模型(NetworkDataModel)、層次數(shù)據(jù)模型(HierarchicalDataModel)等等。此模型既要面向用戶,又要面向系統(tǒng),重要用于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的實(shí)現(xiàn)。
3、物理數(shù)據(jù)模型(PhysicalDataModel):簡(jiǎn)稱物理模型,是面向計(jì)算機(jī)物理表達(dá)的模型,描述了數(shù)據(jù)在儲(chǔ)存介質(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)自動(dò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語(yǔ)句被當(dāng)作單個(gè)工作單元來(lái)解決。事務(wù)具有以下的作用:
*一致性:同時(shí)進(jìn)行的查詢和更新彼此不會(huì)發(fā)生沖突,其他用戶不會(huì)看到發(fā)生了變化但尚未提交的數(shù)據(jù)。
*可恢復(fù)性:一旦系統(tǒng)故障,數(shù)據(jù)庫(kù)會(huì)自動(dòng)地完全恢復(fù)未完畢的事務(wù)。關(guān)系數(shù)據(jù)庫(kù)的定義用二維表結(jié)構(gòu)來(lái)表達(dá)實(shí)體及實(shí)體之間的聯(lián)系的數(shù)據(jù)模型。將現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表達(dá)。從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。編譯原理句子和句型的定義以及區(qū)別句型句子的結(jié)構(gòu)類型。句子——設(shè)G是一個(gè)給定的文法,S是文法的開(kāi)始符號(hào),假如Sx(其中x∈VT*),則稱x是文法的一個(gè)句子。句型——設(shè)G是一個(gè)給定的文法,S是文法的開(kāi)始符號(hào),假如Sx(其中x∈V*),則稱x是文法的一個(gè)句型。V為屬性的有窮集,Vt表達(dá)終結(jié)符集合,Vn表達(dá)非終結(jié)符集合,V表達(dá)文法符號(hào)集合(即既包含終結(jié)符,也包含非終結(jié)符.S(start)也是一個(gè)非終結(jié)符,然后大寫(xiě)的為非終結(jié)符,小寫(xiě)的為終結(jié)符V是一個(gè)符號(hào)集合,假設(shè)V指的是三個(gè)符號(hào)a,b,c的集合,記為V={a,b,c}
V*讀作“V的閉包”,它的數(shù)學(xué)定義是V自身的任意多次自身連接(乘法)運(yùn)算的積,也是一個(gè)集合。也就是說(shuō),用V中的任意符號(hào)進(jìn)行任意多次(涉及0次)連接,得到的符號(hào)串,都是V*這個(gè)集合中的元素。
0次連接的結(jié)果是不含任何符號(hào)的空串,記為ε
1次連接就是只有一個(gè)符號(hào)的符號(hào)串,比如,a,b,c
2次連接是兩個(gè)符號(hào)構(gòu)成的符號(hào)串,比如,aa,ab,ac,ba,bb,bc,等等...文法是編譯原理的基礎(chǔ),是描述一門程序設(shè)計(jì)語(yǔ)言和實(shí)現(xiàn)其編譯器的方法.文法定義:?jiǎn)棠匪够鶎⑺形姆ǘ级x為一個(gè)四元組:
G=(VN,VT,P,Z)
VN:非終結(jié)符號(hào)集VT:終結(jié)符號(hào)集P:產(chǎn)生式或規(guī)則的集合Z:開(kāi)始符號(hào)(辨認(rèn)符號(hào)),Z∈VN
文法和語(yǔ)言分類:0型、1型、2型、3型這幾類文法的差別在于對(duì)產(chǎn)生式施加不同的限制。C語(yǔ)言和數(shù)據(jù)結(jié)構(gòu)1.什么是樹(shù)?什么是圖?樹(shù)和圖有什么區(qū)別?樹(shù)和圖都是非線性的數(shù)據(jù)結(jié)構(gòu)。圖相對(duì)于樹(shù)來(lái)說(shuō),是更加抽象和復(fù)雜的??梢哉J(rèn)為樹(shù)是圖的基礎(chǔ),樹(shù)是一種更簡(jiǎn)樸意義上的圖。
在樹(shù)型結(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.完全二叉樹(shù)和滿二叉樹(shù)的區(qū)別完全二叉樹(shù)的定義:深度為k,有n個(gè)結(jié)點(diǎn)的二叉樹(shù)當(dāng)且僅當(dāng)其每一個(gè)結(jié)點(diǎn)都與深度為k的滿二叉樹(shù)中編號(hào)從1至n的結(jié)點(diǎn)一一相應(yīng)時(shí),稱為完全二叉樹(shù)。
特點(diǎn):葉子結(jié)點(diǎn)只也許在層次最大的兩層上出現(xiàn);對(duì)任一結(jié)點(diǎn),若其右分支下子孫的最大層次為l,則其左分支下子孫的最大層次必為l或l+1
滿二叉樹(shù):一棵深度為k,且有2的(k)次方-1個(gè)節(jié)點(diǎn)的二叉樹(shù)
特點(diǎn):每一層上的結(jié)點(diǎn)數(shù)都是最大結(jié)點(diǎn)數(shù)。哪種二叉樹(shù)數(shù)與存儲(chǔ)結(jié)構(gòu)有關(guān)線索二叉樹(shù)。n個(gè)結(jié)點(diǎn)的二叉鏈表中具有n+1(2n-(n-1)=n+1)個(gè)空指針域。運(yùn)用二叉鏈表中的空指針域,存放指向結(jié)點(diǎn)在某種遍歷順序下的前趨和后繼結(jié)點(diǎn)的指針(這種附加的指針?lè)Q為"線索")。4.選擇編程語(yǔ)言所依據(jù)的規(guī)則在選擇編程語(yǔ)言時(shí)以下事情應(yīng)當(dāng)考慮:常規(guī)特性:性能、兼容性、操作……l團(tuán)隊(duì)大小l代碼多少l代碼的壽命l應(yīng)用領(lǐng)域l工具:選擇語(yǔ)言考慮的最后一個(gè)問(wèn)題是工具的支持。一個(gè)合適的編輯器對(duì)于你編程所起的作用不亞于語(yǔ)言自身的語(yǔ)法.1.匯編是面向機(jī)器的程序設(shè)計(jì)語(yǔ)言.匯編語(yǔ)言是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是運(yùn)用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言。在匯編語(yǔ)言中,用助記符(Memoni)代替操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替地址碼。這樣用符號(hào)代替機(jī)器語(yǔ)言的二進(jìn)制碼,就把機(jī)器語(yǔ)言變成了匯編語(yǔ)言。因此匯編語(yǔ)言亦稱為符號(hào)語(yǔ)言。2.C適于快而小的程序,但不支持面向?qū)ο蟮木幊?。自從C發(fā)明了以后,它就取代了匯編語(yǔ)言在操作系統(tǒng)編程的領(lǐng)導(dǎo)地位。從性能上說(shuō),除了匯編語(yǔ)言,C語(yǔ)言是最接近機(jī)器的語(yǔ)言。各種操作系統(tǒng)的編程接口的默認(rèn)語(yǔ)言都是C語(yǔ)言。因此,用C語(yǔ)言編程,可以最大限度發(fā)揮操作系統(tǒng)的能力。同時(shí),由于絕大部分的商品軟件都是C或與C兼容的C++實(shí)現(xiàn)的,都有C編程接口,可以說(shuō),沒(méi)有C不能實(shí)現(xiàn)的功能。缺陷是在公司級(jí)開(kāi)發(fā)中,幾乎無(wú)用武之地。3.C++完全支持面向?qū)ο?,但是非常?fù)雜。優(yōu)點(diǎn)在于具有大量的庫(kù),如MFC,可直接調(diào)用windows庫(kù)函數(shù)干很多事情。C語(yǔ)言進(jìn)化而來(lái)的,有強(qiáng)大的功能,舉例吧:軟件:微軟的Office系列Macromedia網(wǎng)頁(yè)三劍客-flash,dreamweaver,fireworksAdobe出的超有名的作圖軟件-PhotoShop3D動(dòng)畫(huà)軟件-3DMax游戲:PC平臺(tái)幾乎所有的游戲星際爭(zhēng)霸、魔獸爭(zhēng)霸、CS、帝國(guó)時(shí)代、跑跑卡丁車、傳奇、魔獸世界....那數(shù)不勝數(shù)了,自己數(shù)吧:)以上均出自C++之手,因素是C++靠近計(jì)算機(jī)底層,編寫(xiě)出來(lái)的程序?qū)ο到y(tǒng)資源依賴較小,功能強(qiáng)大,運(yùn)營(yíng)速度快,比如你的兩個(gè)朋友與你分別玩用VB、Java、與C++編寫(xiě)的“跑跑卡丁車”,你玩C++那款游戲已經(jīng)跑玩結(jié)束了,發(fā)現(xiàn)你的兩個(gè)朋友還沒(méi)開(kāi)始跑呢,那是相稱的卡啊,所以這一系列的軟件、游戲都會(huì)采用C++編寫(xiě)。雖然C++很有優(yōu)點(diǎn),但是對(duì)于學(xué)習(xí)者來(lái)說(shuō)應(yīng)當(dāng)是比較困難的一門語(yǔ)言。(再說(shuō)明一點(diǎn),C或C++屬于語(yǔ)言,而VC-“VisualC++”是用來(lái)編寫(xiě)C或C++的工具)4.VisualBasic與Delphi易學(xué),但不可移植且有專利權(quán)。VisualBasic(簡(jiǎn)稱VB)VB是快速的界面生成語(yǔ)言,是快速的數(shù)據(jù)庫(kù)程序開(kāi)發(fā)語(yǔ)言。vba是vb的應(yīng)用版,嵌入在MSoffice中。編寫(xiě)MSoffice上的程序很好用。缺陷是只能在Windows平臺(tái)運(yùn)作。DelphiKylix和vb同樣是快速開(kāi)發(fā)環(huán)境,但性能更好,功能更強(qiáng)大,亦可以用于Linux平臺(tái)。語(yǔ)法建基于Pascal,是面向?qū)ο蟮某绦蛘Z(yǔ)言5.Java商業(yè)編程語(yǔ)言。有很多簡(jiǎn)潔的功能,但是慢。創(chuàng)作工具可以以最快的速度產(chǎn)生你的程序,但是僅對(duì)某一些類型的程序起作用。Java作為現(xiàn)代語(yǔ)言,具有非常豐富的語(yǔ)法特性,如模塊和類,不像C隨操作系統(tǒng)和編譯器的不同有極大差異。Java所有的API都是類庫(kù),相對(duì)C的函數(shù)來(lái)說(shuō),是非常大的進(jìn)步。缺陷是要學(xué)的技術(shù)太多,二是在底層開(kāi)發(fā)中不行。Java開(kāi)發(fā)的軟件大部分是面向事業(yè)單位、公司及公司的,它的功能同樣強(qiáng)大,結(jié)構(gòu)比C++清楚,學(xué)習(xí)起來(lái)比C++簡(jiǎn)樸多了,并且是跨平臺(tái)運(yùn)營(yíng)的程序,用Java開(kāi)發(fā)出來(lái)的軟件可以在世界幾乎所有的系統(tǒng)上運(yùn)營(yíng)(涉及Linux、掌上電腦、手機(jī)等),但正由于如此,使之運(yùn)營(yíng)時(shí)會(huì)比C++開(kāi)發(fā)的軟件要慢。6.Web類的大體說(shuō)下流行的phpjspasp三者從數(shù)據(jù)庫(kù)操作上而言,jsp>php>asp從目前市場(chǎng)角度來(lái)說(shuō),asp幾乎壟斷了中小型市場(chǎng)。而asp漏洞百出,因素也是市場(chǎng)片面比較大,垃圾程序較多。學(xué)java,學(xué)的不僅僅是技術(shù),而是一種思想
架構(gòu)項(xiàng)目的思想
。
所以java是培養(yǎng)架構(gòu)師,培養(yǎng)System
Designer,Project
Manager的
c語(yǔ)言和c++只能培養(yǎng)技術(shù)專家,資深程序員。筆試1.UML在UML2中有二種基本的圖范疇:結(jié)構(gòu)圖和行為圖。每個(gè)UML圖都屬于這二個(gè)圖范疇。結(jié)構(gòu)圖的目的是顯示建模系統(tǒng)的靜態(tài)結(jié)構(gòu)。它們涉及類,組件和(或)對(duì)象圖。另一方面,行為圖顯示系統(tǒng)中的對(duì)象的動(dòng)態(tài)行為,涉及如對(duì)象的方法,協(xié)作和活動(dòng)之類的內(nèi)容。行為圖的實(shí)例是活動(dòng)圖,用例圖和序列圖。1.1用例圖用例圖重要用來(lái)描述“用戶、需求、系統(tǒng)功能單元”之間的關(guān)系。它展示了一個(gè)外部用戶可以觀測(cè)到的系統(tǒng)功能模型圖?!居猛尽浚簬椭_(kāi)發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求。用例圖所包含的元素如下:1.參與者(Actor)表達(dá)與您的應(yīng)用程序或系統(tǒng)進(jìn)行交互的用戶、組織或外部系統(tǒng)。用一個(gè)小人表達(dá)。2.用例(UseCase)用例就是外部可見(jiàn)的系統(tǒng)功能,對(duì)系統(tǒng)提供的服務(wù)進(jìn)行描述。用橢圓表達(dá)。3.子系統(tǒng)(Subsystem)用來(lái)展示系統(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)系用來(lái)把一個(gè)較復(fù)雜用例所表達(dá)的功能分解成較小的環(huán)節(jié)?!炯^指向】:指向分解出來(lái)的功能用例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)用例圖雖然是用來(lái)幫助人們形象地理解功能需求,但卻沒(méi)多少人可以通看懂它。很多時(shí)候跟用戶交流甚至用Excel都比用例圖強(qiáng),VS2023中引入了“項(xiàng)目”這樣一個(gè)元素,以便讓開(kāi)發(fā)人員可以在用例圖中鏈接一個(gè)普通文檔。用依賴關(guān)系把某個(gè)用例依賴到項(xiàng)目上:然后把項(xiàng)目-》屬性的Hyperlink設(shè)立到你的文檔上;這樣當(dāng)你在用例圖上雙擊項(xiàng)目時(shí),就會(huì)打開(kāi)相關(guān)聯(lián)的文檔。6.注釋(Comment)包含(include)、擴(kuò)展(extend)、泛化(Inheritance)的區(qū)別:條件性:泛化中的子用例和include中的被包含的用例會(huì)無(wú)條件發(fā)生,而extend中的延伸用例的發(fā)生是有條件的;直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務(wù),而include中被包含的用例為參與者提供間接服務(wù)。對(duì)extend而言,延伸用例并不包含基礎(chǔ)用例的內(nèi)容,基礎(chǔ)用例也不包含延伸用例的內(nèi)容。對(duì)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ù)類圖來(lái)產(chǎn)生代碼。類的屬性、操作中的可見(jià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)系,它指定了子類如何特化父類的所有特性和行為。例如:老虎是動(dòng)物的一種,即有老虎的特性也有動(dòng)物的共性?!炯^指向】:帶三角箭頭的實(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è)箭頭或者沒(méi)有箭頭,單向的關(guān)聯(lián)有一個(gè)箭頭。【代碼體現(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)對(duì)象位于直線的上端,關(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)系,且部分可以離開(kāi)整體而單獨(dú)存在。如車和輪胎是整體和部分的關(guān)系,輪胎離開(kāi)車仍然可以存在。聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強(qiáng)的關(guān)聯(lián)關(guān)系;關(guān)聯(lián)和聚合在語(yǔ)法上無(wú)法區(qū)分,必須考察具體的邏輯關(guān)系?!敬a體現(xiàn)】:成員變量【箭頭及指向】:帶空心菱形的實(shí)心線,菱形指向整體5.組合(Composition)【組合關(guān)系】:是整體與部分的關(guān)系,但部分不能離開(kāi)整體而單獨(dú)存在。如公司和部門是整體和部分的關(guān)系,沒(méi)有公司就不存在部門。組合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強(qiáng)的關(guān)系,它規(guī)定普通的聚合關(guān)系中代表整體的對(duì)象負(fù)責(zé)代表部分的對(duì)象的生命周期。【代碼體現(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)系中代表部分事物的對(duì)象與代表聚合事物的對(duì)象的生存期無(wú)關(guān),一旦刪除了聚合對(duì)象不一定就刪除了代表部分事物的對(duì)象。組合中一旦刪除了組合對(duì)象,同時(shí)也就刪除了代表部分事物的對(duì)象。6.依賴(Dependency)【依賴關(guān)系】:是一種使用的關(guān)系,即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助,所以要盡量不使用雙向的互相依賴.假如類A和類B有關(guān)聯(lián)關(guān)系,它們之間必然有依賴關(guān)系。【代碼表現(xiàn)】:局部變量、方法的參數(shù)或者對(duì)靜態(tài)方法的調(diào)用【箭頭及指向】:帶箭頭的虛線,指向被使用者各種關(guān)系的強(qiáng)弱順序:泛化=實(shí)現(xiàn)>組合>聚合>關(guān)聯(lián)>依賴下面這張UML圖,比較形象地展示了各種類圖關(guān)系:【類圖說(shuō)明】reader類是借閱者的類,它的屬性很多,涉及借閱者的賬戶ID(reader_id)、姓名(reader_Name)、地址(Address)、班級(jí)(class)、所借書(shū)籍的書(shū)目(borrowed)等。其中重要操作有借書(shū)(addborrowed)和還書(shū)(deleteborrowed)和預(yù)訂(reservation)等。admin類是管理員類,他有編號(hào)和姓名屬性,操作重要是書(shū)籍的增刪改和讀者的增刪改等等。(3)Title類是記錄書(shū)目信息的類,涉及書(shū)籍的名字(name)、作者(author)、book_id等屬性。(4)Item類是具體某本書(shū)的類,屬性涉及書(shū)籍號(hào)(id)。操作涉及預(yù)訂(reserve)、按書(shū)目查找(find_on_title)等。(5)borrow類是某本書(shū)的借閱信息類,涉及所借閱書(shū)籍的ISBN、借閱的時(shí)間(date)等。(6)Reservation類是預(yù)訂信息類,每個(gè)預(yù)訂信息涉及預(yù)訂日期(date)、所預(yù)訂書(shū)籍的ISBN、預(yù)訂書(shū)籍的用戶ID(UserID)等屬性。(7)persistentstore類是書(shū)籍永久的存儲(chǔ)類,在數(shù)據(jù)庫(kù)中的存儲(chǔ)數(shù)據(jù),其他對(duì)與書(shū)籍有關(guān)的活動(dòng)都要通過(guò)其存儲(chǔ)類。圖書(shū)館管理系統(tǒng)的類圖及關(guān)系如下:1.3流程圖-活動(dòng)圖活動(dòng)圖是一種工作流程圖。1:初始節(jié)點(diǎn),活動(dòng)最終節(jié)點(diǎn),操作,連接符<1>初始節(jié)點(diǎn):在繪制活動(dòng)圖中,總有一個(gè)起始點(diǎn),在UML的規(guī)范中用”實(shí)心圓點(diǎn)“表達(dá)。<2>活動(dòng)最終節(jié)點(diǎn):有起點(diǎn)就必然存在終點(diǎn),在UML中用”空心圓點(diǎn)“表達(dá)。<3>操作:是活動(dòng)圖中的一個(gè)基本環(huán)節(jié),具有原子性。<4>連接符:操作之間的過(guò)渡我們用”連接符“進(jìn)行連接。下面做個(gè)簡(jiǎn)樸的例子加深下印象,這個(gè)也是最簡(jiǎn)樸的活動(dòng)圖。2:注釋良好的代碼習(xí)慣是二行一注釋,在UML中同樣也存在注釋,道理都同樣,幫助團(tuán)隊(duì)理解。3:對(duì)象節(jié)點(diǎn)一方面看下專業(yè)的解釋:假如一個(gè)操作執(zhí)行結(jié)束之后生成了某些數(shù)據(jù)需要傳遞給下一個(gè)目的操作,此時(shí)需要用對(duì)象節(jié)點(diǎn)表達(dá)。相應(yīng)到上面案例就是我們需要在”登陸界面“和”登陸后臺(tái)“中間插一個(gè)”登陸信息“的對(duì)象節(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)使用”菱形“來(lái)表達(dá)的,也非常好理解,決策嘛,不就是抉擇,一條邊進(jìn),多條邊出。<2>合并節(jié)點(diǎn):既然放在一起講,它們肯定有關(guān)聯(lián),多條邊進(jìn),一條邊出,比如在很多頁(yè)面中都有傳送門讓我們進(jìn)入登陸頁(yè)面。假如眼尖的話已經(jīng)看到了”連接符"旁邊的提醒信息,這個(gè)也就是“警示信息”,設(shè)立方法很簡(jiǎn)樸,選中“連接符”,按F4打開(kāi)“屬性窗口”,然后在Guard字段中設(shè)立值即可。5:分叉節(jié)點(diǎn)和聯(lián)接節(jié)點(diǎn)這兩個(gè)節(jié)點(diǎn)是真的需要同對(duì)出現(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è)流程都會(huì)解決中斷狀態(tài),直到兩件事都已做完,,是不是有點(diǎn)多線程的味道。圖書(shū)館管理系統(tǒng)的借書(shū)活動(dòng)圖1.4ER圖實(shí)體-聯(lián)系圖(Entity-RelationDiagram)用來(lái)建立數(shù)據(jù)模型。通常將它簡(jiǎn)稱為ER圖,相應(yīng)地可把用ER圖描繪的數(shù)據(jù)模型稱為ER模型。
ER圖提供了表達(dá)實(shí)體(即數(shù)據(jù)對(duì)象)、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。
構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系,其表達(dá)方法為:
˙實(shí)體型:用矩形表達(dá),矩形框內(nèi)寫(xiě)明實(shí)體名;
˙屬性:用橢圓形表達(dá),并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);多值屬性由雙線連接;主屬性名稱下加下劃線;
˙聯(lián)系:用菱形表達(dá),菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型
在E-R圖中要明確表白1對(duì)多關(guān)系,1對(duì)1關(guān)系和多對(duì)多關(guān)系。
˙1對(duì)1關(guān)系在兩個(gè)實(shí)體連線方向?qū)?;
˙1對(duì)多關(guān)系在1的一方寫(xiě)1,多的一方寫(xiě)N;
˙多對(duì)多關(guān)系則是在兩個(gè)實(shí)體連線方向各寫(xiě)N,MER圖缺陷不能很好表達(dá)單向和雙向關(guān)系圖書(shū)館管理系統(tǒng)數(shù)據(jù)庫(kù)建模圖書(shū)館管理系統(tǒng)各實(shí)體之間的ER圖1.5數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram):簡(jiǎn)稱DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的重要表達(dá)工具及用于表達(dá)軟件模型的一種圖示方法。數(shù)據(jù)流程圖中有以下幾種重要元素:→:數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的途徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號(hào)、日期、目的地等數(shù)據(jù)項(xiàng)組成。由于數(shù)據(jù)流是流動(dòng)中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)當(dāng)用名詞或名詞短語(yǔ)命名?!酰簲?shù)據(jù)源(終點(diǎn))。代表系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。如數(shù)據(jù)表?!穑簩?duì)數(shù)據(jù)的加工(解決)。加工是對(duì)數(shù)據(jù)進(jìn)行解決的單元,它接受一定的數(shù)據(jù)輸入,對(duì)其進(jìn)行解決,并產(chǎn)生輸出。〓:數(shù)據(jù)存儲(chǔ)。表達(dá)信息的靜態(tài)存儲(chǔ),可以代表文獻(xiàn)、文獻(xiàn)的一部分、數(shù)據(jù)庫(kù)的元素等。DataStoreDataStore頂層一層SQL語(yǔ)句1數(shù)據(jù)的創(chuàng)建createdatabasedb1;2刪除數(shù)據(jù)庫(kù)dropdatabasedb1;3使用數(shù)據(jù)庫(kù)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ù)傳遞過(guò)程的協(xié)議描述傳輸協(xié)議中各層都為上一層提供業(yè)務(wù)功能。為了提供這種業(yè)務(wù)功能,下一層將上一層中的數(shù)據(jù)并入到本層的數(shù)據(jù)域中,然后通過(guò)加入報(bào)頭或報(bào)尾來(lái)實(shí)現(xiàn)該層業(yè)務(wù)功能,該過(guò)程叫做數(shù)據(jù)封裝。用戶的數(shù)據(jù)要通過(guò)一次次包裝,最后轉(zhuǎn)化成可以在網(wǎng)絡(luò)上傳輸?shù)男盘?hào),發(fā)送到網(wǎng)絡(luò)上。當(dāng)?shù)竭_(dá)目的計(jì)算機(jī)后,再執(zhí)行相反的拆包過(guò)程。下層可以向上層提供的服務(wù)有兩種形式:面向連接的服務(wù)(TCP)和無(wú)連接的服務(wù)(UDP)。TCP:傳輸控制協(xié)議,當(dāng)傳輸出現(xiàn)錯(cuò)誤時(shí)能自動(dòng)予以糾正;UDP:用戶數(shù)據(jù)包協(xié)議,當(dāng)傳輸出現(xiàn)錯(cuò)誤時(shí)會(huì)將錯(cuò)誤信息丟棄;UDP方式比TCP方式有更強(qiáng)大的容錯(cuò)性,采用UDP的話,它的緩沖速度比TCP快45%,并且可以大大的節(jié)省網(wǎng)絡(luò)共享帶寬,當(dāng)網(wǎng)絡(luò)出現(xiàn)不穩(wěn)定期,不會(huì)經(jīng)常出現(xiàn)緩沖,所以不少影視節(jié)目采用UDP方式傳送。雙方在數(shù)據(jù)傳輸中必須遵守的規(guī)則。數(shù)據(jù)傳遞過(guò)程:(1)尋址。當(dāng)一個(gè)應(yīng)用程序希望與另一個(gè)應(yīng)用程序傳輸數(shù)據(jù)時(shí),必須指明是與哪個(gè)應(yīng)用程序相連。尋址的方法一般采用定義傳輸?shù)刂贰R蛱鼐W(wǎng)傳輸?shù)刂酚蒊P地址和主機(jī)端標(biāo)語(yǔ)組成。(2)建立連接。在實(shí)際的網(wǎng)絡(luò)應(yīng)用中,采用三次握手的算法,并增長(zhǎng)某些條件以保證建立起可靠的連接。增長(zhǎng)的條件是:所發(fā)送的報(bào)文都要有遞增的序列號(hào);對(duì)每個(gè)報(bào)文設(shè)立一個(gè)計(jì)時(shí)器,設(shè)定一個(gè)最大時(shí)延,對(duì)那些超過(guò)最大時(shí)延仍沒(méi)有收到確認(rèn)信息的報(bào)文就認(rèn)為已經(jīng)丟失,需要重傳。(3)釋放連接。也采用三次握手的算法。OSI,OpenSystemInterconnection的縮寫(xiě),意為開(kāi)放式系統(tǒng)互聯(lián)。國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定了OSI模型。MAC(MediaAccessControl)地址,或稱為MAC位址、硬件位址,用來(lái)定義網(wǎng)絡(luò)設(shè)備的位置。在OSI模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé)IP地址,第二層數(shù)據(jù)鏈路層則負(fù)責(zé)MAC位址。因此一個(gè)主機(jī)會(huì)有一個(gè)IP地址,而每個(gè)網(wǎng)絡(luò)位置會(huì)有一個(gè)專屬于它的MAC地址。IP地址和MAC地址相同點(diǎn)是它們都唯一,不同的特點(diǎn)重要有:1.對(duì)于網(wǎng)絡(luò)上的某一設(shè)備,如一臺(tái)計(jì)算機(jī)或一臺(tái)路由器,其IP地址可變(但必須唯一),而MAC地址不可變。我們可以根據(jù)需要給一臺(tái)主機(jī)指定任意的IP地址,如我們可以給局域網(wǎng)上的某臺(tái)計(jì)算機(jī)分派IP地址為12,也可以將它改成00。而任一網(wǎng)絡(luò)設(shè)備(如網(wǎng)卡,路由器)一旦生產(chǎn)出來(lái)以后,其MAC地址永遠(yuǎn)唯一且不能由用戶改變。2.長(zhǎng)度不同。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)上(通過(guò)MAC地址),而網(wǎng)絡(luò)層協(xié)議使數(shù)據(jù)可以從一個(gè)網(wǎng)絡(luò)傳遞到另一個(gè)網(wǎng)絡(luò)上(ARP根據(jù)目的IP地址,找到中間節(jié)點(diǎn)的MAC地址,通過(guò)中間節(jié)點(diǎn)傳送,從而最終到達(dá)目的網(wǎng)絡(luò))描述在OSI參考模型中(OSI模型的七層協(xié)議)數(shù)據(jù)傳輸?shù)幕具^(guò)程一方面從計(jì)算機(jī)里面的數(shù)據(jù)出發(fā),比如QQ寫(xiě)入的信息是最原始的,也就是應(yīng)用層的工作,然后是表達(dá)層,傳輸?shù)木幋a,是用什么編碼傳輸數(shù)據(jù),還涉及加密的過(guò)程。而會(huì)話層則重要進(jìn)行端對(duì)端的連接的建立維持和斷開(kāi).這三部分是端對(duì)端的連接。下一層是傳輸層,重要涉及端口和進(jìn)程,表達(dá)用什么進(jìn)程連接通信,比如說(shuō)對(duì)方用QQ進(jìn)行信息傳遞,而這邊有QQ,msn,yahoo,那么為什么就只有QQ可以接受到信息呢?這個(gè)功能辨認(rèn)就是靠傳輸層的作用了.下面三層是點(diǎn)到點(diǎn)的連接.網(wǎng)絡(luò)層寫(xiě)上ip,指明數(shù)據(jù)傳輸?shù)穆?是快速的尋址,能快速找到去往的路.數(shù)據(jù)鏈路層是在網(wǎng)絡(luò)層封裝的基礎(chǔ)上封裝MAC地址,是精確的尋址方式。物理層通過(guò)規(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àn)維網(wǎng)服務(wù)器(WWW服務(wù)器)之間互相通信的規(guī)則,通過(guò)因特網(wǎng)傳送萬(wàn)維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議。HTTP是一個(gè)應(yīng)用層協(xié)議,由請(qǐng)求和響應(yīng)構(gòu)成,是一個(gè)標(biāo)準(zhǔn)的客戶端服務(wù)器模型。HTTP是一個(gè)無(wú)狀態(tài)的協(xié)議。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)解決沒(méi)有記憶能力。缺少狀態(tài)意味著假如后續(xù)解決需要前面的信息,則它必須重傳,這樣也許導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。HTTP是“請(qǐng)求-響應(yīng)”的工作模式。4.1HTTP協(xié)議格式涉及Client向Server的請(qǐng)求消息和Server向Client的響應(yīng)消息。協(xié)議消息由起始行,頭域和可選的消息體組成。HTTP請(qǐng)求協(xié)議(報(bào)文)的一般格式——由三部分組成,分別是:請(qǐng)求行、消息報(bào)頭(請(qǐng)求頭)、請(qǐng)求正文(請(qǐng)求體) 請(qǐng)求行以一個(gè)方法符號(hào)開(kāi)頭,以空格分開(kāi),后面跟著請(qǐng)求的URI和協(xié)議的版本,格式如下:MethodRequest-URIHTTP-VersionCRLF其中Method表達(dá)請(qǐng)求方法;Request-URI是一個(gè)統(tǒng)一資源標(biāo)記符;HTTP-Version表達(dá)請(qǐng)求的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è)簡(jiǎn)樸的文本描述,解釋Status-Code的具體因素。Status-Code用于機(jī)器自動(dòng)辨認(rèn),Reason-Phrase用于人工理解。Status-Code的第一個(gè)數(shù)字代表響應(yīng)類別,也許取5個(gè)不同的值。后兩個(gè)數(shù)字沒(méi)有分類作用。Status-Code的第一個(gè)數(shù)字代表響應(yīng)的類別(消息(1字頭)成功(2字頭)重定向(3字頭)請(qǐng)求錯(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)、請(qǐng)求報(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)文由請(qǐng)求行或狀態(tài)行組成,后面是信息頭和主體。請(qǐng)求報(bào)文的格式由請(qǐng)求行、通用信息頭、請(qǐng)求頭、實(shí)體頭、信息主體組成。響應(yīng)報(bào)文由響應(yīng)行、通用信息頭、響應(yīng)頭、實(shí)體頭、信息主體組成。為了指示IE瀏覽器(客戶端)不要緩存頁(yè)面,服務(wù)器端的JSP程序可以編寫(xiě)如下:response.sehHeader("Cache-Control","no-cache");請(qǐng)求報(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ù)器對(duì)請(qǐng)求資源采用的是基本驗(yàn)證機(jī)制。實(shí)體報(bào)頭舉例:eg:為了讓瀏覽器不要緩存頁(yè)面,我們也可以運(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)頭域描述了資源所用的自然語(yǔ)言。沒(méi)有設(shè)立該域則認(rèn)為實(shí)體內(nèi)容將提供應(yīng)所有的語(yǔ)言閱讀者。eg:Content-Language:daContent-Length實(shí)體報(bào)頭域用于指明實(shí)體正文的長(zhǎng)度,以字節(jié)方式存儲(chǔ)的十進(jìn)制數(shù)字來(lái)表達(dá)。Content-Type實(shí)體報(bào)頭域用語(yǔ)指明發(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)過(guò)期的日期和時(shí)間。為了讓代理服務(wù)器或?yàn)g覽器在一段時(shí)間以后更新緩存中(再次訪問(wèn)曾訪問(wèn)過(guò)的頁(yè)面時(shí),直接從緩存中加載,縮短響應(yīng)時(shí)間和減少服務(wù)器負(fù)載)的頁(yè)面,我們可以使用Expires實(shí)體報(bào)頭域指定頁(yè)面過(guò)期的時(shí)間。eg:Expires:Thu,15Sep202316:23:12GMTHTTP協(xié)議消息結(jié)構(gòu)圖:HTTP協(xié)議-請(qǐng)求報(bào)文格式:HTTP協(xié)議-相應(yīng)報(bào)文格式:4.2HTTP協(xié)議解決錯(cuò)誤請(qǐng)求的過(guò)程瀏覽器向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器解決也許成功,也許是失敗,也許沒(méi)有權(quán)限訪問(wèn)等因素,服務(wù)器會(huì)通過(guò)相應(yīng)狀態(tài)碼來(lái)告訴瀏覽器解決結(jié)果。響應(yīng)頭第一行也稱為狀態(tài)行,格式如下:HTTP-Version空格Status-Code空格Reason-PhraseCRLFStatus-Code的第一個(gè)數(shù)字代表響應(yīng)的類別(消息(1字頭)成功(2字頭)重定向(3字頭)請(qǐng)求錯(cuò)誤(4字頭)服務(wù)器錯(cuò)誤(5字頭)),后續(xù)兩位描述在該類響應(yīng)下發(fā)生的具體狀況。一些常見(jiàn)的狀態(tài)碼為:1)"200":表達(dá)執(zhí)行成功,返回OK。2)"302":Found重定向。3)"400":BadRquest錯(cuò)誤請(qǐng)求,發(fā)犯錯(cuò)誤的不符合HTTP協(xié)議的請(qǐng)求。4)"401":(未授權(quán))請(qǐng)求規(guī)定身份驗(yàn)證。對(duì)于需要登錄的網(wǎng)頁(yè),服務(wù)器也許返回此響應(yīng)。5)"403":Forbidden嚴(yán)禁。6)"404":NotFound未找到,演示訪問(wèn)一個(gè)不存在的頁(yè)面看報(bào)文。7)"500":InternalServerError服務(wù)器內(nèi)部錯(cuò)誤,演示頁(yè)面拋出異常8)"503":ServiceUnavailable。一般是訪問(wèn)人數(shù)過(guò)多,可以用12306網(wǎng)站實(shí)驗(yàn)同樣,也許會(huì)得到這個(gè)結(jié)果。4.3發(fā)送分組時(shí)協(xié)議發(fā)送順序無(wú)連接協(xié)議(ConnectionlessProtocol)是可以使無(wú)連接服務(wù)在一個(gè)網(wǎng)絡(luò)中的協(xié)議。這個(gè)Internet協(xié)議(IP)和用戶數(shù)據(jù)包協(xié)議(UDP)是最流行的無(wú)連接協(xié)議。通信協(xié)議要么是面向連接的,要么是無(wú)連接的。這依賴于信息發(fā)送方是否需要與接受方聯(lián)系并通過(guò)聯(lián)系來(lái)維持一個(gè)對(duì)話(面向連接的),還是沒(méi)有任何預(yù)先聯(lián)系就發(fā)送消息(無(wú)連接的)且希望接受方能順序接受所有內(nèi)容。這些方法揭示了網(wǎng)絡(luò)上實(shí)現(xiàn)通信的兩種途徑。在面向連接的方法中,網(wǎng)絡(luò)負(fù)責(zé)順序發(fā)送報(bào)文分組并且以一種可靠的方法檢測(cè)丟失和沖突。這種方法被“可靠的”傳輸服務(wù)使用。面向連接的服務(wù)更適于需要穩(wěn)定數(shù)據(jù)流的應(yīng)用。在無(wú)連接的方法中,網(wǎng)絡(luò)只需要將報(bào)文分組發(fā)送到接受點(diǎn),檢錯(cuò)與流控由發(fā)送方和接受方解決。無(wú)連接方法是設(shè)計(jì)用于突發(fā)的、暫時(shí)的通信。這種方法被稱作“最佳工作(best-effort)”或“無(wú)應(yīng)答(unacknowledged)”的傳輸協(xié)議所使用。電路互換是建立一條臨時(shí)的專用通路,使用完以后拆除鏈接,適合打數(shù)據(jù)量的實(shí)時(shí)通信。報(bào)文互換不在通信節(jié)點(diǎn)建立通路,將信息組合成報(bào)文,采用存儲(chǔ)-轉(zhuǎn)發(fā)機(jī)制,線路的運(yùn)用率高,但延遲大。分組互換是數(shù)據(jù)包定長(zhǎng)的報(bào)文互換,互換節(jié)點(diǎn)的緩沖區(qū)可減小,傳播時(shí)延也更小;一般分為數(shù)據(jù)包、虛電路、信元互換。廣域網(wǎng)的通信子網(wǎng)重要使用分組互換技術(shù)。分組互換也稱包互換,它是將用戶傳送的數(shù)據(jù)劃提成一定的長(zhǎng)度,每個(gè)部分叫做一個(gè)分組。在每個(gè)分組的前面加上一個(gè)分組頭,用以指明該分組發(fā)往何地址,然后由互換機(jī)根據(jù)每個(gè)分組的地址標(biāo)志,將他們轉(zhuǎn)發(fā)至目的地,這一過(guò)程稱為分組互換。進(jìn)行分組互換的通信網(wǎng)稱為分組互換網(wǎng)。從互換技術(shù)的發(fā)展歷史看,數(shù)據(jù)互換經(jīng)歷了電路互換、報(bào)文互換、分組互換和綜合業(yè)務(wù)數(shù)字互換的發(fā)展過(guò)程。分組互換實(shí)質(zhì)上是在“存儲(chǔ)—轉(zhuǎn)發(fā)”基礎(chǔ)上發(fā)展起來(lái)的。它兼有電路互換和報(bào)文互換的優(yōu)點(diǎn)。分組互換在線路上采用動(dòng)態(tài)復(fù)用技術(shù)傳送按一定長(zhǎng)度分割為許多小段的數(shù)據(jù)—分組。每個(gè)分組標(biāo)記后,在一條物理線路上采用動(dòng)態(tài)復(fù)用的技術(shù),同時(shí)傳送多個(gè)數(shù)據(jù)分組。把來(lái)自用戶發(fā)端的數(shù)據(jù)暫存在互換機(jī)的存儲(chǔ)器內(nèi),接著在網(wǎng)內(nèi)轉(zhuǎn)發(fā)。到達(dá)接受端,再去掉分組頭將各數(shù)據(jù)字段按順序重新裝配成完整的報(bào)文。分組互換比電路互換的電路運(yùn)用率高,比報(bào)文互換的傳輸時(shí)延小,交互性好。英語(yǔ)口語(yǔ)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.軟件開(kāi)發(fā)模型對(duì)比軟件開(kāi)發(fā)模型(SoftwareDevelopmentModel)是指軟件開(kāi)發(fā)所有過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。軟件開(kāi)發(fā)涉及需求、設(shè)計(jì)、編碼和測(cè)試等階段,有時(shí)也涉及維護(hù)階段。軟件開(kāi)發(fā)模型能清楚、直觀地表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定了要完畢的重要活動(dòng)和任務(wù),用來(lái)作為軟件項(xiàng)目工作的基礎(chǔ)下面對(duì)瀑布模型增量模型快速原型模型螺旋模型噴泉模型做簡(jiǎn)要分析。瀑布模型瀑布模型是經(jīng)典的軟件開(kāi)發(fā)模型,開(kāi)發(fā)過(guò)程是通過(guò)設(shè)計(jì)一系列階段順序展開(kāi)的,從系統(tǒng)需求分析開(kāi)始直到產(chǎn)品發(fā)布和維護(hù),每個(gè)階段都會(huì)產(chǎn)生循環(huán)反饋,因此,假如有信息未被覆蓋或者發(fā)現(xiàn)了問(wèn)題,那么最佳“返回”上一個(gè)階段并進(jìn)行適當(dāng)?shù)男薷?,?xiàng)目開(kāi)發(fā)進(jìn)程從一個(gè)階段“流動(dòng)”到下一個(gè)階段,每個(gè)階段之間的依賴性強(qiáng)。優(yōu)點(diǎn):1)為項(xiàng)目提供了按階段劃分的檢查點(diǎn)2)當(dāng)前一階段完畢后,只需要去關(guān)注后續(xù)階段缺陷:1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增長(zhǎng)了工作量;2)與用戶見(jiàn)面晚,從而增長(zhǎng)了開(kāi)發(fā)的風(fēng)險(xiǎn);3)初期的錯(cuò)誤也許要等到開(kāi)發(fā)后期的測(cè)試階段才干發(fā)現(xiàn),發(fā)現(xiàn)問(wèn)題越晚代價(jià)越高合用范圍:需求很明確的軟件開(kāi)發(fā)項(xiàng)目;在開(kāi)發(fā)時(shí)間內(nèi)需求沒(méi)有或很少變化;分析設(shè)計(jì)人員應(yīng)相應(yīng)用領(lǐng)域很熟悉;低風(fēng)險(xiǎn)項(xiàng)目(對(duì)目的、環(huán)境很熟悉);用戶使用環(huán)境很穩(wěn)定;用戶除提出需求以外,很少參與開(kāi)發(fā)工作增量模型 增量模型是一種非整體開(kāi)發(fā)的模型,分為兩種形式:基于瀑布模型的漸增模型;基于原型的快速原型模型增量模型的優(yōu)點(diǎn):人員分派靈活,剛開(kāi)始不用投入大量人力資源。假如核心產(chǎn)品很受歡迎,則可增長(zhǎng)人力實(shí)現(xiàn)下一個(gè)增量客戶可以不斷地看到所開(kāi)發(fā)的軟件,從而減少開(kāi)發(fā)風(fēng)險(xiǎn)缺陷:1)由于各個(gè)構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的,所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分,這需要軟件具有開(kāi)放式的體系結(jié)構(gòu)。2)在開(kāi)發(fā)過(guò)程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過(guò)程的控制失去整體性??焖僭湍P陀址Q原型模型,它是增量模型的另一種形式;它是在開(kāi)發(fā)真實(shí)系統(tǒng)之前,構(gòu)造一個(gè)原型,在該原型的基礎(chǔ)上,逐漸完畢整個(gè)系統(tǒng)的開(kāi)發(fā)工作??焖僭湍P偷牡谝徊绞墙ㄔ煲粋€(gè)快速原型,實(shí)現(xiàn)客戶或未來(lái)的用戶與系統(tǒng)的交互,用戶或客戶對(duì)原型進(jìn)行評(píng)價(jià),進(jìn)一步細(xì)化待開(kāi)發(fā)軟件的需求。通過(guò)逐步調(diào)整原型使其滿足客戶的規(guī)定,開(kāi)發(fā)人員可以擬定客戶的真正需求是什么;第二步則在第一步的基礎(chǔ)上開(kāi)發(fā)客戶滿意的軟件產(chǎn)品。優(yōu)點(diǎn):減少由于軟件需求不明確帶來(lái)的開(kāi)發(fā)風(fēng)險(xiǎn)。缺陷:所選用的開(kāi)發(fā)技術(shù)和工具不一定符合主流的發(fā)展;快速建立起來(lái)的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改也許會(huì)導(dǎo)致產(chǎn)品質(zhì)量低下。螺旋模型螺旋模型將瀑布模型和增量模型結(jié)合起來(lái),并加入了風(fēng)險(xiǎn)分析,重要分為四個(gè)工作環(huán)節(jié):(1)制定計(jì)劃:擬定軟件目的,選定實(shí)行方案,弄清項(xiàng)目開(kāi)發(fā)的限制條件;(2)風(fēng)險(xiǎn)分析:分析評(píng)估所選方案,考慮如何辨認(rèn)和消除風(fēng)險(xiǎn);(3)實(shí)行工程:實(shí)行軟件開(kāi)發(fā)和驗(yàn)證;(4)客戶評(píng)估:評(píng)價(jià)開(kāi)發(fā)工作,提出修正建議,制定下一步計(jì)劃。優(yōu)點(diǎn):1)設(shè)計(jì)上的靈活性,可以在項(xiàng)目的各個(gè)階段進(jìn)行變更。2)以小的分段來(lái)構(gòu)建大型系統(tǒng),使成本計(jì)算變得簡(jiǎn)樸容易。3)客戶始終參與每個(gè)階段的開(kāi)發(fā),保證了項(xiàng)目不偏離對(duì)的方向以及項(xiàng)目的可控性。4)隨著項(xiàng)目推動(dòng),客戶始終掌握項(xiàng)目的最新信息,從而他或她可以和管理層有效地交互。5)客戶認(rèn)可這種公司內(nèi)部的開(kāi)發(fā)方式帶來(lái)的良好的溝通和高質(zhì)量的產(chǎn)品缺陷:1)采用螺旋模型需要具有相稱豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),在風(fēng)險(xiǎn)較大的項(xiàng)目開(kāi)發(fā)中,假如未可以及時(shí)標(biāo)記風(fēng)險(xiǎn),勢(shì)必導(dǎo)致重大損失。2)過(guò)多的迭代次數(shù)會(huì)增長(zhǎng)開(kāi)發(fā)成本,延遲提交時(shí)間。噴泉模型噴泉模型是一種以用戶需求為動(dòng)力,以對(duì)象為驅(qū)動(dòng)的模型,重要用于描述面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。優(yōu)點(diǎn):該模型的各個(gè)階段沒(méi)有明顯的界線,開(kāi)發(fā)人員可以同步進(jìn)行開(kāi)發(fā)。其優(yōu)點(diǎn)是可以提高軟件項(xiàng)目開(kāi)發(fā)效率,節(jié)省開(kāi)發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。缺陷:由于噴泉模型在各個(gè)開(kāi)發(fā)階段是重疊的,因此在開(kāi)發(fā)過(guò)程中需要大量的開(kāi)發(fā)人員,因此不利于項(xiàng)目的管理。此外這種模型規(guī)定嚴(yán)格管理文檔,使得審核的難度加大,特別是面對(duì)也許隨時(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)禁地;過(guò)高地;過(guò)度地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ì)劃表;一覽表[過(guò)去式scheduled過(guò)去分詞scheduled
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度生態(tài)園林除草項(xiàng)目合同4篇
- 二零二五年度美甲店品牌形象與國(guó)際市場(chǎng)拓展合同4篇
- 2025年度房地產(chǎn)預(yù)售合同擔(dān)保執(zhí)行標(biāo)準(zhǔn)4篇
- 2025年度云計(jì)算解決方案提供商服務(wù)合同4篇
- 2025年度綠色出行產(chǎn)品銷售與回購(gòu)合同范本4篇
- 二零二五年度民營(yíng)企業(yè)出納崗位勞動(dòng)合同范本(含加班費(fèi)規(guī)定)4篇
- 二零二四年同安區(qū)二手房買賣合同房屋質(zhì)量保證協(xié)議3篇
- 2024音視頻項(xiàng)目定制化制作與市場(chǎng)推廣合同3篇
- 2025年度畜牧業(yè)養(yǎng)殖廢棄物資源化利用示范項(xiàng)目合同4篇
- 二零二五年度大豆種植技術(shù)培訓(xùn)與推廣合同8篇
- 2024年高純氮化鋁粉體項(xiàng)目可行性分析報(bào)告
- 安檢人員培訓(xùn)
- 危險(xiǎn)性較大分部分項(xiàng)工程及施工現(xiàn)場(chǎng)易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會(huì)四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識(shí)》備考題庫(kù)(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測(cè)卷(一)試題和答案
- 2025四川中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營(yíng)銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國(guó)蛋糕行業(yè)市場(chǎng)規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長(zhǎng)年底述職報(bào)告
評(píng)論
0/150
提交評(píng)論