軟件設計規(guī)范要求_第1頁
軟件設計規(guī)范要求_第2頁
軟件設計規(guī)范要求_第3頁
軟件設計規(guī)范要求_第4頁
軟件設計規(guī)范要求_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

軟件設計規(guī)范要求

XXX股份有限公司

20XX年XX月

軟件設計規(guī)范要求

目錄

1用戶界面設計規(guī)范.........................................................1

1.1界面設計介紹..........................................................1

1.1.1軟件啟動封面設計.............................................................................................................1

1.1.2軟件框架設計.....................................................................................................................2

1.1.3軟件按鈕設計.....................................................................................................................2

1.1.4軟件面板設計.....................................................................................................................2

1.1.5菜單設計..............................................................................................................................3

1.1.6標簽設計..............................................................................................................................3

1.1.7圖標設計..............................................................................................................................3

1.1.8滾動條及狀態(tài)欄設計........................................................................................................3

1.1.9安裝過程設計......................................................................................................................4

1.1.10包裝及商品化......................................................................................................................4

2界面設計原則............................................................1

2.1易用性................................................................1

2.2規(guī)范性................................................................2

2.3合理性................................................................3

2.4美觀與協(xié)調(diào)性..........................................................4

2.5界面一致性............................................................5

2.6用戶幫助..............................................................7

3編程規(guī)范總則............................................................1

XXXX股份有限公司1

軟件設計規(guī)范要求

3.1排版..................................................................1

3.2注釋..................................................................3

3.3標識符命名............................................................5

3.4可讀性................................................................7

3.5變量與結(jié)構(gòu)............................................................7

3.6函數(shù)與過程............................................................9

3.7可測性...............................................................11

3.8程序效率.............................................................13

3.9質(zhì)量保證.............................................................14

3.10代碼編輯、編譯與審查.................................................16

3.11代碼測試與維護.......................................................17

XXXX股份有限公司

軟件設計規(guī)范要求

1用戶界面設計規(guī)范

用戶界面:又稱人機界面,實現(xiàn)用戶與計算機之間的通信,

以控制計算機或進行用戶與計算機之間的數(shù)據(jù)傳送的系統(tǒng)部件。

GLI:即圖形用戶界面,一種可視化的用戶界面,它使用圖形界

面代替正文界面。本系統(tǒng)堅持圖形用戶界面(GUI)設計原則,界

面直觀、對用戶透明。用戶接觸軟件后對界面上對應的功能一目

了然、不需要多少培訓就可以方便地使用本應用系統(tǒng)。

1.1界面設計介紹

界面設計是為了滿足軟件專業(yè)化標準化的需求而產(chǎn)生的對

軟件的使用界面進行美化優(yōu)化規(guī)范化的設計分支。

1.1.1軟件啟動封面設計

應使軟件啟動封面最終為高清晰度的圖像,選用的色彩式宜

超過256色,大小多為主流顯示器分辨率的1/6大。啟動封面上

應該醒目地標注制作或支持的公司標志、產(chǎn)品商標、軟件名稱、

版本號、網(wǎng)址、版權(quán)聲明、序列號等信息,以樹立軟件形象,方

便使用者或購買者在軟件啟動的時候得到提示。插圖宜使用具有

獨立版權(quán)的、象征性強的、識別性高的、視覺傳達效果好的圖形,

若使用攝影也應該進行數(shù)位處理,以形成該軟件的個性化特征。

XXX股份有限公司1

軟件設計規(guī)范要求

如果是系列軟件還將考慮整體設計的統(tǒng)一和延續(xù)性。

1.1.2軟件框架設計

軟件的框架設計相對比較復雜,軟件框架設計應該簡潔明快,

盡量少用無謂的裝飾,應該考慮節(jié)省屏幕空間,各種分辨率的大

小,縮放時的狀態(tài)和原則,并且為將來設計的按鈕、菜單、標簽、

滾動條及狀態(tài)欄預留位置。設計中將整體色彩組合進行合理搭配,

將軟件商標放在顯著位置,主菜單應放在左邊或上邊,滾動條放

在右邊,狀態(tài)欄放在下邊,以符合視覺流程和用戶使用心理。

1.1.3軟件按鈕設計

軟件按鈕設計應該具有交互性,即應該有3到6種狀態(tài)效

