官术网_书友最值得收藏!

4.2 設(shè)計(jì)過(guò)程

設(shè)計(jì)過(guò)程從軟件的宏觀視圖向微觀視圖轉(zhuǎn)移,后者定義了實(shí)現(xiàn)系統(tǒng)所必需的細(xì)節(jié)。設(shè)計(jì)過(guò)程開(kāi)始時(shí)關(guān)注體系結(jié)構(gòu),然后定義子系統(tǒng)、建立子系統(tǒng)之間的通信機(jī)制、識(shí)別構(gòu)件、開(kāi)發(fā)每個(gè)構(gòu)件的詳細(xì)描述,另外,還要設(shè)計(jì)外部接口、內(nèi)部接口和用戶(hù)接口。

軟件設(shè)計(jì)是一個(gè)迭代的過(guò)程,通過(guò)這個(gè)過(guò)程,需求被變換為用于構(gòu)建軟件的“藍(lán)圖”。初始時(shí),藍(lán)圖描述了軟件的整體視圖,也就是說(shuō),設(shè)計(jì)是在高抽象層次上的表達(dá)——在該層次上可以直接跟蹤到特定的系統(tǒng)目標(biāo)和更詳細(xì)的數(shù)據(jù)、功能及行為需求。隨著設(shè)計(jì)迭代的開(kāi)始,后續(xù)的精化導(dǎo)致較低抽象層次的設(shè)計(jì)表示。這些表示仍然能夠跟蹤到需求,但連接更加錯(cuò)綜復(fù)雜。

4.2.1 軟件質(zhì)量指導(dǎo)原則和屬性

在整個(gè)設(shè)計(jì)過(guò)程中,要使用一系列技術(shù)評(píng)審(Technical Review,TR)來(lái)評(píng)估設(shè)計(jì)演化的質(zhì)量。下面3條良好設(shè)計(jì)演化的特征可以作為設(shè)計(jì)過(guò)程的指導(dǎo)。

●設(shè)計(jì)必須實(shí)現(xiàn)所有包含在需求模型中的明確需求,而且必須滿(mǎn)足干系人期望的所有隱含需求。

●對(duì)于那些生成代碼的人和那些進(jìn)行測(cè)試及隨后維護(hù)軟件的人而言,設(shè)計(jì)必須是可讀的、可理解的指南。

●設(shè)計(jì)必須提供軟件的全貌,從實(shí)現(xiàn)的角度說(shuō)明數(shù)據(jù)域、功能域和行為域。

1.質(zhì)量指導(dǎo)原則

為了評(píng)估某個(gè)設(shè)計(jì)表示的質(zhì)量,軟件團(tuán)隊(duì)中的成員必須建立良好設(shè)計(jì)的技術(shù)標(biāo)準(zhǔn)??紤]以下幾個(gè)原則。

1)設(shè)計(jì)應(yīng)展示出這樣一種結(jié)構(gòu):①已經(jīng)使用可識(shí)別的體系結(jié)構(gòu)風(fēng)格或模式創(chuàng)建;②由展示出良好設(shè)計(jì)特征的構(gòu)件構(gòu)成;③能夠以演化的方式實(shí)現(xiàn),從而便于實(shí)現(xiàn)和測(cè)試。

2)設(shè)計(jì)應(yīng)該模塊化;也就是說(shuō),應(yīng)將軟件邏輯地劃分為元素或子系統(tǒng)。

3)設(shè)計(jì)應(yīng)包含數(shù)據(jù)、體系結(jié)構(gòu)、接口和構(gòu)件的清晰表示。

4)設(shè)計(jì)應(yīng)導(dǎo)出數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)適用于要實(shí)現(xiàn)的類(lèi),并從可識(shí)別的數(shù)據(jù)模式提取。

5)設(shè)計(jì)應(yīng)導(dǎo)出顯示獨(dú)立功能特征的構(gòu)件。

6)設(shè)計(jì)應(yīng)導(dǎo)出接口,這些接口降低了構(gòu)件之間,以及與外部環(huán)境連接的復(fù)雜性。

7)設(shè)計(jì)的導(dǎo)出應(yīng)根據(jù)軟件需求分析過(guò)程中獲取的信息采用可重復(fù)的方法進(jìn)行。

8)應(yīng)該使用能夠有效傳達(dá)其意義的表示法來(lái)表達(dá)設(shè)計(jì)。

達(dá)到這些設(shè)計(jì)原則不能靠偶然,設(shè)計(jì)工程應(yīng)通過(guò)應(yīng)用基本的設(shè)計(jì)原則、系統(tǒng)化的方法學(xué)和嚴(yán)格的評(píng)審來(lái)保證良好的設(shè)計(jì)。

