1、系統分析與設計復習提綱一、試題類型l 選擇題:基本概念, 見復習要點l 填空題:基本概念, 見復習要點l 判斷題:基本概念, 見復習要點l 名詞解釋:見下列復習題l 簡答題:見下列復習題l 畫圖、程序題二、各章復習要點(完整敘述參見課本或PPT)OOADA分析:做正確的事 (對問題需求調查研究)D設計:正確地做事 (概念上的解決方案)OA面向對象分析: 發現描述領域對象OD面向對象設計: 定義軟件對象及如何協作關鍵技能: 為軟件對象分配職責統一過程UP 核心思想:短固迭代進化可適應6個主要科目(工作流):業務建模,需求,設計,實現,測試,部署4個階段:初始、細化、構造、移交敏捷開發宣言:工、文
2、、合、計需求定義:能力,條件分類:FURPS+模型制品:USGVR用例概念: 參與者、場景、用例模型作用:捕獲用戶目標的最好辦法;發現定義需求的核心機制;強調了F:功能需求;不是OO,是OOAD關鍵需求的輸入表示法:摘要、非正式、詳述How:選邊界;定主參;定目標;以目標編用例細化階段一句話:構核架,決高險, 定需求,預進度 領域模型What is:可視化字典/概念模型/領域對象模型/分析對象模型How to: 尋找策略: 重用修改現有模型(首要); 常見分類列表; 名詞短語(從詳述用例)系統順序圖SSD作用:SSD是OC和OD的輸入;SSD中的操作在OC中分析;SSD是協作對象設計的起點;U
3、C文本是它的輸入系統事件:特定場景, 跨系統邊界的事件系統操作:對系統事件進行處理的系統行為或功能操作契約OC后置條件:三種狀態變化:實例創建刪除;屬性修改;關聯形成清除邏輯架構LALA:軟件類宏觀組織結構;組織為包、子系統、層等;對立術語:部署架構包圖:描述LA; 能組織如何事物層:對類、包、子系統粗顆粒度分組;高層可調用低層,反之不然常見層:UADBTF交互圖描述對象間消息交互, 比靜態圖價值更高種類:順序圖(柵欄式、順序清晰); 通信圖(網格式、空間效用 )UML類圖類屬性:2種表示方式: 屬性文本(內置屬性);關聯線(關聯屬性)。可見性4種(+Public;#Protected;Pac
4、kage;-Private)類關系:6種關系( 依賴; 關聯; 聚合; 組合; 繼承; 實現)GRASP:基于職責對象設計模式: 名稱; 問題;解決方案創建者問:誰創建對象?解:B創建A;B含聚A;B記錄A;B近用A;B初始化A信息專家IE問:如何分配職責?解:給IE(具有必要信息的類)低耦合問:降依賴,升重用?解:低耦合控制器問:如何連接UI層與領域層?解:領域層委托模式:門面控制器、用例控制器高內聚問:如何保持對象的可管理性?解:相關度和集中度多態問:如何處理“隨類型不同“ ?基于類型、可插拔。解:用多態操作間接性問:如何避免直接耦合?解:中介對象純虛構問:領域層對象不合適時,誰?解:給純
5、虛構對象防止變異問:如何避開變化和不穩定?解:創建穩定接口GoF設計模式接口型Adapter(適配器模式)Facade(門面模式)Composite(合成模式)Bridge(橋接模式)責任型Singleton(單例模式)Observer(觀察者模式)Mediator(調停者模式)Proxy(代理模式)Chain of Responsibility(責任鏈模式)Flyweight(享元模式)構造型Builder(建造模式)Factory Method(工廠方法模式)Abstract Factory(抽象工廠模式)Prototype(原型模式)Memento(備忘錄模式)操作型Template(模
6、板方法模式)State(狀態模式)Strategy(策略模式)Command(命令模式)Interpreter(解釋器模式)擴展型Decorator(裝飾模式)Iterator(迭代模式)Visitor(訪問者模式)對象間可見性設計動機:為了A向B發消息, B對須可見。對象間可見性4種:屬性可見性(相對持久);參數可見性(相對暫時);局部可見性(相對臨時:新實例賦予局部變量;返回對象賦局部變量);全局可見性(相對持久:賦予全局變量、單實例類)測試驅動開發與重構測試驅動開發TDD:關鍵點:先寫測試,后寫代碼重構Refactoring:重寫已有代碼的結構化方法(每次重構要通過單元測試);目標:得到
7、優秀代碼、矯正壞味代碼、清理惡臭代碼架構分析本質:識別影響架構的因素(架構因素),理解這些的可變性和優先級,并且解決這些問題(架構決策)。架構分析在UP中既包含架構調查(識別)也包含架構設計(解決)架構因素被記錄在補充規格說明中;架構決策被記錄在 SAD (軟件架構文檔)中架構的文檔化 軟件架構文檔SAD:描述有關架構的總體想法,包含架構分析的關鍵決策; 架構視圖:從指定視角出發的系統架構視圖;主要關注結構、模塊性、基本構件和主要控制流等方面。4+1視圖模型:4 個視圖分別是:邏輯、進程、部署和數據。“ +1 ”視圖指的是用例視圖。敏捷項目管理階段計劃:里程碑日期和目標迭代計劃:當前和下一次跌
8、代中的工作三、復習題名詞解釋:面向對象分析、設計 p499耦合 p216UML p8統一過程UP p14迭代 p15需求 p40用例 p47領域模型 p100邏輯架構 p146層 p147模式 p499GRASP p210開放-封閉原則 p315得墨忒耳定律 p312階段計劃 p486進化點 p391簡答題:1. 簡述UP的4個階段和幾個主要科目,列出各科目主要制品,各制品的時限(開始時間及精化時間)。2. 簡述需求制品USGVR和需求模型FURPS+3. 簡述分層架構中的常見分層:UADBTF。簡述領域層與領域模型的區別。4. 簡述順序圖和通信圖的區別,掌握其相互間轉換。5. 簡述TDD、重構及其關系。6. 列出GRASP的9種設計原則,各解決了什么問題?7. 舉例說明設計原則“針對接口編程,而不是針對實現編程”。8. 列出GoF的23種設計模式名
評論
0/150
提交評論