果:點擊前鼠標未放在上面時的狀態(tài);鼠標放在上面但未點擊的

狀態(tài);點擊時狀態(tài);點擊后鼠標未放在上面時的狀態(tài);不能點擊

時狀態(tài);獨立自動變化的狀態(tài)。按鈕應具備簡潔的圖示效果,名

稱易懂,用詞準確能望文知意最好,讓使用者產(chǎn)生功能關聯(lián)反應,

群組內(nèi)按鈕應該風格統(tǒng)一,功能差異大的按鈕應該有所區(qū)別。

1.1.4軟件面板設計

軟件面板設計應該具有縮放功能,面板應該對功能區(qū)間劃分

清晰,應該和對話框、彈出框等風格匹配,盡量節(jié)省空間,切換

方便。

XXX股份有限公司2

軟件設計規(guī)范要求

1.1.5菜單設計

菜單設計一般有選中狀態(tài)和未選中狀態(tài),左邊應為名稱,右

邊應為快捷鍵。如果有下級菜單應該有下級箭頭符號,不同功能

區(qū)間應該用線條分割。對與進行的操作無關的菜單要用屏蔽的方

式加以處理,如果采用動態(tài)加載方式,即只有需要的菜單才顯示

最好。主菜單的寬度要接近,字數(shù)不應多于四個,每個菜單的字

數(shù)能相同最好。主菜單數(shù)目不應太多,最好為單排布置。

1.1.6標簽設計

標簽設計應該注意轉(zhuǎn)角部分的變化,狀態(tài)可參考按鈕。

1.1.7圖標設計

圖標設計色彩不宜超過64色,大小為16x16,32x32兩種,

應該加以著重考慮視覺沖擊力,它需要在很小的范圍表現(xiàn)出軟件

的內(nèi)涵,在設計時使用簡單的顏色,利用眼睛對色彩和網(wǎng)點的空

間混合效果,做出精彩圖標。

1.1.8滾動條及狀態(tài)欄設計

滾動條主要是為了對區(qū)域性空間的固定大小中內(nèi)容量的變

換進行設計,應該有上下箭頭,滾動標等,有些還有翻頁標。狀

態(tài)欄是為了對軟件當前狀態(tài)的顯示和提示。

XXX股份有限公司3

軟件設計規(guī)范要求

1.1.9安裝過程設計

安裝過程設計主要是將軟件安裝的過程進行美化,包括對軟

件功能進行圖示化。

1.1.10包裝及商品化

軟件產(chǎn)品的包裝應該考慮保護好軟件產(chǎn)品,功能的宣傳融合

于美觀中,可以印刷部分產(chǎn)品介紹。

XXX股份有限公司4

軟件設計規(guī)范要求

2界面設計原則

2.1易用性

(1)完成相同或相近功能的按鈕用Frame框起來,常月按

鈕要支持快捷方式;

(2)完成同一功能或任務的元素放在集中位置,減少鼠標

移動的距離;

(3)按功能將界面劃分局域塊,月Frame框括起來,并要

有功能說明或標題;

(4)界面要支持鍵盤自動瀏覽按鈕功能,即按Tab鍵的自

動切換功能;

(5)同一界面上的控件數(shù)量最好人要超過10個,多于10

個,應考慮使用分頁界面顯示;

(6)分頁界面要支持在頁面間的快捷切換,常用組合快捷

鍵CtrlTab;

(7)默認按鈕要支持Enter及選擇操作,即按Enter后自

動執(zhí)行默認按鈕對應操作;

(8)可寫控件檢測到非法輸入后應給出說明并能自動獲得

焦點;

XXX股份有限公司1

軟件設計規(guī)范要求

(9)Tab鍵的順序與控件排列順序要一致,目前流行從上到

下、從左到右的方式;

(10)復選框和選項框要有默認選項,按選擇機率的高低而

先后排列,并支持Tab選擇;

(11)界面空間較小時使用下拉框而不用選項框;

(12)選項數(shù)較少時使用選項框,相反使用下拉列表框;

(13)適當使用相關的專業(yè)術(shù)語,提倡使用通用性字眼。

2.2規(guī)范性

通常界面設計都按Windows界面的規(guī)范來設計,即包含“菜

單條、工具欄、工具廂、狀態(tài)欄、滾動條、右鍵快捷菜單”的標

