自己整理的筆記寒砖,一些常考的错英、要熟悉記憶的知識點(diǎn)入撒。
上午基礎(chǔ)知識
1、海明碼校驗:
數(shù)據(jù)位數(shù)為n椭岩,校驗碼為k位
2^k-1≥n+k
例子:數(shù)據(jù)位n = 8
2^3-1=7茅逮,7>=8+3不成立
2^4-1=15,15>8+4成立判哥,故8位數(shù)據(jù)需要4位校驗碼献雅。
2、后綴表達(dá)式規(guī)則(逆波蘭式):
從左到右遍歷表達(dá)式的每個數(shù)字和符號塌计,遇到是數(shù)字就進(jìn)棧挺身,遇到是符號,就將處于棧頂兩個數(shù)字出棧锌仅,進(jìn)行運(yùn)算章钾,運(yùn)算結(jié)果進(jìn)棧,一直到最終獲得結(jié)果热芹。(減和除都是下方的數(shù)字放在前)
3贱傀、面向?qū)ο箝_發(fā)方法有Booch方法、Coad方法和OMT方法伊脓。Jackson方法是一種面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法府寒。
4、詞法分析报腔,語法分析株搔,語義分析,中間代碼生成纯蛾,代碼優(yōu)化纤房,目標(biāo)代碼生成。
中間代碼生成和代碼優(yōu)化不是必須的翻诉。
各個階段處理的錯誤:
詞法分析階段處理的錯誤:非法字符炮姨、單詞拼寫錯誤等
語法分析階段處理的錯誤:標(biāo)點(diǎn)符號錯誤、表達(dá)式中缺少操作數(shù)米丘、括號不匹配等有關(guān)語言結(jié)構(gòu)上的錯誤
靜態(tài)語義分析階段(即語義分析階段)處理的錯誤:運(yùn)算符與運(yùn)算對象類型不合法等錯誤剑令。
目標(biāo)代碼生成(執(zhí)行階段)處理的錯誤:動態(tài)語義錯誤,包括陷入死循環(huán)拄查、變量取零時做除數(shù)吁津、引用數(shù)組元素下標(biāo)越界等錯誤等。
5、原碼反碼補(bǔ)碼(正數(shù)都一樣碍脏,正數(shù)0負(fù)數(shù)1梭依,負(fù)數(shù)反碼收尾1后面取反,負(fù)數(shù)補(bǔ)碼是反碼+1)
6典尾、DMA直接存儲器存儲役拴。 IO模塊直接到主存,無須中央處理器的中轉(zhuǎn)钾埂。
7河闰、寄存器:
程序計數(shù)器PC:存放下一條指令所在單元的地址的地方。
指令寄存器IR:用來保存當(dāng)前正在執(zhí)行的一條指令褥紫。
數(shù)據(jù)寄存器:用來保存操作數(shù)和運(yùn)算結(jié)果等信息姜性。
地址寄存器:保存當(dāng)前CPU所訪問的內(nèi)存單元的地址。
8髓考、操作系統(tǒng)的三態(tài)模型:運(yùn)行->等待->就緒
9部念、軟件開發(fā)模型:
瀑布模型
結(jié)構(gòu)化方法的模型,先計劃再分階段執(zhí)行氨菇、執(zhí)行完成后再評審儡炼。
問題:需求階段難以把控,往往不明確查蓉,容易導(dǎo)致項目的失敗
適用于:需求明確乌询,二次開發(fā)
原型模型、演化模型奶是、增量模型(迭代思想)
原型模型:在開發(fā)初期構(gòu)造簡易系統(tǒng)楣责,調(diào)整并開發(fā)
適用于:需求不明確
螺旋模型:融合了原型竣灌、瀑布模型聂沙、演化模型的特征,引入了風(fēng)險分析
V模型:接近瀑布模型初嘹,強(qiáng)調(diào)測試地位及汉,提早寫測試計劃,測試貫穿于開發(fā)的始終
噴泉模型:面向?qū)ο竽P屯头常浪妫瑹o間隙
RAD:快速開發(fā)模型,用可視化工具開發(fā)驻龟,瀑布+構(gòu)件組裝
構(gòu)件組裝模型(CBSD):構(gòu)建温眉,組裝,提高了軟件開發(fā)的復(fù)用性
統(tǒng)一過程(UP翁狐、RUP):大型項目类溢,初始-細(xì)化-構(gòu)建-交付
特點(diǎn):用例驅(qū)動,以架構(gòu)為中心露懒,迭代和增量
敏捷開發(fā):自適應(yīng)開發(fā)闯冷、水晶方法砂心、特征驅(qū)動開發(fā)、SCRUM蛇耀、極限編程
基本原則:快速反饋辩诞、簡單性假設(shè)、逐步修改纺涤、提倡更改译暂、優(yōu)質(zhì)工作
12個最佳實踐:計劃游戲、小型發(fā)布撩炊、隱喻秧秉、簡單設(shè)計、測試先行衰抑、重構(gòu)象迎、結(jié)對編程、集體代碼所有制呛踊、持續(xù)集成砾淌、每周工作40小時、現(xiàn)場客戶谭网、編碼標(biāo)準(zhǔn)
適合小型項目
10汪厨、多媒體標(biāo)準(zhǔn):
MPEG-1:MP3,VCD
MPEG-2:DVD
MPEG-4愉择、MPEG-7劫乱、MPEG-21
11、網(wǎng)絡(luò)層次和主要設(shè)備的對應(yīng):
物理層傳輸層設(shè)備:中繼器和集線器
數(shù)據(jù)鏈路層設(shè)備:網(wǎng)橋和交換機(jī)
網(wǎng)絡(luò)層設(shè)備:路由器
應(yīng)用層互聯(lián)設(shè)備:網(wǎng)關(guān)
12锥涕、常用端口:
TCP端口:
FTP協(xié)議占用兩個標(biāo)準(zhǔn)的端口號20和21衷戈,其中20為數(shù)據(jù)口,21為控制口层坠。
Telnet服務(wù)的23端口殖妇;
SMTP服務(wù)的25端口;
HTTP服務(wù)的80端口破花;
HTTPS服務(wù)的443端口谦趣。
UDP端口:
DNS服務(wù)的53端口;
SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)服務(wù)的161端口座每。
109端口是為POP2(Post Office Protocol Version 2前鹅,郵局協(xié)議2)服務(wù)開放的,
110端口是為POP3(郵件協(xié)議3)服務(wù)開放的峭梳,
POP2舰绘、POP3都是主要用于接收郵件的,目前POP3使用的比較多。
13除盏、順序存儲叉橱、鏈?zhǔn)酱鎯?/h6>
線性表按順序存儲 插入新元素需要移動元素N/2 ,刪除元素需要移動元素(N-1)/2
線性表按鏈?zhǔn)酱鎯?刪除不需要移動元素
14、分布式數(shù)據(jù)庫的透明:
分片透明是指用戶或應(yīng)用程序不需要知道邏輯上訪問的表具體是怎么分塊存儲的者蠕。
復(fù)制透明是指采用復(fù)制技術(shù)的分布方法窃祝,用戶不需要知道數(shù)據(jù)是復(fù)制到哪些節(jié)點(diǎn),如何復(fù)制的踱侣。
位置透明是指用戶無須知道數(shù)據(jù)存放的物理位置粪小。
邏輯透明,即局部數(shù)據(jù)模型透明,是指用戶或應(yīng)用程序無須知道局部場地使用的是哪種數(shù)據(jù)模型 。
15拷获、溝通路徑
若任意小組成員之間均可能有溝通路徑,則可用完全連通圖來對開發(fā)小組的溝通路徑建模逞壁,最多的溝通路徑為完全連通圖的邊數(shù),即n個成員的開發(fā)小組的溝通路徑是n(n-1)/2锐锣。
16腌闯、流水線技術(shù)所需時間為:
一條指令的完整時間+(指令執(zhí)行次數(shù)-1)最長分段時間
取指5t、分析2t雕憔、執(zhí)行3t姿骏,執(zhí)行完500次需要(5+2+3)+(500-1)5=2505
17、數(shù)字簽名斤彼、數(shù)字證書分瘦、數(shù)字信封
數(shù)字信封:發(fā)送方將原文用對稱密鑰加密傳輸,而將對稱密鑰用接收方公鑰加密發(fā)送給對方琉苇。接收方收到電子信封嘲玫,用自己的私鑰解密信封。取出對稱密鑰解密得原文翁潘。
數(shù)字證書由CA簽發(fā)給用戶趁冈,CA保證它的安全和可靠性歼争,使用CA的私鑰對證書進(jìn)行簽名拜马,使用CA的公鑰驗證簽名的合法有效性。
數(shù)字簽名技術(shù)是將摘要信息用發(fā)送者的私鑰加密沐绒,與原文一起傳送給接收者俩莽。接收者只有用發(fā)送者的公鑰才能解密被加密的摘要信息,然后用HASH函數(shù)對收到的原文產(chǎn)生一個摘要信息乔遮,與解密的摘要信息對比扮超。如果相同,則說明收到的信息是完整的,在傳輸過程中沒有被修改出刷,否則說明信息被修改過璧疗,因此數(shù)字簽名能夠驗證信息的完整性。數(shù)字簽名是個加密的過程馁龟,數(shù)字簽名驗證是個解密的過程崩侠。保證信息傳輸?shù)耐暾浴l(fā)送者的身份認(rèn)證坷檩、防止交易中的抵賴發(fā)生却音。
例題:要求郵件以加密方式傳輸,郵件最大附件內(nèi)容可達(dá)500mb矢炼。發(fā)送者不可抵賴系瓢,若郵件被第三方截獲第三方無法篡改。
發(fā)送者不可抵賴:數(shù)字簽名
第三方無法篡改:信息摘要技術(shù)
郵件正文適合使用對稱加密(隨機(jī)密鑰K)句灌。用接收方的公鑰加密隨機(jī)密鑰K夷陋,接收方收到后用接收方的私鑰解密后獲得隨機(jī)密鑰K。(數(shù)字信封技術(shù))胰锌;對正文形成摘要肌稻,使用發(fā)送方的私鑰對摘要數(shù)字簽名得到摘要的密文,接收方使用發(fā)送方的公鑰對密文進(jìn)行解密得到解密后正文的摘要匕荸。把對稱解密得到的郵件正文形成的摘要和解密后的摘要進(jìn)行對比爹谭,確保一致后達(dá)到第三方無法篡改。
18榛搔、能力成熟度模型(CMMI)
CLO(未完成的):過程域未執(zhí)行或未得到CL1中定義的所有目標(biāo)诺凡。
CL1(已執(zhí)行的):其共性目標(biāo)是過程將可標(biāo)識的輸入工作產(chǎn)品轉(zhuǎn)換成可標(biāo)識的輸出工作產(chǎn)品,以實現(xiàn)支持過程域的特定目標(biāo)践惑。
CL2(已管理的):其共性目標(biāo)是集中于已管理的過程的制度化腹泌。根據(jù)組織級政策規(guī)定過程的運(yùn)作將使用哪個過程,項目遵循已文檔化的計劃和過程描述尔觉,所有正在工作的人都有權(quán)使用足夠的資源凉袱,所有工作任務(wù)和工作產(chǎn)品都被監(jiān)控、控制侦铜、和評審专甩。
CL3(已定義級的):其共性目標(biāo)集中于已定義的過程的制度化。過程是按照組織的裁剪指南從組織的標(biāo)準(zhǔn)過程中裁剪得到的钉稍,還必須收集過程資產(chǎn)和過程的度量涤躲,并用于將來對過程的改進(jìn)。
CL4(定量管理的):其共性目標(biāo)集中于可定量管理的過程的制度化贡未。使用測量和質(zhì)量保證來控制和改進(jìn)過程域种樱,建立和使用關(guān)于質(zhì)量和過程執(zhí)行的質(zhì)量目標(biāo)作為管理準(zhǔn)則蒙袍。
CL5(優(yōu)化的):使用量化(統(tǒng)計學(xué))手段改變和優(yōu)化過程域,以滿足客戶的改變和持續(xù)改進(jìn)計劃中的過程域的功效嫩挤。
19害幅、軟件的維護(hù):
(1)改正性維護(hù)。為了識別和糾正軟件錯誤岂昭,改正軟件性能上的缺陷矫限、排除實施中的錯誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯誤的過程就稱為改正性維護(hù)佩抹。
(2)適應(yīng)性維護(hù)叼风。在使用過程中,外部環(huán)境(新的硬棍苹、軟件配置)无宿、數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式枢里、數(shù)據(jù)輸入/輸出方式孽鸡、數(shù)據(jù)存儲介質(zhì))可能發(fā)生變化。為使軟件適應(yīng)這種變化栏豺,而去修改軟件的過程就稱為適應(yīng)性維護(hù)彬碱。
(3)完善性維護(hù)。在軟件的使用過程中奥洼,用戶往往會對軟件提出新的功能與性能要求巷疼。為了滿足這些要求,需要修改或再開發(fā)軟件灵奖,以擴(kuò)充軟件功能嚼沿、增強(qiáng)軟件性能、改進(jìn)加工效率瓷患、提高軟件的可維護(hù)性骡尽。這種情況下進(jìn)行的維護(hù)活動稱為完善性維護(hù)。
(4)預(yù)防性維護(hù)擅编。這是指預(yù)先提高軟件的可維護(hù)性攀细、可靠性等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)爱态。
20谭贪、數(shù)據(jù)庫體系結(jié)構(gòu)的三層模式:
視圖-外模式,
存儲文件-內(nèi)模式肢藐,
基本表-模式故河。
21、軟件維護(hù)工具輔助維護(hù)人員對軟件代碼及其文檔進(jìn)行各種維護(hù)活動吆豹。
主要包括:
版本控制工具
文檔分析工具
開發(fā)信息庫工具
逆向工程工具
再工程工具
配置管理支持工具
22鱼的、軟件調(diào)試的常用方法:試探法、回溯法痘煤、歸納法凑阶、演繹法
(1)試探法。根據(jù)錯誤的特點(diǎn)衷快,猜測問題的所在位置宙橱,利用在程序中設(shè)置輸出語句,分析寄存器蘸拔、存儲器的內(nèi)容等手段來獲得錯誤的線索师郑,一步步地試探和分析出錯誤所在。
(2)回溯法调窍。從發(fā)現(xiàn)錯誤癥狀的位置開始宝冕,人工沿著程序的控制流程往回跟蹤代碼,直到找出錯誤根源為止邓萨。
(3)對分查找法地梨。在該方法中,如果已經(jīng)知道程序中的變量在若干位置的正確取值缔恳,可以在這些位置上給這些變量以正確值宝剖,觀察程序運(yùn)行輸出結(jié)果,如果沒有發(fā)現(xiàn)問題歉甚,則說明從賦予變量一個正確值到輸出結(jié)果之間的程序沒有錯誤万细,問題可能在除此之外的程序中。否則纸泄,錯誤就在所考察的這部分程序中雅镊,對含有錯誤的程序段再使用這種方法,直到把故障范圍縮小到比較容易診斷為止刃滓。
(4)歸納法仁烹。從測試所暴露的問題出發(fā),收集所有正確或不正確的數(shù)據(jù)咧虎,分析它們之間的關(guān)系卓缰,提出假想的錯誤原因,用這些數(shù)據(jù)來證明或反駁砰诵,從而查出錯誤所在征唬。
(5)演繹法。根據(jù)測試結(jié)果茁彭,列出所有可能的錯誤原因总寒。分析已有的數(shù)據(jù),排除不可能和彼此矛盾的原因理肺。對其余的原因摄闸,選擇可能性最大的善镰,利用已有的數(shù)據(jù)完善該假設(shè),使假設(shè)更具體年枕。用假設(shè)來解釋所有的原始測試結(jié)果炫欺,如果能解釋這一切,則假設(shè)得以證實熏兄,也就找出錯誤品洛;否則,要么是假設(shè)不完備或不成立摩桶,要么有多個錯誤同時存在桥状,需要重新分析,提出新的假設(shè)硝清,直到發(fā)現(xiàn)錯誤為止辅斟。
23、質(zhì)量特性耍缴、質(zhì)量子特性:
功能性:
適合性
準(zhǔn)確性
互用性
依從性
安全性
可靠性:
成熟性
容錯性
易恢復(fù)性
易使用性:
易理解性
易學(xué)性
易操作性
效率:
時間特性
資源特性
可維護(hù)性:
易分析行
易改變性
穩(wěn)定性
易測試性
可移植性:
適應(yīng)性
易安裝性
一致性
易替換性
24砾肺、設(shè)計原則
開-閉原則是指一個軟件實體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉防嗡,即在設(shè)計 一個模塊的時候变汪,應(yīng)當(dāng)使這個模塊可以在不被修改的前提下被擴(kuò)展。滿足開-閉原則的系統(tǒng)具備更好的可復(fù)用性與可維護(hù)性蚁趁。
里氏代換原則是指任何基類對象可以出現(xiàn)的地方裙盾,子類對象一定可以代替基類對象。
依賴倒轉(zhuǎn)原則就是要依賴于抽象他嫡,而不依賴于實現(xiàn)番官,或者說要針對接口編程,不要針對實現(xiàn)編程钢属。
25徘熔、存儲和傳遞信息的實體,如手冊淆党、磁盤酷师、光盤、磁帶以及相關(guān)的播放設(shè)備等染乌;二是指承載信息的載體山孔,即信息的表現(xiàn)形式(或者說傳播形式),如文字荷憋、聲音台颠、圖像、動畫和視頻等勒庄,即CCITT定義的存儲媒體和表示媒體串前。
媒體分為感覺媒體瘫里、傳輸媒體、表示媒體酪呻、表現(xiàn)媒體减宣、存儲媒體盐须。
感覺媒體指直接作用于人的感覺器官玩荠,使人嚴(yán)生內(nèi)接感覺的媒體, 如引起聽覺反應(yīng)的聲音贼邓、引起視覺反應(yīng)的圖像等阶冈;
傳輸媒體指傳輸表示媒體的物理介質(zhì),如電纜塑径、光纜女坑。電磁波等;
表示媒體指傳輸感覺媒體的中介媒體统舀,即用于數(shù)據(jù)交換的編碼匆骗,如圖像編碼、文本編碼和聲音編碼等誉简;
表現(xiàn)媒體是指進(jìn)行信息輸入和輸出的媒體碉就,如鍵盤、鼠標(biāo)闷串、話筒瓮钥,以及顯示器、打印機(jī)烹吵、喇叭等碉熄;
存儲媒體指用于存儲表示媒體的物理介質(zhì),如硬盤肋拔、光盤等锈津。
26、多態(tài):
參數(shù)多態(tài):應(yīng)用廣泛凉蜂、最純的多態(tài)琼梆。
包含多態(tài):同樣的操作可用于一個類型及其子類型。包含多態(tài)一般需要進(jìn)行運(yùn)行時的類型檢查跃惫。
強(qiáng)制多態(tài):編譯程序通過語義操作叮叹,把操作對象的類型強(qiáng)行加以變換,以符合函數(shù)或操作符的要求爆存。
過載多態(tài):同一個名(操作符蛉顽、函數(shù)名)在不同的上下文中有不同的類型。
27先较、模塊之間的耦合有7種類型携冤,根據(jù)耦合性從低到高為非直接耦合悼粮、數(shù)據(jù)耦合、標(biāo)記耦合曾棕、控制耦合扣猫、外部耦合、公共耦合和內(nèi)容耦合翘地。
如果一個模塊訪問另一個模塊時申尤,彼此之間是通過數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來交換輸入衙耕、輸出信息的昧穿,則稱這種耦合為數(shù)據(jù)耦合;
如果一組模塊通過數(shù)據(jù)結(jié)構(gòu)本身傳遞橙喘,則稱這種耦合為標(biāo)記耦合时鸵;
若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合厅瞎;
若一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù)饰潜、一個模塊不通過正常入口轉(zhuǎn)到另一個模塊內(nèi)部、兩個模塊有一部分程序代碼重疊或者一個模塊有多個入口和簸,上述幾個情形之一發(fā)生則說明兩個模塊之間就發(fā)生了內(nèi)容耦合彭雾。
28、內(nèi)聚:
①偶然(巧合)內(nèi)聚:指一個模塊內(nèi)的各個處理元素之間沒有任何聯(lián)系比搭。
②邏輯內(nèi)聚:指模塊內(nèi)執(zhí)行幾個邏輯上相似的功能冠跷,通過參數(shù)確定該模塊完成哪一個功能。
③時間內(nèi)聚:把需要同時執(zhí)行的動作組合在一起形成的模塊身诺。
④通信內(nèi)聚:指模塊內(nèi)所有處理元素都在同一個數(shù)據(jù)結(jié)構(gòu)上操作蜜托,或者指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù)。
⑤順序內(nèi)聚:指一個模塊中各個處理元素都密切相關(guān)于同一功能且必須順序執(zhí)行霉赡, 前一個功能元素的輸出就是下一個功能元素的輸入橄务。
⑥功能內(nèi)聚:是最強(qiáng)的內(nèi)聚,指模塊內(nèi)所有元素共同完成一個功能穴亏,缺一不可蜂挪。
29、軟件許可一般由獨(dú)占許可嗓化、獨(dú)家許可棠涮、普通需求三種形式。
獨(dú)占許可:軟件著作權(quán)人不得將軟件使用權(quán)授予第三方刺覆,自己不能使用該軟件严肪。
獨(dú)家許可:軟件著作權(quán)人不得將軟件使用權(quán)授予第三方,自己可以使用該軟件。
普通需求:軟件著作權(quán)人可以將軟件使用權(quán)授予第三方驳糯,自己可以使用該軟件篇梭。
30、分治法
把一個問題拆分成多個小規(guī)模的相同子問題酝枢,一般可用遞歸解決恬偷。
步驟:劃分-求解子問題-合并
常見求解問題:
排序:歸并排序,快速排序
組合:棋牌覆蓋帘睦,循環(huán)賽日程安排問題
幾何:最近點(diǎn)對
31袍患、動態(tài)規(guī)劃法
劃分子問題(最優(yōu)子結(jié)構(gòu)),并把子問題結(jié)果使用數(shù)組存儲官脓,利用查詢子問題結(jié)果構(gòu)造最終問題結(jié)果协怒。
特征:能夠分解為互相重疊的若干子問題涝焙,滿足最優(yōu)性原理(最優(yōu)子結(jié)構(gòu)性質(zhì))該問題的最優(yōu)解中也包含著其子問題的最優(yōu)解卑笨。
步驟:分段-分析-求解
常見求解問題:
圖問題:TSP,多短圖最短路徑
組合問題:0/1背包仑撞,最長公共子序列
查找問題:最優(yōu)二叉查找樹
32赤兴、貪心法
局部最優(yōu),但整體不見得最優(yōu)隧哮。每步有明確的桶良,既定的策略。
常見求解問題:
圖問題:TSP沮翔,圖著色陨帆,最小生成樹
組合問題:背包,多機(jī)調(diào)度采蚀,活動安排
33疲牵、回溯法:系統(tǒng)的搜索一個問題的所有解或任一解。有試探和回退的過程榆鼠。
常見求解問題:
圖問題:圖著色纲爸,哈密頓回路
組合問題:八皇后,批處理作業(yè)調(diào)度
33妆够、設(shè)計模式:(有下劃線表示可以是類模式也可以是對象模式识啦,無下劃線的表示只是對象模式)
創(chuàng)建型(用于創(chuàng)建對象):工廠方法模式,抽象工廠模式神妹,單例模式颓哮,原型模式,構(gòu)建器模式
結(jié)構(gòu)型(處理類和對象的組合問題):適配器模式鸵荠,橋接模式冕茅,組合模式,裝飾模式,外觀模式嵌赠,享元模式塑荒,代理模式
行為型(描述類和對象交互、指責(zé)分配的問題):職責(zé)鏈模式姜挺,命令模式齿税,解釋器模式,迭代器模式炊豪,中介者模式凌箕,備忘錄模式,觀察者模式词渤,狀態(tài)模式牵舱,策略模式,模板方法模式缺虐,訪問者模式
34芜壁、從已知的一些函數(shù)依賴,可以推導(dǎo)出另外一些函數(shù)依賴高氮,這就需要一系列推理規(guī)則慧妄。函數(shù)依賴的推理規(guī)則最早出現(xiàn)在1974年W.W.Armstrong的論文里,這些規(guī)則常被稱作“Armstrong 公理”剪芍。
設(shè)U是關(guān)系模式R的屬性集塞淹,F(xiàn)是R上成立的只涉及U中屬性的函數(shù)依賴集。函數(shù)依賴的推理規(guī)則有以下三條:
自反律:若屬性集Y包含于屬性集X罪裹,屬性集X包含于U饱普,則X→Y在R上成立。(此處X→Y是平凡函數(shù)依賴)
增廣律:若X→Y在R上成立状共,且屬性集Z包含于屬性集U套耕,則XZ→YZ在R上成立。
傳遞律:若X→Y和Y→Z在R上成立口芍,則X→Z在R上成立箍铲。
根據(jù)上面三條推理規(guī)則帘瞭,又可推出下面三條推理規(guī)則:
合并規(guī)則:若X→Y扒最,X→Z因宇,則X→YZ為F所蘊(yùn)含凑保;
偽傳遞規(guī)則:若X→Y樱蛤,WY→Z渣玲,則XW→Z為F所蘊(yùn)含:
分解規(guī)則:若X→Y稿茉,Z=Y遍坟,則X→Z為F所蘊(yùn)含裤翩。
35资盅、PV操作:
互斥信號量的初值一般為1调榄。
P通過。
①S減1呵扛;
②若S減1后仍大于或等于0每庆,則進(jìn)程繼續(xù)執(zhí)行;
③若S減1后小于0今穿,則該進(jìn)程被阻塞后放入等待該信號量的等待隊列中缤灵,然后轉(zhuǎn)進(jìn)程調(diào)度。
V釋放蓝晒。
V操作的主要動作是:
①S加1腮出;
②若相加后結(jié)果大于0,則進(jìn)程繼續(xù)執(zhí)行芝薇;
③若相加后結(jié)果小于或等于0胚嘲,則從該信號的等待隊列中釋放一個等待進(jìn)程,然后再返回原進(jìn)程繼續(xù)執(zhí)行或轉(zhuǎn)進(jìn)程調(diào)度洛二。
36馋劈、排序方法及復(fù)雜度
37、關(guān)系代數(shù):并灭红、交侣滩、差、笛卡爾積变擒、投影、選擇寝志、自然連接
笛卡爾積:結(jié)果列數(shù)為二者屬性列數(shù)之和娇斑,行數(shù)為二者元素數(shù)乘積。
投影:對屬性列的選擇列出材部。
選擇:對元組行的選擇列出毫缆。
自然連接:列數(shù)為二者屬性列數(shù)之和去掉重復(fù)列,行數(shù)為二者同名屬性列其值相同的結(jié)果元組乐导。
下午應(yīng)用技術(shù)
1苦丁、找缺失數(shù)據(jù)流:
1、父圖和子圖的平衡
2物臂、數(shù)據(jù)加工要既有輸入流旺拉、又要有輸出流
3、根據(jù)描述在對應(yīng)文段中查找
ps:技巧-看題目分值估計缺失數(shù)據(jù)流數(shù)量
2棵磷、E-R圖轉(zhuǎn)關(guān)系模型
①1對1:1的主鍵加到1這邊
廠長(姓名蛾狗、年齡)、工廠(公廠號仪媒、廠名沉桌、姓名)
②1對:把1的主鍵加到這邊
倉庫(倉庫號、倉庫名)、商品(商品號留凭、商品名佃扼、倉庫號)
③對:把兩邊的主鍵加到聯(lián)系中
學(xué)生(學(xué)號、姓名)蔼夜、課程(課程號松嘶、課程名)、選修(學(xué)分挎扰、學(xué)號翠订、課程號)
弱實體(病人-病人家屬):病人家屬中加病人的主鍵(病人編號)
3、結(jié)構(gòu)化語言 描述加工邏輯
條件語句
IF 條件 THEN
分支內(nèi)容
ELSE IF 條件 THEN
分支內(nèi)容
ELSE
分支內(nèi)容
ENDIF
循環(huán)語句
WHILE 條件
DO
{
執(zhí)行語句
}
ENDDO
4遵倦、包含<<include>>
指向被包含尽超,必定存在
例如刪除訂單,必須要先查詢訂單
5梧躺、擴(kuò)展<<extend>>
指向擴(kuò)展項似谁,可以不存在是擴(kuò)充
例如去上課,可能遲到掠哥,遲到就是擴(kuò)展
6巩踏、泛化<<generalization>>
一般和具體的關(guān)系,指向一般
7续搀、類圖:一般是三層塞琼,第一層是類名,第二層是屬性禁舷,第三層是方法彪杉。
'+':Public,公有的牵咙,能訪問該類的類都能訪問該屬性
'-':Private派近,私有的,只有該類能訪問該屬性
'#':Protected洁桌,受保護(hù)的渴丸,該類及其繼承類都能訪問該屬性
'~':Package,包的另凌,在同一個包中的類都能訪問該屬性
8谱轨、關(guān)聯(lián)-多重度
A----------B ,數(shù)值寫在線上且B附近
1:A和1個B關(guān)聯(lián)
0..:A和0個或多個B關(guān)聯(lián)
1..*:A和1個或多個B關(guān)聯(lián)
0..1:A和0個或1個B關(guān)聯(lián)
9途茫、聚合
部分不依賴于整體碟嘴,整體消失了部分仍然能存在。用空心菱形表示囊卜。(記憶:聚集的鳥群)
部分----------◇整體
10娜扇、組合
部分是依賴于整體错沃,整體消失了部分就無法存活。用實心菱形表示雀瓢。(人體組成部分)
部分----------◆整體
11枢析、依賴
對應(yīng)類A和類B來說,如果類A發(fā)生了變化會引起類B的變化刃麸,則稱類B依賴于類A醒叁。用虛線和箭頭表示。
A<-----------B 依賴----------->被依賴
12泊业、泛化
一般和特殊的關(guān)系把沼。用實現(xiàn)和空心三角形表示,指向一般吁伺。
子-----------?父
13饮睬、Java簡單語法
extends 繼承
abstract抽象
抽象類不一定有抽象方法;有抽象方法的一定是抽象類
抽象類不能被實例化篮奄;抽象方法沒有方法體
interface接口
implement實現(xiàn)
接口里的方法其實都是抽象方法捆愁,也就是沒有方法體的,但是她不用寫abstract關(guān)鍵字
實現(xiàn)一個接口就要實現(xiàn)接口里的所有方法