面向對象的設計一直是我們現在所接觸的(VB不完全是),也是聽說的遍數最多的設計程式方法。其中的基礎,我感覺還是子產品的設計和具體軟體流程的設計,但是在這期間确有有很多小部分在其中,同樣是不可以忽視的,例如資料/檔案的設計等,下面是我的導圖:

在UML視訊裡還講了用例設計分析,使用者界面設計分析等,在此隻說軟工視訊裡的面向對象設計。
(一)、子產品設計(核心)
(1)、 基本屬性:功能、邏輯、狀态
基本來講為功能是描述了子產品實作了什麼功能,邏輯描述了子產品内部應該怎麼做,而狀态則描述了子產品的使用環境。
(2)、子產品的耦合,内聚
作為子產品而言,軟體工程的要求為高内聚低耦合,旨在降低後期維護的難度,增加軟體各個子產品之間的配合簡易度,使之成為專用的東西。
1)、耦合
子產品間的耦合通常有非直接耦合、資料耦合、标記耦合、控制耦合、外部耦合、公共耦合、内容耦合7種耦合方式,他們的耦合性如圖所示:
從軟工的角度來講有:盡量用資料耦合,少用控制耦合,限制公共耦合,完全不用内容耦合
耦合之間的差別其實質上在于通路方法和傳送的資料不同,而限制耦合性大小的因素主要是關聯的大小,也就是資料的重要性和通路是否需要調用很多的東西。
2)、内聚
子產品的内聚有功能内聚、資訊内聚、通信内聚、過程内聚、時間内聚、邏輯内聚、巧合内聚這7個内聚方式,具體内聚性大小如圖所示:
是以我們要盡可能的使用功能内聚,不使用巧合内聚,加強子產品的獨立性。
内聚之間的差別主要是功能涵蓋的差別,通路檔案/資料的不同,使用的接口不同,和在資料結構的分布不同這幾個特點,主要區分他們就可以厘清楚是哪個内聚類型了。
(二)、結構化設計方法
該設計方法是在子產品設計的基礎上對系統功能進行逐漸的分析和建構資料流向,它主要基于資料流圖和業務流圖,進行設計實作子產品間的高扇入低扇出,應該明确子產品的功能及作用範圍。
(三)、資料/檔案設計
是為了具體的過程設計大好基礎,實作了資料是明确的,可循的,檔案的結構也是要确定下來的,檔案中存儲的資料也是要确定的。
(四)、過程設計
該階段主要是設計具體的功能實作的算法,實作特定的功能,主要的輔助工具是各種圖表和PDL設計語言,最重要的是可以明确子產品的接口類型和使用地方以及作用範圍。
(五)、編寫概要設計文檔
把上述設計的流程和可能出現的錯誤表述出來,指出程式所需要的基本配置和檔案。
面向對象的軟體設計主要是把軟體分解成為一個個功能對象,然後實作功能之間的聯系和資料通路,最後形成軟體的初步形态,這是軟體設計的初步。