準格式。小型軟件一般不提供工具箱。

(1)菜單前的圖標能直觀地代表要完成的操作,常用菜單

要有命令快捷方式;

(2)完成相同或相近功能的菜單用橫線隔開放在同一位置,

菜單深度一般要求最多控制在三層以內(nèi);

(3)相同或相近功能的工具欄放在一起,工具欄中的每一

個按鈕要有及時提示信息;

(4)系統(tǒng)常用的工具欄設置默認放置位置,工具欄的圖標

XXX股份有限公司2

軟件設計規(guī)范要求

能直觀地代表要完成的操作,一條工具欄的長度不能超出屏幕寬

度;

(5)工具欄太多時可以考慮使用工具廂;工具廂要具有可

增減性,由用戶自己根據(jù)需求定制,默認總寬度不要超過屏幕寬

度的1/5;

(6)狀態(tài)條要能顯示用戶切實需要的信息,常用的有:目

前的操作、系統(tǒng)狀態(tài)、用戶位置、用戶信息、提示信息、錯誤信

息等,高度以放置五好字為宜;

(7)滾動條的長度要根據(jù)顯示信息的長度或?qū)挾饶芗皶r變

換,以利于用戶了解顯示信息的位置和百分比,并且寬度應匕狀

態(tài)條的略窄;

(8)菜單和工具條要有清楚的界限,菜單要求凸出顯示,

這樣在移走工具條時仍有立體感;

(9)菜單和狀態(tài)條中通常使用五號字體。工具條一般/菜

單要寬,但不要寬得太多,否則看起來很不協(xié)調(diào);

(10)右鍵快捷菜單采用與菜單相同的準則。

2.3合理性

屏幕對角線相交的位置是用戶直視的地方,正上方四分之一

處為易吸引用戶注意力的位置,在放置窗體時要注意利用這兩個

XXX股份有限公司3

軟件設計規(guī)范要求

位置。

(1)父窗體或主窗體的中心位置應該在對角線焦點附近;

(2)子窗體位置應該在主窗體的左上角或正中,多個子窗

體彈出時應該依次向右下方偏移,以顯示出窗體標題為宜;

(3)重要的命令按鈕與使用較頻繁的按鈕要放在界面上注

目的位置;

(4)與正在進行的操作無關的按鈕應該加以屏蔽(Windows

中用灰色顯示,沒法使用該按鈕);

(5)對可能造成數(shù)據(jù)無法恢復的操作必須提供確認信息,

給用戶放棄選擇的機會。

2.4美觀與協(xié)調(diào)性

(1)按鈕大小基本相近,且與界面的大小、空間要協(xié)調(diào),忌

用太長的名稱;

(2)避免空曠的界面上放置很大的按鈕,放置完控件后界

面不應有很大的空缺位置;

(3)前景與背景色搭配合理協(xié)調(diào),反差不宜太大,最好少

用深色,常用色考慮使用Windows界面色調(diào);

(4)界面風格要保持一致,字的大小、顏色、字體要相同,

XXX股份有限公司4

軟件設計規(guī)范要求

除非是需要藝術(shù)處理或有特殊要求的地方;

(5)如果窗咻支持最小化、最大化或放大時,窗體上的控

件也要隨著窗體而縮放;

(6)對于含有按鈕的界面一般不應該支持縮放,即右上角

只有關閉功能;

(7)通常父窗體支持縮放時,子窗體沒有必要縮放。

2.5界面一致性

在界面設計中應該保持界面的一致性。一致性既包括使月標

準的控件,也指使用相同的信息表現(xiàn)方法,如在字體、標簽風格、

顏色、術(shù)語、顯示錯誤信息等方面確保一致。

(1)顯示信息一致性

①標簽提示:字體為不加粗、宋體、黑色、灰底或透明、無

邊框、右對齊、不帶冒號、一般情況為五號;

②日期:正常字體、宋體、白底黑字;

③對齊方法

左對齊:一般文字、單個數(shù)字、日期等

右對齊:數(shù)字、時間、日期加時間

④分辨率

XXX股份有限公司5

軟件設計規(guī)范要求

800*600,增強色16色;

⑤字體缺省為宋體、五號、黑色;

⑥底色缺省為灰色。

這些信息的排列顯示風格供參考,在同一軟件中應當注意

表現(xiàn)形式的一致性。

