查看匯總:2014年計算機三級《信息管理》考試要點(diǎn)匯總
三級信息管理技術(shù)分章節考試要點(diǎn):軟件工程(結構化生命周期方法之軟件設計)
軟件設計
在明確了用戶(hù)的需求以后,下一步的任務(wù)就是對未來(lái)的軟件系統進(jìn)行設計。軟件設計通?煞譃楦乓O計和詳細設計。概要設計的任務(wù)是確定軟件系統的結構,進(jìn)行模塊劃分,確定每個(gè)模塊的功能、接口以及模塊間的調用關(guān)系。詳細設計的任務(wù)是為每個(gè)模塊設計實(shí)現的細節。此外,在概要設計階段還應對全局數據結構進(jìn)行設計,詳細設計階段還應對局部數據結構進(jìn)行設計。有的設計方法不區分概要設計和詳細設計,統稱(chēng)為軟件設計。
人們在開(kāi)發(fā)過(guò)程中,總結出許多軟件設計的概念和原則,這些概念和原則對提高軟件的設計質(zhì)量有很大的幫助。
1.抽象
抽象是指忽視一個(gè)主題中與當前目標無(wú)關(guān)的那些方面,以便更充分地注意與當前目標有關(guān)的方面。抽象是認識復雜問(wèn)題的過(guò)程中人類(lèi)使用的最有力的思維工具,它抽取出事物的本質(zhì)特性而暫時(shí)不考慮它的細節。
軟件工程中從軟件定義到軟件開(kāi)發(fā)要經(jīng)歷多個(gè)階段,在這個(gè)過(guò)程中每前進(jìn)一步都可看作是對軟件的抽象層次的一次細化。抽象的最低層次就是實(shí)現該軟件的源程序代碼。在進(jìn)行模塊化設計時(shí)可以有多個(gè)抽象層次,最高抽象層次的模塊用概括的方式敘述問(wèn)題的解法,較低抽象層次的模塊是對較高的抽象層次模塊對問(wèn)題解決描述的細化。過(guò)程抽象和數據抽象是常用的兩種主要抽象手段。
過(guò)程抽象是指任何一個(gè)完成明確功能的操作都可被使用者當作單個(gè)的實(shí)體看待,盡管這個(gè)操作實(shí)際上可能由一系列更低級的操作來(lái)完成。過(guò)程抽象常常也稱(chēng)為功能/子功能抽象。例如函數、子程序。
數據抽象定義了數據類(lèi)型和施加于該類(lèi)型的操作,并限定了對象值的范圍,只能通過(guò)使用這些操作修改和觀(guān)察這些數據,例如抽象數據類(lèi)型。
2.模塊化
模塊化是指將一個(gè)待開(kāi)發(fā)的軟件分解成若干個(gè)小的簡(jiǎn)單的部分———模塊,每個(gè)模塊可獨立地開(kāi)發(fā)、測試,最后組裝成完整的程序。這是一種復雜問(wèn)題的“分而治之”的原則,模塊化的目的是使程序的結構清晰,容易閱讀,容易理解,容易測試,容易修改。
模塊是指執行某一特定任務(wù)(也可以是實(shí)現某一特定的抽象數據類(lèi)型)的數據結構和程序代碼。一個(gè)模塊有它的外部特征和內部特征。外部特征包括模塊的接口(即它的輸入/輸出參數,引用的全局變量和它需調用的其他模塊)和模塊的功能,內部特征包括模塊的局部數據和實(shí)現該模塊的程序代碼。調用一個(gè)模塊只需知道它的外部特征,而不必了解其內部特征。
3.信息隱蔽
信息隱蔽是開(kāi)發(fā)整體程序結構時(shí)使用的法則,即將每個(gè)程序的成分隱蔽或封裝在一個(gè)單一的設計模塊中,定義每一個(gè)模塊時(shí)盡可能少地顯露其內部的處理。
在設計時(shí)首先列出一些可能發(fā)生變化的因素,在劃分模塊時(shí)將一個(gè)可能發(fā)生變化的因素隱蔽在某個(gè)模塊的內部,使其他模塊與這個(gè)因素無(wú)關(guān)。在這個(gè)因素發(fā)生變化時(shí),我們只需修改含有這個(gè)因素的模塊,而與其他模塊無(wú)關(guān)。
隱蔽的對象可以有:什么樣的決策、可能修改的決策、數據結構的內部連接以及對它所做的操作細節、內部特征碼、與計算機硬件有關(guān)的細節等。
信息隱蔽原則對提高軟件的可修改性、可測試性和可移植性都有重要的作用。
4.模塊獨立
模塊獨立是指每個(gè)模塊完成一個(gè)相對獨立的特定子功能,并且與其他模塊之間的聯(lián)系簡(jiǎn)單。衡量模塊獨立程序的度量標準有兩個(gè):耦合和內聚。耦合是指模塊之間聯(lián)系的緊密程度。耦合度越高則模塊的獨立性越差。內聚是指模塊內部各元素之間聯(lián)系的緊密程度。例如一個(gè)完成多個(gè)功能的模塊的內聚度就比完成單一功能的模塊的內聚度低。內聚度越低模塊的獨立性越差。因此,模塊獨立就是希望每個(gè)模塊都是高內聚低耦合的。
(1)耦合
兩個(gè)模塊之間的耦合方式通常有如下7種,下面按它們的耦合度從低到高的次序依次作介紹。①非直接耦合:非直接耦合是指兩個(gè)模塊沒(méi)有直接的聯(lián)系,它們中的任一個(gè)都能不依賴(lài)于對方而獨立地工作。
、跀祿詈:數據耦合是指兩個(gè)模塊借助于參數表傳遞簡(jiǎn)單數據。
、蹣擞涶詈(stamp coupling):當一個(gè)數據結構的一部分(如記錄的一部分)借助于模塊接口被傳遞時(shí)就發(fā)生標記耦合。
、芸刂岂詈:控制耦合指兩個(gè)模塊間傳遞的信息中包含用于控制模塊內部邏輯的控制信息。⑤外部耦合:當模塊與軟件以外的環(huán)境有關(guān)時(shí)就發(fā)生外部耦合。例如,輸入/輸出把一個(gè)模塊與特定的設備、格式、通信協(xié)議耦合在一起。
、薰柴詈:多個(gè)模塊引用一全局數據區的模式稱(chēng)為公共耦合。例如FORTRAN語(yǔ)言中的COMMON語(yǔ)句、C語(yǔ)言中的external數據類(lèi)型、一個(gè)磁盤(pán)文件等都是全局數據區。⑦內容耦合:內容耦合指兩上模塊之間出現了下列情況之一:
·一個(gè)模塊訪(fǎng)問(wèn)另一個(gè)模塊的內部數據;
·一個(gè)模塊不通過(guò)正常入口轉到另一模塊的內部;·兩個(gè)模塊有一部分程序代碼重疊;
·一個(gè)模塊有多個(gè)入口。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |