考過了,以下是結(jié)合課本和刷軟考通的題留下的筆記,有需要的自取
同志們加油?。?!
如何保持?jǐn)?shù)據(jù)流圖平衡:父圖與子圖要在數(shù)據(jù)流的數(shù)量與流向上保持一致
流水線執(zhí)行時間 = 一條指令流水線所需要耗費的時間 + (指令條數(shù) - 1)* 一條流水線中最耗時的步驟時間
吞吐率 = 指令條數(shù)/流水線時間
編譯程序產(chǎn)生目標(biāo)程序不參與用戶程序的運行控制;解釋程序不產(chǎn)生目標(biāo)程序,參與控制
常用的中間代碼表達(dá)式有語法樹、后綴式、三地址碼
計算機系統(tǒng)的層次結(jié)構(gòu): 最終用戶->應(yīng)用軟件->系統(tǒng)軟件->操作系統(tǒng)->計算機硬件
主要的冗余技術(shù)有結(jié)構(gòu)冗余(硬件冗余和軟件冗余)、信息冗余(海明碼、crc校驗)、時間冗余和冗余附加
冗余附加技術(shù)包括:冗余備份程序的存儲及調(diào)用,實現(xiàn)錯誤檢測和錯誤恢復(fù)的程序,實現(xiàn)容錯軟件所需的固化程序。
C編寫程序 經(jīng)過預(yù)處理->編譯->匯編->鏈接 后形成可執(zhí)行程序
通過在出口防火墻配置 ACL(訪問控制列表)功能可以阻止外部未授權(quán)用戶訪問內(nèi)部網(wǎng)絡(luò)
Theo Mandel界面設(shè)計的黃金原則:用戶操縱控制;減少用戶記憶負(fù)擔(dān);保持界面一致
無效IP地址(169.254.X.X Windows和0.0.0.0 Linux)
GRANT INSERT ON TABLE Students TO USER WITH GRANT OPTION (將Students表的插入權(quán)限賦予USER,指定WITH GRANT OPTION獲得權(quán)限的用戶可以將該權(quán)限賦予其他用戶)
數(shù)據(jù)庫中,視圖是一個虛擬表,是從一個或多個表或視圖中導(dǎo)出的表
數(shù)據(jù)庫容災(zāi)屬于系統(tǒng)安全和應(yīng)用安全
總線復(fù)用可以減少總線中信號線的數(shù)量
計算機在一個指令周期中,為從內(nèi)存讀取指令操作碼,首先將程序計數(shù)器的內(nèi)容送到地址總線上。
中斷向量表用來保存各中斷源的中斷服務(wù)程序入口地址
相連存儲器按內(nèi)容訪問
軟件可靠性指的是一個系統(tǒng)對于給定的時間間隔內(nèi)、在給定條件下無失效運作的概率。
全相聯(lián)地址映射:主存的任意一塊可以映射到Cache中的任意一塊;直接相連:主存中的塊只能映射到cache特定的塊
面向?qū)ο蠼r業(yè)務(wù)用例和參與者一起描述組織支持的業(yè)務(wù)過程
COCOMO II是一種成本估算模型,估算選擇有對象點、功能點和代碼行
嵌入式操作系統(tǒng)特點:1.微型化2.可定制3.實時性4.可靠性5.易移植性
語法分析根據(jù)參數(shù)語法樹的方向可分為
自底向上分析法(如算符優(yōu)先和LR分析法、移進(jìn)-歸約)
自頂向下分析法(如遞歸下降和預(yù)測分析法)
圖的遍歷指從圖中某一頂點出發(fā)(任意一個頂點都可以作為訪問的起始頂點),按照某種遍歷方法,對圖中所有的頂點訪問一次且只訪問一次。
圖的深度優(yōu)先遍歷(DFS)需要借助棧來遍歷(遞歸)
圖的廣度優(yōu)先搜索(BFS)需要借助到隊列來遍歷
數(shù)據(jù)庫數(shù)據(jù)物理獨立性是指內(nèi)模式發(fā)生變化,只需要調(diào)整模式與內(nèi)模式之間的映像,而不用修改應(yīng)用程序;
邏輯獨立性是指模式發(fā)生變化,只需要調(diào)整外模式與模式之間的映像,而不用修改應(yīng)用程序。
需求分析確定軟件要完成的功能及非功能性要求;
概要設(shè)計將需求轉(zhuǎn)化為軟件的模塊劃分,確定模塊之間的調(diào)用關(guān)系;
詳細(xì)設(shè)計將模塊進(jìn)行細(xì)化,得到詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法;
編碼根據(jù)詳細(xì)設(shè)計進(jìn)行代碼的編寫,得到可以運行的軟件,并進(jìn)行單元測試。
程序的三種基本控制結(jié)構(gòu)是順序、選擇和重復(fù)
面向?qū)ο蟮拈_發(fā)方法有Booch、Coad、OMT方法;Jackson方法是面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法
Lisp 人工智能第一個函數(shù)式程序設(shè)計語言
對稀疏矩陣的壓縮方法有三種:1.三元組順序表 2.行邏輯連接的順序表 3.十字鏈表
軟件許可使用一般有獨占許可使用(軟件著作權(quán)本人也不能使用該軟件);獨家許可使用(本人可用);普通許可使用(可授予第三方,可本人使用)
事物具有原子性、一致性、隔離性、持久性
1.原子性(Atomicity) :事務(wù)是原子的,要么做,要么都不做。
2.一致性(Consistency) : 事務(wù)執(zhí)行的結(jié)果必須保證數(shù)據(jù)庫從一個一致性狀態(tài)變到另-個一致性狀態(tài)。
3.隔離性(Isolation) :事務(wù)相互隔離。當(dāng)多個事務(wù)并發(fā)執(zhí)行時,任一事務(wù)的更新操作直到其成功提交的整個過程,對其它事物都是不可見的。
4.持久性(Durability) :一旦事務(wù)成功提交,即使數(shù)據(jù)庫崩潰,其對數(shù)據(jù)庫的更新操作也永久有效。
通常下述三種方式使用類圖
1.對系統(tǒng)的詞匯建模
2.對簡單的協(xié)作建模
3.對邏輯數(shù)據(jù)庫模式建模
UML類圖中類與類之間的關(guān)系有五種:依賴、關(guān)聯(lián)、聚合、組合與繼承。
依賴是幾種關(guān)系中最弱的一種關(guān)系,如使用類庫。
聚合與組合都表示了整體和部分的關(guān)系。組合的程度比聚合高,當(dāng)整體對象消失時,部分對象也隨之消失,則屬于組合關(guān)系;
當(dāng)整體對象消失而部分對象依然可以存在并繼續(xù)被使用時,則屬于聚合關(guān)系。
UML的靜態(tài)圖:用例圖、類圖、對象圖、構(gòu)建圖、部署圖
動態(tài)圖:狀態(tài)圖、序列圖、活動圖、協(xié)作圖
UML的詞匯表包含三種構(gòu)造塊:事物、關(guān)系和圖。事物是對模型中最具有代表性的成分的抽象;關(guān)系把事物結(jié)合在一起;圖聚集了相關(guān)的事物。
UML中關(guān)系包括4種:依賴、關(guān)聯(lián)、泛化和實現(xiàn)。
1.依賴(Dependency) :一個事物(獨立事物)發(fā)生變化會影響另一個事物(依賴事物)的語義
2.關(guān)聯(lián)(Association) 是一種結(jié)構(gòu)關(guān)系,它描述了一組鏈,鏈?zhǔn)菍ο笾g的連接。一組鏈兩個類之間可以有多個有不同角色標(biāo)識的關(guān)聯(lián)
3.泛化(Generalization) 是一種特殊/一般關(guān)系,特殊元素(子元素)的對象可替代一般元素(父元素)的對象,用這種方法,子元素共享了父元素的結(jié)構(gòu)和行為。
4.實現(xiàn)(Realization) 是類元之間的語義關(guān)系,其中一個類元指定了由另一個類元保證執(zhí)行的契約。
著作權(quán)中的署名權(quán)、修改權(quán)、保護(hù)作品完整權(quán)的保護(hù)期不受限制
采用面向?qū)ο蟮能浖_發(fā),通常有面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計、面向?qū)ο髮崿F(xiàn)。
面向?qū)ο蠓治鍪菫榱双@得對應(yīng)用問題的理解,其主要任務(wù)是抽取和整理用戶需求并建立問題域精確模型。(包括5個活動:認(rèn)定對象、組織對象、描述對象的相互作用、定義對象的操作和定義對象的內(nèi)部信息)
面向?qū)ο笤O(shè)計是采用協(xié)作的對象、對象的屬性和方法解決軟件方案的一種方式,強調(diào)的是定義軟件對象和這些軟件對象如何協(xié)作來滿足需求。
面向?qū)ο髮崿F(xiàn)主要強調(diào)采用面向?qū)ο蟪绦蛟O(shè)計語言實現(xiàn)系統(tǒng)。
其中面向?qū)ο蠓治鲋饕獜娬{(diào)理解問題是什么,面向?qū)ο笤O(shè)計側(cè)重于問題的解決方案,并且需要考慮實現(xiàn)中的細(xì)節(jié)問題
一個類是一組對象的抽象定義
設(shè)計模式(按目的分為創(chuàng)建型、結(jié)構(gòu)型、行為型三大類)
創(chuàng)建型模式,創(chuàng)建對象
?抽象工廠模式(Abstract Factory)提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類
?建造者模式(Builder)將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示
?工廠方法模式(Factory Method)定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪個類。Factory Method使一個類的實例化延遲到其子類
?原型模式(Prototype)它使用原型實例來指定創(chuàng)建對象的種類,并且通過復(fù)制這些原型來創(chuàng)建新的對象。Cloneable
?單例模式(Singleton)
結(jié)構(gòu)型模式,處理類或?qū)ο蟮慕M合
?適配器模式(Adapter)讓原本由于接口不兼容而不能一起工作的類可以一起工作。適配器充當(dāng)了兩個不同接口之間的橋梁。
?橋接模式(Bridge) 將抽象部分與其實現(xiàn)部分分離,使它們可以獨立變化
?組合模式(Composite) 想表示對象的部分-整體層次結(jié)構(gòu)
?裝飾模式(Decorator)它允許在不改變對象結(jié)構(gòu)的情況下動態(tài)地給對象添加新的職責(zé)。
?外觀模式(Facade)定義一個高層接口,讓子系統(tǒng)更容易使用。這種模式通過提供一個簡單的接口來隱藏一個子系統(tǒng)的復(fù)雜性
?享元模式(Flyweight)它通過共享技術(shù)來盡可能地復(fù)用已存在的相似對象,以此來減少創(chuàng)建新對象所需的資源消耗。
?代理模式(Proxy)它給某一個對象提供一個代理,并由代理對象控制對原對象的訪問。
行為型模式,描述對類或?qū)ο笤鯓咏换ズ驮鯓臃峙渎氊?zé)
?職責(zé)鏈模式(Chain of Responsibility) ,直到其中一個處理者處理它為止。這種模式通過將請求的發(fā)送者和接收者解耦,使得請求的處理過程可以動態(tài)決定。
?命令模式(Command)它把請求封裝為一個對象,從而使你可用不同的請求來參數(shù)化客戶端。
?解釋器模式(Interpreter)它定義了一個語言的文法,并建立一個解釋器來解釋該語言中的句子。
?迭代器模式(Iterator)它提供了一種方法來訪問一個聚合對象(如列表、集合等)中的各個元素,而無需暴露該對象的內(nèi)部表示。
?中介者模式(Mediator) 通過一個中介對象實現(xiàn)對象間的通信,簡化了對象之間的交互,使得各個對象之間不需要直接相互通信,而是通過中介者進(jìn)行通信,從而減少了對象間的耦合
?備忘錄模式(Memento)它允許在不破壞封裝性的前提下捕獲一個對象的內(nèi)部狀態(tài),并在以后恢復(fù)這個對象之前的狀態(tài)
?觀察者模式(Observer) 一對多,一個狀態(tài)改變通知所有訂閱的對象
?狀態(tài)模式(State) 允許一個對象在內(nèi)部狀態(tài)改變時改變它的行為(如紅綠燈每種狀態(tài)有不同的行為)
?策略模式(Strategy) 這種模式定義了一系列算法,并將每一個算法封裝起來,使它們可以互相替換。策略模式讓算法的變化不會影響到使用算法的客戶端。
?模板方法模式(Template Method) 定義了一個操作中的算法骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。
?訪問者模式(Visitor)它允許你在不改變類的情況下向一組已經(jīng)存在的類方法中增加新的行為
瀑布模型 的優(yōu)點是,容易理解,管理成本低; 需求明確支持大型項目。不足:對于項目風(fēng)險的控制能力較弱,可能導(dǎo)致延期超預(yù)算
增量模型 作為瀑布模型的一個變體,具有瀑布模型的所有優(yōu)點。此外,它還有以下優(yōu)點:第一個可交付版本所需要的成本和時間很少;
需求不清晰且規(guī)模不太大時采用原型方法最合適,對數(shù)據(jù)處理領(lǐng)域的問題,若系統(tǒng)規(guī)模不大且不太復(fù)雜,需求變化也不大用結(jié)構(gòu)化開發(fā)方法
典型的演化模型有原型模型和螺旋模型
1.原型模型比較適合于用戶需求不清、需求經(jīng)常變化的情況。當(dāng)系統(tǒng)規(guī)模不是很大也不太復(fù)雜時,采用該方法比較好。
2.螺旋模型強調(diào)風(fēng)險分析,使得開發(fā)人員和用戶對每個演化層出現(xiàn)的風(fēng)險有所了解,從而做出應(yīng)有的反應(yīng)。因此,該模型特別適用于龐大、復(fù)雜并且具有高風(fēng)險的系統(tǒng)。支持用戶需求的動態(tài)變化
對于復(fù)雜的大型軟件,開發(fā)一個原型往往達(dá)不到要求。螺旋模型將瀑布模型和演化模型結(jié)合起來,加入了兩種模型均忽略的風(fēng)險分析,彌補了這兩種模型的不足。
螺旋模型將開發(fā)過程分為幾個螺旋周期,每個螺旋周期大致和瀑布模型相符合,每個螺旋周期分為如下4個工作步驟。
(1)制訂計劃。確定軟件的目標(biāo),選定實施方案,明確項目開發(fā)的限制條件。
(2)風(fēng)險分析。分析所選的方案,識別風(fēng)險,消除風(fēng)險。
(3)實施工程。實施軟件開發(fā),驗證階段性產(chǎn)品。
(4)用戶評估。評價開發(fā)工作,提出修正建議,建立下一個周期的開發(fā)計劃。
噴泉模型 以用戶的需求為動力,以對象作為驅(qū)動的模型,適用于面向?qū)ο蟮拈_發(fā)方法
它克服了瀑布模型不支持軟件重用和多項開發(fā)活動集成的局限性。噴泉模型使開發(fā)過程具有迭代性和無間隙性。
迭代意味著模型中的開發(fā)活動常常需要重復(fù)多次,在迭代過程中不斷地完善軟件系統(tǒng)。
無間隙是指在開發(fā)活動(如分析、設(shè)計、編碼)之間不存在明顯的邊界,也就是說,它不像瀑布模型那樣,在需求分
析活動結(jié)束后才開始設(shè)計活動,在設(shè)計活動結(jié)束后才開始編碼活動,而是允許各開發(fā)活動交叉、迭代地進(jìn)行。
噴泉模型的各個階段沒有明顯的界線,開發(fā)人員可以同步進(jìn)行其優(yōu)點是可以提高軟件項目的開發(fā)效率,節(jié)省開發(fā)時間。
由于噴泉模型在各個開發(fā)階段是重疊的,在開發(fā)過程中需要大量的開發(fā)人員不利于項目的管理。此外,這種模型要求嚴(yán)格管理文檔,使得審核的難度加大。
基于構(gòu)件的開發(fā)模型 是指利用預(yù)先包裝的構(gòu)件來構(gòu)造應(yīng)用系統(tǒng)。構(gòu)件可以是組織內(nèi)部開發(fā)的構(gòu)件,也可以是商品化成品軟件構(gòu)件。
基于構(gòu)件的開發(fā)模型具有許多螺旋模型的特點,它本質(zhì)上是演化模型,需要以迭代方式構(gòu)建軟件。其不同之處在于,基于構(gòu)件的開發(fā)模型采用預(yù)先打包的軟件構(gòu)件開發(fā)應(yīng)用系統(tǒng)。
形式化方法模型 是建立在嚴(yán)格數(shù)學(xué)基礎(chǔ)上的一種軟件開發(fā)方法,其主要活動是生成計算機軟件形式化的數(shù)學(xué)規(guī)格說明。
統(tǒng)一過程模型是一種“用例和風(fēng)險驅(qū)動,以架構(gòu)為中心,迭代并且增量”的開發(fā)過程,由UML方法和工具支持。
4個技術(shù)階段的主要里程碑:
初始階段:生命周期目標(biāo)
精化階段:生命周期架構(gòu)
構(gòu)建階段:初始運作功能
移交階段:產(chǎn)品發(fā)布
敏捷方法:敏捷開發(fā)的總體目標(biāo)是通過“盡可能早地、持續(xù)地對有價值的軟件的交付”使客戶滿意。
1.極限編程(XP) 是一種輕量級(敏捷)、高效、低風(fēng)險、柔性、可預(yù)測的、科學(xué)的軟件開發(fā)方式。它由價值觀、原則、實踐和行為4個部分組成,彼此相互依賴、關(guān)聯(lián),并通過行為貫穿于整個生存周期。
4 大價值觀:溝通、簡單性、反饋和勇氣。
5個原則:快速反饋、簡單性假設(shè)、逐步修改、提倡更改和優(yōu)質(zhì)工作。
12個最佳實踐:計劃游戲(快速制定計劃、隨著細(xì)節(jié)的不斷變化而完善)、小型發(fā)布
(系統(tǒng)的設(shè)計要能夠盡可能早地交付)、隱喻(找到合適的比喻傳達(dá)信息)、簡單設(shè)計
(只處理當(dāng)前的需求,使設(shè)計保持簡單)、測試先行(先寫測試代碼,然后再編寫程序)、
重構(gòu)(重新審視需求和設(shè)計,重新明確地描述它們以符合新的和現(xiàn)有的需求)、結(jié)隊
編程、集體代碼所有制、持續(xù)集成(可以按日甚至按小時為客戶提供可運行的版本)、
每周工作 40個小時、現(xiàn)場客戶和編碼標(biāo)準(zhǔn)。
2.水晶法(Crystal)
水晶法認(rèn)為每一個不同的項目都需要一套不同的策略、約定和方法論,認(rèn)為人對軟件質(zhì)量
有重要的影響,因此隨著項目質(zhì)量和開發(fā)人員素質(zhì)的提高,項目和過程的質(zhì)量也隨之提高。通
過更好地交流和經(jīng)常性的交付,軟件生產(chǎn)力得到提高,
3.并列爭求法(Scrum)
并列爭求法使用迭代的方法,其中,把每30天一次的迭代稱為一個“沖刺”,并按需求的
優(yōu)先級別來實現(xiàn)產(chǎn)品。多個自組織和自治的小組并行地遞增實現(xiàn)產(chǎn)品。協(xié)調(diào)是通過簡短的日常
情況會議來進(jìn)行,就像橄欖球中的“并列爭球”
4.自適應(yīng)軟件開發(fā)(ASD)
ASD有6個基本的原則:有一個使命作為指導(dǎo);特征被視為客戶價值的關(guān)鍵點;過程中的
等待是很重要的,因此“重做”與“做”同樣關(guān)鍵;變化不被視為改正,而是被視為對軟件開
發(fā)實際情況的調(diào)整;確定的交付時間迫使開發(fā)人員認(rèn)真考慮每一個生產(chǎn)的版本的關(guān)鍵需求:風(fēng)
險也包含其中。
5.敏捷統(tǒng)一過程(AUP)
敏捷統(tǒng)一過程(Agile Unifed Process,AUP)采用“在大型上連續(xù)”以及在“在小型上迭
代”的原理來構(gòu)建軟件系統(tǒng)。采用經(jīng)典的UP階段性活動(初始、精化、構(gòu)建和轉(zhuǎn)換),提供了
一系列活動,能夠使團隊為軟件項目構(gòu)想出一個全面的過程流。在每個活動里,一個團隊迭代
使用敏捷,并將有意義的軟件增量盡可能快地交付給最終用戶。每個AUP選代執(zhí)行以下活動:
建模。建立對商業(yè)和問題域的模型表述,這些模型“足夠好”即可,以便團隊繼續(xù)前進(jìn)。
實現(xiàn)。將模型翻譯成源代碼。
測試。像 XP一樣,團隊設(shè)計和執(zhí)行一系列的測試來發(fā)現(xiàn)錯誤以保證源代碼滿足需求。
部署。對軟件增量的交付以及獲取最終用戶的反饋。
配置及項目管理。著眼于變更管理、風(fēng)險管理以及對團隊的任一制品的控制。項目管理追蹤和控制開發(fā)團隊的工作進(jìn)展并協(xié)調(diào)團隊活動。
環(huán)境管理。協(xié)調(diào)標(biāo)準(zhǔn)、工具以及適用于開發(fā)團隊的支持技術(shù)等過程基礎(chǔ)設(shè)施。
表示媒體:為研究構(gòu)造出來的,有各種編碼方式,如文本編碼圖像編碼聲音編碼等
表現(xiàn)媒體:指進(jìn)行信息輸入和輸出的媒體,如鍵盤、掃描儀、話筒、攝像機、顯示器等
感覺媒體:直接作用于人的感覺器官;如引起聽覺反應(yīng)的聲音、引起視覺反應(yīng)的圖像、文本
計算機數(shù)字音樂合成技術(shù)主要有FM(頻率調(diào)制,最有效的合成技術(shù))和Wave Table(波形表合成,真實的合成技術(shù),音質(zhì)更好)
FM方式的音樂合成器中,改變頻率可以改變音樂的音調(diào),改變幅度可以改變音高
語音信號頻率范圍300Hz-3.4kHz,要保持話音抽樣后再恢復(fù)時不失真,需使用2倍的最高頻率,即數(shù)字語音采樣頻率8kHz
軟件維護(hù)工具
1.版本控制工具;
2.文檔分析工具;
3.開發(fā)信息庫工具
4.逆向工程工具;
5.再工程工具;
6.配置管理支持工具。注:配置管理和配置管理支持工具不是一個概念
E-R圖沖突(①屬性沖突②命名沖突③結(jié)構(gòu)沖突)
屬性沖突,即屬性值的類型、取值范圍或取值集合不同。
命名沖突,同名異義,即不同意義的對象在不同的局部應(yīng)用中具有相同的名字;異名同義(一義多名),即同一意義的對象在不同的局部應(yīng)用中具有不同的名字。
結(jié)構(gòu)沖突:
同一對象在不同應(yīng)用中具有不同的抽象。(如職工在A中是實體,在B中是屬性)
同一實體在不同子系統(tǒng)的E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同。
實體間的聯(lián)系在不同的E-R圖中為不同的類型。(E1與E2在A中一對一,在B中一對多)
| 排序方法 | 時間復(fù)雜度 | 輔助空間 | 穩(wěn)定性 |
|---|---|---|---|
| 直接插入 | O(n2) | O(1) | 穩(wěn)定 |
| 簡單選擇 | O(n2) | O(1) | 不穩(wěn)定 |
| 冒泡排序 | O(n2) | O(1) | 穩(wěn)定 |
| 希爾排序 | O(n^1.3) | O(1) | 不穩(wěn)定 |
| 快速排序 | O(nlogn) | O(logn) | 不穩(wěn)定 |
| 堆排序 | O(nlogn) | O(1) | 不穩(wěn)定 |
| 歸并排序 | O(nlogn) | O(n) | 穩(wěn)定 |
| 基數(shù)排序 | O(d(n+rd)) | O(rd) | 穩(wěn)定 |
歸并排序(Merge Sort)是一種高效的、基于比較的排序算法,它采用分治法(Divide and Conquer)的思想。歸并排序?qū)?shù)組分成兩半,遞歸地對每一半進(jìn)行排序,然后將兩個有序的部分合并成一個整體。
最差的情況下時間復(fù)雜度nlogn,快排冒泡n^2
二分查找(Binary Search),也稱為折半查找或?qū)?shù)查找,是一種在有序數(shù)組中查找某一特定元素的搜索算法。二分查找的時間復(fù)雜度為 O(logn).
深度優(yōu)先遍歷圖的過程實質(zhì)上是對某個頂點查找其鄰接點的過程,其耗費的時間取決于所采用的存儲結(jié)構(gòu)。
當(dāng)圖用鄰接矩陣表示時,查找所有頂點的鄰接點所需時間為 O(n^2)。若以鄰接表作為圖的存儲結(jié)構(gòu),則需要O(e)的時間復(fù)雜度查找所有頂點的鄰接點。
因此,當(dāng)以鄰接表作為存儲結(jié)構(gòu)時,深度優(yōu)先搜索遍歷圖的時間復(fù)雜度為O(n+e)。
軟件維護(hù)的內(nèi)容
1.正確性維護(hù),為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯誤的過程就稱為改正性維護(hù)
2.適應(yīng)性維護(hù),外部環(huán)境變化被動修改,在使用過程中,外部環(huán)境(新的硬、軟件配置)、數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)存儲介質(zhì))可能發(fā)生變化。為使軟件適應(yīng)這種變化,而去修改軟件的過程就稱為適應(yīng)性維護(hù)。
3.完善性維護(hù),主動優(yōu)化,在軟件的使用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性
4.預(yù)防性維護(hù),這是指預(yù)先提高軟件的可維護(hù)性、可靠性等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。
黑盒測試:也稱為功能測試,在完全不考慮軟件的內(nèi)部結(jié)構(gòu)和特性的情況下來測試軟件的外部特性。
常用的黑盒測試技術(shù)包括等價類劃分、邊界值分析、錯誤猜測和因果圖的報告。
白盒測試也稱為結(jié)構(gòu)測試,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯來設(shè)計測試用例,對程序的執(zhí)行路徑和過程進(jìn)行測試,檢查是否滿足設(shè)計的需要。
常用的白盒測試技術(shù)包括邏輯覆蓋和基本路徑測試
單元測試:又稱為模塊測試,是針對軟件設(shè)計的最小單元(程序模塊)進(jìn)行正確性檢驗的測試。
全局?jǐn)?shù)據(jù)結(jié)構(gòu)不是單元測試主要檢查的內(nèi)容。
單元測試主要測試以下幾個方面:模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、執(zhí)行路徑、錯誤處理和邊界。
系統(tǒng)的可維護(hù)性的評價指標(biāo)包括:可理解性、可測試性、可修改性。
可理解性:指別人能理解系統(tǒng)的結(jié)構(gòu)、界面、功能和內(nèi)部過程的難易程度。模塊化、詳細(xì)設(shè)計文檔、結(jié)構(gòu)化設(shè)計和良好的高級程序設(shè)計語言等,都有助于提高可理解性。
可測試性:診斷和測試的容易程度取決于易理解的程度。
可修改性:診斷和測試的容易程度與系統(tǒng)設(shè)計所制定的設(shè)計原則有直接關(guān)系。模塊的耦合、內(nèi)聚、作用范圍與控制范圍的關(guān)系等,都對可修改性有影響。
自頂向下集成優(yōu)點:較早地驗證了主要控制和判斷點;按深度優(yōu)先可以首先實現(xiàn)和驗證一個完整的軟件功能;功能較早證實,帶來信心;只需一個驅(qū)動,減少驅(qū)動器開發(fā)的費用;支持故障隔離。
缺點:柱的開發(fā)量大;底層驗證被推遲;底層組件測試不充分。適應(yīng)于產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定;高層接口變化較小;底層接口未定義或經(jīng)??赡鼙恍薷?產(chǎn)品控制組件具有較大的技術(shù)風(fēng)險,需要盡早被驗證;希望盡早能看到產(chǎn)品的系統(tǒng)功能行為。
自底向上集成優(yōu)點:對底層組件行為較早驗證;工作最初可以并行集成,比自頂向下效率高;減少了樁的工作量;支持故障隔離。
缺點:驅(qū)動的開發(fā)工作量大;對高層的驗證被推遲,設(shè)計上的錯誤不能被及時發(fā)現(xiàn)。適應(yīng)于底層接口比較穩(wěn)定;高層接口變化比較頻繁;底層組件較早被完成。
軟件功能模塊:
1.傳入模塊:取得數(shù)據(jù),處理后傳給其它模塊
2.傳出模塊:輸出數(shù)據(jù),可輸出到其它模塊或系統(tǒng)的外部
3.變換模塊:處理數(shù)據(jù)轉(zhuǎn)化成其它形式,再將加工后的數(shù)據(jù)返回給調(diào)用模塊
4.協(xié)調(diào)模塊:一般不對數(shù)據(jù)進(jìn)行加工,主要通過調(diào)用、協(xié)調(diào)和管理其它模塊來完成功能
模塊間耦合的高低取決于:模塊間接口的復(fù)雜性,模塊調(diào)用的方式以及傳遞的信息
無直接耦合:兩個模塊之間沒有直接的關(guān)系。耦合最弱,模塊獨立性最高
數(shù)據(jù)耦合:通過基本數(shù)據(jù)類型的參數(shù)傳遞數(shù)據(jù)
標(biāo)記耦合:一組模塊通過參數(shù)表傳遞信息(數(shù)據(jù)結(jié)構(gòu)、數(shù)組等)
控制耦合:一個模塊調(diào)用另一個模塊時,傳遞的是控制變量,被調(diào)用模塊通過該控制變量的值有選擇的執(zhí)行模塊內(nèi)的某一功能。
外部耦合:一組模塊都訪問同一全局簡單變量
公共耦合:一組模塊訪問同一數(shù)據(jù)環(huán)境,包括全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享通信區(qū)、內(nèi)存的公共覆蓋區(qū)
內(nèi)容耦合:耦合最高,一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù)
模塊內(nèi)聚是指模塊內(nèi)部各組成部分之間的關(guān)聯(lián)程度,它是衡量模塊內(nèi)部元素彼此間關(guān)聯(lián)緊密度的一個指標(biāo)。內(nèi)聚性越高,通常意味著模塊的設(shè)計越好,其功能越集中,獨立性越強。
下面是模塊內(nèi)聚的不同類型,按照從低到高的順序排列:
1.偶然內(nèi)聚 模塊內(nèi)的各處理元素之間沒有任何聯(lián)系,僅僅是物理上放在一起。
2.邏輯內(nèi)聚 模塊執(zhí)行若干個邏輯上相似的功能,通過參數(shù)確定該模塊完成哪一個功能。
3.時間內(nèi)聚或稱瞬時內(nèi)聚 模塊內(nèi)的任務(wù)或動作必須在同一時間段內(nèi)執(zhí)行。
4.過程內(nèi)聚 模塊內(nèi)的處理元素是相關(guān)的,并且必須按照特定的順序執(zhí)行。
5.通信內(nèi)聚或稱信息內(nèi)聚 模塊內(nèi)的所有處理元素都作用于同一個輸入數(shù)據(jù)集,或者產(chǎn)生同一個輸出數(shù)據(jù)集。
6.順序內(nèi)聚 模塊內(nèi)的處理元素與同一功能密切相關(guān)于同一功能且必須順序執(zhí)行,前一個功能元素的輸出就是下一個功能元素的輸入。
7.功能內(nèi)聚或稱原子內(nèi)聚 模塊內(nèi)的所有處理元素共同完成一個功能,缺一不可,這是最高級別的內(nèi)聚。
進(jìn)度安排
1.Gantt甘特圖是一種簡單的水平條形圖。Gantt圖能清晰地描述每個任務(wù)從何時開始,到何時結(jié)束,任務(wù)的進(jìn)展情況以及各個任務(wù)之間的并行性。但是
它不能清晰的反映出各任務(wù)之間的依賴關(guān)系,難以確定整個項目的關(guān)鍵所在,也不能反映計劃中有潛力的部分。
2.PERT圖是一個有向圖,PERT圖不僅給出了每個任務(wù)的開始時間、結(jié)束時間和完成該任務(wù)所需的時間,還給出了任務(wù)之間的關(guān)系,即哪些任務(wù)完成后才
能開始另外一些任務(wù),以及如期完成整個工程的關(guān)鍵路徑。圖中的松弛時間則反映了完成某些任務(wù)時可以推遲其開始時間或延長其所需完成的時間,但是
PERT圖不能反映任務(wù)之間的并行關(guān)系。
PERT即計劃評審技術(shù),PERT圖可以清晰的表示各任務(wù)的開始時間和結(jié)束時間以及各任務(wù)之間的依賴關(guān)系,但無法很好的表示各任務(wù)之間的并行情況。
1.事件(Events)表示主要活動結(jié)束的那一點;
2.活動(Activities)表示從一個事件到另一個事件之間的過程;
3.松弛時間(slack time)不影響完工前提下可能被推遲完成的最大時間;
4.關(guān)鍵路線(Critical Path)是PERT網(wǎng)絡(luò)中花費時間最長的事件和活動的序列。
尋址方式
1.立即尋址,操作數(shù)就包含在指令中
2.直接尋址,操作數(shù)在內(nèi)存單元中,指令中直接給出操作數(shù)所在存儲單元的地址
3.寄存器尋址,操作數(shù)存放在寄存器中,指令中給出存放操作數(shù)的寄存器名
4.寄存器間接尋址,操作數(shù)存放在內(nèi)存中,其地址存放在某個寄存器中
5.間接尋址,指令中給出操作數(shù)地址的地址
6.相對尋址,指令地址碼給出的是一個偏移量,操作數(shù)地址等于本條指令的地址加上該偏移量
7.變址尋址,操作數(shù)地址等于變址寄存器的內(nèi)容加偏移量
DMA是一種硬件特性,允許某些硬件子系統(tǒng)在不經(jīng)過CPU的直接干預(yù)下,直接訪問系統(tǒng)內(nèi)存。
DMA傳送數(shù)據(jù)時,每傳送一個數(shù)據(jù)需要占用一個存儲周期
TCP、UDP傳輸層;IP、ICMP、IGMP、ARP、RARP網(wǎng)絡(luò)層
IGMP進(jìn)行組播組成員信息交互;RFB遠(yuǎn)程幀緩沖,遠(yuǎn)程訪問圖形用戶界面
ICMP網(wǎng)絡(luò)層協(xié)議,傳送有關(guān)通信問題的消息,如數(shù)據(jù)報不能到達(dá)目標(biāo)站,路由器緩存空間不足,路由器最短通路信息;ICMP報文封裝在IP數(shù)據(jù)報中傳送,不保證可靠的提交
PPP擴展認(rèn)證協(xié)議,認(rèn)證可選PAP(口令驗證協(xié)議,提供簡單的兩次握手);CHAP(質(zhì)詢握手認(rèn)證協(xié)議,使用三次握手的加密會話,更安全)
FTP文件傳輸服務(wù)基于TCP,應(yīng)用層,控制端口為21,上傳文件的數(shù)據(jù)端口20
ARP是網(wǎng)絡(luò)層協(xié)議,實現(xiàn)IP地址和MAC地址之間的變換
TCP/IP中建立可靠的連接在傳輸層完成
POP3 端口110,協(xié)議采用C/S模式通信,基于TCP連接,接收郵件
SMTP 簡單的郵件傳輸,TCP,25,MIME郵件擴展協(xié)議,PEM增強私密郵件保護(hù)協(xié)議
MIME擴展了電子郵件的標(biāo)準(zhǔn),使其支持非文本格式附件(二進(jìn)制、聲音、圖像等);S/MIME 安全的多用途互聯(lián)網(wǎng)郵件擴展協(xié)議
PGP 優(yōu)良保密協(xié)議,可用于郵件內(nèi)容加密
Telnet 遠(yuǎn)程登錄,應(yīng)用層,SSH可有效防止遠(yuǎn)程管理過程中信息泄露問題的安全協(xié)議
物理層設(shè)備,中繼器和集線器 (集線器,將局域網(wǎng)電纜收攏在一個盒子里,可收發(fā)數(shù)據(jù),可檢測發(fā)送沖突;中繼器信號放大)
數(shù)據(jù)鏈路層設(shè)備,網(wǎng)橋、交換機、網(wǎng)卡,多端口網(wǎng)橋等同于交換機
網(wǎng)絡(luò)層設(shè)備 三層交換機和路由器,識別ip地址,進(jìn)行數(shù)據(jù)包發(fā)送
應(yīng)用層設(shè)備 網(wǎng)關(guān),協(xié)議轉(zhuǎn)換
主動攻擊與被動攻擊
主動攻擊:主動攻擊包括拒絕服務(wù)攻擊(如SYN Flooding)、分布式拒絕服務(wù)( DDos )、信息篡改、資源使用、欺騙、偽裝、重放等攻擊方法。注意:如果題目提到IP地址欺騙、會話攔截也屬于主動攻擊
被動攻擊(截獲):流量分析、系統(tǒng)干涉、竊聽、嗅探、端口掃描 會話攔截?
入侵檢測技術(shù)包括專家系統(tǒng)、模型檢測、簡單匹配
病毒(具有隱蔽性、傳染性、潛伏性、觸發(fā)性和破壞性)
蠕蟲病毒:紅色代碼,愛蟲病毒,熊貓燒香,歡樂時光、Nimda病毒,愛麗茲病毒,震網(wǎng)
木馬程序,通過特定的程序來控制另外一臺計算機,黑客通過控制端(客戶端)控制服務(wù)端設(shè)備 如冰河、X臥底
Dos拒絕服務(wù)攻擊,通過占用內(nèi)存cpu處理時間或占用網(wǎng)絡(luò)連接導(dǎo)致正常服務(wù)無響應(yīng)。如SYN Flooding
宏(Macro)病毒與系統(tǒng)平臺無關(guān),主要針對文檔,如office相關(guān)軟件
加密方式對稱加密
1.對稱加密:共享密鑰加密
RC5的設(shè)計旨在提供良好的安全性同時保持計算效率,現(xiàn)在更推薦使用如AES這樣的現(xiàn)代加密算法。
AES (Advanced Encryption Standard):一種廣泛應(yīng)用的標(biāo)準(zhǔn)對稱加密算法,加密和解密使用同一密鑰,速度快,適合大量數(shù)據(jù)加密。
DES (Data Encryption Standard) 和 3DES (Triple DES):早期的對稱加密標(biāo)準(zhǔn),現(xiàn)在逐漸被AES取代,安全性相對較低。
對稱加密的特點在于加密和解密速度快,但是密鑰的管理和分發(fā)成為關(guān)鍵問題,因為雙方都需要知道同一密鑰才能進(jìn)行有效通信。
2.非對稱加密:公開密鑰加密,私鑰解密和簽名,公鑰加密和認(rèn)證
RSA:最著名的非對稱加密算法,有兩個密鑰——公鑰和私鑰,公鑰用于加密,私鑰用于解密;反之亦然,但私鑰加密的內(nèi)容只有公鑰能解密。RSA常用于身份驗證、數(shù)字簽名和密鑰交換等領(lǐng)域。
ECC (Elliptic Curve Cryptography):橢圓曲線加密算法,也是一種非對稱加密算法,相比RSA在相同的安全級別下所需密鑰長度更短,效率更高。
非對稱加密的優(yōu)勢在于解決了密鑰分發(fā)的問題,公鑰可以隨意分發(fā),私鑰則嚴(yán)格保密。缺點是計算復(fù)雜度較高,不適合處理大數(shù)據(jù)量加密。
3.哈希函數(shù):MD5是一種摘要算法,結(jié)果長度128位,MD5不可逆性-不支持解密;確定性-對于相同的輸入,MD5總是產(chǎn)生相同的散列值。主要用于數(shù)據(jù)完整性校驗、密碼存儲
數(shù)字簽名,通過CA的公鑰驗證CA的簽名確定證書的有效性
1.身份驗證
2.數(shù)據(jù)完整性
3.不可抵賴性
數(shù)據(jù)字典的條目:數(shù)據(jù)流,數(shù)據(jù)項,數(shù)據(jù)存儲,基本加工
結(jié)構(gòu)化方法的分析結(jié)果:一套分層的數(shù)據(jù)流圖、一本數(shù)據(jù)字典、一組小說明(也稱加工邏輯說明)、補充材料
模塊結(jié)構(gòu)圖包括:模塊、調(diào)用、數(shù)據(jù)、控制信息和轉(zhuǎn)接符。
軟件系統(tǒng)的可維護(hù)性指標(biāo):可理解性、可修改性、可測試性、穩(wěn)定性
結(jié)構(gòu)化涉及主要包括:
1.體系結(jié)構(gòu)設(shè)計:定義軟件的主要結(jié)構(gòu)元素及其關(guān)系
2.數(shù)據(jù)設(shè)計:基于實體聯(lián)系圖確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)及數(shù)據(jù)庫的表結(jié)構(gòu)
3.接口設(shè)計:描述用戶界面,軟件和其它硬件設(shè)備、其它軟件系統(tǒng)及使用人員的外部接口,以及各種構(gòu)件之間的內(nèi)部接口
4.過程設(shè)計:確定軟件各個組成部分內(nèi)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),并選定某種過程表達(dá)形式來描述各種算法
實體關(guān)系圖(ERD)是展示實體間關(guān)系的圖表,用于數(shù)據(jù)庫設(shè)計和需求分析,由實體、關(guān)系、屬性等組成
數(shù)據(jù)流圖(DFD)建模采用自頂向下逐層分解,從抽象到具體
設(shè)計階段接口設(shè)計組要依據(jù)需求分析階段的數(shù)據(jù)流圖,接口設(shè)計是描述軟件與外部環(huán)境之間的交互關(guān)系,軟件內(nèi)模塊間的調(diào)用關(guān)系
數(shù)據(jù)流圖是結(jié)構(gòu)化分析的一個重要模型,描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對數(shù)據(jù)流進(jìn)行變換的功能,用于功能建模。
數(shù)據(jù)流圖中有四個要素:
外部實體,也稱為數(shù)據(jù)源或數(shù)據(jù)匯點,表示要處理的數(shù)據(jù)的輸入來源或處理結(jié)果要送往何處,不屬于目標(biāo)系統(tǒng)的部分,通常為組織、部門、人、相關(guān)的軟件系統(tǒng)或者硬件設(shè)備;
數(shù)據(jù)流表示數(shù)據(jù)沿箭頭方向的流動;
加工是對數(shù)據(jù)對象的處理或變換;
數(shù)據(jù)存儲在數(shù)據(jù)流中起到保存數(shù)據(jù)的作用,可以是數(shù)據(jù)庫文件或者任何形式的數(shù)據(jù)組織。
根據(jù)上述定義和題干說明,讀者是外部實體,圖書和借書證是數(shù)據(jù)流,借閱是加工。
數(shù)據(jù)流圖(DFD)對基本加工的說明有三種描述方式:結(jié)構(gòu)化語言、判斷表(決策表)、判斷樹(決策樹)。
決策樹決策表適用于設(shè)計多個邏輯條件,能清楚的表示復(fù)雜條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系
加工邏輯描述的基本原則
1.對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明
2.基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流轉(zhuǎn)換為輸出數(shù)據(jù)流的加工規(guī)則
3.加工邏輯說明必須描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細(xì)節(jié)
4.加工邏輯說明中包含的信息應(yīng)該是充足的、完備的、有用的、無冗余的
模塊的作用范圍是指受該模塊內(nèi)一個判定影響的所有模塊的集合??刂品秶侵改K本身及其所有下屬模塊(直接或間接從屬于它的模塊)的集合
一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),判定所在的模塊應(yīng)和其影響的模塊在層次上盡量靠近
若不在控制范圍內(nèi),可以用 上移判點 或 下移受判斷影響的模塊,將它下移到判斷所在模塊的控制范圍內(nèi) 的方法改進(jìn)
倉庫風(fēng)格是一種軟件體系結(jié)構(gòu),其中包含一個數(shù)據(jù)倉庫和若干個其他構(gòu)件。
數(shù)據(jù)庫系統(tǒng)、超文本系統(tǒng)和黑板系統(tǒng)都屬于倉庫風(fēng)格。
n個頂點的無向圖,如果它是連通圖,則最少有n-1條邊。n個頂點的有向圖,如果它是強連通圖,則最少有n條邊
CMM 將組織的過程成熟度分為五個等級
初始級(Initial, Level 1):在這個級別,組織的過程特征是無序的,有時甚至是混亂的,偶爾會有好的過程特性,但這些特性在項目之間往往是不可重復(fù)的。
可重復(fù)級(Repeatable, Level 2):建立了基本的項目管理過程和實踐來跟蹤項目費用、進(jìn)度和功能特性
已定義級(Defined, Level 3):所有項目都采用根據(jù)實際情況修改后得到的標(biāo)準(zhǔn)軟件過程來開發(fā)和維護(hù)軟件。
已管理級(Managed, Level 4):收集軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量。對軟件過程和產(chǎn)品都有定量的理解與控制。
優(yōu)化級(Optimizing, Level 5):過程的量化反饋和先進(jìn)的新思想、新技術(shù)促使過程不斷改進(jìn)。
能力成熟度集成模型CMMI是CMM模型的最新版本,基于連續(xù)式表述的CMMI共有6個(0~5)能力等級,
0未完成級,目標(biāo)沒有被滿足
1已執(zhí)行級,產(chǎn)生可識別的輸入工作產(chǎn)品,關(guān)注特定目標(biāo)的完成
2.已管理級,過程制度化,針對單個過程實例的能力
3.已定義級,關(guān)注過程的標(biāo)準(zhǔn)化和部署
4.量化管理級,定量管理的過程制度化
5.優(yōu)化級,優(yōu)化過程制度化,過程很好的執(zhí)行且持續(xù)得到改進(jìn)
數(shù)據(jù)結(jié)構(gòu)模型:(非關(guān)系模型)層次模型、網(wǎng)狀模型;關(guān)系模型、面向?qū)ο竽P?br> 關(guān)系模型采用二維表格結(jié)構(gòu)表達(dá)實體類型及實體間的聯(lián)系
分布式數(shù)據(jù)庫系統(tǒng)
1.分片透明性:用戶只對全局關(guān)系進(jìn)行操作而不必考慮數(shù)據(jù)的分片(無需知道邏輯上的表怎么分塊存儲)
2.位置透明性:用戶應(yīng)當(dāng)了解分片情況,但不必了解片段的存儲場地(無需知道數(shù)據(jù)存放的物理位置)
3.邏輯透明,即局部數(shù)據(jù)模型透明性:用戶應(yīng)了解分片和其存儲位置,不必了解局部場地上使用的是何種數(shù)據(jù)模型
4.復(fù)制透明,無需知道數(shù)據(jù)復(fù)制到哪是怎么復(fù)制的
分布式數(shù)據(jù)庫可用性當(dāng)某一場地故障,系統(tǒng)可以使用其他副本而不至于使整個系統(tǒng)癱瘓
共享性,不同節(jié)點存儲的數(shù)據(jù)共享;自治性,每個節(jié)點對本地數(shù)據(jù)獨立管理;分布性,指在不同場地存儲。
數(shù)據(jù)庫,模式(實體如基本表,屬性,關(guān)系,約束),是數(shù)據(jù)庫中數(shù)據(jù)邏輯結(jié)構(gòu)的描述;
外模式(邏輯視圖即實體表的一部分或多個表的組合,訪問權(quán)限,簡化接口),是數(shù)據(jù)庫用戶視角下的數(shù)據(jù)視圖
內(nèi)模式(也稱存儲模式,物理存儲結(jié)構(gòu):如文件系統(tǒng)、分區(qū)、索引等。存取方法:如B樹、哈希索引等。存儲優(yōu)化:如緩沖池管理、事務(wù)日志等)
ipconfig 顯示ip、mac、網(wǎng)關(guān)地址等
tracert(Linux:traceroute) 是一個常用的網(wǎng)絡(luò)診斷工具,用于確定IP數(shù)據(jù)包訪問目標(biāo)所采取的路徑,若網(wǎng)絡(luò)不通,能定位到具體哪個節(jié)點不通
netstat 用于顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息
nslookup 查詢dns記錄
數(shù)據(jù)庫
1NF屬性值都是不可分的原子值
2NF 1NF+消除非主屬性對候選鍵的部分依賴
3NF 2NF+消除非主屬性對候選鍵的傳遞依賴
BCNF 3NF+消除主屬性對候選鍵的部分依賴(數(shù)據(jù)表只能有一個候選鍵或每個候選鍵都是單屬性,進(jìn)一步降低數(shù)據(jù)冗余性)
函數(shù)依賴
- Armstrong公理
(1)自反律(Reflexivity)
如果 Y?X?U,則X→Y在R上成立。即一組屬性函數(shù)決定它的所有子集。
(2)增廣律(Augmentation)
若X→Y在R上成立,且Z屬于U,則XZ→YZ在R上也成立。
(3)傳遞律(Transitivity)
若X→Y和Y→Z在R上成立,則X→Z在R上也成立。- Armstrong公理推論
(1)合并律(Union rule)
若X→Y和X→Z在R上成立,則X→YZ在R上也成立。
例如,在關(guān)系SCD中,SNo→(SN, Age),SNo→(Dept, MN), 則有SNo→(SN, Age, Dept, MN)。
(2)偽傳遞律(Pseudotransitivity rule)
若X→Y和YW→Z和在R上成立,則XW→Z在R上也成立。
(3)分解律(Decomposition rule)
若X→Y和Z?Y在R上成立,則X→Z在R上也成立。
(4)復(fù)合律
若X→Y和W→Z在R上成立, 則XW→YZ在R上也成立。
大數(shù)據(jù)的5V特點 大量、高速、多樣、價值、真實性
大數(shù)據(jù)的五個環(huán)節(jié)1.數(shù)據(jù)準(zhǔn)備2.存儲管理3.計算處理4.數(shù)據(jù)分析5.知識展現(xiàn)
大數(shù)據(jù)的關(guān)鍵技術(shù):HDFS(提供高吞吐量的數(shù)據(jù)訪問);HBase(非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫);MapReduce(一種編程模型);Chukwa(數(shù)據(jù)收集系統(tǒng))
云計算服務(wù)類型包括IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺即服務(wù))、SaaS(軟件即服務(wù))。
云計算技術(shù)架構(gòu)有四層,分別為設(shè)施層、資源層、資源控制層、服務(wù)層。
物聯(lián)網(wǎng)架構(gòu)(1)感知層:負(fù)責(zé)信息采集和物物之間的信息傳輸。(2)網(wǎng)絡(luò)層:是物聯(lián)網(wǎng)三層中標(biāo)準(zhǔn)化程度最高、產(chǎn)業(yè)化能力最強、最成熟的部分。(3)應(yīng)用層:實現(xiàn)應(yīng)用。
區(qū)塊鏈(Blockchain)是分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法等計算機技術(shù)的新型應(yīng)用模式。
信息化的層次從小到大有五層,分別為產(chǎn)品信息化、企業(yè)信息化、產(chǎn)業(yè)信息化、國民經(jīng)濟信息化、社會生活信息化。
智能的特點:一是具有感知能力,即具有能夠感知外部世界、獲取外部信息的能力,這是產(chǎn)生智能活動的前提條件和必要條件;
二是具有記憶和思維能力,即能夠存儲感知到的外部信息及由思維產(chǎn)生的知識,同時能夠利用已有的知識對信息進(jìn)行分析、計算、比較、判斷、聯(lián)想、決策;
三是具有學(xué)習(xí)能力和自適應(yīng)能力,即通過與環(huán)境的相互作用不斷學(xué)習(xí)和積累知識,使自己能夠適應(yīng)環(huán)境的變化;
四是具有行為決策能力,即對外界的刺激作出反應(yīng),形成決策并傳達(dá)相應(yīng)的信息。
電子政務(wù)主要包括四個方面:G2G、G2B、G2C、G2E;電子商務(wù)的類型主要包括:B2B、B2C、C2C、O2O
兩化融合的含義有以下四條:
(1)信息化與工業(yè)化發(fā)展戰(zhàn)略的融合。
(2)信息資源與材料、能源等工業(yè)資源的融合。
(3)虛擬經(jīng)濟與工業(yè)實體經(jīng)濟的融合。
(4)信息技術(shù)與工業(yè)技術(shù)、IT設(shè)備與工業(yè)裝備的融合。