(2)布局合理化

應注意在一個窗口內(nèi)部所有控件的布局和信息組織的藝術(shù)

性,使得用戶界面美觀。布局不宜過于密集,也不能過于空曠,

合理的利用空間。

在一個窗口中按tab鍵,移動順序不能雜亂無章,先從上至

下,再從左至右。一屏中首先應輸入的和重要信息的控件在tab

順序中應當靠前,并放在窗口上較醒目的位置。布局力求簡潔、

有序、易于操作。

(3)鼠標與鍵盤對應

應用中的功能只用鍵盤也應當可以完成,即設計的應用中還

應加入一些必要的按鈕和菜單項。但是,許多鼠標的操作,如雙

擊、拖動對象等,并不能簡單地用鍵盤來模擬即可實現(xiàn)。例如在

一個列表框中用鼠標單擊其中一項表示選中該項內(nèi)容,為了月鍵

盤也能實現(xiàn)這一功能,必須在窗口中定義一個表示選中的按鈕,

XXX股份有限公司6

軟件設計規(guī)范要求

以作為實現(xiàn)單擊功能的替。又如在一個窗口中有兩個數(shù)據(jù)窗口,

可以用鼠標從一個數(shù)據(jù)窗口中將一項拖出然后放到另一個中,如

果只用鍵盤,就應當在菜單中設置拷貝或移動的菜單項。

2.6用戶幫助

系統(tǒng)應該提供詳盡而可靠的幫助文檔,在用戶使用產(chǎn)生迷惑

時可以自己尋求解決方法。常用的幫助設施有兩種:集成的和附

加的。集成的幫助設施一開始就是設計在軟件中的,它與語境有

關,用戶可以直接選擇與所要執(zhí)行操作相關的主題。通過集成幫

助設施可以縮短用戶獲得幫助的時間,增加界面的友好性,附加

的幫助設施在系統(tǒng)建好以后再加進去,通常是一種查詢能力比較

弱的聯(lián)機幫助。

(1)幫助文檔中的性能介紹與說明要和系統(tǒng)性能配套一致;

(2)最好提供目前流行的聯(lián)機幫助格式或HTML幫助格式;

(3)在幫助中應該提供我們的技術(shù)支持方式,一旦用戶難

以自己解決可以方便地尋求新的幫助方式。

XXX股份有限公司7

軟件設計規(guī)范要求

3編程規(guī)范總則

3.1排版

(1)程序塊要采用縮進風格編寫,縮進的空格數(shù)為4個,

對于由開發(fā)工具自動生成的代碼可以不一致;

(2)相對獨立的程序塊之間、變量說明之后必須加空行;

(3)較長的語句要分成多行書寫,長表達式要在低優(yōu)先級

操作符處劃分新行操作符放在新行之首,劃分出的新行要進行適

當?shù)目s進,使排版整齊,語句可讀;

(4)循環(huán)、判斷等語句中若有較長的表達式或語句,則要

進行適應的劃分,同3);

(5)若函數(shù)或過程中的參數(shù)較長,也要進行適當?shù)膭澐郑?/p>

(6)不允許把多個短語句寫在一行中,即一行只寫一條語

句;

(7)if、for、do、while>case、switch、default等語句

自占一行,且if、for、do、while等語句的執(zhí)行語句部分無論

多少都要加括號{};

(8)對齊只使用空格鍵,不使用TAB鍵;

XXX股份有限公司1

軟件設計規(guī)范要求

(9)函數(shù)或過程的開始、結(jié)構(gòu)的定義及循環(huán)、判斷等語句

中的代碼都要采用縮進風格,case語句下的處理語句也要遵從

語句縮進要求;

(10)程序塊的分界符(如大括號'{‘和'}')應各獨占一

行并且位于同一列,同時與引用它們的語句左對齊。在函數(shù)體的

開始定義、類的定義、結(jié)構(gòu)的定義、枚舉的定義以及if、for、

do、while、switch、case語句中的程序都要采用如上的縮進方

式;

(11)在兩個以上的關鍵字、變量、常量進行對等操作時,

它們之間的操作符之前、之后或者前后要加空格,但不要連續(xù)留

兩個以上空格。進行非對等操作時,如果是關系密切的操作符(如

->)后不應加空格。采用這種松散方式編寫代碼的目的是使代