2.質(zhì)量屬性

所謂FURPS,是指一系列的軟件質(zhì)量屬性,取其首字母組合來(lái)表示,分別代表功能性(functionality)、易用性(usability)、可靠性(reliability)、性能(performance)和可支持性(supportability)。FURPS質(zhì)量屬性體現(xiàn)了所有軟件設(shè)計(jì)的目標(biāo)。

●功能性通過(guò)程序的特征集和能力、所提交功能的通用性,以及整個(gè)系統(tǒng)的安全性來(lái)評(píng)估。

●易用性通過(guò)考慮人員因素、整體美感、一致性和文檔來(lái)評(píng)估。

●可靠性通過(guò)測(cè)量故障的頻率和嚴(yán)重性、輸出結(jié)果的精確性、平均故障時(shí)間(Mean-Time-To-Failure,MTTF)、故障恢復(fù)能力和程序的可預(yù)見(jiàn)性來(lái)評(píng)估。

●性能通過(guò)考慮處理速度、響應(yīng)時(shí)間、資源消耗、吞吐量和效率來(lái)度量。

●可支持性綜合了可擴(kuò)展性(擴(kuò)展程序的能力)、適應(yīng)性和耐用性這3方面的能力(這3個(gè)屬性體現(xiàn)了可維護(hù)性)。此外,還包括可測(cè)試性、兼容性、可配置性(組織和控制軟件配置元素的能力)、系統(tǒng)安裝的簡(jiǎn)易性和問(wèn)題定位的容易性。

在進(jìn)行軟件設(shè)計(jì)時(shí),并不是每個(gè)軟件質(zhì)量屬性都具有相同的權(quán)重。有的應(yīng)用問(wèn)題可能強(qiáng)調(diào)功能性,特別突出安全性;有的應(yīng)用問(wèn)題可能要求性能,特別突出處理速度;還有的可能關(guān)注可靠性。拋開(kāi)權(quán)重不談,重要的是要注意到:必須在設(shè)計(jì)開(kāi)始時(shí)就考慮這些質(zhì)量屬性,而不是在設(shè)計(jì)完成后和構(gòu)造已經(jīng)開(kāi)始時(shí)才考慮。

4.2.2 軟件設(shè)計(jì)的演化

早期的軟件設(shè)計(jì)工作注重模塊化程序開(kāi)發(fā)的標(biāo)準(zhǔn)和以自頂向下的方式對(duì)軟件結(jié)構(gòu)進(jìn)行求精的方法,設(shè)計(jì)定義的過(guò)程方面演化為結(jié)構(gòu)化程序設(shè)計(jì)的方法。后來(lái)的工作提出了將數(shù)據(jù)流或數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為設(shè)計(jì)定義的方法。較新的設(shè)計(jì)提出了面向?qū)ο蠓椒ā=陙?lái),軟件體系結(jié)構(gòu)和可用于實(shí)施軟件體系結(jié)構(gòu)及較低級(jí)別的設(shè)計(jì)抽象的設(shè)計(jì)模式已經(jīng)成為軟件設(shè)計(jì)的重點(diǎn)。面向方面的方法、模型驅(qū)動(dòng)開(kāi)發(fā)及測(cè)試驅(qū)動(dòng)開(kāi)發(fā)日益受到重視,這些方法強(qiáng)調(diào)在設(shè)計(jì)中獲得更有效的模塊化和體系結(jié)構(gòu)的技術(shù)。

每一種軟件設(shè)計(jì)方法介紹了獨(dú)特的啟發(fā)式和表示法,這些方法有一些共同之處:①將需求模型轉(zhuǎn)化為設(shè)計(jì)表示的方法;②表示功能性構(gòu)件及它們之間接口的方法;③精化和分割的啟發(fā)式方法;④質(zhì)量評(píng)估的指導(dǎo)原則。不管使用哪種設(shè)計(jì)方法,都應(yīng)該將基本概念運(yùn)用到數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和構(gòu)件級(jí)設(shè)計(jì)中。

主站蜘蛛池模板: 虎林市| 阳山县| 宽城| 广灵县| 孟村| 依兰县| 洛扎县| 利辛县| 棋牌| 龙口市| 措勤县| 海阳市| 微山县| 雅江县| 乌拉特后旗| 肃北| 荣成市| 云龙县| 遵化市| 沈阳市| 北海市| 胶南市| 通城县| 阳朔县| 宜都市| 化州市| 宁乡县| 图木舒克市| 昭苏县| 游戏| 东丽区| 定州市| 龙胜| 承德县| 焉耆| 汉沽区| 水富县| 宁乡县| 甘泉县| 沧源| 昭平县|