2015上半年软件设计师考点,难点3
軟件維護
軟件交付后。
占整個生存周期工作量的70%以上,代價極高
類型:
1.正確性維護(錯誤)
2.適應性維護(外部環境、數據環境、市場、管理需求)
3.完善性維護(新的功能、性能)
4.預防性維護(可維護性、可靠性、未來變化)
可維護性:被理解、校正、適應、增強功能的難易程度
度量:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性、效率
方法:質量檢查表;質量測試、質量標準;
提高可維護性:明確的目標、優先級;先進的技術、工具;明確質量保證;選擇可維護的程序語言;改進文檔;開發時考慮維護
非結構化維護:只有程序代碼,沒有設計文檔、測試文檔
結構化維護:有完整的軟件配置,從評價文檔開始
維護量因素:系統大小;程序設計語言;系統年齡;數據庫技術的應用;先進的軟件開發技術;其他;
文檔:決定性因素,比代碼更重要。
分類:用戶文檔、開發文檔、管理文檔、系統文檔
軟件再工程:重構
庫存目錄:分析哪些需要再工程;
逆向工程:更高的抽象層次,抽取設計信息。根據以存在的產品反推設計數據的過程
正向工程:新功能、高性能
重構:調整程序代碼,改善質量、性能、設計模式、架構、擴展性、維護性。不修改體系結構,關注設計細節、局部數據結構
項目管理:計劃、組織、協調、控制
運用:知識、技能、工具、技術
5要素:技術、方法、團隊建設、信息、溝通
錯誤管理
風險管理:危機管理、失敗處理、風險緩解、預防、消滅根源
包括:風險評估(識別、分析、優先級)、風險控制(管理、化解、監控)
人員管理:
項目度量:軟件度量、質量度量、繼承度量
風險管理:貫穿整個項目過程
數據庫
數據依賴
1.函數依賴:Functional Dependency,FD。
平凡函數依賴、非平凡函數依賴
完全函數依賴、部分函數依賴
? ???
傳遞函數依賴
2.多值依賴:Multivalued Dependency,MVD。
“1:0…*”,1對多。
只要知道了R上的一個多值依賴X→→Y,就可以得到另一個多值依賴X→→Z,而且X、Y和Z是U的分割;“(2)”說明多值依賴是函數依賴的某種推廣,函數依賴是多值依賴的特例
3.其他
碼
候選碼:
主屬性、非主屬性
全碼:
外部碼:
范式種類:
? ?
1NF:屬性不可分
2NF:非主屬性完全依賴與碼
? ? ??
3NF:非主屬性之間不依賴
BCNF:主屬性之間不依賴
?
4NF:
規范化:
目的:消除插入、刪除異常、修改復雜、數據冗余
實質:概念的單一化
基本思想:逐步消除數據依賴中不合適的部分
注意:
推理規則:
1.自反律
2.增廣律
3.傳遞律
4.合并規則:? ? ?1,3可證
5.偽傳遞規則: 2,3可證
6.分解規則:? 1,3可證
閉包
覆蓋=等價
極小函數依賴集=最小函數依賴集=最小覆蓋
結果:不唯一
分解:
方法不唯一,關系模式等價
函數依賴:減輕、解決各種異常情況
無損連接:與自然連接的結果相等
分解不丟失信息;不一定可以解決插入異常、刪除異常、修改復雜、數據冗余……問題
人工智能
求最優解、近似最優解方法:
1.枚舉法:適合枚舉空間小的
2.啟發式算法:找到特有的啟發式規則
3.搜索算法:在可行解集合的一個子集進行搜索
遺傳算法:
自適應全局優化概率搜索算法。獲取近似最優解、滿意解。
本質:生物的遺傳、進化過程的模擬
特點:強適應力、高優化力
? ?定義:
Xi:一個遺傳基因;
等位基因:所有可能取值。
遺傳算子:搜索最優解。類似:染色體之間的交叉、變異
選擇:Selection。根據個體的適應度,按一定的規則、方法
交叉:Crossover。交叉概率
變異:Mutation。變異概率
特點:
1.以決策變量的編碼最為運算對象:而非決策變量的值
2.直接以目標函數值作為搜索信息:個體適應度。而非函數的導數值
3.同時使用多個搜索點的搜索信息:而非單個搜索點
4.使用概率搜索技術:自適應概率搜索技術,而非確定性的搜索方法。概率收斂于最優解。交叉概率+變異概率
應用:函數優化、組合優化、生產調度問題、自動控制、機器人學、圖像處理、人工生命、遺傳編程、機器學習
改進:
1.自適應變異:防止“近親繁殖”。雙親差異小,選取較大的變異率(增強搜索能力);雙親差異大,選取較小的變異率(防止破壞優良個體)
2.部分替代法:部分個體被新個體取代,其他部分個體直接進入下一代。
3.優秀個體保護法:一定數量的最優個體,直接進入下一代
4.分布式遺傳算法:分為若干個子群,相對獨立、封閉(保證搜索的充分性、全局最優性);定期一定比例的遷移(防止向局部最優收斂)
基本遺傳算法:Simple Genetic Algorihms ,SGA
只使用選擇算子、交叉算子、變異算子。三種基本遺傳算子
固定長度的二進制符號串:表示群體中的個體
等位基因:{0,1}。
1.染色體編碼方法
2.個體適應度評價:確定被遺傳到下一代群體中的概率,正比。適應度:非負值,可轉換
3.遺傳算子:
比例選擇算子:有退還隨機選擇、賭盤選擇。
單點交叉算子:最常用,最基本。兩兩配對;隨機交叉點;交叉互換染色體
基本位變異算子:概率選擇變異點;基因值取反;
4.基本遺傳算法的運行參數
注意:
蟻群算法:
模擬:蟻群搜索食物源的尋優能力。個體間的信息交流、協作。正反饋現象
解決:離散系統優化問題。隨機搜索算法。利用整體信息
1.適應階段:候選解積累的信息,不斷調整自身結構
2.協作階段:信息交流,產生更好的解
優點:不需任何先驗知識,隨機選擇路徑。隨著對解空間的“了解”,趨向最優
1.記憶:禁忌列表,隨時間,選擇動態調整
2.信息素通信:
3.集群活動:群體智能建立路徑選擇機制。自催化、正反饋,增強型學習系統
算法:
1.蟻環算法:整體信息
2.蟻量算法:局部信息
3.蟻密算法:局部信息
信息素更新:
1.離線方式:同步更新。統一訪問完后,統一對殘留信息進行更新
單螞蟻離線更新:第s只螞蟻完成對N個城市的訪問后,對路徑上的殘留信息進行更新。記憶信息量相對較少
蟻群離線更新:M只螞蟻全部完成N個城市的訪問后,統一對殘留信息進行更新
2.在線方式:異步更新。每執行一步,馬上回溯更新線路上的信息素。記憶信息量最少
相關參數:
終止條件:
1.給定的外循環最大數目
2.最優解連續K次相同而停止的規則(算法已收斂,不需繼續)
3.目標控制規則。優化問題的下界、誤差值。
離散蟻群算法:
包括:最優解保留策略蟻群系統、蟻群系統、最大最小蟻群系統、自適應蟻群算法……
適合:離散優化問題。不能直接求解連續優化問題
概念:路徑、節點的生成;轉移概率;能見度指標;信息素更新(局部、全局)
粒子群算法:Particle swarm optimization,PSO
本質:群體智能的進化
模擬:鳥群捕食行為。社會群體中的信息共享機制
特點:算法簡單,容易實現
應用:函數優化、神經網絡訓練、模式分類、模糊控制……
極值:
1.個體極值(pbest):粒子本身所找到的最好解
2.全局極值(gbest):整個粒子群歷代搜索過程中的最優解
更新速度:動量(多樣化)、個體認知(集中化)、社會認知(集中化)、
參數:
算法:
改進算法:
1.慣性權重法:
慣性權重大,加強全局探測能力;慣性權重小,加強局部搜索能力。直接影響全局搜索能力
? 適合:多峰函數。平衡猴臉的全局性、收斂速度
(1)線性調整法:迭代次數增加,慣性權重線性下降。
? 權重線性下降的粒子群算法(Linearly Decreasing Inertia Weight,LDW)。
(2)模糊調整法:構造模糊推理機來動態修改慣性因子
實現較困難,性能更好
性能評測:CBPE,the Current Best Performance Evaluation
2.收斂因子法:
適合:單峰函數,速度限制放松
人工神經網絡算法
特點:從環境中學習,近似于人類的學習能力
模擬:生物神經系統。從外界環境學習知識;突觸全值存儲知識
神經元:
特點:
分類:閾值型、S型、分段線性、概率型
激活函數
模型:分層網絡、相互連接型網絡
信息處理:執行階段、學習階段
學習方法:有導師學習(有監督學習)、無導師學習(無監督學習)、灌輸式學習(“學習”是“死記硬背”)
學習規則:各神經元的連接權值按一定的規則調整
分類:
循環控制:循環次數控制法、分階段迭代次數控制法、精度控制法、綜合控制法
前向式神經網絡算法:
二值函數
感知器算法:有導師學習
適合:簡單的分類問題
BP神經網絡算法:
S型的對數、正切函數、線性函數
包括:正向傳播、誤差信號的反向傳播
轉載于:https://www.cnblogs.com/panpanwelcome/p/6021094.html
總結
以上是生活随笔為你收集整理的2015上半年软件设计师考点,难点3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOIP模拟题——来自风平浪静的明天
- 下一篇: maven3常用命令、java项目搭建、