日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件设计师冲刺笔记(一)

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件设计师冲刺笔记(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

軟件開發模型

軟件測試-McCabe復雜度

軟件維護

項目管理

面向對象的基本概念

面向對象設計7大原則

UML

面向對象設計-設計模式分類

規范化理論-圖示法 求候選鍵

規范化理論

模式分解

軟考中算法特征(只有4種)


軟件開發模型

瀑布模型:需求必須是穩定的,明確的,只適合二次開發或需求是穩定的情況;
原型化模型:對需求明確性最低的模型,適用于需求不明確的情況,構造一個簡易系統從而獲取需求;
螺旋模型:是多種模型的中合體,依據原型化模型發展來的,但融入了瀑布模型迭代模型等,還考慮到了風險性;
敏捷方法:輕量級的方法,強調小步快跑的模式完成系統開發,放棄文檔以及相應的流程;

?


軟件測試-McCabe復雜度

計算有向圖G的環路復雜度公式:V(G)=m-n+2?? ?//邊-點+2

?


軟件維護

軟件維護類型
改正性維護:原軟件存在有BUG,測試的時候沒有發現BUG,在維護階段發現有問題要及時修正
適應性維護:環境因數變化;
預防性維護:對未來可能要進行的維護工作提前所做的準備;
完善性維護:擴充功能和改善性能;

?


項目管理


Gant圖:簡單直觀時間管理圖,直觀展現項目的計劃(粗線)以及實現(細線)的情況,以及對比分析,但活動之間邏輯依賴關系難以表達關系;
Pert圖(活動網絡圖):每一個結點,每一條邊都構成一個活動,清晰了解項目里哪個活動比較早開展,哪個活動比較晚開展,分析關鍵路徑展示情況;

?


面向對象的基本概念


對象:屬性(數據)+方法(操作)+對象ID
類:(實體類/控制類/邊界類)
繼承與泛化:復用機制
封裝:隱藏對象的屬性和實現細節,僅對外公開接口
多態:不同對象收到同樣的消息產生不同的結果(用上層的對象指針進行統一的操作)
接口:一種特殊的類,他有方法定義沒有實現
重載:一個類可以有多個同名的參數類型不同的方法

?


面向對象設計7大原則


單一職責原則:設計目的單一的類
開放-封閉原則:對擴展開放,對修改封閉
李氏(Liskov)替換原則:子類可以替換父類
依賴倒置原則:要依賴于抽象,而不是具體實現;針對接口編程,不要針對實現編程
接口隔離原則:使用多個專門的接口比使用單一的接口要好
組合重用原則:要盡量使用組合,而不是繼承關系達到重用的目的
迪米特(Demeter)原則(最少知識法則):一個對象應當對其他對象有盡可能少的了解

?


UML


結構圖(靜態圖):類圖、對象圖、構件圖、部署圖(軟硬件之間映射)
行為圖(動態圖):用例圖(系統與外部參與者的交互)、順序圖(強調時間順序)、通信圖(協助圖)、狀態圖(狀態轉換)、活動圖(類似程序流程圖、并行行為)


依賴關系(虛線+實心三角形):一個事物發生變化影響另一個事物
泛化關系(實線+空心三角形):特殊/一般關系
關聯關系(聚合+組合):描述一組鏈,鏈是對象之間的的連接
聚合關系(實線+空心菱形):整體與部分生命周期不同
組合關系(實線+實心菱形):整體與部分生命周期相同
實現關系(虛線+空心三角形):接口與類之間的關系

?


面向對象設計-設計模式分類


設計模式的思想:復用一個解決方案,這些模式里面已經存在了哪些接口,哪些類,這些類應該如何進行交互;

創建型模式(進行對象的創建)
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:消除主屬性對候選鍵的部分和傳遞依賴

?


模式分解


無損分解:能通過關聯查詢,恢復成原關系
保持函數依賴分解:出冗余依賴,替他均能在拆分后的關系中找到

?


軟考中算法特征(只有4種)


1.分治法:拆分,遞歸
2.動態規劃法(用于求最優解):拆分,但用數組存
3.回溯法:不行就回退,然后不斷的嘗試
4.貪心法(用于求滿意解):只進行一步的策略,單步策略,累積起來可能是最優的策略

總結

以上是生活随笔為你收集整理的软件设计师冲刺笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。