碼更加清晰,在已經(jīng)非常清晰的語句中沒有必要再留空格。如果

語句已足夠清晰,則括號內(nèi)側(cè)(即左括號后面和右括號前面)刀需

要加空格,多重括號間也不必加空格。在長語句中,如果需要加

的空格非常多,那么應該保持整體清晰,而在局部不加空格。

1)逗號、分號只在后面加空格。inta,b,c;

2)比較操作符、賦值操作符、算術(shù)操作符、邏輯操作符、位

操作符等雙目操作符的前后加空格。

a=bc;

xxx股份有限公司2

軟件設計規(guī)范要求

a*=2;

a=b2;

3)“!“、八”、””、"一“、"&”(地址運算符)等單目操作符

前后不加空格。

flag=!isFull;

p=&com;

*

1;

4)”."前后不加空格。

5)if、for、while>switch等與后面的括號間應加空格,

使if等關鍵字更為突出、明顯。

if(a>=b&&c>d)

(12)一行程序以小于80字符為宜,不要寫得過長。

3.2注釋

注釋應該說明代碼的目的,要講清為什么要那么做,而不是

怎么去做。

(1)一般情況下,源程序有效注釋量必須在20%以上。注

釋的原則是有助于對程序的閱讀理解,在該加的地方都加,注釋

不宜太多也不能太少,注釋語言必須準確、易懂、簡潔;

XXX股份有限公司3

軟件設計規(guī)范要求

(2)注釋格式盡量統(tǒng)一,建議使月“/*……*/”;

(3)說明性文件(如頭文件.h文件、.inc文件等)頭部應

進行注釋,注釋必須列出:版權(quán)說明、版本號、生成日期、作者、

內(nèi)容、功能、與其它文件的關系等,頭文件的注釋中還應有函數(shù)

功能簡要說明;

(4)源文件頭部應進行注釋,列出:版權(quán)說明、版本號、生

成日期、作者、模塊功能、主要函數(shù)及其功能等;

(5)函數(shù)頭部應進行注釋,列出:函數(shù)功能、輸入?yún)?shù)、輸

出參數(shù)、返回值等;

(6)邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以

保證注釋與代碼的一致性;

(7)避免在注釋中使用縮寫,特別是非常用的縮寫。如無

法避免,應對縮寫進行必要的說明;

(8)注釋應與其描述的代碼相近,對代碼的注釋應放在其

上方或右方(對單條語句的注釋)相鄰位置,如放于上方則需與

其上面的代碼用空行隔開;

(9)變量、常量、宏的注釋有時也是必須的,應放在其上方

相鄰位置或右方;

(10)數(shù)據(jù)結(jié)構(gòu)聲明(包括數(shù)組、結(jié)構(gòu)、類、枚舉等),如果

XXX股份有限公司4

軟件設計規(guī)范要求

其命名不是充分自注釋的,必須加以注釋。對數(shù)據(jù)結(jié)構(gòu)的注釋應

放在其上方相鄰位置,對結(jié)構(gòu)中的每個域的注釋放在此域的右方;

(11)全局變量要有較詳細的注釋,包括對其功能、取值范

圍、哪些函數(shù)或過程存取它以及存取時注意事項等的說明;

(12)將注釋與其上面的代碼用空行隔開,注釋與所描述內(nèi)

容進行同樣的縮排;

(13)對變量的定義和分支語句(條件分支、循環(huán)語句等)

必須編寫注釋。這些語句往往是程序?qū)崿F(xiàn)某一特定功能的關鍵,

對于維護人員來說,良好的注釋幫助更好地理解程序,有時甚至

優(yōu)于看設計文檔;

(14)通過對函數(shù)或過程、變量、結(jié)構(gòu)等正確的命名以及合

理地組織代碼的結(jié)構(gòu),使代碼成為自注釋的,減少不必要的注釋;

(15)當代碼段較長,特別是多重嵌套時,在程序塊的結(jié)束

行右方加注釋標記,以表明某程序塊的結(jié)束;

(16)建議注釋多使用中文,除非能用非常流利準確的英文

表達。

3.3標識符命名

(1)標識符的命名要清晰明了,有明確含義,同時使月完

整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解。較長

XXX股份有限公司5

軟件設計規(guī)范要求

的單詞可取單詞的頭幾個字母形成縮寫,一些單詞有大家公認的

