目錄
軟體開發模型
軟體測試-mccabe複雜度
軟體維護
專案管理
物件導向的基本概念
物件導向設計7大原則
uml物件導向設計-設計模式分類
規範化理論-圖示法 求候選鍵
規範化理論
模式分解
軟考中演算法特徵(只有4種)
瀑布模型:需求必須是穩定的,明確的,只適合二次開發或需求是穩定的情況;
原型化模型:對需求明確性最低的模型,適用於需求不明確的情況,構造乙個簡易系統從而獲取需求;
螺旋模型:是多種模型的中合體,依據原型化模型發展來的,但融入了瀑布模型迭代模型等,還考慮到了風險性;
敏捷方法:輕量級的方法,強調小步快跑的模式完成系統開發,放棄文件以及相應的流程;
計算有向圖g的環路複雜度公式:v(g)=m-n+2 //邊-點+2
軟體維護型別
改正性維護:原軟體存在有bug,測試的時候沒有發現bug,在維護階段發現有問題要及時修正
適應性維護:環境因數變化;
預防性維護:對未來可能要進行的維護工作提前所做的準備;
完善性維護:擴充功能和改善效能;
gant圖:簡單直觀時間管理圖,直觀展現專案的計畫(粗線)以及實現(細線)的情況,以及對比分析,但活動之間邏輯依賴關係難以表達關係;
pert圖(活動網路圖):每乙個結點,每一條邊都構成乙個活動,清晰了解專案裡哪個活動比較早開展,哪個活動比較晚開展,分析關鍵路徑展示情況;
物件:屬性(資料)+方法(操作)+物件id
類:(實體類/控制類/邊界類)
繼承與泛化:復用機制
封裝:隱藏物件的屬性和實現細節,僅對外公開介面
多型:不同物件收到同樣的訊息產生不同的結果(用上層的物件指標進行統一的操作)
介面:一種特殊的類,他有方法定義沒有實現
過載:乙個類可以有多個同名的引數型別不同的方法
單一職責原則:設計目的單一的類
開放-封閉原則:對擴充套件開放,對修改封閉
李氏(liskov)替換原則:子類可以替換父類
依賴倒置原則:要依賴於抽象,而不是具體實現;針對介面程式設計,不要針對實現程式設計
介面隔離原則:使用多個專門的介面比使用單一的介面要好
組合重用原則:要盡量使用組合,而不是繼承關係達到重用的目的
迪公尺特(demeter)原則(最少知識法則):乙個物件應當對其他物件有盡可能少的了解
結構圖(靜態圖):類圖、物件圖、構件圖、部署圖(軟硬體之間對映)
行為圖(動態圖):用例圖(系統與外部參與者的互動)、順序圖(強調時間順序)、通訊圖(協助圖)、狀態圖(狀態轉換)、活**(類似程式流程圖、並行行為)
依賴關係(虛線+實心三角形):乙個事物發生變化影響另乙個事物
泛化關係(實線+空心三角形):特殊/一般關係
關聯關係(聚合+組合):描述一組鏈,鏈是物件之間的的連線
聚合關係(實線+空心菱形):整體與部分生命週期不同
組合關係(實線+實心菱形):整體與部分生命週期相同
實現關係(虛線+空心三角形):介面與類之間的關係
設計模式的思想:復用乙個解決方案,這些模式裡面已經存在了哪些介面,哪些類,這些類應該如何進行互動;
建立型模式(進行物件的建立)
1.工廠方法(factory method)模式:專門構造乙個方法,這個工廠的職能非常單一,就是生成物件;就是把建立物件的活給外部了,只需要指定的格式去呼叫工廠方法,就能夠得到需要的物件;
2.抽象工廠(abstract factory)模式
3.原型(prototype)模式
4.單例(singleton)模式:最大特點是每個類只能例項出乙個物件
5.構建器(builder)模式
結構型模式:
1.介面卡(adapter)模式:從一種介面轉換為另外一種介面
2.橋接(bridge)模式:解決類**問題
3.組合(composite)模式:整體和部分的構建
4.裝飾(decorator)模式
5.外掛程式(facade)模式
6.享元(flyweight)模式
7.**(proxy)模式
行為型模式
1.職責鏈(chain of responsibility)模式
2.命令(command)模式
3.直譯器(interpreter)模式
4.迭代器(iterator)模式
5.中介者(mediator)模式
6.備忘錄(memento)模式
7.觀察者(observer)模式
8.狀態(state)模式
9.策略(strategy)模式
10.模板方法(template method)模式
11.訪問者(visitor)模式
1.將關係的函式依賴關係,用「有向圖」表示;
2.找入讀為0的點,遍歷圖,如果能遍歷完所有的點,那麼就是候選鍵;
3.中間結點(既有入度,又有出度的點)進行遍歷,如果能遍歷所有結點,就是候選鍵;
1nf:屬性都是不可分的原子
2nf:消除非主屬性對候選鍵的部分函式依賴(當候選鍵是單屬性的時候,肯定是2nf)
3nf:消除非主屬性對候選鍵的傳遞函式依賴(a->b->c這就存在傳遞依賴)
bcnf:消除主屬性對候選鍵的部分和傳遞依賴
無損分解:能通過關聯查詢,恢復成原關係
保持函式依賴分解:出冗餘依賴,替他均能在拆分後的關係中找到
1.分治法:拆分,遞迴
2.動態規劃法(用於求最優解):拆分,但用陣列存
3.回溯法:不行就回退,然後不斷的嘗試
4.貪心法(用於求滿意解):只進行一步的策略,單步策略,累積起來可能是最優的策略
中級軟體設計師筆記
二進位制 10100.01 1x2的4次方 1x2的2次方 1x2的 2次方 七進製 604.01 6 7的2次方 4 7的0次方 1 7的 2次方 十進位制轉其他進製 短除法。求差 求和 等。短除法 94轉換為二進位制 2 94 餘 0 2 47 1 2 23 1 2 11 1 2 5 1 2 2...
軟體設計師複習(一)
1 常用的虛擬儲存器由 主存 輔存 兩級儲存器組成。2 中斷向量可提供 中斷服務程式的入口位址 3 為了便於實現多級中斷巢狀,使用 堆疊 來保護斷點和現場最有效。4 dma工作方式下,在 主存與外設 之間建立了直接的資料通路。5 利用報文摘要演算法生成報文主要的目的是 防止傳送的報文被篡改 6 防火...
軟體設計師教程目錄
第1章 計算機系統知識 1.1計算機系統基礎知識1 1.2計算機體系結構1 1.3安全性 可靠性與系統效能評測基礎知識34 第2章 程式語言基礎知識51 2.1程式語言概述5 1 2.2語言處理程式基礎6l 第3章 作業系統知識94 3.1作業系統基礎知識94 3.2處理機管理98 3.3儲存管理 ...