面向過程的軟件設計方法

先奉上我對於第四章 面向過程的軟件設計方法的理解,然後這篇博客我想詳細的總結一下軟件設計基礎。

1 自頂向下,逐步細化

將軟件的體系結構按自頂向下方式,對各個層次的過程細節和數據細節逐層細化;

2 軟件結構

軟件結構包括兩部分:程序的模塊結構和數據的結構;

 

一般對於軟件結構的設計,我們會採取劃分成許多子結構的方式,因爲 解決子結構的工作總和量<解決某結構的工作總和量

 3 程序結構

一般有兩種:樹狀結構和網狀結構。

樹狀結構:層數明顯,每個結構只有一個父節點;縱向-深度,橫向-寬度;

網狀結構:任何節點之間都可以建立聯繫,但是看不出歷史關係,也就是調用關係。 

4 結構圖 (S-C圖)

結構圖由模塊構成,每個模塊具有自己的功能,一般按照縮寫來命名模塊;

 

被調用模塊收到信息後,一定要返回信息;控制信息--就是說該信息所具有的功能一定要描述出來。

 

 

菱形塊--調用

弧形--循環調用

5 模塊化

能夠把一個大而複雜的軟件系統劃分成易於理解的比較單純的模塊結構;

6 抽象化

軟件系統進行模塊設計時,可以有不同的抽象層次。

這裏我們需要了解抽象的定義和特徵;

抽象是從衆多的事物中抽取出共同的、本質性的特徵,而捨棄其非本質的特徵。例如蘋果、香蕉、生梨、葡萄、桃子等,它們共同的特性就是水果。得出水果概念的過程,就是一個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到共同的部分。
共同特徵是指那些能把一類事物與他類事物區分開來的特徵,這些具有區分作用的特徵又稱本質特徵。因此抽取事物的共同特徵就是抽取事物的本質特徵,捨棄不同特徵。所以抽象的過程也是一個裁剪的過程,不同的、非本質性的特徵全部裁剪掉了。
所謂的共同特徵,是相對的,是指從某一個刻面看是共同的。比如,對於汽車和大米,從買賣的角度看都是商品,都有價格,這是他們的共同的特徵,而從其他方面來比較,他們則是不同的。所以在抽象時,同與不同,決定於從什麼角度上來抽象。抽象的角度取決於分析問題的目的。

抽象層次Ⅰ

比如我們作品展時,自己設計的作品,我們的作品想要實現單詞打卡監督,分享的功能,這是第一層抽象層次,用語言將需求描述出來;

抽象層次Ⅱ

任務需求的描述:

打卡小管家SOFTWARE TASKS 

user interaction tasks;  graphics display tasks; flash media play tasks;end

但是,在這個抽象層次上,未給出“怎樣做的”信息,不能直接實現。

抽象層次 Ⅲ

PROCEDURE : falsh media  play

REPEAT UNTIL (falsh media play task terminates)

 DO WHILE (user interaction occurs)

user interaction task;

   DETERMINE words play case;

     hope :  

    challenge:

    change

   ……

用程序過程表示。

 

7 信息隱蔽

信息隱蔽指在設計和確定模塊時,使得一個模塊內包含信息(過程或數據),對於不需要這些信息的其他模塊來說,是不能訪問的.

在面向對象方法中,信息隱蔽是通過對象的封裝性來實現的。

信息隱蔽的概念與模塊的獨立性直接相關。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章