縮寫;

(2)命名中若使用特殊約定或縮寫,應該在源文件的開始

之處,進行必要的注釋說明;

(3)命名風珞要自始至終保持一致;

(4)對于變量命名,禁止取單個字符(如i、j、k.單

個字符容易敲錯,且編譯時又不易檢查出來。建議除了要有具體

含義外,還能表明其變量類型、數(shù)據(jù)類型等,但i、j、k作局部

循環(huán)變量是可以的;

(5)命名規(guī)范必須與所使用的系統(tǒng)風格保持一致,并在同

一項目中統(tǒng)一。除非必要,不要用數(shù)字或較奇怪的字符來定義標

識符;

(6)在同一軟件產(chǎn)品內(nèi),應規(guī)劃好接口部分標識符(變量、

結(jié)構(gòu)、函數(shù)及常量)的命名,防止編譯、鏈接時產(chǎn)生沖突;

(7)用正確的反義詞組命名具有互斥意義的變量或相反動

作的函數(shù)等;下面是一些在軟件中常用的反義詞組:

add/removebegin/endcreate/destroy

insert/deleteadd/deleteget/release

increment/decrementput/get

xxx股份有限公司6

軟件設計規(guī)范要求

lock/unlockopen/closefirst/last

min/maxold/newstart/stop

next/previoussend/receiveshow/hide

source/targetsource/destination

cut/pasteup/down

(8)除了特殊應用,應避免使用以下劃線開始和結(jié)尾的定

義。

3.4可讀性

(1)注意運算符的優(yōu)先級,并用括號明確表達式的操作順

序,避免使用默認優(yōu)先級;

(2)避免使用不易理解的數(shù)字,月有意義的標識來替代;

(3)源程序中關系較為緊密的代碼應盡可能相鄰,便于程

序閱讀和查找;

(4)不要使用難懂的技巧性很高的語句,除非很有必要時。

程序的高效率并不等同于語句的高技巧,而在于算法。

3.5變量與結(jié)構(gòu)

(1)去掉沒必要的公共變量,以降低模塊間的耦合度;

XXX股份有限公司7

軟件設計規(guī)范要求

(2)仔細定義并明確公共變量的含義、作用、取值范圍及

公共變量間的關系;

(3)明確公共變量與操作此公共變量的函數(shù)或過程的關系,

如訪問、修改及創(chuàng)建等。這種關系的說明可在注釋或文檔中描述;

(4)當向公共變量傳遞數(shù)據(jù)時,要十分小心,防止賦與不

合理的值或越界等現(xiàn)象發(fā)生。若有必要應進行合法性檢查,以提

高代碼的可靠性、穩(wěn)定性;

(5)構(gòu)造僅有一個模塊或函數(shù)可以修改、創(chuàng)建,而其余有

關模塊或函數(shù)只訪問的公共變量,防止多個不同模塊或函數(shù)都可

以修改、創(chuàng)建同一公共變量的現(xiàn)象;

(6)使用嚴格形式定義的、可移植的標準數(shù)據(jù)類型,盡量

不要使用與具體硬件或軟件環(huán)境關系密切的變量;

(7)結(jié)構(gòu)的功能要單一,是針對一種事務的抽象。結(jié)構(gòu)中

的各元素應代表同一事務的不同側(cè)面,而不應把描述沒有關系或

關系很弱的不同事務的元素放到同一結(jié)構(gòu)中;

(8)不同結(jié)構(gòu)間的關系不要過于復雜,否則應合為一個結(jié)

構(gòu);

(9)仔細設計結(jié)構(gòu)中元素的布局與排列順序,使結(jié)構(gòu)容易

理解、節(jié)省占用空間,并減少引起誤用的現(xiàn)象;

XXX股份有限公司8

軟件設計規(guī)范要求

(10)結(jié)構(gòu)的設計要盡量考慮向前兼容和以后的版本升級,

并為某些未來可能的應用保留余地;

(11)留心具體語言及編譯器處理不同數(shù)據(jù)類型的原則及有

關細節(jié);

(12)編程時,要注意數(shù)據(jù)類型的強制轉(zhuǎn)換。對編譯系統(tǒng)默

認的數(shù)據(jù)類型轉(zhuǎn)換要有充分的認識,盡量減少沒有必要的數(shù)據(jù)類

型默認轉(zhuǎn)換與強制轉(zhuǎn)換,合理地設計數(shù)據(jù)并使用自定義數(shù)據(jù)類型,

避免數(shù)據(jù)間進行不必要的類型轉(zhuǎn)換;

(13)對自定義數(shù)據(jù)類型進行恰當命名,使它成為自描述性

的,以提高代碼可讀性,但要注意其命名方式在同一產(chǎn)品中的統(tǒng)

O

3.6函數(shù)與過程

1)設計高扇入、合理扇出(小于7)的函數(shù)。較良好的軟件

