1.OOAD 面向?qū)ο蠓治雠c設(shè)計
OO 面向?qū)ο?br>
A 分析
D 設(shè)計
分析階段(What to DO)
- 建立針對業(yè)務(wù)問題的清晰邏輯視圖
- 列出系統(tǒng)必須要完成的核心任務(wù)
- 針對問題域建立公共詞匯表
- 列出針對此問題域的最佳解決方案
設(shè)計階段(How to DO)
- 如何解決具體的業(yè)務(wù)問題
- 引入系統(tǒng)工作所需的支持元素
- 定義系統(tǒng)的實現(xiàn)策略
OOP(面向?qū)ο缶幊?的主要特征
抽象、封裝、繼承哪雕、
多態(tài)、關(guān)聯(lián)薪韩、聚合、組合捌锭、內(nèi)聚與耦合
- 抽象:忽略對象或?qū)嶓w的細(xì)節(jié)而只關(guān)注其本質(zhì)特征的過程
- 封裝:隱藏數(shù)據(jù)和實現(xiàn)俘陷,提供公共方法供用戶調(diào)用
內(nèi)部視圖:對象如何完成工作
外部視圖:對象如何完成工作 - 繼承:通過存在的類型定義新類型的機(jī)制,實現(xiàn)代碼重用
- 多態(tài):一個名稱观谦、多種形式拉盾,基于繼承的方式
- 關(guān)聯(lián):對象之間交互時的一種引用方式
- 聚合:特殊的關(guān)聯(lián)關(guān)系,強(qiáng)關(guān)聯(lián)關(guān)系豁状,一個對象作為另一個對象的屬性而存在捉偏,一個對象是另一個對象的組成部分
- 組合:當(dāng)一個對象包含另一個對象,外部對象負(fù)責(zé)管理內(nèi)部對象的生命周期泻红,最強(qiáng)烈的一種關(guān)聯(lián)告私,內(nèi)部對象完全由外部對象控制
OO的相關(guān)概念
也可稱為設(shè)計模型,可以由以下內(nèi)容組成:
- 具有狀態(tài)和行為對象
- 域?qū)ο笾g的關(guān)系
關(guān)聯(lián)承桥、依賴、聚集根悼、一般化(泛化)
關(guān)聯(lián)關(guān)系:一對多凶异、多對一蜀撑、一對一、多對多
實線剩彬、線箭頭
依賴關(guān)系:一類依賴另一類中的方法虛線酷麦、線箭頭
聚集關(guān)系:整體和部分之間的關(guān)系空菱形箭頭、實線
泛化關(guān)系:類與類之間的繼承關(guān)系空三角箭頭喉恋、實線
內(nèi)聚與耦合:
- 內(nèi)聚:一個類獨(dú)立完成某項工作的能力
- 耦合:度量系統(tǒng)內(nèi)或系統(tǒng)之間依賴關(guān)系的復(fù)雜度
- 目標(biāo):高內(nèi)聚低耦合
開發(fā)模式
瀑布模型:需求-分析-設(shè)計-開發(fā)-測試
統(tǒng)一軟件開發(fā)過程(USDP):大項目分解為一些子項目沃饶,使用UML工具,是一個迭代遞增的過程轻黑。
迭代糊肤、遞增的生命周期:項目周期時迭代、遞增的氓鄙,迭代是指生命周期中的一個步驟馆揉,迭代導(dǎo)致遞增或者項目周期的增長、大項目分解為子項目抖拦。
2.UML
UML即Unified Modeling Language 統(tǒng)一建模語言升酣,圖形化的語言表示
幫助我們在OOAD的過程中標(biāo)識元素、構(gòu)建模塊态罪、分析過程噩茄、并可通過文檔說明系統(tǒng)中的重要細(xì)節(jié)。
熟悉UML的九種基本圖形
UML圖的分類
靜態(tài)模型(static model)
創(chuàng)建并記錄一個系統(tǒng)的靜態(tài)特征
反映一個軟件系統(tǒng)基礎(chǔ)复颈、固定的框架結(jié)構(gòu)
創(chuàng)建相關(guān)問題域主要元素的視圖
包括有用例(況)圖
绩聘、類圖
、對象圖
券膀、組件圖
君纫、部署圖
動態(tài)模型(dynamic model)
用以展示系統(tǒng)的行為
包括有時序圖
、協(xié)作圖
芹彬、狀態(tài)圖
蓄髓、活動圖
UML其他的重要元素
- 包(package)
- 擴(kuò)展機(jī)制
注釋
構(gòu)造型
標(biāo)記值
限制
核心UML圖
用例圖(Use Case Diagram)
展示系統(tǒng)的核心功能以及與之交互的用戶
參與者(actor)
用小人圖標(biāo)表示,用例
使用橢圓表示舒帮,為簡化建模過程会喝,用例圖可標(biāo)注優(yōu)先級
小人用戶實線加線箭頭指向橢圓用例
actor - directed_association - use_case
有一類特殊的參與者
:構(gòu)造型
(矩形框,書名號帶名稱玩郊,表示另一個系統(tǒng)扮演的參與者)
類圖(Class diagram)
- 表現(xiàn)類的特征
- 描述了多個類肢执、接口的特征,以及對象之間的協(xié)作與交互
- 由一個或多個矩形區(qū)域構(gòu)成译红,包括:
類型(類名)
预茄、屬性(可選)attributes
、操作(可選)operation
- 常用的類與類之間的關(guān)系:
關(guān)聯(lián)關(guān)系(directed association)
侦厚、聚合
耻陕、組合
拙徽、依賴
、泛化(generalization)
未完待續(xù)