結(jié)構(gòu)通常是頂層函數(shù)的扇出較高,中層函數(shù)的扇出較少,而底層

函數(shù)則扇入到公共模塊中;

(2)函數(shù)的規(guī)模盡量限制在200行以內(nèi),不包括注釋和空

格行;

(3)對所調(diào)用函數(shù)的錯誤返回碼要仔細、全面地處理;

(4)在同一項目組應明確規(guī)定對接口函數(shù)參數(shù)的合法性檢

XXX股份有限公司9

軟件設計規(guī)范要求

查應由函數(shù)的調(diào)用者負責還是由接口函數(shù)本身負責,缺省是由函

數(shù)調(diào)用者負責;

(5)防止將函數(shù)的參數(shù)作為工作變量。對必須改變的參數(shù),

最好先用局部變量代之,再將該局部變量的內(nèi)容賦給該參數(shù);

(6)一個函數(shù)僅完成一件功能,不要設計多用途的函數(shù)。

函數(shù)名應準確描述函數(shù)的功能;

(7)函數(shù)的功能應該是可以預測的,也就是說只要輸入數(shù)

據(jù)相同就應產(chǎn)生同樣的輸出;

(8)避免設計多參數(shù)函數(shù),不使用的參數(shù)從接口中去掉,

減少函數(shù)間接口的復雜度;

(9)非調(diào)度函數(shù)應減少或防止控制參數(shù),盡量只使用數(shù)據(jù)

參數(shù),防止函數(shù)間的控制耦合;

(10)檢查函數(shù)所有參數(shù)輸入與非參數(shù)輸入的有效性;

(11)在編程時,經(jīng)常遇到在不同函數(shù)中使用相同的代碼,

許多開發(fā)人員都愿把這些代碼提出來,并構(gòu)成一個新函數(shù)。若這

些代碼關聯(lián)較大并且是完成一個功能的,那么這種構(gòu)造是合理的,

否則這種構(gòu)造將產(chǎn)生隨機內(nèi)聚的函數(shù);

(12)功能不明確且較小的函數(shù),特別是僅有一個上級函數(shù)

調(diào)用它時,應考慮把它合并到上級函數(shù)中,而不必單獨存在;

XXX股份有限公司10

軟件設計規(guī)范要求

(13)減少函數(shù)本身或函數(shù)間的遞歸調(diào)用。除非為某些算法

或功能的實現(xiàn)方便,應減少沒必要的遞歸調(diào)用;

(14)仔細分析模塊的功能及性能需求,并進一步細分,若

有必要畫出有關數(shù)據(jù)流圖,據(jù)此來進行模塊的函數(shù)劃分與組織;

(15)對于提供了返回值的函數(shù),在引用時最好使用其返回

值;

(16)當一個過程(函數(shù))中對較長變量(一般是結(jié)構(gòu)的成

員)有較多引用時,可以用一個意義相當?shù)暮甏妗?/p>

3.7可測性

(1)在同一項目組或產(chǎn)品組內(nèi),要有一套統(tǒng)一的為集成測

試與系統(tǒng)聯(lián)調(diào)準備的調(diào)測開關及相應打印函數(shù),并且要有詳細的

說明;

(2)在同一項目組或產(chǎn)品組內(nèi),調(diào)測打印出的信息串的格

式要有統(tǒng)一的形式。信息串中至少要有所在模塊名(或源文件名)

及行號;

(3)編程的同時要為單元測試選擇恰當?shù)臏y試點,并仔細

構(gòu)造測試代碼、測試用例,同時給出明確的注釋說明。測試代碼

部分應作為(模塊中的)一個子模塊,以方便測試代碼在模塊中

的安裝與拆卸(通過調(diào)測開關);

XXX股份有限公司11

軟件設計規(guī)范要求

(4)使用斷言來發(fā)現(xiàn)軟件問題,提高代碼可測性。用斷言

來檢查程序正常運行時不應發(fā)生但在調(diào)測時有可能發(fā)生的非法

情況,但不能用斷言來檢查最終產(chǎn)品肯定會出現(xiàn)且必須處理的錯

誤情況;

(5)對較復雜的斷言加上明確的注釋,用斷言確認函數(shù)的

參數(shù),保證沒有定義的特性或功能不被使用,對程序開發(fā)環(huán)境的

假設進行檢查;

(6)正式軟件產(chǎn)品中應把斷言及其它調(diào)測代碼去掉(即把

有關的調(diào)測開關關掉),以加快軟件運行速度;

(7)在軟件系統(tǒng)中設置與取消有關測試手段,不能對軟件

實現(xiàn)的功能等產(chǎn)生影響;

(8)用調(diào)測開關來切換軟件的DEBUG版和正式版,而入要

同時存在正式版本和DEBUG版本的不同源文件,以減少維護的

難度;

(9)軟件的DEBUG版本和發(fā)行版本應該統(tǒng)一維護,不允許

分家,并且要時刻注意保證兩個版本在實現(xiàn)功能上的一致性;

(10)在編寫代碼之前,應預先設計好程序調(diào)試與測試的方

法和手段,并設計好各種調(diào)測開關及相應測試代碼如打印函數(shù)等;

(11)調(diào)測開關應分為不同級別和類型。針對模塊或系統(tǒng)某

XXX股份有限公司12

軟件設計規(guī)范要求

部分代碼的調(diào)測,針對模塊或系統(tǒng)某功能的調(diào)測,對性能、容量

等的測試;

(12)編寫防錯程序,然后在處理錯誤之后可用斷言宣布發(fā)

生錯誤。

3.8程序效率

(1)在保證軟件系統(tǒng)的正確性、穩(wěn)定性、可讀性及可測性

的前提下提高代碼效率,包括全局效率、局部效率、時間效率及

空間效率;

(2)局部效率應為全局效率服務,不能因為提高局部效率

而對全局效率造成影響;

(3)通過對系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的劃分與組織的改進,以及對程

序算法的優(yōu)化來提高空間效率;

(4)仔細考慮循環(huán)體內(nèi)的語句是否可以放在循環(huán)體之外,

使循環(huán)體內(nèi)工作量最小,從而提高程序的時間效率;

(5)仔細考查、分析系統(tǒng)及模塊處理輸入(如事務、消息

等)的方式,并加以改進;

(6)對模塊中函數(shù)的劃分及組織方式進行分析、優(yōu)化,改

進模塊中函數(shù)的組織結(jié)構(gòu),提高程序效率;

XXX股份有限公司13

軟件設計規(guī)范要求

(7)不應花過多的時間拼命地提高調(diào)用不很頻繁的函數(shù)代

碼的效率;

(8)仔細地構(gòu)造或直接用匯編編寫調(diào)用頻繁或性能要求極

高的函數(shù)。嵌入?yún)R編可提高時間及空間效率,但也存在一定風險;

(9)在保證程序質(zhì)量的前提下,通過壓縮代碼量、去掉不

必要代碼以及減少不必要的局部和全局變量,來提高空間效率;

(10)盡量減少循環(huán)嵌套層次。在多重循環(huán)中,應將最忙的

循環(huán)放在最內(nèi)層,以減少CPU切入循環(huán)層的次數(shù);

(11)避免循環(huán)體內(nèi)含判斷語句,應將循環(huán)語句置于判斷語

句的代碼塊之中;

(12)盡量用乘法或其它方法代替除法,特別是浮點運算中

的除法;

(13)不要一味地追求緊湊的代碼,因為緊湊的代碼并不代

表高效的機器碼。

3.9質(zhì)量保證

(1)在軟件設計過程中構(gòu)筑軟件質(zhì)量;

(2)代碼質(zhì)量保證優(yōu)先原則

1)正確性,指程序要實現(xiàn)設計要求的功能;

XXX股份有限公司14

軟件設計規(guī)范要求

2)穩(wěn)定性/安全性,指程序穩(wěn)定、可靠、安全;

3)可測試性,指程序要具有良好的可測試性;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論